ESP8266使用教程之网络知识简讲(TCP/IP)

总述

我们使用 ESP8266 模块,就是为传输数据到互联网上。而 ESP8266 有内置的 TCP/IP 协议栈,可以方便我们进行数据交换。那么 TCP/IP 协议栈是什么?

一.计算机网络体系架构

​ TCP/IP 协议栈 是指能够在多个不同网络间实现信息传输的协议族。

​ 说 TCP/IP 协议栈,那么就不得不提 OSI 参考模型,它是国际标准化组织(ISO)1997年提出的开放系统互联(Open System Interconnection,OSI)参考模型。TCP/IP 协议栈使用类似于 OSI 参考模型的分层方式,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtSdwDRh-1586449698922)(/网络知识/OSI_TCP.png)]

​ 可以看出 TCIP/IP 模型中,网络接口层相当于 OSI 七层模型中的数据链路层和物理层。它负责接收网络层的数据,并通过物理网络发送出去,或者在物理网络接收数据帧,再将数据提交给网络层。为了更好解释,数据的交换,我用下图进行解释:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-maa8sFdc-1586449698924)(/网络知识/数据流向.png)]

上图中的箭头代表数据的流向,颜色变化代表数据已经进行了封装或解封装

我们从左往右看

  • PC1

红色的应用层数据(”hello“),进入传输层进行封装变成蓝色数据,进入网络层进行封装变成黄色数据,进入网络接口层进行封装为绿色数据,并且最后将数据发送出去。

  • PC2

网络接口层进行数据接收,然后进行绿色数据的解封装为黄色数据发送给网络层,然后网络层再将黄色数据解封装为蓝色数据发送给传输层,传输层再将蓝色数据解封装为红色数据发送给应用层,最后应用层显示在屏幕上(“hello”)

二. ESP8266 为什么可以传输网络数据

答案很明显,ESP8266 有 TCP/IP 协议栈使我们可以传输网络数据,我们就来看看 ATK-ESP8266 是怎么做到的,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vzGe8qgc-1586449698925)(/网络知识/ESP8266数据流向.png)]

​ 我们可以看到,我们只要将数据通过串口输入,其他都是 ESP8266 模块帮我们做好,大大方便了我们的开发,发送网络数据。

三. TCP/IP 概念模型的各层的协议

​ 能将数据进行封装,又将数据进行解封装,肯定基于某种原则,而这种原则就是协议,TCP/IP 概念模型各个层级有自己的协议,如下图所示(其中只是主要协议):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xGnQiYt9-1586449698926)(/网络知识/各层协议.png)]

​ 正是这各个协议使我们的数据可以送达。

​ 于是,更近一步,就可以看到数据是如何封装的,如下图所示(以TCP为例):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZnKi284a-1586449698926)(/网络知识/具体数据封装.png)]

​ 而在学习 ESP8266 的过程中,我们所会遇到的就是传输层的 TCP/UDP 协议。接下来就将对其进行讲解。

-----------------------------------------------结束--------------------------------------------------------
文章有价值,请各位看官点个赞,关注我或者点右边打个赏吧!

下一篇将分享 学习 ESP8266 会遇到的 TCP/UDP 协议

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章