《网络工程毕业设计论文IPv4IPv6隧道技术的通信研究.doc》由会员分享,可在线阅读,更多相关《网络工程毕业设计论文IPv4IPv6隧道技术的通信研究.doc(17页珍藏版)》请在三一办公上搜索。
1、 毕 业 论 文(设计)论文(设计)题目:IPv4/IPv6隧道技术的通信研究系 别: 专 业: 学 号: 姓 名: 指导教师: 时 间: 毕 业 论 文(设 计) 开 题 报 告系别:计算机与信息科学系 专业:网络工程学 号 姓 名论文(设计)题目IPv4/IPv6隧道技术的通信研究命题来源教师命题 学生自主命题 教师课题选题意义:本选题的目的是研究IPv4到IPv6隧道技术的通信方式。随着网络的高速发展,IPv4由于地址不足等固有缺陷,越来越不能满足网络发展的需要。新的互联网协议IPv6在继承IPv4优点的基础上解决了IPv4存在的问题。在广泛力量的推动下,IPv6即将取代IPv4已是不争
2、的事实。但从IPv4到IPv6的过渡不可能一蹴而就,它需要一个渐进的过程。在相当长的时间里,两者将相互共存。研究如何实现从IPv4到IPv6的平滑过渡,对加快整个过渡进程、推动IPv6的部署和运营具有十分重要的现实意义。为了能让IPv4到IPv6平滑过渡,研究者们已经研究出了隧道技术,隧道技术能够充分的利用现有的网络资源,并且隧道是透明的,IPv6主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用。因此隧道技术是IPv4向IPv6过渡初期最易于采用,也是最成熟的技术。现对隧道技术的通信进行研究,将有利于隧道技术穿越现存IPv4因特网实现了与IPv6孤岛间的互通,从而逐步扩大IPv6的实
3、现范围。研究综述:在发展的隧道技术中有以下一些具有代表性的技术:较早应用于IPv4到IPv6过渡的是手工隧道技术和自动隧道技术,这是隧道技术发展过程中出现的具有代表性的技术:(1)手工配置隧道:主要应用在个别IPv6主机或网络需要通过IPv4网络进行通信的场合,这种方式的优点是实现相对简单,缺点是扩展性较差,表现在当需要通信的IPv6主机或网络比较多时,隧道配置和维护的工作量较大。(2)IPv4兼容地址的自动隧道技术:自动隧道能够完成点到多点的连接,这是它的特点。而手动隧道仅仅是点到点的连接。IPv4兼容IPv6自动隧道这种技术能够使隧道自动生成。但IPv4兼容地址的自动隧道并不实用,已逐渐淘
4、汰(3)Teredo隧道:是一种IPv6-over-UDP隧道。为了解决传统的NAT不能够支持 IPv6-over-IPv4 数据包的穿越的问题,Teredo 隧道技术采用将IPv6 数据封装在UDP载荷中的方式穿越NAT, 使得NAT域内的IPv6节点得到全球性的IPv6连接。(4)隧道代理可以看作一个虚拟的 IPv6 ISP,通过Web 方式为用户分配 IPv6 地址、建立隧道,并提供和其他IPv6节点之间的通信。(5)6to4隧道:是隧道技术的代表技术,具有维护方便的优点,同时又克服了IPv4 兼容 IPv6 自动隧道不能互联Ipv6网络的缺陷,所以是一种非常好的隧道技术。本文研究的正是
5、目前在自动隧道应用中,技术最成熟,通用性好,且易于理解的IPv6 - over - IPv4 GRE隧道技术。本文将会对以下内容进行研究:(1) 目前所应用的隧道技术类型;(2) GER隧道相对于其它隧道的优点;(3) GRE封装过程,其过程都是由乘客协议、封装协议和运输协议这三部分组成的。乘客协议是指用户要传输的数据 ,也就是被封闭的数据; 封装协议用于建立,保持和拆卸隧道; 运输协议是乘客协议被封装之后应用的运输协议,IP协议就是一种常见的运输协议,一般使用IP协议对GRE协议进行运输。(4) GRE报文会处理过程,以及对GRE隧道的配置测试等。研究的目标和主要内容:本选题对Ipv4与Ip
6、v6的隧道通信技术进行了研究,实现Ipv6报文的透明传输。并分别在Windows XP操作系统上进行了IPv4/Ipv6隧道通信的测试。本选题研究的主要内容如下:1、从Ipv4和Ipv6数据报的具体格式入手,通过对比来体现Ipv4与Ipv6的不兼容性。2、Ipv4/Ipv6隧道通信技术的基础原理:将Ipv6数据报文封装在Ipv4数据报中,使用已有的Ipv4网络作为载体,从而建立起Ipv6之间的通信,此方法能够有效地利用现有的Ipv4路由体系来传递Ipv6是数据报,不仅实现了Ipv4与Ipv6的无缝连接,还让Ipv4更平滑地过渡到Ipv6,对因特网的升级十分有效。3、对现在常用的几种隧道技术进行
7、比较,GRE隧道技术具有通用性好,易理解等优点。4、GRE协议5、GRE隧道技术的数据包封装过程:乘客协议、封装协议、运输协议和封装过程。6、IPv4/IPv6隧道通信的测试:在Windows XP SP3操作系统的平台上,采用“路由-路由”的隧道通信技术,对IPv4/IPv6隧道的通信进行实验。7、通过对本选题的研究,能对隧道技术有更深入的了解,在IPv4向IPv6过渡的关键时期起到关键的作用,更能实现IPv4向IPv6的平滑过渡。拟采用的研究方法a)查找并阅读相关资料,对IPv4、IPv6有进一步的认识。b)搜寻实验用过程中用到的各种工具软件。c)借助虚拟机来搭建两台PC。d)利用Wind
8、ows自带的IPv6.exe文件安装协议,对另一台IPv4的PC进行通信测试。研究工作的进度安排2010年11月24号11月29号 与指导老师沟通交流,完成毕业论文选题。2010年12月12号12月19号 搜集资料,查阅文献,完成开题报告。l2010年12月20号2011年1月1日 完成文献综述l2011年1月2号1月30号 整理相关资料并完成概要和详细设计。l2011年2月1号3月30号 完成论文的主要内容。l2011年4月1号4月15号 后期的联机调试和测试。l2011年4月16号4月30号 总结毕业设计的整个过程,完成毕业设计论文初稿。l2011年5月1号5月30号 修改毕业论文定稿,打
9、印装订,参加答辩。参考文献目录1(美)福罗赞(Forouzan.B.A).TCP/IP协议簇(第三版)M谢希仁等译.清华大学出版社,2006.52 罗什,沙斐.IPv6详解M.北京:北京机械工业出版社,2000.3 Marcus Goncalves,Kitty Niles.IPv6网络M.北京:人民邮电出版社,20004 张宏科,苏伟.IPv6路由协议栈原理与技术M.北京:人民邮电出版社,19995 廖永刚,洪淑琴.基于IPv4网络的IPv6隧道传输技术的研究J.湖北航天科技,20036 Ed.Taylar.网络互联技术指南M.北京:人民邮电出版社,20017 徐宇杰.IPV6深入分析M.北京
10、:清华大学出版社,2009 8 张云勇,刘韵洁,张智江.基于IPv6的下一代互联网M.北京L:电子工业出版社,2004指导教师意见该生的选题通过研究已出现的几种隧道技术之一的GRE隧道技术,并通过仿真测试,证实其简捷方便,通用性好,技术上比较新颖,难度适中,也有实用价值,工作量符合要求,同意开题。 签名: 年 月 日教研室主任意见同意指导教师意见,同意开题。 签名: 年 月 日目录摘要1关键词1引言11 IPv4与IPv611.1 IPv4现状11.2 IPv6概念11.3 IP格式21.3 .1 IPv4格式21.3.2 IPv6格式21.3.3 IPv6优点32 隧道技术33 几种常用隧道
11、技术44 GRE隧道简介55 GRE协议56 GRE隧道封装过程66.1乘客协议66.2封装协议66.3 运输协议76.4 GRE的封装过程77 RE隧道的协议报文处理过程78 GRE隧道的配置及测试89 小结9Abstract9Keywords10致谢10IPv4/IPv6隧道技术的通信研究网络工程专业 指导教师 摘要随着网络的高速发展,IPv4由于地址不足,将不能满足未来用户的需求。而IPv6的出现,正好能解决这一问题。所以研究从IPv4到IPv6的平滑过渡,加快整个过渡过程就是当前的首要之急,便于对整个IPv6网络进行部署。关键词IPv4;IPv6;GRE;隧道技术引言目前使用的IP 协
12、议版本IPv4 正面临着IP 地址即将耗尽等问题, IETF 从1995 年开始,着手研究开发下一代IP 协议,即IPv6。IPv6 具有长达128 位的地址空间,能为日后分配更多的IP地址。为了能让IPv4到IPv6平滑过渡,前人已经研究出了多种隧道技术,大致上可以分为双协议栈技术、隧道技术和网络地址翻译技术。而在这里,我们对GRE隧道进行了研究。1 IPv4与IPv6 1.1 IPv4现状Internet 的起源是由ARPANET于1968 年开始进行研究的, 当时的研究者们为了给ARPANET建立一个标准的网络通信协议而开发出了一种IP协议,即IPv4协议。但是当时IP协议的开发者认为A
13、RPANET 的网络个数不会超过数十个, 因此他们只将IP 协议的地址长度设定为32个二进制数位,其中前8 位标识网络, 其余24 位标识主机。然而随着ARPANET日益膨胀,IP协议的开发者认识到原先设想的网络个数已经无法满足当前的实际需求。1.2 IPv6概念 IPv6 被称为下一代互联网协议,它是由国际互联网工程任务组(IETF)设计的一种用来替代IPv4 的新协议。IPv6 将现有的IPv4 地址长度扩大4 倍,即当前由的32bit 扩充到128bit,可以提供3.4E+38 个地址,这将从根本上解决目前IP 地址短缺的严重问题。IPv6 地址采用16 进制的表示方法,将128bit
14、分为8 组,分得的每组为16bit,用4 个16 进制数表示,分组之间用“:”隔开,每组中最前面的0 可以省略,但每组必须有一个数。同IPv4 地址一样,IPv6 也被划分为若干类型。主要有三种地址:单播地址(Unicast )、任播地址(Anycast )、组播地址(Multicast)。1.3 IP格式1.3 .1 IPv4格式IPv4中规定IP地址长度为32(按TCP/IP参考模型划分) ,即有2的32次方-1个地址。一般的书写法为4个用小数点分开的十进制数。也有人把4位数字化成一个十进制长整数,但这种标示法并不常见。过去IANAIP地址分为A,B,C,D 4类,IPv4报头指明了IP数
15、据包的大小和上层的协议类型,以及源IP地址和目的IP地址,并提供了IP分片重组的必要信息。下图为IPv4数据包结构。图1 IPv4数据包格式1.3.2 IPv6格式 IPV6的每一个分组由必须要有的基本首部和跟随在后面的有效载荷组成。有效载荷有两部分组成:可选的扩展首部和从上层来的数据(不超65535字节)。如下图示图2 IPv6数据包格式IPv6地址包括16个字节(八位组);它共有128比特长。1.3.3 IPv6优点IPv6保持了IPv4赖以成功的许多特点, 设计中有部分处理是对IPv4不足之处的修正。作为新一代的IP协议, IPv6有着如下方面的特性: 1.扩展地址空间, 增强路由;2.
16、地址的自动配置;3.IP数据报报头的简化;4.安全控制;5.服务质量QoS;2 隧道技术在IPv4网络还没有完全流行于全球之前,一定会有一些网络首先采用IPv6协议,而这些首先采用IPv6协议的网络就像是在IPv4海洋中的一些小岛一样,如果能在IPv4的“海底”建立一条“隧道”实现这些小岛之间的连接,那么这些所谓的IPv6小岛就可以跨越IPv4海洋,从而实现彼此之间的通信,这就是隧道(Tunne)技术。隧道技术是一种封装技术,它是利用一种网络协议来传输另一种网络协议,即利用一种网络传输协议,将其他协议产生的数据报文封装在它自己的报文中,随后在网络中传输。实际上隧道可以看作一个虚拟的点到点连接。
17、例如,GRE隧道支持点到点的业务接入。 其实隧道技术就是指包括数据封装、传输和解封装在内的全过程。简单来说就是:原始报文在A地进行封装,然后在通道上传送,到达B地后把封装去掉,还原成原始报文,这样就形成了一条由A到B的通信隧道。 在隧道的端点可以是主机,也可以是路由器,但必须是双协议栈的结点,它们连接两种网络,进行报文的封闭与解封。由于隧道技术只要求在隧道的入口和出口端对报文进行修改,在其他地方没有什么要求,相对于其他两种过渡技术来说,这种技术是很容易实现的。3 几种常用隧道技术1、配置隧道配置隧道的建立是手工配置的, 需要隧道两个端点所在网络的管理员协作完成。但进行通信的站点之间必须有可用的
18、 IPv4 连接, 并且至少要具有一个全球唯一的 IPv4地址。 站点中的每个主机都至少需要支持 IPv6, 路由器需要支持双栈。所以配置隧道在隧道要经过 NAT设施的情况下不可用。2、自动隧道自动隧道的建立和拆除是动态的, 隧道终点根据分组目的地址确定。适用于单个 IPv6 主机之间或偶尔交换数据的站点之间。但自动隧道无法在 NAT域内的隧道工作, 不能从根本上解决 IPv4 地址耗尽问题。3、隧道代理隧道代理不是一种隧道机制, 而是一种方便构造隧道的机制, 可以简化隧道的配置过程。 适用于单个主机获取 IPv6 连接的情况。隧道代理在穿过 NAT 设施时可能无法工作, 需要配置隧道服务器、
19、 安全的 DNS自动更新、 激活机制等,不过这种技术相对繁琐一些。4、ISATAP 隧道ISATAP 是一种自动隧道技术, 用于连接被 IPv4 隔离的 IPv6 孤岛, 通过将 IPv4 地址嵌入到 IPv6 地址当中,并将 IPv6 封包封装在 IPv4 中传送, 从而在主机相互通信时抽出 IPv4 地址建立隧道。ISATAP 用于内部私有网络中各双栈主机之间进行 IPv6 通信。ISATAP 不要求隧道端节点必须具有全球惟一的 IPv4 地址, 只要求双栈主机具有 IPv4 单播地址。因此ISATAP 无法为 IPv6 组播业务提供解决方案。5、GRE隧道GRE隧道技术可在IPv4的GR
20、E隧道上承载IPv6数据报文。GRE隧道是两点之间的链路,每条链路都是一条单独的隧道。隧道把IPv6作为乘客协议,把GRE作为承载协议。所配置的IPv6地址是在Tunnel接口上配置的,而所配置的IPv4地址是Tunnel源地址和目的地址,也就是隧道的起点和终点。GRE隧道主要用于两个边缘路由器后中端系统与边缘路由器之间定期安全通信的稳定连接。采用GRE隧道技术的优点是:通用性好 ,技术成熟 ,易于理解。因此,通过这几种隧道技术的比较后,本文对GRE隧道技术进行研究。4 GRE隧道简介GRE(Generic Routing Encapsulation,通用路由封装协议)是由Cisco和Net
21、Smiths公司于1994年提交给IETF的协议。GRE是对某些网络层协议(如:IP,IPX,AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IP)中传输。这是GRE最初的定义,最新的GRE封装规范,已经可以封装二层数据帧了,如PPP帧、MPLS等。在RFC2784中,GRE的定义是“X over Y”,X和Y可以是任意的协议。GRE真的变成了“通用路由封装”。 GRE协议实际上是一种封装协议,它提供了将一种协议的报文封装在另一种协议报文中的机制,使报文能够在异种网络中传输。异种报文传输的通道就被称为tunnel(隧道)。 GRE隧道不能配置二层信息,
22、但可以配置IP地址。GRE利用为隧道指定的实际物理接口完成转发,转发过程如下: (1)所有发往远端VPN的原始报文,首先被发送到隧道源端。 (2)原始报文在隧道源端进行GRE封装,填写隧道建立时确定的隧道源地址和目的地址,然后再通过公共IP网络转发到远端VPN网络。 Tunnel是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel的两端分别对数据报进行封装及解封装。一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过封装与解封装两个过程,下面以图3的网络为例说明这两个过程:图3 封装解封过程5 GRE协议GRE 协议可以实现对 IP、
23、IPX、AppleTalk 等协议数据包的封装,这里我们以使用最为广泛的 IP 协议为例。使用标准的 GRE隧道技术 ,可在 IPv4 的 GRE隧道上承载 IPv6数据报文。通过 GRE 协议封装过的数据包格式如下图所示: 图4 GRE隧道报文CRKSSRecurflagsVerProtocol TypeChecksum(optional)Offset(optional)keySequence Numiber(optional)Routing(optional)图5 GRE包头部结构在 GRE 数据包结构中,前面的 IP 包头部结构是传送数据报头部,用于将其他被封装的数据包封装成 IP 包并
24、在 IP 网络中传输,在本文中称之为外部 IP 报头。GRE 报头部用来传送与有效负载数据包有关的控制信息,用来在控制 GRE 数据包在隧道中的传输以及 GRE报文加封装和解封装过程,其结构如图 5 所示。有效载荷数据包是被封装的其他协议的数据包,若被封装的协议为 IP 数据包,则有效载荷数据包就是一个 IP 数据包。6 GRE隧道封装过程不管是哪一种隧道协议,其数据包格式都是由乘客协议、封装协议和运输协议3部分组成的。6.1乘客协议乘客协议是指用户要传输的数据 ,也就是被封闭的数据。为了能对GRE的协议栈能有更好的理解,在这里我们用邮政系统为例。乘客协议就相当于我们所写的信,信的语言可以是汉
25、语、英语、法语等,但具体要如何选择,这个由写信人和读信人自己负责。这就对应于多种乘客协议,对乘客协议数据的解释由隧道双方负责。6.2封装协议封装协议用于建立,保持和拆卸隧道。GRE就属于封装协议,它把乘客协议报文进行了包装,加上了一个GRE头部,然后再把封闭好的原始报文和GRE善,放在IP报文的数据区中,由IP进行传输。封装协议我们可以把它当作是信封,也可以是平信、挂号、EMS等,这对应于多种封装协议。每种封装协议的功能和安全级别都有所不同。6.3 运输协议运输协议是乘客协议被封装之后应用的运输协议,IP协议就是常见的运输协议,一般使用IP协议对GRE协议进行运输。运输协议也可以看作是信的运输
26、方式,可以是路运、海运、空运,这就对应于不同的运输协议。6.4 GRE的封装过程图6 GRE的封装过程图6中的原始数据包,可以是IP报文。当然,GRE也可以封装其它的协议报文,如IPX报文、PPP、MPLS等。总结起来,GRE的封装过程就是:当报文需要经由隧道接口处理时,IP层的输出函数调用tunnel接口的输出函数进行加封装处理。加封装处理结束后,再进行IP转发。GRE隧道对端的解封装过程就是:当IP层接收到GRE报文,检查到外层IP报文头部中的协议号是47时,那么,IP层输入入口函数会根据协议开关表,直接调用GRE的解封装处理函数,对GRE解封装。解封装完成后,再将原始数据报文送入IP输入
27、队列中,以便进行进一步的传输。7 RE隧道的协议报文处理过程图7 GRE网络隧道图GRE 协议报文在隧道中传输时,必须要经过加封装与解封装两个过程。在图 7所描述的网络中,办事处网络中主机 A与总部网络中主机 B 的通信过程如下所述: (1)主机 A 发送的 IP 报文首先到达路由器 A,路由器 A 连接内部网络的接口收到该IP 报文后首先交由 IP 报文处理进程处理,其检查 IP 报头中的目的地址域来确定如何路由该IP 报文。由于其目的地址为总部网络中的 IP 地址,则开始进行数据包的加封装,即在该 IP报文前加上新的 IP 报头即外部 IP 报头和 GRE 报头。之后将封装好的报文通过 G
28、RE 隧道接口发送出去。 (2)路由器B 从 GRE 隧道接口收到路由器 A 发送的经过封装的 GRE 报文后,检查目的地址,发现目的地就是此路由器时,先去掉外部 IP 报头,将剩下的报文交由 GRE 协议处理。GRE 协议进行检查校验和、序列号等处理,之后进行 GRE 解封装,即将 GRE 报头部去掉。再将解封装之后的 IP 报文交由 IP 报文处理进程象对待一般 IP 报文一样对此报文进行处理,即将该 IP 数据包交给连接内部网络的接口,按照目的地址发送给主机 B。 8 GRE隧道的配置及测试图8 网络拓扑图在R1 和R3 两边分别是一个IPv6 网络,在R1 和R3 之间是一个IPv4
29、网络,通过建立隧道Tunnel 0 实现两个IPv6 网络之间的通信。在IPv4/IPv6 过渡的初期这个平台很具有代表性。在路由器上的主要配置1) R1 的tunnel 0 配置(config-if)# tunnel mode gre ip (config-if)# tunnel source 1.2.0.1(config-if)# tunnel destination 2.3.0.2(config-if)# ipv6 ospf 10 area 0R3的隧道配置过程与R1类似,不具体说明,各路由端口地址如图8所示。2) 连通性测试在R1的“命令提示符”状态下,键入命令ping ipv6 3:
30、3、R3 ping ipv6 1:1,分别测试R1 到R3的连通性、R3 到R1的连通性,结果均已顺利连通,。可见GRE隧道在IPv6网络与IPv4网络之间起到了隧道的作用。9 小结由IPv4的现状,以及IPv6的出现,本文对已出现的几种隧道技术之一的GRE隧道技术进行了理论研究,并且通过模拟软件对其连通性进行了测试,与其它的研究者一样,证实了这种隧道技术对于点对点网络过渡有着简捷方便,通用性好,易理解的优点,但其本身仍未完善,为了能更好的解决IPv4网络与IPv6网络之间进行高效无缝互连的问题,还有待研究。参考文献:1(美)福罗赞(Forouzan.B.A).TCP/IP协议簇(第三版)M谢
31、希仁等译.清华大学出版社,2006.52 罗什,沙斐.IPv6详解M.北京:北京机械工业出版社,2000.3 Marcus Goncalves,Kitty Niles.IPv6网络M.北京:人民邮电出版社,20004 张宏科,苏伟.IPv6路由协议栈原理与技术M.北京:人民邮电出版社,19995 廖永刚,洪淑琴.基于IPv4网络的IPv6隧道传输技术的研究J.湖北航天科技,20036 Ed.Taylar.网络互联技术指南M.北京:人民邮电出版社,20017 徐宇杰.IPV6深入分析M.北京:清华大学出版社,20098 张云勇,刘韵洁,张智江.基于IPv6的下一代互联网M.北京:电子工业出版社,
32、2004IPv4/IPv6 Communication Research of Tunnel TechnologyMajor:Network Engineering Tutor: Abstract with twithhe rapid development of network,due to IPv4Is lack of address, it Will not be able to meet the future needs of users. While the emergence of IPv6 Just solves this problem. So researching the
33、Smooth transition from IPv4 to IPv6 and Speeding up the transition process is the urgent priority which is good for deployment of the IPv6 network.Keywords IPv4;IPv6;GRE;Tunnel Technology communication致谢本文是在 讲师的悉心指导和无私帮助下完成的, 老师的指导和帮助使我掌握了正确的研究方法,并培养了严谨认真的学习和工作态度,使我顺利地完成了毕业论文(设计)的各项工作,在此谨向我的指导老师 表示深深的敬意和诚挚的。很庆幸在我们的求学生涯中,能够有这样的导师。再次感谢杨师的教诲之恩,我们将永远铭记于心! 10