- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在选择性重复协议(protocol)中,窗口大小必须小于或等于 SR 协议(protocol)的序列号空间大小的一半。为什么会这样,又如何?
最佳答案
因为接收方将无法区分旧数据包或新数据包。接收器根据序列号识别数据包,并且每个连接都有有限数量的唯一编号。你不能有一个无限的缓冲区。
让我们看一个明显的失败场景:
窗口大小大于序号空间。假设我们有序列号 0、1、2。我们的窗口大小是 4。这意味着窗口有两次出现 0。
0,1,2,0 <- 模换行。当我们得到一个 seq 为 0 的包时。是第一个包还是第四个包?没有线索。现在,只要窗口大小大于序列号空间的一半,就会出现这个问题。为什么?因为接收者总是有可能正在查看一个序列号,该序列号可能包含在来自发送者的新或旧数据包中。它总是发生吗?不,但是当它发生时,会发生以下情况:
情况1:
正确接收数据包 0、1、2 后的接收窗口。
0,1,2,[3,0,1],2
但是如果发送的 ACK 丢失了怎么办?好吧,发件人将重新发送0,1,2。但是 0,1 是旧的还是新的?收信人说不出来。
案例二:
接收端相同的窗口。接收到三个数据包。
0,1,2,[3,0,1],2
现在,接收者正确地接收到除了一个以外的所有确认。让我们选择第二个(1)。现在,它将重新发送 1。但接收方正在查看 1!那么这是预期的新版本(不)还是旧版本?
因此,为了确保窗口永远不会期望可能被潜在未完成数据包使用的序列号(来自正常传输或丢失 ack 的重新传输),我们必须减小窗口大小或增加序列号。
看看当我们将序列号空间增加到 6 时会发生什么。
0,1,2,3,4,5。
无论我们如何定位窗口,它都不会面临接收具有旧序列号的数据包的风险。
0,1,2,[3,4,5]0,1...
当窗口结束时,我们确信我们已经按顺序收到了以前的。
关于networking - 为什么窗口大小小于或等于 SR 协议(protocol)中序列号的一半?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3999065/
我正在使用 Aspose.Cells(试用版)为 Java 解析 .xls (Excel) 文件。但是当我尝试加载文件时,它抛出了下面给出的异常: SEVERE: java.lang.IllegalS
我目前正在尝试更深入地学习 Emacs,以便我可以用我的 Emacs 做更多的事情,而不仅仅是简单的编辑内容...... 我正在取得良好的进展,目前我正在尝试根据自己的喜好配置“sr-speedbar
我正在关注来自 Microsoft site 的示例用于从文本文件中读取。他们说要这样做: class Test { public static void Main() {
我的数据是这样的 wavelength reflectance 341.6 2.48 343.6 2.58 344.7 2.37 346.3
我有一个已经建立的类的 div,我无法删除它,但我需要视觉阅读器和屏幕阅读器才能“阅读”内容。据我了解,sr-only是让屏幕阅读器只能阅读,我如何为屏幕阅读器和视觉阅读器开发它? I'm ba
当使用 sr() 或 srp() 函数时——Scapy 如何知道收到的数据包是对我发送的数据包的答复? 我编写了一个模仿 BACNet 的自定义协议(protocol)。我可以将 WHO_IS 数据包
我正在尝试使用 scapy 进行隐形 SYN 扫描。我在 scapy 中阅读 usage documantation关于 sr 功能。它应该对我发送的数据包做出响应。 例如,我尝试运行以下命令: >>
我是 scapy 的新手,我正在尝试使用 sr 和 sr1 函数来了解它们的工作原理。 我试图制作以下数据包,我看到它发送了 1 个数据包,但它说它收到了 581 个数据包。谁能帮我理解为什么它显示收
Transformer在计算机视觉任务中表现出了令人鼓舞的性能,包括图像超分辨率(SR)。然而,流行的基于Transformer的SR方法通常采用具有二次计算复杂度的窗口自注意力机制,导致固定的
我目前正在研究相当基础的网络,我目前正在研究可靠传输的主题。我正在使用 Kurrose & Ross 的 Computer Networking 一书,其中两个复习问题如下: With the sel
我正在使用带 sr-speedbar 的 emacs,但无法控制它的宽度。当我调整 emacs 窗口大小时,sr-speedbar 总是随之扩展。我已经用 xemacs 和 emacs 试过了。 下面
我使用 sr-speedbar在 emacs 中。加载时,它以文件模式启动。然后我手动将其更改为缓冲区模式。因为我几乎总是使用缓冲区模式,所以我更愿意以这种模式启动它。但是,在谷歌搜索后我找不到任何方
我扩展了 Scapy 以支持新的测试协议(protocol)。我看到 sniff() 命令能够在我使用 bind_layers() 将 2 层拼接在一起后自动分解数据包。我期望这应该足以进行解剖。每当
在选择性重复协议(protocol)中,窗口大小必须小于或等于 SR 协议(protocol)的序列号空间大小的一半。为什么会这样,又如何? 最佳答案 因为接收方将无法区分旧数据包或新数据包。接收器根
首先让我解释一下我的目标。我正在努力实现的目标是提供一个输入 .wav 文件,将其发送到某种语音识别 API,然后返回一个带有转录的文本文件。我想到的应用程序非常简单。我不要求对它进行语法或标点符号解
我想显示我的产品列表,如下所示: Sr.No | Name | Type -------------------- 1 | aa | 2 2 | bb | 2 3 |
我正在尝试使用 bootstrap 格式化表单页面,一些输入有可见标签,而另一些则没有。根据bootstrap documentation (列大小调整部分)我必须包装在“行”类中以设置输入的大小,但
我想知道 sr() 和 sniff() 的区别我会清理自己:当我用 sr() 发送数据包然后打印答案时,它只给我一个数据包: Received 1 packets, got 1 answers, re
我正在尝试在 mapreduce 程序中使用 CoreNLP 项目来查找存储在 hbase 表中的大量文本的情绪。我正在使用 SR 解析器进行解析。模型文件存储在 /user/root/english
From MDN : In the example below, a button is styled to look like a typical "close" button, with an X
我是一名优秀的程序员,十分优秀!