IPv6与IPv4隧道技术的编程模拟

上传人:l****6 文档编号:38057716 上传时间:2018-04-26 格式:DOC 页数:3 大小:27.50KB
返回 下载 相关 举报
IPv6与IPv4隧道技术的编程模拟_第1页
第1页 / 共3页
IPv6与IPv4隧道技术的编程模拟_第2页
第2页 / 共3页
IPv6与IPv4隧道技术的编程模拟_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《IPv6与IPv4隧道技术的编程模拟》由会员分享,可在线阅读,更多相关《IPv6与IPv4隧道技术的编程模拟(3页珍藏版)》请在金锄头文库上搜索。

1、1IPv6 与 IPv4 隧道技术的编程模拟摘 要 IPv6 协议是因特网的新一代通信协议,如何实现从 IPv4 到 IPv6 的平滑过渡是 IPv6 发展目前急需解决的关键问题。本文从实际情况出发,对隧道模式提供一种可行的模拟方案,为即将到来的网络过渡1时期采用隧道模式提供一定的技术探索。关键词 IPv6 IPv4 IPv4/IPv6 双栈 隧道1 引言一旦 IPv6 投入应用,看起来网络中所有的主机都必须升级。但是,实际情况并非如此,研究向 IPv6 过渡的人士正在致力于 IPv6 的设计及 IPv6 所支持的协议和机制,以实现得体的渐进的升级。如果能有条理地、明智地进行现有网络向 IPv

2、6 的升级,升级的影响可能较小。在 RFC1933(主机和路由器向 IPv6 过渡的机制)、RFC 2185(向 IPv6 过渡的选路问题)、RFC2071(网络重新编号概观:为何需要及需要什么)以及 RFC 2072(路由器重新编号指导)等文档中都涉及有关向 IPv6 过渡的讨论。向 IPv6 过渡必定是渐进的,预计 IPv4 和 IPv6 将长期共存,目前大多数过渡策略都依靠隧道的实现方法,即至少在最初,将来自 IPv6 岛的 IPv6 包封装在 IPv4 包中,然后在广泛分布的 IPv4 海洋中传送。经过过渡的早期阶段,越来越多的 IP 网络和设备将支持 IPv6。但即使在过渡的后期阶段

3、,IPv6 封装仍将提供跨越只支持IPv4 的骨干网和其他坚持使用 IPv4 的网络的连接能力2-3。本文在使用简单的实验室环境下实现隧道模式提供一种可行的模拟方案,为即将到来的网络过渡时期采用隧道模式提供一定的技术探索。22 技术基础(1)IPv6 地址设置IPv6 地址长度为 128 位。RFC 2373 中不仅解释了这些地址的表现方式,同时还介绍了不同的地址类型及其结构。IPv6 地址有三类、单播、组播和泛播地址。单播和组播地址与 IPv4 的地址非常类似;但 IPv6 中不再支持 IPv4 中的广播地址,而增加了一个泛播地址。一个完整的 IPv6 地址分为两个部分:子网前缀和接口标识符

4、,因此人们期待一个 IP 节点地址可以按照类似 CIDR 地址的方式被表示为一个携带额外数值的地址,其中指出了地址中有多少位是掩码。即,IPv6 节点地址中指出了前缀长度,该长度与 IPv6 地址间以斜杠区分,例如:1030:0:0:0:C9B4:FF12:48AA:1A2B/60,这个地址中用于选路的前缀长度为 60 位。IPv6 寻址模型与 IPv4 很相似。每个单播地址标识一个单独的网络接口。IP 地址被指定给网络接口而不是节点,因此一个拥有多个网络接口的节点可以具备多个IPv6 地址,其中任何一个 IPv6 地址都可以代表该节点。尽管一个网络接口能与多个单播地址相关联,但一个单播地址只

5、能与一个网络接口相关联。每个网络接口必须至少具备一个单播地址。(2)隧道机制隧道技术是一种通过互联网络基础设施在网络之间传递数据的方式。使用隧道传递的数据可以是不同协议的数据帧或包,隧道协议将这些其它协议的数据帧或包重新封装在新的包头中发送,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由,一旦到达网络终点,数据将被解包并转发到最终目的地。整个传递过程中,被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。简言之,隧道技术是指包括数据封装,传输和解包在内的全过程。33 模拟序列设计由于 IP 地址被指定给网络接口而不是节点,对于隧道机制的编程模拟可以使用通用接口的方式实现,

