計算機網絡(一)基礎概念

本篇文章為計算機網絡相關知識點整理及擴展

基于B站計算機網絡課程:https://www.bilibili.com/video/BV1p69tYZEvN/?spm_id_from=333.1007.top_right_bar_window_history.content.click

如有錯誤,還望大家不吝指正


URL(統一資源定位符)

是一個用于標識互聯網上資源的地址,包括域名、協議號、端口號、路徑等信息。

以課程鏈接為例:

  • 協議:https://(Hypertext Transfer Protocol Secure)是瀏覽器與服務器進行信息交流的規則。
  • 域名:www.bilibili.com? 是一種網絡服務在互聯網上,供人類記憶的名字,通過DNS域名解析成服務器的IP地址供計算機識別。( com:頂級域名,表示這是一個商業網站。 bilibili:二級域名,代表公司或網站的名稱。 www 子域名,通常表示一個網站的萬維網服務)
  • 端口號:用于定向一種服務。https協議默認使用443端口,等同于www.bilibili.com:443
  • 路徑:/video/BV1p69tYZEvN(在數據庫中的唯一標識符)/? 資源在服務器上具體存放的位置 通常對應服務器文件系統中的目錄和文件名。
  • 查詢參數:?spm_id_from=333.1007.top_right_bar_window_history.content.click:由鍵值對組成,用來向服務器傳遞額外的信息。(spm_id_from:b站自己的參數,用于追蹤流量來源。333.1007[特定內部編碼].top_right_bar_window_history.content.click :SPM[Source Product Model]值,告訴服務器這個點擊來自哪個頁面)

DSN域名解析

將域名解析為IP地址,步驟如下:

  • 你在瀏覽器中輸入 www.bilibili.com,然后按下回車。
  • 你的計算機首先會向 本地 DNS 服務器(通常由你的網絡服務提供商提供)發出查詢請求。
  • 如果本地 DNS 服務器有 www.bilibili.com的 IP 地址緩存,它會立即返回給你。
  • 如果本地 DNS 服務器沒有,它會向 根域名服務器 發出查詢。根域名服務器會告訴它.com這個頂級域的地址。
  • 本地 DNS 服務器再向.com的頂級域名服務器發出查詢,頂級域名服務器會告訴它 www.bilibili.com的權威域名服務器地址。
  • 最后,本地 DNS 服務器向bilibili.com 的權威域名服務器發出查詢。這個服務器保存著 www.bilibili.com 的真實 IP 地址,并將其返回。
  • 本地 DNS 服務器將 IP 地址返回給你的電腦,并將其緩存起來以便下次快速訪問。
  • 你的電腦現在擁有了 IP 地址,可以向該 IP 地址對應的服務器發起連接請求。

IP地址/MAC地址

IP地址:用于在互聯網上唯一標識一臺物理服務器的數字地址。一個IP地址可以對應多個域名

MAC地址:每個網卡都有一個全球唯一的物理地址,即 MAC 地址。這個地址用于在局域網(LAN)內部識別設備,確保數據包能夠被準確地發送到正確的計算機。

  • IP 地址(Internet Protocol Address)

    • 作用層級: 在網絡層(OSI 模型第三層)工作。

    • 功能: IP 地址用于在不同網絡之間進行邏輯尋址和路由。它標識了設備所在的網絡位置,是數據包能夠跨越不同網絡(例如從你的家庭網絡到互聯網上的服務器網絡)傳輸的關鍵。IP 地址分為 IPv4 和 IPv6 兩種版本。

    • 分配方式: IP 地址是可變的。它由網絡管理員或互聯網服務提供商(ISP)動態或靜態分配給設備,當設備連接到不同的網絡時,其 IP 地址通常會改變。

  • MAC 地址(Media Access Control Address)

    • 作用層級: 在數據鏈路層(OSI 模型第二層)工作。

    • 功能: MAC 地址用于在同一局域網(LAN)內部進行物理尋址。它標識了網絡適配器(網卡)這一硬件設備,是數據包能夠在同一網絡中從一個設備直接發送到另一個設備的依據。

    • 分配方式: MAC 地址是固定的。它由網卡制造商在生產時燒錄在網卡芯片中,具有全球唯一性,通常以16進制數表示,例如 00-1B-44-11-3A-B7

Host字段/端口號

當你在瀏覽器中輸入一個網址并按下回車時,一個網絡請求會經歷一系列分層尋址過程,才能精準地找到目標資源。這個過程可以概括為:IP 地址負責在網絡中定位到正確的物理服務器,而端口號Host 字段則在服務器內部,將請求精確地分發給對應的服務虛擬主機

