计算机网络(二十四)UDP及TCP首部的格式

UDP首部的格式

除去数据的部分正是UDP的首部。UDP首部由源端口号,目标端口号,包长和校验和组成。
UDP数据报格式

a.源端口号(Source Port)

表示发送端端口号,字段长16位。该字段是可选项,有时可能不会设置源端口号。没有源端口号的时候该字段的值设置为0。可用于不需要返回的通信中。

b.目标端口号(Destination Port)

表示接收端端口,字段长度16位。

c.包长度(Length)

该字段保存了UDP首部的长度跟数据的长度之和。单位为字节(8位字节)。

d.校验和(Checksum)

校验和是为了提供可靠的 UDP首部和数据而设计。
附加在UDP伪首部与UDP数据报之前。通过在最后一位增加一个 “0” 将全长增加16倍。此时将UDP首部的校验和字段设置为"0"。然后以16比特为单位进行1的补码和,并将所得到的1的补码和写入校验和字段。
校验和计算中使用的UDP伪首部
接收主机在收到UDP数据报以后,从IP首部获知IP地址信息构造UDP伪首部,再进行校验和计算。
校验和字段的值是校验和字段以外剩下部分的1的补码和。
包括校验和字段在内的所有数据之和结果为"16位全部为1"时才会被认为所收到的数据是正确的。
UDP中也有可能不用校验和。此时校验和字段中填入0。由于不进行校验和计算,协议处理的开销就会降低,从而可以提高数据转发的速度。
在互联网中比较推荐使用校验和检查。
注:校验和计算中计算UDP伪首部的理由:
在UDP的首部中只包含它们当中的两项(源端口和目标端口),余下的3项都包含在IP首部里。有必要验证一个通信中必要的5项识别码是否正确。 为此,在校验和的计算中就引入了伪首部的概念。
IPv6中的IP首部没有校验和字段。TCP或UDP通过伪首部,得以对5项数字进行校验,从而实现即使在IP首部并不可靠的情况下仍然能够提供可靠的通信传输。

TCP首部格式

TCP数据段格式
TCP中没有表示包长度和数据长度的字段。可由IP层获知TCP的包长由TCP的包长可知数据的长度。

1.源端口号 (Source Port)

表示发送端端口号,字段长16位。

2.目标端口号 (Destination Port)

表示接收端端口号,字段长度16位。

3.序列号(Sequence Number)

字段长32位。序列号(有时也叫序号) 是指发送数据的位置。每发送一次数据,就累加一次该数据字节数的大小。
序列号不会从0或1开始ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值