一、概要
当涉及到UDP(用户数据报协议)时,有几个常见的字段需要考虑和理解。本文档将详细介绍UDP的各个字段及其作用。下图为一帧UDP报文在CANoe中的解析。
二、源端口(Source Port)和目标端口(Destination Port)
UDP的源端口和目标端口字段用于标识通信中的发送方和接收方应用程序。这两个字段都是16位的无符号整数。源端口表示发送方应用程序的端口号,目标端口表示接收方应用程序的端口号。通过这两个字段,UDP协议能够将数据报正确地传送到目标应用程序。
三、长度(Length)
UDP的长度字段指定UDP数据报的总长度,包括UDP头部和数据部分的字节数。该字段是一个16位的无符号整数。UDP数据报的最小长度为8字节(只有头部,没有数据),最大长度为65,535字节。
四、校验和(Checksum)
UDP的校验和字段用于验证UDP数据报在传输过程中是否发生了错误。它是一个16位的字段,由发送方计算得出,并由接收方进行校验。如果接收方计算出的校验和与发送方发送的校验和不匹配,接收方将认为数据报存在错误。
1、计算方法
计算校验和的方法在RFC 768中定义,并在RFC 1071中讨论了高效的计算方法:
校验和是从IP头部、UDP头部和数据中的伪头部信息计算得出的16位反码和。如果需要,通过在末尾填充零八位字节,使之成为两个八位字节的倍数。
换句话说,使用反码算术对所有的16位字进行求和。将1