一、6to4自动隧道概述

我们来回顾一下6to4手工隧道(也叫做配置隧道)的配置:
Ipv6 unicast-routing
Interface serial0/0
ip address 10.1.12.1 255.255.255.0
Interface fa1/0
Ipv6 enable
Ipv6 address 2001:0001::FFFF/64
Interface tunnel 0
Ipv6 enable
tunnel mode ipv6ip
tunnel source serial 0/0
tunnel destination 10.1.23.3
ip route 0.0.0.0 0.0.0.0 10.1.12.2
Ipv6 route ::/0 tunnel 0

我们注意到,对于tunnel的配置,需要制定tunnel的destination,这样一来,如果隧道比较多,这种配置就变的非常笨重了,而且可扩展性太差。

看上图:路由器A及B分别是两个站点(的出口路由器,并且都是IPv4及IPv6双栈路由器)。两边都申请到一个IPv4公网地址,使用这个公网IPv4地址进行映射得到全球唯一的6to4 IPv6地址,这个IPv6地址/48位,空间非常大,用于站点内的IPv6用户。如此一来,当站点A内的IPv6用户访问站点B的IPv6用户时,IPv6数据包发送到A,那么A根据IPv6数据报头中的目的IPv6地址,得到对应的IPv4全局IP,那么就将原始的IPv6数据包进行封装,套上6to4隧道的IPv4的头,然后将这个数据包放入IPv4网络进行路由,直到到达B。

接下去,我们来看一下数据包交互的详细过程:


A拿到的IPv4公网地址是132.214.1.10,而B是206.123.31.200。
A和B分别使用这个IPv4公网地址来映射得到6to4地址空间,6to4地址空间使用2002::/16,而6to4地址的形成如下:
2002:IPv4地址:子网ID::接口ID
上面的IPv4地址,就是A或B拿到的那个公网IPv4地址,注意,这个公网IP非常重要,此公网IP的变化,有可能导致IPv6站点内IPv6不得不重新编址。
而且,当然,这个IPv4地址不能使用私有IPv4地址。
得到6to4 IPv6地址空间后,这个地址空间是16+32=48bits,也就是/48的,因此空间非常大,你可以进一步的进行子网的划分,这个IPv6的地址空间就将用于站点内网。数据交互过程如下:

上面的例子,A拿到的IPv4公网地址:132.214.1.10,映射得到2002:84d6:010a::/48,这个地址空间的一部分最终被用在了PC1上。现在,PC1要给PC2发送一个IPv6的数据。这个数据的源IP是PC1的IPv6全局唯一地址:2002:84d6:010a:1::1,目的IP为PC2的IPv6全局唯一地址:2002:ce7b:1fc8:2::2,这个IPv6报文被送到了PC1的默认网关也就是路由器A,
A是一台6to4路由器,它会查看这个IPv6数据包的包头里的目的IPv6地址,它发现这个IPv6目的地地址是一个6to4地址,因此,它计算得出这个6to4 IPv6地址对应的IPv4公网IP,然后,为这个原始的IPv6数据进行封装,加上一个新的IPv4的头,而这个IPv4的头源地址是132.214.1.10,目的地址刚才通过计算得出的那个IPv4地址,正是206.123.31.200。然后,这个新的IPv4数据包进入因特网,最终被传送到B
B将报文的IPv4头除去,得到原始的IPv6数据,转发给PC2。

机制补充
上面提到的IPv4地址是为IPv6孤岛申请的公有地址,在IPv6/IPv4边界路由器(6to4路由器)上配置该v4地址,可以直接为连接公网接口的IP,也可以是Loopback接口的IP,这个IP同时是6to4 tunnel的source。内部节点(本地IPv6站点)如果使用6to4地址,目标网络可以是6to4网络,也可以是普通的IPv6网络(非6to4网络)。
隧道的源ipv4地址手工指定(就是前面提到的IPv4地址),隧道的目标ipv4地址不需要显式配置(路由器动态建立隧道),根据通过隧道转发的IPv6报文决定,如果IPv6报文的目的地是6to4地址,则从目的ip中提取ipv4地址,如果目的地不是6to4地址,那么就需要使用6to4中继。
所以6to4隧道是自动完成查找和建立的,无需手工配置tunnel的destination,相比配置隧道,可扩展性要更高。

6to4中继
之前我们所讲的,都是两个IPv6孤岛都使用的是6to4的IPv6地址空间。6to4边界路由器在收到发送往6to4网络的IPv6数据,能够从目的IPv6地址中得到对应的公网IPv4地址从而进行转发。但是,如果IPv6孤岛使用的不是6to4地址空间,而是像2001::/16这样的常规可聚合全球单播地址呢?这就需要使用6to4中继了。


