計算機網絡(1)——概述

1.計算機網絡基本概念

1.1 什么是計算機網絡

  • 計算機網絡的產生背景
    在計算機網絡出現之前,計算機之間都是相互獨立的,每臺計算機只能訪問自身存儲的數據,無法與其他計算機進行數據交換資源共享。這種獨立的計算機系統存在諸多局限性:
  1. 資源利用率低:計算機的資源(如處理器、內存、硬盤等)只能被自身利用,無法被其他計算機共享,導致資源浪費
    
  2. 計算能力有限:單臺計算機的處理能力有限,無法處理復雜的計算任務或者大規模的數據處理
    
  3. 數據共享困難:每臺計算機都是獨立的存儲設備,無法被其他計算機訪問,只能通過物理介質進行信息傳遞(如:利用U盤拷貝)
    

隨著通信技術和計算機技術的不斷發展推動了計算機網絡的誕生,所以說:計算機網絡是通信技術與計算機技術緊密結合的產物

定義:計算機網絡就是互連的、自治的計算機集合
互連:計算機之間互聯互通
自治:計算機之間無主從關系

在早期時,主機數量有限,因此主機之間可以使用物理介質進行直連
在這里插入圖片描述

但隨著主機數量的增減,物理直連的成本過高,交換網絡的概念應運而生
在這里插入圖片描述

1.2 什么是Internet

  • 從組成細節角度來看:
    Internet是全球最大的互聯網絡,由ISP(互聯網服務提供商,Internet Service Provider)網絡互連的網絡之網絡。換言之,Internet是由多個獨立網絡互聯而成的一個龐大的網絡系統,它主要有以下幾個組成部分:
    (1)成千上萬的互連的計算設備集合(PC、手機等)
    (2)通信鏈路(光纖、衛星等)
    (3)交換網絡:實現數據的分組轉發(路由器、交換機等)
    在這里插入圖片描述
  • 從服務角度來看:能為用戶提供什么服務
    (1)為網絡應用提供通信服務基礎設施:光纖、電纜、路由器等
    (2)為網絡應用提供應用編程接口(API):如網絡協議API,DNS API,數據庫API等

Question:如果僅有硬件連接,能否保證網絡通信中的數據交換?
Answer:不能,還需要協議

1.3 協議

1.3.1 什么是協議

硬件是計算機網絡的基礎,但是計算機網絡中的數據交換必須遵守實現約定好的規則
以交通系統為例:交通系統中有交通規則,規定了車輛和行人如何安全有序地移動。比如,紅燈停綠燈行,車輛靠右行駛等。如果一個交通系統中僅有道路(物理條件),而沒有交通規則,那么該交通系統是一定會癱瘓的
在計算機網絡中也一樣,數據之間的交換必須要遵守一定的規則,保證通信的安全性、有序性,這種規則就叫做協議協議規定了通信實體之間數據交換的格式意義順序以及針對收到的消息所采取的“行為”

1.3.2 協議的三要素

(1)語法:定義了數據在網絡上傳輸時的結構格式

  • 1.數據格式:規定了消息中各個字段的順序、長度、數據類型等
  • 2.編碼方式:規定了數據在傳輸過程中如何編碼和解碼
  • 3.信號電平:規定了信號的電壓、電流等

(2)語義:定義了協議中消息的含義目的

  • 1.字段的解釋方式:消息中各個字段代表什么含義
  • 2.協議的功能:協議如何實現請求、響應、錯誤處理等功能
    例如:HTTP協議中,GET請求是請求服務器提供指定資源;POST請求是向服務器提交數據

(3)時序:定義了消息交換的順序和時間關系

  • 1.事件順序:規定了消息發送和接收的順序
  • 2.時間間隔:規定了消息發送和接收的時間間隔
  • 3.超時和重傳機制:規定了在特定時間內未收到響應時的處理方式 例如:TCP協議三次握手建立連接,這三次交互必須嚴格按照規定的順序進行;HTTP協議中,服務器在收到請求后,必須在規定時間內返回響應

2.計算機網絡結構

計算機網絡結構分為三個部分:

  • 1.網絡邊緣(Network Edge):處于計算機網絡的邊緣地帶
  • 2.接入網絡:網絡邊緣和網絡核心的中間部分
  • 3.網絡核心:位于計算機網絡的核心地帶 在這里插入圖片描述

2.1 網絡邊緣