6、即将隧道模拟为一个虚拟的接口,实际使用中绑定到实际的物理接口中,其接口属性同普通的接口类似。该种方法比较灵活,能够以一种形式实现不同方式的隧道4。(1)确定隧道模式各种类型的隧道5都可以表示为图 1 所示的结构,其中协议 B 作为协议 A 的虚拟下层协议,源包源节点和隧道入口节点可以重合,源包目的节点和隧道出口节点可以重合。由于图 1 所示结构的典型性,模拟的隧道结构模式就在图 1 的基础上设计。图 1 隧道结构(2)确定模拟方法图 1 所示结构实现比较复杂,因此要考虑用适当的模拟方法进行简化。实际模拟中只模拟了网络节点的一般隧道技术,包括隧道包的封装和解封装,对隧道包在传输过程中的各种处理技

7、术不做模拟。同时加以一定扩展,以一台主机模拟多台,这样避免了模拟过程中的同步处理问题,也简化了模拟系统的实现。(3)模拟程序序列设计考虑到 MSC(Message Sequence Chart) 6语言描述的直观性,以及 MSC 形式化描述和抽象模拟序列集与可由机器编译执行的描述形式之间转换的易行性,以MSC 形式化描述作为设计过程中的模拟序列的表示形式。模拟序列的设计步骤如下:首先根据 IPv6 的协议说明和隧道机制实现标准选择隧道协议实现隧道运行期的各种状态,然后根据选定的状态设计模拟序列并表示4为 MSC 形式,接着将待模拟的隧道抽象表示为 MSC 形式的时序逻辑图,作为模拟序列集的模拟

8、序列,并添加隧道模拟过程中必须的代码序列,合成为一个完整模拟的 MSC 表示。隧道模拟过程的 MSC 描述如图 2 所示。图 2 隧道模拟过程的 MSC 描述IPv6 隧道模拟过程的形式化描述如下:Simulate Procedure / 模拟隧道序列Char* Echo_IPv6_Local() / 发送 IPv6 连接请求Char* Reply_IPv6_Local() / 回复 IPv6 连接请求Char* Send_IPv6_Data() / 发送 IPv6 数据报文Int IPv6_Over_IPv4() / 将 IPv6 数据包进行 IPv4 封装Int IPv4_InTo_IPv

9、6() / 从 IPv4 数据包中解封出 IPv6 数据包Char* Accept_IPv6_Data() / 接收 IPv6 数据报文Char* Simu_Exit() / 模拟结束/Procedure通过 VC6 编程实现的模拟序列正确的实现了以上模拟过程,在实验室(Windows 2003 双栈主机纯 IPv4 路由)环境下对隧道的数据封装,传输和解包在内的全过程进行了模拟。4 结束语在 IPv6 成为主流协议之前,首先使用 IPv6 协议栈的网络希望能与当前仍被IPv4 支撑着的 Internet 进行正常通信,因此必须对过渡时期的 IPv4/IPv6 互通技术5进行足够的技术研究,以

10、保证 IPv4 能够平稳过渡到 IPv6。本文给出了对 IPv6 过渡机制中隧道模式进行实验室模拟的一个简单方法,重点阐述了如何从 IPv6 协议说明得到模拟方法并生成模拟序列集的思想与设计过程。参考文献1 Bradner S,Mankin A.The Recommendation for the IP Next Generation Protocol.RFC1752,1995-012 L EI Zhen-zhou.The transition from IPv4 to IPv6J. Modern Science and Technology of Telecommuni- cations, 2002,10 (10) :742 773 陶涛.我国 IPv6 网络市场发展综述J.广播电视信息,2005,(04)4 钱雁斌,陈性元.基于 IPsec 的隧道动态交换机制研究J计算机工程与应用,2006,(34)5 沈曾伟,周刚.IPv6 接入网拓扑结构自动发现方法研究J计算机工程,2006,(19)6 ITU - T Recommendation Z. 120 :Message Sequence Chart (MSC) ( 11/1999)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号