文章目錄
- 應用層
- http/https
- DNS
- 補充
- 傳輸層
- TCP
- 1. 序列號與確認機制
- 2. 超時重傳
- 3. 流量控制(滑動窗口機制)
- 4. 擁塞控制
- 5. 錯誤檢測與校驗
- 6. 連接管理
- 總結
- 網絡層
- ARP
- **ARP 的核心功能**
- ARP 的工作流程
- 1. ARP 請求(Broadcast)
- 2. ARP 緩存(ARP Table)
- ARP 的典型應用場景
- ARP 與其他協議的關系
- 示例說明
- 總結
- ICMP
- ICMP 的核心功能
- ICMP 的消息類型
- ICMP 的工作流程示例
- 場景:主機 A Ping 主機 B
- 場景:路由器返回 “目的不可達”
- ICMP 的典型應用場景
- ICMP 與其他協議的關系
- ICMP 的安全性與局限性
- 總結
- IGMP
- 網絡接口層
- 1. 物理層協議
- 2. 數據鏈路層協議
應用層
http/https
https://blog.csdn.net/z_ar_d/article/details/146561799?spm=1011.2415.3001.10575&sharefrom=mp_manage_link
DNS
會有鏈接的(畫大餅)
補充
基于tcp的:SMTP(25)\POP3(110)\SSH(22)\FTP(20\21)ssl\tls
基于UDP:DHCP(C68\S67)\NTP(123)\TFTP(69)
傳輸層
TCP
TCP/IP 協議棧中的 TCP(Transmission Control Protocol) 通過以下核心機制確保數據的可靠傳輸:
1. 序列號與確認機制
- 序列號(Sequence Number):TCP 為每個字節的數據分配一個唯一的序列號,確保接收方可以按序重組數據。
- 確認號(Acknowledgment Number):接收方通過 ACK 報文告知發送方已成功接收的數據字節位置(下一個期望接收的字節序號)。
- 累積確認(Cumulative ACK):接收方只需確認最后一個連續接收的字節,簡化確認流程。
2. 超時重傳
- 重傳定時器:發送方發送數據后啟動定時器,若超時未收到 ACK,則重新發送未確認的數據段。
- 自適應重傳算法:TCP 動態調整超時時間(RTO,Retransmission Timeout),根據網絡延遲變化優化重傳策略。
3. 流量控制(滑動窗口機制)
- 滑動窗口(Sliding Window):接收方通過窗口大小告知發送方當前可接收的數據量,避免接收方緩沖區溢出。
- 動態調整窗口:窗口大小隨接收方緩沖區剩余空間動態變化,發送方根據 ACK 中的窗口字段調整發送速率。
4. 擁塞控制
- 慢啟動(Slow Start):初始階段逐步增加發送窗口,探測網絡容量。
- 擁塞避免(Congestion Avoidance):當網絡出現擁塞(如丟包)時,降低發送速率,避免進一步惡化。
- 快速重傳與快速恢復:若接收方連續收到 3 個重復 ACK,判定數據包丟失,立即重傳并調整窗口,減少不必要的等待。
5. 錯誤檢測與校驗
- 校驗和(Checksum):TCP 對首部和數據進行校驗,檢測傳輸中是否發生錯誤,錯誤數據段會被丟棄并重傳。
6. 連接管理
- 三次握手(Three-Way Handshake):建立連接時,雙方通過 SYN、SYN-ACK、ACK 報文確認彼此可達。
- 四次揮手(Four-Way Handshake):斷開連接時,雙方通過 FIN、ACK 報文確保數據全部傳輸完畢。
總結
TCP 通過序列號與確認保證數據按序到達,超時重傳處理丟失數據,滑動窗口控制流量避免過載,擁塞控制優化網絡利用率,校驗和檢測錯誤,以及連接管理確保可靠的端到端通信。這些機制共同作用,使 TCP 成為互聯網中最常用的可靠傳輸協議。
網絡層
ARP
ARP(Address Resolution Protocol,地址解析協議)是計算機網絡中用于將 IP 地址轉換為物理 MAC 地址的核心協議,屬于 TCP/IP 協議棧的網絡層與數據鏈路層之間的橋梁。
ARP 的核心功能
- IP 地址到 MAC 地址的映射
- 數據鏈路層(如以太網)通過 MAC 地址識別設備,而網絡層使用 IP 地址。ARP 負責將目標 IP 地址解析為對應的 MAC 地址,確保數據幀能正確送達。
- 跨層通信的關鍵
- 當主機發送數據時:
- 網絡層封裝 IP 數據包(含目標 IP 地址)。
- 數據鏈路層需將 IP 數據包封裝為數據幀(需目標 MAC 地址)。
- ARP 通過廣播或緩存查詢獲取目標 MAC 地址。
ARP 的工作流程
1. ARP 請求(Broadcast)
- 場景:主機 A(IP: 192.168.1.1,MAC: AA-AA-AA)要向主機 B(IP: 192.168.1.2)發送數據,但 ARP 緩存中無主機 B 的 MAC 地址。
- 步驟:
- 主機 A 發送ARP 請求廣播幀(目標 IP=192.168.1.2,目標 MAC=FF:FF:FF:FF:FF:FF)。
- 局域網內所有主機接收并解析請求。
- 主機 B 發現請求目標 IP 是自己,發送ARP 應答單播幀(源 IP=192.168.1.2,源 MAC=BB-BB-BB)。
- 主機 A 將主機 B 的 IP-MAC 映射存入 ARP 緩存。
2. ARP 緩存(ARP Table)
- 作用:存儲近期解析過的 IP-MAC 映射,避免重復廣播。
- 條目生命周期:通常為幾分鐘(可通過
arp -a
查看)。 - 更新機制:若目標 IP 地址的 MAC 地址變化,會觸發新的 ARP 請求。
ARP 的典型應用場景
- 同一局域網通信
- 主機 A 與主機 B 直接通信時,需通過 ARP 解析對方 MAC 地址。
- 跨網絡通信(通過網關)
- 主機 A 訪問外網(如 IP: 8.8.8.8)時,先通過 ARP 獲取網關(路由器)的 MAC 地址,數據經網關轉發。
- ARP 緩存中毒攻擊
- 攻擊者偽造 ARP 應答,將目標 IP 地址映射到惡意 MAC 地址,導致數據被竊聽或中斷(如中間人攻擊)。
ARP 與其他協議的關系
- 與 RARP 的區別:
- ARP:IP → MAC(常用)。
- RARP:MAC → IP(已被 DHCP 取代)。
- 與 ICMP 的關系:
- ARP 是無連接協議,依賴鏈路層廣播;ICMP 用于網絡診斷(如 Ping)。
示例說明
- 問題:主機 A 無法訪問主機 B,可能原因:
- 主機 B 未開啟,無法響應 ARP 請求。
- ARP 緩存中主機 B 的 MAC 地址過期或錯誤。
- 存在 ARP 欺騙攻擊,導致數據發送到錯誤設備。
總結
ARP 是網絡通信的基礎協議,確保 IP 地址與物理地址的正確映射。合理利用 ARP 緩存可提升效率,但需注意防范 ARP 欺騙等安全風險。理解 ARP 有助于診斷網絡連接問題(如 “無法訪問目標主機”)和優化網絡配置。
ICMP
ICMP(Internet Control Message Protocol,互聯網控制消息協議)是 TCP/IP 協議棧中網絡層的核心協議之一,主要用于**網絡設備之間傳遞控制信息和錯誤報告。**它通過封裝在 IP 數據包中傳輸,是網絡診斷和維護的重要工具。
ICMP 的核心功能
- 錯誤報告
- 當網絡設備(如路由器)發現數據包無法轉發時,通過 ICMP 向源主機發送錯誤消息(如 “目的不可達”)。
- 網絡診斷
- 提供基礎診斷功能(如 Ping、Traceroute),幫助用戶驗證網絡連通性和路徑。
- 流量控制
- 通過 “源抑制” 消息通知發送方降低發送速率,避免網絡擁塞。
- 路徑信息傳遞
- 路由器通過 “重定向” 消息告知主機更優的下一跳地址。
ICMP 的消息類型
ICMP 消息分為差錯報告和查詢兩大類,常見類型如下:
類型 | 代碼 | 描述 |
---|---|---|
3 - 目的不可達 | 0-15 | 目標網絡 / 主機 / 協議 / 端口不可達(如主機未開機、防火墻攔截) |
11 - 超時 | 0-1 | TTL 耗盡(如 Traceroute 利用此消息跟蹤路徑)或分片重組超時 |
5 - 重定向 | 0-3 | 路由器通知主機使用更優的下一跳地址 |
8 - 回顯請求 | 0 | Ping 請求(如ping 192.168.1.1 ) |
0 - 回顯應答 | 0 | Ping 響應,確認目標可達 |
ICMP 的工作流程示例
場景:主機 A Ping 主機 B
- 主機 A 發送 ICMP 回顯請求(類型 8)數據包,目標 IP 為 B 的 IP 地址。
- 主機 B 接收到請求后,發送 ICMP 回顯應答(類型 0)給主機 A。
- 主機 A 根據應答判斷主機 B 是否可達。
場景:路由器返回 “目的不可達”
- 若主機 A 嘗試訪問不存在的 IP 地址,路由器會發送 ICMP 目的不可達消息(類型 3,代碼 1)。
ICMP 的典型應用場景
- 網絡連通性測試
- Ping 工具:通過回顯請求 / 應答驗證主機是否可達。
- 示例:
ping -c 4 8.8.8.8
(向谷歌 DNS 服務器發送 4 個 Ping 請求)。 - 路徑跟蹤
- Traceroute 工具:利用 ICMP 超時消息(類型 11)逐步顯示數據包經過的路由器。
- 示例:
traceroute www.example.com
。 - 故障診斷
- 分析 ICMP 錯誤消息定位問題(如防火墻規則、路由配置錯誤)。
ICMP 與其他協議的關系
- 與 IP 協議:ICMP 是 IP 層的一部分,所有 IP 實現必須支持 ICMP。
- 與 TCP/UDP:ICMP 不用于傳輸用戶數據,而是輔助 IP 層處理錯誤和控制信息。
- 與 ARP:ARP 負責 IP 到 MAC 的解析,ICMP 負責網絡層的控制和診斷。
ICMP 的安全性與局限性
- 安全風險
- Ping Flood 攻擊:發送大量 ICMP 回顯請求,耗盡目標帶寬。
- Smurf 攻擊:利用廣播地址放大攻擊流量(已較少見)。
- 防范措施:通過防火墻禁用 ICMP 消息或限制速率。
- 局限性
- ICMP 消息本身不可靠,可能因網絡擁塞或過濾被丟棄。
- 某些網絡設備(如 NAT 網關)可能攔截 ICMP 消息,導致診斷失敗。
總結
ICMP 是網絡的 “神經系統”,通過傳遞控制和錯誤信息幫助維護網絡健康。掌握 ICMP 原理有助于診斷網絡問題(如主機不可達、路由黑洞),但需注意其安全性風險。常見工具如 Ping 和 Traceroute 是 ICMP 的典型應用,是網絡工程師的必備技能。
IGMP
IGMP(Internet Group Management Protocol)是TCP/IP 協議族中的網絡層協議(IP 協議號為 2),用于管理主機與組播路由器之間的組成員關系。其核心功能是讓組播路由器動態了解哪些主機屬于哪些組播組,從而高效轉發組播數據包。
1. 核心功能
- 成員關系管理:
- 主機通過 IGMP 向路由器報告加入或離開某個組播組的請求。
- 路由器通過定期查詢,維護各網段的組播組成員信息。
- 優化組播轉發:
- 路由器僅向有成員的網段轉發組播數據,避免帶寬浪費。
2. 版本演進
- 路由器僅向有成員的網段轉發組播數據,避免帶寬浪費。
- IGMPv1:
- 支持基本的加入 / 離開機制,但離開時需依賴超時機制檢測。
- 查詢器選舉由組播路由協議(如 PIM)決定。
- IGMPv2:
- 增加離開組消息,允許主機主動通知路由器退出組播組。
- 引入特定組查詢,減少非組成員的響應流量。
- 查詢器選舉改為最小 IP 地址優先,無需依賴外部協議。
- IGMPv3:
- 支持源過濾(INCLUDE/EXCLUDE 模式),允許主機指定接收或拒絕特定源的組播流量。
- 新增特定源組查詢,進一步優化流量控制。
3. 工作機制
- 主機加入組播組:
- 主機發送成員報告報文(Membership Report),聲明加入目標組播組。
- 主機離開組播組:
- 主機發送離開組報文(Leave Group),路由器收到后發送特定組查詢,確認無其他成員后刪除該組。
- 路由器維護成員關系:
- 路由器定期發送普遍組查詢(General Query),主機響應報告以維持成員資格。
- 若主機未及時響應,路由器認為該組無成員,停止轉發數據。
4. 報文類型
- 成員報告:主機加入組播組時發送,或響應查詢時確認成員身份。
- 普遍組查詢:路由器周期性發送,詢問所有組播組的成員狀態。
- 特定組查詢:路由器收到離開消息后,針對特定組播組發送的查詢。
- 特定源組查詢(v3):針對特定組播組和源地址的查詢。
5. 應用場景 - 流媒體傳輸(如視頻會議、在線直播):高效分發數據到多個接收端。
- 在線游戲:實時同步多玩家數據。
- 企業內部通信:共享文件、軟件更新等。
6. 與其他協議的關系 - 組播路由協議(如 PIM、DVMRP):依賴 IGMP 提供的成員信息,構建組播轉發樹。
- IGMP 偵聽(IGMP Snooping):交換機通過偵聽 IGMP 報文,優化二層組播轉發,減少不必要的流量泛洪。
7. 注意事項 - 安全性:IGMP 缺乏認證機制,可能被濫用(如偽造成員報告引發流量攻擊)。
- 版本兼容性:高版本(如 v3)兼容低版本,但需注意配置一致性。
- IPv6 替代:IPv6 中使用 MLD(多播偵聽發現協議) 替代 IGMP。
總結
IGMP 是組播通信的核心協議,通過動態管理組成員關系,實現了高效的網絡資源利用。其版本演進逐步增強了靈活性和性能,適用于多種需要數據多播的場景。理解 IGMP 的工作機制有助于優化網絡配置,解決組播相關的故障(如流量缺失、帶寬浪費)。
網絡接口層
1. 物理層協議
- Ethernet(以太網)、Wi-Fi、光纖、DSL 等。
2. 數據鏈路層協議
- PPP(點對點協議)、SLIP(串行線路協議)、MAC 地址管理。