什麼是 OSI 模型?
開放式系統互連 (OSI) 模型是一種概念性架構,可將網路通訊功能分成七層。透過網路傳送資料非常複雜,因為各種硬體和軟體技術都必須跨越地理和政治界限協同運作。OSI 資料模型為電腦網絡提供一種通用語言,因此各種技術都可以使用標準通訊協定或通訊規則進行通訊。特定層級中的每項技術都必須提供特定功能並執行特定功能,才能在網路中使用。較高層的技術受益於抽象層,因為它們可以使用較低層級的技術,而不必擔心基礎實作細節。
OSI 模型的重要性為何?
開放式系統互連 (OSI) 模型的層級封裝了涵蓋軟體和硬體元件的各種網路通訊類型。該模型旨在讓兩個獨立系統透過標準化接口或基於當前操作層的協議進行通訊。
接下來說明 OSI 模型的優點。
對複雜系統的共同理解
工程師可以使用 OSI 模型來組織和建模複雜的網路系統架構。他們可以根據各個系統組件的主要功能分隔操作層。透過抽象化將系統分解成較小且易於管理的部分,可使人們更容易形成整體概念。
加速研究與開發
工程師可以藉由 OSI 參考模型更清晰地了解自己的工作。在建立需要彼此通訊的新網路系統時,他們能夠知曉自己正在開發哪個技術層 (一個或多個)。工程師可以開發網路系統,並利用一系列可重複的流程和通訊協定。
彈性的標準化
OSI 模型不會指定層級之間使用的通訊協定,而是指定通訊協定執行的任務。該模型可將網路通訊開發標準化,協助人們快速理解、建置和分解高度複雜的系統,且完全不需要預先了解系統。模型也會將細節抽象化,因此工程師不需要理解模型的所有層面。在現代應用程式中,較低級別的網路和協議會經由抽象化隱藏,藉此簡化系統設計和開發。下圖展示 OSI 模型在現代應用程式開發中的運用方式。
OSI 模型的七個層有哪些?
開放式系統互連 (OSI) 模型是由國際標準組織和其他組織於 1970 年代末開發的。其首版於 1984 年以 ISO 7498 版本出版,而目前的版本則是 ISO/IEC 7498-1:1994。下文介紹了模型的七個層。
實體層
實體層是指實體通訊介質和透過該介質傳輸資料的技術。資料通訊的核心是透過光纖纜線、銅纜和空氣等各種實體通路傳輸數位和電子訊號。實體層包括與通路密切相關的技術和指標的標準,例如藍牙、NFC 和資料傳輸速度。
資料連結層
資料連結層是指用於透過已經存在實體層的網路連接兩台機器的技術。它管理資料框架,而資料框架是封裝在資料封包中的數位訊號。資料的流量控制和錯誤控制往往是資料連結層的主要焦點。乙太網路就是此層級標準的一個範例。資料連結層通常分割成兩個子層:媒體存取控制 (MAC) 層和邏輯連結控制 (LLC) 層。
網路層
網路層涉及路由、轉送和定址等概念,而其會跨分散網路或節點或機器的多個連接網路。網路層也可以管理流量控制。在網際網路上,網際網路通訊協定第 4 版 (IPv4) 和 IPv6 可用作主要的網路層通訊協定。
傳輸層
傳輸層的主要重點是確保資料封包以正確的順序到達,沒有損失或錯誤,或者在需要時可以無縫恢復。流量控制以及錯誤控制通常是傳輸層的焦點。在此層中,常用的通訊協定包括傳輸控制通訊協定 (TCP)、近乎無損的連線為基礎的通訊協定,以及使用者資料包通訊協定 (UDP) (有損無連線通訊協定)。TCP 通常用於所有資料必須完整的情況 (例如檔案共用),而 UDP 用於保留所有封包不太重要的情況 (例如影片串流)。
工作階段層
工作階段層負責工作階段中兩個獨立應用程式之間的網路協調。工作階段會管理一對一應用程式連線的開始和結束,以及同步衝突。網路檔案系統 (NFS) 和伺服器訊息區塊 (SMB) 是工作階段層常用的通訊協定。
展示層
展示層主要涉及應用程式傳送和使用的資料本身的語法。例如,超文字標記語言 (HTML)、JavaScipt Object Notation (JSON) 和逗號分隔值 (CSV) 都是用來描述展示層資料結構的建模語言。
應用程式層
應用程式層涉及特定類型的應用程式本身及其標準化的通訊方法。例如,瀏覽器可以使用超文字安全傳輸通訊協定 (HTTPS) 進行通訊,而 HTTP 和電子郵件用戶端可以使用 POP3 (郵局通訊協定第 3 版) 和 SMTP (簡易郵件傳輸通訊協定) 進行通訊。
並非所有使用 OSI 模型的系統都會實作每一層。
OSI 模型中的通訊如何進行的?
開放式系統互連 (OSI) 模型中的層旨在讓應用程式可以透過網路與不同裝置上的另一個應用程式進行通訊,而不論應用程式和基礎系統的複雜性如何。為此,使用各種標準和通訊協定與上層或下層進行通訊。每個層都是獨立的,且只知道與其上層和下層進行通訊的介面。
透過鏈結所有這些層和通訊協定,可以將複雜的資料通訊從一個高階應用程式傳送到另一個高階應用程式。程序如下:
- 寄件者的應用程式層將資料通訊傳遞到下層。
- 每一層在傳遞資料之前,都會將其自己的標頭和定址新增至資料。
- 資料通訊會向下移動層,直到最終透過實體介質傳輸。
- 在介質的另一端,每一層都會根據該層級的相關標頭處理資料。
- 在接收者端,資料會向上移動層並逐步解壓縮,直到另一端的應用程式成功接收。
OSI 模型有哪些替代方案?
過去使用了各種聯網模式,例如循序封包交換/網際網路封包交換 (SPX/IPX) 和網路基本輸入輸出系統 (NetBIOS)。如今,開放式系統互連 (OSI) 模型的主要替代方案是 TCP/IP 模型。
TCP/IP 模型
TCP/IP 模型包含五個不同的層:
- 實體層
- 資料連結層
- 網路層
- 傳輸層
- 應用程式層
雖然實體層、網路層和應用程式層之類的層看似會直接映射到 OSI 模型,但情況並非如此。相反,TCP/IP 模型可最準確地映射到網際網路的結構和通訊協定。
OSI 模型仍是一種熱門的聯網模型,可從整體角度描述網路如何運行以用於教育目的。但是,TCP/IP 模型現在更常用於實務中。
專有通訊協定和模型的注意事項
請務必注意,並非所有以網際網路為基礎的系統和應用程式都遵循 TCP/IP 模型或 OSI 模型。同樣地,並非所有離線式連網系統和應用程式都使用 OSI 模型或任何其他模型。
OSI 和 TCP/IP 模型都是開放標準。其如此設計是為了讓所有人都可以使用,或進一步建置以滿足特定需求。
組織還設計了他們自己的內部專有標準,包括通訊協定和模型,而這些標準是封閉原始碼且僅供其系統內部使用。有時,他們可能會隨後將其向公眾發佈,以實現相互操作性和進一步的社區發展。一個範例是 s2n-tls,這是一種 TLS 通訊協定,最初是一個專有 Amazon Web Services (AWS) 通訊協定,但現在是開放原始碼。
AWS 如何滿足您的電腦聯網需求?
AWS 可協助組織輕鬆設計、部署和擴展連網系統和應用程式。
我們提供了一套強大的 AWS 聯網和內容交付產品。它們旨在補充及整合您的內部應用程式和服務,其中涵蓋所有層級的網路操作。以下是一些範例:
- AWS App Mesh 藉助內建的通訊監控和控制,為您的所有服務提供安全的應用程式層級聯網
- Amazon CloudFront 是一項內容交付網路 (CDN) 服務,專為實現高效能、安全性和開發人員便利性而建置
- AWS Direct Connect 提供從組織到 AWS 資源的直接連線,而無需接觸網際網路
- Elastic Load Balancing (ELB) 可將傳入網路流量分配到 AWS 目標,以提高應用程式可擴展性
立即建立帳戶,開始使用 AWS 上的連網系統和應用程式。