消息隊列篇--通信協議篇--網絡通信模型(OSI7層參考模型,TCP/IP分層模型)

一、OSI參考模型(Open Systems Interconnection Model)

OSI參考模型是一個用于描述和標準化網絡通信功能的七層框架。它由國際標準化組織(ISO)提出,旨在為不同的網絡設備和協議提供一個通用的語言和結構,以促進相互操作和標準化。

OSI模型將網絡通信過程劃分為七個層次,每一層都有特定的功能,并與相鄰層進行交互。
從下到上,這七層分別是:
1、物理層(Physical Layer)
2、數據鏈路層(Data Link Layer)
3、網絡層(Network Layer)
4、傳輸層(Transport Layer)
5、會話層(Session Layer)
6、表示層(Presentation Layer)
7、應用層(Application Layer)

示例圖:
在這里插入圖片描述

1、物理層(Physical Layer)

功能:

  • 定義物理連接:規定了如何通過物理媒介(如電纜、光纖、無線電波等)傳輸原始比特流。
  • 硬件接口:定義了網絡硬件(如網卡、中繼器、集線器等)的標準和接口類型。
  • 信號傳輸:規定了電壓水平、傳輸速率、物理拓撲(如總線型、星型等)和物理連接器(如RJ45、BNC等)。

主要設備:

  • 網卡(NIC)
  • 中繼器(Repeater)
  • 集線器(Hub)

示例:

  • 以太網標準(IEEE 802.3)
  • 光纖通信

2、數據鏈路層(Data Link Layer)

功能:

  • 幀同步:將物理層傳來的比特流組織成幀(Frame),并在幀之間添加控制信息(如起始位和結束位)
  • 錯誤檢測與糾正:使用校驗和(如CRC)來檢測傳輸中的錯誤,并在某些情況下進行糾正。
  • 流量控制:確保發送方不會發送過多的數據,導致接收方溢出。
  • 介質訪問控制(MAC):在共享介質(如以太網)上協調多個設備之間的數據傳輸。

主要設備:

  • 交換機(Switch)
  • 網橋(Bridge)

子層:

  • 邏輯鏈路控制子層(LLC, Logical Link Control):負責幀的封裝和解封裝,以及差錯控制和流量控制。
  • 介質訪問控制子層(MAC, Media Access Control):負責定義設備如何訪問物理介質,并處理介質訪問沖突(如CSMA/CD)。

示例:

  • 以太網幀格式
  • PPP(點對點協議)

3、網絡層(Network Layer)

功能:

  • 路由選擇:確定數據包從源地址到目的地址的最佳路徑,通常通過路由器實現。
  • IP尋址:為每個設備分配唯一的IP地址,并管理這些地址。
  • 分組轉發:將數據包從一個網絡段轉發到另一個網絡段,直到到達目的地。
  • 擁塞控制:監控網絡狀態,避免網絡擁塞。

主要設備:

  • 路由器(Router)

協議示例:

  • IP(Internet Protocol)
  • ICMP(Internet Control Message Protocol)
  • OSPF(Open Shortest Path First)

示例:

  • IPv4和IPv6
  • 路由算法(如RIP、OSPF)

4、傳輸層(Transport Layer)

功能:

  • 端到端通信:提供應用程序之間的端到端通信服務,確保數據能夠可靠地從一個應用程序傳輸到另一個應用程序
  • 可靠性:TCP提供可靠的傳輸服務,保證數據包按順序到達且不丟失;UDP提供無連接、不可靠的傳輸服務,適合實時應用。
  • 流量控制和擁塞控制:防止發送方發送過多數據導致接收方溢出或網絡擁塞。

協議示例:

  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)

示例:

  • HTTP使用TCP進行網頁內容傳輸
  • DNS使用UDP進行域名解析

5、會話層(Session Layer)

