曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3701|回复: 0
打印 上一主题 下一主题

[IPv6] IPv6过渡技术之 手工IPv6 over IP隧道

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2015-1-27 14:56:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


R1、R2为双栈路由器,同时连接到 IPv6 及 IPv4 网络。

在R1、R2下分别挂着两个 IPv6 的孤岛,现在,通过在 R1 及 R2 间建立一个 IPv6 over IP 的 tunnel,使得两个 IPv6 的孤岛得以穿越 IPv4 的因特网而进行互联。原始的 IPv6 报文前面,被添加上一个隧道的 IPv4 头,从而形成一个外层的 IPv4 报文的报文,这个报文在 IPv4 网络中被路由。

关于配置,这里贴个简单的示例
  1. Ipv6 unicast-routing
  2. Interface serial0/0
  3.   ip address 10.1.12.1 255.255.255.0
  4. Interface fa1/0
  5. Ipv6 enable
  6. Ipv6 address 2001:0001::FFFF/64
  7. Interface tunnel 0
  8. Ipv6 enable
  9. tunnel mode ipv6ip
  10. tunnel source serial 0/0
  11. tunnel destination 10.1.23.3
  12. ip route 0.0.0.0 0.0.0.0 10.1.12.2          !! ipv4路由,使得路由能访问到tunnel destination,也就是10.1.23.3
  13. Ipv6 route ::/0  tunnel 0                   !! ipv6路由,前往IPv6网络的流量全部扔到tunnel
复制代码


更具体的配置,请见本文档实验部分。

    隧道代理

手工的隧道,由于需要在隧道的两端,也就是两台双栈路由器上配置本地隧道、对端隧道的地址,因此扩展性比较差。为了方便在 IPv4 网络上手工隧道的部署,IETF 定义了隧道代理机制。如RFC3053所定义,隧道代理是一个外部系统,而不是路由器。它在 IPv4 网络中作为服务器,并接受双栈节点的隧道请求。


如上图所示:

1. 双栈主机通过 IPv4 使用 HTTP 访问隧道代理。这个双栈主机可能是个终端用户,它填写一个网页。

2. 双栈主机通过 HTTP 从隧道代理处获得 IPv4 和 IPv6 地址,然后终端用户使用这些地址配置并启用隧道,其中获得到的 IPv4 地址就是隧道的 IPv4 地址。

3. 与此同时,隧道代理自动地在一个连接到IPv6网络的双栈路由器上应用配置隧道的远端配置,一旦配置在双栈主机和双栈路由器上得到了应用,隧道就会被正确的建立起来

4. 端到端的IPv6隧道建立起来之后,IPv6流量就可以进行通讯了。

一般来说,隧道代理和双栈 Router 同属一个管理方,例如同一家公司。因为隧道代理要有双栈 Router 的配置权限。

另外,CISCO IOS不支持隧道代理。但是其实现在公网上有许多免费的隧道代理服务器。

隧道服务器

隧道服务器是隧道代理的简化模型。将隧道代理和双栈 Router 进行了整合。


1. IPv4 网络上的双栈主机首先通过 IPv4 使用 HTTP 访问隧道服务器,终端用户通过填写网页并从隧道服务器获得 IPv4 及 IPv6 地址

2. 终端用户通过双栈主机获得的地址配置隧道,而隧道服务器在本地应用隧道的远端配置。

3. 终端用户通过双栈主机获得的地址配置隧道,而隧道服务器在本地应用隧道的远端配置。

手工隧道的配置
  1. R1的配置如下:
  2. Ipv6 unicast-routing
  3. Interface serial0/0
  4.   ip address 10.1.12.1 255.255.255.0
  5. Interface fa1/0
  6. Ipv6 enable
  7. Ipv6 address 2001:0001::FFFF/64
  8. Interface tunnel 0
  9. Ipv6 enable
  10. tunnel mode ipv6ip
  11. tunnel source serial 0/0
  12. tunnel destination 10.1.23.3
  13. ip route 0.0.0.0 0.0.0.0 10.1.12.2         !! ipv4路由,使得路由能访问到tunnel destination,也就是10.1.23.3
  14. Ipv6 route ::/0  tunnel 0                  !! ipv6路由,前往IPv6网络的流量全部扔到tunnel
  15. R3的配置类似;R2只需配置接口IP即可;PC1及PC2各自配好IPv6 地址,指网关即可。
  16. Tunnel接口未必一定需要ipv6 address,当然,也可以配置v6地址,这不影响穿越路由器的流量
复制代码


配置完成后,PC1即可ping通PC2,抓包如下:


无论是 GRE 隧道,或是 ipv6overip 隧道,在隧道两头都可以跑动态路由协议。例如在上面,可以为 tunnel 两端接口都配置上 ipv6 地址,然后激活动态路由协议即可。从封装效率来说,还是 ipv6overip 会比 GRE 更好,毕竟少了一层 GRE 的封装,但是当跑动态路由协议的时候,在某些场合下,GRE 封装的通用性或者兼容性好比 ipv6overip 的封装要好一些,例如跑 ISIS 协议,用 ipv6overip 就会有点问题。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-3 18:33 , Processed in 0.069015 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表