我知道在发送ip报文时,网络路径上的每个跳跃都会检查下一个跳跃的MTU是否大于我发送的数据包的大小。如果是,则数据包将被分段,并且两个分段的数据包将分别发送到下一个跳跃处,然后在目标地址(或者在某些情况下,在遇到的第一个NAT路由器处)重新组装。
据我所知,这种情况可能相当糟糕,但我真的不明白为什么。
- 我知道如果连接经常丢失数据包,那么丢失单个分段就意味着我必须重新发送整个数据包(这实际上是我自己想出来的唯一一件事)
- 是否有可能我的数据包不会被分段,而是被丢弃?
- 如何识别分段的数据包?我能否100%确定它们将被正确地重新组装?例如,如果我同时向同一目的地发送两个几乎长度相同的ip数据包,那么这两个数据包的分段交换的可能性有多大,比如AAA,BBB会重新组装成ABA,BAB吗?
原则上,如果数据包没有丢失并且分段正确地重新组装,实际上使用分段似乎是节省本地带宽以避免发送更多标题而不是只发送一个大数据包的好方法。
谢谢