首页 >运维 >linux运维 >UDP协议的特点以及它的首部格式

UDP协议的特点以及它的首部格式

齐天大圣
齐天大圣原创
2020-12-18 20:35:004001浏览

UDP的特点

UDP协议非常的简单,它几乎没在IP层上增加什么功能。下面来看看UDP协议的一些特点:

  • UDP是无连接的,尽最大努力的交付。发送数据之前不会提前通知,它只管发,你能不能接受到它是不管的。

  • UDP是面向报文的,应用程序给它什么内容,它在内容前封装一个首部就转发给下面的IP层。它是不管内容的多或少的,你给我什么,我就发什么。对于,它的无脑操作,那么应用进程就需要选择好合适的大小了。以免过大的数据包,在IP层被拆分,营销效率。

  • UDP支持一对一、一对多和多对多的通信,对于TCP仅支持点对点的通信这点来看,UDP这点好像还算干的不错。

  • UDP首部简单,是固定的8字节。

基于UDP的上述特点,可以猜想出它的一些应用场景:

  • 适用于网络比较好的环境,对丢包不敏感。

  • 需要进行广播的场景,比如DHCP协议就需要使用广播,所以它使用的UDP协议。

  • 传输效率高、速度快的场景,比如视频直播,一般视频直播丢失了几帧是无关痛痒的。

UDP首部格式

上述已经说过,UDP首部时固定的8字节。相对于TCP,它的首部开销是非常小的。

QQ截图20201215103220.jpg

  • 源端口号,占2字节

  • 目的端口号,占2字节

  • 首部长度,占2字节

  • 校验和,占2字节

目的主机如果接受到了非法端口号的UDP数据包,就会丢弃该数据包,然后向源主机发送ICMP的差错报文“端口不可达”。traceroute命令就是利用该特点来获取两个主机之间的路径信息的。

UDP的校验方式有些特殊,它在校验时,需要零时在首部添加12字节的伪首部。伪首部是在只校验时用到,校验完成后就丢弃。另外,它和IP数据报只校验首部不同,它会校验首部以及数据部分。

相关推荐:《linux视频教程

以上是UDP协议的特点以及它的首部格式的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn