網絡通信的基本概念與設備

?

目錄

一、互聯網

二、JAVA跨平臺與C/C++的原理

1、JAVA跨平臺的原理

2、C/C++跨平臺的原理

三、網絡互連模型

四、客戶端與服務器

五、計算機之間的通信基礎

1、IP地址與MAC地址

2、ARP與ICMP對比

①ARP協議(地址解析協議)

②ICMP協議(互聯網控制報文協議)

六、計算機之間的連接方式

1、集線器(Hub)

2、網橋

3、交換機

4、路由器


????????數據是如何從一個設備傳遞到另一個設備的? 這一切都是由網絡協議來規定的。沒有網絡協議,就沒有今天的互聯網。互聯網、移動互聯網、物聯網,都離不開網絡協議,為了滿足各種需求,有各式各樣的網絡協議(HTTPS、SMTP、MQTT、RTMP等)。

一、互聯網

互聯網如何工作?

以訪問網站為例,互聯網的運作流程如下:

?????????輸入網址:在瀏覽器輸入 https://www.example.com。

?????????DNS解析:將域名轉換為對應的IP地址(如 93.184.216.34)。

?????????建立連接:通過TCP協議與目標服務器三次握手,建立可靠連接。

?????????發送請求:HTTP協議向服務器請求網頁數據。

?????????數據傳輸:數據被拆分為“數據包”,經路由器逐跳轉發到目標服務器。

?????????服務器響應:服務器返回HTML、CSS、JavaScript等文件,瀏覽器渲染頁面。

二、JAVA跨平臺與C/C++的原理

1、JAVA跨平臺的原理

JVM(Java Virtual Machine):Java虛擬機

·JAVA的跨平臺:一次編譯,到處運行編譯

·生成跟平臺無關的字節碼文件(文件)?

·由對應平臺的解析字節碼為機器指令(01010

? ? ? ? ? 編譯 ? ? ? ? ? ? ? ?加載 ? ? ? ?Window/Mac/Linux

*.java-------> ?*.class ---------> ??JVM-->機器指令

注意:

如果代碼有語法錯誤,將編譯失敗,并不會生成字節碼文件

那就不會去運行一個程序。最后導致程序運行失敗

2、C/C++跨平臺的原理

C/C++的跨平臺:使用平臺相關的編譯器生成對應平臺的可執行文件

三、網絡互連模型

什么是協議?

????????協議(Protocol)是計算機或設備之間通信時遵循的規則和標準,定義了數據如何傳輸、格式如何組織、錯誤如何處理等,確保不同系統能正確交互。它類似于人類交流中的“語言”和“禮儀”,是數字世界協同工作的基礎。為了更好地促進互聯網絡的研究和發展,國際標準化組織 ISO 在 1985 年制定了網絡互連模型-->OSI 參考模型(Open System Interconnect Reference Model),具有 7 層結構

按功能分層:

具體分層內容:

協議如何工作?

以發送郵件為例

?????????用戶寫郵件:在客戶端(如Outlook)輸入內容,點擊“發送”。

? ? ? ? 應用層協議(SMTP):將郵件內容按SMTP格式封裝(包括發件人、收件人)。

?????????傳輸層協議(TCP):將數據拆分為“段”,通過三次握手建立可靠連接。

?????????網絡層協議(IP):添加源IP和目標IP地址,將數據包路由到郵件服務器。

?????????物理層:通過光纖/電纜將電信號傳輸到目標服務器。

?????????收件方:服務器按協議反向解析數據,最終將郵件投遞到收件人郵箱

??四、客戶端與服務器

客戶端:????請求服務的終端??? ?-->?主動發起請求

??服務器??:??提供服務的終端??? -->??被動響應請求

請求過程

客戶端發送數據(自上而下封裝)?

①應用層:

生成原始數據(如HTTP請求:“獲取首頁內容”)。

添加應用層協議頭(如HTTP頭部:GET /index.html)。

②傳輸層:

將數據分割為“段”(Segment),添加端口號(如目標端口80)。

TCP協議附加序列號、校驗和(確保可靠傳輸)。

③網絡層:

封裝為“數據包”(Packet),添加源IP和目標IP地址(如客戶端IP 192.168.1.2 → 服務器IP 93.184.216.34)。

④數據鏈路層:

封裝為“幀”(Frame),添加MAC地址(如客戶端MAC 00:1A:2B:3C:4D:5E → 路由器MAC)。

⑤物理層:

將幀轉換為比特流(電信號/光信號),通過網線或無線傳輸。

服務器接收數據(自下而上解封裝)?

①物理層 → 數據鏈路層:

接收比特流,轉換為幀,校驗MAC地址是否匹配。

②數據鏈路層 → 網絡層:

剝離MAC頭部,檢查IP地址是否為服務器自身IP。

③網絡層 → 傳輸層:

剝離IP頭部,根據端口號(如80)將數據交給對應服務(如Web服務器)。

④傳輸層 → 應用層:

TCP重組數據段(按序列號排序),校驗完整性,最終傳遞原始HTTP請求到應用層。

⑤應用層處理:

解析HTTP請求,生成響應(如返回HTML文件),反向封裝并發送回客戶端。

總結:

????????客戶端與服務器的本質區別在于??服務方向??(請求 vs 響應),而非物理形態。當你在手機上滑動屏幕時——指尖觸發客戶端代碼生成請求,跨越層層協議棧抵達云端服務器,CPU執行微秒級的計算,再將結果穿透無數路由器精準返回,整個過程就像一場由協議導演、數據擔綱主角的環球接力賽。

五、計算機之間的通信基礎

1、IP地址與MAC地址

IP地址是通信的起點:計算機需先獲取目標設備的IP地址(通過DNS解析、手動輸入等方式),這是跨網絡尋址的基礎。

最終是根據MAC地址(網卡地址),輸送數據到網卡,被網卡接收

?目標MAC匹配:若數據幀的MAC地址與網卡自身地址一致,網卡將數據上傳至網絡層(如IP協議)處理。

?目標MAC不匹配:若MAC地址不匹配,網卡直接丟棄數據,避免無關流量占用系統資源。

關鍵設備:

?交換機:基于MAC地址轉發數據(數據鏈路層)。

?路由器:基于IP地址跨網絡路由(網絡層)。

?網關:協議轉換(如連接IPv4和IPv6網絡)。

應用場景:

設備A(IP: 192.168.1.20)向設備B(IP: 192.168.1.21)發送數據:

????????設備A檢查本地ARP緩存表,若未找到B的MAC地址,發送ARP廣播請求。

????????設備B響應ARP請求,返回自己的MAC地址。

????????設備B檢查本地ARP緩存表,若未找到A的MAC地址,發送ARP廣播請求。

????????設備A響應ARP請求,返回自己的MAC地址。

????????設備A將數據封裝為幀(目標MAC=設備B的MAC),通過交換機發送。

????????設備B的網卡檢測到目標MAC匹配,接收數據并上傳至網絡層處理。

總結流程:

IP地址的獲取:

用戶通過域名(如 www.example.com)訪問資源時,需先通過DNS協議將域名解析為IP地址。

若目標設備在局域網內,可直接通過ARP協議獲取其MAC地址(無需經過路由器)。

IP地址 → MAC地址的轉換:

通過ARP協議(Address Resolution Protocol)廣播查詢目標IP對應的MAC地址。

目標設備響應ARP請求,返回自身MAC地址,并存儲在本地ARP緩存表中。

數據封裝與傳輸:

數據在網絡層封裝為IP數據包(包含源/目標IP地址)

數據鏈路層封裝為以太網幀(添加源/目標MAC地址)

通過物理介質(網線、光纖等)傳輸到目標設備的網卡。

網卡對數據幀的校驗:

網卡檢查幀頭中的目標MAC地址:

? ·匹配:拆解幀,將IP數據包傳遞給網絡層協議。

? ·不匹配:直接丟棄,不進行后續處理。

2、ARP與ICMP對比

①ARP協議(地址解析協議)

定義與作用:

????????ARP(Address Resolution Protocol)用于將網絡層的IP地址解析為數據鏈路層的MAC地址,使得同一局域網內的設備能夠直接通信。

工作原理:

ARP請求(廣播):當設備A需要與設備B通信,但不知道B的MAC地址時,會發送一個廣播ARP請求,包含目標IP地址。

ARP響應(單播):設備B收到請求后,若IP匹配,則回復一個單播ARP響應,包含自己的MAC地址。

緩存機制:設備A將B的IP-MAC映射存入本地ARP緩存表(通常有效期幾分鐘),減少重復請求。

②ICMP協議(互聯網控制報文協議)

定義與作用:

????????ICMP(Internet Control Message Protocol)用于傳遞網絡控制信息,如錯誤報告、狀態查詢,幫助診斷網絡問題。

工作原理:

封裝在IP數據包中(協議號1),不直接關聯傳輸層(如TCP/UDP)。

設備根據ICMP報文類型執行操作,例如:

???·目標不可達(類型3):路由器無法轉發數據包時發送。

?? ·超時(類型11):數據包TTL歸零時觸發。

?? ·回顯請求/應答(類型8/0):用于ping命令測試連通性。

總結:

六、計算機之間的連接方式

1、集線器(Hub)

集線器(Hub)是一種工作在物理層(OSI第一層)的網絡設備,主要功能是將接收到的電信號廣播到所有連接的端口,實現多臺設備的物理連接。

應用場景:

基于集線器的局域網,揭示了集線器的廣播泛洪、沖突域共享和低效轉發特性

2、網橋

網橋(Bridge)是一種工作在數據鏈路層(OSI第二層)的網絡設備,主要用于分割沖突域 和 過濾網絡流量,通過MAC地址學習實現智能轉發,解決集線器的廣播泛洪問題。以下是其核心特性:

?·沖突域分割:每個網橋端口獨立沖突域,避免全網沖突(集線器所有端口共享一個沖突域)。

?·MAC地址表學習:記錄設備的MAC地址與端口映射,僅轉發必要流量。

?·幀過濾:若目標設備在源端口同一側,網橋丟棄幀,避免冗余傳輸。

應用場景:

先通過廣播學習到每個計算機的MAC地址,再選擇性的發送數據

廣播域與沖突域的對比?:

總結對比:

3、交換機

交換機是一種工作在數據鏈路層(OSI第二層)的網絡設備,,但三層交換機可處理網絡層(IP路由)。通過記錄源MAC地址和端口的對應關系構建MAC地址表,減少廣播域,提升網絡效率。

轉發方式:

?????????存儲轉發:接收完整幀并校驗錯誤后再轉發(可靠性高)。

?????????直通轉發:讀取目標MAC后立即轉發(延遲低,但可能傳輸錯誤幀)。

交換機 vs 集線器/網橋的對比:

????????連接的設備必須在同一網段

????????連接的設備處在同一廣播域

4、路由器

路由器(Router)是連接不同網絡的核心設備,工作在??網絡層(OSI第三層)??,承擔著??跨網段尋址、數據包轉發和路徑控制??的關鍵職能。

路由器的本質作用??:

??跨網絡通信??:實現跨越IP子網的數據傳輸(例:從192.168.1.0/24到10.0.0.0/8)
??智能路徑選擇??:基于路由表選擇最優路徑

應用場景:

交換機 vs 集線器/網橋/交換機的對比:

?網線直連、同軸電纜、集線器、網橋、交換機

?????????連接的設備必須在同一網段

?????????連接的設備處在同一廣播域

?路由器

?????????可以在不同網段之間轉發數據

?????????隔絕廣播域

總結:

????????交換機專注“快速連通同網段設備”,路由器負責“跨網段尋路與安全管控”——二者協同構建完整網絡(如企業內交換機互聯設備,路由器連接外網并隔離風險)。

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

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

相關文章

云原生俱樂部-k8s知識點歸納(1)

這篇文章主要是講講k8s中的知識點歸納,以幫助理解。雖然平時也做筆記和總結,但是就將內容復制過來不太好,而且我比較喜歡打字。因此知識點歸納總結還是以敘述的口吻來說說,并結合我的理解加以論述。k8s和docker首先講一講docker和…

基于Node.js+Express的電商管理平臺的設計與實現/基于vue的網上購物商城的設計與實現/基于Node.js+Express的在線銷售系統

基于Node.jsExpress的電商管理平臺的設計與實現/基于vue的網上購物商城的設計與實現/基于Node.jsExpress的在線銷售系統

Git 對象存儲:理解底層原理,實現高效排錯與存儲優化

### 探秘 Git 對象存儲:底層原理與優化實踐#### 一、Git 對象存儲的底層原理 Git 采用**內容尋址文件系統**,核心機制如下: 1. **對象類型與存儲** - **Blob 對象**:存儲文件內容,通過 git hash-object 生成唯一 SHA-…

【2025CVPR-目標檢測方向】RaCFormer:通過基于查詢的雷達-相機融合實現高質量的 3D 目標檢測

1. 研究背景與動機? ?問題?:現有雷達-相機融合方法依賴BEV特征融合,但相機圖像到BEV的轉換因深度估計不準確導致特征錯位;雷達BEV特征稀疏,相機BEV特征因深度誤差存在畸變。 ?核心思路?:提出跨視角查詢融合框架,通過對象查詢(object queries)同時采樣圖像視角(原…

【每日一題】Day 7

560.和為K的子數組 題目: 給你一個整數數組 nums 和一個整數 k ,請你統計并返回該數組中和為 k 的子數組的個數 。 子數組是數組中元素的連續非空序列。 示例 1: 輸入:nums [1,1,1], k 2 輸出:2 示例 2&#x…

3ds MAX文件/貼圖名稱亂碼?6大根源及解決方案

在3ds MAX渲染階段,文件或貼圖名稱亂碼導致渲染失敗,是困擾眾多用戶的常見難題。其背后原因多樣,精準定位方能高效解決:亂碼核心根源剖析字符編碼沖突 (最常見)非ASCII字符風險: 文件路徑或名稱包含中文、日文、韓文等…

鏈路聚合路由器OpenMPTCProuter源碼編譯與運行

0.前言 前面寫了兩篇關于MPTCP的文章: 《鏈路聚合技術——多路徑傳輸Multipath TCP(MPTCP)快速實踐》《使用MPTCPBBR進行數據傳輸,讓網絡又快又穩》 對MPTCP有了基本的了解與實踐,并在虛擬的網絡拓撲中實現了鏈路帶寬的疊加。 1.OpenMPTC…

AI時代企業轉型指南:用AI降本增效,銷售轉化翻3倍,獲客成本砍一半!

AI時代,大部分企業每天都在問同一個問題:AI到底能幫我做什么?無論你是做電商、做IP、做操盤手,還是傳統企業老板,你都會發現一個現實——AI真正的用途是用來在業務場景里直接降本增效的。對我個人來說,AI已…

【牛客刷題】最大公約數與最小公倍數:算法詳解與實現

文章目錄 一、題目介紹 1.1 輸入描述 1.2 輸出描述 1.3 示例(含詳細注釋) 二、考察的知識點 三、算法設計思路 3.1 最大公約數(GCD) 3.2 最小公倍數(LCM) 四、流程圖 五、題解實現 六、復雜度分析 七、關鍵算法知識點 一、題目介紹 計算兩個整數的**最大公約數(GCD)和最小公…

將 iPhone 聯系人轉移到 Infinix 的完整指南

從 iPhone 切換到 Infinix 設備是一次令人興奮的升級,但在切換過程中,轉移個人數據(尤其是聯系人)可能會有些棘手。聯系人是任何手機上最重要的信息類型之一,如果在切換過程中丟失它們,會帶來很大的不便。由…

Clipboard.js 復制內容

插件地址 clipboard.js 中文網 安裝 npm install clipboard --save使用示例 <template><div><div class"copyBtn" click"copyText">復制文本</div ></div> </template><script> // 引入clipboard.js import…

蛇形方陣構造

給出方陣的長寬&#xff0c;n 和 m &#xff0c;按照斜著的蛇形輸出該方陣 面試官給的送分題裸模擬&#xff0c;寫的太慢了沒過&#xff0c;實際確實慢&#xff0c;結束后起碼用了一個多小時才調完 找了下沒找到leetcode 提交的地方&#xff0c;各種oj 倒是有&#xff0c;不過是…

傳統方式部署(RuoYi-Cloud)微服務

實驗環境192.168.10.43和192.168.10.44內存不能小于4G一、安裝MySQL&#xff08;192.168.10.46&#xff09;1、安裝MySQL依賴庫dnf -y install ncurses-compat-libs2、上傳mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二進制包到/root目錄&#xff0c;解壓并移動到指定…

Linux網絡服務(一)——計算機網絡參考模型與子網劃分

文章目錄前言一、分層思想1.1 分層的基本概念1.2 點到點與端到端通信的區別二、OSI參考模型2.1 OSI七層模型的結構2.2 各層功能示例&#xff08;以QQ為例&#xff09;2.3 單工&#xff0c;半雙工和全雙工2.4 OSI七層模型總結三、TCP/IP模型3.1 TCP/IP四層與五層模型3.2 TCP/IP協…

Elasticsearch全文檢索中文分詞:IK分詞器詳解與Docker環境集成

目錄一、IK分詞器介紹與選擇1. IK分詞器詳細介紹1.1 基本概念1.2 核心功能1.3 適用場景2. 如果不使用IK分詞器&#xff0c;有哪些替代方案&#xff1f;2.1 默認分詞器的局限性2.2 替代方案及對比2.3 示例&#xff1a;Ngram Tokenizer配置3. 如何選擇分詞器&#xff1f;3.1 決策…

實用軟件推薦

作者給大家推薦兩個軟件&#xff1a;typedown,typora typedown在microsoft上即可下載&#xff0c;免費 如果有更多的需求建議下載typora,typora為付費軟件 typora官網&#xff1a;typora官網 typedown下載&#xff1a;typedown下載 作者曾經發布的一些以"md"為后…

地圖導航怎么測?

地圖導航的測試需要結合功能驗證、性能評估和場景模擬等多維度方法,以下是基于行業標準和實踐的系統化測試方案: 一、核心測試維度與方法 (一)功能測試:覆蓋導航全流程 1、基礎功能驗證 路線規劃:輸入起點 / 終點后,驗證系統是否能生成最短、最快或避開擁堵的路線,并…

力扣70:爬樓梯

力扣70:爬樓梯題目思路代碼題目 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢&#xff1f; 思路 首先我們先列出來前幾個臺階的答案從第一個開始&#xff1a;1&#xff0c;2&#xff0c;3&#xff0c;5。…

CoRL 2025|隱空間擴散世界模型LaDi-WM大幅提升機器人操作策略的成功率和跨場景泛化能力

內容源自計算機科研圈在機器人操作任務中&#xff0c;預測性策略近年來在具身人工智能領域引起了廣泛關注&#xff0c;因為它能夠利用預測狀態來提升機器人的操作性能。然而&#xff0c;讓世界模型預測機器人與物體交互的精確未來狀態仍然是一個公認的挑戰&#xff0c;尤其是生…

Rust 入門 生命周期-next2 (十九)

生命周期消除實際上&#xff0c;對于編譯器來說&#xff0c;每一個引用類型都有一個生命周期&#xff0c;那么為什么我們在使用過程中&#xff0c;很多時候無需標注生命周期&#xff1f;例如&#xff1a;fn first_word(s: &str) -> &str {let bytes s.as_bytes();f…