功能:

  • 會話管理:負責建立、維護和終止應用程序之間的會話
  • 同步:提供同步機制,允許在會話過程中發生中斷時恢復數據傳輸。
  • 對話控制:控制不同應用程序之間的對話方式(如半雙工或全雙工)。

示例:

  • RPC(Remote Procedure Call)
  • NetBIOS(Network Basic Input Output System)

6、表示層(Presentation Layer)

功能:

  • 數據格式轉換:負責數據的加密、壓縮和編碼,確保不同系統之間的數據可以正確理解和處理
  • 字符編碼:將數據從一種字符集轉換為另一種字符集(如ASCII到Unicode)。
  • 數據加密:提供數據加密和解密功能,確保數據的安全性。

示例:

  • JPEG、PNG圖像格式
  • ASCII、UTF-8字符編碼
  • SSL/TLS加密

7、應用層(Application Layer)

功能:

  • 用戶接口:為用戶提供直接與網絡交互的接口,支持各種網絡應用(如瀏覽器、電子郵件客戶端等)。
  • 應用協議:定義應用程序之間如何通信,包括請求和響應的格式、語義等
  • 服務訪問點:為其他層提供服務訪問點,使得應用程序可以直接調用底層的服務。

協議示例:

  • HTTP(超文本傳輸協議)
  • SMTP(簡單郵件傳輸協議)
  • FTP(文件傳輸協議)
  • DNS(域名系統)

示例:

  • 瀏覽器通過HTTP訪問網站
  • 郵件客戶端通過SMTP發送郵件

8、OSI模型各層之間的關系

OSI模型的每一層都只與相鄰的上下層進行交互。

上下層關系:

  • 上層(如應用層)向下層(如表示層)發出請求,并傳遞數據。下層則根據請求執行相應的功能,并將結果返回給上層。
  • 下層(如物理層)只關心如何通過物理媒介傳輸數據,而不關心數據的具體內容和格式。上層(如應用層)則只關心數據的格式和語義,而不關心底層的傳輸細節。

具體示例:(展示每個層級作用)
例如,當用戶通過瀏覽器訪問一個網頁時,整個過程涉及以下步驟。
(1)、應用層(HTTP):瀏覽器向服務器發送HTTP請求,請求指定URL網頁內容。
(2)、表示層:確定請求資源類型以及是否被加密或壓縮等。
(3)、會話層:建立并維護瀏覽器與服務器之間的會話。
(4)、傳輸層:將HTTP請求信息再次封裝成TCP段,并提供數據的可靠傳輸。
(5)、網絡層:將TCP段封裝成IP數據報,并選擇最佳路徑將其發送到目標服務器。
(6)、數據鏈路層:將IP數據報封裝成幀,并通過本地網絡傳輸到下一路由器或目標服務器。(注意:傳輸過程可能會經過多次路由器轉發,最終達到目標服務器)
(7)、物理層:通過物理媒介(如電纜、光纖)傳輸比特流。

9、OSI模型與實際網絡協議的關系

雖然OSI模型是一個理論上的參考框架,但它幫助我們理解網絡通信的各個層次及其功能。許多實際使用的網絡協議并不嚴格遵循OSI模型的七層劃分,但它們仍然可以映射到OSI模型的相應層次。

例如:

  • TCP/IP協議棧是目前最常用的網絡協議棧,它簡化了OSI模型,只有四層:
    • 應用層:對應OSI模型的應用層、表示層和會話層這三個層級。
    • 傳輸層:對應OSI模型的傳輸層。
    • 互聯網層:對應OSI模型的網絡層。
    • 網絡接口層:對應OSI模型的數據鏈路層和物理層。

盡管如此,OSI模型仍然是一個非常有用的工具,用于分析和設計網絡系統,并幫助人們更好地理解網絡通信的工作原理。

10、OSI模型總結

OSI參考模型將網絡通信過程劃分為七個層次,每一層都有特定的功能,并與相鄰層進行交互。通過這種分層的方式,OSI模型不僅幫助我們理解網絡通信的復雜性,還促進了不同網絡設備和協議之間的互操作性和標準化。

