IP協議學習筆記

Mysticbinary發表於2024-07-15

目錄
  • IP地址格式
  • IP分類
  • CIDR 和 子網掩碼介紹
  • NAT+公網、私網地址
  • CIDR 與 VLSM
  • VLSM 子網劃分案例
  • 練習
  • Reference


IP的作用類似物理世界中的地址,用於定位機器的位置。只不過物理的地址是文字描述,計算機世界的IP是一串二進位制數,並且它是有一定約定和規則的。

下面我來學習關於IP的一些歷史約定和規則。

IP地址格式

  • 4.4.4.4
  • 8.8.8.8
  • 114.114.114.114
  • 242.105.13.65
  • 102.32.175.117
  • 123.157.162.46
  • 255.255.255.255

這些用四個點.劃分,且每個段的範圍是 \(2^8\)(從0開始),這就是IP。

IP地址由兩部分組成:

  • 網路部分 + 主機部分

為什麼要分兩部分?
網路ID的作用:

  • 識別網路:網路ID用於識別特定的網路或子網。
  • 路由:路由器使用網路ID來決定如何轉發資料包。
  • 網路劃分:幫助組織有效地管理和劃分網路。

主機ID的作用:

  • 識別主機:在特定網路內唯一標識一臺主機或裝置。
  • 定址:允許資料包準確地傳遞到網路內的特定裝置。

分割的重要性:

  • 層次結構:建立了網路的層次結構,簡化了網際網路的組織。
  • 效率:提高了路由效率,路由器只需要關注網路ID,而不是每個單獨的IP地址。
  • 靈活性:允許網路管理員根據需要靈活地分配和管理IP地址。

實際應用:

  • 當資料包從一個網路傳送到另一個網路時,路由器只檢視網路ID部分。
  • 一旦資料包到達目標網路,本地裝置(如交換機)使用主機ID將其導向特定裝置。

IP分類

image

image

IP轉為二進位制,根據判斷前幾位,裝置就能判斷這個IP是什麼類的IP。

A、B、C類預設網路掩碼:

  • A:IP/8
  • B:IP/16
  • C:IP/24

約定:
C類也叫C段。

為什麼要IP分類?
這是一個很好的問題,涉及到了網際網路發展的歷史。IP地址分類(A、B、C、D、E類)是早期網際網路設計的一部分,主要用於簡化網路地址的分配和路由。讓我為您解釋一下:

  1. IP地址分類的歷史背景:
    IP地址分類系統是在1981年透過RFC 791引入的,當時是為了更有效地分配和管理有限的IPv4地址空間。這個系統被稱為"有類別定址"(classful addressing)。

  2. 各類IP地址的特徵:
    A類:

    • 第一位為0
    • 網路地址佔8位,主機地址佔24位
    • 範圍:1.0.0.0 到 126.255.255.255
    • 適合大型網路

    B類:

    • 前兩位為10
    • 網路地址佔16位,主機地址佔16位
    • 範圍:128.0.0.0 到 191.255.255.255
    • 適合中型網路

    C類:

    • 前三位為110
    • 網路地址佔24位,主機地址佔8位
    • 範圍:192.0.0.0 到 223.255.255.255
    • 適合小型網路

    D類:

    • 前四位為1110
    • 用於多播(multicast)也叫組播,無子網掩碼
    • 範圍:224.0.0.0 到 239.255.255.255

    E類:

    • 前五位為11110
    • 保留用於未來或實驗用途
    • 範圍:240.0.0.0 到 255.255.255.255
    • 255.255.255.255 作為廣播地址
  3. 歷史作用:

    • 簡化地址分配:便於Internet號碼分配機構(如IANA)管理和分配IP地址。
    • 簡化路由:路由器可以根據IP地址的前幾位快速確定網路類別。
    • 靈活性:不同類別適合不同規模的網路。
  4. 侷限性:
    隨著網際網路的快速發展,這種分類方法顯現出一些問題:

    • 地址空間浪費:特別是A類和B類網路中,很多地址未被充分利用。
    • 缺乏靈活性:難以適應中等規模的網路需求。
  5. 發展:
    為了解決這些問題,後來引入了無類別域間路由(CIDR)和網路地址轉換(NAT)等技術,使IP地址的分配和使用更加靈活和高效。

    雖然現在我們主要使用CIDR,但瞭解IP地址分類仍然對理解網路歷史和某些遺留系統有一點幫助,主要吹牛時用,不至於不知道別人說什麼。

