计算机网络-传输层(1)UDP协议

UDP协议基于Internet IP协议,只提供两个基础功能:
  • 分用/复用
分用:
主机接收到IP数据报(datagram),每个数据报携带源IP地址、目的IP地址且携带一个传输层的段(Segment)。
每个段携带源端口号和目的端口号,主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket。
复用:
从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层
  • 简单的错误校验
检测UDP段在传输中是否发生错误(如位翻转)
发送方将段的内容视为16-bit整数,计算所有整数的和,进位加在和的后面,将得到的值按位求反,得到校验和,放入UDP报文段的校验和字段
接收方计算所收到段的校验和,将其与校验和字段进行对比。相等只是没有检测出错,仍可能有错误
 
UDP提供的是一种“尽力而为”服务,UDP段可能丢失、非按序到达
使用UDP的应用可通过在应用程序自身中建立可靠性机制来实现可靠数据传输,例如,可通过增加确认与重传机制来实现
 
UDP是无连接的
UDP发送方和接收方之间不需要握手
每个UDP段的处理独立于其他段
 
UDP为什么存在?
(1)无需建立连接(减少延迟)
(2)实现简单:无需维护连接状态
(3)头部开销少
(4)没有拥塞控制: 应用可更好地控制发送时间和速率
 
UDP报文段如图所示:

猜你喜欢

转载自www.cnblogs.com/yangyuliufeng/p/9268870.html