二、TCP/IP分層模型

TCP/IP模型,也稱為互聯網協議套件(Internet Protocol Suite),是實際用于實現現代互聯網通信的網絡模型。與OSI七層模型相比,TCP/IP模型更為簡潔,通常分為四層或五層結構。盡管它沒有OSI模型那么詳細,但它更貼近實際應用,并且在設計和實現上更加靈活。

準確說:OSI的7層參考模型是基于TCP/IP的4層模型衍生出來的更細分的模型。實際上TCP/IP模型是先提出的,之后才有的OSI模型。

TCP/IP模型的四層結構:(從上到下)
1、應用層(Application Layer)
2、傳輸層(Transport Layer)
3、互聯網層(Internet Layer)
4、網絡接口層(Network Interface Layer)

有些文獻會將網絡接口層進一步細分為數據鏈路層和物理層,形成一個五層模型:
1、應用層(Application Layer)
2、傳輸層(Transport Layer)
3、互聯網層(Internet Layer)
4、數據鏈路層(Data Link Layer)
5、物理層(Physical Layer)

1、應用層(Application Layer)

功能:

  • 用戶接口:提供用戶直接與網絡交互的接口,支持各種網絡應用。
  • 應用協議:定義應用程序之間如何通信,包括請求和響應的格式、語義等
  • 服務訪問點:為其他層提供服務訪問點,使得應用程序可以直接調用底層的服務。

常見協議:

  • HTTP/HTTPS:超文本傳輸協議/安全超文本傳輸協議,用于網頁瀏覽。
  • SMTP/IMAP/POP3:簡單郵件傳輸協議/互聯網消息訪問協議/郵局協議,用于電子郵件傳輸。
  • FTP:文件傳輸協議,用于文件上傳和下載。
  • DNS:域名系統,用于將域名解析為IP地址。
  • Telnet/SSH:遠程登錄協議,用于遠程管理設備。
  • SNMP:簡單網絡管理協議,用于網絡設備管理和監控。

示例:

  • 瀏覽器通過HTTP訪問網站。
  • 郵件客戶端通過SMTP發送郵件,通過IMAP或POP3接收郵件。

2、傳輸層(Transport Layer)

功能:

  • 端到端通信:提供應用程序之間的端到端通信服務,確保數據能夠可靠地從一個應用程序傳輸到另一個應用程序
  • 可靠性:TCP提供可靠的傳輸服務,保證數據包按順序到達且不丟失;UDP提供無連接、不可靠的傳輸服務,適合實時應用。
  • 流量控制和擁塞控制:防止發送方發送過多數據導致接收方溢出或網絡擁塞。

常見協議:

  • TCP(Transmission Control Protocol):面向連接、可靠的傳輸協議,適用于需要高可靠性的應用,如HTTP、FTP、SMTP等。
  • UDP(User Datagram Protocol):無連接、不可靠的傳輸協議,適用于對實時性要求較高的應用,如DNS、VoIP、視頻流等。

示例:

  • HTTP使用TCP進行網頁內容傳輸。
  • DNS使用UDP進行域名解析。

3、互聯網層(Internet Layer)

功能:

  • 路由選擇:確定數據包從源地址到目的地址的最佳路徑,通常通過路由器實現。
  • IP尋址:為每個設備分配唯一的IP地址,并管理這些地址
  • 分組轉發:將數據包從一個網絡段轉發到另一個網絡段,直到到達目的地。
  • 擁塞控制:監控網絡狀態,避免網絡擁塞。

常見協議:

  • IP(Internet Protocol):負責在網絡中進行數據包的傳輸和路由選擇。
  • ICMP(Internet Control Message Protocol):用于報告網絡錯誤和管理網絡通信(如ping命令)。
  • ARP(Address Resolution Protocol):用于將IP地址解析為MAC地址。
  • IGMP(Internet Group Management Protocol):用于多播通信中的組成員管理。

