![互联网协议:在每个数据包中添加标头时计算端到端延迟](https://linux22.com/image/1551871/%E4%BA%92%E8%81%94%E7%BD%91%E5%8D%8F%E8%AE%AE%EF%BC%9A%E5%9C%A8%E6%AF%8F%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%8C%85%E4%B8%AD%E6%B7%BB%E5%8A%A0%E6%A0%87%E5%A4%B4%E6%97%B6%E8%AE%A1%E7%AE%97%E7%AB%AF%E5%88%B0%E7%AB%AF%E5%BB%B6%E8%BF%9F.png)
我一直在尝试自学互联网协议,并且从这个网站 (1c) 学到了如何计算分组交换网络的端到端延迟:http://www.ics.uci.edu/~keldefra/teaching/spring2013/uci_cs132/problemsets/CS132_EECS148_ProblemSet2_Solution.pdf
但是,如果在传输每个数据包时添加 h 个字节,会发生什么情况?在不添加报头的示例中,每个数据包的大小为 (消息大小 / 数据包数量) 位,那么我是否只做相同的所有操作,只是将每个数据包的大小视为 ((消息大小 + 报头大小)/ 数据包数量)?
我本质上只是不确定标头是否仅由初始发送者添加一次,或者是否由每个链接添加,你们能为我澄清一下吗?
(如果这不是适合发布它的正确的堆栈交换网站,有人可以向我推荐一个适用的网站吗?)
答案1
既然您提到了“互联网协议”,我不得不假设您正在谈论第 3 层协议数据单元,例如 IP 数据包(不考虑数据包所包含的第 2 层帧)。
IP 报头的最大长度为 60 字节,每RFC791。中间设备对第 3 层报头所做的任何修改都必须适合该空间。因此,在每一跳上积累数据是非常不寻常的。一般来说,设备只会改变与网络目的相关的流量,比如在数据包进入新网络时将其重新封装在新帧中,但这些更改仅对数据包当前正在通过的网络有意义,因此数据在每一跳上都被完全替换,而不是积累。专门设计的设备网络可以更改数据包中的消息,添加或更改第 4 层或以上协议数据单元中的信息,以便在每一跳上积累数据,但这似乎是一件愚蠢的事情。