摘要

LwIP是一种TCP/IP协议栈的实现。LwIP协议栈专注于减少内存的使用和代码的大小,使LwIP适用于嵌入式系统中在有限的资源下能够使用小型的客户机。为了减少处理和内存的需求,LwIP使用裁剪过的API,并不需要任何数据都拷贝。
这个报告描述LwIP的设计与实现。算法和数据结构都用于协议的实现且描述了像内存和缓冲区管理系统的子系统。这个包括了LwIP参考API和使用LwIP的一些例子代码。

目录

1.  简介

2.  协议层
3.  概述
4.  流程模型
5.  操作系统模拟层
6.  缓冲区和内存管理
   6.1  包缓冲——pbufs
    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 多路调解
        10.5.2 数据接收
    10.6 新会话的接收
    10.7 快速重发
    10.8 定时器
    10.9 来回的时间评估
    10.10拥塞控制
11. 协议栈接口
12. 应用程序接口(API)
   12.1  基本概念
   12.2  API的实现
13. 统计代码分析
   13.1  代码的行数
   13.2  工程代码的大小
14. 执行分析
15. API参考
   15.1数据类型
      15.1.1 Netbufs
   15.2缓冲函数
      15.2.1 netbuf_new()
      15.2.2 netbuf_delete()
      15.2.3 netbuf_alloc()
      15.2.4 netbuf_free()
      15.2.5 netbuf_ref()
      15.2.6 netbuf_len()
      15.2.7 netbuf_data()
      15.2.8 netbuf_next()
      15.2.9 netbuf_first()
      15.2.10netbuf_copy()
      15.2.11netbuf_chain()
      15.2.12netbuf_fromaddr()
      15.2.13netbuf_fromport()
16. 网络连接函数
      16.0.14netconn_new()
      16.0.15netconn_delete()
      16.0.16netconn_type()
      16.0.17netconn_peer()
      16.0.18netconn_addr()
      16.0.19netconn_bind()
      16.0.20netconn_connect()
      16.0.21netconn_listen()
      16.0.22netconn_accept()
      16.0.23netvonn_recv()
      16.0.24netconn_write()
      16.0.25netconn_send()
      16.0.26netconn_close()
17. BSD套接字库
   17.1 套接字的描述
   17.2 申请套接字
       17.2.1 sokect()的调用
   17.3 建立链接
       17.3.1 bind()的调用
       17.3.2 connect()的调用
       17.3.3 listen()的调用
       17.3.4 accept()的调用
   17.4 数据的发送和接收
       17.4.1 send()的调用
       17.4.2 sendto()的调用
       17.4.3 write()的调用
       17.4.4 recv()的调用
       17.4.5 recvfrom()和recvmsg()的调用
 18. 例子代码
    18.1 API的使用
    18.2 直接地连接栈

