OSI(Open Systems Interconnection,開放系統互連)七層模型是國際標準化組織制定的網絡通訊參考架構,把由物理訊號到應用程式之間的通訊工作劃分為七個層次,每層各司其職並只與相鄰層互動。本頁講解七層各自的職責、封裝與解封裝的流程、常見設備所處的層數,以及工程師如何以分層思維排查網絡故障。
需要注意,OSI 模型是概念性的參考架構;互聯網實際運行的是 TCP/IP 協定族,其分層較為簡化。但業界溝通仍普遍沿用 OSI 的層數編號,例如「第二層交換」「第三層路由」「第七層過濾」,因此無論設計網絡還是閱讀設備規格,OSI 模型都是必備的共同語言。
七層逐層講解
層數
名稱
職責
典型協定/設備
7
應用層(Application)
直接為應用程式提供網絡服務的介面
HTTP、DNS、RTSP、SMTP
6
表達層(Presentation)
數據格式轉換、編碼與加密解密
TLS 加密、字符編碼、影像編碼格式
5
會話層(Session)
建立、管理與終止通訊會話
會話控制、遠端程序呼叫
4
傳輸層(Transport)
端到端傳輸,以埠號區分服務,控制可靠性
TCP、UDP
3
網絡層(Network)
邏輯尋址與跨網段路由選擇
IP、ICMP;路由器、三層交換機
2
數據鏈路層(Data Link)
同一網段內以 MAC 地址成幀傳輸與差錯檢測
Ethernet、VLAN;交換機
1
物理層(Physical)
以電氣、光或無線訊號傳送位元流
網線、光纖、無線電波;集線器、收發器
數據送出時由第七層向下逐層封裝:傳輸層加上埠號、網絡層加上 IP 地址、數據鏈路層加上 MAC 地址,最後化為物理訊號送出;接收端則逐層向上解封裝,拆去各層標頭還原數據。理解這個次序,便能明白各種設備「看得多深」:交換機只讀幀的 MAC 地址,路由器讀到 IP 標頭,防火牆則可深入傳輸層以至應用層檢查內容。
OSI 是國際標準化組織制定的七層參考模型,重在概念完整;TCP/IP 模型則是互聯網實際採用的四層架構,把 OSI 的應用層、表達層與會話層合併為單一應用層,把物理層與數據鏈路層合併為網絡接入層。現實網絡以 TCP/IP 協定運作,但工程師溝通與教學仍普遍以 OSI 的層數作共同語言,例如「第二層交換」「第三層路由」的說法便來自 OSI 模型。
交換機與路由器分別工作在哪一層?
傳統交換機工作在第二層(數據鏈路層),依據 MAC 地址在同一網段內轉發幀;路由器工作在第三層(網絡層),依據 IP 地址在不同網段之間選路轉發。三層交換機則同時具備兩種能力,可在機內以硬件速度完成 VLAN 之間的路由。集線器與網線、光纖收發器屬於第一層設備,防火牆與負載均衡器則可深入第四層甚至第七層檢查流量。
什麼是封裝與解封裝?
數據由應用程式送出時,逐層向下傳遞,每一層在數據前面加上本層的標頭(部分層亦加上結尾),例如傳輸層加上埠號、網絡層加上 IP 地址、數據鏈路層加上 MAC 地址,這個過程稱為封裝。接收端則相反,由物理層逐層向上拆去各層標頭,稱為解封裝。理解封裝次序,便能明白為何交換機只看 MAC、路由器只看 IP,而防火牆需要拆到更深層才能辨識應用。
為何排查網絡故障要按層進行?
因為每一層依賴其下層正常運作,逐層檢查可以快速收窄問題範圍。常見做法是由下而上:先確認網線、水晶頭與端口燈號(第一層),再查交換機 MAC 表與 VLAN 配置(第二層),然後測試 IP 設定與 ping 通訊(第三層),最後檢查服務埠號與應用程式本身(第四至七層)。若不分層胡亂嘗試,往往在應用層兜圈,實際問題卻是一條被壓傷的網線。