- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LwIP 应用开发手册
目录
读者
lwIP的介绍
协议
链接和网络协议
传输协议
高层协议
DHCP
DNS
应用API层
Raw/native API
Netconn API
Socket API
lwIP与操作系统
lwIP的应用例程
Web Server
lwIP与多线程
lwIP IPv4/IPv6 协议栈
lwIP的初始化
简单的初始化
使用tcpip.c
网络接口管理
lwIP的配置
lwIP makefiles配置
lwipopts.h配置
最大吞吐量配置
TCP的调整
定制内存池
报告bugs
lwIP的支持
读者 应用开发手册的读者
谁适合读这份手册
网络应用的开发者
想了解lwIP的网络应用开发者
阅读前需要了解的知识
熟悉 C ANSI的编程、熟悉TCP/IP的一般知识
阅读前需要阅读什么
若要阅读lwIP Platform Developers Manual或lwIP Developers Manual请先阅读本手册
lwIP的介绍
在最近几年,人们对计算机的连接和支持无线网络连接的计算机设备越来越感兴趣。计算机已经与越来越多的设备集成在一起且价格在不断的下降。同时无线组网技术已经变得流行,比如蓝牙和IEEE 802.11 b/g WIFI 。这个导致了许多新的有趣的应用场景在医疗保健,安全,传输和加工工业。小型设备像传感器连接到外部网络基础设备(比如全球互联网的)就可以在任何地方进行监控。
网络技术已经被证明具有足够的灵活性来兼容过去几十年的网络环境。现在网络技术的链接技术与过去开发的低速网络(如ARPANET)的相比有大量频带且在带宽和比特误码率有极大差别的。未来的无线网络利用现有的网络技术是非常有利的,这是由于大量使用了网络技术的应用已经被开发出来。另外,全球互联网巨大的连通性也是一个很大的诱因。由于像传感器这样的小型设备经常要求更小的物理尺寸和价格,一个能在有限的资源内实现的网络协议栈被提出。
LwIP,一个轻量级的TCP/IP协议栈
本文档描述了lwIP的设计和和实现。lwIP足够小,适合在资源有限的系统上运行。lwIP被设计成模块化。内核协议实现了IP协议,在该IP协议上用户可以选择添加TCP、UDP、DHCP、和很多其他协议,包括这些协议的各种特性(比如,IP的分片和重组)。更多的特性是以代码大小变大和复杂度变高为代价的,幸运的是许多特性可以被调整来满足用户的需求。
更进一步来说,lwIP被设计成可以和操作系统一起运行或独自运行,且支持多线程和单线程。lwIP可以在8位和32位的微处理器上运行,且支持小端和大端的系统。
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.的主页。
协议
lwIP是模块化的并支持广泛的协议,这些大部分协议可以被裁减从而减小代码的尺寸。
链接和网络协议
ARP 地址解析协议 ,一个链接协议,该协议常用于将原始的硬件地址(比如MAC地址)转换成IP地址。
IPv4,在网络层协议中占主要地位
IPv6,IPv4的替代者,该协议将IP地址拓展到了128位。
ICMP 网际控制报文协议 ,一个IP的控制协议
IGMP 网际组管理协议 ,一个管理IP多播组的协议
ARP
ARP的主要应用是在与互联网相连的以太网网络层,该层需要一些机制将MAC地址(该地址主要由制造商分发并固定在硬件里)转换成IP地址 该地址主要取决于设备接入的网络
从应用的角度来看待ARP
一个支持ARP的网络接口会使etharp_output处理所有即将发送的数据包并设置与它相关的netif结构体里面的一个标志来使能“无故 gratuitous ARP” “Writing a device driver”有关于这个的实现 。一个近期的IP地址和它相关的硬件地址表将被维护。如果有一个即将发送的数据包并没有与之相匹配的硬件
文档评论(0)