示例:

  • IPv4和IPv6
  • 路由算法(如RIP、OSPF)

4、網絡接口層(Network Interface Layer)

功能:

  • 物理連接:規定了如何通過物理媒介(如電纜、光纖、無線電波等)傳輸原始比特流
  • 幀同步:將互聯網層傳來的數據包組織成幀(Frame),并在幀之間添加控制信息(如起始位和結束位)。
  • 介質訪問控制(MAC):在共享介質(如以太網)上協調多個設備之間的數據傳輸。
  • 硬件接口:定義了網絡硬件(如網卡、交換機、集線器等)的標準和接口類型。

常見協議和技術:

  • 以太網(Ethernet):最常用的局域網技術。
  • Wi-Fi(IEEE 802.11):無線局域網技術。
  • PPP(Point-to-Point Protocol):點對點通信協議,常用于撥號上網。

示例:

  • 以太網幀格式
  • Wi-Fi通信

5、五層結構版本

如果是五層結構,將網絡接口層進一步細分為數據鏈路層和物理層

(1)、數據鏈路層(Data Link Layer)

功能:

  • 幀同步:將互聯網層傳來的數據包組織成幀,并在幀之間添加控制信息(如起始位和結束位)。
  • 錯誤檢測與糾正:使用校驗和(如CRC)來檢測傳輸中的錯誤,并在某些情況下進行糾正。
  • 流量控制:確保發送方不會發送過多的數據,導致接收方溢出。
  • 介質訪問控制(MAC):在共享介質(如以太網)上協調多個設備之間的數據傳輸。

子層:

  • 邏輯鏈路控制子層(LLC, Logical Link Control):負責幀的封裝和解封裝,以及差錯控制和流量控制。
  • 介質訪問控制子層(MAC, Media Access Control):負責定義設備如何訪問物理介質,并處理介質訪問沖突(如CSMA/CD)。

常見協議:

  • 以太網(Ethernet)
  • PPP(Point-to-Point Protocol)
  • HDLC(High-Level Data Link Control)
(2)、物理層(Physical Layer)

功能:

  • 信號傳輸:規定了電壓水平、傳輸速率、物理拓撲(如總線型、星型等)和物理連接器(如RJ45、BNC等)。
  • 硬件接口:定義了網絡硬件(如網卡、中繼器、集線器等)的標準和接口類型。

常見設備:

  • 網卡(NIC)
  • 中繼器(Repeater)
  • 集線器(Hub)

6、TCP/IP模型與OSI模型的對比

在這里插入圖片描述

主要區別:

  • 簡化:TCP/IP模型比OSI模型更簡化,只有四層或五層,而OSI模型有七層。
  • 實用性:TCP/IP模型更接近實際應用,許多互聯網協議(如HTTP、FTP、SMTP等)都基于TCP/IP模型設計。
  • 靈活性:TCP/IP模型允許不同的網絡技術共存,如以太網、Wi-Fi、PPP等都可以作為網絡接口層的一部分。

7、TCP/IP模型總結

TCP/IP模型是一個用于實現現代互聯網通信的實際網絡模型,它簡化了OSI模型的復雜性,并提供了更為實用的分層結構。TCP/IP模型通常分為四層(應用層、傳輸層、互聯網層、網絡接口層),有時也可以進一步細分為五層(增加數據鏈路層和物理層)。每一層都有特定的功能,并與相鄰層進行交互,共同完成網絡通信任務。
通過理解TCP/IP模型的各層功能及其常見協議,我們可以更好地理解互聯網的工作原理,并為網絡設計和故障排除提供指導。

乘風破浪!Dare to Be!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67642.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67642.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67642.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# Winform制作一個登錄系統

