1.前言
本文主要是对LwIP Application Developers Manual的翻译
2.读者(应用开发手册的读者)
- 谁适合读这份手册
网络应用的开发者
想了解lwIP的网络应用开发者
- 阅读前需要了解的知识
熟悉 C ANSI的编程、熟悉TCP/IP的一般知识
- 阅读前需要阅读什么
若要阅读lwIP Platform Developers Manual或lwIP Developers Manual请先阅读本手册
3.lwIP的介绍
3.1 提出lwIP的原因
在最近几年,人们对计算机的连接和支持无线网络连接的计算机设备越来越感兴趣。计算机已经与越来越多的设备集成在一起且价格在不断的下降。
同时无线组网技术已经变得流行,比如蓝牙和IEEE 802.11 b/g(WIFI)。这个导致了许多新的有趣的应用场景在医疗保健,安全,传输和加工工业。
小型设备像传感器连接到外部网络基础设备(比如全球互联网的)就可以在任何地方进行监控。网络技术已经被证明具有足够的灵活性来兼容过去几十年的网络环境。
现在网络技术的链接技术与过去开发的低速网络(如ARPANET)的相比有大量频带且在带宽和比特误码率有极大差别的。
未来的无线网络利用现有的网络技术是非常有利的,这是由于大量使用了网络技术的应用已经被开发出来。另外,全球互联网巨大的连通性也是一个很大的诱因。
由于像传感器这样的小型设备经常要求更小的物理尺寸和价格,一个能在有限的资源内实现的网络协议栈被提出。
3.2 LwIP,一个轻量级的TCP/IP协议栈
- 模块化设计
本文档描述了lwIP的设计和和实现。lwIP足够小,适合在资源有限的系统上运行。lwIP被设计成模块化。
- 基于IP协议可添加多种协议
内核协议实现了IP协议,在该IP协议上用户可以选择添加TCP、UDP、DHCP、和很多其他协议,包括这些协议的各种特性(比如,IP的分片和重组)。
更多的特性是以代码大小变大和复杂度变高为代价的,幸运的是许多特性可以被调整来满足用户的需求。
- lwIP多平台运行
更进一步来说,lwIP被设计成可以和操作系统一起运行或独自运行,且支持多线程和单线程。lwIP可以在8位和32位的微处理器上运行,且支持小端和大端的系统。
3.3 lwIP目录结构
如下列表是一个关于lwIP文件和目录结构的简短概述:
lwip/src
lwip/src/api - Netconn API, Socket API, tcpip thread
lwip/src/core –内核代码: DHCP, TCP, UDP, 和一些支持的代码(memory内存, netif网络接口, etc等等)
lwip/src/core/ipv4 - IPv4, ICMP
lwip/src/core/ipv6 - IPv6
lwip/src/core/snmp - SNMP
lwip/src/include - all headers and includes
lwip/src/netif - ARP and sample Ethernet driver
lwip/src/netif/ppp - PPP
为了得到lwIP的代码,请浏览 Savannah project page.的主页。
4.参考文献
[1]http://lwip.wikia.com/wiki/Introduction_to_lwIP
[2]lwIP应用开发手册中文翻译