UDP:用户数据报协议

  本来想买英文版的《tcp/ip illutrasted》,但是竟然贵了近100块,所以姑且先按照译本的一些翻译来写。

  之前学习linux时就有感觉,两年前的书籍所说的和现在已是大有不同。但是这本Stevens二十多年前写的书却经起了时间的考验,也特别佩服这些协议制定者的前瞻性。前人栽树,后人乘凉,我们自应饮水思源。

   

  这一章咱们来研究下udp。udp全称User Data Protocol,udp数据报封装在ip数据报中,首部占8个字节,是面向数据报的协议,与tcp这种面向流字符的协议相区别。

  总的来说,与tcp相比,udp速度快,但可靠性低。比如在ftp鼻祖cs中,我们就要使用udp,强调速度。

UDP检验和:

  udp检验和覆盖udp首部和udp数据。而ip首部的检验和只覆盖ip的首部。通过检验和我们可以知道数据报在传输过程中有没有出错。udp检验和是可选的,一般情况下建议选上。除非在局域网中发生错误的可能性较小时可以不选以提高速度。

IP分片:

  当ip数据包大于接口MTU时,就需要进行分片,到达目的地后再重新组装。被分片的ip数据报都具有自己的ip首部,但是任何运输层首部只会出现在第一片上。

UDP输入队列:

  多数udp服务器是重复型服务器,也就是单个服务器进程对单个udp端口上收到的请求进行处理。同时到达的请求由udp自动排队,然而,排队溢出有可能造成内核中的udp模块丢弃数据报。

原文地址:https://www.cnblogs.com/justforfun12/p/4957562.html