計算機網絡——協議

1. 計算機網絡分層

1.1 OSI 7層模型

  • 應用層
  • 表示層
  • 會話層
  • 傳輸層
  • 網絡層
  • 數據鏈路層
  • 物理層

1.2 TCP/IP 4 層模型

  • 應用層
  • 運輸層
  • 網際層
  • 網絡接口層

1.3 5層體系機構

  • 應用層
  • 傳輸層
  • 網絡層
  • 數據鏈路層
  • 物理層

2. 應用層協議

2.1 HTTP協議

2.1.1 基本介紹

HTTP(HyperText Transfer Protocol,超文本傳輸協議)是應用層的一種協議,用于客戶端(如瀏覽器)與服務器之間傳輸超文本(如 HTML 頁面、圖片、視頻等)。它是 Web 的基礎,建立在 TCP 協議之上,確保數據的可靠傳輸。HTTP協議的默認端口是80。

特點說明
無狀態(Stateless)每個請求之間相互獨立,服務器不會記住前一個請求的狀態。
基于請求-響應模型客戶端發送請求,服務器返回響應。
可擴展性強支持多種數據類型(通過?Content-Type?指定)。
支持持久連接HTTP/1.1 默認啟用?keep-alive,可復用 TCP 連接。
明文傳輸默認不加密(HTTP),安全性差;HTTPS 使用 SSL/TLS 加密。

2.1.2 工作流程

HTTP 的典型工作流程如下:

  1. 建立 TCP 連接
    客戶端與服務器通過 三次握手 建立 TCP 連接(默認端口 80)。

  2. 客戶端發送 HTTP 請求
    客戶端構造請求報文,包含:請求行、請求頭、空行、請求體(可選)。

  3. 服務器處理請求并返回響應
    服務器解析請求,處理業務邏輯,生成響應報文(狀態行、響應頭、響應體)。

  4. 客戶端接收并解析響應
    瀏覽器渲染頁面或應用程序處理數據。

  5. 關閉連接(可選)

    • 若使用?Connection: close,則立即四次揮手斷開。
    • 若使用?Connection: keep-alive,連接保持,可復用。

? 現代瀏覽器通常使用連接池和持久連接,避免頻繁建立/斷開 TCP 連接。

HTTP 協議是應用層協議,它依賴于傳輸層的 TCP 協議 來保證可靠傳輸。而:

  • 三次握手:是 TCP 建立連接的過程。
  • 四次揮手:是 TCP 斷開連接的過程。

HTTP/1.1 開始,默認使用持久連接(也叫長連接),這意味著:

一個 TCP 連接可以被復用來發送多個 HTTP 請求和響應,而不是每次請求都重新建立和關閉連接。

舉個例子:

假設你訪問一個網頁,頁面包含:

  • 1 個 HTML 文件
  • 2 個 CSS 文件
  • 3 個 JavaScript 文件
  • 4 張圖片

在持久連接下:

  1. 客戶端與服務器進行一次?三次握手,建立 TCP 連接。
  2. 復用這個連接,連續發送 10 個 HTTP 請求(獲取資源)。
  3. 所有請求完成后,才通過?四次揮手?斷開 TCP 連接。

2.1.3 HTTP請求

一個完整的 HTTP 請求由以下三部分組成:

1. 請求行(Request Line)

格式:方法 資源路徑 協議版本

GET /index.html HTTP/1.1
  • 常見方法
    • GET:獲取資源
    • POST:提交數據
    • PUT:更新資源
    • DELETE:刪除資源
    • HEAD:獲取響應頭(不返回體)
    • OPTIONS:預檢請求(CORS)

2. 請求頭(Request Headers)

鍵值對形式,提供客戶端信息和請求元數據。

常見請求頭:

