总述
我们使用 ESP8266 模块,就是为传输数据到互联网上。而 ESP8266 有内置的 TCP/IP 协议栈,可以方便我们进行数据交换。那么 TCP/IP 协议栈是什么?
一.计算机网络体系架构
TCP/IP 协议栈 是指能够在多个不同网络间实现信息传输的协议族。
说 TCP/IP 协议栈,那么就不得不提 OSI 参考模型,它是国际标准化组织(ISO)1997年提出的开放系统互联(Open System Interconnection,OSI)参考模型。TCP/IP 协议栈使用类似于 OSI 参考模型的分层方式,如下图所示:
可以看出 TCIP/IP 模型中,网络接口层相当于 OSI 七层模型中的数据链路层和物理层。它负责接收网络层的数据,并通过物理网络发送出去,或者在物理网络接收数据帧,再将数据提交给网络层。为了更好解释,数据的交换,我用下图进行解释:
上图中的箭头代表数据的流向,颜色变化代表数据已经进行了封装或解封装
我们从左往右看
- PC1
红色的应用层数据(”hello“),进入传输层进行封装变成蓝色数据,进入网络层进行封装变成黄色数据,进入网络接口层进行封装为绿色数据,并且最后将数据发送出去。
- PC2
网络接口层进行数据接收,然后进行绿色数据的解封装为黄色数据发送给网络层,然后网络层再将黄色数据解封装为蓝色数据发送给传输层,传输层再将蓝色数据解封装为红色数据发送给应用层,最后应用层显示在屏幕上(“hello”)
二. ESP8266 为什么可以传输网络数据
答案很明显,ESP8266 有 TCP/IP 协议栈使我们可以传输网络数据,我们就来看看 ATK-ESP8266 是怎么做到的,如下图所示:
我们可以看到,我们只要将数据通过串口输入,其他都是 ESP8266 模块帮我们做好,大大方便了我们的开发,发送网络数据。
三. TCP/IP 概念模型的各层的协议
能将数据进行封装,又将数据进行解封装,肯定基于某种原则,而这种原则就是协议,TCP/IP 概念模型各个层级有自己的协议,如下图所示(其中只是主要协议):
正是这各个协议使我们的数据可以送达。
于是,更近一步,就可以看到数据是如何封装的,如下图所示(以TCP为例):
而在学习 ESP8266 的过程中,我们所会遇到的就是传输层的 TCP/UDP 协议。接下来就将对其进行讲解。
———————————————–结束——————————————————–
文章有价值,请各位看官点个赞,关注我或者点右边打个赏吧!
下一篇将分享 学习 ESP8266 会遇到的 TCP/UDP 协议