using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 登錄 {p…

10.7 LangChain Models深度解析:解鎖大模型集成與調優的全景攻略

LangChain Models深度解析:解鎖大模型集成與調優的全景攻略 關鍵詞: LangChain Models模塊、大模型集成、LLM調用優化、多模型管理、本地模型部署 一、Models模塊的定位:大模型應用的“中央調度器” 傳統開發的痛點: 碎片化集成:每個模型需單獨編寫適配代碼性能黑洞:缺…

記一次STM32編譯生成BIN文件過大的問題(基于STM32CubeIDE)

文章目錄 問題描述解決方法更多拓展 問題描述 最近在一個項目中使用了 STM32H743 單片機(基于 STM32CubeIDE GCC 開發),它的內存分為了 DTCMRAM RAM_D1 RAM_D2 …等很多部分。其中 DTCM 的速度是比通常的內存要快的,缺點是不支持…

996引擎 -地圖-添加安全區

996引擎 -地圖-添加安全區 文件位置配置 cfg_startpoint.xls特效效果1345參考資料文件位置 文件位置服務端D:\996M2-lua\MirServer-lua\Mir200客戶端D:\996M2-lua\996M2_debug\dev配置 cfg_startpoint.xls 服務端\Mir200\Envir\DATA\cfg_startpoint.xls 填歪了也有可能只畫一…

【leetcode強化練習·二叉樹】同時運用兩種思維解題

本文參考labuladong算法筆記[【強化練習】同時運用兩種思維解題 | labuladong 的算法筆記] 有的題目可以同時用「遍歷」和「分解問題」兩種思路來解,你可以利用這些題目訓練自己的思維。 559. N 叉樹的最大深度 | 力扣 | LeetCode | 給定一個 N 叉樹,…

棧和隊列特別篇:棧和隊列的經典算法問題

圖均為手繪,代碼基于vs2022實現 系列文章目錄 數據結構初探: 順序表 數據結構初探:鏈表之單鏈表篇 數據結構初探:鏈表之雙向鏈表篇 鏈表特別篇:鏈表經典算法問題 數據結構:棧篇 數據結構:隊列篇 文章目錄 系列文章目錄前言一.有效的括號(leetcode 20)二.用隊列實現棧(leetcode…

ios swift畫中畫技術嘗試

繼上篇:iOS swift 后臺運行應用嘗試失敗-CSDN博客 為什么想到畫中畫,起初是看到后臺模式里有一個picture in picture,去了解了后發現這個就是小窗口視頻播放,方便用戶執行多任務。看小窗口視頻的同時,可以作其他的事情…

OpenAI推出o3-mini推理模型,首次免費開放,性能超越o1,AIME測試準確率高達87.3%

OpenAI在2025年初推出了一款新的推理模型o3-mini,這款模型標志著公司在提升性能的同時也降低了成本,并且首次向免費用戶提供訪問權限。o3-mini是OpenAI推理系列中最新、最具成本效益的模型,在科學、數學、編程等領域的性能顯著超越了之前的o1…

人生不止于職業發展

0 你的問題,我知道! 工作意義是啥?職業發展在人生啥角色? 1 工作意義 農村人努力學習考上大學,得好工作,為逃離同村同齡人十幾歲就工廠打工命運,過不凡人生,實現改命的唯一途徑。…

【算法設計與分析】實驗3:動態規劃—最長公共子序列

目錄 一、實驗目的 二、實驗環境 三、實驗內容 四、核心代碼 五、記錄與處理 六、思考與總結 七、完整報告和成果文件提取鏈接 一、實驗目的 掌握動態規劃求解問題的思想;針對不同的問題,會利用動態規劃進行設計求解以及時間復雜度分析&#xff0…

動手學圖神經網絡(3):利用圖神經網絡進行節點分類 從理論到實踐

利用圖神經網絡進行節點分類:從理論到實踐 前言 在之前的學習中,大家對圖神經網絡有了初步的了解。本次教程將深入探討如何運用圖神經網絡(GNNs)來解決節點分類問題。在節點分類任務里,大家往往僅掌握少量節點的真實標簽,卻要推斷出其余所有節點的標簽,這屬于歸納式學…

單片機串口打印printf函數顯示內容(固件庫開發)

1.hal_usart.c 文件 #include <stdio.h> #include "hal_usart.h" #include "stm32F10x.h"//**要根據 使用的是哪個串口 對應修改 串口號 eg&#xff1a;USART1** void USART_PUTC(char ch) {/* 等待數據寄存器為空 */while((USART1->SR & …

網關登錄校驗

網關登錄校驗 單體架構時我們只需要完成一次用戶登錄、身份校驗&#xff0c;就可以在所有業務中獲取到用戶信息。而微服務拆分后&#xff0c;每個微服務都獨立部署&#xff0c;不再共享數據。也就意味著每個微服務都需要做登錄校驗&#xff0c;這顯然不可取。 鑒權思路分析 …

wxwidgets直接獲取系統圖標,效果類似QFileIconProvider

目前只做了windows版本&#xff0c;用法類似QFileIconProvider // 頭文件 #ifndef WXFILEICONPROVIDER_H #define WXFILEICONPROVIDER_H#include <wx/wx.h> #include <wx/icon.h> #include <wx/image.h> #include <wx/bmpcbox.h> // Include for wxB…

我的創作紀念日——成為創作者的 第365天(1年)

機緣 考研的結果讓我感到一陣絕望&#xff0c;就像單片機突然死機一樣&#xff0c;所有的努力像是被一場意外的中斷指令打亂了邏輯流程。曾經本科時因為競賽拿了一堆獎&#xff0c;內心充滿虛榮心和成就感&#xff0c;總覺得自己是一個“天選之子”&#xff0c;但考研的失利卻像…

React 封裝高階組件 做路由權限控制

React 高階組件是什么 官方解釋∶ 高階組件&#xff08;HOC&#xff09;是 React 中用于復用組件邏輯的一種高級技巧。HOC 自身不是 React API 的一部分&#xff0c;它是一種基于 React 的組合特性而形成的設計模式。 高階組件&#xff08;HOC&#xff09;就是一個函數&…

【玩轉全棧】--創建一個自己的vue項目

目錄 vue介紹 創建vue項目 vue頁面介紹 element-plus組件庫 啟動項目 vue介紹 Vue.js 是一款輕量級、易于上手的前端 JavaScript 框架&#xff0c;旨在簡化用戶界面的開發。它采用了響應式數據綁定和組件化的設計理念&#xff0c;使得開發者可以通過聲明式的方式輕松管理數據和…

DS并查集(17)

文章目錄 前言一、何為并查集&#xff1f;二、并查集的實現&#xff1f;并查集的初始化查找元素所在的集合判斷兩個元素是否在同一個集合合并兩個元素所在的集合獲取并查集中集合的個數并查集的路徑壓縮 三、來兩道題練練手&#xff1f;省份的數量等式方程的可滿足性 總結 前言…

Appium介紹

在使用不同版本的Appium包進行自動化測試時&#xff0c;出現警告問題可能是由于版本不兼容、配置不正確等原因導致的。下面將詳細介紹解決這些問題的步驟&#xff0c;確保模擬器能夠正常啟動&#xff0c;并能在Appium查看器中同步顯示。 1. 環境準備 首先&#xff0c;確保你已…

minimind - 從零開始訓練小型語言模型

大語言模型&#xff08;LLM&#xff09;領域&#xff0c;如 GPT、LLaMA、GLM 等&#xff0c;雖然它們效果驚艷&#xff0c; 但動輒10 Bilion龐大的模型參數個人設備顯存遠不夠訓練&#xff0c;甚至推理困難。 幾乎所有人都不會只滿足于用Lora等方案fine-tuing大模型學會一些新的…