天天看點

幾種開放源碼的TCPIP協定棧

幾種開放源碼的TCPIP協定棧概述

1、BSD TCP/IP協定棧

BSD棧曆史上是其他商業棧的起點,大多數專業TCP/IP棧(VxWorks内嵌的TCP/IP 棧)是BSD棧派生的。這是因為BSD棧在BSD許可協定下提供了這些專業棧的雛形,BSD許用證允許BSD棧以修改或未修改的形式結合這些專業棧的代碼而無須向建立者付版稅。同時,BSD也是許多TCP/IP協定中的創新(如廣域網中餓擁塞控制和避免)的開始點。

2、uC/IP

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之間。http://ucip.sourceforge.net

3、LwIP

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。http://www.sics.se/~adam/lwip/或http://savannah.nongnu.org/projects/lwip/

4、uIP

uIP是專門為8位和16位控制器設計的一個非常小的TCP/IP棧。完全用C編寫,是以可移植到各種不同的結構和作業系統上,一個編譯過的棧可以在幾KB ROM或幾百位元組RAM中運作。uIP中還包括一個HTTP伺服器作為服務内容。許可:BSD許用證http://www.sics.se/~adam/uip/

5、TinyTcp

TinyTcp 棧是TCP/IP的一個非常小和簡單的實作,它包括一個FTP客戶。TinyTcp是為了燒入ROM設計的并且現在開始對大端結構似乎是有用的(初始目标是68000晶片)。TinyTcp也包括一個簡單的以太網驅動器用于3COM多總線卡 http://ftp.ecs.soton.ac.uk/pub/elks/utils/tiny-tcp.txt

繼續閱讀