頭部作用
Host指定服務器域名(必需)
User-Agent客戶端類型(如瀏覽器、操作系統)
Accept客戶端可接受的響應類型(如?application/json
Content-Type請求體的數據格式(如?application/json
Authorization認證信息(如 Bearer Token)
Cookie發送存儲在本地的 Cookie

3. 請求體(Request Body)

  • 僅用于?POSTPUT?等方法。
  • 數據格式由?Content-Type?決定:
    • application/json:JSON 數據
    • application/x-www-form-urlencoded:表單數據
    • multipart/form-data:文件上傳

?? 請求頭與請求體之間必須有一個 空行\r\n\r\n)。

2.1.4 HTTP響應

服務器返回的響應也由三部分組成:

1. 狀態行(Status Line)

格式:協議版本 狀態碼 狀態描述

HTTP/1.1 200 OK
  • 常見狀態碼分類
范圍類型示例
1xx信息響應100 Continue
2xx成功200 OK,?201 Created
3xx重定向301 Moved Permanently,?302 Found
4xx客戶端錯誤400 Bad Request,?404 Not Found,?403 Forbidden
5xx服務器錯誤500 Internal Server Error,?502 Bad Gateway

2. 響應頭(Response Headers)

提供服務器信息和響應元數據。

常見響應頭:

頭部作用
Content-Type響應體的數據類型(如?text/html
Content-Length響應體長度
Set-Cookie設置 Cookie
Location重定向目標地址(配合 3xx 狀態碼)
Cache-Control緩存策略
Server服務器類型(如 Nginx、Apache)

3. 響應體(Response Body)

服務器返回的實際數據,如:

  • HTML 頁面
  • JSON 數據
  • 圖片、文件等二進制流

2.1.5 總結

HTTP 請求:
┌─────────────────────────────┐
│ GET /api/users HTTP/1.1     │ ← 請求行
│ Host: example.com           │
│ User-Agent: Chrome          │ ← 請求頭
│ Content-Type: application/json │
│                             │ ← 空行
│ {"name": "Tom"}             │ ← 請求體(POST 時存在)
└─────────────────────────────┘HTTP 響應:
┌─────────────────────────────┐
│ HTTP/1.1 200 OK             │ ← 狀態行
│ Content-Type: application/json │
│ Content-Length: 15          │ ← 響應頭
│ Set-Cookie: session=abc     │
│                             │ ← 空行
│ {"id":1,"name":"Tom"}       │ ← 響應體
└─────────────────────────────┘

? 一句話總結
HTTP 是一種基于 請求-響應模型 的應用層協議,通過 請求行、請求頭、請求體 構成請求,通過 狀態行、響應頭、響應體 構成響應,是 Web 通信的核心。

2.2 HTTPS協議

2.2.1 基本介紹

HTTPS(超文本傳輸安全協議)是 HTTP 的安全版本,通過在 HTTP 和 TCP 之間加入 SSL/TLS 協議 來實現數據加密,確保通信過程中的 機密性、完整性、身份認證

  • 默認端口:443(HTTP 是 80)
  • 協議基礎:HTTP + SSL/TLS
  • 目標:防止數據被竊聽、篡改或冒充

? 簡單理解:HTTPS = HTTP + 加密 + 認證 + 完整性保護


2.2.2 為什么需要 HTTPS

HTTP 的三大安全問題:

問題說明
竊聽風險數據明文傳輸,第三方可監聽內容(如密碼、銀行卡號)
篡改風險中間人可修改傳輸內容(如插入廣告)
冒充風險無法確認對方是否是真正的服務器(釣魚網站)

HTTPS 通過加密和數字證書解決這些問題。


2.2.3 SSL/TLS 協議

SSL(Secure Sockets Layer)和其升級版 TLS(Transport Layer Security)是用于加密通信的安全協議。

  • 現代 HTTPS 使用的是?TLS(如 TLS 1.2、TLS 1.3)
  • 加密過程發生在 TCP 連接建立之后、HTTP 通信之前

2.2.4 工作過程

HTTPS 的安全通信建立在 TLS 握手 的基礎上,主要步驟如下:

1. 客戶端發起請求(Client Hello)

  • 客戶端發送支持的 TLS 版本、加密套件(Cipher Suites)、隨機數?Client Random

2. 服務器響應(Server Hello)

  • 服務器選擇 TLS 版本和加密套件
  • 返回自己的?數字證書(包含公鑰)
  • 生成并發送隨機數?Server Random

3. 客戶端驗證證書

  • 客戶端驗證證書是否由可信?CA(證書頒發機構)?簽發
  • 驗證域名是否匹配
  • 驗證證書是否過期
  • ? 驗證通過后,提取服務器公鑰

4. 生成會話密鑰(Pre-Master Secret)

  • 客戶端生成一個隨機的?預主密鑰(Pre-Master Secret)
  • 使用服務器的?公鑰加密?后發送給服務器

5. 服務器解密預主密鑰

  • 服務器使用自己的?私鑰?解密,得到預主密鑰

6. 雙方生成會話密鑰

  • 客戶端和服務器使用?Client RandomServer RandomPre-Master Secret?通過算法生成相同的?會話密鑰(Session Key)

7. 切換到加密通信

  • 雙方通知“握手完成”
  • 后續所有通信(包括 HTTP 請求和響應)都使用?對稱加密(會話密鑰)進行加密

2.2.5 加密技術詳解

HTTPS 結合了兩種加密方式,發揮各自優勢:

加密方式用途特點
非對稱加密(如 RSA、ECC)用于傳輸“預主密鑰”安全但慢,公鑰加密,私鑰解密
對稱加密(如 AES)用于加密實際數據(HTTP 報文)快速高效,加密解密用同一密鑰

? 優勢:既保證了密鑰傳輸的安全性,又提升了通信效率。


2.2.6 數字證書與 CA

  • 數字證書:由可信第三方(CA)簽發,包含:
    • 域名
    • 公鑰
    • 有效期
    • CA 簽名
  • CA(Certificate Authority):如 Let's Encrypt、DigiCert、Symantec
  • 瀏覽器內置了受信任的 CA 根證書列表,用于驗證服務器證書

🔐 如果證書無效(如自簽名、過期、域名不匹配),瀏覽器會顯示“不安全”警告。


2.2.7 HTTPS 與 HTTP 的對比

對比項HTTPHTTPS
安全性明文傳輸,不安全加密傳輸,安全
端口80443
協議應用層應用層 + SSL/TLS
性能快(無加密開銷)略慢(握手有開銷,但可優化)
SEO不利于搜索引擎排名更受搜索引擎青睞
證書不需要需要 SSL 證書(可免費獲取)

2.3.8 總結

HTTPS 通過 SSL/TLS 對 HTTP 進行加密和身份認證,是保障 Web 安全的基石,已成為現代互聯網的標準配置。

2.3 WebSocket

2.3.1 基本介紹

WebSocket 是一種基于 TCP 的應用層協議(RFC 6455),它在客戶端和服務器之間提供 全雙工(full-duplex)、持久化、雙向通信 的通道。與傳統的 HTTP 請求-響應模式不同,WebSocket 允許服務器主動向客戶端推送數據

  • 協議標識
    • ws://:非加密 WebSocket(對應 HTTP)
    • wss://:加密 WebSocket(對應 HTTPS,基于 TLS)
  • 默認端口:與 HTTP/HTTPS 一致(80 / 443)
  • 設計目標:解決 HTTP 在實時通信場景下的性能瓶頸

? 簡單理解:
WebSocket = 一次連接,雙向通信,服務器可“主動說話”


2.3.2 為什么需要 WebSocket

HTTP 協議的局限性:

問題說明
單向通信只能客戶端發起請求,服務器被動響應
頻繁輪詢開銷大實時應用(如聊天、股票)需不斷發請求,浪費資源
延遲高輪詢間隔決定延遲,無法做到“即時”
頭部開銷大每次請求都攜帶完整 HTTP 頭部

WebSocket 通過持久連接 + 消息幀機制,解決了這些問題。


2.3.3 WebSocket 的工作過程

WebSocket 的建立過程依賴 HTTP,分為兩個階段:

階段 1:HTTP 握手升級(Upgrade Handshake)

客戶端發送一個特殊的 HTTP 請求:

GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13

服務器如果支持 WebSocket,返回 101 Switching Protocols

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

? 此時,TCP 連接從 HTTP 協議“升級”為 WebSocket 協議。

階段 2:雙向通信

握手成功后,客戶端和服務器可以隨時互相發送數據幀(Frame),直到任意一方關閉連接。

  • 數據可以是文本(UTF-8)或二進制
  • 通信是全雙工的,無需請求-響應模式

2.3.4 WebSocket 通信模型

特性說明
連接建立基于 HTTP 升級,僅一次
通信模式全雙工、雙向、持久化
數據單位消息(Message),由一個或多個幀(Frame)組成
消息類型文本消息(String)、二進制消息(ArrayBuffer/Buffer)
連接保持連接長期存活,可通過?ping/pong?心跳保活

2.3.5 WebSocket API(前端示例)

在瀏覽器中使用原生 WebSocket API:

// 1. 創建 WebSocket 連接
const socket = new WebSocket('ws://localhost:8080/chat');// 2. 監聽連接打開
socket.onopen = function(event) {console.log('連接已建立');socket.send('Hello Server!');
};// 3. 監聽消息
socket.onmessage = function(event) {console.log('收到消息:', event.data);
};// 4. 監聽錯誤
socket.onerror = function(error) {console.log('發生錯誤:', error);
};// 5. 監聽連接關閉
socket.onclose = function(event) {console.log('連接已關閉');
};// 發送消息
socket.send('這是一條客戶端消息');

2.3.6 適用場景

WebSocket 特別適合需要低延遲、高頻、雙向通信的場景:

應用場景示例
💬 實時聊天微信網頁版、在線客服
📈 實時數據推送股票行情、天氣更新、監控系統
🎮 在線游戲多人互動、實時操作同步
🔔 通知系統消息提醒、訂單狀態更新
🖥? 遠程控制Web SSH、遠程桌面

2.3.7 與 HTTP 的對比

對比項HTTPWebSocket
通信模式請求-響應(單向)全雙工(雙向)
連接狀態短連接或持久連接持久化長連接
實時性差(依賴輪詢)強(服務器可主動推送)
開銷每次請求帶完整頭部幀頭部小,效率高
建立方式直接發送請求先 HTTP 握手,再升級協議
安全性HTTP / HTTPSws:// / wss://(加密)

2.3.8 總結

項目說明
WebSocket 是什么一種支持全雙工通信的 Web 應用層協議
核心機制基于 HTTP 升級,建立持久化雙向連接
主要用途實時通信、消息推送、在線互動
關鍵優勢低延遲、高效、服務器主動推送
發展趨勢已成為現代 Web 實時應用的標準技術

🌐 一句話總結
WebSocket 通過一次連接實現客戶端與服務器的雙向實時通信,是構建現代實時 Web 應用的核心技術。

3. 傳輸層協議

3.1 TCP協議

3.1.1 基本介紹

TCP(Transmission Control Protocol,傳輸控制協議)是一種面向連接、可靠、基于字節流的傳輸層協議(RFC 793),廣泛用于對數據完整性要求高的應用,如網頁瀏覽、文件傳輸、電子郵件等。

  • 協議特點:可靠傳輸、流量控制、擁塞控制、全雙工通信
  • 默認端口示例
    • HTTP: 80
    • HTTPS: 443
    • FTP: 21
    • SMTP: 25
  • 設計目標:確保數據在不可靠網絡中準確、有序、不丟失地送達

3.1.2 為什么需要 TCP

IP 協議本身不保證可靠性,存在以下問題:

問題說明
數據丟失網絡擁堵可能導致數據包丟失
數據亂序數據包可能通過不同路徑到達,順序錯亂
數據重復重傳機制可能導致接收端收到重復數據
無連接狀態無法確認對方是否準備好接收數據

TCP 通過連接管理、確認機制、重傳、排序、流量控制等機制解決這些問題。


3.1.3 TCP 的工作過程

TCP 通信分為三個階段:連接建立、數據傳輸、連接釋放

階段 1:三次握手(Three-way Handshake)

建立連接過程:

  1. SYN:客戶端發送?SYN=1, seq=x,進入 SYN-SENT 狀態
  2. SYN-ACK:服務器回復?SYN=1, ACK=1, seq=y, ack=x+1
  3. ACK:客戶端發送?ACK=1, ack=y+1,連接建立

? 目的:雙方確認彼此具有發送和接收能力

階段 2:數據傳輸

  • 雙方通過序列號(seq)和確認號(ack)?實現可靠傳輸
  • 使用滑動窗口實現流量控制
  • 通過慢啟動、擁塞避免等機制進行擁塞控制

階段 3:四次揮手(Four-way Wave)

斷開連接過程:

  1. FIN:主動方發送?FIN=1, seq=u
  2. ACK:被動方確認?ACK=1, ack=u+1
  3. FIN:被動方發送自己的?FIN=1, seq=v
  4. ACK:主動方確認?ACK=1, ack=v+1,進入 TIME_WAIT 狀態

? 為什么四次?因為 TCP 是全雙工,兩個方向需獨立關閉。


3.1.4 TCP 通信模型
特性說明
連接模式面向連接(需先建立連接)
可靠性高(通過確認、重傳、校驗和)
傳輸單位字節流(無消息邊界)
流量控制滑動窗口機制
擁塞控制慢啟動、擁塞避免、快速重傳、快速恢復
適用場景文件傳輸、網頁訪問、郵件等要求可靠的應用

3.1.5 TCP 報文結構
字段說明
源端口 / 目的端口標識應用進程
序列號(seq)當前數據第一個字節的編號
確認號(ack)期望收到的下一個字節序號
數據偏移TCP 頭部長度(通常 20 字節)
控制位SYN,?ACK,?FIN,?RST,?PSH?等
窗口大小接收方當前可接收的字節數
校驗和用于檢測數據錯誤

3.1.6 適用場景
應用場景示例
🌐 網頁瀏覽HTTP/HTTPS 基于 TCP
📧 電子郵件SMTP、POP3、IMAP
📂 文件傳輸FTP、SFTP
💬 遠程登錄SSH、Telnet
🗄? 數據庫訪問MySQL、Redis(默認)

3.1.7 與 UDP 的對比
對比項TCPUDP
連接性面向連接無連接
可靠性可靠(確認、重傳)不可靠(盡最大努力交付)
傳輸方式字節流數據報(有邊界)
速度較慢(握手、確認開銷)快(無連接、無確認)
擁塞控制
適用場景要求數據完整要求低延遲

3.1.8 總結
項目說明
TCP 是什么一種面向連接、可靠的傳輸層協議
核心機制三次握手、確認重傳、滑動窗口、擁塞控制
主要用途可靠數據傳輸(如網頁、文件、郵件)
關鍵優勢可靠、有序、不重復、流量控制
發展趨勢仍是互聯網最主流的傳輸協議,持續優化(如 TCP BBR)

? 一句話總結
TCP 通過連接管理和確認機制,確保數據在網絡中可靠、有序地傳輸,是互聯網通信的“基石協議”。

3.2 UDP協議

3.2.1 基本介紹

UDP(User Datagram Protocol,用戶數據報協議)是一種無連接、不可靠、基于數據報的傳輸層協議(RFC 768),強調傳輸效率和低延遲

  • 協議特點:無連接、盡最大努力交付、無重傳、無擁塞控制
  • 默認端口示例
    • DNS: 53
    • DHCP: 67/68
    • SNMP: 161
    • 視頻/語音:動態端口
  • 設計目標:提供輕量級、低延遲的數據傳輸服務

3.2.2 為什么需要 UDP

TCP 的可靠性帶來較大開銷,不適合以下場景:

問題說明
延遲敏感實時音視頻不能等待重傳
高頻小包如游戲狀態更新,重傳反而造成混亂
廣播/多播TCP 不支持,UDP 支持
自定義可靠性應用層可自行實現輕量級重傳機制

UDP 通過“簡單直接”的設計滿足這些需求。


3.2.3 UDP 的工作過程

UDP 通信極簡,無需握手或揮手:

  1. 發送方:構造 UDP 數據報,直接發送
  2. 接收方:收到數據報后處理,不發送確認
  3. 無連接狀態維護,每個數據報獨立處理

?? 數據可能丟失、亂序、重復,但速度極快。


3.2.4 UDP 通信模型
特性說明
連接模式無連接(發送即走)
可靠性不可靠(不保證送達)
傳輸單位數據報(有明確邊界)
傳輸開銷極小(僅 8 字節頭部)
支持廣播/多播? 支持
適用場景實時音視頻、在線游戲、DNS 查詢

3.2.5 UDP 報文結構
字段說明
源端口 / 目的端口標識應用進程(可選)
長度數據報總長度(頭部 + 數據)
校驗和可選,用于檢測錯誤

? 頭部僅 8 字節,非常輕量。


3.2.6 適用場景
應用場景示例
🎵 實時音視頻視頻會議(WebRTC)、直播
🎮 在線游戲多人游戲狀態同步
🔍 域名查詢DNS 查詢響應
📡 廣播/多播局域網發現、流媒體分發
🛰? 物聯網傳感器數據上報

3.2.7 與 TCP 的對比
對比項TCPUDP
連接性面向連接無連接
可靠性可靠不可靠
傳輸方式字節流數據報
速度較慢
擁塞控制
適用場景要求完整要求低延遲

3.2.8 總結
項目說明
UDP 是什么一種無連接、不可靠的傳輸層協議
核心機制簡單數據報傳輸,無握手、無確認
主要用途實時通信、廣播、輕量級傳輸
關鍵優勢低延遲、高效率、支持廣播
發展趨勢在實時通信、物聯網、QUIC(基于 UDP)中廣泛應用

? 一句話總結
UDP 以“簡單高效”為核心,犧牲可靠性換取速度,是實時應用和輕量通信的理想選擇。

4. 網絡層協議

4.1 IP協議

4.1.1 基本介紹

IP(Internet Protocol,網際協議)是網絡層的核心協議(IPv4: RFC 791,IPv6: RFC 2460),負責尋址和路由,將數據包從源地址傳送到目的地址。

  • 協議版本
    • IPv4:32 位地址(如?192.168.1.1),約 43 億地址
    • IPv6:128 位地址(如?2001:db8::1),地址空間極大
  • 協議特點:無連接、不可靠、盡力而為(Best Effort)
  • 設計目標:實現跨網絡的主機間數據包傳輸

4.1.2 為什么需要 IP

數據通信需跨越多個網絡,面臨問題:

問題說明
尋址混亂需統一地址格式標識全球主機
路由選擇數據包需通過多跳路由器到達目標
分片與重組不同網絡 MTU 不同,需分片傳輸
異構網絡互聯以太網、Wi-Fi、蜂窩網絡需統一協議

IP 協議通過統一地址、路由算法、分片機制實現全球互聯。


4.1.3 IP 的工作過程
  1. 封裝:傳輸層數據(TCP/UDP 報文)封裝為 IP 數據報
  2. 路由:路由器根據目標 IP 地址查找路由表,轉發數據包
  3. 分片(IPv4):若數據包大于鏈路 MTU,則分片
  4. 重組:目標主機重新組裝分片
  5. 交付:將數據交付給上層協議(通過協議號)

? IPv6 不推薦在中間路由器分片,由源端通過 PMTUD 探測路徑 MTU。


4.1.4 IP 通信模型
特性說明
連接模式無連接(每個數據包獨立處理)
可靠性不可靠(不保證送達、不重傳)
傳輸單位IP 數據報(Datagram)
尋址方式IP 地址(IPv4/IPv6)
路由機制動態路由協議(如 OSPF、BGP)
分片支持IPv4 支持,IPv6 由源端處理

4.1.5 IP 報文結構
字段說明
版本4(IPv4)或 6(IPv6)
頭部長度通常 20 字節
總長度數據報總長度
標識、標志、片偏移用于分片與重組
生存時間(TTL)防止無限循環,每經過一跳減 1
協議上層協議類型(6: TCP, 17: UDP)
首部校驗和僅校驗 IP 頭部
源 IP 地址 / 目的 IP 地址32 位(IPv4)或 128 位(IPv6)

4.1.6 適用場景
應用場景說明
🌍 全球互聯網通信所有跨網絡通信的基礎
🖥? 局域網通信內網主機間通信(如 192.168.x.x)
📱 移動網絡4G/5G 網絡中數據傳輸
🌐 網站訪問通過 IP 地址定位服務器
🔗 路由器轉發核心路由協議依賴 IP

4.1.7 與 TCP/UDP 的對比
對比項IPTCPUDP
層級網絡層傳輸層傳輸層
功能尋址與路由可靠傳輸高效傳輸
是否可靠
是否面向連接
傳輸單位數據報字節流 / 數據報數據報

4.1.8 總結
項目說明
IP 是什么網絡層核心協議,負責尋址與路由
核心機制IP 地址、路由表、TTL、分片
主要用途實現全球主機間的數據包傳輸
關鍵優勢統一尋址、支持異構網絡互聯
發展趨勢IPv6 逐步取代 IPv4,解決地址枯竭問題

? 一句話總結
IP 協議通過統一的地址體系和路由機制,實現了全球互聯網的互聯互通,是網絡世界的“郵政系統”。

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

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

相關文章

【React】hooks 中的閉包陷阱

在 React Hooks 中的 閉包陷阱(Closure Trap)在 useEffect、事件回調、定時器等場景里很常見。1. 閉包陷阱是什么 當你在函數組件里定義一個回調(比如事件處理函數),這個回調會捕獲當時渲染時的變量值。如果后面狀態更…

校園快遞小程序(騰訊地圖API、二維碼識別、Echarts圖形化分析)

🎈系統亮點:騰訊地圖API、二維碼識別、Echarts圖形化分析;一.系統開發工具與環境搭建1.系統設計開發工具后端使用Java編程語言的Spring boot框架 項目架構:B/S架構 運行環境:win10/win11、jdk17小程序: 技術…

Python網絡爬蟲(二) - 解析靜態網頁

文章目錄一、網頁解析技術介紹二、Beautiful Soup庫1. Beautiful Soup庫介紹2. Beautiful Soup庫幾種解析器比較3. 安裝Beautiful Soup庫3.1 安裝 Beautiful Soup 43.2 安裝解析器4. Beautiful Soup使用步驟4.1 創建Beautiful Soup對象4.2 獲取標簽4.2.1 通過標簽名獲取4.2.2 通…

【Linux基礎知識系列】第九十四篇 - 如何使用traceroute命令追蹤路由

在網絡環境中,了解數據包從源主機到目標主機的路徑是非常重要的。這不僅可以幫助我們分析網絡連接問題,還可以用于診斷網絡延遲、丟包等問題。traceroute命令是一個強大的工具,它能夠追蹤數據包在網絡中的路徑,顯示每一跳的延遲和…

達夢數據閃回查詢-快速恢復表

Time:2025/08/12Author:skatexg一、環境說明DM數據庫:DM8.0及以上版本二、適用場景研發在誤操作或變更數據后,想馬上恢復表到某個時間點,可以通過閃回查詢功能快速實現(通過全量備份恢復時間長,成本高)三、…

力扣(LeetCode) ——225 用隊列實現棧(C語言)

題目:用隊列實現棧示例1: 輸入: [“MyStack”, “push”, “push”, “top”, “pop”, “empty”] [[], [1], [2], [], [], []] 輸出: [null, null, null, 2, 2, false] 解釋: MyStack myStack new MyStack(); mySta…

微軟推出AI惡意軟件檢測智能體 Project Ire

開篇 在8月5號,微軟研究院發布了一篇博客文章,在該篇博客中推出了一款名為Project Ire的AI Agent。該Agent可以在無需人類協助的情況下,自主分析和分類二進制文件。它可以在無需了解二進制文件來源或用途的情況下,對文件進行完全的…

哪些對會交由SpringBoot容器管理?

在 Spring Boot 中,交由容器管理的對象通常稱為“Spring Bean”,這些對象的創建、依賴注入、生命周期等由 Spring 容器統一管控。以下是常見的會被 Spring Boot 容器管理的對象類型及識別方式: 一、通過注解聲明的組件(最常見) Spring Boot 通過類級別的注解自動掃描并注…

Android POS應用在android運行常見問題及解決方案

概述 本文檔記錄了在Android POS應用開發過程中遇到的兩個關鍵問題及其解決方案: UnsatisfiedLinkError: couldnt find "libnative.so" 錯誤ActivityNotFoundException 錯誤商戶信息一致性檢查繞過 問題1:UnsatisfiedLinkError - libnative.so…

基于SpringBoot的旅游網站系統

1. 項目簡介 旅游線路管理系統是一個基于Spring Boot的在線旅游服務平臺,提供旅游線路展示、分類、預訂、訂單管理等功能。系統包含前臺用戶界面和后臺管理模塊,支持用戶注冊登錄、線路瀏覽、收藏、下單支付、客服咨詢等核心功能。管理員可管理線路信息、…

CVPR 2025 | 機器人操控 | RoboGround:用“掩碼”中介表示,讓機器人跨場景泛化更聰明

點擊關注gongzhonghao【計算機sci論文精選】1.導讀1.1論文基本信息論文標題:ROBOGROUND: Robotic Manipulation with Grounded Vision-Language Priors作者:Haifeng Huang, Xinyi Chen, Hao Li, Xiaoshen Han, Yilun Chen, Tai Wang, Zehan W…

構建Node.js單可執行應用(SEA)的方法

如果為了降低部署復雜度,可以考慮使用vercel/ncc。除非有特別理由,不建議使用SEA。1. 環境準備1.1. 基礎要求Node.js: > 19.0.0 (推薦最新LTS版本)1.2. 安裝依賴npm install postject typescript1.3. 驗證環境node -v # 確認版本 > 19 ts…

Java19 Integer 位操作精解:compress與expand《Hacker‘s Delight》(第二版,7.4節)

compress(int i, int mask) 這個方法是Java 19中新增的一個強大的位操作函數。compress 方法的核心功能可以理解為 “按位過濾和壓縮” 。過濾 (Filter): 它使用 mask(掩碼)作為過濾器。對于輸入整數 i,只有那些在 mask 中對應位為 1 的比特才…

minio部署和雙機熱備

安裝單機版MinIO(準備2臺機器A、B,A、B服務器操作一致)切換目錄并下載MinIO二進制文件cd /usr/local/bin wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio chmod x minio編輯配置文件vi /etc/default/minio.confMINIO_VOLUMES&quo…

【Java】 Java 21 革命性升級:虛擬線程與結構化并發的深度實踐指南

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! Java 21 作為 Oracle JDK 的長期支持版本,引入了多項革命性特性,其中虛擬線程(Virtual Threads)和結構化并發(Structured Concurrency)尤為突出。這些特性旨在解決傳統線程模型在高并發…

Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DB+AI

Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DBAI 文章目錄Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DBAIApache IoTDB 介紹Docker部署指導企業版數據庫配套工具 WorkbenchTimechoDB&…

計算機網絡---傳輸控制協議Transmission Control Protocol(TCP)

一、TCP的定位與核心特性 TCP(Transmission Control Protocol,傳輸控制協議)是TCP/IP協議棧中傳輸層的核心協議,與UDP(用戶數據報協議)共同承擔端到端數據傳輸功能。其設計目標是在不可靠的IP網絡上提供可靠…

week1-[分支嵌套]公因數

week1-[分支嵌套]公因數 題目描述 給定 444 個正整數 a,b,c,ka,b,c,ka,b,c,k。如果 a,b,ca,b,ca,b,c 都是 kkk 的倍數,那么稱 kkk 是 a,b,ca,b,ca,b,c 的公因數。否則如果某兩個數都是 kkk 的倍數,那么稱 kkk 是這兩個數的公因數。問 kkk 是哪些數的公因…

C#枚舉/結構體講一講

先展示一段簡單代碼// 定義枚舉 public enum thisday {吃飯,不吃 }// 定義結構體 public struct person {public string name;public int age;public thisday zhuangtai; // 使用枚舉類型作為字段 }static void Main(string[] args) {// 創建結構體實例person thisperson;thisp…

C++-setmap詳解

Cset&map 1. 序列式容器和關聯式容器 1.1 序列式容器 序列式容器按照線性順序存儲元素,元素的位置取決于插入的時間和位置,與元素的值無關。 主要特點:元素按插入順序存儲可以通過位置(索引)直接訪問元素不自動排序…