esp8266涉及到的計算機網絡知識

一、計算機網絡體系結構

計算機網絡體系結構是指計算機網絡層次結構模型,它是各層的協議以及層次之間的端口的集合。關於計算機網絡體系結構,一般有兩種模型,分別爲OSI七層參考模型和TCP/IP參考模型。(它們只是對網絡結構的不同劃分標準不同劃分方法而已)。

這裏我們只談TCP/IP模型。
TCP/IP模型
TCP/IP協議族按照層次由上到下,層層包裝。

最上面的是應用層,這裏面有http等我們熟悉的協議。
而第二層則是傳輸層,著名的TCP和UDP協議就在這個層次。
第三層是網絡層,IP協議就在這裏,它負責對數據加上IP地址和其他的數據以確定傳輸的目標。
第四層是數據鏈路層,這個層次爲待傳送的數據加入一個以太網協議頭,並進行CRC編碼,爲最後的數據傳輸做準備。

這麼我們簡單粗糙的這樣理解:這個網絡體系結構就相當於人體結構,這4個層次就相當於人的“系統-器官-組織-細胞”的結構層次。

而網絡進行一次數據傳輸就類似於人實現一個動作經過“神經系統-運動器官-相關組織-相關細胞”來實現,所以也是層層遞進,從宏觀到微觀。
.
.
.

二、TCP連接

TCP是網絡結構中傳輸層的一個協議。協議,簡單理解就是某種規範,對數據的一種格式要求。

然而這裏我們要談論的重點不是協議對數據的格式規範(如下圖),只作瞭解就好。這個規範相當於就是定義了“一種語言”,如果兩個設備要進行TCP通信,就要遵守該協議的要求,使用相同的“語言”。
TCP報文格式要求
TCP連接的建立不是簡單的一次連接就連上的,而是有一個“三次握手”的過程。
詳情請參考另一位大佬的博文:TCP 詳解,裏面有對三次握手和四次分手的詳細的通俗易懂的解釋。

總結來說,TCP是一種協議,兩個設備經過三次握手成功之後就建立了TCP連接,可以進行TCP通信,通信的“語言”必須符合TCP協議。對於esp8266的使用,知道這些就夠了。

瞭解更多:
“TCP連接”究竟是什麼意思?
TCP的三次握手與四次揮手(詳解+動圖)
什麼是TCP/IP協議?

.
.
.

三、WIFI

WIFI有什麼好講的?

這裏只補充一些名詞概念就夠了:
BBS
WIFI就是WIFI(/狗頭),一個WIFI在空中所覆蓋的範圍叫做基本服務集BSS,提供WIFI信號的叫做無線接入點(AP,Access Point),而接收WIFI信號的叫做站點,或者移動站(STA,Station),WIFI接入點的標示叫做服務集標識符(SSID,Service Set Identifier),也就是我們通常所說的WIFI名。而每個AP也有一個地址,叫做基本服務集標識符(BSSID,Basic Service Set Identifier),也就是AP的Mac地址,用來區分不同的AP,比如同一個WIFI下連接了多個設備(手機啊、平板啊、筆記本啊),我們就可以通過BSSID來區分它們。

以上就是關於WIFI涉及到的一些可能會讓接觸esp8266的初學者一頭霧水的名詞。

.
.
.

四、IP地址&端口

1、IP地址

IP地址,就是給互聯網上每一臺主機(或路由器)的每一個接口分配一個在全世界範圍內是唯一的32位的標識符。

其作用是,只有知道主機的IP地址,才能將消息發送給對應的主機。

表示方式爲,IP地址 = {<網絡號>, <主機號>}

可是,IP地址不是說是32位的標識符嗎?爲啥我們平時看見的都是類似於14.215.177.39之類的?

這就是“點分十進制”的表示方式:點分十進制
瞭解更多:IP地址的基礎知識

2、端口

這裏講的端口,指的是端口號。

以下是來自百度百科的定義:

所謂的端口,就好像是門牌號一樣,客戶端可以通過ip地址找到對應的服務器端,但是服務器端是有很多端口的,每個應用程序對應一個端口號,通過類似門牌號的端口號,客戶端才能真正的訪問到該服務器。爲了對端口進行區分,將每個端口進行了編號,這就是端口號

也就是說,我們雖然能夠通過ip地址進行主機和主機之間的通信,但是還不能實現進程和進程之間的通信。比如,我在電腦上通過QQ發送數據到好友的電腦,總不能把QQ發送的消息發到好友電腦裏的微信裏去了吧。所以要通過端口號來確定進程。

大概就這樣。

.
.
.

五、TCP和UDP

emmm前面不是提到了嗎怎麼又在這裏講?

這裏只簡單的說明一下,前面說的TCP/IP不是單個協議,是一個計算機網絡結構的模型,同時也是一個協議族,即一大堆協議的集合。

而這裏提到的TCP和UDP,則是TCP/IP四層結構中傳輸層的兩個協議。知道它是兩個協議就好了。

.
.
.

六、客戶端與服務器

TCP連接的建立採用客戶服務器方式。主動發起連接建立的應用進程叫做客戶端(client),而被動等待連接建立的應用進程叫做服務器(server)。

噗,就這樣。

.
.
.

七、透傳

什麼是透傳?透傳即是透明傳送,指傳輸方只負責將需要傳送的數據傳送到目的位置,同時保證傳輸的質量,當不對傳輸的數據內容進行處理。

比如,我發送一段數據{“現在的時間是 2019年11月11日 16:33:23 ,今天是星期一”},如果是透傳,那麼收到的數據就是原封不動的{“現在的時間是 2019年11月11日 16:33:23 ,今天是星期一”},而如果不是透傳,可能會按照一定的規則對數據進行提取、修改,那麼收到的數據可能就只能是{“2019 11 11 16 33 23 一”}。

但願我講明白了。

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