IP編址(來自YESLAB新網工的筆記)

上層協議類型

  • 概念:通常指的是位于網絡層(如 IP 層)以上的協議類型,這些協議在數據傳輸時需要由網絡層(或更低層)協議承載。以 IP 協議為例,IP 報文頭部中的?協議字段(Protocol Field)?用于標識上層協議類型,該字段告訴網絡層(IP 層)接收到數據后應將數據交給哪個上層協議處理。
  • 以太網幀中的Type字段值為0x0800,表示該幀的網絡層協議為IP協議。
IP報文頭部

1、IP報文頭部的核心作用:

  • 告訴網絡“數據該去哪”,包含發送方和接收方的 IP 地址(類似快遞的發件人和收件人地址)。
  • 指導網絡“如何傳輸”,比如數據是否需要拆分(分片)、傳輸的優先級、是否有誤碼等。

2、頭部里的關鍵“信息項”

  • 版本(Version):標明是 IPv4 還是 IPv6 協議(比如 IPv4 用 4,IPv6 用 6),就像快遞單上的 “快遞類型”(普通快遞 / 加急快遞)。
  • 頭部長度(Header Length):頭部本身有多長(因為有些字段是可選的,所以需要標明長度,避免認錯后面的數據)。
  • 服務類型(Type of Service):告訴網絡數據的優先級(比如視頻流需要優先傳輸,普通文件可以慢一點)。
  • 總長度(Total Lenght):整個包裹(頭部 + 數據)的大小,方便接收方知道有沒有收全。
  • 標識、標志、片偏移(Identifier、Flags、Fragment Offset):如果數據太大,需要拆分成多個小包傳輸,這幾個信息能讓接收方把小包重新拼起來(類似拼圖的編號)。
  • 生存時間(TTL,Time TO Live):數據最多能經過多少個路由器(防止數據在網絡里無限轉圈,比如設置為 64,每經過一個路由器減 1,到 0 就丟棄)。
  • 協議(Protocol):告訴接收方 “包裹里的數據是用什么協議包裝的”(比如 TCP、UDP,類似 “里面是易碎品”“里面是文件” 的標簽)。
  • 源IP和目的IP(Source/Destination IP):最重要的信息!發送方和接收方的 IP 地址(類似快遞單上的具體地址)。

假設你要寄一封信:

  • 信封上的地址、郵編、寄件人信息?→ 相當于 IP 報文頭部。
  • 信的內容?→ 相當于 IP 報文的數據部分。
    快遞員(路由器)會根據信封上的地址(IP 地址)決定走哪條路(路由),根據 “易碎品” 標志(頭部里的控制字段)決定如何搬運,最終送到正確的地址。
IP地址
  • IP地址被分為網絡部分和主機部分
  • 由32個二進制位組成,通常用點分十進制形式表示
IP地址分類

特殊地址與私有地址

  1. 私有地址(內網專用)

    • A 類私有:10.0.0.0~10.255.255.255(即10.0.0.0/8)。
    • B 類私有:172.16.0.0~172.31.255.255(即172.16.0.0/12)。
    • C 類私有:192.168.0.0~192.168.255.255(即192.168.0.0/16)。
    • 特點:這些地址不會在互聯網上路由,用于企業或家庭內網,需通過 NAT(網絡地址轉換)訪問外網。
  2. 特殊地址

    • 0.0.0.0:表示 “所有網絡” 或 “未指定地址”(如主機啟動時未獲取 IP)。
    • 255.255.255.255:受限廣播地址,數據僅在本地網絡廣播,不經過路由器。
    • 網絡號+主機號全1:如192.168.1.255(C 類網絡的廣播地址),用于向該網絡內所有主機發送廣播。

子網掩碼(Subnet Mask)

