網際網路要互聯連線,一條訊息從傳送到接受,都需要走一遍網路協議。我們講講 TCP/IP 協議以及網路分層模型
先看網路分層模型
網路分層模型
在網路分層模型中,有兩種模型,一是 TCP/IP 標準,它提出得早,1970年就被發明。它提出了分層概念,將網路通訊分為四層,分別是連結層、網路層、傳輸層、應用層
另一種是 OSI,全稱叫開放式系統互聯通訊參考模型,是國際標準,用來統一各種網路協議,始於上世紀70年代後期。是網路分層的"空架子老大"
OSI 模型分成了七層,分別為物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、應用層
兩者的關係就好比手機系統的巨頭是 iOS 和 Android,它們制定了標準,因為話語強,所以國際標準以它們為核心再新增指定一些其他標準,但核心是 iOS 和 Android。其中 TCP/IP 就是網路分層模型中的老大,OSI 就像英國女王那樣,是皇室象徵,是國際標準
TCP/IP 網路分層模型
很有意思,TCP/IP 明明是網路通訊協議的統稱,卻以其中兩個核心協議為名字來稱呼。它總共有四層,像搭積木一樣,每一層需要下層的支撐,同時又支撐著上層。如圖所示:
最底層也是第一層叫 網路訪問(連結)層,Network Access(link)layer,負責在乙太網、Wi-Fi 這樣底層網路上傳送原始資料包。使用 MAC 地址來標記網路上的裝置,所以有時候也叫 MAC 層
第二層叫網路互連層,internet layer, IP 協議就處在這一層。因為 IP 協議定義了 IP 地址的概念,所以就在連結層的基礎上,用 IP 地址取代 MAC 地址
第三層叫傳輸層,transport layer,負責保證資料在 IP 地址標記的兩點之間可靠地傳輸,例如 TCP、UDP、SCTP等
第四層叫應用層,顧名思義,是面向具體應用的協議,如 HTTP、SSH、FTP、SMTP、DNS等
按照 TCP/IP 模型,網路通訊是一層包著一層,傳送端每通過一層則增加首部,接收端每通過一層則刪除首部
這裡要注意的是:
- MAC 層的傳輸單位是幀(frame)
- IP 層的傳輸單位是包(packet)
- TCP 層的傳輸單位是段(segment)
- HTTP 的傳輸單位則是訊息或報文(message)
注:我們常說的丟包丟包丟的就是 IP 包
OSI 網路分層模型
官方定的分層模型叫 OSI,全稱是開放式系統互聯通訊參考模型。你問我支不支援,我是支援的,但它又不是個強制標準,所以一直有四層(TCP/IP模型)、七層(OSI模型)之說。
第一層:物理層,physical layer,網路的物理形式,例如電纜、光纖、網路卡等;
第二層:資料鏈路層,data link layer,它基本相當於 TCP/IP 的連結層;
第三層:網路層,network layer,相當於 TCP/IP 的網路層;
第四層:傳輸層,transport layer,相當於 TCP/IP 的傳輸層;
第五層,會話層,session layer,維護網路中的連線狀態,即保持會話和同步;
第六層,表示層,presentation layer,把資料轉換為合適、可理解的語法和語義;
第七層,應用層,面向具體的應用傳輸資料
兩個分層模型的對映關係
第一層:物理層,TCP/IP 裡無對應;
第二層:資料鏈路層,對應 TCP/IP 的網路訪問(連結)層;
第三層:網路層,對應 TCP/IP 的網路互連層;
第四層:傳輸層,對應 TCP/IP 的傳輸層;
第五、六、七層:統一對應到 TCP/IP 的應用層。
TCP/IP 協議
上訴我們知道兩個網路分層模型是什麼,由什麼組成,並且知道它們的對映關係。雖然有國際標準,但這個世界還是以 TCP/IP 協議為主要標準。你可以理解為先入為主,也可以理解為單極霸權,甚至可以聯想一下5G/6G 標準對世界話語權的重要性,總之,現階段還是以 TCP/IP 協議為主。
四大層
網路訪問(連結)層
MAC 地址,它表示的你的物理世界地址
網路層
IP 協議定義了 IP 地址
電影《黑客軍團》中有個片段,被做成了程式設計師段子
A:你的地址是什麼?
B: 173.168.15.10(IP地址)
A:不,你的本地地址呢?
B: 127.0.0.1
A:我的意思是你的實體地址
B: 29:01:38:62:31:58(實體地址指的就是 MAC 地址)
你也可以通過 ipconfig /all
來檢視你的所有地址
傳輸層
具有代表性的是 TCP,可以說在 HTTP3 之前,傳輸層就是 TCP 的天下,它代表的就是傳輸層,可在 HTTP2 之後,發現影響效能瓶頸的地方成了 TCP 的隊頭阻塞,所以 UDP 開始活躍起來,真是此一時彼一時
關於 TCP 和 UDP ,這張圖表能更好地對比分析
應用層
應用層有很多協議,例如 HTTP 協議、FTP 協議、SMTP 協議...
應用層協議 | 應用 |
---|---|
HTTP | 全球資訊網 |
FTP | 檔案傳輸 |
DNS | 域名轉換 |
SMTP | 電子郵件 |
TELNET | 遠端終端接入 |
... | ... |