IPv6与Teredo技术应用

2014-07-27 06:19张德杨
创新科技 2014年24期
关键词:IP地址数据包隧道

张德杨 黄 鑫

(1.河南省科学技术信息研究院,河南 郑州 450003;2.河南省新闻出版广电局信息网络视听节目传播监管中心,河南 郑州 450003)

IPv6与Teredo技术应用

张德杨1黄 鑫2

(1.河南省科学技术信息研究院,河南 郑州 450003;2.河南省新闻出版广电局信息网络视听节目传播监管中心,河南 郑州 450003)

本文首先介绍了IPv6诞生的背景并与IPv4进行了比较,然后分析了三种常见的过渡技术:双栈、隧道和转换,最后讨论了Teredo技术在W indows7上的应用。

IPv6;过渡技术;Teredo

目前,国际互联网广泛使用的IP协议是IPv4,即互联网协议第四版。近十多年来,互联网上各类应用蓬勃发展,IP地址的需求量越来越大,IP地址资源日趋紧张。2011年2月3日全球IP地址管理机构“国际互联网名称与数字地址分配机构”(ICANN)宣布,最后所剩的5组IP地址(基于互联网通信协议IPv4)被分配给了全球5大区域互联网注册管理机构,IPv4地址总库已经枯竭。2011年4月,亚太互联网络信息中心(APNIC)宣布亚太地区IPv4地址也已经分配完毕,最后1个A类地址只用于IPv6过渡,亚太区是全球首个无法满足IPv4需求的地区。中国互联网络信息中心(CNNIC)最新调查显示,截至2013年底,我国IPv4地址数量仅为3.31亿(不含港澳台地区),无法满足约6亿网民的需求。由于全球IPv4地址数已经分配完毕,因而自2011年开始我国IPv4地址总数基本维持不变。

IPv4地址不足严重地制约了互联网的应用和发展,面对全球IPv4地址即将用尽的问题,下一代IP协议IPv6应运而生,并提供数量“浩瀚”的新型IP地址。《IPv6全球部署评估报告》2011年调查结果数据显示,约1600名国际调查对象中超过70%计划2012年年底为其网络部署IPv6。我国政府明确了今后一个时期我国发展下一代互联网的路线图和主要目标:2013年年底前开展国际互联网协议第6版网络(IPv6)小规模商用试点,2014年开始大规模部署和商用。

1 IPv6与IPv4地址比较

IPv4采用32位地址长度,其地址容量为2的32次方个,即4.3×10的9次方个,全球可用的IPv4地址只有大约43亿个;IPv6地址采用128位地址长度,其地址容量达2的128次方个,即3.4× 10的38次方个。IPv6极大扩展了IP地址空间,全球平均每人可分配超过10亿个地址,“可以为地球上的每粒沙子都分配一个IP地址”。IPv6的设计除了解决地址短缺问题以外,还考虑了在IPv4中解决不好的其他问题,主要有端到端IP连接、自动配置、网络重编号、网络聚合、服务质量(QoS)、安全性、多播、移动性、即插即用等[1]。

IPv6与IPv4地址比较如下表[2]:

2 IPv4到IPv6过渡技术

尽管IPv6是为了解决IPv4地址不足的问题而诞生的,但是IPv6并不直接向下兼容IPv4。为了使IPv4能够顺利过渡到IPv6,IPv6在设计过程中提供了一些特性,使过渡过程得以简化。目前互联网使用的IPv4规模非常庞大,从IPv4过渡到IPv6不可能一次性实现,必须要经过一个循序渐进的过程,在过渡过程中IPv4和IPv6必将共存与互通。现在已经有许多机制能够解决从IPv4到IPv6的过渡问题,它们的实现原理和应用环境各有侧重,应用比较广泛的过渡策略主要有双栈策略、隧道策略以及转换策略[3]。

比较项目IPv4文本表示法点分十进制如192.168.0.1子网掩码未指定地址回环地址公用地址IPv6冒分十六进制(取消前置零、一次零压缩)如:FF01:0:0:AB:0:0:0:101 =FF01::AB:0:0:0:101或FF01:0:0:AB::101仅使用前缀长度表示法(CIDR)如1080:0:FF:0::/64(无掩码)::/128::1/128可汇聚全球单播地址:2001::/16,2002::/16,3FFE::/16私有地址本地站点地址(FEC0::/10)多播地址FF00::/8被请求节点地址(FF02::1:FF00:0000/104)D类地址(224.0.0.0/4)无,作为多播的特例广播地址以点阵十进制表示法或前缀长度表示法(CIDR)0.0.0.0 127.0.0.1 A类,B类,C类10.0.0.0/8 172.16.0.0/12 192.168.0.0/16自动配置的地址兼容IPv4的IPv6地址IPv4映射的IPv6地址本地链路地址(FE80::/10)::A.B.C.D::FFFF:A.B.C.D网络广播地址、子网广播地址、全子网定向广播地址和有限广播地址169.254.0.0/16 A.B.C.D A.B.C.D

2.1 双栈策略

双栈策略是指网络节点同时具有IPv4和IPv6两个协议栈,这样节点可以根据需要对数据进行IPv4封装或者IPv6封装,IPv4或者IPv6分组数据按照各自的协议进行接收、处理、发送,使得网络节点既能与IPv4网络也能与IPv6网络通信。双栈策略的优点是概念清晰,易于理解,网络规划相对简单,同时可以充分发挥IPv4或者IPv6协议的优点;双栈策略的缺点是对网络节点设备的要求较高,需要其同时支持IPv4和IPv6协议,维护大量的协议和数据,此外网络升级改造将牵涉到网络中的所有节点设备,投资大、建设周期长。

