IPV4与IPV6

1 IPV4

数据报格式如图:

关键字段如下:

1版本号:规定了数据报的IP协议版本。

2首部长度:一个IPV4数据报可包含一些可变数量的选项,所以需要4比特来确定IP数据报数据部分实际从哪里开始。(大多数IP数据报不包含选项,所以一般的IP数据报具有20字节的首部。)

3服务类型:(TOS)以便使不同类型的IP数据报能相互区别开来。

4数据报长度:IP数据报的总长度(首部加上数据),字节为单位。

5标识,标志,片偏移。与IP分片有关。

由于并不是所有链路层协议都能承载相同长度的网络层分组。一个链路层帧能承载的最大数据量叫做最大传送单元(MTU)。MTU严格限制着IP数据报的长度。为了解决MTUIP数据报长度要小的问题,将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后向输出链路上发送这些帧。每个这些较小的数据报都称为片。

IPV4设计者决定将数据报的重新组装工作放到端系统中,而不是放到网络路由器中。在目的地,数据报的有效载荷仅当在IP层已完全重构为初始IP数据报时,才被传递给目的地运输层。如果一个或多个片没有到达目的地,则该不完整的数据报被丢弃,且不会交给运输层。

6寿命(TTL:用来确保数据报不会永远在网络中循环。每当数据报由一台路由器处理时,该字段的值减1.TTL字段减为0,数据报必须丢弃。

7协议:IP数据报的数据部分应交给哪个特定的运输层协议。值为6表明数据部分要交给TCP,而值为17表明数据要交给UDP。协议号是将网络层与运输层绑定到一起的粘合剂。

8首部检验和:用于检测收的IP数据报中的比特错误。(由于TTL字段以及可能的选项字段会改变,每台路由器上必须重新计算检验和并再次存放到原处。)

  为什么需要TCP/IP在运输层与网络层都执行差错检测?

         1.IP层只对IP首部计算了检验和,而TCP/UDP检测和是对整个TCP/UDP报文段进行的。

         2.TCP/UDPIP不一定都必须属于同一个协议栈。TCP可以运行不同的协议上,而IP能够携带不一定要传递给TCP/UDP的数据。

9源和目的IP地址:当某源生成一个数据报时,它在源IP字段中插入它的IP地址,在目的IP地址字段中插入其最终目的地的地址。

10选项:允许IP首部被扩展。

11数据(有效载荷):大多数情况下,IP数据报中的数据字段包含要交付给目的地的运输层报文段。然而,该数据字段也可承载其他类型的数据。

2 IPV6

数据报格式如图


 

1版本:类似于IPV4的版本号

2流量类型:与IPV4的服务类型相似

3流标签:给属于特殊流的分组加上标签,这些特殊流是发送方要求进特殊处理的流。

4有效载荷长度:给出了IPV6数据报中跟在定长的40直接数据报首部后面的字节数量。

5下一个首部:与IPV4的协议字段相似

6跳限制:类似于IPV4TTL

7源地址和目的地址:128比特

8数据(有效载荷)


显然:

从对比可以看到,IPV6相对于IPV4做出的变化:

1扩大的地址容量,IPV4IP地址只有32位比特,即4亿多个地址。而IPV6128位地址,即3.4028237e+38个地址。

2标识、标志以及片偏移在IPV6已经去掉了。因为分片也是有开销的,这是路由器和端系统更为复杂。同时,分片容易被用于生成致命的DOS攻击。因此在IPV6不执行分片了。这是如果路由器收到的IPV6数据报因太大而不能转发到出链路,则路由器只需丢掉该数据报,并向发送方发回一个“分组太大的”ICMP差错报文。于是发送方能够使用较小长度的IP数据报重发数据。

3首部检验和也在IPV6去掉了。因为在因特网上,运输层和链路层都执行了检验操作。而且快速处理IP分组才是关注重点。

选项也不再是标准IP首部的一部分,但它并没有消息,而是当需要时放在“下一个首部”

5正因为上述的改变,IPV6形成了40个字节的定长首部。这就允许更快地处理IP数据报。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值