文档详情

Linux应用程序网络编程基础V.ppt

发布:2017-02-14约8.55千字共62页下载文档
文本预览下载声明
* * TCP/IP协议的基础知识 * 协议的选择 3. 网络的可靠性 由于TCP协议的提出主要是解决网络的可靠性问题,它通过各种机制来减少错误发生的概率。因此,在网络状况不是很好的情况下需选用TCP协议(如在广域网等情况),但是若在网络状况很好的情况下(如局域网等)就不需要采用TCP协议,选择UDP协议来减少网络负荷。 Linux网络的发展 * 介绍 Linux的网络功能是Linux系统非常重要的组成部分,在学习Linux的网络编程知识之前,了解Linux网络功能的发展过程可以帮助我们理解Linux的网络功能。 现在让我们回顾一下这一激动人心的过程。 Linux网络的发展 * 介绍 Linux诞生时,UNIX的网络功能已经相当成熟了,当时主要有两个版本:BSD系统和System V系统。 但是,Linux网络的开发者选择了重新开发这种方式。因为那时还不能确认使用这两个版本是否会有版权的限制。 另外一个原因是Linux的开发者有许多新的想法,他们希望用新的,自己的方法实现,而不是模仿他人的方法,而且他们相信自己可以做得更好。于是他们就开始工作了。 Linux网络的发展 * 介绍 最早领导Linux内核网络代码开发的是Ross Biro biro@yggdrasil。 Ross完成了一个简单的、不完整的实现。他主要实现的部分是从WD-8003以太网驱动程序扩展出来的一些例程序。 这个实现可以帮助其他人可以是测试和适应这个软件,有的人确实用它实现了网络功能。 Linux网络的发展 * 介绍 随着时间的推移,Linux团体内部对网络功能的要求超过了Ross承受能力,于是他放弃了作为开发领导者的身份。 Ross的努力是值得尊敬的,正是他的努力使得整个工程启动了,并且它却是创建了一些有用的东西,而所有这些都是未来工作能够持续的动力。他的这部分工作仍是目前版本的重要部分。 Linux网络的发展 * 介绍 Orest Zborowski obz@Kodak.COM为Linux网络内核编写了最初的BSD套接字(Socket)编程接口。 对于编程者,这是一个巨大的飞跃,因为这使得很多已有的网络应用程序无需经过太大的修改就可以移植到Linux系统。这就丰富了Linux的网络应用,并进而促进了Linux网络功能的进一步发展。 Linux网络的发展 * 介绍 大约在同时,Laurence Culhane loz@holmes.demon.co.uk开发了最初的支持SLIP协议的驱动程序。 很多使用电话线上网的用户这时也可以使用新的Linux网络软件了。随着Linux上网的人越来越多,更多的人参与到使用和测试网络软件的工作中来。 Linux网络的发展 * 介绍 Ross辞职了一段时间以后,Fred van Kempen waltje@ 承担起了领导开发的任务。Fred对Linux网络功能的发展有一些雄心壮志,他编写了一系列网络代码,被称为NET-2的内核代码,这是一个用户能很好使用的版本。 Fred在他的开发日程上添加了一些创新,如动态设备接口、业余电台AX.25协议支持和一个更加模块化的网络实现。Fred的NET-2代码被很多Linux爱好者使用过,但它仍然只是标准内核代码的补丁程序,并未包含在普通发行版本中。 Linux网络的发展 * 介绍 Fred的注意力集中在对标准网络实现的创新,而不是更方便地配置网络。这时候的网络配置过程非常复杂,只能满足80%左右的用户要求。 用户们渐渐对这个复杂的网络内核不耐烦了。如同Ross面临的一样,Fred作为开发领导者所承受的压力不断加大。 Linux网络的发展 * 介绍 Alan Cox iialan@提出了一种解决办法。他建议由他来承担Fred的NET-2代码的改进,他将调试这部分的代码,使它变得可靠稳定,满足大多数用户的要求,这样便可以减轻Fred的压力,让他能专注于创新的工作。Alan开始了他的工作,并获得了一定程度的成功,他的第一个版本的Linux网络代码被称为NET-2D(ebugged)。该代码在许多典型配置的情况下工作得很可靠,用户们对它很满意。随着工作的深入,Alan也对于这个工程产生他自己的想法和实现技巧,这便带来了一个关于NET-2代码发展方向的问题。 Linux网络的发展 * 介绍 在Linux网络团体内部产生了两个不同的派别:一派的原则是“先使它工作起来,然后使它变得更好”,另一派的原则是“先使它变得更好”。 Linus最后作出了裁决,他给Al
显示全部
相似文档