Lwip从入门到放弃之—基础网络知识扫盲(一)

由于工作中用到了有关Lwip的有关知识,本人作为一个网络通信协议的门外汉,打算系统的学习一下以太网通讯的有关知识。而Lwip作为一款开源的轻量级TCP/IP协议栈,在嵌入式设备领域有着广泛的应用。
1.什么是Lwip?
Lwip作为一款主要应用于嵌入式领域的开源TCP/IP协议栈,除了实现基本的TCP/IP功能之外,还能支持DNS、SNMP、DHCP、IGMP等高级应用。初此之外,在嵌入式设备RAM和ROM资源有限的情况下,Lwip有自己的一套独特的内存管理机制,甚至不需要操作系统的支持也可以运行,这样几十K的RAM或者ROM就可以满足它的系统需求了。
2.TCP/IP
说到计算机网络,就不得不说有名的OSI模型。OSI模型一共7层,由下往上依次是:物理层—数据链路层—网络层—传输层—会话层—表示层—应用层。初学者在看到这7层模型的时候,肯定会说一句:什么鬼?没关系,我们学一点精简的。
由于OSI模型结构复杂,在实际中并没有广泛的应用。TCP/IP有着自己的协议划分特点,从下往上依次分为:网络接口层(或者叫数据链路层)—网络层—传输层—应用层。低一层的为上一层提供服务。读者先对这4层模型有个概念,我这里也不做更多的介绍,在后续的分享过程中,我会反复提及,到时候,希望读者会有:“哦,原来是这样!”的感慨。

3.一个有趣的例子
网上看到一个形容这4层模型之间关系的一个有趣的例子,这里分享给大家:
住在成都的小张在网上购买了一本自己期待已久的书,让我们来看看远在广州的图书卖家小李是怎样将这本书送到小张手里的。首先在双方达成购买意向后,小张和小李约定,通过A快递公司来运送这本书,因为A的运送速度能够满足小张的要求、且安全性在行业内赞誉有加。小李立即打电话联系A快递公司的快递员小明,小明火速赶往小李处,对书进行了检查包装,在包装上填好了物品名称、收货人地址等信息,并且说到“放心,我们一定会将包裹准时安全的送到”,然后他将整个包裹送到了快递公司的物流处;物流处检查人员瞟了一眼包裹后从收货人信息中看到,这是要发往成都的,所以在包裹上贴了一张大大的标签“目的地成都”,并将包裹交给了发货人员,发货人员发现,恰好公司今天到成都的飞机还未起飞,因此包裹顺利上了飞机;经过数小时的飞行,包裹到达了成都机场;成都处A快递公司物流工作人员已在这里等候多时,他们将包裹取出运送回公司,在查看了包裹上的详细地址后,将该包裹送到了快递员小亮手里,因为他们知道,包裹的目的地在小亮负责配送的区域内;小亮根据包裹的地址信息,顺利将包裹送到了小张处,并当面将包裹打开,将书交给小张;小张拿到书后,高兴地翻阅了起来。通过整个过程,小张准确又及时地收到了小李发送过来的书籍。
在上面的过程中,买卖双方小张和小李处在最上层,是应用层,他们依赖于快递人员小明和小亮的服务;快递人员小明和小亮是传输层,负责对书的检查、打包等工作,并填入相关个人信息;快递公司物流处属于网络层,它们根据用户个人信息决定包裹发到哪里,怎样被发送;货运飞机处于网络接口层,它以自己的方式完成物流处递交来的包裹的运输。

注:以上故事来自朱升林的《嵌入式网络那些事:LWIP协议深度剖析于实战演练》

待更……