子網掩碼是一個?32 位的二進制數(IPv4 中),用于配合 IP 地址劃分網絡區域,明確標識 IP 地址中的 “網絡部分” 和 “主機部分”。它的核心作用是:

  1. 確定 IP 地址屬于哪個網絡;
  2. 將一個大網絡劃分為多個小的子網(子網劃分),提高 IP 地址的利用率。

一、子網掩碼的結構與表示

1.?二進制結構
  • 子網掩碼的二進制中,網絡部分和子網部分用連續的 1 表示主機部分用連續的 0 表示
    例如:
    • IP 地址:192.168.1.100(C 類地址)
    • 子網掩碼:255.255.255.0(二進制:11111111 11111111 11111111 00000000
    • 網絡部分:前 24 位(192.168.1),主機部分:最后 8 位(100)。
2.?表示方法
  • 點分十進制:與 IP 地址格式相同,如255.255.255.0
  • 前綴長度(CIDR 表示法):用/后跟網絡部分的位數,如192.168.1.0/24(表示前 24 位是網絡部分,對應掩碼255.255.255.0)。

二、子網掩碼的核心作用

1.?區分網絡地址和主機地址

通過將?IP 地址與子網掩碼按位進行 “與” 運算,得到?網絡地址(標識一個具體的子網):

  • 例:IP?192.168.1.100?+ 掩碼?255.255.255.0
    • 二進制與運算:

      plaintext

      IP:   11000000 10101000 00000001 01100100  
      掩碼: 11111111 11111111 11111111 00000000  
      結果: 11000000 10101000 00000001 00000000 → 192.168.1.0(網絡地址)  
      
2.?子網劃分(Subnetting)

當一個網絡需要劃分為多個子網時,可從主機位 “借位” 作為子網位,延長子網掩碼(增加 1 的位數)。

  • 例:將 C 類網絡192.168.1.0/24劃分為 2 個子網:
    • 借 1 位主機位作為子網位,掩碼變為/25255.255.255.128):
      • 子網 1:網絡地址192.168.1.0/25,主機范圍192.168.1.1~192.168.1.126(可用 126 個主機)
      • 子網 2:網絡地址192.168.1.128/25,主機范圍192.168.1.129~192.168.1.254(可用 126 個主機)
3.?路由決策

路由器根據子網掩碼判斷 IP 地址屬于哪個子網,決定數據轉發的路徑。

三、默認子網掩碼(針對 A/B/C 類地址)

在早期分類編址中,不同類別的 IP 地址有固定的默認子網掩碼:

IP 地址類別默認子網掩碼(點分十進制)前綴長度(CIDR)
A 類255.0.0.0/8
B 類255.255.0.0/16
C 類255.255.255.0/24

注意:默認掩碼僅適用于未劃分子網的情況。現代網絡普遍使用 CIDR,可靈活設置子網掩碼(如/20/27等),不再局限于 A/B/C 類的固定劃分。

四、特殊子網掩碼

  1. 255.255.255.255

    • 所有位都是 1,主機部分為 0,代表 “受限廣播地址”(僅在本地網絡廣播,不經過路由器)。
  2. 0.0.0.0

    • 所有位都是 0,代表 “任意網絡”(如主機未配置具體 IP 時,用 0.0.0.0 表示未知網絡)。
  3. 非連續掩碼(非常規用法)

    • 理論上子網掩碼的 1 必須是連續的(如255.255.254.0是合法的,255.255.253.0通常不推薦),但實際中嚴格要求連續 1 以避免兼容性問題。

五、子網掩碼與 IP 地址的關系

  • 網絡地址?= IP 地址?AND?子網掩碼
  • 廣播地址?= 網絡地址?OR?(子網掩碼取反)
    (廣播地址用于向子網內所有主機發送數據,主機位全為 1,如192.168.1.255/24網絡的廣播地址)
  • 可用主機地址范圍?= 網絡地址 + 1 到 廣播地址 - 1

