網路七層結構是幹啥的? 看這篇文章就夠了

埃文科技發表於2022-06-08


前言

“物理層、資料鏈路層、網路層、傳輸層、會話層表示層和應用層”,今天我們的目標就是把這些個玩意,翻譯成“人話”,保證你一看就懂,一學就廢~

網路七層結構是幹啥的?  看這篇文章就夠了

網路七層結構,相信是個搞計算機網路的,或者是搞軟體開發的,甚至是搞網際網路的,99%的人應該都知道,最起碼那也得是聽過,就是下方這個玩意:

(你要是聽都沒聽過,別跟我說你是混跡於網際網路界的啊~

但是,如果讓這些人講清楚這七層結構是幹嘛的,那這個比例,估計能從99%銳減到1%

今天,就讓我們一起來把這七層結構,翻譯成“人話”。

本著“有問題,找百度”的原則,我開啟了百度百科,然後就發現了以下這些內容

 網路七層結構是幹啥的?  看這篇文章就夠了

 

 

看到這些查詢出來的“答案”,相信大家跟我的感覺是一樣的:“看是不可能看懂的,這輩子估計都看不懂了。。。”

 

想要看懂這些東西怎麼辦呢?

 

按照“正常”的思路,我們需要解決以下問題:這七層都跟哪些內容相關?他們怎麼關聯起來的?協議這個玩意跟計算機是怎麼結合的?作業系統是如何把IP資料包發給網路卡的?

網路七層結構是幹啥的?  看這篇文章就夠了


於是我們發奮圖強,瞭解到它大概跟應用程式、作業系統、路由器、交換機這些玩意相關,知道協議透過一層一層的封包或者解包來傳輸資料。再研究一下Linux網路實現,理解作業系統與外設的通訊,中間可能還要寫個驅動模組加深印象。額,等一下,電晶體是如何起到開關作用的?好像還得學學物理。。。

 

其實以上說的啥,我自己都不知道,純屬一頓胡謅,哈哈哈。

 

但我知道的是,這個“正常”的思路,絕對是“不正常”的,相信很多人,面對陌生的知識時,都會犯這種“打破砂鍋問到底”的錯誤~

 

宏觀理解層面,講究的是“不求甚解”,只需要理解到以下這種程度即可。

 

翻譯

 

整個網路當中,最基本或者是最核心的就是資料的傳輸,整個網路的搭建,都是為資料傳輸服務的,我們類比一下快遞物流的例子,就可以初步理解這七層都是幹嘛的了:

 

1. 應用層

應用層的作用是為應用程式提供服務並規定應用程式中通訊相關的細節,也就是為應用提供服務。常見的協議有 HTTPFTPTELNETSMTP 等。

 

翻譯成“人話”:

相當於收件員。當客戶(應用)打電話(發起請求)給收件員(應用層)時,收件員可以根據客戶的不同需求提供不同的服務(不同協議),比如隔天送達、指定時間送達等等。

 

2. 表示層

表示層的作用是將應用處理的資訊轉換為適合網路傳輸的格式,或者將來自下一層的資料轉換為上層能處理的格式。它主要負責資料格式的轉換。具體來說,就是將裝置固有的資料格式轉換為網路標準格式。常見的協議有 ASCIISSL/TLS 等。

 

翻譯成“人話”:

 相當於打包員。如果快遞(資料)太臃腫,他會在不破壞快遞的情況下壓扁(壓縮)它。如果客戶注重安全線,全能的快遞公司還能用密碼箱( SSL/TLS)打包快遞再快送。當然,打包員會確定,目的地快遞站的拆包員,能無損地拆開包裹,將快遞交給使用者。

 

3.會話層

 

會話層作用是負責建立和斷開通訊連線,以及資料分割等資料傳輸相關的管理。常見的協議有 ADSPRPC 等。

 

翻譯成“人話”:

相當於排程員。對快遞運輸進行排程指揮。例如這次客戶要發100噸沙土(資料),到底是空運、陸運還是海運。而運完之後,相關資訊(連線)也可以被銷燬了,這些都是他的職責。

 

4.傳輸層

傳輸層起著可靠傳輸的作用。只在通訊雙方節點進行處理,而不需在路由器上處理。此層有兩個具有代表性的協議:TCP UDP

 

翻譯成“人話”: 

相當於跟單員。負責任的跟單員(使用 TCP 協議)會保證快遞送到客戶手上,如果送不到就讓公司再發一次。不負責任的跟單員(使用 UDP 協議)只管將快遞送到客戶指定的地方,不管快遞是否送到客戶手上。

 

5. 網路層

網路層負責將資料傳輸到目標地址。目標地址可以是多個網路透過路由器連線而成的某一個地址。因此這一層主要負責定址和路由選擇。主要由 IPICMP 兩個協議組成。

 

翻譯成“人話”:

相當於路線規劃員。快遞公司有很多集散中心(路由器),根據集散中心的情況(是否擁堵),找出一條最合適的路徑將貨物(資料)沿路運過去。

 

6. 資料鏈路層

該層負責物理層面上互連的節點之間的通訊傳輸。例如與1個乙太網相連的兩個節點間的通訊。常見的協議有 HDLCPPPSLIP 等。

 

翻譯成“人話”: 

相當於駕駛員。他們駕駛著汽車,將打包好的快遞(資料幀)從一個城市(物理節點)運輸到另一個城市。

 

7. 物理層

物理層負責01位元流(01序列)與電壓高低、光的閃滅之間的互換。典型的協議有 RS 232CRS 449/422/423V.24 X.21X.21bis 等。

 

翻譯成“人話”:

相當於交通工具。例如公路、汽車和飛機等,承載貨物(資料)的交通運輸。

 

如果以上一堆文字都懶得看的話,那直接看下面這個圖也行,這可是我耗費了大半天時間消化理解的,拿著這張圖,你就可以給別人去講,網路七層結構是幹嘛的啦~

 網路七層結構是幹啥的?  看這篇文章就夠了

 

 

14層被認為是低層,這些層與資料移動密切相關。57層是高層,包含應用程式級的資料。每一層負責一項具體的工作,然後把資料傳送到下一層。

 

從上往下,每經過一層,協議就會在這個包裹上面做點手腳,加點東西,傳送到接收端,再層層解套出來,如下示意圖:

 

網路七層結構是幹啥的?  看這篇文章就夠了 

 

知道了這些,我們就可以來看一下“快遞”的行進過程。

 

假如你是一個網路上的作業系統。1層和2層的網路卡會接收請求並通知你什麼時候有包裹到達,驅動程式處理2層幀的出口,得到一個發亮和閃光的3層資料包。作為作業系統,你將呼叫一些常用的應用程式處理3層資料。

 

如果你決定保留這個資料包,你將開啟它,並且取出4層資料包。如果它是TCP協議,這個TCP子系統將被呼叫並開啟這個資料包,然後把這個7層資料傳送給在目標埠等待的應用程式,整個過程就結束了。

 

在實際過程中,七層結構執行了哪些操作呢?

 

要回答這個問題,我們可以思考一下:使用者輸入一個網址計算機執行了什麼操作?

 

1. 所有的資料通訊經過封裝打包後,經由物理線路傳送。

 網路七層結構是幹啥的?  看這篇文章就夠了

 

2. 所有的主機名都需要解析為IP地址

 

 網路七層結構是幹啥的?  看這篇文章就夠了

3. 應用層使用HTTP協議,利用傳輸層面面向連線的TCP協議。

 

 網路七層結構是幹啥的?  看這篇文章就夠了

4. WEB應用採用客戶機/伺服器的工作模式

 

 網路七層結構是幹啥的?  看這篇文章就夠了

5. 資料包透過路由器,根據路由表進行轉發

 網路七層結構是幹啥的?  看這篇文章就夠了

 

6.在每個網路內部,都要把IP地址轉換成MAC地址

 

 網路七層結構是幹啥的?  看這篇文章就夠了

7.伺服器上的WEB服務程式在監聽TCP80

 

8.伺服器按照請求,生成HTML文件傳送到客戶端

 

9.客戶端瀏覽器解釋HTML文件,生成頁面

 

可以看到,正是因為有了七層結構的緊密配合,我們的資料和指令才會源源不斷地被“打包”出去。同時,我們的伺服器也在源源不斷地接收“快遞”,並且進行解析,以保障網路的正常運轉。

 

結合網路安全,我們進而提出一些問題:

今天已經知道了整個網路的流程是怎樣的,都有哪些關鍵節點?

對網路進行監控的話,都可以監控哪些關鍵指標,這些指標的意義是什麼?

指標異常以後,可以採取哪些應對措施?

指標監控是怎樣實現的?

 

我們來看看這四個問題,第一個其實是在研究業務流程,第二三兩項是在研究使用者場景,第四項是在考慮技術實現,指標都是資料嘛,也可以說成是在研究資料邏輯。

 

第一個問題,在今天的文章中已經有所涉及,另外的三個問題,大家可以自己做出思考,下次我們共同討論。

 

以上部分內容來自網路,如有侵權及時聯絡刪除

 


相關文章