论文部分内容阅读
针对无线自组织网络协议的研究是近年来网络通信领域的热点,为了提高无线自组织网络的性能,开发者设计了很多技术对无线自组织网络协议的功能进行扩充和改善。一种技术就是在标准网络协议栈的基础上进行协议层扩充,结合网络协议栈的其他层次,构成一个无线自组织网络的协议栈。一般来说,对标准TCP/IP协议栈的扩展是在操作系统的内核中完成,而实现的操作系统平台也一般为Linux操作系统。但是,在操作系统的内核中实现协议栈的扩展时,开发者需要了解很多与开发扩展协议层关系不大的内核细节,并且在内核中编程调试困难,开发效率低,最终其实现代码的可扩展性和可移植性都很差。出于以上的考虑,笔者研究了在Linux操作系统的用户空间来实现无线自组织网络协议栈的问题。在用户空间实现网络协议栈的扩展,开发者可以不必考虑太多内核细节,专注于开发协议层本身的功能,而且用户空间有足够强大的调试工具可以调试开发者的代码。最终实现的扩展无线自组织网协议层在用户空间运行,具有良好的可扩展性和可移植性。本文主要介绍了在Linux用户空间实现无线自组织协议栈的过程,首先分析开发用户空间协议栈的需求,然后讨论采用什么具体的技术解决开发用户空间协议栈时遇到的问题,接下来介绍使用这些技术实现的一个通用的用户空间协议层扩展模式,最后介绍了使用这个通用扩展模式开发的无线自组织协议栈运行在一个无线自组织网络模拟演示系统中的测试情况,证实用户空间协议层扩展模式的正确性。本文立足于在Linux平台上实现用户空间的无线自组织协议栈,但是并不局限于单纯在Linux上实现,而是以这个课题为出发点,抽象出一个在操作系统的用户空间扩展网络协议层的通用模式。这个通用模式使用了虚拟网络接口技术,不但可以实现课题中的无线自组织协议栈,还可以实现其他采用不同协议和算法的扩展协议层。