六、為什么需要子網掩碼?

  • 解決地址浪費:早期 A/B/C 類地址劃分導致大量 IP 浪費(如一個 C 類網絡最多 254 臺主機,若實際僅需 50 臺,剩余地址閑置)。子網掩碼允許將大網絡劃分為小子網,提高地址利用率。
  • 網絡隔離:通過子網劃分,將一個大網絡分割為多個邏輯子網(如企業內部分部門組網),減少廣播風暴,增強網絡管理和安全性。

子網劃分(Subnetting)

子網劃分是將一個大的 IP 網絡(如 A 類、B 類、C 類網絡或自定義的 CIDR 塊)通過子網掩碼劃分為多個更小的子網(Subnet),以便更高效地利用 IP 地址、隔離網絡流量、提升管理效率。核心是通過 “借用” 主機位作為子網位,將原網絡劃分為多個邏輯子網。

一、子網劃分的核心目的

  1. 減少廣播域:每個子網是獨立的廣播域,減少網絡擁塞。
  2. 提高地址利用率:避免大網絡中地址浪費(如僅需 10 臺主機的子網,無需占用 254 個地址的 C 類網絡)。
  3. 邏輯隔離網絡:按部門、功能(如辦公區、服務器區)劃分,便于管理和安全策略部署。

二、關鍵概念與公式

1.?核心要素
  • 原網絡地址:如192.168.1.0/24(C 類網絡,默認掩碼255.255.255.0,主機位 8 位,共 254 個可用地址)。
  • 子網位(借位):從主機位中 “借用” n 位作為子網標識,形成子網數量 = 2^n(注:早期 RFC 要求排除全 0 和全 1 子網,現代網絡支持全 0 / 全 1 子網,需根據設備配置決定)。
  • 主機位:剩余主機位 m 位,每個子網的可用主機數 =?2^m - 2(減 2 是排除子網網絡地址和廣播地址)。
2.?公式總結
  • 若需劃分?S 個子網,則子網位 n 滿足:2^n ≥ S(向上取整)。
  • 若每個子網需?H 個可用主機,則主機位 m 滿足:2^m - 2 ≥ H(向上取整)。
  • 子網掩碼 = 原網絡掩碼 + 子網位(如原掩碼/24,借 3 位子網位,新掩碼為/27)。

三、子網劃分步驟(以 C 類網絡為例)

場景:將192.168.1.0/24劃分為 4 個子網,每個子網最多容納 50 臺主機
  1. 確定子網位和主機位

    • 子網數量:4 個,需子網位 n=2(2^2=4)。
    • 每個子網主機數:50 臺,需主機位 m=6(2^6-2=62≥50)。
    • 總借位:n=2 位,原主機位 8 位,剩余 m=6 位主機位。
    • 新子網掩碼:/24 + 2 = /26(即255.255.255.192)。
  2. 計算每個子網的網絡地址

    • 子網間隔 =?2^m = 64(主機位 6 位,每個子網包含 64 個地址)。
    • 子網 1:網絡地址192.168.1.0/26(地址范圍0~63,網絡地址0,廣播地址63,可用1~62)。
    • 子網 2:網絡地址192.168.1.64/26(地址范圍64~127,可用65~126)。
    • 子網 3:網絡地址192.168.1.128/26(地址范圍128~191,可用129~190)。
    • 子網 4:網絡地址192.168.1.192/26(地址范圍192~255,可用193~254)。
  3. 驗證可用性

    • 每個子網可用地址 62 個,滿足 50 臺主機的需求,且 4 個子網地址不重疊。

四、子網劃分的兩種場景

場景 1:已知子網數量,求每個子網的主機數

例:將10.0.0.0/8劃分為 32 個子網

  • 子網位 n=5(2^5=32),子網掩碼/8+5=/13255.248.0.0)。
  • 每個子網主機位 = 32-13=19 位,可用主機數2^19-2=524286
場景 2:已知每個子網的主機數,求子網數量

