TCP/IP详解之:UDP协议

第11章 UDP协议

 UDP首部

UDP的检验和是可选的,而TCP的检验和是必须的;

UDP的检验和是端到端的检验和。由发送端计算,由接收端验证;

尽管UDP的检验和是可选的,但总是推荐被使用

IP分片

解释几个术语

  IP数据报:指IP层端到端的传输单元(在分片之前和重新组装之后)

  IP分组: 指在IP层和链路层之间传送的数据单元(也即IP分片后的每一个片)。一个分组可以是一个完整的IP数据报,也可以是IP数据报的一个分片

IP把MTU与数据报长度进行对比,若需要则进行分片。分片可以发生在原始发送端主机上,也可以发生在中间路由器上;

IP数据报分片以后,只有到达目的地才进行重新组装。重新组装的任务由目的端的IP层来完成。分片和重新组装过程对运输层是透明的;

当IP数据报被分片后,每一片都成为一个分组,具有自己的IP首部,并在选择路由时与其他分组独立;

IP分片后,传输过程中即使只丢失一片数据也要重传整个数据报

ICMP不可达差错(需要分片)

发生ICMP不可达差错的另一个情况是:当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特!

UDP和ARP之间的交互作用

在大多数的ARP实现中,在等待一个ARP应答时,只将最后一个报文发送给特定目的主机

最大UDP数据报长度

理论上IP数据报的最大长度是65535字节,这是由IP首部16比特总长度字段决定的。去除20字节IP首部和8字节UDP首部,UDP数据报中用户数据的最大长度为65507字节。但大多实际实现所提供的长度比这个最大值小。

ICMP源站抑制差错

当系统接受IP数据报的速率超过这些数据报被处理的速率时,系统可能发送ICMP源站抑制差错报文。使用UDP时很容易产生这样的ICMP差错。

原文地址:https://www.cnblogs.com/hansonwang99/p/5011691.html