IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP next generation,下一代IP协议)。它是IETF设计的一套规范。IPv6和IPv4之间最显著的区别就是IP地址长度从原来的32bit变为128bit。
128bit的IPv6地址被分为8组,每组的16bit用4个16进制字符(0-9,A-F )来表示,组和组之间用冒号隔开。比如2031:0000:130F:0000:0000:09C0:876A:130B,为了书写方便,每组中的前导“0”都可以省略。地址中包含的连续两个或多个均为0的组,可以用冒号 “:” 来代替,这样可以压缩IPv6地址的书写长度。但是在一个IPv6地址中只能使用一次双冒号 “::”,否者当计算机将压缩后的地址恢复成128bit时,无法确定每段中0的个数。所以,上述地址可以简写为2031:0:130F::9C0:876A:130B。
一个IPv6地址可以分为两部分,比如2001:A304:6101:1:0000:E0:F726:4E58 /64,前64bit是网络前缀,相当于IPv4地址中的网络ID,后64bit相当于IPv4地址中的主机ID。
R1与R2分别为IT部门和人事部路由器,IT部门的员工终端PC1手工配置IPv6地址,并在R1与R2上配置IPv6静态路由,使两个部门互相通信。
//系统视图模式下开启IPv6功能。
[R1]ipv6
[R1]int g 0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable //在R1的GE0/0/0接口下使用 IPv6 enable 命令开启IPv6功能
[R1-GigabitEthernet0/0/0]ipv6 address auto link-local //配置自动生成链路本地地址
//查看R1 GE0/0/0接口自动生成的链路本地地址。
//在PC1上pingR1链路本地地址。
、
、
//配置R2的GE0/0/0接口。
[R2]ipv6
[R2]int g 0/0/0
[R2-GigabitEthernet0/0/0]ipv6 enable
[R2-GigabitEthernet0/0/0]ipv6 address auto link-local
//查看链路本地地址。
//PC2pingR2本地链路地址。
、
、
//在R1、R2的GE0/0/1接口上手工静态配置全球单播地址。在配置IPv4地址时,新地址会替换老地址;而在配置IPv6地址时,新地址会被添加,老地址不受影响。使用 IPv6 address 命令可以直接为接口添加IPv6地址,2031:0:130F::1 为需要配置的IPv6地址,64为此地址的前缀长度。
[R1]int g 0/0/1
[R1-GigabitEthernet0/0/1]ipv6 enable
[R1-GigabitEthernet0/0/1]ipv6 add 2031:0:130F::1 64
[R2]int g 0/0/1
[R2-GigabitEthernet0/0/1]ipv6 enable
[R2-GigabitEthernet0/0/1]ipv6 add 2031:0:130F::2 64
//查看R1、R2所配置的全局地址。
//测试R1、R2全球单播地址的连通性。
//用 EUI-64 方式在R1的GE0/0/0接口配置IPv6地址。查看配置结果。
//可以观察到已生成了有效的EUI-64地址。
、
、
//在R2上GE0/0/0接口配置EUI-64地址。查看配置结果。
、
、
//地址生成后,在PC1上配置R1的GE0/0/0接口地址作为网关地址,在PC2上配置R2的GE0/0/0接口地址作为网关地址。
//在R1上使用 ipv6 route-static 命令配置IPv6静态路由,目的网段为PC2所在的IPv6网段,下一跳为R2的GE 0/0/1接口的IPv6全球单播地址。
[R1]ipv6 route-static 2002:3:DE:: 64 2031:0:130F::2
//R2上配置IPv6默认路由,下一跳为R1的GE 0/0/1接口的IPv6全球单播地址。
[R2]ipv6 route-static :: 0 2031:0:130F::1
//测试PC1、PC2之间的连通性。