例:有一個172.16.0.0/16網絡,每個子網需容納 200 臺主機

  • 主機位 m=8(2^8-2=254≥200),子網掩碼/32-8=/24
  • 子網位 = 16-24?不,原網絡是/16,需從 16 位后借位:
    實際子網位 = 24-16=8 位(掩碼從/16變為/24),子網數量2^8=256個。

五、子網劃分中的特殊情況

1.?全 0 子網和全 1 子網
  • 全 0 子網:如第一個子網網絡地址為x.x.x.0/26(早期被認為無效,現代網絡支持)。
  • 全 1 子網:最后一個子網廣播地址為x.x.x.255/26(現代網絡也支持)。
  • 是否可用:取決于路由器 / 交換機配置(多數支持,需關閉ip subnet-zero限制,默認已開啟)。
2.?可變長子網掩碼(VLSM)
  • 若不同子網的主機數差異大(如有的需 100 臺,有的需 10 臺),可使用 VLSM 為不同子網分配不同掩碼,進一步減少地址浪費。
    • :用192.168.1.0/24劃分子網:
      • 子網 A(100 臺):掩碼/25(可用 126 地址)。
      • 子網 B(50 臺):掩碼/26(可用 62 地址)。
      • 子網 C(10 臺):掩碼/28(可用 14 地址)。

六、子網劃分快速計算表

主機數需求所需主機位 (m)可用主機數 (2^m-2)子網掩碼 (CIDR)子網間隔 (2^m)
≤222/304
≤14414/2816
≤30530/2732
≤62662/2664
≤1267126/25128
≤2548254/24256

七、子網劃分實戰步驟總結

  1. 明確需求:需要多少子網?每個子網最多多少主機?
  2. 計算子網位和主機位
    • 子網位 n:滿足2^n ≥ 子網數量(向上取整)。
    • 主機位 m:滿足2^m - 2 ≥ 主機數(向上取整)。
  3. 確定子網掩碼:原網絡掩碼 + 子網位(如原/24,借 3 位,新掩碼/27)。
  4. 生成子網列表
    • 網絡地址 = 原網絡地址 + 子網間隔 × 子網號(從 0 開始)。
    • 廣播地址 = 網絡地址 + 子網間隔 - 1。
    • 可用地址范圍 = 網絡地址 + 1 到 廣播地址 - 1。
  5. 驗證是否重疊 / 浪費:確保子網地址不重疊,且地址利用率合理。

八、示例:用 VLSM 劃分復雜網絡

需求:公司有 4 個部門,主機數分別為 100、50、20、10 臺,使用192.168.1.0/24地址塊。

  1. 按主機數從大到小劃分
    • 100 臺:需/25(126 地址,子網 1:192.168.1.0/25)。
    • 50 臺:需/26(62 地址,子網 2:192.168.1.128/26)。
    • 20 臺:需/27(30 地址,子網 3:192.168.1.192/27)。
    • 10 臺:需/28(14 地址,子網 4:192.168.1.224/28)。
  2. 剩余地址192.168.1.240/28(14 地址,預留擴展)。

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

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

相關文章

SpringBoot學習(過濾器Filter。攔截器Interceptor。全局異常捕獲處理器GlobalExceptionHandler)(詳細使用教程)

目錄 一、過濾器Filter。 1.1定義與規范。 1.2工作原理與范圍。 1.3使用場景。 1.4 SpringBoot實現過濾器。&#xff08;Filter配置2種方式&#xff09; <1>注解配置(WebFilter、Order、ServletComponentScan)。 創建過濾器類。 啟用 Servlet 組件掃描。 <2>配置類…

c++題目_P1443 馬的遍歷

P1443 馬的遍歷 # P1443 馬的遍歷 ## 題目描述 有一個 $n \times m$ 的棋盤&#xff0c;在某個點 $(x, y)$ 上有一個馬&#xff0c;要求你計算出馬到達棋盤上任意一個點最少要走幾步。 ## 輸入格式 輸入只有一行四個整數&#xff0c;分別為 $n, m, x, y$。 ## 輸出格式 …

