計算機網絡---IP(互聯網協議)

一、IP協議概述

互聯網協議(Internet Protocol,IP)是TCP/IP協議族的核心成員,位于OSI模型的網絡層(第三層),負責將數據包從源主機傳輸到目標主機。它是一種無連接、不可靠的協議,提供“盡力而為”的數據包交付服務,依賴上層協議(如TCP)實現可靠性。

1.1 協議定位
  • 核心功能:尋址與路由選擇,即根據IP地址確定數據包的路徑。
  • 協議棧位置:上層承載TCP、UDP等傳輸層協議,下層依賴以太網、Wi-Fi等鏈路層協議。
  • 版本演進
    • IPv4(1981年,RFC 791):目前最廣泛使用的版本,32位地址空間。
    • IPv6(1998年,RFC 2460):為解決IPv4地址耗盡問題設計,128位地址空間。
1.2 關鍵特性
  • 無連接:每個數據包獨立路由,無需建立連接(對比TCP的三次握手)。
  • 不可靠:不保證數據包按序、完整到達,丟失或出錯時不主動通知。
  • 盡力而為:僅提供基本傳輸服務,依賴上層協議(如TCP)實現可靠性。
  • 異構網絡互聯:屏蔽底層網絡差異,使不同類型的網絡(如以太網、Wi-Fi、廣域網)能互聯互通。
二、IP協議的工作原理

IP協議的核心功能是尋址路由,通過IP地址標識主機,并通過路由算法確定數據包的傳輸路徑。

2.1 尋址機制
  • IP地址:32位(IPv4)或128位(IPv6)的標識符,用于唯一標識網絡中的設備。(數字虛擬地址,就像現實中的地址,可以標識網絡中的一個節點,數據就是通過它來找到目的地)
  • 分層結構:IPv4地址分為網絡號和主機號兩部分(如192.168.1.1中,192.168.1為網絡號,1為主機號)。
  • 子網掩碼:用于劃分IP地址的網絡號和主機號(如255.255.255.0表示前24位為網絡號,后8位為主機號)。
    在這里插入圖片描述
2.2 路由選擇
  • 路由器:網絡層設備,根據IP地址轉發數據包。
  • 路由表:存儲網絡前綴與下一跳地址的映射關系,路由器據此決定數據包的轉發路徑。
  • 路由算法:動態路由協議(如OSPF、BGP)自動更新路由表,適應網絡拓撲變化。
2.3 數據包格式
  • IPv4數據包

    • 首部:固定20字節(可選字段最多40字節),包含版本、首部長度、服務類型、總長度、標識、標志位、片偏移、生存時間(TTL)、協議、首部校驗和、源IP、目的IP等字段。
    • 數據部分:上層協議數據(如TCP/UDP報文)。
      在這里插入圖片描述
  • IPv6數據包

    • 基本首部:固定40字節,簡化結構(如取消首部校驗和,分片由源主機處理)。
    • 擴展首部:可選,用于支持更多功能(如認證、分片)。
    • 數據部分:同IPv4。

在這里插入圖片描述

2.4 工作流程

1.電腦
在這里插入圖片描述
2.交換機
在這里插入圖片描述
3.路由器
在這里插入圖片描述

三、IPv4地址

IPv4地址是32位二進制數,通常表示為點分十進制(如192.168.1.1)。

3.1 地址分類(歷史分類)

IPv4地址范圍0.0.0.0 ~ 255.255.255.255
網絡號代表所在的網段,主機號表示同網段下的設備
早期IPv4地址分為五類:

  • A類(大規模網絡):0.0.0.0-127.255.255.255,默認子網掩碼255.0.0.0(/8),前8位為網絡號,后24位為主機號。
  • B類(中規模網絡):128.0.0.0-191.255.255.255,默認子網掩碼255.255.0.0(/16),前16位為網絡號,后16位為主機號。
  • C類(小規模網絡):192.0.0.0-223.255.255.255,默認子網掩碼255.255.255.0(/24),前24位為網絡號,后8位為主機號。
  • D類(多路廣播網絡):224.0.0.0-239.255.255.255,用于組播。
  • E類(保留地址):240.0.0.0-255.255.255.255,保留用于科學研究。

局限性:地址分配不均(如A類地址浪費嚴重),已被CIDR取代。

復雜子網掩碼示例 255.255.255.252
在這里插入圖片描述

子網掩碼規定換成二進制后前面必須是連續的1,后面是連續的0,不可能出現255.255.255.1這樣的子網掩碼

3.2 CIDR(無類別域間路由)
  • 背景:解決IPv4地址耗盡問題,替代傳統分類。
  • 原理:使用“/前綴長度”表示子網掩碼(如192.168.1.0/24等價于255.255.255.0)。
  • 優勢:支持更靈活的地址分配(如可分配/26、/27等非標準子網)。

一個網段可用的地址數量為2n2^n2n-2(n為主機部分的比特位數)

3.3 特殊IP地址
  • 回環地址:127.0.0.1(localhost),用于本地主機通信。
  • 廣播地址
    • 直接廣播:特定網絡的廣播地址(如192.168.1.255/24)。
    • 有限廣播:255.255.255.255,用于本網段內廣播。
  • 私有IP地址
    • A類:10.0.0.0-10.255.255.255(/8)
    • B類:172.16.0.0-172.31.255.255(/12)
    • C類:192.168.0.0-192.168.255.255(/16)
  • 0.0.0.0:表示“任意地址”,用于路由表中的默認路由或主機啟動時。
3.4 子網劃分
  • 目的:提高地址利用率,隔離網絡流量。
  • 方法:借用主機位作為子網位(如將/24劃分為兩個/25子網)。
  • 計算示例
    • 原網絡:192.168.1.0/24(256地址,可用254,除去了第一個和最后一個)。
    • 劃分為兩個子網:
      • 子網1:192.168.1.0/25(128地址,可用126),廣播地址192.168.1.127。
      • 子網2:192.168.1.128/25(128地址,可用126),廣播地址192.168.1.255。
四、IPv6地址詳解

IPv6為解決IPv4地址耗盡問題而設計,采用128位地址空間,提供約3.4×103?個地址。

4.1 地址表示
  • 冒分十六進制:每16位用冒號分隔,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。
  • 零壓縮:連續的零可簡化為雙冒號(::),但只能出現一次。
    • 示例:2001:0db8:0000:0000:0000:0000:1428:57ab → 2001:db8::1428:57ab。
  • 內嵌IPv4地址:兼容IPv4的地址,如::ffff:192.168.1.1。
4.2 地址類型
  • 單播地址:唯一標識一個接口,數據包傳至該地址。
    • 全球單播地址:2000::/3,全球可路由的公網地址。
    • 鏈路本地地址:fe80::/10,僅在本地鏈路內通信(如同一交換機下的設備)。
    • 唯一本地地址:fc00::/7,私有地址,類似IPv4的私有地址。
  • 組播地址:ff00::/8,數據包傳至所有加入該組的接口。
  • 任播地址:從一組接口中選擇最近的一個(路由意義上的最近)。
4.3 關鍵特性
  • 無廣播地址:用全節點組播地址(ff02::1)替代。
  • 自動配置:支持無狀態自動配置(通過RA消息獲取前綴)和有狀態配置(DHCPv6)。
  • 簡化首部:固定40字節,取消分片、首部校驗和等字段。
  • 安全性增強:強制支持IPsec(IP安全協議),提供加密和認證。
五、IP地址分配與管理

IP地址的分配需遵循全球統一的規則,確保唯一性和高效利用。

5.1 分配機構
  • IANA(互聯網號碼分配局):全球最高管理機構,分配地址塊給RIR。
  • RIR(區域互聯網注冊管理機構)
    • ARIN(北美)
    • RIPE NCC(歐洲、中東、中亞)
    • APNIC(亞太地區)
    • LACNIC(拉丁美洲)
    • AfriNIC(非洲)
  • ISP(互聯網服務提供商,如移動,電信,聯通):從RIR獲取地址塊,分配給用戶。
5.2 動態分配(DHCP)
  • DHCP(動態主機配置協議):自動分配IP地址、子網掩碼、網關等配置。
  • 工作流程
    1. DHCP Discover:客戶端廣播請求。
    2. DHCP Offer:服務器響應可用IP。
    3. DHCP Request:客戶端請求特定IP。
    4. DHCP ACK:服務器確認分配。
  • 租期管理:IP地址有租用期限,到期需續租或重新分配。
5.3 靜態分配
  • 手動配置:管理員為設備手動分配固定IP地址。
  • 適用場景:服務器、網絡設備(如路由器)等需固定IP的設備。