主要由計算設備運行在計算設備上的應用程序組成,比如:我們的手機和手機上的應用(瀏覽器)就處于計算機網絡邊緣。這些計算設備有兩種通信模型:

  • 1.客戶端-服務器(client-sever)應用模型:客戶端發送請求,服務器返回響應
  • 2.對等(peer-peer,P2P)應用模型:通信在對等設備之間直接進行
    以QQ為例:當你在某群聊中發送消息時,你的消息會先到達維護該群聊的服務器,服務器接收到你的消息后利用廣播機制再轉發給群聊中的其他人,這就是客戶端-服務器(client-sever)應用模型;當你給某好友發送消息時,該消息會直接到達對方手機上,而不會再經由服務器轉發,這就是對等(peer-peer,P2P)應用模型

2.2 接入網絡

負責將處于網絡邊緣的設備接入到網絡核心,主要由兩部分組成

  • 1.物理介質:光纖、電纜等。這些物理介質提供了計算設備與網絡核心之間連接的數據傳輸通道
  • 2.接入技術:調制解調器、無線局域網(WLAN)等。這些接入技術決定了計算設備接入網絡的方式(獨占/共享)和速度

2.3 網絡核心

主要由多個相互連接的路由器組成,負責消息的路由轉發目的是:將消息從源主機傳輸給目的主機

3.網絡核心

Question:如何實現數據通過網絡核心從源主機到達目的主機?
Answer:數據交換,一共有電路交換報文交換分組交換三種方式

3.1 電路交換

3.1.1 電路交換

  • 概念:在通信開始前,發送方和接收方之間建立一條專用的物理或邏輯連接。這條連接在整個通信過程中保持不變,直到通信結束
  • 最典型的電路交換網絡:電話網絡
  • 電路交換的三個階段
  1. 建立連接(撥號->打通電話)
    
  2. 通信
    
  3. 釋放連接(掛斷電話)
    
  • 最顯著的特點獨占資源(當兩個人打通電話之后,第三個人是打不進來的)
    在這里插入圖片描述

Question:以上圖為例,電話A和電話B建立連接后是獨占整個電話網絡嗎?
Answer:不是的,多個交換機互聯組成的電話網絡的承載能力,往往可以同時支撐多對電話進行通信。電路交換的獨占性指的是:在通信期間,特定的物理線路被某個連接獨占,并不代表整個電話網絡都被該連接獨占。但是電路交換的獨占性確實會導致資源利用率低的問題,所以多路復用技術應運而生

3.1.2 多路復用

多路復用:將鏈路/網絡資源(如貸款)劃分為“資源片”分配給各路呼叫(calls),每路呼叫獨占分到的資源片。在這里插入圖片描述
分配方式可以分為四種,分別是:頻分多路復用時分多路復用波分多路復用碼分多路復用

  • 1.頻分多路復用(FDM):將通信信道按照頻率分割為多個獨立的子信道的技術,允許多路信號信號在同一介質中同時傳輸二互不干擾
    在這里插入圖片描述
  • 2.時分多路復用(TDM):將時間等分為一段段時間復用幀(TDM幀),每路信號在每個TDM幀中占用固定序號的時隙
    在這里插入圖片描述
    在這里插入圖片描述
  • 3.波分多路復用(WDM):光通信中的FDM,將通信信道按照波長分割為多個獨立的子信道的技術
  • 4.碼分多路復用(CDM):每路信號被一個唯一的碼序列調制,彼此互不干擾

3.2 分組交換

在這里插入圖片描述

  • 概念:數據被分割成多個小的分組,每個分組獨立傳輸,通過網絡中的不同路徑到達目的地。分組在傳輸過程中可能會經過多個中間節點(如路由器或交換機)
  • 分組:在源主機中將數據分割為若干個小的數據包(分片),每個分片都會有一個序號
  • 重組:在目的主機中將分片按照序號進行組裝

注意

  • 每個分片都會添加額外的控制信息,來保證重組的順利進行(比如:IP數據包進行分組時,每個分片都會有3位標志位和13位片偏移來控制重組)
  • 分組和重組發生在源主機和目的主機,經由中間的路由器時不會發生

3.3 電路交換和分組交換區別

特性分組交換電路交換
資源占用動態分配固定
資源利用率
使用場景突發數據實時流

4.計算機網絡性能

4.1 速率

  • 數據率(data rate)或稱數據傳輸速率比特率(bit rate):指數據在網絡中的傳輸速率
  • 單位:b/s、kb/s、Mb/s、Gb/s(k = 10 ^ 3,M = 10 ^ 6,G = 10 ^ 9)
  • 日常生活中給出的速率指標(如百兆網絡/千兆網絡)一般指的是理想狀態下的最大傳輸速率/額定速率(帶寬)

4.2 帶寬(bandwidth)

