lwIP TCP/IP 协议栈笔记之一:概述和目录结构详解

本文介绍了轻量级TCP/IP协议栈lwIP,包括TCP/IP协议的基本概念和OSI模型,重点讲解了lwIP的目录结构,如src/api、src/apps、src/core等子目录的功能,以及lwIP的高级封装API、核心协议实现和网络接口管理。 lwIP适用于资源有限的嵌入式系统,具有高性能和低内存占用的特点。
摘要由CSDN通过智能技术生成

目录

1. lwIP概述

1.1 TCP/IP 协议简介

1.2 lwIP 简介

1.2.1 目录结构 lwip-2.1.2

1.2.2 lwip-2.1.2/src

2 目录结构详解

2.1 /doc

2.2 /test

2.3 /src

2.3.1 APIs

2.3.2 /src/api

2.3.3 /src/apps

2.3.4 /src/core

2.3.5 /src/include

2.3.6 /src/netif


1. lwIP概述

1.1 TCP/IP 协议简介

TCP/IP协议(传输控制协议/互联网协议)不是简单的一个协议,而是一组特别的协议,包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名的就是TCP和IP。因此,大部分网络管理员称整个协议族为“TCP/IP”。

国际标准组织将整个以太网通信结构制定了OSI模型,总共分层七个层,分别为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层,每个层功能不同,通信中各司其职,整个模型包括硬件和软件定义。OSI模型是理想分层,一般的网络系统只是涉及其中几层。

TCP/IP是互联网最基本的协议,是互联网通信使用的网络协议,由网络层的IP协议和传输层的TCP协议组成。TCP/IP只有四个分层,分别为应用层、传输层、网络层以及网络访问层。虽然TCP/IP分层少了,但与OSI模型是不冲突的,它把OSI模型一些层次整合一起的,本质上可以实现相同功能。

 实际上,还有一个TCP/IP混合模型,分为五个层,参考下图 ,它实际与TCP/IP四层模型是相通的,只是把网络访问层拆成数据链路层和物理层。这种分层方法对我们学习理解更容易。

设计网络时,为了降低网络设计的复杂性,对组成网络的硬件、软件进行封装、分层,这些分层即构成了网络体系模型。在两个设备相同层之间的对话、通信约定,构成了层级协议。设备中使用的所有协议加起来统称协议栈。在这个网络模型中,每一层完成不同的 任务,都提供接口供上一层访问。而在每层的内部,可以使用不同的方式来实现接口,因而内部的改变不会影响其它层。

在TCP/IP混合参考模型中,数据链路层又被分为LLC层(逻辑链路层)和MAC层(媒体介质访问层)。目前,对于普通的接入网络终端的设备, LLC层和MAC层是软、硬件的分界线。

1.2 lwIP 简介

lwIP(A Lightweight TCP/IP stack)是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。LwIP是Light Weight (轻型)IP协议,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行。这样就可以让lwIP适用于资源有限的小型平台例如嵌入式系统。

目前 lwIP 最新版本 2.1.2

官网:http://savannah.nongnu.org/projects/lwip/

官方下载地址:http://download.savannah.nongnu.org/releases/lwip/

lwIP 主要特性:

  •   *IP(Internet协议,IPv4和IPv6),包括通过多个网络接口的数据包转发
  •   ICMP 用于网络维护和调试(Internet控制消息协议)
  •   IGMP 用于多播流量管理(因特网组管理协议)
  •   *MLD(IPv6的多播侦听器发现)。旨在符合RFC 2710.不支持MLDv2
  •   ND(IPv6的邻居发现和无状态地址自动配置)。旨在符合RFC 4861(邻居发现)和RFC 4862(地址自动配置)
  •   DHCP,AutoIP / APIPA(Zeroconf)和(无状态)DHCPv6
  •   UDP(用户数据报协议),包括UDP-lite扩展
  •    TCP(传输控制协议)具有拥塞控制,RTT估计快速恢复/快速重传和发送SACK
  •   RAW/NATIVE API以提高性能
  •   可选的Berkeley-socket API
  •    TLS:可选的分层TCP(“altcp”),用于任何基于TCP的协议(移植到mbedTLS)的近乎透明的TLS(有关详细信息,请参阅changelog)
  •    PPPoS和PPPoE(串口/以太网上的点对点协议)
  •   DNS(域名解析器,包括mDNS)
  •   6LoWPAN(通过IEEE 802.15.4,BLE或ZEP)

1.2.1 目录结构 lwip-2.1.2

下载并解压,目录结构如下:

 

src/      -  lwIP TCP/IP 协议栈 源码.

doc/      -  lwIP 文档.

双击打开,既可以查看相关文档

test/      -  测试相关

1.2.2 lwip-2.1.2/src

  • api/        -  高级封装 API 的代码。如果您使用低级 回调/raw API ,则不需要。

  • 27
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值