【計算機網絡】OSI七層模型完全指南:從比特流到應用交互的逐層拆解

OSI模型

  • 導讀
  • 一、概念
  • 二、模型層次結構
    • 2.1 物理層(Physical Layer)
    • 2.2 數據鏈路層(Data Link Layer)?
    • 2.3 ?網絡層(Network Layer)?
    • 2.4 ?傳輸層(Transport Layer)?
    • 2.5 ?會話層(Session Layer)?
    • 2.6 ??表示層(Presentation Layer)?
    • 2.7 應用層(Application Layer)?
  • 結語

OSI模型

導讀

大家好,很高興又和大家見面啦!!!

在上一篇內容中我們介紹了計算機網絡協議、接口與服務的相關內容:

  • 協議指的是計算機網絡中數據交換的規則、標準與約定。由語法、語義與同步三部分組成。
  • 接口是分層結構中,相鄰層之間通信的通道。
  • 服務是下層為緊鄰的上層提供的功能調用。
  • 服務的三種分類:
    • 面向連接服務與無連接服務
    • 可靠服務與不可靠服務
    • 有應答服務與無應答服務

在今天的內容中我們將會介紹計算機網絡中的OSI參考模型的內容,下面我們直接開始今天的內容吧!!!

一、概念

由國際標準化組織(ISO)提出的網絡體系結構模型稱為開放系統互連參考模型(OSI/RM),簡稱OSI參考模型。

OSI參考模型有7層,自下而上(第1~7層)依次為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。

層次結構

二、模型層次結構

2.1 物理層(Physical Layer)

傳輸單位:比特
功能:通過物理介質(如電纜、光纖、無線電波)為數據端設備透明地傳輸原始比特流?(0和1)。
?關鍵設備:網線、集線器(Hub)、中繼器(Repeater)。
?協議/技術:以太網(物理部分)、USB、藍牙的物理層規范。

物理層主要研究以下內容:

  1. 定義電路接口參數:
    • 通信鏈路與通信結點的連接需要一些電路接口,物理層規定了這些接口的一些參數,如機械形狀和尺寸、引腳的數量與排列等。
  2. 定義傳輸信號含義、電氣特征:
    • 物理層規定了比特流與物理信號之間的映射關系,即用何種物理現象表示二進制數據。例如:在電纜中規定高電壓+3V表示1,低電壓-3V表示0。
    • 物理層還規定了信號傳輸的電氣特性,確保信號在介質中穩定傳輸,避免失真或衰減。例如:USB 2.0規定電壓為+5V,最大電流500mA。

2.2 數據鏈路層(Data Link Layer)?

傳輸單位:幀
?功能:將比特流組織成數據幀,通過MAC地址實現局域網內設備間的直接通信,并處理錯誤檢測。
?關鍵設備:交換機(Switch)、網橋(Bridge)。
?協議/技術:以太網(MAC協議)、Wi-Fi(IEEE 802.11)、PPP(點對點協議)。

兩臺主機之間的數據傳輸總是在一段一段的鏈路上進行的,這就需要使用專門的鏈路協議。主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造為邏輯上無差錯的數據鏈路。

數據鏈路層將網絡層交來的IP分組封裝成幀,并且可靠地傳輸到相鄰節點的網絡層,實現節點之間的差錯控制和流量控制的功能。

2.3 ?網絡層(Network Layer)?

傳輸單位:數據報
?功能:通過邏輯尋址(如IP地址)?確定數據包的路徑(路由),實現跨網絡的通信。
?關鍵設備:路由器(Router)。
?協議/技術:IP(IPv4/IPv6)、ICMP(Ping)、OSPF(路由協議)。

網絡層關心的時通信子網的運行控制,主要任務是將網絡層的協議數據單元(分組)從源主機傳輸到目的主機,為分組交換網上的不同主機提供通信服務。關鍵問題是對分組進行路由選擇,并實現流量控制、擁塞控制、差錯控制和網際互聯等功能。網絡層既提供有連接可靠的虛電路服務,又提供無連接不可靠的數據報服務。

2.4 ?傳輸層(Transport Layer)?

傳輸單位:報文段
?功能:提供端到端的可靠或不可靠數據傳輸,管理流量控制、錯誤恢復和數據分段。
?關鍵協議:TCP(可靠傳輸,如網頁瀏覽)、UDP(不可靠但高效,如視頻流)。

傳輸層負責主機中兩個進程之間的通信,提供端到端的流量控制、差錯控制、連接建立與釋放、可靠傳輸管理等服務,傳輸層僅提供有連接可靠的服務。

數據鏈路層提供的是點到點通信。所謂的點到點通信,指的是相鄰節點之間的通信,比如主機與中繼系統之間的通信;
傳輸層提供的是端到端通信。所謂的端到端通信,指的是兩臺主機的應用程序之間的通信,比如微信與微信之間的通信;

通過傳輸層的屏蔽,高層用戶看不到通信子網的交替與變化。因為一臺主機可同時運行多個進程,所以傳輸層具有復用和分用的功能。

  • 復用是指多個應用層進程可以同時使用下面傳輸層的服務
  • 分用是指傳輸層將收到的信息分別交付給上面應用層中相應的進程

