UDP协议概述.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UDP协议概述

一、 UDP协议的简介UDP协议用户数据包协议,是一种无连接的传输层协议,提供简单不可靠的信息传送服务。在网络中它与TCP协议一样用于处理 UDP数据包。UDP不提供数据包分组、组装、不能对数据包进行排序,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。二、UDP协议报头 UDP报头由4个域组成,其中每个域各占用2个字节:UDP源端口号目标端口号 数据报长度校验值 数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。 数据报的长度是指包括报头和数据部分在内的总字节数。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必须具有校验值。 虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。三、用户数据报头格式域:源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息的情况下,返回信息应该向什么地方发送。如果不使用它,则在此域中填0。目的端口在有特定的目的网络地址时有意义。长度指的是此用户数据报长度的八进制表示。(这表明最小的数据报长度是8。)校验码有16位,是对IP头,UDP头和数据中信息包头的数位取反之和再取反得到的。报头从概念上说是在UDP头信息之前的,它包括有源地址,目的地地址,所使用的协议和UDP长度。这些信息使信息不能被错误地接收。这个校验过程与TCP中使用的过程一致。用户接口:用户接口应该允许创建新的接收端口,在接收端口的接收操作有:应该返回一个八进制数说明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。IP层接口:UDP模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协议。一个可能的接口方式是返回整个数据报,包括接收操作返回的包头。这样的接口还应该允许UDP向IP传送完整的带包头的数据报用于传送。由IP来确定一致性并计算校验码。协议应用:此协议的最主要的用途是网际名称服务器和小文件传输协议。协议号:在IP中使用它时,它的协议号是17(八进制中是21)。四、UDP信息包UDP信息包由UDP标题和数据组成。UDP的标题结构如图所示,它由5个域组成:源端端口、目的地端口、用户数据包的长度和检查和。其中,前4个域组成UDP标题,每个域由4个字节组成;检查和域占据2个字节,它用来检测传输过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。五、UDP的伪首部UDP校验和覆盖的内容超出了UDP数据报本身的范围。为了计算校验和,UDP把伪首部引入数据报中,在伪首部中有一个值为0的填充八位组用于保证整个数据报的长度为16比特的整数倍,这样才好计算校验和。填充八位组和伪首部并不随着UDP数据报一起传输,也不计算在数据报长度之内。为了计算校验和,要先把校验和字段置为0,然后对整个对象,包括伪首部、UDP的首部和用户数据报,计算一个16比特的二进制反码和。使用伪首部的目的是检验UDP数据报已到达正确的目的地。理解伪首部的关键在于认识到:正确的目的地包括了特定的主机和机器上特定的协议端口。UDP报文的首部仅仅指定了使用的协议端口号。因此为了确保数据报能够正确到达目的地,发送UDP数据报的机器在计算校验和时把目的机的IP地址和应有的数据都包括在内。在最终的接收端,UDP协议软件对校验和进行检验时要用到携带UDP报文的IP数据报首部中的lP地址。如果校验和正确,说明UDP数据报到达了正确主机的正确端口。在UDP校验和的计算过程中用到的伪首部长度为12个八位组,其结构如下图所示。伪首部的源IP地址字段和目的IP地址字段记录了发送UDP报文时使用的源IP地址和目的IP地址。协议字段指明了所使用的协议类型代码(UDP是17),而长度字段是UDP数据报的长度。接收方进行正确性验证的时候,必须要把这些字段的信息从IP报文的首部中抽取出来,以伪首部的格式进行装配,然后再重新计算校验和。六、UDP的封装在交给IP层之前,UDP给用户要发送的数据加上一个首部。IP层又给从UDP接收到的数据报加上一个首部。最后,网络接口层把数据报封装到一个帧里,再进行

文档评论(0)

jyf123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6153235235000003

1亿VIP精品文档

相关文档