Linux操作系统网络协议栈的设计与实现研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:zhjzhouji
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Linux操作系统在当今服务器市场上占有相当大的份额,这说明它的网络协议栈的设计是成功和高质量的。同时,Linux作为一个开放源码的操作系统,它不仅继承了UNIX系统的大部分优良特性,而且将当今最先进的技术融入其中,比如支持最大数量的流量控制算法、最新的TCP拥塞控制算法的实现,防火墙设计的高度模块化……。所以研究Linux操作系统的网络协议栈就能较快地掌握最先进的计算机技术、获得大量有益的经验。继而将这些技术运用到国产操作系统、嵌入式软件和信息安全产品的开发和设计上来。最终打破国外公司在这些领域的垄断地位,将中国的民族软件业真正地发展起来,走上独立自主的道路。 由于Linux是一个宏内核的操作系统,网络协议栈属于内核的一部分,而且它是建立在进程管理系统、存储管理系统、文件系统、进程间通信和设备驱动之上的。所以要完成本课题的任务实际上需要对整个Linux操作系统内核进行研究。针对论文的撰写,鉴于篇幅和重点,本论文先从总体上对Linux2.4.x网络协议栈的分层实现进行深入剖析,并与标准的TCP/IP协议栈的设计进行对比。接着对内核中协议栈的初始化过程进行深入分析,这主要包括套接字层初始化、各种协议模块的初始化、网络接口设备的初始化以及流量控制和防火墙模块的初始化几个过程。然后按照协议栈的从低到高顺序分为四个专题,对其重要部分的实现用理论与具体实现相结合的方法加以研究。第一个专题是网卡驱动,主要讲述NE2000网卡的硬件特性与具体的软件驱动程序设计。第二个专题是流量控制,主要讲述两大理论模型和内核中流量控制模块的具体设计,以及FIFO的一个实例。第三个专题是内核防火墙的具体设计与实现,主要讲述整个防火墙框架的建立和包过滤子系统的设计。第四个专题是TCP协议的拥塞控制,主要对Linux的TCP拥塞控制状态机的设计、Linux拥塞控制的重要特征、Linux的TCP实现和IETF规范异同之比较进行深入研究。这四个专题基本上覆盖了Linux网络协议栈设计的重要特征,融合了当今最先进的计算机技术,是非常值得借鉴和学习的。
其他文献
本论文研究的主要内容为遥感图象中的机场分割与识别。作为一个应用很广泛的领域,目标识别具有很强的针对性和依赖性。在实际应用中,往往是针对不同的目标,提出不同的应用假设,选
利用数字作品中普遍存在的冗余数据与随机性把版权信息嵌入在数字作品中,起到保护数字产品版权或完整性的作用。随着因特网技术的飞速发展,在因特网上允许授权用户远程查询和访
本文讨论了包括预先配置的对密钥管理方案以及基于可信第三方的对密钥管理等几种主要的对密钥管理方案,通过分析无线传感器网络中影响到对密钥管理的几种限制条件,总结提出了
从20 世纪90 年代开始,在国际网络界就进行了许多关于高性能的网络体系结构的研究。但由于这些研究都是基于传统的层次结构网络,所以虽然它能对网络的性能进行改善,但难以解
情绪是一个复杂的心理状态或过程,目前在科学研究领域对于情绪还没有准确的定义。情绪研究不仅对脑功能研究具有十分重要的理论意义,并且对人-机交互应用具有非常重要的现实应
本文主要从说话人的切分和说话人的聚类两个方面讨论了视频中的说话人信息处理。在说话人切分方面,本文详细讨论了说话人切分的三个基本问题:候选切换点的选择、说话人特征提取
微观经济学认为需求与供给的关系是影响价格波动最重要的因素。过去对股票市场的讨论一般仅限于价格本身,却忽略了供求关系与价格之间的内在联系。而不管用什么理论和分析方法
随着生物医学领域中大量数据的产生,如何高效且有效的处理数据,并进行分类是一个值得研究的工作。在这样的背景下,本文对人体生理、临床医疗、流行病学、移动医疗等若干生物医学
通讯与信息技术的发展突飞猛进,数字信息呈爆炸式增长。在这个过程中,数据压缩技术在人们的工作与科研中扮演着必不可少的重要角色。在众多数据压缩技术中,矢量量化技术(VQ)
本文对多分类器综合模式识别的设计方法进行了研究。在多分类器综合模式识别系统的分类器集的设计上,本文分别提出了基于最小关联度和基于遗传算法的两种方法。前者以具有最小