總述
我們使用 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 協議