原本指信號具有的頻帶寬度,即最高頻率與最低頻率之差,單位是赫茲(Hz);網絡中的“帶寬”通常是數字信道所能傳輸的“最高數據傳輸速率”,單位是b/s(bps)

4.3 延遲(delay)

Question:分組交換為什么會有丟包和延遲?
在這里插入圖片描述
以上圖為例,主機A/B要傳輸一組數據包到路由器Y,首先該組數據包會先到達路由器X,如果此時路由器Y正在傳輸其他數據,那么該組數據白會先在路由器上保存,當路由器X的緩存滿時,后續到達的數據包就會被丟棄,這就叫做丟包

而分組交換的延遲一共分為四種:

  • 1.節點處理延遲(nodal processing delay):數據到達某一網絡設備(如路由器)時會對數據進行差錯檢測,根據數據中的地址信息判斷轉發到哪一個路由器或主機,這些操作所花費的時間就叫做節點處理延遲
  • 2.排隊延遲(queueing delay):以上圖為例,數據到達路由器X后,等待路由器Y處理完其他數據的時間。一般來說等待時間不確定,取決于路由器的擁塞程度
  • 3.傳輸延遲(transmission delay):一組數據包全部通過某網絡設備(如路由器)所需的時間。例如:某組分片的大小為10000bit,路由器的帶寬是1Mbps(1,000,000bit),傳輸延遲就是0.01秒
  • 4.傳播延遲(propagation ddeelay):數據在物理介質中從發送端到接收端所需的時間。光纖中的信號傳播速度約為2×10^8米/秒,如果傳輸距離是1000公里,傳播延遲就是0.005秒

為了更清楚的區分傳輸延時和傳播延遲的區別:我這里以車隊類比數據包
在這里插入圖片描述
車->分片車隊->分組收費站->路由器
車速為100km/h->信號傳播速度
一輛車通過收費站用時12秒
車隊通過收費站用時120秒->傳輸延遲
一輛車從第一個收費站到達下一個收費站用時1小時->傳播延遲

4.4 時延帶寬積(Delay-Bandwidth Product,DBP)

時延帶寬積(bit) = 傳播延遲(s) × 帶寬(bps)
表示網絡鏈路中“正在傳輸”的數據量,即發送端和接收端之間“飛行”中的比特數。所以鏈路的時延帶寬積又稱為以比特為單位的鏈路長度
在這里插入圖片描述

4.5 丟包率

指在網絡傳輸過程中丟失的數據包數量與總發送數據包數量的比值
在這里插入圖片描述

4.6 吞吐量

表示在發送端與接收端之間傳送數據速率(bps)

  • 即時吞吐量:給定時刻的速率
  • 平均吞吐量:一段時間的平均速率

吞吐量的大小取決于瓶頸鏈路的帶寬
在這里插入圖片描述
在這里插入圖片描述

5.計算機網絡體系結構

5.1 計算機網絡體系結構概述

什么是計算機網絡體系結構?

  • 計算機網絡體系結構是從功能的角度進行劃分的
  • 一般采用分層模型來描述,即網絡分層
  • 每層遵循某個/些網絡協議完成本層功能
  • 計算機網絡體系結構是網絡各層及其協議的集合
  • 計算機網絡體系結構定義了計算機網絡的功能層次以及層次之間的關系

為什么是采用分層結構?

  • 結構清晰:網絡分層的參考模型(如OSI 7層模型)就嚴格區分了各層實現的功能和它們之間的關系
  • 利于維護更新:任何一層功能的實現對外透明,只提供接口
  • 利于標準化:各層之間的接口是標準化的,這可以讓不同廠商之間的設備無縫銜接

5.2 OSI 7層模型

OSI 7層模型是國際標準化組織(ISO)在1984年提出的分層網絡體系結構,目的是支持不同的網絡結構之間互通互聯在這里插入圖片描述
OSI 7層模型的通信過程
在這里插入圖片描述
OSI 7層模型數據封裝與分用過程在這里插入圖片描述

注意:OSI 7層模型只存在于理論中,主要是幫助我們理解網絡分層,實際應用中基本上不會按照該模型的標準來分層

5.3 TCP/IP 5層模型

在這里插入圖片描述
實際應用中一般采用TCP/IP 5層模型的標準,將會話層和表示層的功能集成到應用層里。既簡化了整個協議棧的結構,又進一步提高了數據在網絡中傳輸的效率

下面對TCP/IP模型通信過程中封裝分用的流程進行演示:
預設場景:張三給李四在2025年3月21日(只是演示,不精確到秒)這一天給李四發消息,消息內容是"Hello World"
接下來我們以發送方接收方的視角來觀察

發送方