清華《數據挖掘算法與應用》K-means聚類算法

使用k均值聚類算法對表4.1中的數據進行聚類。代碼參考P281。 創建一個名為 testSet.txt 的文本文件&#xff0c;將以下內容復制粘貼進去保存即可&#xff1a; 0 0 1 2 3 1 8 8 9 10 10 7 表4.1 # -*- coding: utf-8 -*- """ Created on Thu Apr 17 16:59:58 …

HarmonyOS-ArkUI V2工具類:AppStorageV2:應用全局UI狀態存儲

AppStorageV2是一個能夠跨界面存儲數據,管理數據的類。開發者可以使用AppStorageV2來存儲全局UI狀態變量數據。它提供的是應用級的全局共享能力,開發者可以通過connect綁定同一個key,進行跨ability數據共享。 概述 AppStorageV2是一個單例,創建時間是應用UI啟動時。其目的…

打靶日記 zico2: 1

一、探測靶機IP&#xff08;進行信息收集&#xff09; 主機發現 arp-scan -lnmap -sS -sV -T5 -p- 192.168.10.20 -A二、進行目錄枚舉 發現dbadmin目錄下有個test_db.php 進入后發現是一個登錄界面&#xff0c;嘗試弱口令&#xff0c;結果是admin&#xff0c;一試就出 得到加…

使用Java基于Geotools的SLD文件編程式創建與磁盤生成實戰

前言 在地理信息系統&#xff08;GIS&#xff09;領域&#xff0c;地圖的可視化呈現至關重要&#xff0c;而樣式定義語言&#xff08;SLD&#xff09;文件為地圖元素的樣式配置提供了強大的支持。SLD 能夠精確地定義地圖圖層中各類要素&#xff08;如點、線、面、文本等&#x…

kubernetes》》k8s》》Service

Kubernetes 中的 Service 是用于暴露應用服務的核心抽象&#xff0c;為 Pod 提供穩定的訪問入口、負載均衡和服務發現機制。Service在Kubernetes中代表了一組Pod的邏輯集合&#xff0c;通過創建一個Service&#xff0c;可以為一組具有相同功能的容器應用提供一個統一的入口地址…

【HDFS】EC重構過程中的校驗功能:DecodingValidator

一、動機 DecodingValidator是在HDFS-15759中引入的一個用于校驗EC數據重構正確性的組件。 先說下引入DecodingValidator的動機,據很多已知的ISSUE(如HDFS-14768, HDFS-15186, HDFS-15240,這些目前都已經fix了)反饋, EC在重構的時候可能會有各種各樣的問題,導致數據錯誤…

現代c++獲取linux系統架構

現代c獲取linux系統架構 前言一、使用命令獲取系統架構二、使用c代碼獲取系統架構三、驗證四、總結 前言 本文介紹一種使用c獲取linux系統架構的方法。 一、使用命令獲取系統架構 linux系統中可以使用arch或者uname -m命令來獲取當前系統架構&#xff0c;如下圖所示 archuna…

didFinishLaunching 與「主線程首次 idle」, 哪個是更優的啟動結束時間點 ?

結論先行 在這兩個候選時間點里—— application:didFinishLaunchingWithOptions: 執行結束主線程第一次進入 idle&#xff08;RunLoop kCFRunLoopBeforeWaiting&#xff09; 若你只能二選一&#xff0c;以「主線程首次 idle」作為 啟動結束 更合理。它比 didFinishLaunchin…

Vue3 + TypeScript中defineEmits 類型定義解析

TypeScript 中 Vue 3 的 defineEmits 函數的類型定義&#xff0c;用于聲明組件可以觸發的事件。以下是分步解釋&#xff1a; 1. 泛型定義 ts <"closeDialog" | "getApplySampleAndItemX"> 作用&#xff1a;定義允許的事件名稱集合&#xff0c;即組…

