IPV6过渡技术_自动
前言
在IPV6的过渡前期,有一种自动隧道技术叫 6 to 4 隧道,这种隧道是自动的,目的为了免除掉复杂的配置。
复杂在何处?
这个复杂是针对指路由而言的,如手动的ipv6 over ipv4 隧道,需要手动指目的IP,如果有多个分支机机构,就要手工建立多个隧道接口,这样比较复杂,为了避免这种情况,我们可以考虑使用6 to 4 隧道。
自动隧道当中6 to 4 隧道比手工隧道当中的ipv6 over ipv4 以及 GRE,好在何处?
自动嘛,自动是说隧道的目标IP,不用再手工指定了,路由器会自动从报文的目标IP当中计算出来的,这里面的IP地址,指的是IPV6地址,这么神奇的技术,难道没有缺点吗?
缺点
优点特别明显的人,往往缺点也是十分明显,技术也不例外;
想使用6 to 4的自动技术是有要求,边缘区域的IPV6地址,必须是2002开头的,2002后面的地址是根据IPV4地址运算出来的,终端明明是ipv6网络,怎么还有ipv4的事呢?是不是有点奇怪,终端是ipv6不假,但是终端的ipv6地址,里面要有ipv4的“存在”,这里面的IPV4指的就是路由器的外网接口,路由器下的PC的IPV6地址必须包含IPV4地址来自于路由器外网接口的IPV4地址。
在PC的IPV6地址、路由器的外网物理接口地址、隧道的IPV6地址三者之种,要求具有一致性或相关性的的是PC的IPV6地址和路由器的外网物理接口地址,隧道的IPV6地址并没有硬性的要求。
如何把IPV4地址放到IPV6地址里面去?
其实也很简单的,IPV6的地址是128位,而IPV4是32位,将32位的地址塞到128里面还不简单?
IPV4是点分十进制,共四个单位,比如10.18.2.1,将每个单位替换成两位十六进制。
-
10就是A嘛,按照规则变成两位的十六进制就是0A;
-
18怎么办?十六进制最大的数字是F,F是16,那就是0F,那还有2呀,2就用2表示,是F2吗?十进制点满10进1,十六进制就是满15进1,F如果在十位上就是1,那2就是2,18换成十六进制是12;
-
2和1不用说了,就是02和01。
在6 to 4技术当中,最前面的16是固定是2002,加上ipv4改变过的地址32位,一共占用了才48位,后面还有好多可以根据需要进制发挥。
应用场景
在过渡前期的手动阶段,ipv6 over ipv4和GRE都只能应用在隧道的两侧,也就是路由器上。
6 to 4的应用场景特别多,路由器到主机的组织十分灵活,路由器到路由器,主机到主机,主机到路由器,路由器到主机。
假如说我们在总部,与分支机构之间建立VPN连接,肯定要指路由,路由的选项可以是静态、动态的,当然,动态比静态更自动化
报文及解释
我们会发现与ipv6 over ipv4的报文基本上一样的。
实验
这个实验目的是什么?
三个分支都是 IPV6的网络,中间是IPV4,要求分支机构能相互通信,要求使用6 TO 4的隧道连接。
这个实验的思路是什么?
分支机构的IP是2002,满足6 to 4的条件,R1的外网接口的IP 1.1.1.1 隧道接口要有IPV6的IP,而且包含1.1.1.1。
- 先做一个 IPV4 OSPF, 在R1上将1.1.1.1 宣告进去,在R4上将三个接口全都宣告进去,在R2上将2.2.2.2宣告出去,在R3上将3.3.3.3宣告出去,真实的环境上可能无法使用OSPF,那使用静态路由也可以。
- 在分支机构的路由上起一个tunnel接口,这个由于要转发IPV6的地址,所以必须要有一个IPV6的地址,这个IPV6的地址要包含物理接口的地址,封装使用ipv6-ipv4 6 to 4,源就使用物理接口的地址,目的接口不用指(重点就是要体会这里)。
- 将去往2002:: 64的下一跳指一个接口,即隧道接口
我们以R1为例子,当R1收到要去往2002:0202:0202:0001::1 的报文时,通过分析这个目的地址会提取出2.2.2.2,然后路由后发现要将此报文交给隧道接口(这正是思路3的必要之处),然后隧道接口将此IPV6报文进行封装,封装一个IPV4的头部,交给隧道接口,交给隧道接口之后进行6 to 4 的封装,然后再次路由,交给物理接口进行转发,我们发现在这里面会经过两次路由(最后一次路由要求提前知道去往2.2.2.2的路由,这正是思路1的必要之处)
我们拿R1来举例子,省略了步骤1,如下图所示: