基于GNS3实现IPv6过渡

更新时间:2024-05-27 21:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

湘潭大学 毕业设计说明书

题目:基于GNS3实现IPv4到IPv6过渡

学院: 信息工程 专业:网络工程 学号:2009551400 姓名: 指导教师:

完成日期:2013.05

湘潭大学

毕业论文(设计)任务书

论文(设计)题目:基于GNS3实现IPv4向IPv6过渡

学号:姓名:专业:网络工程 指导教师:系主任:

一、主要内容及基本要求

GNS3是一款优秀的具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。通过加载Cisco路由器IOS,能够实现Cisco路由器的功能。也能够结合VirtualBox,加载虚拟主机。还集成了抓包工具等。GNS3能够模拟一个比较完备的虚拟网络环境,提供了一个类似真实网络环境的平台。

设计的主要内容通过在GNS3环境下,模拟一个现实中的IPv6和IPv4网络环境,网络环境涉及IPv4 Internet、IPv4单协议网络、IPv6单协议网络、IPv4与IPv6共存的混合网络。通过一定的策略,使得几种网络能够共存互通。

设计要求能够实现被IPv4 Internet隔离的IPv6单协议网络之间能够通信并且能正常访问对方网络资源,IPv6单协议主机和IPv4单协议主机之间能互通且能实现资源共享。 如有多种过渡策略方式,能够对它们的差异。

二、重点研究的问题

设计重点研究基于一个没有运营商提供可行过渡解决方案前提下,一般企业如何利用现有资源以及现有方案重新组合实施过渡计划,以及方案的可行性。核心问题寻找可行渡策略使得IPv6网络之间、IPv6与IPv4网络之间能够共享资源。为了能够实现过渡,还要研究IPv6与IPv4地址的不同与路由协议的差异及实现策略的路由协议选择和配置。如有多种方案,还要研究各种方案间的优劣。

三、进度安排

序号 1 2 3 4 5 6 7 8

各阶段完成的内容 资料查找 搭建GNS3环境及拟定IPv6过渡方案 基于GNS3实现过渡方案 方案测试 论文初稿 论文修改 定稿 答辩 完成时间 2012.12.24 2013.01.20 2013.04.10 2013.04.20 2013.05.01 2013.05.20 2013.05.24 2013.05.25 四、应收集的资料及主要参考文献

[1] [美]Joseph Davies.深入解析IPv6(第二版).人民邮电出版社.2009.6. [2] 杨国良,李阳春,伍佑明等.IPv6技术、部署与业务应用.人民邮电出版社.2011.6. [3] [加]Régis Desmeules .Cisco IPv6 网络实现技术.人民邮电出版社.2004.1. [4] [美]Ciprian Popvicu,Eric Levy-Abegnoli. 部署IPv6网络.人民邮电出版社.2007.1. [5] IETF.ORG www.ietf.org/rfc/4966.txt等文档. [6] H3C通信技术有限公司. IPv6过渡技术.2012.1. [7] H3C通信技术有限公司. IPv6部署方案.2012.1. [8] H3C通信技术有限公司. 园区网IPv6过渡部署技术.2012.1. [9] 王相林.IPv6 核心技术[M].北京科技出版社.2009.1-20. [10] 李振强,赵晓宇,马严.IPv6 技术揭秘[M].北京人民邮电出版社.2006.1-15. [11] Cisco system,Inc. Cisco IOS NAT-PT for IPv6.2003.5. [12] Cisco system,Inc. NAT64 Technology Connecting IPv6 and IPv4 Networks.2012.5. [13] Cisco system,Inc. IPv6 Tunnel through an IPv4 Network.2006.8.

湘潭大学

毕业论文(设计)评阅表

学号姓名专业网络工程

毕业论文(设计)题目:基于GNS3实现IPv4向IPv6过渡 评价项目 选题 综合训练的目的; 2.难度、份量是否适当; 3.是否与生产、科研、社会等实际相结合。 能力 1.是否有查阅文献、综合归纳资料的能力; 2.是否有综合运用知识的能力; 3.是否具备研究方案的设计能力、研究方法和手段的运用能力; 4.是否具备一定的外文与计算机应用能力; 5.工科是否有经济分析能力。 论文 质量 综 合 评 价 1.立论是否正确,论述是否充分,结构是否严谨合理;实验是否正确,设计、计算、分析处理是否科学;技术用语是否准确,符号是否统一,图表2.文字是否通顺,有无观点提炼,综合概括能力如何; 3.有无理论价值或实际应用价值,有无创新之处。 该毕业设计选题符合培养目标,能达到综合训练的目的,难度与工作量适当。 该生具有一定的查阅文献、综合运用科学知识的能力;也具有一定的分析问题解决问题的能力。 该毕业设计说明书结构基本合理,实验基本正确,用语基本准确,符号基本统一,引文基本规范,文字较为通顺。 有一定的创新之处。 评阅人: 年月日

评价内容 1.是否符合培养目标,体现学科、专业特点和教学计划的基本要求,达到(设计)图纸是否完备、整洁、正确,引文是否规范; 湘潭大学

毕业论文(设计)鉴定意见

学号:姓名:专业:

毕业论文(设计说明书)54页图表41张 论文(设计)题目:基于GNS3实现IPv4向IPv6过渡 内容提要: 本设计在基于GNS3虚拟平台上,搭建虚拟网络环境,进行IPv6过渡模拟。设计中使用了 提出多年的6to4隧道技术以及经个人整合过的NAT-PT转换技术和IETF最新提出的NAT64转 换技术。通过几种技术的组合使用,基本实现了跨IPv4网络的IPv6单协议主机之间的通信,IPv6 单协议主机与IPv4单协议主机的相互通信。通过处于不同网络间的主机访问对方服务器,测试 了FTP、SSH、HTTP、HTTPS等应用层协议并间接测试了传输层协议的可行性与兼容性,还 通过测试使用SSH协议的数据传输速度对比了NAT-PT与NAT64技术的在性能方面的差异。

指导教师评语 该同学通过本次毕业设计,基本完成了“基于GNS3实现IPv4到IPv6过渡”的实验。具体过程中,体现了该生具有一定的分析问题解决问题的能力。 该文选题符合符合专业培养目标,能够达到综合训练的目标。论文思路比较清晰,方法比较恰当,是一篇合格的论文。 该生态度端正,学习认真,时间安排合理,同意其参加答辩,建议成绩为“良”。 指导教师: 年月日 答辩简要情况及评语 答辩小组组长: 年月日 答辩委员会意见 答辩委员会主任: 年月日

目录

摘要 ........................................................................................................................................... 1 Abstrct ..................................................................................................................................... 2 第一章绪论 ............................................................................................................................. 3

1.1

问题概述 ................................................................................................................... 3 1.1.1 1.1.2 1.1.3 1.2

1.2.1 1.2.2 1.3 2.1 2.2

问题来源 ........................................................................................................ 3 目的与意义 .................................................................................................... 3 国际国内研究状况 ........................................................................................ 3 主要解决问题 ................................................................................................ 4 思路与方法 .................................................................................................... 4

研究问题剖析 ........................................................................................................... 4

说明书结构 ............................................................................................................... 4 IPv6地址特点 .......................................................................................................... 5 IPv6编址 .................................................................................................................. 5 2.2.1 2.2.2 2.2.3

IPv6包头 ........................................................................................................ 5 IPv6地址表示 ................................................................................................ 6 IPv6中的协议 ................................................................................................ 6

第二章 IPv6介绍................................................................................................................. 5

2.3 2.4

静态IPv6路由 ......................................................................................................... 7 IPv6内部网关协议 .................................................................................................. 7 2.4.1 2.4.2

下一代路由信息协议(RIPng) .................................................................. 7 OSPFv3 ........................................................................................................... 8

第三章 IPv6过渡技术 ....................................................................................................... 9

3.1 3.2 3.3

概述 ........................................................................................................................... 9 IPv6/IPv4 双协议栈 ................................................................................................ 9 隧道技术 ................................................................................................................. 10 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.4

IPv6手工配置隧道 ...................................................................................... 10 6to4自动隧道 .............................................................................................. 11 ISATAP隧道 ................................................................................................ 12 IPv6 over IPv4 GRE隧道 ............................................................................ 13 6PE ............................................................................................................... 13

IPv6与IPv4互通技术........................................................................................... 14

I

3.4.1 3.4.2 4.1 4.2 4.3 4.4 4.5

NAT-PT ......................................................................................................... 14 NAT64与DNS64 ........................................................................................ 16

第四章项目环境及方案设计 .......................................................................................... 18

GNS3模拟器 .......................................................................................................... 18 Cisco路由器........................................................................................................... 21 可行性分析 ............................................................................................................. 21 IPv6过渡问题 ........................................................................................................ 21 解决方案 ................................................................................................................. 22 4.5.1 4.5.2 4.5.3 5.1 5.2

隧道技术选择 .............................................................................................. 22 转换技术选择 .............................................................................................. 22 一种新的组合转换技术 .............................................................................. 23

第五章详细设计 ................................................................................................................. 25

实验环境搭建 ......................................................................................................... 25 流量分析 ................................................................................................................. 26 5.2.1 5.2.2 5.3

5.3.1 5.3.2 5.3.3 5.3.4 6.1

6to4流量 ...................................................................................................... 26 IPv6主机与IPv4主机互通 ........................................................................ 27 ―伪NAT64‖兼6to4中继网关配置 ............................................................. 28 公共6to4中继配置 ..................................................................................... 30 NAT64网关兼6to4中继配置 .................................................................... 31 DNS64配置 ................................................................................................. 34

配置网络 ................................................................................................................. 28

第六章测试 ........................................................................................................................... 36

网络层测试 ............................................................................................................. 36 6.1.1 6.1.2 6.2

6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.4

6to4隧道测试 .............................................................................................. 36 翻译网关测试 .............................................................................................. 36 DNS测试 ..................................................................................................... 37 FTP测试 ...................................................................................................... 38 SSH(SFTP)测试 ........................................................................................... 39 HTTP测试 ................................................................................................... 39 HTTPS测试 ................................................................................................. 40

传输层及应用层测试 ............................................................................................. 37

传输性能测试 ......................................................................................................... 41 NAT64与“伪NAT64”对比 ............................................................................... 41

方案评价 ............................................................................................................................... 44

II

总结与展望 ........................................................................................................................... 45 致谢 ......................................................................................................................................... 46 参考文献 ............................................................................................................................... 47 附录1:BIND9 ................................................................................................................... 48 附录2:Ecdysis .................................................................................................................. 51 附录3:TAYGA ................................................................................................................. 53

III

基于GNS3实现IPv4向IPv6过渡

摘要:目前IPv4地址已经全部分配完毕,对于新增的IP地址需求已经不能满足。急需用另一

个替代办法解决地址短缺问题。多年前,考虑到此问题,IPv6就已经应运而生。 IPv6采用128位地址长度,几乎可以不受限制地提供地址,暂时解决了地址短缺问题,并且考虑了在IPv4中解决不好的其他问题,主要有端到端IP连接、服务质量(Qos)、安全性、多播、移动性、即插即用等,因此受到越来越多的关注。目前国际和国内都建立了众多的IPv6实验网,IPv6将成为未来的第三层协议已经成为人们的共识。

但现在部署IPv6网络时,首先面对的就是如何实现IPv6网络与IPv4网络的兼容,流量的互通。虽然有多种IETF推荐的方案,但各种方案使用范围不同,而且有些方案因存在严重弊端而不再适用。加之许多现有设备不支持最新过渡方案或者是设备升级开销较大,使得部署IPv6网络非常困难。

本设计在GNS3模拟器上搭建了一个模拟网络环境,部署了几个IPv6网络和一个Internet。设计混合使用了6to4隧道技术、NAT-PT和最新的NAT64技术,实现了IPv6网络跨IPv4 Internet互联,IPv6网络和IPv4网络互通,并实现了部分应用层服务,如HTTP、FTP等。通过此设计,希望能够对想部署IPv6网络但没有运营商提供过渡解决方案的企业提供一个参考。

关键词:IPv6过渡、6to4、NAT-PT、NAT64

1

IPv4 ToIPv6 Transition Implementation Based On The GNS3

Abstrct:IPv4 addresses have been allocated out now, it already can't satisfy for the IP address of the new requirements. Urgently need to use another alternative solution to solve the problem of shortage of address. Many years ago, considering this problem, IPv6 was arises at the historic moment. IPv6 uses 128-bit address length,which is almost not restricted toprovide addresses, is temporarily solved address shortage, and has consideredmany other bad problems which are being solved in IPv4, mainly including end-to-end IP connection, quality of service (Qos), security, multicast, mobility, plug and play, and so on.So ,it have attracted the growing attention. At present,numerousinternational and domestic agencies have established many IPv6 trials network.It becomes consensusof people that IPv6 will be the the third layer protocol.

When deploying IPv6 network, the first problem we meet is how to achieve the compatibility of IPv6 network and IPv4 network, and the interoperability of flow. Although there are a variety of IETF recommended solutions, the scope of usage is different, andsome solutions are no longer applicable due to the existence of serious shortcomings,combined with many existing devices do not support the latest solutions or equipment upgrades overhead, makes it difficult to deploy IPv6 network.

This design set up a simulated network environmentdepends on the GNS3 simulator,deploys several IPv6 networks and an Internet. This design mixs 6to4 tunnel technology, NAT-PT and the latest technologyNAT64, has realized the IPv6 networks connectone another across the IPv4 Internet, IPv6 network and IPv4 network communication, and deployedsome application layer services, such as HTTP, FTP, etc. With this design, we want to provide a reference to the companies which attempt to establish IPv6 networks without ISP provide transitional solutions.

Key words:IPv6 transition,6to4 tunnel,NAT-PT,NAT64

2

第一章绪论

1.1 问题概述 1.1.1 问题来源

IPv4地址已经于2011年2月3日分配完毕,全球再无可用IPv4地址分配。IP地址短缺是目前互联网面临的一大问题。虽然使用分配临时IPv4地址或网络地址翻译(NAT)等地址使用技术,在暂时缓解了IPv4地址不足的状况。IPv6是新一代的网络协议,采用128位地址格式,地址空间巨大,能够彻底解决IPv4地址不足问题。经过十几年的研究、实验和产业推动,IPv6目前已经走到商用部署阶段。

IPv6与IPv4不兼容,因此在当前IPv4占主导的网络环境下,IPv4向IPv6的平滑过渡成为IPv6能否成功的关键。终端/主机是地址消耗的主要部分,终端/主机(或者说接入网)采用什么样的技术方案进行过渡将导致需要不同的IPv6过渡技术。目前IETF等标准化组织正在讨论的过渡技术也集中在终端主机的过渡技术方面。 1.1.2 目的与意义

本设计意在探究在目前已有的IPv6过渡方案中,哪些技术比较符合在没有服务提供商(ISP)提供IPv6过渡解决方案时适合企业部署IPv6网络,能够实现IPv6网络间和IPv6网络与IPv4网络间的互联。并为想部署IPv6网络的企业提供一个示范。 1.1.3 国际国内研究状况

IETF制定IPv6协议,同时也制定了一些过渡技术。早期技术主要有手工隧道、6to4隧道、ISATAP隧道等隧道技术,SIIT、NAT-PT等翻译技术。随着各种IPv6实验网和商用网的建立,也随之出现了一些新的技术。由法国运营商FREE提出的6RD(快速部署),现已成为IETF 标准,FREE采用该方案在5周内为超过150万户居民提供了IPv6服务。思科公司进一步改进与扩展了6RD,目前已形成提案标准。美国的Comcast提出了DS-lite(Dual-Stack Lite)技术。DS-lite是一种IPv4-in-IPv6隧道技术,可实现在IPv6-only接入网环境下,双栈或IPv4-only主机访问IPv4网络资源。法国电信、Nokia、IIJ等公司提出了A+P(Address+PortRange)过渡方案。A+P是一种地址共享的方案,它的主要思想是:将同一个全球公共IPv4地址分配给多个用户使用,同时限制每个用户可用的源端口范围。由UC3M、阿尔卡特朗讯和IMDEA网络公司提出了一种基于翻译的过渡方案——NAT64,目前已成为IETF替代NAT-PT的推荐标准。NAT64主要解决在IPv6接入网环境下,IPv6单协议终端可以访问IPv4单协议业务。在国内,中国移动提出了PNAT(Prefix NAT)翻译技术。该技术实现了在纯IPv6或双栈承载网环境下,老的IPv4应用仍能正常通信,对底层网络环境可以不感知。清华大学李星教授提出了基于翻译的过渡技术IVI方案。它的主要思想是运营商保留一段IPv4地址(称为IVI4地址)将其唯一映射为一段特殊的IPv6地址(称为IVI6地址),可以实现这部分地址的无状态转换。

3

获得IVI6地址的用户可以直接访问全球IPv6网络,通过IVI网关翻译器可将地址转换IVI4地址,可以和全球IPv4网络通信,实现IPv4和IPv6的互访。除此之外,一些更新的技术还在不断涌现。

1.2 研究问题剖析

1.2.1 主要解决问题

孤立IPv6网络运行没有多少意义,互联网环境下,就是要实现资源共享。互联网络间应能够无障碍流畅互通。部署IPv6网络,首要解决的就是IPv6流量如何通过IPv4网络,其次就是IPv6网络如何与IPv4网络实现互通。在无运营商提供IPv6过渡解决方案下,如何由企业自身完成IPv6网络的部署并能够与其他网络共享资源,主要几个问题要考虑:

投入成本。许多企业并非不愿意部署IPv6网络,而是部署成本高。一些新的好的技术固然好,但需要购置新的设备。这些设备价格不菲,而且还会混造成现有设备资源用不上场的浪费。理想情况下,只需要升级少量或者是不升级现有设备就能够部署合适的IPv6网络。对于过度策略的选择最好根据当前设备支持程度选择合适的方案。

网络规模及业务范围。不同网络规模对于网络设备性能要求很高,有些过渡技术因先天缺陷会使得网络性能较差。业务范围可以决定选用过渡策略是使用仅面向IPv6网络还是同时面向IPv4与IPv6网络。因IPv6过渡有诸多限制,这些因素选择都会使得网络性能变化很大。

上层业务可行性。虽然IPv6是网络层,但同样影响上层业务。支持IPv4的业务并不一定支持IPv6业务。所以,对于建立的IPv6网络,要测试其上层业务的可行性。

IPv6与IPv4互通技术是目前IPv6过渡最大难题之一。此设计关键点就是解决互通难题。

1.2.2 思路与方法

借助GNS3模拟器,构造一个虚拟互联网络,部署若干IPv6网络。尽量考虑以多数企业状况为原模型。使用已有的几种过渡技术组合使用,并尝试修改现有技术以满足新需求或者是弥补不足。首先实现网络层互相通信,然后部署一些常有的服务器,测试可行性。比较几种方案的优劣。

1.3 说明书结构

第一章为绪论,主要讲述问题来源及现阶段过渡技术的研究现状。第二章讲述IPv6基本知识,包括IPv6路由等,对IPv6进行简要了解。第三章详细阐述了目前的几种重要的IPv6过渡技术。第四章章介绍GNS3以、实验设备和过渡方案的选择。第五章对详细设计实现方案,主要是方案的部署配置。第六章对方案进行测试。第七章评测方案。

4

第二章 IPv6介绍

2.1 IPv6地址特点

IPv6一个显著特点就是128比特长度地址直接增大了可使用的地址空间;同时IPv6的大地址空间使得几乎每种设备都有一个全球的、可达的地址;IPv6可以在地址空间内使用等级层次结构的层次化编址;IPv6还增加了自动配置功能,持全球惟一性的同时自动配置设备上的地址;相比于IPv4,IPv6简化了包头格式,提高了性能;IPv6使用扩展包头管理包头中的可选信息,而不是像IPv4在包头结尾使用选项字段;IPv6的每种实现中都包含IPSec,使得IPv6具有潜在的端到端安全性。

2.2 IPv6编址

2.2.1 IPv6包头 (1) 基本IPv6包头

图2-1 IPv6基本包头格式

在IPv6中,包头以64位为单位,且包头的总长度是40字节。IPv6协议为对其包头定义了版本、流量类型、流标签、净荷长度、下一个头部、跳数限制、源IPv6地址、目的IPv6地址字段,如图2-1。 (2) IPv6扩展包头

图2-2 IPv6扩展包头

IPv6扩展包头是可能跟在基本IPv6包头后面的可选包头。一个IPv6数据包可能包

5

括0个、1个或多个扩展包头。如图2-2所示,当IPv6数据包使用多个扩展包头时,通过前面包头的下一个包头字段指明扩展包头而形成连接的包头列表。 2.2.2 IPv6地址表示

使用32位十六进制字符表示一个IPv6地址,每4位十六进制数为一段,分为8段。段间使用―:‖分隔。

在IPv6中,常常见到包含一长串0的地址,为了方便书写,在IPv6地址的连续16比特为0和16比特字段中的前导为0时,使用一种特定的语法压缩连续的0。当连续的16比特为0时,用―::‖表示这些字段的0。但IPv6中只允许一个―::‖。该方法表示一个IPv6地址可能有多种表示方法。当16比特有前导0时,可以去掉前导0。 2.2.3 IPv6中的协议 (1) ICMPv6

ICMPv6向源节点报告关于向目的地传输IPv6数据包的错误和信息。

ICMPv6协议号为58。如图2-3,这个协议号被用在基于IPv6报头的下一个包头字段中,指示这是一个ICMPv6数据包。IPv6认为ICMPv6数据包是一个上层协议,它必须放在IPv6数据包所有扩展包头之后。

图2-3 ICMPv6格式

(2) PMTUD

PMTUD(路径MTU发现)的主要目的是发现路径上的MTU,当数据包发向目的地时避免分段。仅当路径MTU比传送的数据包小时源节点自己才可以对数据包分段。强烈建议IPv6节点实现IPv6 PMTUD以避免分段。 (3) 邻居发现协议(NDP)

邻居发现协议(NDP)是IPv6中的一个关键协议。NDP主要用来替代ARP、无状态自动配置和路由器重定向。 (4) 无状态自动配置

无状态自动配置是IPv6最有吸引力和最有用的新特征之一。它允许本地链路上的

6

节点根据路由器在本地链路上公告信息自己配制单播IPv6地址。

无状态自动配置涉及前缀公告、DAD(重复地址检测)、前缀重编码等几种机制。

2.3 静态IPv6路由

IPv6静态路由是手工添加到路由器配置中。IPv6静态路由配置命令如下: Router(config)# ipv6 routeipv6-prefix/prefix-length { next-hop|interface} {distance} ipv6-prefix参数是目的IPv6网络;prefix-length是给定的IPv6网络前缀;next-hop是用来达到目的IPv6网络的一个IPv6地址;interface用来指示静态路由的输出接口,如串行链路或隧道;distance是可选参数,设定管理距离,默认情况下,静态路由管理距离为1。

IPv6默认路由配置:

Router(config)#ipv6 route ::/0 { next-hop|interface}

2.4 IPv6内部网关协议

2.4.1 下一代路由信息协议(RIPng)

RIPng基于UDP的协议,使用UDP的521端口上发送和接收数据报,每隔30秒向所有邻居发送表更新信息,使用多播地址FF02::9。RIPng不是按子网运行,不像IPv4 RIP,RIPng基于接口,需要在接口上使用enable命令激活。

在Cisco路由器上启用RIPng,在全局配置模式下使用命令―ipv6 router rip‖在路由器上定义一个RIPng进程。tag参数来标识一个特定的RIPng进程。

Router(config)# ipv6 router rip tag

一旦在路由器上定义了一个RIPng进程,就可以配置RIPng。表2-1是一些ipv6 rip tag子命令。

表2-1RIPng部分命令 命令 enable default-information originate default-information only 描述 在接口上启用RIPng。 产生一条默认路由(::/0)并在RIPng更新中发送。 在RIP中产生一条IPv6默认路由(::/0)。这条命令只发送默认的IPv6路由,并禁止发送任何其他IPv6路由。 聚合IPv6路由。 summary-address ipv6-prefix/prefix-length 在接口下启用RIPng如下: Router(config)#interface ethernet0

Router(config-if)#ipv6 address 2001::1/64 Router(config-if)#ipv6 rip tag enable

7

在每个接口基础上,可以更改一些信息和参数,如RIPng再发布、毒性逆转、水平分割等。

可以用show ipv6 rip查看RIPng进程。show ipv6 route rip查看RIPng路由信息。show ipv6 rip database查看RIPng数据库。 2.4.2 OSPFv3

OSPFv3扩展OSPF以支持IPv6已被OSPFv2所使用的机制,如洪泛、DR选举、区域支持、SPF算法等仍对OSPFv3可用。但是IPv4 和IPv6之间协议语义和地址格式发生了变化,导致OSPFv3相比OSPFv2变化很大。OSPFv3进程运行在链路上,而不像OSPFv2进程那样运行在子网上;路由器ID使用32比特,如果没有配置IPv4地址,必须设定路由器ID;链路ID仍然是32位,OSPFv3使用本地链路地址标识OSPFv3邻接的邻居;新的LSA类型——本链路范围(link-local scope),LSA仅在本链路范围内传播。

在Cisco路由器配置OSPFv3时注意有两点改变:

a) 网络区命令——标识OSPFv3网络部分的IPv6网络的方法不同于OSPFv2配置。

不同于OSPFv2 network area 命令,OSPFv3在接口使用命令ipv6 ospf process-idarea area-id指明OSPFv3网络的组成。

b) 基本的IPv6路由模式——OSPFv3配置不是router ospf命令的子命令模式。对

于其他的路由选择协议,如BGP4+和IPv6 IS-IS,可以讲路由器置于地址簇ipv6配置子命令模式以配置IPv6的特定参数。

表2-2OSPF部分命令 命令 ipv6 router ospf process-id router-id router-id area area-id range ipv6-prefix /prefix-length ipv6 ospf process-id area area-id 描述 激活OSPFv3路由协议,并且进入路由配置模式。 配置运行OSPFv3协议的路由交换机的Router ID。 聚合匹配ipv6-prefix/prefix-length的IPv6网络。 在接口上指定接口IPv6前缀为OSPFv3网络组成部分

8

第三章 IPv6过渡技术

3.1 概述

当前大量的网络是IPv4网络,随着IPv6的部署,很长一段时间是IPv4与IPv6共存的过渡阶段。IPv6的过渡划分为三个阶段:IPv6发展初期、IPv6与IPv4共存、IPv6主导阶段。

图3-1 IPv6过渡阶段

向IPv6 的过渡阶段所采用的过渡技术主要包括:IPv6/IPv4双栈技术、隧道技术、IPv4/IPv6协议转换技术。

3.2 IPv6/IPv4 双协议栈

双栈技术是IPv4向IPv6过渡的一种有效的技术。网络中的节点同时支持IPv4和IPv6协议栈,源节点根据目的节点的不同选用不同的协议栈,而网络设备根据报文的协议类型选择不同的协议栈进行处理和转发。

图3-2双栈节点示意图

双栈节点具有三种工作模式:只运行IPv6协议,表现为IPv6节点;只运行IPv4协议,表现为IPv4节点;双栈模式,同时打开IPv6和IPv4协议。双栈技术是IPv4向IPv6

9

过渡的基础,所有其它的过渡技术都以此为基础。

3.3 隧道技术

隧道(tunnel)是指一种协议封装到另外一种协议中的技术。隧道技术只要求隧道两端的设备支持两种协议。IPv6穿越IPv4隧道技术利用现有的IPv4网络为互相独立的IPv6网络提供连通性,IPv6报文被封装在IPv4报文中穿越IPv4网络,实现IPv6报文的透明传输。

图3-3IPv6穿越IPv4隧道

这种技术的优点是,不用把所有的设备都升级为双栈,只要求IPv4/IPv6网络的边缘设备实现双栈和隧道功能。除边缘节点外,其它节点不需要支持双协议栈。可以大大利用现有的IPv4网络投资。IPv6网络边缘设备收到IPv6网络的IPv6报文后,将IPv6报文封装在IPv4报文中,成为一个IPv4报文,在IPv4网络中传输到目的IPv6网络的边缘设备后,解封装去掉外部IPv4头,恢复原来的IPv6报文,进行IPv6转发。

用于 IPv6穿越IPv4网络的隧道技术主要有:IPv6手工配置隧道、6to4自动隧道、ISATAP自动隧道、IPv6 over IPv4 GRE隧道、6PE隧道等。 3.3.1 IPv6手工配置隧道

IPv6手工配置隧道的源和目的地址是手工指定的,它提供了一个点到点的连接。IPv6 手工配置隧道可以建立在两个边界路由器之间为被IPv4网络分离的IPv6网络提供稳定的连接,或建立在终端系统与边界路由器之间为终端系统访问IPv6网络提供连接。隧道的端点设备必须支持IPv6/IPv4双协议栈。其它设备只需实现单协议栈即可。

IPv6手工配置隧道要求在设备上手工配置隧道的源地址和目的地址,如果一个边界设备要与多个设备建立手工隧道,就需要在设备上配置多个隧道。所以手工隧道通常用于两个边界路由器之间,为两个IPv6网络提供连接。一个手工隧道在设备上以一个虚接口存在,从IPv6侧收到一个IPv6报文后,根据IPv6报文的目的地址查找IPv6转发表,如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源端和目的端的IPv4地址进行封装。封装后的报文变成一个IPv4报文,交给IPv4协议栈处理。报文通过IPv4网络转发到隧道的终点。隧道终点收到一个隧道协议报文后,进行隧道解

10

封装。并将解封装后的报文交给IPv6协议栈处理。

一个设备上不能配置两个隧道源和目的都相同的IPv6手工隧道。 3.3.2 6to4自动隧道

6to4隧道也属于一种自动隧道,隧道也是使用内嵌在IPv6地址中的IPv4地址建立的。与IPv4兼容自动隧道不同,6to4自动隧道支持Router到Router、Host到Router、Router 到Host、Host到Host。这是因为6to4地址是用IPv4地址做为网络标识,其地址格式:2002:a.b.c.d:xxxx:xxxx:xxxx:xxxx:xxxx。

通过6to4自动隧道,可以让孤立的IPv6网络之间通过IPv4网络连接起来。6to4自动隧道是通过Tunnel虚接口实现的,6to4隧道入口的IPv4地址手工指定,隧道的目的地址根据通过隧道转发的报文来决定。如果IPv6报文的目的地址是6to4地址,则从报文的目的地址中提取出IPv4地址做为隧道的目的地址;如果IPv6报文的目的地址不是6to4地址,但下一跳是6to4地址,则从下一跳地址中取出IPv4地址做为隧道的目的地址。后者也称为6to4中继。

IPv6报文在到达边界路由器后,根据报文的IPv6目的地址查找转发表,如果出接口是6to4自动隧道的Tunnel虚接口,且报文的目的地址是6to4地址或下一跳是6to4地址,则从6to4地址中取出IPv4地址做为隧道报文的目的地址,隧道报文的源地址是Tunnel 接口上配置的。

图3-46to4隧道组网图

图3-56to4中继组网示意图

随着IPv6网络的发展,普通IPv6网络需要与6to4网络通过IPv4网络互通,这可以通过6to4中继路由器方式实现。所谓6to4中继,就是通过6to4隧道转发的IPv6报文

11

的目的地址不是6to4地址,但转发的下一跳是6to4地址,该下一跳为6to4中继。隧道的IPv4目的地址从下一跳的6to4地址中获得。如图3-5所示。

如果6to4网络2中的主机要与IPv6网络互通,在其边界路由器上配置路由指向的下一跳为6to4中继路由器的6to4 地址,中继路由器的6to4地址是与中继路由器的6to4隧道的源地址相匹配的。6to4网络2中去往普通IPv6网络的报文都会按照路由表指示的下一跳发送到6to4中继路由器。6to4中继路由器再将此报文转发到纯IPv6网络中去。当报文返回时,6to4中继路由器根据返回报文的目的地址(为6to4地址)进行IPv4报文头封装,数据就能够顺利到达6to4网络中了。 3.3.3 ISATAP隧道

ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)是另外一种IPv6 自动隧道技术。与6to4地址类似,ISATAP地址中也内嵌了IPv4地址,它的隧道封装也是根据此内嵌IPv4地址来进行的,只是两种地址格式不同。6to4是使用IPv4地址做为网络ID,而ISATAP用IPv4地址做为接口ID。其接口标识符是用修订的EUI-64格式构造的。

典型的ISATAP隧道应用是在站点内部,所以,其内嵌的IPv4地址不需要是全局唯一的。

图3-6ISATAP部署

如图3-6所示,在IPv4网络内部有两个双栈主机PC2和PC3,它们分别有一个私网IPv4地址。要使其具有ISATAP功能,需要进行如下操作:

a) 首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口

ID;

b) 根据接口ID生成一个ISATAP链路本地IPv6地址,生成链路本地地址以后

主机就有了IPv6连接功能;

c) 进行主机自动配置,主机获得全局IPv6地址、站点本地地址等;

d) 当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳

12

IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址。

3.3.4 IPv6 over IPv4 GRE隧道

IPv6 over IPv4 GRE隧道使用标准的GRE隧道技术提供了点到点连接服务,需要手工指定隧道的端点地址。GRE隧道的传输协议是固定的,但承载的协议可以是协议中允许的任意协议(可以是IPv4、IPv6、OSI、MPLS等)。

图3-7IPv6 over IPv4隧道部署

3.3.5 6PE

如果ISP想实现一个IPv6网络,对于网络核心是基于IP 的情况,可以在支持IPv6 协议的边缘路由器之间构造IP隧道,这些隧道可以充当支持IPv6协议的点到点的连接。在这些边缘路由器之间交换的IPv6分组可以封装在IP分组中透明的在骨干网上传输。这些方案在大规模网络可伸缩性方面不太好,MPLS技术则提供了另外的选择:在启动MPLS的IPv4 骨干网上传输IPv6数据报。这个解决方案称为IPv6提供商边缘路由器(6PE),提供了一种可伸缩的IPv6 早期部署的解决方法。它有以下一些特点:

a) IPv6协议仅仅在选择的PE路由器上实施。

b) PE路由器使用多协议BGP(MP-BGP)会话在骨干网上交换IPv6路由。 c) MPLS标签被PE路由器赋给IPv6路由,并直接在PE路由器之间交换,类似

VPN路由。

d) 使用两层MPLS标签在MPLS骨干网上传输IPv6数据报。标签栈中的第一

标签是出口PE路由器的指定LDP标签。标签栈中第二个标签是指定PE IPv6标签。

6PE 解决方案的整体结构如图3-8所示。

ISP网络的IGP协议可以是OSPF或IS-IS,CE和6PE之间可以是静态路由、IGP协议或EBGP。6PE要求IPv6站点必须通过CE连接到一个或多个运行MP-BGP(多协议扩展-边界网关协议)的双栈PE上,这些PE之间通过MP-BGP来交换IPv6的路由可

13

达信息,通过隧道来传送IPv6数据包。

图3-8PE网络示意图

6PE适合从边缘到核心的网络过渡策略。首先它在骨干网和城域核心网仍然可以保持原有的IPv4协议,而只是在网络边缘通过MPLS技术来实现IPv4数据包和IPv6数据包的传送。其次它扩展性较好,当原有网络已经实现了MPLS时,各个边缘网络可以自主选择网络过渡时间和组网方式(本地网的组网方式不受MPLS隧道机制的影响)。当ISP 想利用自己原有的IPv4/MPLS网络,使其通过MPLS具有IPv6流量交换能力时,只需要升级PE路由器就可以了。所以对于运营商来说,使用6PE特性作为IPv6过渡机制无疑是一个高效的解决方案,其操作风险也会要小得多。

3.4 IPv6与IPv4互通技术

3.4.1 NAT-PT

NAT-PT(Network Address Translation-Protocol Translation),允许只支持IPv6协议的主机与只支持IPv4协议的主机进行互联,一个位于IPv4和IPv6网络边界的设备负责在IPv4报文与IPv6报文之间进行翻译转换。通过传输层端口转换技术使多个IPv6主机共用一个IPv4地址。NAT-PT设备上需要设置IPv4主机的转换规则、IPv6主机的转换规则、IPv6主机使用的IPv4地址。报文经过NAT-PT设备时,根据NAT-PT的转换规则对报文进行协议转换。转换规则分为如下几种:

IPv4主机的静态规则:一个IPv4主机对应一个虚拟的IPv6地址;

IPv4主机的动态规则:一组IPv4主机的地址如何映射成IPv6地址。通常是指定一个96位的前缀添加在原IPv4地址前面组成一个IPv6地址;

IPv6主机的静态转换规则:一个IPv6主机对应一个虚拟IPv4地址;

IPv6主机的动态转换规则:一组IPv6主机与IPv4地址的对应关系,IPv4地址是多个IPv6主机共享的资源。静态 NAT-PT是由NAT-PT 网关静态配置v6和v4地址绑定关系。当v4主机与v6主机之间互通时,其报文在经过NAT-PT 网关时,由网关根据配置的绑定关系进行转换。不管是IPv6主机还是IPv4主机,如果配置了静态绑定关系,则另外一侧的主机可以主动向其发起连接。

14

静态配置对那些经常在线,或需要能提供稳定连接的主机比较适合。对于那些不经常使用的主机,可以采用动态配置的方法,这样可以配置简单。

如图3-9所示,IPv4侧主机采用了静态映射,而IPv6侧主机采用动态映射。当PC1 向PC2发送报文时,其源地址为1::3,目的地址1234::9。此报文在到达NAT-PT网关,目的地址符合IPv4静态规则,IPv4报文的目的地址为1.2.2.9。而IPv6报文的源地址符合IPv6主机的动态规则,则从规则的地址池中选择一个未使用的地址,假设是1.4.2.8,作为IPv4报文的源地址。那么转换后的IPv4报文就是源1.4.2.8,目的地址为1.2.2.9。

图3-9动态NAT-PT

在动态NAT-PT中,IPv4地址池中的地址可以复用,也就是若干个IPv6地址可以转换为一个IPv4地址,它利用了上层协议(UDP/TCP的端口)映射的方法。动态NAT-PT改进了静态NAT-PT配置复杂,消耗大量IPv4地址的缺点。由于它采用了上层协议映射的方法,所以只用很少的IPv4地址就可以支持大量的IPv6到IPv4的转换。但是,由于IPv6侧的映射是动态的,如果IPv4侧向IPv6发起连接,由于不知道IPv6主机应用映射后的结果,所以无法直接向IPv6主机连接。这需要结合DNS ALG来实现。

ALG(Application Level Gateway),是应用层网关的含义。有些应用,比如DNS、FTP等,在应用层载荷中包含IP 地址、端口等信息,需要对报文中的某些IP地址进行转换。通过DNS ALG,可以做到IPv4与IPv6网络中任一方均可主动发起连接,只需要配置一个DNS服务器的静态映射即可。

IPv4 主机要访问IPv6 主机www.a.com,首先向IPv6网络中的DNS发出名字解析请求,报文类型为―A‖类查询报文。这个请求到达NAT-PT后,NAT-PT对报文头部按普通报文进行转换。同时,由于DNS报文需要进行ALG处理,把―A‖类查询请求转换成―AAAA‖或―A6‖类型,然后将此报文转发给IPv6网络内的DNS。

IPv6网络中的DNS服务器收到报文后,查询自己的记录表,解析出主机www.a.com的IPv6地址是1::3,回应查询结果。此报文被NAT-PT对报文头进行转换后,同时,

15

DNSALG将其中的DNS 应答部分也进行修改,把―AAAA‖或―A6‖类转成―A‖类应答,并从IPv4地址池中分配一个地址1.4.2.6,替换应答中的IPv6地址1::3,并记录二者之间的映射信息。

图3-10NAT-PT DNS-ALG示意图

IPv4主机在收到此DNS应答之后,就知道了主机www.a.com的IPv4 地址是1.4.2.6。于是发起到主机www.a.com的连接。由于在NAT-PT中已经记录了IPv4 地址1.4.2.6与IPv6 地址1::3之间的映射信息,因此可以对地址进行转换。

NAT-PT不必修改已存在的IPv4网络就可实现内部网络IPv4主机对外部网络IPv6主机的访问,且通过上层协议映射使大量的IPv6主机使用同一个IPv4地址,节省了宝贵的IPv4地址。

NAT-PT也有缺点,属于同一会话的请求和响应都要通过同一NAT-PT设备,对NAT-PT设备的性能要求很高。 3.4.2 NAT64与DNS64

IPv6网络的发展过程中,面临最大的问题应该是IPv6与IPv4的不兼容性,因此无法实现二种不兼容网络之间的互访。为了实现IPv6与IPv4的互访,IETF(互联网工程任务组)在早期设计了NAT-PT的解决方案,NAT-PT通过IPv6与IPv4的网络地址与协议转换,实现了IPv6网络与IPv4网络的双向互访。但NAT-PT在实际网络应用中面临各种缺陷,IETF推荐不再使用,因此已被RFC4966所废除。

为了解决NAT-PT中的各种缺陷,同时实现IPv6与IPv4之间的网络地址与协议转换技术,IETF重新设计一项新的解决方案:NAT64与DNS64技术。NAT64是一种有状态的网络地址与协议转换技术,一般只支持通过IPv6网络侧用户发起连接访问IPv4侧网络资源。但NAT64也支持通过手工配置静态映射关系,实现IPv4网络主动发起连接访问IPv6网络。NAT64可实现TCP、UDP、ICMP协议下的IPv6与IPv4网络地址和协

16

议转换。

DNS64则主要是配合NAT64工作,主要是将DNS查询信息中的A记录(IPv4地址)合成到AAAA记录(IPv6地址)中,返回合成的AAAA记录用户给IPv6侧用户。DNS64也解决了NAT-PT中的DNS-ALG存在的缺陷。NAT64一般与DNS64协同工作,而不需要在IPv6客户端或IPv4服务器端做任何修改。NAT64解决了NAT-PT中的大部分缺陷,同时配合DNS64的协同工作,无需像NAT-PT中的DNS-ALG等。

NAT64与DNS64的常见应用场景组网如图3-11所示:

图3-11NAT64与DNS64组网图

在图3-11中,DNS64服务器与NAT64路由器是完全独立的部分。其中64:FF9B::/96为DNS64的知名前缀,DNS64一般默认使用此前缀进行IPv4地址到IPv6地址的合成,同时该前缀也作为NAT64的转换前缀,实现匹配该前缀的流量才做NAT64转换。一般在DNS64与NAT64中该前缀被表示为64::/n,该前缀可根据实际网络部署进行配置。在NAT-PT中,转换的前缀只支持固定96位长度,而NAT64中则可使用:32,40,48,56,64或96等范围,每种长度的前缀转换规则也不完全相同。

当IPv6单协议主机发起连接访问普通IPv6网站,流量将会匹配IPv6默认路由而直接转发至IPv6路由器处理。而访问的是IPv4单协议栈的服务器时,将经DNS64服务器进行前缀合成,64::/n网段的流量将被路由转发至NAT64路由器上,从而实现IPv6与IPv4地址和协议的转换,访问IPv4网络中的资源。

17

第四章项目环境及方案设计

4.1 GNS3模拟器

GNS3是一款优秀的具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。GNS3整合了如下的软件:Dynamips:一款可以让用户直接运行Cisco系统(IOS)的模拟器;Dynagen:是Dynamips的文字显示前端;Pemu:PIX防火墙设备模拟器;Winpcap:windows平台下一个免费,公共的网络访问系统。为win32应用程序提供访问网络底层的能力。 (1) 首先配置GNS3。

安装GNS3整合安装包,其中包括Oracle VM VirtualBox、WireShark抓包工具、Dynamips、Dynagen、Pemu、Winpcap等软件。

安装完毕后启动软件。如图4-1。

图4-1 GNS3模拟器界面

选择―编辑‖下拉菜单里的―首选项‖。―一般‖选项中配置工作目录、文件存储目录。―Dynamips‖选项中单击―测试设置‖,确保后面显示―Dynamips成功启动‖,如图4-2。同样配置测试其他几项都能成功运行,这是保证GNS3完好运行的前提。测试完后保存配置。

18

图4-2Dynamips测试

同样,选择―编辑‖下拉菜单中的―IOS和Hypervisors‖,配置路由器IOS。打开IOS镜像文件位置,载入镜像文件。软件会自动检测平台型号,也可手动填写。

图4-3配置IOS镜像

本设计使用的路由器IOS需要支持IPv6地址,且能支持绝大多数IPv6过渡策略和IPv6主要路由协议。Cisco IOS 12.4T版本后对IPv6支持较多,故在此选择c3600系列路由器IOS。如上图所示,IOS所对应平台型号为3660,分配内存128Mib。IDLE PC值在启动路由器后计算,勾选―设置为该平台默认IOS‖选项。保存配置。

19

接下来为路由器计算IDLE PC值,这个值是为了降低PC机CPU使用率而配置的。在模拟器左侧栏将c3600路由器拖入工作区,在路由器上单击右键选择―启动‖,启动路由器。在启动后,在路由器上右键选择―Idle PC‖计算IDLE PC值。

计算得到的IDLE PC值会有多个,优先推荐使用带有―*‖号的,没有―*‖号则选择值较大的一个,保存,如图4-4。

图4-4计算Idle值

配置路由器模块。路由器上单击右键选择―配置‖,弹出界面中选择―插槽‖,为路由器选择不同的模块,不同型号的路由器支持的插槽类型各部相同。此处选择一块NM-T模块,用于连接广域网的接口。

图4-5配置路由器模块

因GNS3主要是对路由器的模拟,对交换机,以及PC、服务器之上简单的模拟。在使用PC、服务器或是交换机时就显得不足。所以在使用PC或者服务器时,可用真实PC、或服务器代替。交换机可用带有NM-16ESW的16接口模块模拟交换机。主要是要配置路由器接口封装模式和接口类型。 (2) 配置PC或服务器。

从左侧栏中选择―host‖,添加到工作区中。在主机上单击右键选择―配置‖,在弹出

20

界面中选择―以太网NIO‖。如图4-6,在第一个下拉表中选择本地主机的一个物理网卡或者虚拟网卡,并点击―添加‖。这样,模拟器中的主机就是一台PC或者是一台服务器(如果你的PC用作服务器的话)。或者在本地主机上的模拟器运行着一个虚拟服务器,可在拓扑图中添加左侧栏中的―VirtualBox客户机‖直接添加服务器。

至此,可根据设计内容搭建实验拓扑图进行实验。

图4-6选择本地网卡作为虚拟PC网卡

4.2 Cisco路由器

GNS3主要针对Cisco路由器IOS开发,对路由器支持比较完备。几乎完美实现真实Cisco路由器功能。同时Cisco 路由器IOS获得比较容易,且12.4T以后版本对IPv6各种功能逐渐完善,便于实验实现IPv6功能。

4.3 可行性分析

GNS3模拟器能够模拟一个比较完全的网络环境,同时具备抓包工具,可添加虚拟机等功能。可搭建服务器提供服务和对网络性能进行简单分析。与现实网络环境相似度较高。Cisco路由器12.4T后的版本基本提供IPv6多种技术的支持,对于部分IOS不能提供的IPv6相关技术,可使用虚拟主机代替路由器实现相应功能。同样,对于应用层的服务,可用虚拟主机来做服务器提供服务。对于网络性能分析,可根据网络中的主机上相应的软件来分析。基于以上,过渡模拟可以顺利进行。

4.4 IPv6过渡问题

向IPv6 的过渡阶段所采用的过渡技术主要包括:IPv6/IPv4双栈技术、隧道技术、IPv4/IPv6协议转换技术。

IPv6/IPv4双栈技术:双栈节点与IPv4节点通讯时使用IPv4协议栈,与IPv6节点

21

通讯时使用IPv6协议栈。

隧道技术:提供了两个IPv6站点之间通过IPv4网络实现通讯连接,以及两个IPv4站点之间通过IPv6网络实现通讯连接的技术。

? IPv4/IPv6协议转换技术:提供了IPv4网络与IPv6网络之间的互访技术。

目前的网络是IPv6与IPv4的混合网络,混合网络中的资源不仅仅是IPv4主机访问获取,同样IPv6主机也要访问获取。这就导致了主机间的通信不仅仅是IPv4主机与IPv4主机,还有IPv4与IPv6主机间的互通。

以上过渡方案只是针对特定的网络的过渡,有很大的局限性。任何一种单一的方案应用于目前的Internet互联网中都有局限性。

对于ISP不能提供IPv6过渡解决方案的用户来说,需要根据企业自身的IPv6网络情况基于企业自身解决。

4.5 解决方案

正如前面所说的,IPv4与IPv6要互通,而且要跨越目前的IPv4互联网。双栈技术用于IPv4与IPv6共存,可用在纯IPv6网络和纯IPv4网络的交接点。就目前来说,隧道技术主要用于IPv6站点之间通过IPv4网络互联,这可以使得IPv6网络之间能够通信。转换技术主要用于解决IPv4与IPv6网络之间的互访,这是解决IPv6过渡期间遇上的最大问题的方法。如果将三者结合,基本能满足目前IPv4与IPv6网络、IPv6网络与IPv6网络间的通信。 4.5.1 隧道技术选择

隧道技术主要有手工配置隧道、6to4隧道、ISATAP隧道、GRE隧道、6PE隧道。手工配置隧道直观?简单,但是管理开销大,适合在稳定不变的2个IPv6网络之间连接时使用;6to4隧道适于多个IPv6子网之间的互联,有公开IPv4地址的用户子网就可以自行配置,使用方便;ISATAP可以支持通过NAT的IPv4子网连接,使用方便,适合在企业网络内部使用;GRE隧道需要IPv4组播支持,无法在大规模网络中应用,适用范围小;6PE主要是IPv4 ISP提供高效的隧道业务,这取决于所连接的ISP是否有此业务。综上,对于一个企业或者组织来说,选择6to4隧道技术灵活性要高得多。 4.5.2 转换技术选择

转换技术主要有NAT-PT与NAT64。NAT-PT方案需要高性能的NAT-PT网关。 NAT-PT有诸多不足而被RFC4966列为历史。但并非NAT-PT不再可以使用,需要其他辅助方案来解决其不足。NAT64是IETF在废除NAT-PT后颁布的另一种IPv6与IPv4通信的方案, NAT-PT的绝大多数不足在NAT64中不再存在。

NAT-PT与NAT64能够解决IPv6与IPv4互访的能力,如表4-1。如表所示,因为IPv4与IPv6互不兼容,在两种方案中,对于IPv4主机发起访问IPv6网络的解决方法只能靠静态地址绑定来解决或NAT-PT DNS-ALG实现,但也只能解决IPv4网络对部分

22

IPv6主机的访问。即使这样,对于目前IPv6网络来说,能够提供给IPv4网络一定量的服务器访问已经满足当下的组网要求。

表4-1几种互访类型 NAT-PT与NAT64均能实现 NAT64通过静态地址绑定实现;NAT-PT通过DNS-ALG 或静态地址绑定实现 NAT-PT与NAT64均能实现 目前并非急需实现,实现有难度 NAT-PT与NAT64均能实现 NAT64通过静态地址绑定实现;NAT-PT通过DNS-ALG 或静态地址绑定实现 4.5.3 一种新的组合转换技术

Cisco路由器只有在IOS-XE/XR系类中实现NAT64。对于想使用Cisco路由器实现转换网关的用户,特别是小企业,也许没有能力也没有必要购买XE/XR系列路由器。而NAT-PT也因种种缺点难以作为备选方案。如何才能使得有一个好的折衷方案呢?NAT-PT方案中,NAT-PT和DNS-ALG绑定在一起。因为使用DNS-ALG使得NAT-PT方案缺陷愈加严重。而NAT64方案将NAT64与DNS64分离。所以能否有一种方法将NAT-PT与DNS-ALG分离,以减少NAT-PT方案的缺陷?既然DNS-ALG与DNS64均是进行域名解析和转换地址,而且Cisco IOS12.4T中DNS-ALG可以禁用。那么,在Cisco路由器中可以将DNS-ALG禁用(命令:no ipv6 nat service dns),我们就可以将NAT-PT与DNS64结合,使用64:FF9B::/96前缀,构造一个非IETF制定的―伪NAT64‖,从而NAT-PT方案中由于DNS-ALG引起的不足就可以得到一定弥补。但由NAT-PT本身的不足并不能够解决。对于想使用Cisco路由器实现IPv6与IPv4互访的用户可以使

23

用此方法。

对于使用NAT64方案来实现IPv6与IPv4互联的用户,可以使用Juniper路由器或者是Cisco IOS-XE/XR平台的路由器实现。也可以使用基于Linux内核模块的Ecdysis或者是Tayga实现。

本设计中同时使用经过改造的―伪NAT64‖与基于Linux的NAT64两种方案。

组网要求就是IPv4与IPv6能互通,IPv6与IPv6能互通。6to4隧道承载IPv6与IPv6网络间通信数据,转换网关实现IPv4与IPv6网络间的通信。如图4-7。

图4-7转换网关与6to4隧道结合

IPv4主机与IPv4主机通信时,―伪NAT64‖或NAT64转换网关不起作用,双栈路由器使用IPv4协议栈完成通信。

IPv6主机与IPv6主机通信时,数据包通过双栈路由之间6to4隧道,数据包通过―伪NAT64‖或NAT64网关时,网关不对数据包做任何修改,此时转换网关不起作用。

IPv4主机向IPv6主机通信时,IPv4数据包通过―伪NAT64‖或NAT64网关,网关将IPv4地址转换为IPv6地址,通过双栈路由时,路由对数据包进行封装通过6to4隧道转发。如果是外部IPv4网络中的IPv4主机与混合网络或纯IPv6网络中的IPv6主机通信,IPv4数据包到达转换网关后转换成IPv6地址经路由选择后与IPv6主机通信。

IPv6主机向IPv4主机通信时,混合网络中的IPv6数据包经―伪NAT64‖或NAT64网关,IPv6地址被转换成IPv4地址,到达双栈路由时,使用IPv4协议栈进行路由选择。

通过以上分析,将三种过渡技术混合使用,理论能够满足大多数的IPv6过渡期组网要求。

24

第五章详细设计

5.1 实验环境搭建

根据常见组网情况,设计三种网络:IPv4单协议网络,如图5-1网络4;IPv6单协议网络,如网络2和网络3;IPv6单协议与IPv4单协议混合网络,如网络1。设计需要同时使用NAT64方案和经过修改后的NAT-PT方案(―伪NAT64‖),网络1使用NAT64方案访问IPv4网络,网络2使用―伪NAT64‖方案。为了统一配置,DNS64服务器设立在另一个双栈网络中,不独立的在各个网络内部设立DNS64服务器。网络4的DNS服务器设在本网络内。公共6to4中继统一管理到达各个6to4站点后面的IPv6网络的路由。网络1、网络2、网络4同时提供FTP和WEB服务。网络3用作测试6to4隧道的连通性。

图5-1网络拓扑图

根据网络拓扑,搭建网络环境。

打开GNS3。从左侧栏拖入工作区4个c3600路由器,分别用作“伪NAT64”网关兼6to4中继R2、6to4公共中继R3、网络4网关R4和Internet R1。再从左侧栏选择“VirtualBox客户机”添加3个Windows虚拟主机。虚拟主机“winser”用作用作服务器ser.test.com;虚拟主机“WinXP”用作服务器ser.ipv4.cn兼DNS服务器;虚拟主机“DNS64”用作DNS64服务器;服务器ser.ipv6.com使用本地连接3为接口的本地主机。再次添加3个虚拟Ubuntu主机,分别为网络1中的IPv4单协议主机“Ubuntu2”,网络2和网络3中的IPv6单协议主机C3与C2,NAT64网关兼6to4中继“NAT64”。

25

用作Internet的路由器R1接口f0/0、s1/0、s1/1、s1/2分别链接NAT64网关兼6to4中继虚拟主机“NAT64”接口eth2、“伪NAT64“网关兼6to4中继R2接口s1/0、IPv4单协议网络4网关R4接口s1/1、公共6to4中继R3接口s1/2。网络1中,IPv6 ser.ipv6.com服务器和Ubuntu2 IPv4主机经过交换机SW2链接到NAT64网关兼6to4中继路由器接口eth3。网络2中服务器ser.test.com与IPv6单协议主机C3经交换机SW1链接“伪NAT64”网关兼6to4中继接口f0/0。网络3中IPv6主机C2链接6to4公共中继接口f0/0。网络4中IPv4单协议服务器ser.ipv4.cn主机连接网关R4接口f0/0。DNS64服务器链接6to4公共中继R3接口f0/1。

整个网络环境如图5-2。

图5-2实验环境图

至此,运行环境网络运行环境搭建好。

5.2 流量分析

5.2.1 6to4流量

三个IPv6单协议网络主机发起的往另一个IPv6单协议网络流量都要经6to4隧道到达公共6to4中继,在公共6to4中继上进行路由选择,找到到达目的网络的6to4隧道或路由,再经过6to4隧道或IPv6网络到达目的网络。三个站点的流量路径如图5-3虚线所示。

网络1与网络2中IPv6主机发起的与网络4中主机通信,数据包到达转换网关后要进行地址转换,经过IPv4 Internet到达网络4。而网络4中主机要与网络1和网络2中IPv6单协议服务器通信,需要查询DNS获得由静态转换绑定的服务器的IPv4地址,使用此地址和服务器通信。数据包到达转换网关,网关将IPv4地址转换成IPv6地址,再与IPv6单协议服务器通信。流量路径如图5-4虚线所示。

26

图5-36to4隧道流量路径

5.2.2 IPv6主机与IPv4主机互通

图5-4IPv6与IPv4互通流量路径

对于从网络1中的IPv4单协议主机发起的与IPv6服务器的通信,可以通过DNS查询获得目的IPv6单协议服务器静态绑定的IPv4地址,也可以在NAT64网关上静态绑定用于与目的IPv6单协议主机通信的IPv4地址(此地址只在内部转换使用,可以使用

27

私有IPv4地址)。如果使用后者,数据包经过NAT64网关时IPv4地址转换为IPv6地址,然后通过6to4隧道到达公共6to4中继再路由到目的网络。流量路径如下图虚线所示。

图5-5经本地网关转换后的IPv4与IPv6通信

5.3 配置网络

5.3.1 “伪NAT64”兼6to4中继网关配置 (1) 配置接口并启用NAT-PT

在路由器上配置一个回环接口,配置IPv4地址4.0.0.254;

配置s1/0为链接IPv4 Internet的接口,并启用NAT-PT;

Router(config)#interface Loopback0 Router(config-if)#ip address 4.0.0.254 255.255.255.240 Router(config)#interface Serial1/0 Router(config-if)#ip address 4.0.0.2 255.255.255.252 Router(config-if)#ipv6 nat Router(config-if)#no shutdown 配置f0/0为链接IPv6网络2的接口,并启用NAT-PT。

Router(config)#interface FastEthernet0/0 Router(config-if)#no shutdown !配置子接口 Router(config)#interface FastEthernet0/0.1 Router(config-if)#encapsulation dot1Q 1 Router(config-if)#ipv6 address 2001:4::1/64 28

Router(config-if)#ipv6 nd suppress-ra Router(config-if)#ipv6 nat (2) 6to4隧道配置;

配置6to4隧道Tunnel1004;

Router(config)#interface Tunnel1004 Router(config-if)#ipv6 address 2002:400:2::1/128 Router(config-if)#tunnel source Serial1/0 Router(config-if)#tunnel mode ipv6ip 6to4 配置到达公共6to4中继的路由。

Router(config)#ipv6 route ::/0 2002:C058:6301:: Router(config)#ipv6 route 2002::/16 Tunnel1004 (3) ―伪NAT64‖配置

配置IPv6 ACL控制转换地址范围,允许2001:4::/64网络进行地址转换。ACL v4map实现地址map;

配置用于转换的地址的前缀,这里必须使用与DNS64有相同的前缀。DNS64选择知名前缀64:FF9B::/96,这里亦选择64:FF9B::/96前缀。使用v4-mapped命令map IPv4地址,这样就可使用如64:FF9B::c0a8:101(64:FF9B::192.168.1.1)格式地址;

Router(config)#ipv6 nat prefix 64:FF9B::/96 v4-mapped v4map Router(config)#ipv6 access-list v6-list permit ipv6 2001:4::/64 any Router(config)#ipv6 access-list v4map permit ipv6 2001:4::/64 any 配置用于转换的动态地址池v4pool,选择IPv4地址块4.0.0.240/28的部分地址;

Router(config)#ipv6 nat v6v4 pool v4pool 4.0.0.241 4.0.0.250 prefix-length 28 配置动态和静态NAT-PT,静态用于IPv4主机发起的向IPv6单协议主机的通信,这里将网络2中的FTP与WEB服务器地址2001:4::2绑定IPv4地址4.0.0.251;

Router(config)#ipv6 nat v6v4 source list v6-list pool v4pool!Dynamic Router(config)#ipv6 nat v6v4 source 2001:4::2 4.0.0.251!Static 配置转换超时时间,防止动态链接池中地址用完后其他主机不能再发起会话。设置超时时间为10min(600s)。当10分钟之内没有任何流量,该动态转换状态将会从转换表中删除;

因使用了DNS64,NAT-PT方案中的DNS-ALG应该禁用。

Router(config)#ipv6 nat translation timeout 600 Router(config)#no ipv6 nat service dns 29

(4) 路由配置

为了使转换后的地址能够在IPv4 Internet中进行路由,需要配置路由。

在设计中,IPv4 Internet组成比较简单,这里使用了EIGRP路由协议,实际情况可用默认路由代替(但要注意默认路由可能会导致环路)。同时要添加到达最近公共6to4中继的IPv4地址192.88.99.1的路由;

Router(config)#router eigrp 100 Router (config-router)#network 4.0.0.0 Router (config-router)#no auto-summary ! Router (config)#ip route 192.88.99.0 255.255.255.0 4.0.0.1 最后,为了能对IPv6数据包进行路由,需要开启IPv6路由。

Router(config)#ipv6 unicast-routing 5.3.2 公共6to4中继配置

公共6to4中继管理到达其他6to4中继的路由,此路由配置一个任意播地址,供距离它最近的6to4中继站点与其建立隧道传输数据。IANA定义的192.88.99.0/24网络中的192.88.99.1是到达最近6to4中继的IPv4地址,IPv6地址是2002:c058:6301::。当有多个公共6to4站点时,6to4数据包将自动路由到最近的6to4中继。公共6to4中继连接着三个网络:网络2001:1::/64、DNS64所处的双栈网络、IPv4 Internet。 (1) 配置接口地址

s1/2连接IPv4 Internet,配置地址1.0.0.2和192.88.99.1;

f0/0连接2001:1::/64网络接口,配置地址2001:1::1/64;

Router(config)#interface FastEthernet0/0 Router(config-if)#ipv6 address 2001:1::1/64 Router(config-if)#ipv6 nd suppress-ra Router(config-if)#no shutdown Router(config)#interface Serial1/2 Router(config-if)#ip address 192.88.99.1 255.255.255.0 secondary Router(config-if)#ip address 1.0.0.2 255.255.255.252 Router(config-if)#no shutdown

f0/1连接DNS64服务器,DNS64是双栈主机,所以该接口同时需要一个IPv4地址和一个IPv6地址。

Router(config)#interface FastEthernet0/1 Router(config-if)#ip address 2.0.0.1 255.255.255.0 30

Router(config-if)#ipv6 address 2002:100:2:FFFF::1/64 Router(config-if)#no shutdown (2) 建立6to4隧道

配置6to4隧道1001,并配置2002:c058:6301::任意播地址;

Router(config)#interface Tunnel1001 Router(config-if)#ipv6 address 2002:100:2::1/128 Router(config-if)#ipv6 address 2002:C058:6301::/128 anycast Router(config-if)#tunnel source Serial1/2 Router(config-if)#tunnel mode ipv6ip 6to4 !Route to 6to4 tunnel Router(config)#ipv6 route 2002::/16 tunnel1001 (3) 路由配置

为了能与IPv4 Internet通信,配置到达IPv4 Internet路由;

Router(config)#router eigrp 100 Router(config-router)#network 1.0.0.0 Router(config-router)#network 2.0.0.0 Router(config-router)#no auto-summary !route to nat64 gateway translated network Router(config)#ip route 3.0.1.0 255.255.255.224 1.0.0.1 其他IPv6网络主机要与2001:1::/64通信,需要在tunnel1001接口与f0/0接口启用路由,这里使用IPv6 RIPng距离矢量路由协议;

Router(config)#ipv6 router rip testrip !Enable testrip on interface tunnel1001 Router(config)#interface Tunnel1001 Router(config-if)#ipv6 rip testrip enable !Enable testrip on interface f0/0 Router(config)#interface FastEthernet0/0 Router(config-if)#ipv6 rip testrip enable 作为公共6to4中继,管理着到达其他网络的路由,添加到达2001:2::/64和2001:4::/64网络的路由,同时在路由器上启用IPv6路由功能。

Router(config)#ipv6 route 2001:2::/64 2002:300:2::1 Router(config)#ipv6 route 2001:4::/64 2002:400:2::1 Router(config)#ipv6 unicast-routing 5.3.3 NAT64网关兼6to4中继配置

NAT64网关基于Linux内核,本设计使用Ubuntu操作系统, linux内核为2.6.32。Ecdysis是有状态的(Stateful)NAT64,能够进行1:N转换,即是一个IPv4地址对应多

31

本文来源:https://www.bwwdw.com/article/ov77.html

Top