1.應用層
假設應用層協議的格式為:接收方QQ號+發送時間+發送方QQ號+內容 在這里插入圖片描述
應用層將該數據包提交給傳輸層
2.傳輸層
傳輸層把來自應用層的數據包構造成傳輸層數據報,傳輸層常用的協議有兩個,分別是UDP和TCP。這里以UDP協議為例,在應用層數據包前面添加UDP報頭,然后提交給網絡層
在這里插入圖片描述
UDP報頭主要包含源端口和目的端口
3.網絡層
網絡層基于IP協議在UDP數據報前面添加IP報頭,然后提交給數據鏈路層 在這里插入圖片描述
IP報頭主要包含源IP和目的IP
4.數據鏈路層
數據鏈路層基于以太網協議在IP數據報的首/尾部添加以太網幀頭/尾,打包成以太網數據幀然后提交給物理層 在這里插入圖片描述
5.物理層
物理層將以太網數據幀中的二進制數據轉換成光/電信號,然后數據就被發生出去了
以上就是封裝的過程

接收方

1.物理層
通過網卡接受到光/電信號,在物理層將光/電信號轉換為二進制數據,該二進制數據的格式是以太網數據幀,然后提交給數據鏈路層進行解析
在這里插入圖片描述
2.數據鏈路層
數據鏈路層把以太網數據幀的幀頭和幀尾拆除,將剩下的部分提交給網絡層 在這里插入圖片描述
3.網絡層
網絡層解析出IP報頭,將IP數據報的載荷部分提交給傳輸層 在這里插入圖片描述
4.傳輸層
傳輸層解析出UDP報頭,將UDP載荷部分提交給應用層 在這里插入圖片描述
5.應用層
應用層將數據包進行解析,然后將內容顯示到屏幕
以上就是分用的過程

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

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

相關文章

React學習(二)-變量

也是很無聊,竟然寫這玩意,畢竟不是學術研究,普通工作沒那么多概念性東西,會用就行╮(╯▽╰)╭ 在React中,變量是用于存儲和管理數據的基本單位。根據其用途和生命周期,React中的變量可以分為以下幾類&…

完整卸載 Fabric Manager 的方法

目錄 ? 完整卸載 Fabric Manager 的方法 1?? 停止并禁用服務 2?? 卸載 Fabric Manager 軟件包 3?? 自動清理無用依賴(可選) 4?? 檢查是否卸載成功 ? 補充(僅清除服務,不刪包) ? 完整卸載 Fabric Mana…

ABP vNext 多租戶開發實戰指南

