Socket会将IP分片数据包作为一个重新组合的UDP数据包传递吗?

时间:2014-07-02 04:39:34

标签: .net sockets udp ip-fragmentation

当收到TCP数据包时,Socket会给我重新组装的数据包,以防它们被IP分片,因为我保证会得到一个有序的,无间隙的字节流。

当接收UDP数据包时,我可能会以不同于发送的顺序接收数据包,或者重复数据包,并且其他数据包可能会在此过程中丢失,我本来希望将每个UDP / IP数据包“生成”,立即它来了。另一方面,由于我没有获得IP头,我无法自己重新组装数据包。换句话说,我必须依靠Socket为我做这份工作。但这意味着,对于单独的重新组装,(碎片化的)数据包必须进行缓冲,排序,去除和丢弃,如果片段不成功的话。

这在现实中如何运作?

1 个答案:

答案 0 :(得分:3)

重组在IP层发生,对您来说是透明的。简而言之,除了出于性能原因之外,您不需要担心它,除非您自己拆分数据包。