阅读本文大概需要 4 分钟。
作者:思科小牛
来源:51CTO
IPv6的使用越来越广泛,现在家里设备也开始分配IPV6地址了,因此做好IPv6知识储备,刻不容缓!
IPv4地址是32位的,而IPv6是128位的,所以IPv6的地址总数是IPv4的4倍!错!错!错!是2的96次方倍!
今天,我们不去详细的学习V6包头的专业知识,但至少你要能理解以下4点:
✔ 包头变大了,毕竟光地址空间都变大了。
✔ IPV6包头是固定的,40字节,而类似于IPV4的可选项部分,被放到了这个包头后面,叫做扩展包头,可有可无。
✔ 包头整体变简单了,这样使得IPV6的传输效率变高了。
✔ 每个字段的作用,特别是和IPV4原字段的关系(对比了解即可)。
对比IPV4包头,在IPV6中,由于包头固定的40字节,所以没有可选项,也没有包头大小、总长度了,只需要一个负载长度(简单了太多)。
还删除了标识、标志、分片偏移字段,因为IPV6中,所有的节点都会执行MTU探测机制,探测这个路径中的最小MTU并直接使用此值,这样数据只在源端处理分段,中间的设备不再处理分段,回归了本质,中间只负责传输,加快了路由器的处理速度,也大大提高了传输的效率。
IPV4中的包头校验也被取消了,我当时就说过,第四层和第二层都有校验功能,中间第三层的校验就是多余的,浪费了路由器的资源,也影响了性能。这部分内容,也是以后深入学习和应用IPV6的基础。
<3>
IPV6地址的手工配置(思科)
Router(config)#ipv6 unicast-routing #开启设备的IPV6流量转发功能,也可能不支持IPV6
Router(config)#inter g0/0
Router(config-if)#ipv6 enable #开启接口IPV6功能,此时即使不配置地址,接口也会自动生成本地链路地址
我们再来验证一下后64位是不是MAC自动填充的:
结果明显和真实MAC不同,原因如下:
前文我为什么说,不同链路上的接口,本地链路地址可能相同呢?因为路由器的串口没有MAC,所以本地链路地址会借用以太网接口的MAC,因而相同。如下:
Router(config)#inter g0/0
Router(config-if)#ipv6 en
Router(config-if)#inter s0/3/0
Router(config-if)#ipv6 en
配置接口的单播地址:
Router(config)#inter g0/1
Router(config-if)#ipv6 address 2001:1:1:1:2:2:2:2/64
Router(config-if)#ipv6 address 2001:1:1:1:2:2:2:3/64
Router(config-if)#ipv6 address 2002:1:1:1:2:2:2:3/64
Router(config-if)#ipv6 address 2003::3/64
思科的特点是一旦接口配置了IPV6地址,ipv6 enable会自动开启。而华为的设备接口必须要先启动ipv6 enable才能配置地址:
两家接口上配置IPV6还有下面的区别:
不同于IPV4,思科的IPV6接口可以配置多个地址,并且同一网段、不同网段都可以并存多个,但是华为同一网段的地址只能配置一个,否则会提示冲突:
R1(config)#ipv6 unicast-routing
R1(config)#inter g0/0
R1(config-if)#ipv6 add 2001::1/64
R1(config-if)#no shut
R1(config-if)#inter lo 0
R1(config-if)#ipv6 add 2000::1/64
R2(config)#ipv6 unicast-routing
R2(config)#inter g0/0
R2(config-if)#ipv6 add 2001::/64 eui-64
R2(config-if)#no shut
R2(config-if)#inter lo 0
R2(config-if)#ipv6 add 2003::1/64
R1(config)#ipv6 route 2003::/64 g0/0 FE80::260:2FFF:FE3D:E401
R2(config)#ipv6 route 2000::/64 2001::1
R1上使用的是出口+下一跳的本地链路地址,这样即使下一跳配置了多个全局单播地址,也不影响配置,因为本地链路地址是唯一的,但是一定要注意不能只使用出口。
R2上使用的是下一跳的全局单播地址,不需要加出口。
R1(config)#ipv6 unicast-routing
R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id 10.1.1.1 #必须手工配置RID,而且是IPV4地址
R1(config-rtr)#inter g0/0 #在接口在配置路由协议
R1(config-if)#ipv6 ospf 1 area 0 #进程是1,区域是0,配置简单多了
R1(config-if)#inter loop 0
R1(config-if)#ipv6 ospf 1 area 0 #不需要再考虑掩码,反掩码,爽!
R2(config)#ipv6 unicast-routing
R2(config)#ipv6 router ospf 1
R2(config-rtr)#router-id 20.1.1.1
R2(config-rtr)#inter g0/0
R2(config-if)#ipv6 ospf 1 area 0
R2(config-if)#inter loop 0
R2(config-if)#ipv6 ospf 1 area 0
后台回复“加群”,带你进入高手如云交流群
推荐阅读:
在Centos6.5上部署kvm虚拟化技术
你确定你会写 Dockerfile 吗?
DPDK知识点解析
妈妈再也不会担心你Docker入不了门了
10T 技术资源大放送!包括但不限于:云计算、虚拟化、微服务、大数据、网络、Linux、Docker、Kubernetes、Python、Go、C/C++、Shell、PPT 等。在公众号内回复「1024」,即可免费获取!!