總結:
古老的IP分類——有類網路已經被拋棄了,現在是NAT + CIDR的 無類網路 時代。

CIDR 和 子網掩碼介紹

CIDR(Classless Inter-Domain Routing)是一種用於表示IP地址和其相關子網掩碼的方法。格式為:IP地址/字首長度,在介紹CIDR 之前先認識子網掩碼

用Windows系統的朋友,對這個圖肯定很熟悉吧:
image

子網掩碼(Subnet Mask)又叫網路掩碼、地址掩碼,必須結合IP地址一起對應使用。

子網掩碼的組成:

  1. 同IP地址一樣,子網掩碼是由長度為32位二進位制陣列成的一個地址。
  2. 子網掩碼32位與IP地址32位相對應,IP地址如果某位是網路地址,則子網掩碼為1,否則為0。
  3. 舉個例子:如:11111111.11111111.11111111.00000000
    注:左邊連續的1的個數代表網路號的長度,(使用時必須是連續的,理論上也可以不連續),右邊連續的0的個數代表主機號的長度。
    image

子網掩碼的作用:

  • 只有透過子網掩碼,才能表明一臺主機所在的子網與其他子網的關係,使網路正常工作
  • 子網掩碼和IP地址做“與”運算,分離出IP地址中的網路地址和主機地址,用於判斷該IP地址是在本地網路上,還是在遠端網路網上。

關注到:
子網掩碼可以分離出IP地址中的網路地址主機地址

為什麼要分離出網路地址、主機地址有什麼用?

  1. 因為兩臺主機要通訊,首先要判斷是否處於同一網段,即網路地址是否相同;

  2. 如果相同,那麼可以把資料包直接傳送到目標主機,否則就需要路由閘道器將資料包轉傳送到目的地。

    在如下拓撲圖示例中,A與B,C與D,都可以直接相互通訊(都是屬於各自同一網段,不用經過路由器),但是A與C,A與D,B與C,B與D它們之間不屬於同一網段,所以它們通訊是要經過本地閘道器,然後路由器根據對方IP地址,在路由表中查詢恰好有匹配到對方IP地址的直連路由,於是從另一邊閘道器介面轉發出去實現互連。
    image

子網掩碼的的表示方法:

  • 點分十進位制表示法
    二進位制轉換十進位制,每8位用點號隔開
    例如:子網掩碼二進位制11111111.11111111.11111111.00000000,表示為255.255.255.0

  • CIDR斜線記法
    IP地址/n
    也可以理解為:IP地址/字首長度

    • 例1:192.168.1.100/24,其子網掩碼錶示為255.255.255.0,二進位制表示為11111111.11111111.11111111.00000000
    • 例2:172.16.198.12/20,其子網掩碼錶示為255.255.240.0,二進位制表示為11111111.11111111.11110000.00000000
      不難發現,例1中共有24個1,例2中共有20個1,所以n是這麼來的。運營商ISP常用這樣的方法給客戶分配IP地址。

示例:

1表示網路地址,0表示主機地址

CIDR: IP/8
二進位制:11111111.00000000.00000000.00000000
十進位制:255.0.0.0

CIDR: IP/16
二進位制:11111111.11111111.00000000.00000000
十進位制:255.255.0.0

CIDR: IP/24
二進位制:11111111.11111111.11111111.00000000
十進位制:255.255.255.0

CIDR的優勢:

  • 靈活性:允許更精細的子網劃分。
  • 效率:相比傳統的A、B、C類地址分類,可以更有效地利用IP地址空間。

NAT+公網、私網地址

IPv4只有43億個地址,遠遠不能滿足全世界的網路需求,
透過配置NAT + CIDR,區分公網地址和私網地址,巧妙地解決了這個問題。