我们看上面的图,其实利用6to4自动隧道技术,IPv6孤岛既可以使用6to4 IPv6地址空间,也可以使用普通的IPv6地址空间,上图中,R1上挂的IPv6孤岛使用6to4地址空间,R3上的IPv6孤岛也是6to4空间,而R2这台因特网上的6to4路由器同时也连接到了IPv6的因特网和IPv4因特网,因此他具有IPv6公网的路由。所以,R1、R3下的两个6to4孤岛的互相访问,解决方案我们前面已经讲过了,但是R1或R3如果需要访问非6to4的IPv6网络呢?就需要R2了,R2此时是一台6to4中继路由器。此刻,R2通过其自身的一个IPv4公网IP,得到一个6to4的IPv6全球可聚合单播地址,这个IPv6地址用于响应其他6to4路由器的隧道建立请求。

我们拿R1举例,在R1上,配置可能如下:
Interface loopback0
Ip address 132.214.1.10 255.255.255.0
Interface fast0/0
Ipv6 enable
Ipv6 address 2002:84d6:010a:0001:/64 eui-64 !!用于IPv6站点内网的网关
Interface tunnel1
Ipv6 enable
Ipv6 unnumbered fast 0/0
tunnel source loopback0
tunnel mode ipv6ip 6to4
!
Ipv6 route 2002::/16 tunnel1 !!当本地访问远端的6to4网络时,走tunnel
Ipv6 route ::/0 2002:ce7b:1fc8:1::1 !!当访问的远端IPv6网络使用的地址空间不是6to4时,走默认路由,这时候会找下一跳,也就是

经过上述配置,当R1所连接的IPv6岛屿中用户要访问其他6to4网络时,那么R1就从目的6to4 IPv6地址中得到IPv4公网IP,然后将隧道IPv4数据包转发到目的地的6to4路由器。而如果R1所连接的IPv6岛屿中用户要访问非6to4的IPv4网络时,就需要求助于6to4中继,也就是R2,那么怎么找到R2呢?
首先R2自己通过自己的IPv4公网地址映射得到一个6to4地址空间,R2给自己分配了这个6to4 IPv6地址空间中的一个地址(2002:ce7b:1fc8:1::1),以便其他6to4路由器能够找到自己。而对于R1这样的6to4路由器,只需添加一条默认路由:Ipv6 route ::/0 2002:ce7b:1fc8:1::1即可,这样一来R1所连接的IPv6岛屿中用户要访问非6to4的IPv4网络时,数据被这条默认路由所匹配,下一跳为2002:ce7b:1fc8:1::1,这是一个6to4地址,于是R1首先根据这个地址得到其对应的IPv4地址:206.123.31.200,然后将对2002:ce7b:1fc8:1::1再进行路由表的递归查找,发现要从tunnel1接口扔出去,于是给原始的IPv6数据压上新的IPv4隧道头,源地址为隧道的IPv4源地址132.214.1.10,目的地址为206.123.31.200。这个数据包就这么到了R2。

在因特网上,像R2这类6to4中继路由器还是有不少的。有一些公共的6to4中继。例如:6to4.ipv6.microsoft.com等。

二、6to4自动隧道技术实验

【实验1】两边内网都是用6to4地址(双方都是6to4网络)

