ip数据报格式
『壹』 Ip数据报格式中首部长度问题~~新手请教
1个字节等于8位二进制
『贰』 ip报文格式,并对每个字节进行说明
IP报文格式如下图,IP报头前块为必选,因此,IP包最少20字节:
以下为属性解说供参考:
Version(版本):标识了数据包的IP版本号,一共4位,0100表示IPV4,0110表示IPV6;
IHL(报头长度):表示32位字长的报头长度,一共4位;
TOS(服务类型):用来指定特殊的数据包处理方式。一共8位;
Total Length(总长度):接收者用IP数据包总程度减去IP报头长度,就可以确定数据包数据有效载荷的大小;
Identification(标识符):通常与标记字段和分片字段一起用于数据包的分段,长度为16位;
Flags(标记字段):用于IP数据包分段标记使用,长度为3位;
Fragment Offset(分段偏移):用于指明分段起始点相对于报头起始点的偏移量,可以使接受者按照正确的顺序重组数据包,长度为13位;
Time to Live(生存时间):用于防止数据包在网络上无休止地被传输,长度8位;
Protocol(协议):指定了数据包中信息的类型,长度8位;
Header Checksum(报头校验和):针对IP报头的纠错字段;
Source Address(源地址):表示发送者数据包源点的IP地址,长度为32位;
Destination Address(目标地址):表示发送者目标的IP地址,长度为32位;
Options(可选项):被添加在IP报头中,包括源点产生的信息和其它路由器加入的信息;可选字段,主要用于测试,长度可变;
Loose Source Routing(松散源路由选择):可以指定数据包传递的路径;可以跨越中间多台路由器;
Strict Soutce Routing(严格源路由选择):可以指定数据包传递的路径;不同于loose的是,数据包必须严格按照路由转发,如果下一跳不在路由表中,将会产生错误;
Record Route(记录路由):记录数据包离开每台路由的出接口,区别于traceroute的是,record可以记录来 回的路径,而traceroute只可以记录但方向的;
Timestamp(时间戳):记录数据包到达设备的时间;
Verbose(详细内容):查看数据包传送的详细内容;一般用于查看延迟;
Padding(填充):通过在可选字段后面添加0来补足32位,为了确保报头长度是32的倍数。
『叁』 考试时像ip数据报格式,tcp数据报格式会给出来吗
如果你说的是计算机考研,一般会给你的,比如408的13年真题就是给你的TCP格式,然后分析数据。难点不在数据报格式,在于每个数据位对应的意义。
『肆』 IPv4数据报格式
网络层的分组为数据报,数据报为首部和数据两部分组成,如下图所示。
首部的长度是以4个字节为单位,长度可以是20-60字节,这跟首部的HLEN字段有关。
版本:
这个4位字段定义了IP协议的版本,目前主流的版本是4。
首部长度:
这个4位字段定义了数据报首部的长度,以4字节的字为单位。
当首部没有选项时,首部长度位20字节;当这个字段值位最大值F时,首部长度最大为60字节。
服务类型:
在最初这个字段有一部分用于定义数据报的优先级,剩下的一部分定义了服务类型。IETF已经改变了这个8位字段的解释,现在定义了一组区分服务。
码点 未使用
在这种解释种,前6位构成了码点(codepoint),最后两位未使用。
X X X 0 0 0
当码点字段最右边为0时,对最左边的解释为优先级:
这个优先级定义了一些在出现一些问题时数据报的优先级,即当路由器需要丢弃一些数据时,优先级低的将会被首先丢弃。
X X X X X 0
因特网指派的服务
X X X X 1 1
本地指派的服务
X X X X 0 1
临时的或实验的服务
当码点字段最右边的3位不全为0时,这6位定义了54种服务,低延时,高吞吐量等等。
总长度:
这个16位字段定义了数据报总长度,其以字节为单位。故IPv4数据报总长度上限值位65536字节。
注:为什么需要这个字段?在许多情况下,我们确实不需要这个字段值。但是有些情况下,封装在一个帧里的并不仅仅是数据报,还可能附加了一些填充。比如,以太网协议对帧的数据有最大值(1500字节)和最小值(46字节)的限制,当数据小于46字节时,数据将含有填充数据。
标识(identification):
这个16位字段标志了从源主机发出的一个数据报,这样就确定了数据报的唯一性。这样使得数据报被分片后,在到达终点时终点能根据标识号将同一个数据报的分片重新组装成一个数据报。
标志(flag):
D M
第一位保留(未用),第二位为“不分片(do not fragment)”,第三位位“还有分片(more fragment)”。
D为1时,不能对数据进行分片;为0可以进行分片。
M为1时,标识还有分片;为0表示最后一个分片。
分片偏移:
这个13位字段表示的是分片在整个数据报中的相对位置。这是数据在原始数据报中的偏移量,以8字节位单位。
注:分片本身还可能进行分片,这种情况下,分片偏移值永远是相对于原始数据报的。
生存时间:
这个8位字段用来控制数据报所经过的最大跳数(路由器),每经过一个路由器,这个字段数值都减1,减1后变位0时,路由器就丢弃这个数据报。
协议:
这个8位字段定义了使用IPv4服务的高层协议,如TCP,UDP,ICMP,IGMP,OSPF等的数据都将被封装到IP数据报中。这个字段指明数据报必须交付给哪个最终目的协议。
注:1表示ICMP,2表示IGMP,6表示TCP,17表示UDP,89表示OSPF
检验和:
检验IP数据报首部。
源地址:
定义了源点的IP地址,这个字段始终保持不变。
目的地址:
定义了终点的IP地址,这个字段始终保持不变。
『伍』 TCP/IP中数据包是什么格式的
计算机传送的数据都是2进制,在不同层次有不同的称呼。段 包 帧 数据流
『陆』 请简述ip地址报文格式并对每个字节说明
IP报文格式如下图,IP报头前5块为必选,因此,IP包最少20字节:
以下为属性解说供参考:
Version(版本):标识了数据包的IP版本号,一共4位,0100表示IPV4,0110表示IPV6;
IHL(报头长度):表示32位字长的报头长度,一共4位;
TOS(服务类型):用来指定特殊的数据包处理方式。一共8位;
Total Length(总长度):接收者用IP数据包总程度减去IP报头长度,就可以确定数据包数据有效载荷的大小;
Identification(标识符):通常与标记字段和分片字段一起用于数据包的分段,长度为16位;
Flags(标记字段):用于IP数据包分段标记使用,长度为3位;
Fragment Offset(分段偏移):用于指明分段起始点相对于报头起始点的偏移量,可以使接受者按照正确的顺序重组数据包,长度为13位;
Time to Live(生存时间):用于防止数据包在网络上无休止地被传输,长度8位;
Protocol(协议):指定了数据包中信息的类型,长度8位;
Header Checksum(报头校验和):针对IP报头的纠错字段;
Source Address(源地址):表示发送者数据包源点的IP地址,长度为32位;
Destination Address(目标地址):表示发送者目标的IP地址,长度为32位;
Options(可选项):被添加在IP报头中,包括源点产生的信息和其它路由器加入的信息;可选字段,主要用于测试,长度可变;
Loose Source Routing(松散源路由选择):可以指定数据包传递的路径;可以跨越中间多台路由器;
Strict Soutce Routing(严格源路由选择):可以指定数据包传递的路径;不同于loose的是,数据包必须严格按照路由转发,如果下一跳不在路由表中,将会产生错误;
Record Route(记录路由):记录数据包离开每台路由的出接口,区别于traceroute的是,record可以记录来 回的路径,而traceroute只可以记录但方向的;
Timestamp(时间戳):记录数据包到达设备的时间;
Verbose(详细内容):查看数据包传送的详细内容;一般用于查看延迟;
Padding(填充):通过在可选字段后面添加0来补足32位,为了确保报头长度是32的倍数。