lwIP――TCP/IP协议栈的一种实现

转载 2006年05月24日 16:31:00

 

lwIP――TCP/IP协议栈的一种实现

近来,自己重点关注于TCP/IP技术的原理及实现,也曾看过 Douglas E.Comer和David L.Stevens写的《Internetworking with TCP/IP》三卷本,但遗憾的是自己只是“看过”而不是“研读”过,对其中的原理只限于表面上的理解,而未曾深入或者研读实现的代码.幸运的是,我无意中找到国外一些对TCP/IP研究的论文,其中的lwIP算是一个基本的实现,对初学者深入了解TCP/IP应该有很大的帮助。因此,自己打算翻译一些关于lwIP的论文(介绍及实现等等),让自己能真正的理解该协议,也希望能给志同道合者一些帮助。由于自己是第一次翻译这类计算机科技文章,而自己的英语水平有限,还望见谅。

    文章主要基于Adam Dunkels的《Design and Implemantation of the lwIP TCP/IP Stack》。以下是摘要和目录结构,希望自己能及时的翻译完这篇文章,并阅读其源代码。
摘要
lwIP是TCP/IP协议栈的一种实现,它注重减少内存使用量及代码大小,以便在像嵌入式系统这样的资源有限的小客户端系统中使用。为了减少处理及内存需求,lwIP使用裁剪后的API不要求任何的数据复制。
这篇文章描述了lwIP的设计及实现,包括协议实现及底层系统如内存及缓冲管理中所涉及到的算法及数据结构。同时,文章中也提供了lwIP API使用手册及使用lwIP的一些代码实例。
1 介绍
2 协议分层
3 概要
4 进程模型
5 操作系统仿真层
6 缓冲及内存管理
 6.1 包缓冲区
 6.2 内存管理
7 网络层接口
8 IP 处理
 8.1 接受网络包
 8.2 发送网络包
 8.3 转发网络包
 8.4 ICMP 处理
9 UDP处理
10 TCP 处理
 10.1 概要
 10.2 数据结构
 10.3 序列号计算
 10.4 队列及数据传输
    10.4.1 糊涂窗口症避免
 10.5 接收报文段
    10.5.1多路转发(Demultiplexing)
    10.5.2 接收数据
10.6 接受新连接
10.7 快速重传
10.8 定时器
10.9 往返时间估计
10.10 拥塞控制
11 协议栈接口
12 应用程序接口
 12.1 基本思想
 12.3 API的实现
13 代码统计分析
 13.1 代码行数
 13.2 目标代码大小
14 性能分析
15 API参考
 15.1 数据类型
 15.2 缓冲区函数
16 网络连接函数
17 BSD socket 库
18 代码实例
参考书

LWIP实现的TCP、IP协议栈

  • 2017年02月06日 16:32
  • 7.7MB
  • 下载

[EK-LM3S8962]简易版智能家居:lwIP TCP/IP协议栈在ARM开发板实现嵌入式网络服务器(上)

简易版智能家居:lwIP TCP/IP协议栈在ARM开发板实现嵌入式网络服务器(上) 利用EK-LM3S8962开发板,我们可以开发出很多应用,比如移植一些嵌入式GUI、网络服务器、CAN通...

《LwIP协议栈源码详解——TCP/IP协议的实现》移植综述

如果你认为所谓的毅力是每分每秒的“艰苦忍耐”式的奋斗,那这是一种很不足的心理状态。毅力是一种习惯,毅力是一种状态,毅力是一种生活。看了这么久的代码觉得是不是该写点东西了,不然怎么对得起某人口中所说的科...

LwIP协议栈源码详解——TCP/IP协议的实现 TCP定时器

这节讨论TCP的定时处理函数。在前面的讨论中,我们看到了与TCP的各种定时器,包括重传定时器、持续定时器和保活定时器,此外TCP中还有几个定时器我们还未涉及。这里总的来看看TCP中的各个定时器。TCP...

《LwIP协议栈源码详解——TCP/IP协议的实现》TCP坚持与保活定时器

这节讲解TCP的坚持定时器和保活定时器,先看坚持定时器。 TCP的接收方通过通告窗口大小来告诉发送方自己可以接收的数据字节数,接收方采用这种方式来进行流量控制。假如接收方通告的窗口大小为0会发生什么...

RT_thread 学习笔记2——TCP/IP协议栈(LwIP)

netconn write() 原型声明  int  netconn write(struct  netconn *conn,  void *data, int  len,  unsigned in...

RT_thread 学习笔记2——TCP/IP协议栈(LwIP)

netconn write() 原型声明  int  netconn write(struct  netconn *conn,  void *data, int  len,  unsigned in...
  • lcydhr
  • lcydhr
  • 2015年04月16日 10:07
  • 447

TCP/IP协议栈lwip的移植

新建几个头文件 Include/lwipopts.h Include/arch/cc.h Include/arch/perf.h Include/arch/sys_arch.h   除头文件外还需要添...
  • xgbing
  • xgbing
  • 2012年06月20日 23:07
  • 22643

BSD TCP/IP协议栈 uC/IP LwIP uIP TinyTcp

1、BSD TCP/IP协议栈     BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了...
  • skywn
  • skywn
  • 2012年07月07日 23:06
  • 1579
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lwIP――TCP/IP协议栈的一种实现
举报原因:
原因补充:

(最多只允许输入30个字)