LwIP协议栈规范翻译——摘要目录的更多相关文章

  1. 1、 LwIP协议栈规范翻译——简介

    1.简介 在过去几年中,计算机和计算机支持设备接之间的互联到无线网络日趋增加.计算机已经越来越无缝的集成在了日常的设备且价格也在下降.同时,无线网络技术例如蓝牙[HNI+98]和IEEE802.11b ...

  2. 3、LwIP协议栈规范翻译——概述

    3.概述 像许多其他TCP/IP实现一样,分层协议设计已经成为设计lwIP实现的指南.每个协议实现为自己的模块,其中几个功能充当每个协议的入口点.尽管协议层是单独实现的,一些层却不全是,正如前面所叙述 ...

  3. 4、 LwIP协议栈规范翻译——流程模型

    4.流程模型 协议实现的流程模型描述了系统被划分为不同的流程的方式.用于实现通信协议的一个流程模型是让每个协议作为一个独立的进程运行.有了这个模型,严格的协议分层被强制执行,并且协议之间的通信点必须严 ...

  4. 5、 LwIP协议栈规范翻译——操作系统仿真层

    为了使lwIP可移植,操作系统特定的函数调用和数据结构不直接在协议的代码中使用.相反,当需要这样的函数调用和数据结构时,直接使用操作系统仿真层. 操作系统仿真层为操作系统服务提供统一的接口,如定时器, ...

  5. 2、LwIP协议栈规范翻译——协议层

    2.协议层 TCP/IP套件中的协议是以层次的方式设计的,其中每个协议层解决了通信问题的单独部分.这种分层可以用作设计协议实现的指南,因为每个协议可以与另一个分开实现.然而,以严格分层的方式实现协议可 ...

  6. Go语言安全编码规范-翻译(分享转发)

    Go语言安全编码规范-翻译 本文翻译原文由:blood_zer0.Lingfighting完成 如果翻译的有问题:联系我(Lzero2012).匆忙翻译肯定会有很多错误,欢迎大家一起讨论Go语言安全能 ...

  7. LwIP协议栈开发嵌入式网络的三种方法分析

    LwIP协议栈开发嵌入式网络的三种方法分析   摘要  轻量级的TCP/IP协议栈LwIP,提供了三种应用程序设计方法,且很容易被移植到多任务的操作系统中.本文结合μC/OS-II这一实时操作系统,以 ...

  8. lwip协议栈学习---udp

    书籍:<嵌入式网络那些事-lwip协议> udp协议的优点: 1)基于IP协议,无连接的用户数据报协议,适用于传送大批量数据, 2)实时性比较高,适用于嵌入式网络 发送函数:udp_sen ...

  9. [转]MBTiles 1.2 规范翻译

    MBTiles 1.2 可以参考超图的文档MBTiles扩展具体实现可以参考浅谈利用SQLite存储离散瓦片的思路和实现方法 mapbox提供了一个简单实现测试代码,github地址在这里https: ...

随机推荐

  1. 在 Windows 8、Windows 10 桌面模式下的 .NET Framework 程序中,引用 Windows.Runtime 的 API。

    参考:1.https://www.cnblogs.com/webtojs/p/9675956.html 2.http://jennal.com/2016/04/28/using-windows-run ...

  2. Linux将yum源设置为阿里云的镜像源

    第一步:备份原有镜像源 mv /etc/yum.repo.d/Centos-Base.repo /etc/yum.repo.d/Centos-Base.repo.bak 第二步:下载阿里云的镜像源 w ...

  3. Navicat(数据库可视化操作软件)安装、配置、测试

    Navicat(数据库可视化操作软件)安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.Navicat安装.激活与配置 4.简单测试 5.注意事项 6.相关博文 > ...

  4. Zookeeper —— 一致性协议

    一致性协议 为了解决分布式系统中存在的一致性问题,提出了一些经典的一致性协议和算法. 其中著名的有:二阶段提交协议.三阶段提交协议和 Paxos 算法. 2PC 与 3PC 2PC 2pc(Two-P ...

  5. 关于.NET编译的目标平台(AnyCPU,x86,x64) (转)

    关于.NET编译的目标平台(AnyCPU,x86,x64)(转) 今天有项目的代码收到客户的反馈,要求所有的EXE工程的目标平台全部指定成x86,而所有DLL工程的目标平台全部指定成AnyCPU . ...

  6. OpenGL normalMap

    参考zwqxin的博客  http://www.zwqxin.com/ shader 来自zwqxin,稍作修改 <-vertex-> attribute vec3 v_Pos; attr ...

  7. mysql查看连接数排查问题

    #mysql查看连接数SHOW VARIABLES LIKE '%max_connections%'; # max_connections 最大连接数 SHOW VARIABLES LIKE '%co ...

  8. CleanAop使用笔记

    前言,本(ˇˍˇ) 想用PostSharp做case,但是破解不成功,所以在github里找了一个CleanAop 地址: https://github.com/Jarvin-Guan/CleanAO ...

  9. iOS 裁剪View指定的角裁剪

    在开发中碰到view的左上角和右上角需要裁剪,具体实现方法如下: UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:se ...

  10. java的同步方法和同步代码块,对象锁,类锁区别

    /** * @author admin * @date 2018/1/12 9:48 * 作用在同一个实例对象上讨论 * synchronized同步方法的测试 * 两个线程,一个线程调用synchr ...