- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IP协议格式
IP协议格式 Maker:liwei 因特网的核心协议是IP和TCP两大协议 IP协议具有以下特点: IP协议所处理的数据单元称为IP数据报 IP 数据报分片的举例 首部校验 IP层不对数据进行校验。原因:上层传输层是端到端的协议,进行端到端的校验比进行点到点的校验开销小得多,在通信线路较好的情况下尤其如此。另外,上层协议可以根据对于数据可靠性的要求,选择进行校验或不进行校验,甚至可以考虑采用不同的校验方法,这给系统带来很大的灵活性。 IP协议对IP数据报首部进行校验。原因: IP首部属于IP层协议的内容,不可能由上层协议处理。 IP首部中的部分字段在点到点的传递过程中是不断变化的,只能在每个中间点重新形成校验数据,在相邻点之间完成校验。 两个层次的校验 IP数据报的首部通过校验和(Checksum)来保证其正确性。 计算首部校验和 USHORT checksum(USHORT *buffer, int size) { unsigned long cksum=0; while (size 1) { cksum += *buffer++; size -= sizeof(USHORT); } if (size) { cksum += *(UCHAR*)buffer; } cksum = (cksum 16) + (cksum 0xffff); cksum += (cksum 16); return (USHORT)(~cksum); } 发送方用1的补码计算和数时,首部校验和字段被设置为0,等于没有参加计算,求补后的校验和与和数各位正好相反。 接收方用1的补码计算和数时,新的首部校验和字段已经被加入,正确情况下所得的和数应该为0xffff,因此,求补后的结果应该为0x0000。 例子:本例中没有IP选项,所以首部长度为5,数据总长度为128字节,数据报的标识为1,未分片,TTL值为4,封装的是TCP协议数据,源地址和目的地址分别为:6和0。 计算中要注意加上进位。生成的校验和为3005。 接收方对同一数据报首部进行校验:求补后得到的校验和值为0,表明IP数据报首部在传输过程中没有出现差错。 数据分片与重组 IP数据报在从信源到信宿的传输过程中要穿过多个不同的网络。由于各种物理网络存在着差异,对帧的最大长度有不同的规定,因此,各个物理网络的最大传输单元MTU可能不同。物理网络的MTU是由硬件决定的。 通常,网络的速度越高,MTU也就越大。 TCP/IP协议的封装: 将数据报以从信源到信宿路径上的最小MTU进行封装 将数据报先以信源网络的MTU进行封装,在传输过程中再根据需要对数据报进行动态分片 1.数据报分片 当数据报被分片时,每个分片都会得到一个首部。分片首部的大部分内容和原数据报相同,如IP地址、版本号、协议和数据报标识等,所不同的是标志字段、数据报总长度和片偏移。分片既可以带也可以不带原数据报的选项. 在IP数据报中与分片相关的字段是标识字段、标志字段和片偏移字段。 1)数据报标识是分片所属数据报的关键信息,是分片重组的依据。 2)标志字段由3位构成,低两位有效,最高位未用;D位表示是否允许该数据报分片;M位表示该片是否是分片的最后一片。 3)片偏移字段指出本片数据在原始数据报数据区中的偏移量。由于各分片独立传输,其到达信宿机的顺序无法保证,需要片偏移为重组提供顺序信息。 一个例子 2.分片的重组 分片可以在信源机或传输路径上的任何一台路由器上进行,而分片的重组只能在信宿机上进行。 信宿机在进行分片的重组时,采用了一组重组定时器。开始重组时,启动定时器,如果重组定时器超时时,仍然未能完成重组(由于某些分片未及时到达信宿机),信宿机的IP层将丢弃该数据报,并产生一个超时错误,报告给信源机。 片重组的控制主要根据数据报首部中的标识、标志和片偏移字段。 数据报的分片和重组操作对用户和应用程序的编程人员都是透明的,分片和重组操作由网络操作系统自动完成 IP数据报选项 IP选项是IP数据报首部中的变长部分 用于网络控制和测试目的(如源路由、记录路由、时间戳等)。 IP选项的最大长度不能超过40字节。 IP选项在使用时是可选的,但在TCP/IP软件的实现中却是必须有的,也就是说所有的IP协议都具有IP选项的处理功能。 选项格式 IP选项的格式如图5-10所示。选项由三个部分组成 选项码(Option Code) 选项长度 选项数据。 选项码由8位构成,分为复制位(COPY)、选项类和选项号3个子字段。 复制位占一比特,用于控制分片时是否将选项复制到各个分片。复制位为“1”时,表示将原数据报所带的选项复制到所有的分片中,复制位为“0”时,表示仅将选项复制到第一个分片中。 选项类占2比特,用于定义选
文档评论(0)