LwIP Application Developers Manual1---介绍
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应用开发手册中文翻译
LwIP Application Developers Manual1---介绍的更多相关文章
- LwIP Application Developers Manual2---Protocols概览
1.前言 本文是对LwIP Application Developers Manual的翻译 lwIP是模块化的并支持广泛的协议,这些大部分协议可以被裁减从而减小代码的尺寸 2.协议概览 链路层和网络 ...
- LwIP Application Developers Manual9---LwIP and multithreading
1.前言 lwIP的内核并不是线程安全的.如果我们必须在多线程环境里使用lwIP,那么我们必须使用“upper”API层的函数(netconn或sockets).当使用raw API时,你需要自己保护 ...
- LwIP Application Developers Manual8---Sample lwIP applications
1.前言 你已经编译lwIP协议栈在你的目标平台上,并且网络驱动正常工作.你可以ping你的设备. 干得好,为你感到骄傲.虽然一个设备可以响应ping,但并不能算一个完整的应用. 现在你可以通过网络接 ...
- LwIP Application Developers Manual6---Application API layers
1.前言 lwIP提供3种应用编程接口来跟TCP/IP内核通信,如下所示: 低水平的内核/回调或raw API 2个高水平序列API: 1) netconn API 2) socket API(为了兼 ...
- LwIP Application Developers Manual5---高层协议之DNS
1.前言 lwIP提供一个基本的DNS客户端(1.3.0后引进),通过使用DNS(Domain Name System)协议来允许应用程序解决主机名到地址的转换. 在文件lwipopts.h里面定义L ...
- LwIP Application Developers Manual5---高层协议之DHCP,AUTOIP,SNMP,PPP
1.前言 本文主要讲述高层协议,包括DHCP 2.DHCP 2.1 从应用的角度看DHCP 你必须确保在编译和链接时使能DHCP,可通过在文件lwipopts.h里面定义LWIP_DHCP选项,该选项 ...
- LwIP Application Developers Manual4---传输层之UDP、TCP
1.前言 本文主要讲解传输层协议UDP TCP 2.UDP 2.1 UDP from an application perspective 2.2 UDP support history in lwI ...
- LwIP Application Developers Manual3---链路层和网络层协议之IPV6,ICMP,IGMP
1.前言 本文主要讲述链路层和网络层的协议IPV6,ICMP 2.IPV6 2.1 IPV6特性 IPv6是IPv4的更新.其最显著的差别在于地址空间由32位转换成128位 2.2 从应用的角度看IP ...
- LwIP Application Developers Manual12---Configuring lwIP
1.前言 2.LwIP makefiles With minimal features C_SOURCES = \ src/api/err.c \ src/core/init.c \ src/core ...
随机推荐
- 设计模式_代理模式_在SqlSessionTemplate(Spring)中的应用
1.SqlSessionTemplate的构造函数,根据传入的SqlSessionFactory和ExecutorType创建一个Spring管理的SqlSession,并生成SqlSession的动 ...
- Java Web之表单重复提交问题
上篇文章讲了验证码的制作,提及到了一个问题,就是表单重复提交的问题,可能在上次那个验证码中感觉不是那么的重要 现在我新写一个例子,转钱.通过这个例子你就知道表单重复提交有多恐怖了. 先来简单的介绍一下 ...
- Java方向如何准备技术面试答案(汇总版)
本文转载自:"Java团长"公众号 1.面向对象和面向过程的区别 面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linu ...
- Arrays.asList() 的使用注意
Sometimes it is needed to convert a Java array to List or Collection because the latter is a more po ...
- python web 开发
第一个 简单的 WSGI demo from wsgiref.simple_server import make_server def application(environ, start_respo ...
- foreach循环详解
在Java1.5+中,foreach循环非常实用. public class Demo <T> implements Iterable<T>, Iterator<T& ...
- 一个CLR20r3 错误解决。
好久没写过winform程序了,用devexpress写了个小工具,连一个本地的数据库,感觉不会出什么异常,连接时就没加捕获,调通之后就没管,因为特殊需求,需要把程序放到腾讯云上运行,结果一运行就报错 ...
- Javaweb学习笔记——(二十一)——————过滤器
过滤器 过滤器概述 1.什么是过滤器: 过滤器javaweb三大组件之一,它与Serlvet很相似,不过它过滤器是用来拦截请求的,而不是处理 ...
- 使用Jackson时转换JSON时,日期格式设置
在我们使用jackjson时时间默认输出如下: 输出是一串时间戳,不符合我们的要求,所以想到jackjson对时间的处理有他默认的格式,然后网上搜集各种资料,得出一下方式可以解决 取消jackjson ...
- Session 快速开始 通过session的attribute通信
[web.xml] <session-config> <session-timeout>30</session-timeout> <cookie-config ...