R1路由器申请的ipv4公网地址为 202.101.12.1;R3申请的公网地址为202.101.23.3
有了公网地址,我们也就有了根据公网地址计算得来的6to4的地址空间:
2002:IPV4地址映射:子网ID::/48 前面48位是2002+ipv4的公网地址,后面64位是接口ID
例如R1公网地址为:202.101.12.1,那么对应的6to4地址空间就是:2002:CA65:0C01::/48
这个地址空间加上子网ID,就可以分配给内网用户了,这个实验我们内网用户采用无状态自动配置获取地址。
这时候,如果R1下有用户要访问R3下的v6网络,那么目的地址肯定是R3的6to4地址空间,数据到了R1后,R2一看,发现是2002的ipv6地址,于是它就直接去读2002后面的32位,将其转换成ipv4地址,并作为6to4的tunnel destination。(红茶三杯 原创博文,版权所有,转载请注明出处http://weibo.com/vinsoney)

R1的配置如下:
ipv6 unicast-routing
!
interface Tunnel0
ipv6 enable
tunnel source Serial0/0 !! 注意,不用指destination,因为是动态的
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2002:CA65:0C01::FFFF/64
ipv6 enable
interface Serial0/1
ip address 202.101.12.1 255.255.255.0
!
ipv6 route 2002::/16 Tunnel0

R2的配置如下:
ipv6 unicast-routing
!
interface Tunnel0
ipv6 enable
tunnel source Serial0/0
tunnel mode ipv6ip 6to4
interface fast1/0
ipv6 address 2002:CA65:1703::FFFF/64
ipv6 enable
interface Serial0/1
ip address 202.101.23.3 255.255.255.0
!
ipv6 route 2002::/16 Tunnel0
PC(用路由器模拟)使用无状态自动获取地址: ipv6 address autoconfig default

【实验2】两边的IPv6孤岛都是使用普通的IPv6全局地址

两端均为普通Ipv6网络,使用常规的全局Ipv6地址。
R1及R3分别申请公网Ipv4地址,配置动态6to4隧道。
以R1为例,配置tunnel0,分配一个Ipv6地址(6to4地址),这个地址正是R1的V4外网地址对应的IPV6 6to4地址,也即202.101.12.1对应2002:CA65:0C01::1/48,R3同理。接下来其实就是静态路由的把戏了。这时,内网有数据去往2001:0002::/16网络时,数据被送到2002:CA65:1703::FFFF(下一跳,也就是R3的tunnel 6to4地址)
路由器通过递归查询到,下一跳2002:CA65:1703::FFFF应该扔到tunnel0,而tunnel0是6to4隧道,于是将2002:CA65:1703::FFFF翻译成对应的V4地址,也就是202.101.23.3

本文转自:http://weibo.com/vinsoney

6to4 自动隧道技术相关推荐

  1. IPv6进阶:IPv6 过渡技术之 6to4 自动隧道

    实验拓扑 R1-R3-R2之间的网络为IPv4公网: PC1及PC2处于IPv6孤岛. 实验需求 R1及R2为IPv6/IPv4双栈设备: 在R1及R2上部署6to4自动隧道使得PC1及PC2能够互相 ...

  2. IPv6和IPv4共存技术之 ISATAP隧道技术

    ISATAP隧道 ISATAP ( Intra-Site Automatic Tunnel Addressing Protocol,站间自动隧道寻址协议)是一种地址分配和主机到主机.主机到路由器和路由 ...

  3. IPv6隧道技术基础知识

    随着IPv4地址的枯竭,IPv6投入应用是必然的.但是全球大部分网络都还在使用IPv4,所以IPv6到IPv4的过渡必定是渐进的,这是一个相对缓慢的过程,这时就需要使用IPv6隧道技术使IPv4网络与 ...

  4. IPv6-GRE 隧道技术

    一.IPv6过渡技术 共存技术: 双协议栈:IPv6节点同时支持IPv6和IPv4协议栈. 隧道:IPv6报文作为IPv4的载荷,由IPv4 Internet中连接多个IPv6孤岛. 互通技术: 提供 ...

  5. 计算机网络隧道技术,隧道技术-高级计算机网络.ppt

    <隧道技术-高级计算机网络.ppt>由会员分享,可在线阅读,更多相关<隧道技术-高级计算机网络.ppt(24页珍藏版)>请在装配图网上搜索. 1.l基本原理l网状隧道机制l主机 ...

  6. 内网渗透测试:隐藏通讯隧道技术(上)

    什么是隧道? 在实际的网络中,通常会通过各种边界设备.软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断.那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式. ...

  7. HCIP版———二层技术——点对点协议ppp以及NBMA网络MGRE的tunnel隧道技术以及二层综合实验

    一.网络类型: 点到点 BMA:广播型多路访问 – 在一个MA网络中同时存在广播(洪泛)机制 NBMA:非广播型多路访问-在一个MA网络中,没有洪泛机制 MA:多路访问 在一个网段内,存在的节点数量不 ...

  8. 网络类型 ---- PAP认证配置 ---- CHAP认证----隧道技术

    Homie 留下赞 一.网络类型 ---- 根据数据链路层运行协议及规则划分的 串线: 1. HDLC 2. PPP及PPPOE ppp ---- 需要经过3个阶段完成会话建立 二.PAP认证配置 认 ...

  9. 防火墙——隧道技术类型

    目录 VPN类型 根据组网方式划分 根据协议实现层划分 核心技术 加解密技术 密钥管理技术 VPN类型 GRE L2TP IPSec SSL VPN 保护范围 IP层及以上 IP层及以上 IP层及以上 ...

最新文章

  1. 【 FPGA/IC 】谈谈复位
  2. 【Google Play】管理目标受众群体 ( 加入“亲子同乐计划“ 由于政策原因 “更新被拒“ 后的处理 )
  3. element ui 设置全局样式不起作用
  4. BugKuCTF WEB 你必须让他停下
  5. .net获取客户端信息(二)ashx部分
  6. jsp压缩html,使用HtmlCompressor压缩JSP编译的Html代码
  7. 400+节点的Elasticsearch集群运维
  8. mac 源码编译yar遇见的坑
  9. linux shell使用tar 备份时间命名的文件 ( tar命令)
  10. logback按等级输出到不同日志文件
  11. Linux命令:more
  12. word在html中预览,在网页中预览word和excel
  13. 坚果云同步linux,备份Linux系统数据到坚果云
  14. PostgreSQL B+树索引---页面删除
  15. 数据结构—排序(第九章)
  16. fromkeys()
  17. NLP Stemming与Lemmatization的区别
  18. 【转】为您解决HDMI无声的烦恼
  19. 微信小程序参数传递获取当前页面的url和参数
  20. 标准日本语第二十三课

热门文章

  1. 第六节 WebGL画球算法
  2. stata处理wind数据——处理日期
  3. js正则 6-20位只能包含 字母 或者字母+数字 必须字母开头
  4. linux系统吃性能吗,教你如何优化Linux运行速度
  5. Linux JAVA执行source,linux 下source、sh、bash、./执行脚本的区别
  6. 可编辑属性html,contenteditable
  7. 机器学习 -- 决策树(Ⅱ香农熵)
  8. Springboot根据实体类生成数据库表
  9. Shell 一行代码搞定大问题
  10. MFC-控件-标签-设置背景透明