端口號:是傳輸層(如 TCP 或 UDP 協議)的概念,用于在一臺物理服務器上區分不同的軟件服務。

  • 工作機制: 一臺物理服務器的 IP 地址是唯一的,但它可能同時運行著多種服務,例如一個網頁服務(Web Server)、一個數據庫服務(Database Server)和一個文件傳輸服務(FTP Server)。每種服務都會綁定一個唯一的端口號。

  • 尋址過程: 當一個數據包(包含 IP 地址和端口號)到達物理服務器時,操作系統會首先接收這個數據包,然后檢查其中的端口號。它會根據這個端口號,將數據包準確地傳遞給正在監聽該端口的應用程序(即軟件服務器)。

  • 示例: 網頁服務通常綁定默認的 80 端口(HTTP)或 443 端口(HTTPS),數據庫服務通常綁定 3306 端口(MySQL),而 FTP 服務通常綁定 21 端口。

Host 字段是應用層(HTTP 協議)的概念,用于在一個Web 服務器上區分不同的虛擬主機(Virtual Host)

  • 工作機制: 虛擬主機是 Web 服務器軟件的一種配置,允許一臺服務器托管多個域名。服務器會為每個域名(如 www.bilibili.comwww.google.com)配置一個獨立的虛擬主機,并指定其對應的網站文件目錄。

  • 尋址過程: 當瀏覽器向 Web 服務器發起 HTTP 請求時,它會在請求頭(Header)中明確包含 Host: www.bilibili.com 這樣的信息。Web 服務器收到請求后,會檢查這個 Host 字段,根據其值將請求精確地分發到對應的虛擬主機配置,并返回該虛擬主機目錄下的網站內容。

  • 示例: 盡管 www.bilibili.comwww.youtube.com 可能最終解析到同一個 IP 地址,但 Web 服務器會通過檢查 Host 字段,將對 bilibili 的請求導向 Bilibili 網站的文件目錄,將對 youtube 的請求導向 YouTube 網站的文件目錄。

一個完整的網絡請求流程,就是將這些概念串聯起來的過程:

  1. DNS 解析(域名 → IP 地址): 瀏覽器將用戶輸入的域名(例如 www.bilibili.com)解析成一個 IP 地址,從而確定要訪問哪臺物理服務器

  2. 傳輸層尋址(IP 地址 + 端口號): 瀏覽器根據協議(如 HTTPS 默認使用 443 端口)將請求發送到該 IP 地址和對應的端口號。數據包到達服務器后,操作系統將請求傳遞給正在監聽該端口的軟件服務器(例如 Web 服務器)。

  3. 應用層分發(Host 字段): 軟件服務器接收到請求,檢查 HTTP 請求頭中的 Host 字段。它會根據 Host 字段的值,將請求分發給對應的虛擬主機,并最終返回正確的網站內容。

虛擬主機

虛擬主機是在一臺物理服務器上,通過軟件配置,可以托管多個獨立域名網絡服務的一種技術。

工作流程:

  1. 服務器端配置:

    1. 管理員在一臺物理服務器上安裝并運行一個 Web 服務器軟件(如 Apache 或 Nginx)。

    2. 在 Web 服務器的配置文件中,管理員會為每個域名創建獨立的虛擬主機配置。

    3. 每個虛擬主機配置都包含該域名(如 www.example.com)和該服務文件所在的根目錄(如 /var/www/example)、日志文件路徑等信息。

  2. 客戶端請求:

    1. 用戶在瀏覽器中輸入一個域名,例如 www.example.com

    2. 瀏覽器通過 DNS 域名解析,將這個域名轉換成服務器的 IP 地址

    3. 瀏覽器向這個 IP 地址發起一個 HTTP/S 請求,并在請求頭中明確包含 Host: www.example.com 這個字段。

  3. 服務器端處理:

    1. 物理服務器收到請求后,由于所有的域名都解析到了同一個 IP 地址,所有請求都會先到達這臺服務器。

    2. 服務器內部的 Web 服務器軟件會檢查請求的 Host 字段

    3. 根據 Host 字段的值,Web 服務器會查找其配置文件中對應的虛擬主機

    4. 一旦匹配成功,服務器就知道應該去 /var/www/example 這個目錄,找到并返回對應的網絡服務內容(可以是網站文件、API 響應、圖片等)。

HTTP 協議被廣泛用于各種應用,因此一個虛擬主機可以用來提供:

  • 傳統網站: 服務于 www.example.com,提供 HTML、CSS 和圖片。

  • API 服務: 服務于 api.example.com,提供 JSON 或 XML 數據。

  • 文件存儲服務: 服務于 files.example.com,提供文件上傳和下載功能。

軟件服務器

軟件服務器是一個程序,它運行在硬件服務器上,負責處理用戶的請求,然后把網站的內容發送給用戶。最常見的軟件服務器是 Web 服務器(如 Nginx、Apache)

“軟件服務器”這個稱謂有一個非常關鍵的限定:它必須提供服務給其他程序或設備

我們可以把程序分為兩類:

  1. 客戶端程序(Client): 這些程序通常是用戶直接使用的,它們請求服務。比如你電腦上的瀏覽器、Word 文檔、游戲客戶端等。

  2. 服務器程序(Server): 這些程序在后臺運行,它們提供服務。比如你訪問的網站服務器、你玩游戲時連接的游戲服務器等。

ISP(網絡服務提供商)

ISP 是你連接到互聯網的門戶橋梁。它們運營和維護著龐大的網絡基礎設施,包括服務器、路由器、光纜等,以確保用戶能夠:

  1. 接入互聯網: ISP 為你分配一個唯一的 IP 地址,并提供物理連接(如光纖、DSL、同軸電纜或無線網絡),讓你能夠將你的設備連接到他們的網絡。

  2. 網絡路由: ISP 的路由器負責將你的數據包(例如,你發出的網頁請求)路由到互聯網上的目的地服務器。

  3. 其他服務: 除了基本的網絡接入,許多 ISP 還提供電子郵件服務、網頁托管、云存儲等增值服務

參考模型


2025/09/14:

Wi-Fi (IEEE 802.11)

Wi-Fi 是一個通俗的商業術語,它的技術標準是由 IEEE 802.11 協議族定義的。

  • IEEE (Institute of Electrical and Electronics Engineers) 是一個國際性的電子與電氣工程協會,它制定了許多重要的技術標準。

  • 802.11 是該協會為無線局域網(WLAN)制定的技術標準族。

無線站 (Wireless Station)

無線站,通常簡稱為站(Station, STA),是指任何連接到 Wi-Fi 網絡的設備。

  • 功能: 無線站負責發送和接收數據,并遵循 802.11 協議與網絡中的其他設備進行通信。

  • 例子: 你的筆記本電腦、智能手機、平板電腦、智能手表等,只要它們連接了 Wi-Fi 網絡,都可以被稱為一個無線站。

?AP (Access Point)

  • 功能: 接入點是無線網絡的核心設備,它就像一個橋梁,將無線設備(無線站)連接到有線網絡上,例如你的家庭路由器就是集成了接入點功能的設備。

  • 作用: 接入點負責管理無線電波,處理來自無線站的數據,并將這些數據轉發給互聯網。它還負責廣播網絡名稱(SSID)、進行身份驗證和數據加密,以確保無線通信的安全

BSS (Basic Service Set)

BSS,即基本服務集,是 Wi-Fi 網絡的基本組成單元。它定義了一組能夠相互通信的無線設備。

  • 構成: 一個 BSS 由一個中央基站(接入點)和所有與該接入點關聯的無線站組成。

  • 唯一標識: 每個 BSS 都有一個唯一的標識符,稱為 BSSID (BSS Identifier)。在大多數情況下,BSSID 等同于接入點的 MAC 地址。

  • 網絡名稱: 雖然 BSSID 是唯一的物理標識符,但用戶通常看到的是 SSID (Service Set Identifier),也就是我們常說的 Wi-Fi 網絡名稱,例如“MyHomeWiFi”。多個 BSS 可以共享同一個 SSID。

網關

網關(Gateway)是一個網絡設備,用于連接兩個或多個不同網絡

網關的本質

網關工作在OSI模型的所有七層。與只在特定層工作的交換機(二層)或路由器(三層)不同,網關可以處理從物理層到應用層的所有協議。它的主要任務是協議轉換,以及判斷數據是否符合規范

網關的分類和作用

網關有多種類型,但它們都圍繞著“連接不同網絡”這一核心功能:

  1. 協議網關 這是最常見的類型,用于在兩種完全不同的協議之間進行轉換。例如,一個網關可以把TCP/IP協議的數據轉換為Novell協議的數據。

  2. 默認網關?這是我們日常生活中最常接觸到的網關。當你的設備要向一個不在本地網絡的目標發送數據時,它會把數據包發送給默認網關。這個默認網關就是你的路由器,它負責將你的數據包轉發到更廣闊的互聯網上。

  3. 應用網關 這種網關工作在應用層,可以理解為特定應用的“代理”。例如,防火墻就是一種應用網關,它會檢查數據包中的應用層信息,以決定是否放行。

網關與路由器的區別

很多人會將網關和路由器混為一談,但它們是有區別的:

  • 路由器:路由器只負責在不同網絡之間進行數據轉發,它主要依賴IP地址來決定路徑。它只在網絡層(第三層)工作。

  • 網關:網關的功能比路由器更廣泛,它不僅能轉發數據,還能在不同協議之間進行轉換。所有能連接不同網絡的設備,從廣義上說都可以被稱為網關。

????????


碎碎念:原本的想法是把所有知識點整理到一篇文章里面,結果開始整理了才發現內容有點多,全放在一篇里過于臃腫,還是決定分成幾篇文章來進行整理,后續有關概念的內容都會整理到這篇文章中(點個關注不迷路(???))

以上, 跟著光。

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

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

相關文章

Git的工作區域和文件結構

Git的工作區域和文件結構 1. Git的工作區域2. Git的文件結構 打開.git文件,.git的文件結構如下: objects 存放已經提交的文件,也就是使用 git commit 進行操作后的文件。 index 存放已暫存的文件,也就是使用了 git add 進行操作后…

前端開發易錯易忽略的 HTML 的 lang 屬性

前言本文主要記錄:前端開發中,一個本人錯了好幾年,看似無關緊要的小錯誤:HTML 的 lang 屬性設置。正文HTML 的 lang 屬性在HTML中,lang屬性用于指定文檔的語言。這對于搜索引擎優化(SEO)、屏幕閱…

【GD32】 GPIO 超詳細總結 (江科大風格課件版)

GD32 GPIO 超詳細總結 (江科大風格課件版)第一部分:GPIO 是什么? 名稱:GPIO General Purpose Input/Output (通用輸入輸出口)作用:MCU與外部世界交互的橋梁。通過程序控制引腳輸出高、低電平,或者讀取引腳的電平狀態。…

《嵌入式硬件(八):基于IMX6ULL的點燈操作》

一、IMX6ULL啟動代碼.global _start_start:ldr pc, _reset_handlerldr pc, _undefine_handlerldr pc, _svc_handlerldr pc, _prefetch_abort_handlerldr pc, _data_abort_handlerldr pc, _reserved_handlerldr pc, _irq_handlerldr pc, _fiq_handler_undefine_handler:ldr pc, …

Spring Boot 調度任務在分布式環境下的坑:任務重復執行與一致性保證

前言在實際業務開發中,調度任務(Scheduled Task) 扮演著重要角色,例如:定時同步第三方數據;定時清理過期緩存或日志;定時發送消息或報告。Spring Boot 提供了非常方便的 Scheduled 注解&#xf…

剖析ReAct:當大模型學會“邊想邊做”,智能體的進化之路

你是否曾驚嘆于大語言模型(LLM)強大的推理能力,卻又對其“紙上談兵”、無法真正與世界交互而感到遺憾?你是否好奇,如何讓AI不僅能“說”,更能“做”,并且在做的過程中不斷思考和調整&#xff1f…

小型無人機傳感器仿真模型MATLAB實現方案

一、系統架構設計 無人機傳感器仿真模型需集成多物理場建模與數據融合模塊,典型架構包含: 動力學模型:六自由度剛體運動方程傳感器模型:IMU/GNSS/視覺/氣壓計數學建模數據融合層:卡爾曼濾波/EKF算法實現環境交互模塊&a…

hadoop集群

ssh-keygen -t rsassh-copyid 用戶名遠程服務器地址start-dfs.sh chown [選項] 新所有者[:新所屬組] 目標文件/目錄常用選項:-R:遞歸修改目錄下所有文件和子目錄的所有者(處理目錄時常用)-v:顯示修改過程的詳細信息-c&…

大模型入門實踐指南

大模型入門教程:從概念到實踐 大模型(Large Language Model, LLM)是當前人工智能領域的核心技術,其本質是通過大規模數據訓練、具備復雜語言理解與生成能力的深度學習模型。本教程將從基礎概念出發,帶你理解大模型的核心邏輯,并通過可直接跑通的代碼示例,快速上手大模型…

貓頭虎開源AI分享:一款CSV to Chat AI工具,上傳CSV文件提問,它可以即時返回統計結果和可視化圖表

貓頭虎開源AI分享:一款CSV to Chat AI工具,上傳CSV文件提問,它可以即時返回統計結果和可視化圖表 摘要 本文將詳細介紹一款開源工具——CSV to Chat AI,它允許用戶上傳CSV文件并通過自然語言提問,系統會即時返回統計…

洛谷P9468 [EGOI 2023] Candy / 糖果題解

[EGOI 2023] Candy / 糖果 思路 NNN 這么小基本就是瞎打的 DP 了。 設 dpi,jdp_{i,j}dpi,j? 為操作 jjj 次后前 iii 項的和最大是多少。 考慮轉移,我們可以枚舉 iii 并考慮將其移動到 ppp 位置,總共操作 kkk 次,那么就有 dpp,kmin?(dpp,…

AI智能體(Agent)大模型入門【3】--基于Chailit客服端實現頁面AI對話

目錄 前言 安裝chailint 創建中文語言環境 創建chailint頁面客戶端 前言 本篇章將會基chailit框架實現頁面進行AI對話。 若沒有自己的本地模型對話,需要查看專欄內的文章,或者點擊鏈接進行學習部署 AI智能體(Agent)大模型入…

【高并發內存池——項目】定長內存池——開胃小菜

提示:高并發內存池完整項目代碼,在主頁專欄項目中 文章目錄 提示:高并發內存池完整項目代碼,在主頁專欄項目中 先設計一個定長的內存池 一、為什么需要定長內存池? 🏢 傳統內存分配的痛點 🏭 內…

6-獲取磁盤分區信息

觀察文件 獲取server端電腦里面存在哪些盤符 int MakeDriveInfo() { //1>A 2>B &#xff08;原本屬于軟盤的 &#xff09;3>C ... 26>Zstd::string result;for (int i 1; i < 26; i) { //讓其循環if (_chdrive(i) 0) //改變當前的驅動,_chdrive函數(c和c中)應…

每天認識一個電子器件之LED燈

LED選型核心參數一覽表參數類別關鍵參數說明 & 為什么重要基本電氣參數正向電壓 (Vf)LED正常發光時兩端的電壓降。必須匹配您的電路電壓。紅/黃光約1.8-2.2V&#xff0c;藍/綠/白光約2.8-3.6V。正向電流 (If)LED正常發光時所需的電流。決定了LED的亮度&#xff0c;必須用電…

Spring Boot 集成 Flowable 7.1.0 完整教程

一、引言 在企業級應用開發中&#xff0c;工作流管理是不可或缺的一部分。從簡單的請假審批到復雜的業務流程&#xff0c;工作流引擎能夠顯著提升系統的靈活性和可維護性。??Flowable?? 作為一個輕量級、基于 Java 的開源工作流引擎&#xff0c;完美支持 ??BPMN 2.0??…

uniapp離線打包安卓apk詳細教程,從HbuilderX新建項目到Android Studio詳細配置(一)

目錄 一、基礎離線打包&#xff0c;無引入模塊&#xff0c;無原生插件 1. HbuilderX新建項目&#xff0c;開發者后臺申請證書和離線key 2.HbuilderX生成本地包 二、Android Studio配置 1.下載離線SDK&#xff0c;解壓&#xff0c;SDK版本需要和HbuilderX 版本一致&#xf…

藍牙鼠標頻繁卡頓?一招解決 Win10/11 的 USB 省電機制干擾問題

藍牙鼠標頻繁卡頓&#xff1f;一招解決 Win10/11 的 USB 省電機制干擾問題 問題背景 在使用藍牙鼠標時&#xff0c;很多用戶會遇到以下問題&#xff1a; 鼠標移動卡頓、延遲明顯偶爾斷連&#xff0c;需重新配對尤其在筆記本合蓋或待機后恢復時更明顯 這些問題在 Windows 10/11 …

領碼方案|Spring Boot 異步請求深度剖析:從原理到 AI 驅動的吞吐量優化

摘要 本文以“領碼方案”為核心&#xff0c;深入剖析 Spring Boot 異步請求的底層原理、線程模型、三種常用實現方式&#xff08;Callable、WebAsyncTask、DeferredResult&#xff09;的運行機制與性能特征&#xff0c;并結合 AI 驅動的自適應線程池調優、云原生架構下的彈性伸…

C++基礎(13)——list類的模擬實現

目錄 一、接口函數和類總覽 二、節點結構體的實現 構造函數 三、迭代器結構體的實現 迭代器模版參數 構造函數 重載運算符 重載--運算符 重載運算符 重載*運算符 重載->運算符 四、list的模擬實現 默認成員函數 構造函數 拷貝構造函數 賦值運算符重載函數 …