论文部分内容阅读
随着互联网技术的快速发展,身份与位置分离成为当前互联网领域研究的热点之一。身份与位置的分离为互联网中的路由扩展性、移动性、安全性等问题的解决提供了一个良好的基础。本文的工作依托国家973项目“一体化可信网络与普适服务体系基础研究”。一体化网络是一种新的互联网体系架构,其核心思想是通过引入接入标识、交换路由标识以及接入标识与交换路由标识之间的分离映射机制,以便支持身份与位置分离。接入交换路由器是一体化网络中的关键设备,其设计和实现对一体化网络方案的研究和验证有着极其重要的意义。本文主要研究一体化网络中接入标识与交换路由标识分离映射机制在接入交换路由器上的设计和实现。首先,本文简要介绍了目前具有代表意义的几种身份与位置分离的设计方案,并对包括一体化网络体系在内的各个方案的关键不同点进行了分析和比较,指出了其各自的优势和缺陷。其次,在对一体化网络体系进行深入分析的基础上,本文给出了一体化网络对于其关键网络设备——接入交换路由器协议栈的功能需求,并针对性地提出了模块化的接入标识与交换路由标识分离映射协议栈的设计方案,以及数据包的处理流程算法。第三,本文对给出的设计方案进行了编程实现。在此实现方案中,主要有以下特点:1)采用Linux开源内核协议栈,以动态加载的内核模块形式实现了接入标识与路由标识分离映射的功能;2)采用双关键字哈希链表的数据结构存储分离映射的标识映射数据,保证了数据包转发的处理速度;3)并且采用了请求等待队列缓存在解析标识映射期间的数据包,减少了数据包的丢失;4)协议栈使用Netlink套接口实现了外部交互接口,便于与其它服务进程的交互协同。通过在实验平台上部署软件,实际测试了接入标识与路由标识分离映射协议栈的功能和性能。测试表明,该协议栈基本满足了一体化网络分离映射方案的各项功能需求,数据包的转发时延与普通Linux内核协议栈IP层数据包转发时延相当,达到了25微秒左右的数量级,并且在增加大量标识映射条目的情况下没有明显的时延增加。本方案的成功实现为一体化网络的测试和分析提供了一个实验平台,为后续工作的进行奠定了良好基础。