本文來自 可樂可樂可,更多精彩,查看可樂可樂可的主頁
覺得有用還請一鍵三連
計算機網路篇 | 分層的協議架構
說到計算機網路,大家肯定也會立馬反應到我們小學三年級就學過的TCP/IP協議簇,
TCP/IP協議簇為我們構建了計算機直接通信的一種模式,
我們首先看看計算機網路中的體系結構

啊啊啊…好多層,好復雜,怎么記憶啊?
作為一名光榮的理科生,就要從邏輯的角度來記憶,
這三種體系是從簡到繁的關系,每一層都細化了一些東西,我們只要記住這一層是做什么的,為什么在這一層,很輕松就能記住了,

我們若訪問一個網站,會經歷大致這幾個流程
- 根據域名獲得ip (DNS協議)
- 發送一個HTTP請求給服務器,里面有我們要請求的所有資料 (HTTP協議)
- HTTP請求交給TCP進行傳輸,TCP會用滑動視窗等技術一段一段的發送出去 (TCP協議)
- TCP只呼叫了發送的函式,不關心怎么發送給目標的,這個函式出自IP協議,IP將一個資料進行分組轉發,從一個路由器(ip地址)到另一個路由器(ip地址)(路由器是3級網路設備,是有ip地址的,這就是原因),
- 從網路上的一個ip到另一個ip還是理想狀態,資料鏈路層將這個資訊封裝成幀,格式化資料并呼叫相應的物理介質進行傳輸,
- 相應的物理介質傳輸,
每個層都負責了一個功能,只要把上面的這個流程理解了,問題就不大了,
如果上面這些還是很難理解,我們可以從發快遞的角度來思考
又是你,土豪,今天的你希望把自己開膩了的特斯拉Model S賣出去,你希望使用步筷速遞來幫你運輸這個車(你是不會把車親手送過去的,這樣太省錢了)

那么你肯定需要這些步驟
- 通過買家的描述,找到要送到那里
- 訂一個速遞服務,表示自己想送一個車出去
- 安心等待
當然快遞不能使用傳送技能,這里不是魔法世界

作為一個正常的社會當代青年,你必然要知道快遞是怎么發的啊,那么我們把完整版公布
- 通過買家的描述,找到要送到那里 (DNS)
- 訂一個速遞服務,表示自己想送一個車出去 (HTTP)
- 步筷速遞收到了你的訂單,訂單里面有目標的位置,以及你的特斯拉,步筷速遞會安排把你的特斯拉加入送貨的佇列,依次發送出去(TCP)
- 步筷速遞會將貨物運送到省級的中轉站,中轉站有很多貨,這些貨被分組,依次發出到另一個省的中轉站,這中間會中轉多次到目標的省中轉站(IP)
- 步筷速遞在每次省中轉站之間的運輸中,有卡車、飛機、自行車,步筷速遞會將貨物驗證一下,然后放到一個集裝箱中,發送到下個省中轉站,(資料鏈路層的傳輸)
- 這樣一層一層的交付,客戶終于收到了你的特斯拉,
簡要的流程就是這樣了,理解了以后,我們再總結一下各層的作用,
總結一下各層的作用
1. 第五層——應用層(application layer)
- 應用層(application layer):是體系結構中的最高,直接為用戶的應用行程(例如電子郵件、檔案傳輸和終端仿真)提供服務,
- 在因特網中的應用層協議很多,如支持萬維網應用的HTTP協議,支持電子郵件的SMTP協議,支持檔案傳送的FTP協議,DNS,POP3,SNMP,Telnet等等,
2. 第四層——運輸層(transport layer)
運輸層(transport layer):負責向兩個主機中行程之間的通信提供服務,由于一個主機可同時運行多個行程,因此運輸層有復用和分用的功能
- 復用,就是多個應用層行程可同時使用下面運輸層的服務,
- 分用,就是把收到的資訊分別交付給上面應用層中相應的行程,
運輸層主要使用以下兩種協議:
- 傳輸控制協議TCP(Transmission Control Protocol):面向連接的,資料傳輸的單位是報文段,能夠提供可靠的交付,
- 用戶資料包協議UDP(User Datagram Protocol):無連接的,資料傳輸的單位是用戶資料報,不保證提供可靠的交付,只能提供“盡最大努力交付”,
3. 第三層——網路層(network layer)
網路層(network layer)主要包括以下兩個任務:
- 負責為分組交換網上的不同主機提供通信服務,在發送資料時,網路層把運輸層產生的報文段或用戶資料報封裝成分組或包進行傳送,在TCP/IP體系中,由于網路層使用IP協議,因此分組也叫做IP資料報,或簡稱為資料報,
- 選中合適的路由,使源主機運輸層所傳下來的分組,能夠通過網路中的路由器找到目的主機,
協議:IP,ICMP,IGMP,ARP,RARP
4. 第二層——資料鏈路層(data link layer)
資料鏈路層(data link layer):常簡稱為鏈路層,我們知道,兩個主機之間的資料傳輸,總是在一段一段的鏈路上傳送的,也就是說,在兩個相鄰結點之間傳送資料是直接傳送的(點對點),這時就需要使用專門的鏈路層的協議,
- 在兩個相鄰結點之間傳送資料時,資料鏈路層將網路層交下來的IP資料報組裝成幀(framing),在兩個相鄰結點之間的鏈路上“透明”地傳送幀中的資料,
- 每一幀包括資料和必要的控制資訊(如同步資訊、地址資訊、差錯控制等),典型的幀長是幾百位元組到一千多位元組,
注:”透明”是一個很重要的術語,
它表示,某一個實際存在的事物看起來卻好像不存在一樣,在資料鏈路層透明傳送資料表示無論什么樣的位元組合的資料都能夠通過這個資料鏈路層,因此,對所傳送的資料來說,這些資料就“看不見”資料鏈路層,或者說,資料鏈路層對這些資料來說是透明的,
(1)在接收資料時,控制資訊使接收端能知道一個幀從哪個位元開始和到哪個位元結束,這樣,資料鏈路層在收到一個幀后,就可從中提取出資料部分,上交給網路層,
(2)控制資訊還使接收端能檢測到所收到的幀中有無差錯,如發現有差錯,資料鏈路層就簡單地丟棄這個出了差錯的幀,以免繼續傳送下去白白浪費網路資源,如需改正錯誤,就由運輸層的TCP協議來完成,
5. 第一層——物理層(physical layer)
- 物理層(physical layer):在物理層上所傳資料的單位是位元,物理層的任務就是透明地傳送位元流,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/262036.html
標籤:其他
上一篇:再難回我少年時代
