UDP协议的标题结构

UDP信息包由UDP标题和数据组成。UDP的标题结构如图15-21所示,它由5个域组成:源端端口(SourcePort)、目的地端口(DestinationPort)、用户数据包的长度(Length)和检查和(Checksum)。其中,前4个域组成UDP标题(UDPheader),每个域由4个字节组成;检查和域占据2个字节,它用来检测传输过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。

UDP信息包的标题结构


检查和的详细计算可在RFC1071中找到,现举一例说明使用检查和检测错误的道理。例如,假设从源端A要发送下列3个16位的二进制数:word1,word2和word3到终端B,检查和计算如下:

word1

0110011001100110

word2

0101010101010101

word3

0000111100001111

sum=word1+ word2+ word3

1100101011001010

检查和(sum的反码)

0011010100110101

从发送端发出的4个(word1,2,3以及检查和)16位二进制数之和为1111111111111111,如果接收端收到的这4个16位二进制数之和也是全“1”,就认为传输过程中没有出差错。
许多链路层 协议都提供错误检查,包括流行的 以太网 协议,读者也许想知道为什么 UDP也要提供检查和。其原因是链路层以下的 协议在源端和终端之间的某些通道可能不提供错误检测。虽然 UDP提供有错误检测,但检测到错误时, UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。
读者也可能会问,收发两端的两个进程是否有可能通过 UDP提供可靠的数据传输?答案是可以的。但必需要把确认和重传措施加到应用程序中,应用程序不能指望 UDP来提供可靠的数据传输。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值