论文部分内容阅读
IPv6协议为克服现有IPv4协议的诸多不足而诞生,但从IPv4到IPv6的过渡是一个漫长的过程,如何在此过程中保证二者兼容互通,并充分利用各自特性来更有效地开展各类应用足比较热门的研究内容。CERNET2 IPv6主干网的开通以及AMS02项目在全球的实施为开展这些研究提供了良好的平台。任AMS项目的传输平台中,数据传输需要的高带宽与目前拥挤的IPv4主干网络构成了矛盾,因此论文以此为背景设计并实现了一个IPv4 over IPv6隧道系统FoX,将IPv4报文封装在IPv6报文中通过相对空闲的IPv6.主干进行传输,并且充分保证隧道的性能、效率及可管理性。并且由于Linux操作系统的开放性和灵活性,论文将Linux作为研究和实现该隧道系统的平台。
FoX隧道系统逻辑上分为隧道驱动、隧道管理子系统与QoS子系统三块,而隧道驱动是系统运作的核心。论文分析了Linux内核网络协议栈的实现机制以及已有的隧道实现技术,在考虑QoS功能的基础上选择了内核态驱动与用户态驱动FoX隧道驱动的两种实现方式,前者是不带额外QoS功能的通用IPv4 over IPv6隧道实现,而QoS机制则大专用的用户驱动中实现。对于内核态驱动,论文给出了驱动中重要实体的内核态表示,分析和确定了隧道MTU的选取方式、隧道报头宿地址的处理方式以及递门封装的解决方法,并对隧道错误的处理以及隧道配置接口等关键问题进行了研究,拿出了可行的设计方案并且予以实现。对于用户态驱动,论文首先确定了报文从内核态到用户态的拷贝方法,并以此为基础设计了用户态驱动的总体结构与各功能模块。论文发现内核态驱动所使用的内核功能无法应用于用户态驱动,因此额外设计了内核IP协议栈路由功能的模拟机制以及隧道信息统计模块。论文还使用进程间通信机制实现了隧道的配置接口,并且针对使用原始套接口发送报文时的MTU错误尝试了三种方案,通过试验和分析,最终通过由驱动进程实现报文分段的方法解决了该问题。
论文为用户态驱动设计并实现了一个可选的QoS子系统。该子系统与用户态驱动是一个无缝的整体,符理员能够灵活的决定是否启用QoS机制。在QoS子系统的总体框架中,重点部件是报文分类策略库、报文分类器和队列调度器,论文研究了报文分类算法和队列调度算法,并针对FoX隧道系统的实际情况分别采用了三层多叉树算法和WRR调度算法。
此外,论文针对FoX隧道的内核态驱动与用户态驱动综合设计并实现了一个隧道管理子系统。该子系统主要包括管理客户端、隧道采集平台与隧道监控程序.三个逻辑模块,它能使管理员对整个FoX隧道系统的运行状态有实时并清晰的了解,并能灵活地对系统中的所有隧道进行控制。管理子系统能满足下述管理要求:动态显示整个隧道系统的拓扑结构,包括隧道服务器、服务器之间的所有隧道连接以及隧道的活跃状态;动态显示特定隧道的出入流量、收发报文数、收发报文错误数以及收发丢包数;提供一个图形化管理接口,使管理员能方便地配置和创建隧道。
论文最后在实验室环境和实际网络环境中对FoX隧道系统进行了正确性验证与性能测试,测试结果体现了该系统的实用价值。