本篇文章為計算機網絡相關知識點整理及擴展
基于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.com
、www.google.com
)配置一個獨立的虛擬主機,并指定其對應的網站文件目錄。 -
尋址過程: 當瀏覽器向 Web 服務器發起 HTTP 請求時,它會在請求頭(Header)中明確包含
Host: www.bilibili.com
這樣的信息。Web 服務器收到請求后,會檢查這個 Host 字段,根據其值將請求精確地分發到對應的虛擬主機配置,并返回該虛擬主機目錄下的網站內容。 -
示例: 盡管
www.bilibili.com
和www.youtube.com
可能最終解析到同一個 IP 地址,但 Web 服務器會通過檢查Host
字段,將對bilibili
的請求導向 Bilibili 網站的文件目錄,將對youtube
的請求導向 YouTube 網站的文件目錄。
一個完整的網絡請求流程,就是將這些概念串聯起來的過程:
-
DNS 解析(域名 → IP 地址): 瀏覽器將用戶輸入的域名(例如
www.bilibili.com
)解析成一個 IP 地址,從而確定要訪問哪臺物理服務器。 -
傳輸層尋址(IP 地址 + 端口號): 瀏覽器根據協議(如 HTTPS 默認使用 443 端口)將請求發送到該 IP 地址和對應的端口號。數據包到達服務器后,操作系統將請求傳遞給正在監聽該端口的軟件服務器(例如 Web 服務器)。
-
應用層分發(Host 字段): 軟件服務器接收到請求,檢查 HTTP 請求頭中的 Host 字段。它會根據
Host
字段的值,將請求分發給對應的虛擬主機,并最終返回正確的網站內容。
虛擬主機
虛擬主機是在一臺物理服務器上,通過軟件配置,可以托管多個獨立域名和網絡服務的一種技術。
工作流程:
-
服務器端配置:
-
管理員在一臺物理服務器上安裝并運行一個 Web 服務器軟件(如 Apache 或 Nginx)。
-
在 Web 服務器的配置文件中,管理員會為每個域名創建獨立的虛擬主機配置。
-
每個虛擬主機配置都包含該域名(如
www.example.com
)和該服務文件所在的根目錄(如/var/www/example
)、日志文件路徑等信息。
-
-
客戶端請求:
-
用戶在瀏覽器中輸入一個域名,例如
www.example.com
。 -
瀏覽器通過 DNS 域名解析,將這個域名轉換成服務器的 IP 地址。
-
瀏覽器向這個 IP 地址發起一個 HTTP/S 請求,并在請求頭中明確包含
Host: www.example.com
這個字段。
-
-
服務器端處理:
-
物理服務器收到請求后,由于所有的域名都解析到了同一個 IP 地址,所有請求都會先到達這臺服務器。
-
服務器內部的 Web 服務器軟件會檢查請求的
Host
字段。 -
根據
Host
字段的值,Web 服務器會查找其配置文件中對應的虛擬主機。 -
一旦匹配成功,服務器就知道應該去
/var/www/example
這個目錄,找到并返回對應的網絡服務內容(可以是網站文件、API 響應、圖片等)。
-
HTTP 協議被廣泛用于各種應用,因此一個虛擬主機可以用來提供:
-
傳統網站: 服務于
www.example.com
,提供 HTML、CSS 和圖片。 -
API 服務: 服務于
api.example.com
,提供 JSON 或 XML 數據。 -
文件存儲服務: 服務于
files.example.com
,提供文件上傳和下載功能。
軟件服務器
軟件服務器是一個程序,它運行在硬件服務器上,負責處理用戶的請求,然后把網站的內容發送給用戶。最常見的軟件服務器是 Web 服務器(如 Nginx、Apache)
“軟件服務器”這個稱謂有一個非常關鍵的限定:它必須提供服務給其他程序或設備。
我們可以把程序分為兩類:
-
客戶端程序(Client): 這些程序通常是用戶直接使用的,它們請求服務。比如你電腦上的瀏覽器、Word 文檔、游戲客戶端等。
-
服務器程序(Server): 這些程序在后臺運行,它們提供服務。比如你訪問的網站服務器、你玩游戲時連接的游戲服務器等。
ISP(網絡服務提供商)
ISP 是你連接到互聯網的門戶和橋梁。它們運營和維護著龐大的網絡基礎設施,包括服務器、路由器、光纜等,以確保用戶能夠:
-
接入互聯網: ISP 為你分配一個唯一的 IP 地址,并提供物理連接(如光纖、DSL、同軸電纜或無線網絡),讓你能夠將你的設備連接到他們的網絡。
-
網絡路由: ISP 的路由器負責將你的數據包(例如,你發出的網頁請求)路由到互聯網上的目的地服務器。
-
其他服務: 除了基本的網絡接入,許多 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模型的所有七層。與只在特定層工作的交換機(二層)或路由器(三層)不同,網關可以處理從物理層到應用層的所有協議。它的主要任務是協議轉換,以及判斷數據是否符合規范。
網關的分類和作用
網關有多種類型,但它們都圍繞著“連接不同網絡”這一核心功能:
-
協議網關 這是最常見的類型,用于在兩種完全不同的協議之間進行轉換。例如,一個網關可以把TCP/IP協議的數據轉換為Novell協議的數據。
-
默認網關?這是我們日常生活中最常接觸到的網關。當你的設備要向一個不在本地網絡的目標發送數據時,它會把數據包發送給默認網關。這個默認網關就是你的路由器,它負責將你的數據包轉發到更廣闊的互聯網上。
-
應用網關 這種網關工作在應用層,可以理解為特定應用的“代理”。例如,防火墻就是一種應用網關,它會檢查數據包中的應用層信息,以決定是否放行。
網關與路由器的區別
很多人會將網關和路由器混為一談,但它們是有區別的:
-
路由器:路由器只負責在不同網絡之間進行數據轉發,它主要依賴IP地址來決定路徑。它只在網絡層(第三層)工作。
-
網關:網關的功能比路由器更廣泛,它不僅能轉發數據,還能在不同協議之間進行轉換。所有能連接不同網絡的設備,從廣義上說都可以被稱為網關。
????????
碎碎念:原本的想法是把所有知識點整理到一篇文章里面,結果開始整理了才發現內容有點多,全放在一篇里過于臃腫,還是決定分成幾篇文章來進行整理,后續有關概念的內容都會整理到這篇文章中(點個關注不迷路(???))
以上, 跟著光。