IP数据报首部校验和算法

来源:百度知道 编辑:UC知道 时间:2024/04/29 09:52:17

普通的IP首部长20个字节,除非含有选项字段。
第一帧:4位版本
4位首部长度
8位服务类型(TOS)
16位总长度(字节数)
第二帧:16位标识
3位标志
13位片偏移
第三帧:8位生存时间(TTL)
8位协议
16位首部校验和
第四帧:32位源IP地址
第五帧:32位目的IP地址
第六帧:选项(如果有)
第七帧:数据
1.4位版本:IP所用版本,有IPv4, IPv6

2.4位首部长度:指的是占32bit字的数目,包含任何选项。由于它是一个4bit字段,因此首部最长为60个字节。

3.服务类型(TOS)包括一个3bit的优先权子字段(忽略),4bit的TOS子字段和1bit未用位但须置0。4bit的TOS分别代表:最小延时、最大吞吐量、最高可靠性和最小费用。4bit中只能置其中一位,如4位均为0,则意味着是一般服务。

4.总长度字段指整个IP数据报的长度,以字节为单位。利用首部长度字段和总长度字段,就可以知道IP数据报中数据内容的起始位置和长度。由于该字段长为16bit,所以IP数据报最长可达65535(超级通道的MTU为65535。它的意思其实不是一个真正的MTU,它使用了最长的IP数据报)。当数据报被分片时,该字段的值也随着变化。

尽管可以传一个长达65535字节的IP数据报,但是大多数的链路层都会对它进行分片,而且主机也要求不能接收超过576字节的数据报。由于TCP把用户数据分成若干片,因此一般来说这个限制不会影响TCP。UDP的应用(如RIP,TFTP,BOOTP,DNS,及SNMP),它们都限制用户数据报长度为512字节,小于576字节从而避免IP数据报分片。

但是现在大多数的实现(支持网络文件系统(NFS)的实现)允许超过8192字节(8K)的IP数据报。

总长度字段是IP首