当前位置:   article > 正文

用户数据包协议基础(UDP)-----UDP系列1基础知识_udp标头长度是什么的长度

udp标头长度是什么的长度

用户数据包协议基础(UDP

  • 不提供差错纠正队列管理,重复消除,流量控制和拥塞控制,不保证能到达目的地

  • 提供差错控制

  • 使用UDP的应用程序必须自己实现保证数据可靠投递或正确排序

  • 比其他的传输协议开销小,面向无连接,广播和组播用的比较多,UDP头部开销仅需8个字节

  • UDP传输下的IP数据报格式

在这里插入图片描述

10.2 UDP头部

在这里插入图片描述

  • UDP源端口 :如果数据报的发送者不要求对方回复的话,源端口号可以被置为0
  • UDP目的端口 :IP协议的头部种的”下一个头部“字段的值将指明特定的传输协议,说明端口号在不同的传输协议之间是独立的,因此两个完全不同的服务器可以使用相同的端口号和IP地址,只要他们使用不同的传输协议,但是如果某个众所周知的服务既可以用TCP传输也可以用UDP传输,那么通常两个传输协议的端口号被分配成一样的
  • UDP的长度 :长度字段是UDP头部和UDP数据的总长度,以字节为单位

长度最小是头部长度为8个字节,发送长度为0字节数据的UDP数据包是允许的;

UDP长度字段是冗余的,因为在IPv4头部包含了数据报的总长度,IPv6头部也包含了负载长度

UDP/IPv4数据报长度 = IPv4数据报的总长度 - IPv4头部的长度

UDP/IPv6数据报长度 = 负载长度字段的值 - 所有扩展头部的长度

  • UDP校验和 :端到端的传输层校验和

校验和字段是端到端的,是对包含了源IP和目的IP字段的UDP伪头部计算得到的,因此只要经过NAT,就需要重新计算校验和

  • 以上针对的都是IPv4的数据报

10.3 UDP校验和

  • UDP校验和在IPv4是可选的,IPv6是强制的,其他协议则都是强制的需要检验和
  • 首先UDP数据报长度可以是奇数个字节,而**校验和算法(16位反码和的反码)**只相加16位字节(总是偶数个字节),UDP的处理过程是在奇数长度的数据报尾部追加一个值为0的填充虚字节
  • UDP计算校验和包含了衍生自IPv4头部的一个12字节的伪头部或者来自IPv6头部字段的一个40字节的伪头部,目的是:让UDP层验证数据是否已经到达正确的目的地(即:该IP没有接受地址错误的数据报,也没有给UDP一个本该是其他传输协议的数据报)
一个UDP头部校验差错被检测到时会发生什么?

计算出来的校验和一旦被接收,校验和为0x0000时,表示发送方没有计算校验和,如果刚好计算得到的是0x0000,那么就把校验和变成他的算术反码0xFFFF,如果接收方检测到一个校验差错,UDP数据报会被丢弃,会有一些统计计数,但不会产生任何差错消息

一个UDP/IPv4的数据报穿过一个NAT时,IP层头部的检验和需要修改,为什么UDP伪头部的检验和也必须被正确修改?

因为IP层的地址和UDP层的端口号可能会改变,UDP的校验和需要重新计算。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/406521
推荐阅读
相关标签
  

闽ICP备14008679号