5.4 NAT(網絡地址轉換)
  • 背景:緩解IPv4地址耗盡問題,允許多臺內網設備共享一個公網IP。
  • 工作原理
    • SNAT(源NAT):修改數據包的源IP地址(如將內網192.168.1.1轉換為公網203.0.113.1)。
    • DNAT(目的NAT):修改數據包的目的IP地址(如將公網流量轉發至內網服務器)。
  • 實現方式
    • 靜態NAT:一對一映射。
    • 動態NAT:多對多映射。
    • NAPT(網絡地址端口轉換):最常見,多對一映射,通過端口號區分不同連接。
六、IP協議的高級特性

IP協議不僅提供基礎傳輸功能,還支持多種高級特性以適應復雜網絡環境。

6.1 IP分片與重組
  • 原因:鏈路層MTU(如以太網1500字節)可能小于IP數據包長度,需分片。
  • 分片字段
    • 標識(Identification):同一數據包的所有分片使用相同標識。
    • 標志(Flags):MF(More Fragments)指示是否有后續分片,DF(Don’t Fragment)禁止分片。
    • 片偏移(Fragment Offset):該片在原數據包中的相對位置(以8字節為單位)。
  • 重組:目標主機根據標識、標志和片偏移重組數據包。
6.2 服務質量(QoS)
  • IPv4中的TOS字段:8位,前3位為DSCP(差分服務代碼點),后2位為ECN(顯式擁塞通知)。
  • IPv6中的Traffic Class字段:類似IPv4的TOS,提供流量分類和優先級。
  • 應用:區分語音、視頻等實時流量與普通數據流量,優先保障高優先級流量。
6.3 生存時間(TTL)
  • 作用:防止數據包在網絡中無限循環(每經過一個路由器,TTL減1,為0時丟棄)。
  • 典型值:Linux默認64,Windows默認128。
  • 應用:ping命令通過TTL判斷目標主機操作系統類型。
6.4 IPsec(IP安全協議)
  • 功能:提供IP層的加密和認證,保障數據完整性和機密性。
  • 主要協議
    • AH(認證頭部):提供數據完整性和源認證,不加密數據。
    • ESP(封裝安全載荷):提供加密和可選認證。
  • 工作模式
    • 傳輸模式:僅加密數據部分,適用于端到端通信。
    • 隧道模式:加密整個IP數據包,適用于VPN等網絡到網絡通信。
七、IP協議相關工具與應用
7.1 ping命令
  • 作用:測試兩臺主機間的連通性。
  • 原理:發送ICMP Echo Request包,接收ICMP Echo Reply包。
  • 常用參數
    • -c:指定發送次數。
    • -i:指定間隔時間。
    • -t:設置TTL值。
7.2 traceroute(Linux)/tracert(Windows)
  • 作用:顯示數據包從源到目標所經過的路由器路徑。
  • 原理:通過逐步增加TTL值,迫使路由器返回ICMP Time Exceeded消息。
  • 典型輸出:顯示路由器IP、響應時間。
7.3 ifconfig/ip addr(Linux)、ipconfig(Windows)
  • 作用:查看和配置網絡接口信息。
  • 典型輸出:IP地址、子網掩碼、MAC地址、狀態等。
7.4 netstat(網絡統計)
  • 作用:顯示網絡連接、路由表、網絡接口等信息。
  • 常用參數
    • -a:顯示所有連接和監聽端口。
    • -n:以數字形式顯示地址和端口。
    • -p:顯示進程信息。
7.5 nslookup/dig
  • 作用:查詢域名對應的IP地址(DNS解析)。
  • 示例nslookup www.baidu.com 返回百度服務器的IP地址。
八、IP協議的安全問題與防護

IP協議的設計注重通用性,也帶來了一些安全隱患。

8.1 常見安全威脅
  • IP欺騙(Spoofing):偽造源IP地址發送數據包,常用于DoS攻擊或繞過訪問控制。
  • IP分片攻擊:利用分片機制構造異常數據包(如重疊分片),導致目標系統崩潰。
  • ICMP Flood:通過大量ICMP包耗盡目標帶寬或系統資源。
  • IPsec漏洞:如密鑰管理不當導致加密失效。
8.2 防護措施
  • 防火墻規則
    • 過濾源IP為私有地址的外網流量(防止IP欺騙)。
    • 限制ICMP流量速率,防止ICMP Flood。
  • 網絡分段:將網絡劃分為多個安全區域,限制IP包的傳播范圍。
  • IPsec配置:正確配置IPsec加密和認證,保護敏感流量。
  • 安全審計:監控異常IP流量(如大量分片數據包),及時發現攻擊跡象。
