Networking TCP连接理论:序列号的最小速率
(在这里问这个问题是因为计算机网络标签只有50个追随者,而没有TCP标签) 在我国大学研究生入学的国家一级考试中,有人问了以下问题: 打开TCP连接时,将导出初始序列号 使用一个即使在主机停机时仍保持运行的时间(ToD)时钟。 ToD时钟计数器的低阶32位用于初始 序列号。时钟计数器每毫秒递增一次 最大数据包生存期为64秒 “下面给出的哪个选项最接近最低允许费率 用于连接数据包的序列号可以增加多少Networking TCP连接理论:序列号的最小速率,networking,tcp,network-protocols,Networking,Tcp,Network Protocols,(在这里问这个问题是因为计算机网络标签只有50个追随者,而没有TCP标签) 在我国大学研究生入学的国家一级考试中,有人问了以下问题: 打开TCP连接时,将导出初始序列号 使用一个即使在主机停机时仍保持运行的时间(ToD)时钟。 ToD时钟计数器的低阶32位用于初始 序列号。时钟计数器每毫秒递增一次 最大数据包生存期为64秒 “下面给出的哪个选项最接近最低允许费率 用于连接数据包的序列号可以增加多少 (A) 0.015/s (B) 0.064/s (C) 0.135/s (D) 0.327/s"
(A) 0.015/s (B) 0.064/s (C) 0.135/s (D) 0.327/s"
答案显然是(B)0.064/s
- 通常,TCP最大连接速度由数据包生存期决定。如果序列号使用32位,则由于环绕,在2^32次计数后,这些数字将重复李>
- 如果发送一个带有数字X的数据包,那么在发送2^32字节后,数字X将被重新分配给其他数据包。当编号为X的第二个数据包进入连接时,第一个数据包不应在网络中(以避免重复)。因此,序列号在数据包生存期之前不应重复
非常感谢您的帮助。(包括证明这个问题和/或答案是错误的。这个问题值得思考的唯一原因是,它是在一次重要且高度重视的全国性考试中提出的。)这是我遇到的最棘手的问题之一。 在我看来: 首先,我们应该了解问题是询问RISN(随机初始序列号)的递增速率还是每个字节的序列号(注意:TCP是字节流协议)。我想他们是在问每个字节序列号的递增率 如我们所知,要对同一连接再次使用相同的序列号: 环绕时间>生命时间。或最大数量/带宽>寿命 从上面的公式中,我们可以说带宽是使用序列号的最大速率。类似地,我们可以说: 无可用/可用带宽>生存期的数量 当我们被间接询问此可用\u带宽时,即他们只询问最小可能可用\u带宽: 可用带宽<可用数量/寿命(我们知道寿命是恒定的) 可用带宽与可用数量成比例 因此,可用的数量的最小可能值为1,最大可能值为2^32 如果他们询问最大允许速率,则意味着所有序列号应在64秒内消耗,这样我们可以获得最大速率,即带宽。因此,ans将为2^32/64(即64Mbps),但是 他们询问了最小允许速率,即64秒内仅消耗1个序列号。所以ans应该是0.015/秒。这就是我对这个问题的看法
快乐学习:)请不要混淆带宽和吞吐量。带宽在接口上是固定的,它总是大于传输协议的吞吐量,因为数据链路、网络和传输协议的开销必须从带宽中减去,才能达到理想的吞吐量。例如,100Base TX(100 Mbps以太网)的带宽始终为100 Mbps,但吞吐量必须减去以太网前导码、SoF、报头、FCS和包间间隙、IP报头和TCP报头,因此您的数据吞吐量小于带宽。。我已相应地更新了Ans。谢谢这使ans更加清晰。。