论文部分内容阅读
IPv6被认为是下一代互联网的核心协议。IPv4地址资源已经枯竭的状况加速了各国IPv4网络向IPv6网络过渡。在过渡初期,IPv4网络和IPv6网络将在一段时期内并存,IPv6网络是IPv4网络海洋中的孤岛。IPv6孤岛之间通信有两种方式来组网:一、IPv6孤岛之间直接建立物理链路连接;二、在IPv4网络中建立IPv6隧道来实现。IPv4节点与IPv6节点通信需要一些过渡机制,包括双栈技术、隧道技术和转换技术等。隧道技术是实际应用中广泛采用的一种方式。目前可用的隧道技术比较多,比如ISATAP、6TO4和TEREDO等。然而这些技术在不同的环境应用中各有优缺点。本文设计了一种基于UDP的IPv4/v6虚拟隧道路由器,并实现了基于Linux的软件包。该软件包可以应用在各种网络环境中,包括连接到互联网的私有网络。主要研究工作如下:首先,利用协议软件学习和分析了IPv6协议族,包括IPv6规范、IPv6地址结构、ICMPv6、邻节点发现协议、无状态地址自动配置协议和IPv6穿越以太网。然后,在Linux操作系统下,用C语言作为编程语言,利用虚拟网卡技术在用户空间层开发了基于UDP的虚拟隧道通信软件包。软件包包括一个客户端和一个服务器端,支持Linux平台。服务器作为虚拟隧道路由器为客户端提供隧道服务,隧道类型为IPv6-in-UDP,提供认证和加密手段。软件主要协议包括隧道会话协议和虚拟网卡隧道化方法。软件包主要解决的问题有:一、设计和实现了一种隧道会话协议;二、设计并实现了一种基于RSA的密钥交换算法,实现了数据报文的加密和解密;三、实现了客户端自动配置IPv6全球地址;四、实现了一种用排序二叉树解决冲突的哈希表,用于IPv4网络和IPv6网络边界节点处进行数据包转发。最后,利用HEXGO Gateway6 client连接到http://go6.net网络,建立IPv6测试环境,对软件进行了测试,分析了实验结果。论文分为6章:绪论、IPv6协议族分析研究、开发平台、虚拟隧道路由器设计与实现、测试与分析和结束语。