⼏种开源的TCPIP协议栈分析
1:BSD TCP/IP协议栈,BSD栈历史上是其他商业栈的起点,⼤多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派⽣的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许⽤证允许BSD栈以修改或未修改的形式结合这些专业栈的代码⽽⽆须向创建者付版税。同时, BSD也是许多TCP/IP协议中的创新(如⼴域⽹中饿拥塞控制和避免)的开始点。
2:uC/IP是由Guy Lancaster编写的⼀套基于uC/OS且开放源码的TCP/IP协议栈,亦可移植到操作系统,是⼀套完全免费的、可供研究的TCP/IP协议栈,uC/IP⼤部分源码是从公开源码BSD发布站点和KA9Q(⼀个基于DOS单任务环境运⾏的TCP/IP协议栈)移植过来。uC/IP 具有如下⼀些特点:带⾝份验证和报头压缩⽀持的PPP协议,优化的单⼀请求/回复交互过程,⽀持IP/TCP/UDP协议,可实现的⽹络功能较为强⼤,并可裁减。 UCIP协议栈被设计为⼀个带最⼩化⽤户接⼝及可应⽤串⾏链路⽹络模块。根据采⽤CPU、编译器和系统所需实现协议的多少,协议栈需要的代码容量空间在 30-60KB之间。
3、 LwIP是瑞⼠计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的⼀套⽤于嵌⼊式系统的开放源代码TCP/IP协议栈。LwIP的含义是Light Weight(轻型)IP协议,相对于uip。LwIP可以移植到操作系统上,也可以在⽆操作系统的情况下独⽴运⾏。LwIP TCP/IP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占⽤,⼀般它只需要⼏⼗K的RAM和40K左右的ROM就可以运⾏,这
使 LwIP协议栈适合在低端嵌⼊式系统中使⽤。LwIP的特性如下:⽀持多⽹络接⼝下的IP转发,⽀持ICMP协议,包括实验性扩展的的UDP(⽤户数据报协议),包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议),提供专门的内部回调接⼝(Raw API)⽤于提⾼应⽤程序性能,并提供了可选择的Berkeley接⼝API。
4、uIP是专门为8位和16位控制器设计的⼀个⾮常⼩的TCP/IP栈。完全⽤C编写,因此可移植到各种不同的结构和操作系统上,⼀个编译过的栈可以在⼏KB ROM或⼏百字节RAM中运⾏。uIP中还包括⼀个HTTP服务器作为服务内容。许可:BSD许⽤证tcpip协议中基于tcp协议的应用程序
5、TinyTcp 栈是TCP/IP的⼀个⾮常⼩和简单的实现,它包括⼀个FTP客户。TinyTcp是为了烧⼊ROM设计的并且现在开始对⼤端结构似乎是有⽤的(初始⽬标是68000芯⽚)。TinyTcp也包括⼀个简单的以太⽹驱动器⽤于3COM多总线卡
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论