TCP/IP详解 卷I:协议 のUDP 用户数据包协议
2015-08-26 20:36
796 查看
UDP首部
端口号表示发送进程和接收进程。在图1 - 8中,我们画出了T C P和U D P用目的端口号来分用来自I P层的数据的过程。由于I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而U D P端口号由U D P来查看。T C P端口号与U D P端口号是相互独立的。
UDP检验和
U D P检验和覆盖U D P首部和U D P数据。回想I P首部的检验和,它只覆盖I P的首部—并不覆盖I P数据报中的任何数据。U D P和T C P在首部中都有覆盖它们首部和数据的检验和。U D P的检验和是可选的,而T C P的检验和是必需的。尽管U D P检验和的基本计算方法与我们在3 . 2节中描述的I P首部检验和计算方法相似(16 bit字的二进制反码和),但是它们之间存在不同的地方。首先,U D P数据报的长度可以为奇数字节,但是检验和算法是把若干个16 bit字相加。解决方法是必要时在最后增加填充字节0,这只是为了检验和的计算(也就是说,可能增加的填充字节不被传送)。其次,U D P数据报和T C P段都包含一个1 2字节长的伪首部,它是为了计算检验和而设置的。伪首部包含I P首部一些字段。其目的是让U D P两次检查数据是否已经正确到达目的地(例如,I P没有接受地址不是本主机的数据报,以及I P没有把应传给另一高层的数据报传给
U D P)。U D P数据报中的伪首部格式如图11 - 3所示。
端口号表示发送进程和接收进程。在图1 - 8中,我们画出了T C P和U D P用目的端口号来分用来自I P层的数据的过程。由于I P层已经把I P数据报分配给T C P或U D P(根据I P首部中协议字段值),因此T C P端口号由T C P来查看,而U D P端口号由U D P来查看。T C P端口号与U D P端口号是相互独立的。
UDP检验和
U D P检验和覆盖U D P首部和U D P数据。回想I P首部的检验和,它只覆盖I P的首部—并不覆盖I P数据报中的任何数据。U D P和T C P在首部中都有覆盖它们首部和数据的检验和。U D P的检验和是可选的,而T C P的检验和是必需的。尽管U D P检验和的基本计算方法与我们在3 . 2节中描述的I P首部检验和计算方法相似(16 bit字的二进制反码和),但是它们之间存在不同的地方。首先,U D P数据报的长度可以为奇数字节,但是检验和算法是把若干个16 bit字相加。解决方法是必要时在最后增加填充字节0,这只是为了检验和的计算(也就是说,可能增加的填充字节不被传送)。其次,U D P数据报和T C P段都包含一个1 2字节长的伪首部,它是为了计算检验和而设置的。伪首部包含I P首部一些字段。其目的是让U D P两次检查数据是否已经正确到达目的地(例如,I P没有接受地址不是本主机的数据报,以及I P没有把应传给另一高层的数据报传给
U D P)。U D P数据报中的伪首部格式如图11 - 3所示。
相关文章推荐
- 计算机网络面试题2
- 计算机网络面试题1
- 常见HTTP错误代码大全
- http头需知
- HttpClient 4.3教程
- http Cache-Control: If-None-Match ETag/If-Modifed-Since Last-Modified
- BZOJ 1491 [NOI2007]社交网络
- Android之Http,Socket和Tcp/Ip
- HttpServletRequest常用获取URL的方法
- Http请求与响应
- HTTP返回代码 201 304 404 500等代表的含义
- Linux的PXE kickstart网络自动装机
- (三) HTTP/2的帧
- AngularJS中的$http.post与jQuery.post的区别
- 贝叶斯网络
- 【使用JSOUP实现网络爬虫】清理HTML-消除不受信任的html (来防止xss攻击)
- 【使用JSOUP实现网络爬虫】修改数据-设置元素的文本内容
- Android or java https ssl exception
- 【使用JSOUP实现网络爬虫】修改数据-设置一个元素的HTML内容
- 原创---tcp udp: send一次发送数据长度大于recv size_t len时,windows、linux下不同返回