- 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分類
IP轉為二進位制,根據判斷前幾位,裝置就能判斷這個IP是什麼類的IP。
A、B、C類預設網路掩碼:
- A:IP/8
- B:IP/16
- C:IP/24
約定:
C類也叫C段。
為什麼要IP分類?
這是一個很好的問題,涉及到了網際網路發展的歷史。IP地址分類(A、B、C、D、E類)是早期網際網路設計的一部分,主要用於簡化網路地址的分配和路由。讓我為您解釋一下:
-
IP地址分類的歷史背景:
IP地址分類系統是在1981年透過RFC 791引入的,當時是為了更有效地分配和管理有限的IPv4地址空間。這個系統被稱為"有類別定址"(classful addressing)。 -
各類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 作為廣播地址
- 第一位為
-
歷史作用:
- 簡化地址分配:便於Internet號碼分配機構(如IANA)管理和分配IP地址。
- 簡化路由:路由器可以根據IP地址的前幾位快速確定網路類別。
- 靈活性:不同類別適合不同規模的網路。
-
侷限性:
隨著網際網路的快速發展,這種分類方法顯現出一些問題:- 地址空間浪費:特別是A類和B類網路中,很多地址未被充分利用。
- 缺乏靈活性:難以適應中等規模的網路需求。
-
發展:
為了解決這些問題,後來引入了無類別域間路由(CIDR)和網路地址轉換(NAT)等技術,使IP地址的分配和使用更加靈活和高效。雖然現在我們主要使用CIDR,但瞭解IP地址分類仍然對理解網路歷史和某些遺留系統有一點幫助,主要吹牛時用,不至於不知道別人說什麼。
總結:
古老的IP分類——有類網路已經被拋棄了,現在是NAT + CIDR的 無類網路 時代。
CIDR 和 子網掩碼介紹
CIDR(Classless Inter-Domain Routing)是一種用於表示IP地址和其相關子網掩碼的方法。格式為:IP地址/字首長度,在介紹CIDR 之前先認識子網掩碼。
用Windows系統的朋友,對這個圖肯定很熟悉吧:
子網掩碼(Subnet Mask)又叫網路掩碼、地址掩碼,必須結合IP地址一起對應使用。
子網掩碼的組成:
- 同IP地址一樣,子網掩碼是由長度為32位二進位制陣列成的一個地址。
- 子網掩碼32位與IP地址32位相對應,IP地址如果某位是網路地址,則子網掩碼為1,否則為0。
- 舉個例子:如:11111111.11111111.11111111.00000000
注:左邊連續的1的個數代表網路號的長度,(使用時必須是連續的,理論上也可以不連續),右邊連續的0的個數代表主機號的長度。
子網掩碼的作用:
- 只有透過子網掩碼,才能表明一臺主機所在的子網與其他子網的關係,使網路正常工作;
- 子網掩碼和IP地址做“與”運算,分離出IP地址中的網路地址和主機地址,用於判斷該IP地址是在本地網路上,還是在遠端網路網上。
關注到:
子網掩碼可以分離出IP地址中的網路地址
和主機地址
。
為什麼要分離出網路地址、主機地址有什麼用?
-
因為兩臺主機要通訊,首先要判斷是否處於同一網段,即網路地址是否相同;
-
如果相同,那麼可以把資料包直接傳送到目標主機,否則就需要路由閘道器將資料包轉傳送到目的地。
在如下拓撲圖示例中,A與B,C與D,都可以直接相互通訊(都是屬於各自同一網段,不用經過路由器),但是A與C,A與D,B與C,B與D它們之間不屬於同一網段,所以它們通訊是要經過本地閘道器,然後路由器根據對方IP地址,在路由表中查詢恰好有匹配到對方IP地址的直連路由,於是從另一邊閘道器介面轉發出去實現互連。
子網掩碼的的表示方法:
-
點分十進位制表示法
二進位制轉換十進位制,每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地址的區分是網路管理中的一個重要概念。讓我為您詳細解釋:
-
公網IP地址:
- 定義:公網IP地址是在全球網際網路上唯一的地址,可以直接訪問網際網路。
- 分配:由網際網路服務提供商(ISP)或地區網際網路序號產生器構(RIR)分配。
- 特點:全球唯一,可以直接在網際網路上路由。
-
私網IP地址:
- 定義:私網IP地址是在區域網內部使用的地址,不能直接訪問網際網路。
- 分配:由網路管理員在區域網內分配,或透過DHCP自動分配。
- 特點:可以在不同的區域網中重複使用。
-
私網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 -
如何區分:
- 地址範圍:如果一個IP地址落在上述私網地址範圍內,它就是私網IP。
- 網路設定:檢視裝置的網路設定可以確定IP地址型別。
- 線上工具:有許多線上工具可以幫助判斷一個IP是公網還是私網。
-
使用場景:
- 私網IP:用於家庭、辦公室或企業內部網路。多臺裝置可以共享一個公網IP。
- 公網IP:用於需要直接訪問網際網路的伺服器、網站託管等。
-
NAT(網路地址轉換):
- 私網裝置透過NAT技術,使用路由器的公網IP訪問網際網路。
- NAT允許多個私網IP共享一個公網IP,提高了IP地址的利用效率。
-
安全性:
- 私網IP提供了一定程度的安全性,因為它們不能直接從網際網路訪問。
- 公網IP更容易受到直接的網路攻擊,因此需要更嚴格的安全措施。
CIDR 與 VLSM
上面鋪墊了那麼多,其實重點就是要講清楚CIDR 與 VLSM這兩個概念。
VLSM —— VLSM(Variable Length Subnet Mask,可變長子網掩碼),更好理解的詞:子網劃分,規定了在一個有類(A、B、C類)網路內包含多個子網掩碼的能力,以及對一個子網的再進行子網劃分的能力,作用是:提升IP的利用率、實際使用率。
VLSM:子網掩碼往右邊移,掩碼netmask增長。
上圖的區域網也就兩臺機器,要是使用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縮短。
在A路由器上,就有4個路由表,把它聚合成一張路由表,傳遞到路由器B,減少路由B的壓力,作用是為了減少骨幹路由器的壓力。
CIDR與VLSM總結:
在某種程度上來說,CIDR和VLSM它們之間可以看做是逆過程,CIDR是聚合(找多個路由表的相同的位數,然後把相同位數的求出來)、VLSM是切分(找到劃分的界限,劃分下去,需要考慮-2)。
VLSM 子網劃分案例
一個子網劃分的案例:
將 192.168.1.0/24這個C類地址進行子網劃分,網路位向主機位借1位:
那麼將劃分出子網1——192.168.1.0/25
當我們借用一位進行子網劃分時,這一位成為了區分兩個子網的關鍵。
在二進位制中,這一位可以是0或1,因此產生了兩個子網。
那麼將劃分出子網2——192.168.1.128/25
這種劃分方法允許我們建立兩個大小相等的子網,每個子網可以容納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/