- 1、本文档共1页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
⼏个主流TCPIP协议栈介绍
我们知道协议栈内包括了诸多协议。那么对于这当中的协议的功能以及作⽤,我们来具体了解⼀下吧。现在让我们做⼀个盘点,帮助⼤家总
结⼀下,还望对⼤家能够有所帮助。
1、BSDTCPIP协议栈
BSD栈历史上是其他商业栈的起点,⼤多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派⽣的.这是因为BSD栈在BSD许可协议下
提供了这些专业栈的雏形,BSD许⽤证允许BSD栈以修改或未修改的形式结合这些专业栈的代码⽽⽆须向创建者付版税.同时,BSD也是许多
TCP/IP协议中的创新(如⼴域⽹中饿拥塞控制和避免)的开始点.
2、uC/IP
uC/IP是由GuyLancaster编写的⼀套基于uC/OS且开放源码的TCPIP协议栈,亦可移植到其它操作系统,是⼀套完全免费的、可供研究的TCP
IP协议栈,uC/IP⼤部分源码是从公开源码BSD发布站点和KA9Q(⼀个基于DOS单任务环境运⾏的TCPIP协议栈)移植过来.uC/IP具有如下
⼀些特点:带⾝份验证和报头压缩⽀持的PPP协议,优化的单⼀请求/回复交互过程,⽀持IP/TCP/UDP协议,可实现的⽹络功能较为强⼤,并可裁
减.UCIP协议栈被设计为⼀个带最⼩化⽤户接⼝及可应⽤串⾏链路⽹络模块.根据采⽤CPU、编译器和系统所需实现协议的多少,协议栈需要
的代码容量空间在30-60KB之间.
3、LwIP
LwIP是瑞⼠计算机科学院(SwedishInstituteofComputerScience)的AdamDunkels等开发的⼀套⽤于嵌⼊式系统的开放源代码TCPIP协
议栈.LwIP的含义是LightWeight(轻型)IP协议,相对于uip.LwIP可以移植到操作系统上,也可以在⽆操作系统的情况下独⽴运⾏.LwIPTCP/IP实
现的重点是在保持TCP协议主要功能的基础上减少对RAM的占⽤,⼀般它只需要⼏⼗K的RAM和40K左右的ROM就可以运⾏,这使LwIP协议栈
适合在低端嵌⼊式系统中使⽤.LwIP的特性如下:⽀持多⽹络接⼝下的IP转发,⽀持ICMP协议,包括实验性扩展的的UDP(⽤户数据报协议),
包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议),提供专门的内部回调接⼝(RawAPI)⽤于提⾼应⽤程序性能,并提
供了可选择的Berkeley接⼝API。
4、uIP
uIP是专门为8位和16位控制器设计的⼀个⾮常⼩的TCP/IP栈.完全⽤C编写,因此可移植到各种不同的结构和操作系统上,⼀个编译过的栈可以
在⼏KBROM或⼏百字节RAM中运⾏.uIP中还包括⼀个HTTP服务器作为服务内容.许可:BSD许⽤证。
5、TinyTcp
TinyTcp栈是TCP/IP的⼀个⾮常⼩和简单的实现,它包括⼀个FTP客户.TinyTcp是为了烧⼊ROM设计的并且现在开始对⼤端结构似乎是有⽤
的(初始⽬标是68000芯⽚).TinyTcp也包括⼀个简单的以太⽹驱动器⽤于3COM多总线卡。
选择⼀个开源协议栈可以从四个⽅⾯来考虑:
⼀个是是否提供易⽤的底层硬件API,即与硬件平台的⽆关性;
⼀个是与操作系统的内核API.协议栈需要调⽤的系统函数接⼝是否容易构造,
另⼀个对于应⽤⽀持程度.
最关键的是占⽤的系统资源是否在可接受范围内,有裁减优化的空间否?
其中,BSD栈可完整实现TCP/IP协议,但代码庞⼤,70KB-150KB之间,裁减优化有难度,uIP和TinyTcp代码容量⼩巧,实现功能精简,限制了在⼀
些较⾼要求场合下的应⽤,如可靠性与⼤容量数据传输.
LwIP和uC/IP是同量级别的两个开源协议栈,两者代码容量和实现功能相似,LwIP没有操作系统针对性,它将协议栈与平台相关的代码抽象出来,
⽤户如果要移植到⾃⼰的系统,需要完成该部分代码的封装,并为⽹络应⽤⽀持提供了API接⼝的可选性.uC/IP协议最初是针对uC/OS设计,为⽅
便⽤户移植实现,同样也抽象了协议栈与平台相关代码,但是协议栈所需调⽤的系统函数⼤多参照uC/OS内核函数原型设计,并提供了协议栈的
测试函数,⽅便⽤户参考,其不⾜在于该协议栈对⽹络应⽤⽀持不⾜.
根据以上分析,从应⽤和开发的⾓度看,似乎LWIP更得到了⽹上很多朋友使⽤的青睐;uC/IP在⽂档⽀持与软件升级管理上有很多不⾜,但是它最
初是针对UC/OS⽽设计,
文档评论(0)