UDP协议

面向无连接(UDP)


面向无连接型则不要求建立和断开连接,发送端可于任何时候自由发送数据。接收端也永远不知道自己会在何时从哪里收到数据,接收端在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。

UDP是一种无连接的、不可靠的传输层协议,在完成进程到进程的通信中提供了有限的差错检验功能,设计比较简单的UDP协议的目的是希望以最小的开销来达到网络环境中的进程通信目的。

UDP协议是英文User Datagram Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间高速传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP不失为一项非常实用和可行的网络传输层协议。UDP协议不提供端到端的确认和重传功能,它不保证信息包一定能到达目的地,因此称为不可靠协议。UDP使用IP协议作为数据传输机制的底层协议。

UDP用户数据报传输过程中的封装与拆封:

                                                                            图1 UDP数据报封装与拆封

UDP数据报格式:

UDP报文称为一个用户数据报,它分为两部分:头部和数据区。报文头部中包含有源端口和目的端口、报文长度以及UDP检验和。

源端口和目的端口(端口是用来指明数据的来源(应用程序)以及数据发往的目的地(同样是应用程序))字段包含了16比特的UDP协议端口号,它使得多个应用程序可以多路复用同一个传输层协议及UDP协议,仅通过端口号来区分不同的应用程序。

长度(length)字段记录了该UDP数据包的总长度(以字节为单位),包括8字节的UDP头和其后的数据部分。最小值是8(报文头的长度),最大值为65535字节。

UDP校验和(Checksum)的内容超出了UDP数据报文本身的范围,实际上,它的值是通过计算UDP数据报及一个伪包头而得到的。校验和的计算方法与通用的一样,都是累加求和。

                                                                                               图2 UDP数据报格式

UDP检验和的检验范围:

                                                                                    图3 UDP检验和范围

伪首部并非TCP&UDP数据报中实际的有效成分。伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中提取的,既不向下传送也不向上递交,而仅仅是为计算校验和。

这样的校验和,既校验了TCP&UDP用户数据的源端口号和目的端口号以及TCP&UDP用户数据报的数据部分,又检验了IP数据报的源IP地址(数据源设备)和目的地址。伪报头保证TCP&UDP数据单元到达正确的目的地址。

因此,伪报头中包含IP地址并且作为计算校验和需要考虑的一部分。最终目的端根据伪报头和数据单元计算校验和以验证通信数据在传输过程中没有改变而且到达了正确的目的地址。

UDP数据报在IP报文中的封装:

                                               图4 UDP封装

如图所示,在IP数据报中UDP数据报存放于IP首部之后,UDP首部占据了8个字节,之后为UDP数据。

IP数据报是基于IP的网络中最基本的数据单元形式,在国际互联网络中的众多中间节点路由器,可以识别并转发该种数据报,提供
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值