2.5 ?會話層(Session Layer)?

傳輸單位:數據
?功能:建立、管理和終止設備間的會話?(Session),協調通信過程。
?示例:斷點續傳、遠程登錄(如SSH會話的建立與維護)。

會話層允許不同主機上的各個進程之間進行會話。這種服務主要為表示層實體或用戶進程建立連接,并在連接上有序地傳輸數據,這就是會話,也稱為建立同步。會話層主要負責管理主機間的會話進程,包括建立、管理和終止進程間的會話。會話層包含一種稱為檢查點的機制來維持可靠會話,使通信會話在通信失效時從檢查點繼續恢復通信,即端點下載的原理。

2.6 ??表示層(Presentation Layer)?

傳輸單位:數據
?功能:處理數據的格式轉換?(如加密、壓縮、字符編碼),確保應用層能正確解析數據。
?示例:SSL/TLS加密、JPEG圖像壓縮、ASCII/Unicode編碼轉換。

表示層主要處理在不同主機中交換信息的表示方式。不同機器采用的編碼和表示方法不同,為了使不同表示方法的數據和信息之間能夠互相交換,表示層采用抽象的標準方法定義數據結構,并采用標準的編碼形式。此外,數據壓縮、加密和解密也是表示層的功能。

2.7 應用層(Application Layer)?

傳輸單位:消息或數據
?功能:直接為用戶應用程序提供網絡服務接口。
?常見協議:HTTP(網頁)、FTP(文件傳輸)、SMTP(電子郵件)、DNS(域名解析)。

應用層是OSI參考模型的最高層,是用戶與網絡的接口。應用層為特定類型的網絡應用提供訪問OSI參考模型環境的手段。用戶的實際應用多種多樣,這就要求應用層采用不同的應用協議來滿足不同類型的應用要求,因此應用層是最復雜的一層,使用的協議也最多。

結語

在今天的內容中我們介紹了OSI參考模型的相關內容:

  • OSI參考模型為開放系統互連參考模型
  • 模型共有7層,自下而上分別為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層

今天的內容到這里就全部結束了,在下一篇內容中我們將介紹《TCP/IP參考模型》的相關內容,大家記得關注哦!

如果大家喜歡博主的內容,可以點贊、收藏加評論支持一下博主,當然也可以將博主的內容轉發給你身邊需要的朋友。最后感謝各位朋友的支持,咱們下一篇再見!!!

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

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

相關文章

零基礎被迫參加CTF比賽?CTF高頻解題技巧與經驗分享

CTF(Capture The Flag)比賽中的高頻解題技巧通常涵蓋了以下幾類技術,涉及從逆向工程、二進制漏洞利用到Web安全、密碼學等多個領域。以下是一些高頻解題技巧: 1. 逆向工程(Reverse Engineering) 靜態分析&a…

markdown 文件轉 word

將 Markdown 文件轉換為 Word 文檔,可以使用多種方法。以下是幾種常見的方法: 方法1:使用在線轉換工具 有許多在線服務可以將 Markdown 文件轉換為 Word 文檔。例如: Pandoc - 一個非常流行的命令行工具,也可以用來轉…

【第十三屆“泰迪杯”數據挖掘挑戰賽】【2025泰迪杯】【思路篇】A題解題全流程(持續更新)

【第十三屆“泰迪杯”數據挖掘挑戰賽】【2025泰迪杯】A題解題全流程-思路(持續更新) 寫在前面: 1、A題、C題將會持續更新,陸續更新發布文章 2、賽題交流咨詢Q群:1037590285 3、全家桶依舊包含: 代碼、…

T11 TensorFlow入門實戰——優化器對比實驗

🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客🍖 原作者:K同學啊 | 接輔導、項目定制 一、前期準備 1. 導入數據 # Import the required libraries import pathlib import matplotlib.pyplot as plt import tensorflow as t…

Docker部署sprintboot后端項目

創建Docker網絡 docker network create icjs 部署Redis docker run -d \--network icjs \--name redis \-p 6379:6379 \redis:latest數據持久化 docker run --restartalways --network icjs -p 6379:6379 --name redis -v /opt/docker/redis/redis.conf:/etc/redis/redis.c…

01小游戲

問題描述 小明得到了一個長度為 nn 的字符串 ss ,該字符串都是由數字 00 和 11 組成,并且下標從 11 開始,小明現在需要對這個字符串進行 qq 次操作,每次操作包含以下兩種操作之一: 操作 11 :小明查詢該字符…

Androidstudio開發,實現商品分類

文章目錄 1. 功能需求2. 代碼實現過程1. 編寫布局文件2. 創建商品分類(Adapter)適配器3. 實現商品分類Activity4. 在res/values/ 下新建 array.xml ,用于添加商品分類數據5. 效果演示 6. 關于作者其它項目視頻教程介紹 1. 功能需求 顯示商品分…

Linux快速安裝docker和docker-componse步驟