九、IPv4與IPv6的過渡技術

由于IPv6無法完全兼容IPv4,需采用過渡技術實現平滑遷移。

9.1 雙棧技術
  • 原理:設備同時支持IPv4和IPv6協議棧,根據目標地址選擇使用。
  • 優勢:實現簡單,兼容性好。
  • 局限性:需全網設備支持,部署成本高。
9.2 隧道技術
  • 原理:將IPv6數據包封裝在IPv4數據包中,通過IPv4網絡傳輸。
  • 常見隧道協議
    • 6to4:自動創建隧道,使用特殊IPv6地址前綴2002::/16。
    • GRE隧道:通用路由封裝,支持多種協議封裝。
    • ISATAP:站內自動隧道尋址協議,用于IPv6孤島間通信。
9.3 翻譯技術(NAT-PT)
  • 原理:在IPv4和IPv6之間進行地址和協議轉換。
  • 典型方案
    • NAT64:將IPv6地址映射到IPv4地址,實現IPv6客戶端訪問IPv4服務。
    • DNS64:配合NAT64,將域名解析為合成的IPv6地址(如IPv4地址嵌入到64:ff9b::/96前綴)。

IP協議作為TCP/IP協議族的核心,是現代互聯網的基石。它通過IP地址實現全球尋址,通過路由機制實現數據包轉發,支撐了各種上層應用的運行。IPv4的32位地址空間雖面臨耗盡問題,但通過NAT、CIDR等技術仍在廣泛使用;IPv6的128位地址空間則為未來網絡發展提供了充足的地址資源。

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

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

相關文章

DataFun聯合開源AllData社區和開源Gravitino社區將在8月9日相聚數據治理峰會論壇

🔥🔥 AllData大數據產品是可定義數據中臺,以數據平臺為底座,以數據中臺為橋梁,以機器學習平臺為中層框架,以大模型應用為上游產品,提供全鏈路數字化解決方案。 ?杭州奧零數據科技官網&#xff…

【工具】通用文檔轉換器 推薦 Markdown 轉為 Word 或者 Pdf格式 可以批量或者通過代碼調用

【工具】通用文檔轉換器 推薦 可以批量或者通過代碼調用 通用文檔轉換器 https://github.com/jgm/pandoc/ Pandoc - index 下載地址 https://github.com/jgm/pandoc/releases 使用方法: 比如 Markdown 轉為 Word 或者 Pdf格式 pandoc -s MANUAL.txt -o example29.docx …

【UEFI系列】Super IO

