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 協議

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