本帖最后由 490353119 于 2015-1-8 14:32 编辑 UIP由瑞典计算机科学学院(网络嵌入式系统小组)的Adam Dunkels开发。1) 代码非常少,其协议栈代码不到 6K,很方便阅读和移植。 2) 占用的内存数非常少,RAM 占用仅几百字节。 3) 其硬件处理层、协议栈层和应用层共用一个全局缓存区,不存在数据的拷贝,且发送和接收都是依靠这个缓存区,极大的节省空间和时间。 4) 支持多个主动连接和被动连接并发。 5) 其源代码中提供一套实例程序: web 服务器, web 客户端,电子邮件发送程序(SMTP 客户端), Telnet 服务器,DNS 主机名解析程序等。通用性强,移植起来基本不用修改就可以通过。 6) 对数据的处理采用轮循机制,不需要操作系统的支持。 现在UIP没维护了,作为 Contiki的一部分。最新的协议是UIP1.0。下载地址:http://github.com/adamdunkels/uip/tags lwip也是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。 lwip提供三种API:1)RAW API 2)lwip API 3)BSD API LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行。 (1)支持多网络接口下的IP转发; (2)支持ICMP协议; (3)包括实验性扩展的UDP; (4)包括阻塞控制、RTT 估算、快速恢复和快速转发的TCP(传输控制协议); (5)提供专门的内部回调接口(Raw API),用于提高应用程序性能; (6)可选择的Berkeley接口API。 (7)在最新的版本中支持ppp (8) 新版本中增加了的IP fragment的支持. (9) 支持DHCP协议,动态分配ip地址. 现在还在维护,最新的协议版本为lwip 1.4.1 released。协议下载地址:http://download.savannah.gnu.org/releases/lwip/ 上面2个协议都是开源免费的。 至于uc/TCPIP 是收费的协议,源码层次清晰,代码量大,官网地址:http://micrium.com/rtos/uctcpip/overview/ |
但好歹也是新一代从业者,还是不要这么无耻的好。
何况 uip lwip可以脱离操作系统 这个特性实在是太牛叉了。
身为一个不喜欢依赖任何其他部件的 轻量主义者,实在是很爱他。
当然大名鼎鼎的 ucos啥的,实在也是没用过,不知道是否真存在谁比谁好的问题。
但个人经验是,一般来说同类的东西都是差不多的。
不存在什么有压倒性的优势,这是google教会我的,只有会做广告的商业产品,没有做的不好的开源产品