iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

網路的層級

當我們按下 enter 後 Internet 會經過許多過程才能將資訊傳遞到另一端,而每種訊息格式依照規範模型分布在不同的層級,並協議好各層級的溝通標準、對應的傳輸規則,因此在了解 WebRTC 前我們可以先從網頁通訊說起,藉此知道 WebRTC 採取哪些通訊協議。

OSI 與 TCP/IP

兩者都是網路架構模型,TCP/IP 由兩位圖靈獎獲得者 Vint Cert 及 Robert Kahn 所開發,取名自 TCP(傳輸控制協定)及 IP(網際網路協定),OSI 則是由 ISO 國際標準化組織提出。

Untitled

圖片來源: OSI模型、TCP/IP协议栈 

OSI (Open System Interconnection Model)

開放式系統互聯模型由國際標準化組織提出,它將通訊拆成7個抽象層,每一層都堆疊在最後一層之上。

  • 第七層 Application 應用層

    提供應用程序和用戶 API,處理用戶需求,例如電子郵件、網頁瀏覽等。

  • 第六層 Presentation 展示層

    數據的格式化、加密和壓縮,以確保不同系統間的互通。

  • 第五層 Session 會議層

    負責建立、管理和終止通信會話,包括數據同步和錯誤處理。

  • 第四層 Transport 傳輸層

    協助 OSI 前三層與 OSI 後三層進行溝通;port 與 port 之間的溝通。

  • 第三層 Network 網路層

    路由和轉發,決定數據如何從源到目的地。

  • 第二層 Data Link 資料連結層

    確保數據傳輸的完整性,包括檢查和修正錯誤。

  • 第一層 Physical 實體層

    處理實際的硬體連接、電流、電壓、電纜……等的通信。

下面透過 TCP/IP 再說明一下每一層的用途!

TCP/IP (Transmission Control Protocol /Internet Protocol Model)

考古一下🚀~TCP/IP 協定的由來可追溯至20世紀50年代末,當時美蘇冷戰,美國為確保其計算機網絡在戰爭中不被摧毀及穩定性,建立了阿帕網(APPAnet)。然而,在不同計算機網絡間通信上有限制,因此APPA開始研究新的協議,這促成了”互聯網”的誕生。最初,阿帕網使用 NCP 協議,但限制在同構環境中使用。為了解決這個問題,科學家 Vint Cert 及 Robert Kahn 提出了 TCP/IP 協議,確保不同計算機和環境間的互聯,成為互聯網之父。雖然 TCP/IP 提出後一度被視為簡化的 OSI 模型,但經過改進,最終成為全球互聯網的基石。

  • Application 應用層

    負責應用程式的通訊;包括各種協議;例如:HTTP(網頁瀏覽)、HTTPS(安全的HTTP協議)、SMTP(電子郵件)、FTP(文件傳輸)、DNS(將域名轉換為IP地址)……等

  • Transport 傳輸層

    處理 port 與 port 之間的溝通;包含TCP/UDP,WebRTC 使用 Transport 層來實現瀏覽器之間的通信。WebRTC通常使用 UDP 協議,以實現低延遲和高效的實時通信

    • TCP:提供可靠的數據傳輸,確保數據不丟失、不重複,並按順序到達。
    • UDP:提供不可靠的數據傳輸,速度較快,但不保證數據的可靠性。
  • Network 網路層

    負責將數據從一個地方傳送到另一個地方,就像郵局將信件從寄件人送到收件人一樣。這一層使用IP(Internet Protocol)來標識設備的位置,有兩種主要的IP協議,分別是 IPv4 和 IPv6。

    備註:IPv4 使用32位地址,通常表示為四組數字,每組範圍在0到255之間,隨著IPv4地址耗盡,IPv6 將成為未來互聯網的主要協議。

  • Network Access 網路訪問層

    處理實際的硬體連接、電流、電壓、電纜……等的通信。

用一張圖說明TCP/IP模型做的事:借用 Huli 從傳紙條輕鬆學習基本網路概念 圖片可以很清楚的了解!

Untitled

圖片來源: Huli 從傳紙條輕鬆學習基本網路概念

重點整理

  • 網絡通信涉及多個層級,每個層級負責不同的功能,並遵循特定的通信協議和標準
  • OSI 與 TCP/IP 兩者都是網路架構模型,前者分為七層由ISO提出,後者則是分為四層由 Vint Cert 及 Robert Kahn 提出;也是現今被廣泛利用的網路通訊模型。
  • Transport層(傳輸層)在 TCP/IP 模型中負責處理端口之間的通信,並包括 TCP/UDP 而 WebRTC的通訊也是在這一層完成的

下一篇會說明 傳輸層的TCP/UDP~🙌


參考資料

[第四週] 網路基礎 - TCP/IP | Yakim shu (yakimhsu.com)
OSI七层模型与TCP/IP四层结构的区别/联系 | 阿培 (cntsp.github.io)
OSI七層架構 和 TCP/IP通訊協定 的比較 - HackMD


上一篇
[Day1] 簡介與開發框架
下一篇
[Day3] Transport 傳輸層 TCP/UDP
系列文
前端工程師30天 WebRTC + Firebase 視訊通話原理到實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言