欢迎来到天天文库
浏览记录
ID:48255921
大小:66.50 KB
页数:2页
时间:2019-11-22
《IIILinux系统编程_36TCP/IP协议基础_4IP数据报格式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第36章TCP/IP协议基础4.IP数据报格式IP数据报的格式如下(这里只讨论IPv4)(该图出自[TCPIP1):4位版本4位首部长度8位服务类型(TOS)1G位总长度(字节数)16位标识3位标志13位片偏移8位生存时间(TTL)8位协议16位首部检验和015163132位源IP地址20字节图36.8.IP数据报格式32位目的IP地址迭项(如果有)IP数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍。对于IPv4,4位版本字段是4。4位首部长度的数值是以4字节为单位的,最小值为5,也就是说首部长度最小是4x5=20字节,也就是不带任何选项的IP首部,4
2、位能表示的最大值是15,也就是说首部长度最犬是60字节。8位TOS字段冇3个位用來指定IP数据报的优先级(目前已经废弃不用),还有4个位表示可选的服务类型(最小延迟、最大呑吐量、最大可靠性、最小成本),述冇一个位总是0。总长度是整个数据报(包拈IP首部和IP层payload)的字节数。每传一个IP数据报,16位的标识加1,可用于分片和重新组装数据报。3位标志和13位片偏移用于分片。TTL(Timetolive)是这样用的:源主机为数据包设定一个生存时间,比如64,每过一个路由器就把该值减1,如杲减到0就表示路由已经太长了仍然找不到目的主机的网络,就丢弃该包,因此这个
3、生存时间的单位不是秒,而是跳(hop)o协议字段指示上层协议是TCP、UDP、ICMP还是IGMPo然后是校验和,只校验IP首部,数据的校验由更高层协议负责。IPv4的IP地址长度为32位。选项字段的解释从略。想一想,前而讲了以太网帧屮的最小数据长度为46字节,不足46字节的耍用填充字节补上,那么如何界定这46字节里前多少个字节是IP、ARP或RARP数据报而后面是填充字节?
此文档下载收益归作者所有