论文部分内容阅读
随着计算机硬件的不断发展,嵌入式设备越来越多的被应用在高要求的领域,同时对网络通信的性能也提出了更高的要求。尽管目前已经出现了很多高性能嵌入式硬件平台,但是现今成熟的嵌入式网络协议栈往往不能很好的利用这些硬件资源,导致网络性能没有得到明显的提升。如何提升嵌入式应用的网络性能已经成为在开发嵌入式应用过程中的一个重要问题。本论文以高性能的嵌入式系统为出发点,针对其硬件特性,对嵌入式网络协议栈实现中的关键技术进行优化,改善网络协议栈的实时性能和吞吐量,从而提升嵌入式应用的网络性能。本文对这些关键技术进行了理论评估,选择了LwIP协议栈和RT-Linux实时操作系统作为研究对象,并在此基础上进行了实践。在实践中,将网络协议栈的进程模型设计成两层结构,接口层为一个进程,网络层及以上协议层为一个进程,在充分利用并行机制的情况下,提高协议栈内部处理数据的速度;缓冲区的静态划分和动态分配不仅降低了管理内存上的耗时,而且减少了内存碎片的产生;在TCP控制块管理上,放弃原先通过循环遍历来查找控制块的方案,改用Hash模块来优化查找算法,避免因查找而消耗大量时间;在TCP定时器的管理上,通过为其设计两层时间轮表,提高了处理定时器的效率,有效的减少了处理定时器所需花费的时间。对Select接口进行优化,通过实现epoll接口,减少因数据在内核空间和用户空间之间传递而产生的内存消耗,并且减少了判断文件描述符状态的所消耗的时间。最后,本文对优化前后的网络协议栈进行了基本通信功能的测试和网络性能的测试,分析测试结果得出优化后的网络协议栈的网络性能有了明显的提升。