天天看点

开源的TCP/IP协议栈资料

开源的TCP/IP协议栈资料

分类: tcp/ip协议栈 2010-09-11 16:52  427人阅读  评论(0)  收藏  举报 项目--

(1)bsd tcp/ip stack--最经典的tcp/ip stack

Wright 和 Stevens 在《TCP/IP详解 卷2:实现》中详细剖析了其源代码,该书十分精彩!

(2)lwip(  http://savannah.nongnu.org/projects/lwip/   ,  http://www.sics.se/~adam/lwip/index.html  )

lwIP is a small independent implementation of the TCP/IP protocolsuite that has been developed by Adam Dunkels at the Computer and Networks Architectures (CNA) lab at the Swedish Institute of Computer Science (SICS).

The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full scale TCP. This making lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room for around 40 kilobytes of code ROM.

lwIP features:

- IP (Internet Protocol) including packet forwarding over multiple network interfaces

- ICMP (Internet Control Message Protocol) for network maintenance and debugging

- UDP (User Datagram Protocol) including experimental UDP-lite extensions

- TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit

- Specialized raw API for enhanced performance

- Optional Berkeley-alike socket API

- DHCP (Dynamic Host Configuration Protocol)

- PPP (Point-to-Point Protocol)

- ARP (Address Resolution Protocol) for Ethernet

License : Modified BSD License 

Registration Date : Thursday 10/17/02 at 21:13 UTC 

Development Status : 5 - Production/Stable 

设计文档:Adam Dunkels, Design and Implementation of the lwIP TCP/IP Stack(pdf) 

Adam Dunkels 在 http://www.sics.se/~adam/lwip/links.html  上给出的一些tcp/ip实现及其它重要信息:

Other small TCP/IP implementations:

  • uIP - My own very small free TCP/IP implementation, suitable for systems with hundreds of bytes free RAM and a few kilobytes of free code space.
  • Picnic - A hardware design with a PIC and an Ethernet chip that includes software for running a web server.
  • CMX Micronet - A commercial small TCP/IP implementation for 8-bit systems.
  • InterNiche NicheStack - A commercial TCP/IP stack for embedded systems.
  • LiveDevices Embedinet - A small commercial TCP/IP stack for PIC and H8S.
  • Kadak KwikNet - A commercial TCP/IP stack for embedded systems.
  • uC/IP - uC/IP is a BSD-based TCP/IP protocol stack for microcontrollers.
  • TinyTCP - A very slim TCP, IP, and FTP implementation.
  • WWWpic2 - Small HTTP/TCP/IP implementation for a PIC.
  • PIC Web Server - Small HTTP/TCP/IP/SLIP PIC implementation.
  • Liquorice - Liquorice includes a TCP/IP stack.
  • CPC/IP - A TCP/IP stack for Amstrad CPCs.
  • LUnix - LUnix contains a small TCP/IP stack.
  • JOS - JOS includes a TCP/IP implementation.

Very small web servers:

  • webACE - World's Smallest Web Server.
  • iPIC - A Match Head Sized Web Server.

Related RFCs:

  • J. Postel, Internet Protocol , RFC791, September 1981.
  • J. Postel, Internet Control Message Protocol , RFC792, September 1981.
  • J. Postel, User Datagram Protocol , RFC768, August 1980.
  • J. Postel, Transmission Control Protocol , RFC793, September 1981.
  • D. D. Clark, Window and Acknowledgement Strategy in TCP , RFC813, July 1982.
  • D. D. Clark, Modularity and Efficiency in Protocol Implementation , RFC817, July 1982.
  • R. Braden, Requirements for Internet Hosts -- Communication Layers , RFC1122, October 1989.
  • T. Mallory and A. Kullberg, Incremental Updating of the Internet Checksum , RFC1141, January 1990.
  • A. Rijsinghani, Computation of the Internet Checksum via Incremental Update , RFC1624, May 1994.
  • R. Braden, TIME-WAIT Assasination Hazards in TCP , RFC1337, May 1992.
  • B. Carpenter, Architectural Principles of the Internet , RFC1958, June 1996.
  • M. Allman, V. Paxson and W. Stevens, TCP Congestion Control , RFC2581, April 1999.
  • S. Parker and C. Schmechel, Some Testing Tools for TCP Implementors , RFC2398, August 1998.

Related publications:

  • V. Jacobson. Congestion avoidance and control. In Proceedings of the SIGCOMM '88 Conference , Stanford, California, August 1988.
  • V. Jacobson. 4.3BSD TCP header prediction. ACM Computer Communications Review , 20(2), April 1990.
  • P. Karn and C. Partridge. Improving round-trip time estimates in reliablie transport protocols. In Proceedings of the SIGCOMM '87 Conference , Stowe, Vermont, August 1987.
  • J. Kay and J. Pasquale. Profiling and Reducing Processing Overheads in TCP/IP. IEEE/ACM Transactions of Networking, 4(6), December 1996.
  • L. Larzon, M. Degermark, and S. Pink. UDP Lite for real-time multimedia applications. In Proceedings of the IEEE International Conference of Communications , Vancouver, British Columbia, Canada, June 1999.
  • P. E. McKenney and K. F. Dove. Efcient demultiplexing of incoming TCP packets. In Proceedings of the SIGCOMM '92 Conference , Baltimore, Maryland, August 1992.
  • C. Partridge and S. Pink. A faster UDP. IEEE/ACM Transactions in Networking , 1(4), August 1993.

(3)SSFNet的java实现( www.ssfnet.org )

继续阅读