Lwip从入门到放弃之(一)---基础网络知识扫盲相关推荐

  1. shell逻辑运算符优先级_ios从入门到放弃之C基础巩固运算符

    继续接着上一次ios从入门到放弃之C基础巩固-----printf函数.scanf函数.scanf函数实现原理来巩固C语言基础,这次学习的是一个非常不起眼的语言基础----运算符,这里主要是对一些比较 ...

  2. 【网络入门】详解常用的基础网络知识(面试笔试常考内容)

    目录 1.概述 2.OSI七层模型和TCP/IP四层模型 3.数据进入TCP/IP协议栈时的封装过程 4.端口的概念 5.TCP建立连接时的三次握手 5.1.TCP头的构成 5.2.三次握手的流程说明 ...

  3. Go单元测试从入门到放弃—0.单元测试基础

    这是Go单测从入门到放弃系列教程的第0篇,主要讲解在Go语言中如何做单元测试以及介绍了表格驱动测试.回归测试,并且介绍了常用的断言工具. Go语言测试 go test工具 Go语言中的测试依赖go t ...

  4. 深度学习---从入门到放弃(一)pytorch基础

    深度学习-从入门到放弃(一)pytorch Tensor 类似于numpy的array,pandas的dataframe:在pytorch里的数据结构是tensor,即张量 tensor简单操作 1. ...

  5. 3、弱电工程从业者需要知道的基础网络知识

    做弱电工程的一定要知道一些基础的网络知识,要不没法混呢!今天整理了一些基础的网络知识,大家趁着放假了解一下吧 正文: 网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) ...

  6. 太牛了!万文长字:Java基础+网络知识+Linux+数据结构与算法+数据库+系统设计+必会工具+面试指南,一文将Java面试讲解的清清楚楚!

    前言 今天给大家推荐一本PDF文档<Java中高级核心知识全面解析>这份文档总页数:524页.分为八个部分每个部分详细地讲解了核心知识点. 第一部分 扎实的Java基础 (Java基础+容 ...

  7. Python编程从入门到放弃 - Part 1基础知识习题解析

    目录 第1章 起步 第2章 变量和简单数据类型 第3章 列表简介 第4章 操作列表 第5章 if语句 第6章 字典 第7章 用户输入和while循环 第8章 函数 第9章 类 第10章 文件和异常 第 ...

  8. Lwip从入门到放弃之(四)---网络接口管理

    对网络接口的有效管理,是协议栈能与外部进行通信的关键.我们把网络接口管理描述成链路层的部分,它旨在对具体网络硬件.软件进行统一的封装,并未IP层提供统一的接口服务. 为了实现对这些接口的管理,LwIP ...

  9. IP地址基础网络知识—Vecloud微云

    在日常中我们遇到的网络故障.路由器无法连接.交换机通信等问题都与IP地址相关.在生活中我们使用具有上网功能的电子设备都有IP地址,这和每个人都有自己的名字一样. IP地址是由两部分组成的,网络部分和主 ...

最新文章

  1. 基于三代测序技术的高产糖化酶黑曲霉工业菌株基因组组装与注释及功能基因比较研究
  2. 小米开源文件管理器MiCodeFileExplorer-源码研究(8)-文件排序工具类FileSortHelper
  3. 公路建厂最短路径问题
  4. 【设计模式】代理模式 ( 动态代理 | 模拟 Java 虚拟机生成对应的 代理对象 类 )
  5. shell对文本进行操作命令
  6. PHP 设计模式之装饰器模式
  7. 六、pink老师学习笔记——CSS三角形之美 margin负值之美文字围绕浮动元素行内块元素布局的巧妙运用
  8. 佳易王收银管理软件和扫码通M800大部分扫码支付平台对接步骤:
  9. 编写一个java小程序输出学生姓名在Unicode表中的位置
  10. 霍尼韦尔摄像头ip地址修改_霍尼韦尔BA BNA设置
  11. 量子计算基础(学习笔记)
  12. QQ音乐sign,jsvmp算法推导
  13. vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换
  14. Flask框架——flask-caching缓存
  15. 对于阿里云手机 OS 大家都怎么看?
  16. Docker安装JIR
  17. 移动端系统生物认证技术详解
  18. Mybatis插件better-mybatis-generator的下载与使用
  19. edrawmax使用技巧备忘
  20. 第九章 keyhook windows程序设计王艳平版

热门文章

  1. Day4 自定义控件/ListView/RecyclerView
  2. 上海东华计算机分数线,2020年东华大学上海分专业录取分数线
  3. LinkCloud:云计算服务 没有优惠活动就是最好的优惠
  4. 国家二级计算机mysql_全国计算机等级考试二级MySQL练习软件
  5. selenium+python登录新浪微博
  6. 流计算框架 Flink 与 Storm 的性能对比
  7. 东华大学 oj87——弟弟的作业
  8. sun.misc.BASE64Encoder详解
  9. 单片机c语言生日快乐歌,单片机C语言程序设计:播放生日快乐歌
  10. APP页面的四种类型,你都知道吗?