LwIP(Light weight IP),是一种轻量化且开源的TCP/IP协议栈,它可以在有限的RAM和ROM条件下,实现一个完整的TCP/IP 协议栈。此外,LwIP既可以移植到操作系统上运行,也可以在无操作系统的情况下独立运行。

TCP/IP协议栈的模型结构如下图所示,由于TCP/IP协议栈的出现时间更早,所以没有按照传统的7层OSI网络模型进行设计,一共只分为了4层,分别为网络接口层,网络层,传输层以及应用层。

网络接口层主要通过双绞线,光纤,无线等方式进行网络上数据帧的发送和接收。网络接口层将网络层的数据组装成自己特定的帧进行发送,同时也会接收数据帧进行解析,并将解析过后的数据发送给网络层。

网络层负责在主机之间的通信过程之中选择数据包的传输路径,并且在接收到传入的数据报时会检验其有效性,并递交给上层。

传输层主要提供应用程序之间的通信服务,它会系统的管理两端数据之间的交互。

应用层简单来说就是利用传输层提供的功能发送自己的数据到对方。

LWIP协议栈详解(1)_LWIP协议与网络分层相关推荐

  1. 一篇文章带你详解 TCP/IP 协议(下)

    前面的第一二三章已在上篇讲解,还没看过的可以先看看:一篇文章带你详解 TCP/IP 协议(上) 本文继续讲解第四章. 四.网络层中的 IP 协议 IP(IPv4.IPv6)相当于 OSI 参考模型中的 ...

  2. LwIP 之六 详解动态内存管理 内存池(memp.c/h)

      该文主要是接上一部分LwIP 之 详解动态内存管理 内存堆(mem.c/h),该部分许多内容需要用到上一篇的内容.该部分主要是详细介绍LwIP中的动态内存池.整个内存池的实现相较于内存堆来说,还是 ...

  3. LwIP 之五 详解动态内存管理 内存堆(mem.c/h)

    写在前面   目前网上有很多介绍LwIP内存的文章,但是绝大多数都不够详细,甚至很多介绍都是错误的!无论是代码的说明还是给出的图例,都欠佳!下面就从源代码,到图例详细进行说明.   目前,网络上多数文 ...

  4. 详解 TCP/IP 协议

    什么是TCP/IP协议 TCP/IP通信协议是目前最完整.最被广泛支持的通信协议,它可以让不同网络架构.不同操作系统的计算机之间通信,是Internet的标准通信协议. TCP的介绍 TCP也叫传输控 ...

  5. 思科SP CCNP组播侦听者协议MLD详解想要成为高级网络工程师必看-ielab

    思科SP CCNP组播侦听者协议MLD详解想要成为高级网络工程师必看-ielab,网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段.网桥的两个端口分别有一条独立的交换信道,不是共享一条 ...

  6. LwIP 之六 详解内存池(memp.c/h)动态内存管理策略

      对于嵌入式开发来说,内存管理及使用是至关重要的,内存的使用多少.内存泄漏等时刻需要注意!合理的内存管理策略将从根本上决定内存分配和回收效率,最终决定系统的整体性能.LwIP 就提供了 动态内存堆管 ...

  7. 详解linux netstat输出的网络连接状态信息

    本博文为老男孩linu培训机构早期的培训教案,特分享以供大家学习参考. 全部系列分为五篇文章,本博文为第一篇: 目录:一.生产服务器netstat tcp连接状态................... ...

  8. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  9. 万字详解什么是生成对抗网络GAN

    摘要:这篇文章将详细介绍生成对抗网络GAN的基础知识,包括什么是GAN.常用算法(CGAN.DCGAN.infoGAN.WGAN).发展历程.预备知识,并通过Keras搭建最简答的手写数字图片生成案. ...

  10. 详解深度学习之经典网络:AlexNet(2012) 并利用该网络架构实现人脸识别

    @[TOC](详解深度学习之经典网络:AlexNet(2012) 并利用该网络架构实现人脸识别**) 近来闲来无事,翻出了搁置已久的轻薄版电脑,望着积满灰尘的显示屏,觉得有愧于老师的尊尊教导,心中叹息 ...

最新文章

  1. MySQL手机统计信息_MySQL统计信息
  2. 好记性不如烂博客之 Quartz InterruptableJob 可拦截任务
  3. Validform 学习笔记---基础知识整理
  4. windows ping默认参数
  5. 谁占用了我的Buffer Pool?
  6. 400 bad request的原因意思和解决方法
  7. Python的slice问题
  8. 移植ubuntu14.04根文件系统至beaglebone开发板探索
  9. VGG16迁移学习,实现医学图像识别分类工程项目
  10. 【面经】腾讯NLP实习面经(Offer已拿)
  11. 解决macOS Big Sur升级后部分java应用无法打开的问题JavaVM: Failed to load JVM: libserver.dylib
  12. Android开发-仿网易云音乐播放器样式设计与实现
  13. 图像超分辨率技术简介
  14. 2013-2015南京大学历史学系若干考试题目汇编
  15. sync.Pool 使用
  16. Java版本企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标
  17. Python BeautifulSoup简介
  18. 一个计算机网络典型系统可由,计算机网络基础试题2.doc
  19. 模拟登陆新版正方教务管理系统【可以获取学生基本/课表信息】
  20. SpringBoot 如何进行限流?老鸟们都这么玩的!

热门文章

  1. R语言:使用openxlsx读取和写入数据
  2. asp文件上传原理及分析
  3. auto.js下载安装教程
  4. flightgear通过UDP协议输出飞行态势数据以及利用C++接收flightgear数据
  5. 吃一堑长一智,作为程序员的我们记住这几点,2021年Android开发实战
  6. html5 video标签嵌入视频
  7. 贪心算法几个经典的例子
  8. 基于JAVA+SQL Server数据库项目——学生校园卡管理系统(SSH框架)
  9. 智驾科技MAXIEYE完成3亿元B轮融资,暂未取得品牌同名商标
  10. 蓝桥杯C++AB算法辅导