在 CentOS 7 上安裝 Docker 和 Docker Compose 的步驟如下: 1. 安裝 Docker 1.1. 更新系統 首先,確保你的系統是最新版本: sudo yum update -y1.2. 安裝必要的包 安裝 yum-utils,這是管理 YUM 源的工具: sudo yu…

VBA代碼解決方案第二十三講 EXCEL中,如何刪除工作表中的空白行

《VBA代碼解決方案》(版權10028096)這套教程是我最早推出的教程,目前已經是第三版修訂了。這套教程定位于入門后的提高,在學習這套教程過程中,側重點是要理解及掌握我的“積木編程”思想。要靈活運用教程中的實例像搭積木一樣把自己喜歡的代碼…

Pytorch--tensor.view()

在 PyTorch 中,tensor.view() 是一個常用的方法,用于改變張量(Tensor)的形狀(shape),但不會改變其數據本身。它類似于 NumPy 的 reshape(),但有一些關鍵區別。 1. 基本用法 import …

【機器學習】——機器學習思考總結

摘要 這篇文章深入探討了機器學習中的數據相關問題,重點分析了神經網絡(DNN)的學習機制,包括層級特征提取、非線性激活函數、反向傳播和梯度下降等關鍵機制。同時,文章還討論了數據集大小的標準、機器學習訓練數據量的…

CoAP Shell 筆記

CoAP Shell 筆記 1. 概述 CoAP (Constrained Application Protocol) 是一種專為物聯網 (IoT) 中資源受限的節點和網絡設計的 RESTful Web 傳輸協議。CoAP Shell 是一個基于命令行的交互式工具,用于與支持 CoAP 的服務器進行交互。 2. 主要功能 協議支持&#xff…

【最新】探索CFD的未來:從OpenFOAM到深度學習,全面解析計算流體力學的頂級資源與前沿技術

計算流體力學(CFD)作為現代工程與科學研究的核心工具,正以前所未有的速度邁向智能化與多物理場耦合的新時代。本文全面梳理了在線學習CFD的頂級資源,涵蓋了從傳統數值模擬到深度學習驅動的物理信息模型的廣泛領域,旨在為研究者、工程師和學生提供一站式參考指南。內容分為…

[leetcode]2492. 兩個城市間路徑的最小分數(并查集 排序后建邊)

題目鏈接 題意 給定一個 n n n個點 m m m條邊的無向圖 每條邊有邊權 求1-n的路徑中最小的邊權是多少 每條路可以重復走 思路 把邊按邊權降序排序 用并查集維護連通性 遍歷每條邊 每次合并邊的起點和終點 如果1和n聯通 并且這條邊在1和n的這個連通塊中 就對ans取min Code…

Windows中IDEA2024.1的安裝和使用

如果你也喜歡,記得一鍵三連啊 一、卸載 二、安裝 三、注冊 1、打開Crack文件,直接雙擊 “安裝.bat”,否則可能安裝會出錯!! 2、選擇【Activation code】(不要關閉該界面繼續后面的步驟)。 …

【C#】構造協議幀通過串口下發

構造一個“協議幀”&#xff0c;打包串口/網絡通信幀頭部結構的核心部分 &#x1f527; 代碼&#xff1a; List<byte> frame new List<byte>();// 1. 固定幀頭 frame.AddRange(BitConverter.GetBytes(0x0130)); // 幀頭 (4B) frame.AddRange(BitConverter…

04_SQL概述及DDL

文章目錄 一、關于SQL1.1、SQL概述1.2、SQL分類 二、數據庫操作2.1、查看數據庫2.2、切換數據庫2.3、查詢當前使用的數據庫2.4、創建數據庫2.5、查看數據庫創建信息2.6、修改數據庫2.7、刪除數據庫 三、表的操作3.1、數據類型3.1.1、數值類型3.1.2、字符串類型3.1.3、日期時間類…

HCIA-數據通信datacom認證

文章目錄 一、數據通信簡介1.1 標準協議1.2 數據傳輸過程 二、通用路由平臺VRP2.1 VRP簡介2.2 命令行基礎 三 、網絡層協議IP3.1 數據封裝3.2 數據包傳輸2.3 IP地址2.4 子網劃分2.5 ICMP 四、IP路由基礎4.1 路由概述4.2 路由表4.3 路由轉發4.4 靜態路由4.5 動態路由4.6 路由高級…

fast_pow(),c語言冪函數

double fast_pow(double a, int n) { double res 1.0; while (n > 0) { if (n & 1) res * a; // 如果當前位是1&#xff0c;累乘 a * a; // 平方 n >> 1; // 右移一位&#xff08;相當于 n / 2&…

OpenBMC:BmcWeb 處理http請求2 查找路由對象

OpenBMC:BmcWeb 處理http請求1 生成Request和AsyncResp對象_bmc web-CSDN博客 當接收到http請求,并且完成解析后,調用了App::handle處理請求 而App::handle又調用了router.handle(req, asyncResp);來處理請求 1.Router::handle void handle(const std::shared_ptr<Requ…