IPv4与IPv6网络互连.docx
《IPv4与IPv6网络互连.docx》由会员分享,可在线阅读,更多相关《IPv4与IPv6网络互连.docx(19页珍藏版)》请在冰豆网上搜索。
IPv4与IPv6网络互连
IPv4与IPv6网络互连的探讨与实现
摘要
现如今,IPv4地址资源已经接近枯竭,IPv4向IPv6过渡属于必然趋势,这迫使在部署下一代互联网时,不得不将如何使IPv4向IPv6的平稳过渡纳入考虑的问题内。
目前比较成熟的几种IPv4/IPv6转换技术中,比较成熟的有NAT-PT,隧道以及双协议栈技术。
但这些也都只是初期技术,大部分的IPv6网络还都处在实验阶段。
目前的网络技术是IPv6的海洋,某些IPv6网络只是其中零散的小小的岛屿。
在现阶段需求IPv6访问IPv4网络时,对于目前过渡期间的访问技术的研究和完善则成为必需。
本文分析了新的网络协议IPv6出现的必然性及必要性,并对IPv6的新特性与新技术做了简单的介绍。
讨论了过渡阶段IPv6访问IPv4所采用的多种过渡技术,在对各种技术进行比较的基础之上,提出了自己的见解。
最后对某些技术的实践进行了实践测试。
关键字:
IPv6隧道技术双协议栈NAT-PT
第一章绪论
1.1IPv6技术国内外的发展现状
中国是当前全球最急需IP地址的国家之一,因此在IPv6标准制订以及产业化和商业化的进程中都显得非常积极。
在中国的IPv6产业化进程中,我国政府对IPv6技术及产业发展给予了极大的关注与支持,“积极跟踪、把握机遇、稳妥推进”是中国对于IPv6技术的态度,在大力推行政策支持的同时会进行网上实验,掌握IPv6在实际运行中的各种技术。
但是IPv6协议在全国全面实现短时间内还不可能完成。
中国密切关注着IPv6的发展,目前很多的内地高校和科研机构已经与国外一些运营商合作,对IPv6进行研究实验。
美国之前拥有着全球74%的IP地址资源,所以对IPv6的态度一直略显得不关心[17】。
直到思科于2001年7月10日宣布与微软、IBM、惠普、SUN和摩托罗拉结成伙伴关系,共同推进IPv6硬件和软件的开发。
这也体现出了IPv6的重要性。
在欧洲,各国政府对IPv6的发展都给予了高度的关注与支持。
欧洲各国虽没有像亚太地区一样紧缺IP地址,但在IPV6的发展上不想落后于日本这样的国家,并且想通过IPV6挽回同美国之间的差距。
目前欧洲各国正大力发展IPv6技术,专家认为欧洲的3G将在1-2年内进入全面应用阶段。
在亚太地区,IP地址的资源相对比较紧张,所以大多数国家起步较早,并且走在了世界前列。
此中,日本对IPV6表现的兴趣最大,政府已制定了“E-JAPAN”的战略。
其他的经济较发达国家对新的技术也很有兴趣。
新加坡,韩国都投入大量的技术和资金,去尝试IPv6的普及。
第二章IPv6协议研究
2.1IPv6协议基础
2.1.1IPv6协议基础介绍
IPv6的全称是“互联网协议第六版”。
1993年发布提案征求,有三个方案纳入考虑:
●因特网公共结构(CATNIP),提议用网络业务接入点(NSAP)地址融合CLNP、IP和IPX
●增强得简单因特网协议(SIPP),提议将IP地址长度增加到64比特,改进IP包头
●CLNP贬值网络上的TCP/UDP,建议用无连接的网络协议CLNP,代替IP,TCP/UDP和其它上层协议运行在CLNP之上。
2.1.2专业术语
下面列出IPv6协议中常用的几个专业术语:
●节点:
任何运行IPv6的设备,包括路由器和主机。
●主机:
只能接受数据信息,而不能转发数据信息的节点。
IPv6中的主机不仅包括计算机等,还包括各种家用电器和其他电子器械。
●子网:
使用相同的64位IPv6地址前缀的一个或多个链路。
一个子网可以被内部子网路由器分为几部分。
●路由器:
路由器是一种连接多个网络的网络设备,它能将不同网络之间的数据信息进行转发。
IPv6网络中,路由器是一个非常重要的角色,它会把一些配置信息向外通告。
●邻节点:
连接到同一链路上的节点。
这是一个非常重要的概念。
因为IPv6的邻节点发现机制具有解析邻节点链路层地址的功能,并可以检测和见识灵节点是否可以到达。
●上层协议:
紧挨着IPv6之上的一层协议,将IPv6用作运输工具。
主要包括Internet层协议和传输层协议,但不包括应用层协议[11]。
●目的地址:
标明接收方的地址。
长度为128位。
2.3IPv6地址
2.3.1IPv6地址的类型
IPv6地址可分为三大类:
单播地址,组播地址,任意播地址。
(1)单播----unicast:
onetoone
(2)组播地址----Multicast
(3)任意播地址----Anycastaddress
任意播是多个设备共享一个地址,它应用在one-to-nearest(一到近)模式。
像组播地址一样,任意播地址能够识别多个接口,但他们之间有很大的不同:
任播包只被传送到一个距离本路由器最近的那个接口地址[5].单播地址用来分配任意播地址。
对于那些没有配置任意播的地址就是单播地址,但是当一个单播地址分配给不止一个借口的时候,单播地址就成了任意播地址。
例如,当手机通信和其他的移动设备离开本地,漫游到其他区域时,不必接入原始的接入点,只需要找到最近的网络服务接入点即可。
2.3.2寻址模型
IPv6寻址模型与IPv4相类似。
即每个单播地址可以表示一个单独的网络接口。
IP地址会被分配到接口,而不是节点。
因为每个接口属于节点,每个节点可以具备多个IPv6地址,任何一个地址都可以坐标表示该节点的标识符。
但是一个单播地址只能与一个网络接口相关联,而每个网络接口都至少必须拥有一个单播地址。
另一方面,具有大于链路范围的单播地址,对这样的接口是不需要的。
也就是从非邻居到非邻居的接口,这并不是IPv6数据的源地址或目的地址。
这种模式的寻址模型有一种例外,即当多个接口同时被处理时,一个单播地址或者一个单播地址可以同时分配给多个接口。
这种情况对于建立在接口上的负载共享会起到较大的帮助。
当前网络的发展情况要求了每个网络接口只分配一个全球唯一的单播地址,这限制了IPv4地址的扩展,一个提供通用服务的服务器在需求量较大的情况下可能发生崩溃。
2.3.3IPv6地址分配
(1)IPv6地址分配原则:
●唯一性。
被分配出去的IPv6地址必须保证在全球范围内是唯一的,以保证每台主机都能被正确的识别。
●可记录性。
已分配出去的地址块必须记录在数据库中,为定位网络故障提供依据
●可聚合性。
地址空间应该尽量划分为层次,以保证聚合性,缩短路由表长度。
同时,对地址的分配要尽量避免地址碎片出现。
●节约性。
地址申请者必须提供完整的书面报告,证明它确实需要这么多地址,同时,应该避免闲置被分配出去的地址。
●公平性。
所有的团体,无论其所处地理位置或所属国家,都具有公平的使用IPv6全球单播地址的权力、
●可扩展性。
考虑到网络的高速增长,必须在一段时间内留给地址申请者足够的地址增长空间,而不需要它频繁的向上一级组织申请新的地址。
[1]
(2)IPv6地址分配策略
目前,IPv6的地址空间管理是按规定的等级结构在全球范围内分配的,即按IANA-区域注册机构RIR-国家注册机构NIR-ISP/本地注册机构LIR-最后用户或ISP的层次结构进行地址分配。
IPv6地址分配有两种策略:
第一种是主机分配策略,在该策略下,上册注册机构将地址划分给下层注册机构进行分配与管理;另一个是指派策略,注册机构直接将地址分配给用户使用。
为了Internet发展的长远利益,IPv6地址空间管理的目标确定为保证世界范围内IP地址的唯一性,统一在注册数据库中注册、尽最大可能保证易聚合、避免空间浪费、分配公平公正及注册管理开销的最小化等。
一般情况下,在IPv6地址分配策略中,聚合的目标被认为是最重要的。
[6]
(3)三种地址规划方案
目前,IPv6地址共有三种地址规划方案:
●根据地理范围进行划分,为在地理上术语统一范围所有子网分配共同的网络前缀。
●根据组织范围进行划分,为属于同一组织的所有团体分配共同的网络前缀。
●根据服务类型进行划分,为预定义好的服务分配特定的网络前缀。
[7]
第三章IPv4与IPv6互连技术的实现
3.1模拟器简介及配置命令基本介绍
在配置IPv4与IPv6互连的实验中,我们使用的是DynamipsGNS3模拟器。
这款模拟器基于硬件模拟的思科路由模拟器,该模拟器可以加载真实的思科路由器的IOS,实验效果和真实的网络环境基本没有区别,它模拟出路由器的硬件环境,然后在这个环境下直接运行思科的IOS,其模拟的真实性几乎可以完成所有的路由配置实验。
在实验配置的过程中,给路由器做配置的过程中我们输入的命令都包括一定的功能,下面我们对一些较常见的命令做简单的介绍:
●en:
enable的缩写,此命令可使操作者进入路由器的全功能模式。
●conft:
configureterminal的缩写,表示从终端执行配置命令。
●nosh:
noshutdown的缩写,此命令取消了路由器的自动关闭功能。
●ipv6unicast-routing:
这条配置语句可以启动路由协议,开启IPv6单播路由功能,一些简单的路由网络的联通都会依靠此命令。
●ipv6nat:
对此命令的当前接口开启NAT-PT转换。
●tunnelmodeipv6ip:
此命令标明配置的隧道模式是IPv6到IPv4。
●ipv6natprefix2001:
:
/96:
这条配置语句声明了IPv6转换报文的前缀长度,例子中的前缀长度即为96。
了解这些简单的配置语句,对理解实验配置会起到很好的帮助作用。
3.2实现局域网内部的IPv6主机互连的实验
在IPv6局域网中,实现IPv6主机的互通是比较简单的一种配置。
本实验使用了两台2691路由器来模拟IPv6主机。
下面是本实验的拓扑图3.1:
图3.1IPv6局域网中IPv6主机互连拓扑图
下面是在路由器上做的配置:
在PC1上的配置:
Router>
Router>en
Router#conft
Router(config)#hoPC1
PC1(config)#intf0/0
PC1(config-if)#ipv6add2000:
:
1/64
PC1(config-if)#nosh
在PC2上做的配置:
Router>
Router>en
Router#conft
Router(config)#hoPC2
PC2(config)#intf0/0
PC2(config-if)#ipv6add2000:
:
2/64
PC2(config-if)#nosh
我们来检验实验结果:
在PC1上pingPC2:
PC1#ping2000:
:
2
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2000:
:
2,timeoutis2seconds:
!
!
!
!
!
Successrateis100percent(5/5),round-tripmin/avg/max=16/41/64ms
在PC2上pingPC1:
PC2#ping2000:
:
1
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2000:
:
1,timeoutis2seconds:
!
!
!
!
!
Successrateis100percent(5/5),round-tripmin/avg/max=16/36/100ms
这表明,在IPv6局域网内两台IPv6主机的互通已经实现。
3.3IPv4与IPv6网络互连的实现
本实验通过隧道技术,来实现IPv4网络与IPv6网络的互连的实现。
隧道机制在现有的IPv4基础设施中配置IPv6时,会以IPv4网络作为传输层,将一个IPv6孤岛内的IPv6主机、路由器等设备通过数据传输给另外一个IPv6孤岛,实现IPv6孤岛间的通信。
采用隧道技术,可以利用现有的IPv4网络,将小的IPv6孤岛合并成大型的IPv6网络,最终通过技术和设备的更新,完成大规模范围内的纯IPv6网络。
本实验所配置的隧道实验环境,由4台Cisco2691路由器来完成。
2台路由器模拟IPv4路由器,另外2台分别模拟两个IPv6孤岛。
本实验的配置拓扑图3.2:
图3.2IPv4与IPv6互连隧道技术拓扑图
在R1上的配置如下:
Router>en
Router#conft
Router(config)#hoR1
R1(config)#intf0/0
R1(config-if)#ipadd192.168.0.1255.255.255.0
R1(config-if)#nosh
R1(config-if)#exi
R1(config)#inttunnel0
R1(config-if)#ipv6add2000:
:
1/64
R1(config-if)#tunnelsource192.168.0.1
R1(config-if)#tunneldestination192.168.0.2
R1(config-if)#tunnelmodeipv6ip
R1(config-if)#exi
R1(config)#intlo0
R1(config-if)#ipv6add2001:
:
1/64
R1(config-if)#exi
R1(config)#ipv6unicast-routing
R1(config)#ipv6route2002:
:
/64tunnel0
在R2上的配置如下:
Router>en
Router#conft
Router(config)#hoR2
R2(config)#intf0/0
R2(config-if)#ipadd192.168.0.2255.255.255.0
R2(config-if)#nosh
R2(config-if)#exi
R2(config)#inttunnel1
R2(config-if)#ipv6add2000:
:
2/64
R2(config-if)#tunnelsource192.168.0.2
R2(config-if)#tunneldestination192.168.0.1
R2(config-if)#tunnelmodeipv6ip
R2(config-if)#exi
R2(config)#intlo0
R2(config-if)#ipv6add2002:
:
2/64
R2(config-if)#exi
R2(config)#ipv6unicast-routing
R2(config)#ipv6route2001:
:
/64tunnel1
配置完成,检验结果.
在R1上pingIPv6孤岛2002:
:
2,结果如下:
R1>ping2002:
:
2
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2002:
:
2,timeoutis2seconds:
!
!
!
!
!
Successrateis100percent(5/5),round-tripmin/avg/max=72/104/172ms
在R2上ping另一个IPv6孤岛2001:
:
1,结果如下:
R2#ping2001:
:
1
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2001:
:
1,timeoutis2seconds:
!
!
!
!
!
Successrateis100percent(5/5),round-tripmin/avg/max=84/112/160ms
隧道配置的过程并不是很复杂,但要求在每个路由器上都配置隧道的目的地址,同时每两个路由器之间都需要建立一个隧道机制,这个配置工作量比较大,只适用于小型网络。
3.46to4隧道配置
6to4隧道的配置与配置隧道不同,6to4隧道的目的地址不需要配置,而是由IPv6地址转化生成。
在运行过程中,在6to4站点内,IPv6主机在请求通过域名访问6to4站点内的其他IPv6主机时,访问方的主机会优先选择带有6to4前缀的IPv6地址发送一个数据包到最近的一个路由器,依此步骤,直至到达目的站点旁的路由器。
下面将配置一个6to4隧道的实验,由4台Cisco2691路由器来完成。
2台路由器模拟IPv4路由器,另外2台模拟IPv6站点。
6to4隧道实验的拓扑图如图4.3:
图4.36to4隧道实现IPv4/IPv6互连拓扑图
在R1上的配置如下:
Router>en
Router#conft
Router(config)#hoR1
R1(config)#intf0/0
R1(config-if)#ipadd192.168.0.1255.255.255.0
R1(config-if)#nosh
R1(config-if)#exi
R1(config)#intlo0
R1(config-if)#ipv6add2002:
c0a8:
1:
:
1/64
R1(config-if)#inttunnel0
R1(config-if)#tunnelsource192.168.0.1
R1(config-if)#ipv6unnumberedlo0
R1(config-if)#tunnelmodeipv6ip6to4
R1(config-if)#exi
R1(config)#ipv6unicast-routing
R1(config)#ipv6route2002:
:
/16tunnel0
在R2上配置如下:
Router>en
Router#conft
Router(config)#hoR2
R2(config)#intf0/0
R2(config-if)#ipadd192.168.0.2255.255.255.0
R2(config-if)#nosh
R2(config-if)#exi
R2(config)#intlo0
R2(config-if)#ipv6add2002:
c0a8:
2:
:
2/64
R2(config-if)#inttunnel0
R2(config-if)#tunnelsource192.168.0.2
R2(config-if)#ipv6unnumberedlo0
R2(config-if)#tunnelmodeipv6ip6to4
R2(config-if)#exi
R2(config)#ipv6unicast-routing
R2(config)#ipv6route2002:
:
/16tunnel0
配置完成,检验配置。
在R1上ping2002:
c0a8:
2:
:
2,结果如下:
R1#ping2002:
c0a8:
2:
:
2
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2002:
C0A8:
2:
:
2,timeoutis2seconds:
!
!
!
!
!
Successrateis100percent(5/5),round-tripmin/avg/max=92/120/156m
在R2上ping2002:
c0a8:
1:
:
1,结果如下:
R2#ping2002:
c0a8:
1:
:
1
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto2002:
C0A8:
1:
:
1,timeoutis2seconds:
.!
!
!
!
Successrateis80percent(4/5),round-tripmin/avg/max=84/109/136ms
数据包发送接收显示正常,6to4隧道建立完成。
3.5IPv6网络NAT-PT动态映射实验配置
本实验配置了NAT-PT技术来进行IPv4与IPv6的转换,NAT-PT将协议进行翻译,作为通信的中间设备,使IPv4与IPv6站点间可以相互通信。
实验中使用三个2691路由器,连接另外两台路由器的中间路由器模拟NAT设备,实现网关转换。
图3.4是本实验的拓扑图:
图3.4NAT-PT实验拓扑图
在IPv4网络上配置如下:
Router>en
Router#conft
Router(config)#ints0/0
Router(config-if)#ipadd192.168.0.2255.255.255.0
Router(config-if)#nosh
Router(config-if)#exit
Router(config)#iproute0.0.0.00.0.0.0192.168.0.1
在IPv6网络上配置如下:
Router>en
Router#conft
Router(config)#ints0/1
Router(config-if)#ipv6add2000:
:
2/64
Router(config-if)#nosh
Router(config-if)#exit
Router(config)#ipv6route:
:
/02000:
:
1
Router(config)#ipv6unicast-routing
在NAT上配置如下:
Router>en
Router#conft
Router(config)#ints0/1
Router(config-if)#ipv6add2000:
:
1/64
Router(config-if)#nosh
Router(config-if)#ipv6nat
Router(config-if)#exi
Router(config)#ints0/0
Router(config-if)#ipadd192.168.0.1255.255.255.0
Router(config-if)#nosh
Router(config-if)#ipv6nat
Router(config-if)#exi
Router(config)#ipv6natv4v6source192.168.0.22001:
:
1
Router(config)#ipv6natv6v4source2000:
:
2192.168.1.1
Router(config)#ipv6natprefix2001:
:
/96
Router(config)#ipv6unicast-routing
至此配置工作完成,下面来检验配置结果:
在IPv4网络上尝试ping192.168.1.1
Router#ping192.168.1.1
Typeescapesequencetoabort.
Sending5,100-byteICMPEchosto192.168.1.1,timeoutis2seconds:
.!
!
!
!
Successrateis60percen