TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc

TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc

ID:50865380

大小:91.00 KB

页数:7页

时间:2020-03-08

TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc_第1页
TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc_第2页
TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc_第3页
TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc_第4页
TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc_第5页
资源描述:

《TCPIP详解 卷1协议 第11章 UDP用户数据报协议.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、下载第11章UDP:用户数据报协议11」弓IWUDP是一个简单的而向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。UDP数据报封装成一份IP数据报的格式如图11・1所示。RFC768Postel1980是UDP的正式规范。UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达H的地。由于缺乏可靠性,我们似乎觉得要避免使JUUDPifu使用一利呵靠协议如TCP。我们在第

2、17章讨论完TCP后将再回到这个话题,看看什么样的应用程序可以使用UDPo应用程序必须关心IP数据报的长度。如果它超过网络的MTUC2.8节),那么就要对IP数据报进行分片。如果需要,源端到F1的端之间的每个网络都要进行分片,并不只是发送端主机连接第一个网络才这样做(我们在2.9节屮己定义了路径MTU的概念)。在11.5节屮,我们将讨论IP分片机制。11.2UDP首部UDP首部的各字段如图11・2所示。图11-2UDP首部端口号表示发送进程和接收进程。在图屮,我们画出了TCP和UDP用Fl的端口号来分用来自IP层的数据的过程。由于IP层已经把I

3、P数据报分配给TCP或UDP(根据IP首部中协议字段值),因此TCP端口号由TCP来查看,[fljUDP端口号由UDP来查看。TCP端口号与UDP端口号是相互独立的。图11・1UDP封装IP数据报UDP数据报首部UDP首部UDP数据20字节8字节16位源端口号16位H的端口号16位UDP长度16位UDP检验和数据如果有8字节尽管相互独立,如果TCP和UDP同吋提供某种知名服务,两个协议通常选择相同的端口号。这纯粹是为了使用方便,而不是协议本身的要求。UDP长度字段指的是UDP首部和UDP数据的字节长度。该字段的最小值为8字节(发送一份0字节的U

4、DP数据报是OK)。这个UDP长度是有兀余的。IP数据报长度指的是数据报全长(图3・1),因此UDP数据报长度是全长减去IP首部的长度(该值在首部长度字段屮指定,如图3・1所示)。11.3UDP检验和UDP检验和覆盖UDP首部和UDP数据。回想IP首部的检验和,它只覆盖IP的首部一并不覆盖IP数据报屮的任何数据。UDP和TCP在首部小都有覆盖它们首部和数据的检验和。UDP的检验和是可选的,rfnTCP的检验和是必需的。尽管UDP检验和的基本计算方法与我们在3・2节屮描述的IP首部检验和计算方法相类似(16bit字的二进制反码和),但是它们之间存

5、在不同的地方。首先,UDP数据报的长度可以为奇数字节,但是检验和算法是把若干个16bit字相加。解决方法是必要时在最后增加填充字节0,这只是为了检验和的计算(也就是说,可能增加的填充字节不被传送)。其次,UDP数据报和TCP段都包含一个12字节长的伪首部,它是为了计算检验和而设置的。伪首部包含IP首部一些字段。其H的是让UDP两次检查数据是否已经正确到达Fl的地(例如,IP没有接受地址不是本主机的数据报,以及IP没有把应传给另一高层的数据报传给UDP)。UDP数据报屮的伪首部格式如图11・3所示。图11・3UDP检验和计算过程屮使用的各个字段在

6、该图小,我们特地举了一个奇数长度的数据报例子,因而在计算检验和时需要加上填充字节。注意,UDP数据报的长度在检验和计算过程屮出现两次。如果检验和的计算结果为0,则存入的值为全1(65535),这在二进制反码计算屮是等效的。如果传送的检验和为0,说明发送端没有计算检验和。108TCP/IP详解,卷1:协议下载32位源IP地址32位n的IP地址0X位协议1716位UDP长度16位H的端口号16位UDP检验和UDP首部UDP伪首部16位源端口号16位UDP长度数据填充字节0如果发送端没有计算检验和而接收端检测到检验和有差错,那么UDP数据报就要被悄悄

7、地丢弃。不产生任何差错报文(当IP层检测到IP首部检验和有差错吋也这样做)。UDP检验和是一-个端到端的检验和。它由发送端计算,然后由接收端验证。其FI的是为了发现UDP首部和数据在发送端到接收端之间发生的任何改动。尽管UDP检验和是可选的,但是它们应该总是在用。在80年代,一些计算机产商在默认条件下关闭UDP检验和的功能,以提高使用UDP协议的NFS(NetworkFileSystem)的速度。在单个局域网屮这可能是可以接受的,但是在数据报通过路由器时,通过对链路层数据帧进行循环冗余检验(如以太网或令牌环数据帧)可以检测到大多数的差错,导致传

8、输失败。不管相信与否,路由器屮也存在软件和硬件差错,以致于修改数据报屮的数据。如果关闭端到端的UDP检验和功能,那么这些差错在UDP数据报屮就不能被检

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。