樹莓派超全系列教程文檔--(34)樹莓派配置GPIO

配置GPIO GPIO控制gpio 文章來源&#xff1a; http://raspberry.dns8844.cn/documentation 原文網址 GPIO控制 gpio 通過 gpio 指令&#xff0c;可以在啟動時將 GPIO 引腳設置為特定模式和值&#xff0c;而以前需要自定義 dt-blob.bin 文件。每一行都對一組引腳應用相同的設…

AladdinEdu(H卡GPU算力平臺)使用教程: 1)注冊與開通流程 2)插件使用流程

一、注冊與開通流程 首先進入AladdinEdu官網&#xff1a;AladdinEdu-同學們用得起的H卡算力平臺-高效做AI就上Aladdin 完成注冊&#xff0c;并進行學生認證&#xff1a;學生認證賬戶&#xff0c;認證期間享受教育優惠價。 登錄官網進入控制臺 二、插件使用流程 VScode中…

精益數據分析(6/126):深入理解精益分析的核心要點

精益數據分析&#xff08;6/126&#xff09;&#xff1a;深入理解精益分析的核心要點 在創業和數據驅動的時代浪潮中&#xff0c;我們都在不斷探索如何更好地利用數據推動業務發展。我希望通過和大家分享對《精益數據分析》的學習心得&#xff0c;一起在這個充滿挑戰和機遇的領…

2.深入剖析 Rust+Axum 類型安全路由系統

摘要 詳細解讀 RustAxum 路由系統的關鍵設計原理&#xff0c;涵蓋基于 Rust 類型系統的路由匹配機制、動態路徑參數與正則表達式驗證以及嵌套路由與模塊化組織等多種特性。 一、引言 在現代 Web 開發中&#xff0c;路由系統是構建 Web 應用的核心組件之一&#xff0c;它負責…

運籌學之模擬退火

目錄 一、歷史二、精髓思想三、案例與代碼實現 一、歷史 問&#xff1a;誰在什么時候提出模擬退火&#xff1f;答&#xff1a;模擬退火算法&#xff08;Simulated Annealing&#xff0c;SA&#xff09;是由斯圖爾特柯爾斯基&#xff08;Scott Kirkpatrick&#xff09; 等人在 …

android測試依賴

Android 項目中常用的測試相關庫 1. androidx.arch.core:core-testing:2.2.0 作用&#xff1a; 提供與 Android Architecture Components&#xff08;如 LiveData、ViewModel&#xff09;相關的測試工具。主要用于測試基于 LiveData 的異步操作。 常見功能&#xff1a; 即時…

stack,queue和priority_queue

1. stack 1.1 stack 的介紹 棧是一種容器適配器&#xff0c;專門設計用于LIFO環境&#xff08;后進先出&#xff09;&#xff0c;其中元素僅從容器的一端插入和提取。 容器適配器&#xff0c;也就是使用特定容器類的封裝對象作為其底層容器&#xff0c;提供一組特定的成員函…

MinnowBoard MAX單板UEFI BIOS代碼編譯教程

此教程用于UEFI EDK2代碼的研究&#xff0c;雖然EDK2框架代碼開源&#xff0c;但是都是在模擬器上跑仿真&#xff0c;差點意思&#xff0c;搞過嵌入式的應該有一個共識&#xff0c;是騾子是馬&#xff0c;你得把板子點亮啊。MinnowBoard MAX單板是intel10多年前發布的軟硬件全部…

AI Transformers 架構體系 權重文件類型 safeterson和gguf格式轉換【2-1】

模型權重文件&#xff1a;存儲訓練好的模型參數,也就是w和b&#xff0c;是模型推理和微調的基礎 .pt、.ckpt、.safetensors、gguf 配置文件&#xff1a;確保模型架構的一致性&#xff0c;使得權重文件能夠正確加載 config.json、generation_config.json 詞匯表文件&#xff1a;…