公網和私網IP地址的區分是網路管理中的一個重要概念。讓我為您詳細解釋:

  1. 公網IP地址:

    • 定義:公網IP地址是在全球網際網路上唯一的地址,可以直接訪問網際網路。
    • 分配:由網際網路服務提供商(ISP)或地區網際網路序號產生器構(RIR)分配。
    • 特點:全球唯一,可以直接在網際網路上路由。
  2. 私網IP地址:

    • 定義:私網IP地址是在區域網內部使用的地址,不能直接訪問網際網路。
    • 分配:由網路管理員在區域網內分配,或透過DHCP自動分配。
    • 特點:可以在不同的區域網中重複使用。
  3. 私網IP地址範圍:
    根據RFC 1918,以下IP地址範圍被保留用於私網:

    私有地址範圍 CIDR表示法
    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
  4. 如何區分:

    • 地址範圍:如果一個IP地址落在上述私網地址範圍內,它就是私網IP。
    • 網路設定:檢視裝置的網路設定可以確定IP地址型別。
    • 線上工具:有許多線上工具可以幫助判斷一個IP是公網還是私網。
  5. 使用場景:

    • 私網IP:用於家庭、辦公室或企業內部網路。多臺裝置可以共享一個公網IP。
    • 公網IP:用於需要直接訪問網際網路的伺服器、網站託管等。
  6. NAT(網路地址轉換):

    • 私網裝置透過NAT技術,使用路由器的公網IP訪問網際網路。
    • NAT允許多個私網IP共享一個公網IP,提高了IP地址的利用效率。
      image
  7. 安全性:

    • 私網IP提供了一定程度的安全性,因為它們不能直接從網際網路訪問。
    • 公網IP更容易受到直接的網路攻擊,因此需要更嚴格的安全措施。

CIDR 與 VLSM

上面鋪墊了那麼多,其實重點就是要講清楚CIDR 與 VLSM這兩個概念。

VLSM —— VLSM(Variable Length Subnet Mask,可變長子網掩碼),更好理解的詞:子網劃分,規定了在一個有類(A、B、C類)網路內包含多個子網掩碼的能力,以及對一個子網的再進行子網劃分的能力,作用是:提升IP的利用率、實際使用率。

VLSM:子網掩碼往右邊移,掩碼netmask增長。

image
上圖的區域網也就兩臺機器,要是使用192.168.10.240/24 就有256-2 = 254 個可用IP,有點浪費了。劃分成 192.168.10.240/30 ,子網/30的可用IP是4個,減去2個(一個網路號,一個廣播號),就剛好只剩下2個,就沒有造成浪費。

CIDR —— CIDR(Classless Inter-Domain Routing,無類別域間路由),更好理解的詞: 路由聚合或者 超網。CIDR本質是消除了傳統的A類、B類和C類地址以及劃分子網的概念,將多個地址塊聚合在一起生成一個更大的網路,從而包含更多的主機。

CIDR:子網掩碼往左邊移,掩碼netmask縮短。

image
在A路由器上,就有4個路由表,把它聚合成一張路由表,傳遞到路由器B,減少路由B的壓力,作用是為了減少骨幹路由器的壓力。

CIDR與VLSM總結:
在某種程度上來說,CIDR和VLSM它們之間可以看做是逆過程,CIDR是聚合(找多個路由表的相同的位數,然後把相同位數的求出來)、VLSM是切分(找到劃分的界限,劃分下去,需要考慮-2)。

VLSM 子網劃分案例

一個子網劃分的案例:
將 192.168.1.0/24這個C類地址進行子網劃分,網路位向主機位借1位:

image

那麼將劃分出子網1——192.168.1.0/25
image

當我們借用一位進行子網劃分時,這一位成為了區分兩個子網的關鍵
在二進位制中,這一位可以是0或1,因此產生了兩個子網。

那麼將劃分出子網2——192.168.1.128/25
image

這種劃分方法允許我們建立兩個大小相等的子網,每個子網可以容納126個主機。
這在需要將一個大網路分割成兩個較小網路的情況下非常有用。

練習

  • 例1:某企業分配給產品部的IP地址塊為192.168.31.192/26,分配給市場部的IP地址塊為192.168.31.160/27,分配給財務部的IP地址塊為192.168.31.128/27,那麼這三個地址塊經過聚合後的地址為?

  • 例2:計算一下 172.16.1.0/27 這個子網的網路號、廣播號、以及可用IP地址?

Reference

6--10VLSM子網劃分
https://www.bilibili.com/video/BV1pY411P7tU/

6-11CIDR無類域間路由
https://www.bilibili.com/video/BV1vR4y1K7Ge/

相關文章