🚀 ABP vNext 多租戶開發實戰指南 🛠? 環境:.NET 8.0 ABP vNext 8.1.5 (C# 11, EF Core 8) 📚 目錄 🚀 ABP vNext 多租戶開發實戰指南🏠 一、什么是多租戶?📦 二、ABP 多租戶的核…

【WIN】筆記本電腦忘記密碼解決辦法/筆記本電腦重裝系統筆記/bitlocker忘記密碼的解決辦法

通過安全模式下的CMD命令找回 具體的步驟就是: 首先通過筆記本的對應的一個進入安全模式的一個方式 進入安全模式之后,一直點著這個診斷,然后高級選項進去就可以看到了。 但是這種方法應該是屬于安全漏洞,所以只適合老版本。如果是…

人工智能100問?第25問:什么是循環神經網絡(RNN)?

目錄 一、通俗解釋 二、專業解析 三、權威參考 循環神經網絡(RNN)是一種通過“記憶”序列中歷史信息來處理時序數據的神經網絡,可捕捉前后數據的關聯性,擅長處理語言、語音等序列化任務。 一、通俗解釋 想象你在和朋友聊天,每說一句話都會根據之前的對話內容調整語氣…

實驗八 基于Python的數字圖像問題處理

一、實驗目的 ? 培養利用圖像處理技術解決實際問題的能力。 ? 培養利用圖像處理技術綜合設計實現的能力。 ? 掌握在Python環境下解決實際問題的能力。 ? 熟練掌握使用cv2庫對圖像進行處理 ? 熟練掌握使用區域生長法提取圖片中感興趣的區域 二、實驗內容 本次實驗內容為…

STM32F10xx 參考手冊

6. 什么是寄存器 本章參考資料:《STM32F10xx 參考手冊》、《STM32F10xx數據手冊》、 學習本章時,配合《STM32F10xx 參考手冊》“存儲器和總線架構”及“通用I/O(GPIO)”章節一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。…

TCVectorDB 向量數據庫簡介

簡介 盡管目前大多數開源向量數據庫來自海外,配置簡單且性能優異,但由于網絡原因,如果向量數據庫部署在海外,而產品面向國內市場,網絡延遲將是必須考慮的問題。因此,選擇國內服務提供商的云向量數據庫往往是…

力扣-比特位計數(統計一個數二進制下1的個數)

下面是題面 1.用c的內置函數__builtin_popcount() 語法:__builtin_popcount(int x),函數會返回一個二進制下x所含的1的個數 2.直接數位枚舉 這是最慢也是暴力做法,寫法也很簡單 用一個while循環…

青少年編程與數學 02-019 Rust 編程基礎 16課題、包、單元包及模塊

青少年編程與數學 02-019 Rust 編程基礎 16課題、包、單元包及模塊 一、包1. **什么是 Crate?**2. **Crate 的類型**3. **Crate 的結構**4. **使用 Crate**5. **創建和管理 Crate**6. **發布 Crate**7. **Crate 的優勢**8. **示例**創建一個 library crate 二、單元…

強化學習入門:馬爾科夫獎勵過程二

文章目錄 前言1、動作2、策略總結 前言 最近想開一個關于強化學習專欄,因為DeepSeek-R1很火,但本人對于LLM連門都沒入。因此,只是記錄一些類似的讀書筆記,內容不深,大多數只是一些概念的東西,數學公式也不會…

【大數據知識】今天聊聊Clickhouse部署方案

ClickHouse部署 一、ClickHouse部署一、單節點部署1. 安裝準備2. 目錄規劃3. 核心配置4. 啟動服務 二、集群部署方案1. 集群拓撲設計2. 分布式配置3. 表引擎選擇 三、安全加固1. 認證配置2. SSL加密 四、性能優化1. 核心參數調優2. 資源隔離 五、監控與維護1. Prometheus 集成2…

打卡Day28

題目1:定義圓(Circle)類 要求: 1.包含屬性:半徑 radius。 2.包含方法: ●calculate_area():計算圓的面積(公式:πr)。 ●calculate_circumference()&#xff…

BERT 進階:Albert 模型詳解與實戰

目錄 BERT 進階:Albert 模型詳解與實戰 一、ALBERT 的優化策略 (一)Embedding 參數因式分解 (二)跨層參數共享 (三)巨劍連貫性損失 二、ALBERT 模型架構 (一)Tran…

使用 163 郵箱實現 Spring Boot 郵箱驗證碼登錄

使用 163 郵箱實現 Spring Boot 郵箱驗證碼登錄 本文將詳細介紹如何使用網易 163 郵箱作為 SMTP 郵件服務器,實現 Spring Boot 項目中的郵件驗證碼發送功能,并解決常見配置報錯問題。 一、為什么需要郵箱授權碼? 出于安全考慮,大…

深入解析Spring Boot與Spring Security的集成實踐

深入解析Spring Boot與Spring Security的集成實踐 引言 在現代Web應用開發中,安全性是一個不可忽視的重要方面。Spring Security作為Spring生態中的安全框架,提供了強大的認證和授權功能。本文將結合Spring Boot,詳細介紹如何集成Spring Se…

C#將1GB大圖裁剪為8張圖片

C#處理超大圖片(1GB)需要特別注意內存管理和性能優化。以下是幾種高效裁剪方案: 方法1:使用System.Drawing分塊處理(內存優化版) using System; using System.Drawing; using System.Drawing.Imaging; us…

Linux系統啟動相關:vmlinux、vmlinuz、zImage,和initrd 、 initramfs,以及SystemV 和 SystemD

目錄 一、vmlinux、vmlinuz、zImage、bzImage、uImage 二、initrd 和 initramfs 1、initrd(Initial RAM Disk) 2、initramfs(Initial RAM Filesystem) 3、initrd vs. initramfs 對比 4. 如何查看和生成 initramfs 三、Syste…

AIStarter Windows 版本迎來重磅更新!模型插件工作流上線,支持 Ollama / ComfyUI 等多平臺本地部署模型統一管理

如果你正在使用 AIStarter 工具進行本地 AI 模型部署 ,那么這條消息對你來說非常重要! 在最新推出的 AIStarter Windows 正式版更新中 ,官方對整個平臺進行了功能重構和性能優化,尤其是新增了「模型插件工作流 」功能&#xff0c…

深入理解橋接模式:解耦抽象與實現的設計藝術

一、為什么需要橋接模式?從“類爆炸”問題說起 你是否遇到過這樣的開發困境? 當需要為系統擴展新功能時,繼承體系像滾雪球一樣越變越臃腫:新增一種遙控器類型,需要為電視、音響各寫一個子類;新增一種設備類…