2.2 隧道策略

隧道策略是指网络节点之间利用一种协议来传输另一种协议的数据技术,类似于在网络节点之间打通一条隧道来传输数据。具体来说是指在隧道入口以一种协议的形式来对另外一种协议数据进行封装并发送,在隧道出口对接收到的协议数据解封装并做相应的处理。通过隧道技术可以在IPv4数据包中封装IPv6数据包,也可以在IPv6数据包中封装IPv4数据包。隧道策略的优点是能够充分利用现有的网络投资,因此在过渡初期是一种方便的选择;缺点是在隧道的入口处会出现负载协议数据包的拆分,在隧道出口处会出现负载协议数据包的重组,因此增加了隧道出入口的实现复杂度,不利于大规模的应用。

2.3 转换策略。双栈策略和隧道策略要求网络节点都支持双栈,如果在网络中纯IPv4节点需要与纯IPv6节点之间进行通信,则由于协议栈的不同,需要对这些协议进行转换。对应协议的转换可以分为两个层面来进行,一是IPv4与IPv6网络层的协议转换,主要是通过NAT-PT技术来实现,二是IPv4与IPv6应用层的协议转换,主要通过应用层网关ALG来实现。转换策略的优点是不需要对IPv4和IPv6节点进行升级改造;缺点是IPv4节点访问IPv6节点的实现方法比较复杂,网络设备进行协议转换、地址转换的处理开销较大。因此,该策略一般是在其他互通方式无法使用的情况下使用。

上述各种过渡策略均有各自的优缺点,其应用环境各有侧重,目前,还没有一种普遍适用的过渡技术。在实际网络建设中,应根据扩展性、安全性、网络性能等多方面因素综合考虑,选择适合网络自身特征的过渡策略。

3 Teredo应用

目前大多数ISP不提供IPv6接入服务,因此普通用户无法直接接入IPv6网络。Teredo是IPv4到IPv6过渡技术中一项地址分配和自动隧道技术,它使主机通过服务器将IPv4与IPv6互相转换,从而使主机接入IPv6网络。使用ISATAP等隧道技术需要主机有公网IPv4地址,而Teredo技术适用内网主机,如通过路由或NAT联网的主机[4]。

微软支持Teredo技术,Windows XP SP2以上版本内置Teredo,并且Windows vista以上版本默认启用,虽然默认“普通应用”没有启用Teredo,但是可以使用它连接到IPv6网络。

本文以Windows7为例介绍建立Teredo过程。

第一步:启动IP Helper服务。windows就可以使用IPv6转换技术(6to4、ISATAP、端口代理和Teredo)和IP-HTTPS提供隧道连接。

第二步:在注册表里加下面这个键值:[HKEY_LOCAL_MA⁃CHINESYSTEMCurrentControlSetservicesDnscacheParameters]新建“AddrConfigControl”=DWORD:0x00000000;添加注册表键值是使Windows应该程序能够将域名通过DNS解析为IPv6地址。

第三步:内网主机类型需以管理员权限运行CMD,执行以下命令:

netsh int teredo set state enterpriseclient

netsh int ipv6 delete prefixpolicy 2001::/32

这两个命令分别使Teredo跳过受管理的网络检测和优先解析路由IPv6地址,这样NAT后的主机就可以使用Teredo技术连接到IPv6网络,而且主机使用的IPv4网络不受影响。

这样Teredo建立完成,可以正常连接IPv6网络了,以下是IPv6测试网站:http://test-ipv6.com、http://6rank.edu.cn、http:// www.kame.net、http://bgp.he.net、http://ipv6.google.com。

上述操作使Windows操作系统具有了IPv4和IPv6双栈功能,但是IPv6数据是通过Teredo隧道封装在IPv4的UDP包中穿越NAT出去,所有数据仍然是很大IPv4网络中传输。如果NAT支持UDP端口解析,那么它就支持Teredo,但是对称NAT是一个例外[5]。有些软件会阻止UDP端口3544,这也会导致Teredo隧道不能使用。Teredo是作为接入IPv6网络备用转换技术而设计的,如果IPv6、6to4或者ISATAP等连接可以使用,那么主机就不要作为Teredo的客户端。现在,越来越多的IPv4 NAT经过了升级以便能够支持6to4,而且IPv6连接变得越来越普遍,Teredo将会使用得越来越少,直到最后完全被放弃。

[1]IPv6[EB/OL].http://baike.baidu.com/view/5228.htm.

[2]IP Version 6 Addressing Architecture[EB/OL].http://tools. ietf.org/htm l/rfc2373.

[3]杨巧霞.IPv4/IPv6过渡技术和方案分析[EB/OL].http:// www.qqread.com/network-special/v300371.htm l.

[4]Teredo:Tunneling IPv6 over UDP through Network Address Translations(NATs)[EB/OL].http://tools.ietf.org/htm l/rfc4380.

[5]teredo[EB/OL].http://baike.baidu.com/view/2224124.htm.

TP393.04

A

1671-0037(2014)12-78-2

张德杨(1979-),男,工程硕士,工程师,研究方向:计算机网络、软件工程和应用技术研究。

猜你喜欢
IP地址数据包隧道
二维隐蔽时间信道构建的研究*
云南:弥蒙高铁隧道全部实现贯通 弥蒙高铁最后一座隧道大庄隧道贯通
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
预见2019:隧道的微光
C#串口高效可靠的接收方案设计
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
公安网络中IP地址智能管理的研究与思考
黑乎乎的隧道好可怕
《IP地址及其管理》教学设计