精简IPV6概述

1、IPV4和IPV6数据包头部的比较:
由于IPV6使用了PMTUD机制,避免了中途路由器对数据包分片,分片由客户端完成,所以取消了所有和分片重组有关的字段,包括identificaiton 、flags、 fragment offset
简化数据包头部,IPV6数据包增加了NEXT head字段,而不是像IPV4那样使用protocol , next head字段指明它下一个头部的具体位置
去掉了头部校验head checksum,因为2层 4层都有校验机制,这里再做校验就会显的多余
新增了flow label 现在没有用到,是为了将来做更细的QoS打标签用的
在这里插入图片描述
2、和IPV4相比,IPV6弱化了掩码的概念,IPV4叫做子网号network ;而IPV6叫做前缀prefix
由于IPV6取消了广播,所以IPV6地址没有子网地址 也没有广播地址的概念,而IPV4则是有子网地址和广播的地址的概念
由于IPV6的地址实在太多了,它甚至不需要用到VLSM机制
3、IPV6使用组播,单播和任意播,取消了广播;它的可聚合全球地址相当于IPV4中的公网IP;它的本地站点地址相当于IPV4中的私网IP;它的任意播和IPV4的任意播概念一样;它的未指定的地址 ::/128 相当于IPV4的 0.0.0.0 0.0.0.0 主机地址;::1/128相当于ipv4种的127.0.0.1回环地址;IPV6地址增加了2类地址,一类是被请求节点组播地址前缀是FF02::1:FF00:0000/104 用来做DAD NS-NA,还有一类是本地链路地址,前缀是FE80::/10,作用范围仅限于设备之间互联的那一段链路,所以才叫本地链路地址,一般是自动生成的。
在这里插入图片描述
4、底下是现在在用的可聚合全球单播地址,那么基本上只用了IPV6所有地址段的很小一部分,之所以这么划分是为了减少全球IPV6路由表条数,加快路由查找,所以它的名字才叫做可聚合全球单播地址
在这里插入图片描述
5、和IPV4非常不同,一般一个物理接口都拥有2个及以上的IPV6地址,用来做不同的用途,下图是一台路由器的initerface f1/0接口,它有8个IPV6地址(一般终端至少也有4-5个IPV6地址);
分别是link-local本地链路地址 FE80::CE01:CFF:FEE0:10,当在接口下使用 ipv6 enable命令以后,通过EUI-64机制,结合MAC地址,生成;用作本地链路范围内的通讯,比如运行各种路由协议,RS-RA自动IPV6地址配置等。
Global unicast address(es) 可以配置一个或者多个可聚合全球单播地址:2023::2/64
6个组播地址:注意 这些组播地址没有子网掩码的概念
FF02::1 作用于本子网的所有节点的组播地址
FF02::2 本子网范围内的所有路由器组播地址
FF02::5 和 FF02::6 是OSPFV6 所有路由器和DR的组播地址
FF02::1:FF00:2是和2023::2/64 地址对应的被请求节点组播地址,用来做NS-NA 协议,代替IPV4中ARP协议的作用
FF02::1:FFF0:10 是和FE80::CE01:CFF:FEE0:10地址对应的被请求节点组播地址 每一个IPV6地址都会生成这个组播地址;包括在所有的终端上,虽然有些时候你看不到这些组播地址,但他们是确实存在的
在这里插入图片描述
在这里插入图片描述
6、IPV6使用ICMPv6 TYPE 133-134 实现RS-RA RS是路由器请求报文-RA是路由器通告报文
IPV6使用ICMPv6 TYPE 135-136 实现NS-NA NS是邻居请求-NA是邻居通告
IPV6使用ICMPv6 TYPE 136 实现路由重定向功能
ICMPv6 type 2 code 0 实现PMTUD功能
我来依次描述:
在这里插入图片描述
7、IPV6使用ICMPv6 TYPE 133-134 实现RS-RA RS是路由器请求报文-RA是路由器通告报文;
之前提到过所有运行IPV6的客户端接口都自动生成FE80的link-local地址,它将周期性的发送RS报文,报文目标地址是FF02::2,也就是本地子网所有路由器地址
而路由器接口只要配置了IPV6 本地站点或者可聚合全球单播地址,比如这里的2001:1000::1/64地址,路由器默认也会周期性的发送RA消息,里面包括了可以使用的IPV6前缀,网关等等信息,目标是FF02::1,也就是本地子网所有设备组播地址;通过这个过程客户端将能够获得可聚合全球单播IPV6地址 网关 ,可能的DNS服务地址,用来和全球IPV6站点通信。
在这里插入图片描述
8、下图详细描述了一个代替IPV4的NS-NA过程,这个过程和ARP过程的作用一样,我们需要找到IPV6所对应的MAC地址是多少(以太网环境)我们来罗列下我们已经知道的一些前提:
PC_A的站点本地地址FEC0::1:0:0:1:A 这个接口按照前面描述的它自动加入了一个被请求节点组播地址FE02::1:FF01:A
PC_B的站点本地地址FEC0::1:0:0:1:B 这个接口按照前面描述的它自动加入了一个被请求节点组播地址FE02::1:FF01:B
当你在PC_A发起一个Ping PC_B的时候PC_A 先发送一个ICMPV6 TYPE 135的NS报文,源IP地址为FEC0::1:0:0:1:A 目的IP是PC_B的被请求节点组播地址,也就是FE02::1:FF01:B;那么这么做可以确保只有PC_B能够收到这个组播报文(因为被请求节点组播地址是唯一的),它就知道了PC_A的源MAC地址是多少了;然后PC_B 它用自己的出接口的MAC地址作为源MAC,用PC_A的MAC地址作为目标MAC封装了2层以太网头部;用自己的IPV6地址作为源IP,PC_A的IPV6地址作为目的IP封装了IPV6头部;给PC_A回复了一个NA报文,PC_A收到了这个报文,它也就知道了PC_B接口的MAC地址了,这之后数据包就能正常封装,通讯了
在这里插入图片描述
9、DAD 机制就是重复地址检测机制,和IPV4中的免费ARP 功能相对应,在有状态IPV6地址分配过程中,当主机PC_A接口手工配置好一个IPV6地址2000::1之后,它会加入一个被请求节点组播组,组播地址为:FF02::1:FF00:1
然后这个接口开始使用::地址为源IPV6地址,向被FF02::1:FF00:1 地址发送NS消息,看看有没有主机也加入了这个组播组,如果有主机加入了这个组播组,那就意味着另外一台主机也使用了相同的IPV6地址,那么这个新配置的IPV6地址2000::1就地址重复,不能再使用了
在这里插入图片描述
10、PMTUD机制实现非常简单,源主机发送ICMPV6 TYPE=2 CODE=0 使用MTU=1500的数据包,达到路由器A,路由器检查发现自己入接口MTU=1400,那么路由器就发送ICMP TYPE=2的报文,告诉客户端,我的接口MTU=1400,请修改。如此循环一路试探下去就能发现一个方向的路径最小MTU是多少了,注意另外一个方向也一样,MTU是双向的。
在这里插入图片描述
11、由于当前IPV6和IPV4都存在,所以才有了IPV4-IPV6地址的转换,主要是3大类方向,第一是双协议栈,就是终端同时运行IPV6和IPV4协议栈
在这里插入图片描述
第2大类叫做隧道,隧道又根据封装的方式不同,又分为gre封装隧道,ipv6ip封装隧道,auto tunnel,6to4隧道 等等
第3大类叫做NAT 就是在路由器出接口将IPV6地址翻译(映射)为IPV4协议
下图是隧道的3种封装方式,稍微了解下在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总结:IPV6作为一个3层的协议本身并不复杂,限制其发展的更多的是运营商的既得利益,难道可以卖钱的有限IPV4地址资源它不香吗?

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值