文章目錄一、什么是Super IO二、Super IO的作用常見廠商三、邏輯設備控制如何訪問SIO邏輯設備的配置寄存器具體配置數值四、硬件監控(hardware monitor)一、什么是Super IO Super Input/Output超級輸入輸出控制器。 通過LPC(low pin count&a…

飛算 JavaAI 2.0.0 測評:自然語言編程如何顛覆傳統開發?

一、前言 在AI技術高速發展的今天,編程方式正在經歷一場革命。傳統的“手寫代碼”模式逐漸被AI輔助開發取代,而飛算JavaAI 2.0.0的推出,更是讓自然語言編程成為現實。 作為一名長期使用Java開發的程序員,我決定深度體驗飛算Java…

Dubbo + zk 微服務

一、安裝zk注冊中心 win版本:windows環境下安裝zookeeper教程詳解(單機版)-CSDN博客 linux版本: 二、服務提供方搭建 引入dubbo和zk依賴 提供接口 使用注解方式實現接口級注冊到zk,而springcloud是將服務注冊到注冊…

聆思duomotai_ap sdk適配dooiRobot

一、說明 1、duomotai_ap介紹 duomotai_ap是一個針對多模態開發板(如 CSK6-MIX 開發板)的大模型 AI 開發套件 SDK,主要用于開發語音、視覺等多模態 AI 應用。 2、dooiRobot介紹 基于Doly 機器人的經典外觀設計,采用聆思CSK6011A…

Photoshop軟件打開WebP文件格的操作教程

Photoshop軟件打開WebP文件格的操作教程,好吧,這是英文原版: Photoshop 23.2 原生支持 WebP 格式,無需插件即可打開、編輯和保存 WebP 文件。用戶可通過“文件 > 另存為副本”選擇 WebP 格式,調整無損/有損壓縮及質…

【數據結構】——順序表鏈表(超詳細解析!!!)

目錄一. 前言二. 順序表1. 順序表的特點2. 代碼實現三. 鏈表1. 單向鏈表代碼實現2.雙向鏈表代碼實現四. 順序表與鏈表的區別總結一. 前言 順序表和鏈表是最基礎的兩種線性表實現方式。它們各有特點,適用于不同的應用場景。本文將詳細介紹這兩種數據結構的實現原理、…

GitHub的簡單使用方法----(4)

在安裝完git之后,桌面右鍵會出現兩個git的選項第一個gui打開是這樣的用戶界面分別是新建倉庫,克隆倉庫,打開已經存在的倉庫。tips:Git Gui 默認只能操作本地倉庫——它本質上是一個圖形化的“本地 Git 客戶端”。 它本身不內置“下載遠程倉庫…

藍橋杯----大模板

在寫大模板之前,先講一個函System_Init(),用于系統初始化關閉所有LED與外設,關閉所有LED就是傳入0xff數據打開鎖存器,關閉外設就是傳入0x00打開鎖存器。現在所有底層已經提供給大家了,先提供最簡單版本的大模板&#x…

科技寫作改革我見:取消參考文獻,以點讀率取代引證率!

科技寫作改革我見:綜述應取消參考文獻,學術成就評估以點讀下載率取代參考文獻引證率!李升偉 張君飛 韓若蘭引言在當今信息爆炸的時代,科技寫作作為知識傳播的核心載體,其形式與評價體系正面臨前所未有的挑戰。傳統…

【Altium designer】快速建立原理圖工程的步驟

快速建立原理圖工程的步驟產品規格書分析 整理產品需求,明確主控芯片、外圍接口類型、總線頻率、電源需求及隔離要求、PCB尺寸等關鍵信息。使用文本清單列出所有需求,確保無遺漏。硬件需求架構圖繪制 根據需求說明書和收集的信息,使用VISIO繪…

Origin2025b安裝包免費,附Origin 2025安裝教程

老規矩先放鏈接:origin2025b安裝包 有位小粉絲問我有沒有Origin2025b的安裝包,有的兄弟有的,只有你想不到,沒有小兔找不到的軟件。 這個origin是OriginLab公司開發的一個科學繪圖、數據分析的軟件,Origin支持各種各樣…

【C++語法】輸出的設置 iomanip 與 std::ios 中的流操縱符

文章目錄【C語法】輸出的設置 iomanip 與 std::ios 中的流操縱符1. iomanip 中的流操縱方法1.1 位寬操作類1.1.1 std::setw(x)1.1.2 std::setfill(c)1.1.3 std::left1.1.4 std::right1.1.5 std::internal1.2 小數操作類1.2.1 std::fixed1.2.2 std::setprecision(x)1.2.3 std::s…

go語言學習筆記-Map

map 是一種無序的基于 key-value 的數據結構,Go 語言中的 map 是引用類型,必須初始化 才能使用。 Go 語言中 map 的定義語法如下map[KeyType]ValueType常見兩種創建方法1 使用map初始化var scoreMap make(map[string]int, 8) scoreMap["陳翔"…

芯片安全標準驅動庫,筑牢芯片功能安全基石

隨著整車控制器功能日益復雜,為滿足越發嚴格的功能安全認證要求,項目開發人員需要采取相應的安全措施對系統中電子元器件的單點故障(Singel Point Fault)和潛在故障(Latent Fault)進行檢測和管理&#xff0…

rn相關ScrollView

一:ScrollView的style和contentContainerStyle二:flex:1,和flexGrow:1用處內容將縱向空間占滿

Spark Core 3.3.2 略講~

?博客主頁: https://blog.csdn.net/m0_63815035?typeblog 💗《博客內容》:大數據、Java、測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 📢博客專欄: https://blog.csdn.net/m0_63815035/…

智能家居Agent:物聯網設備的統一控制與管理

智能家居Agent:物聯網設備的統一控制與管理 🌟 Hello,我是摘星! 🌈 在彩虹般絢爛的技術棧中,我是那個永不停歇的色彩收集者。 🦋 每一個優化都是我培育的花朵,每一個特性都是我放飛的…

漢高攜手SAP推出AI驅動的退換貨與爭議管理解決方案

2025年8月12日,SAP宣布與全球知名的膠黏劑、密封劑及消費品制造商漢高(Henkel AG & Co. KGaA)聯合開發了一套基于SAP AI Services的定制化解決方案,用于優化退換貨及爭議管理流程。該方案旨在通過人工智能自動化索賠相關文件的…