传输层 UDP协议
前言
UDP
是传输层较为简单的协议,基于此的上层协议DNS
等。
特点
特点1 无可靠传输
TCP
拥有arq
机制但是,UDP
没有这样的机制,发送后不管是否丢包是否收到,不再理会丢包处理。
特点2 无拥塞控制
计算机发送方不管网络状况和对方接受能力,只管发送.
特点3 多对多
一个PC
机可以广播数据到多个其他主机上,相对于TCP
一对一的特点来说,可以快速实现群聊。
数据包格式
我们的数据包格式如下:
其中需要特别注意16位校验和是需要加上一个伪首部后计算得来如下动画:
伪首部不会传到IP
层,仅在UDP
自己使用,在传入ip层的时候会移除如下图所示:
编程相关
UDP
会有像TCP一样粘包的问题吗?不会
:由于UDP
不存在流的概念,而是单独包的概念。但是会存在不可传输过大数据问题。
UDP
数据最大值UDP
数据包中存在长度的头占16位,所以UDP总体长度为0xFFFF
,但是需要扣除固定的20
字节的(伪首部和UDP固定头部),所以数据部分最大长度为0xFFEB
UDP协议的详细解析
还没有评论,来说两句吧...