網絡ip地址和子網掩碼和CIDR、VLSM和子網、超網


參考:https://blog.51cto.com/u_6930123/2112748

自己總結:

子網掩碼:實際區分,網絡位和主機位

主機位全0,表示本網絡的網絡地址,主機位全1,表示本網絡的廣播地址。

計算主機數=子網掩碼位為0的個數的2次方-2(-2是保留兩個地址,全0和全1),子網掩碼位為1是子網的長度和子網號

192.168.1.1/24掩碼位24為24個1(連續的24個1,子網掩碼的1的位不能不連續)

 192.168.1.1/30掩碼位30為30個1  (后面兩個0),主機位為2的2次方,去掉兩個保留地址(全0,全1),主機最大個數為2兩個。

在學習掌握了前面的《進制計數》《IP地址詳解》這兩部分知識后,要學習子網划分,首先就要必須知道子網掩碼,只有掌握了子網掩碼這部分內容,才能很好的理解和划分子網。

 

一、子網掩碼

IP地址是以網絡號和主機號來標示網絡上的主機的,我們把網絡號相同的主機稱之為本地網絡,網絡號不相同的主機稱之為遠程網絡主機,本地網絡中的主機可以直接相互通信;遠程網絡中的主機要相互通信必須通過本地網關(Gateway)來傳遞轉發數據。

 

1、子網掩碼的概念及作用

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

②、只有通過子網掩碼,才能表明一台主機所在的子網與其他子網的關系,使網絡正常工作。

③、子網掩碼和IP地址做“與”運算,分離出IP地址中的網絡地址和主機地址,用於判斷該IP地址是在本地網絡上,還是在遠程網絡網上。

④、子網掩碼還用於將網絡進一步划分為若干子網,以避免主機過多而擁堵或過少而IP浪費。

 

 

 

 

 

2、子網掩碼的組成

①、同IP地址一樣,子網掩碼是由長度為32位二進制數組成的一個地址。

②、子網掩碼32位與IP地址32位相對應,IP地址如果某位是網絡地址,則子網掩碼為1,否則為0。

③、舉個栗子:如:11111111.11111111.11111111.00000000

 

注:左邊連續的1的個數代表網絡號的長度,(使用時必須是連續的,理論上也可以不連續),右邊連續的0的個數代表主機號的長度。

 

3、子網掩碼的表示方法

①、點分十進制表示法

二進制轉換十進制,每8位用點號隔開

例如:子網掩碼二進制11111111.11111111.11111111.00000000,表示為255.255.255.0

 

②、CIDR斜線記法

IP地址/n

例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地址。

 

注:n為1到32的數字,表示子網掩碼中網絡號的長度,通過n的個數確定子網的主機數=2^(32-n)-2(-2的原因:主機位全為0時表示本網絡的網絡地址,主機位全為1時表示本網絡的廣播地址,這是兩個特殊地址)。

 

4、為什么要使用子網掩碼?

前面說道,子網掩碼可以分離出IP地址中的網絡地址和主機地址,那為什么要分離呢?因為兩台主機要通信,首先要判斷是否處於同一網段,即網絡地址是否相同。如果相同,那么可以把數據包直接發送到目標主機,否則就需要路由網關將數據包轉發送到目的地。

 

可以這么簡單的理解:A主機要與B主機通信,A和B各自的IP地址與A主機的子網掩碼進行And與運算,看得出的結果:

 

1、結果如果相同,則說明這兩台主機是處於同一個網段,這樣A可以通過ARP廣播發現B的MAC地址,B也可以發現A的MAC地址來實現正常通信。

 

2、如果結果不同,ARP廣播會在本地網關終結,這時候A會把發給B的數據包先發給本地網關,網關再根據B主機的IP地址來查詢路由表,再將數據包繼續傳遞轉發,最終送達到目的地B。

 

計算機的網關(Gateway)就是到其他網段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本網段中任何一個地址,不過通常使用該網段的第一個可用的地址或最后一個可用的地址,這是為了盡可能避免和本網段中的主機地址沖突。

 

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

 

 

 

 

 

5、子網掩碼的分類

①、缺省子網掩碼

 

也叫默認子網掩碼,即未划分子網,對應的網絡號的位都置 1 ,主機號都置 0 。

 

未做子網划分的IP地址:網絡號+主機號

 

A類網絡缺省子網掩碼: 255.0.0.0,用CIDR表示為/8

 

B類網絡缺省子網掩碼: 255.255.0.0,用CIDR表示為/16

 

C類網絡缺省子網掩碼: 255.255.255.0,用CIDR表示為/24

 

②、自定義子網掩碼

 

將一個網絡划分子網后,把原本的主機號位置的一部分給了子網號,余下的才是給了子網的主機號。其形式如下:

 

做子網划分后的IP地址:網絡號+子網號+子網主機號

 

舉個栗子:

 

如:192.168.1.100/25,其子網掩碼表示:255.255.255.128

 

意思就是將192.168.1.0這個網段的主機位的最高1位划分為了子網。關於子網划分將在下篇文章講到,這里不在闡述。

 

6、子網掩碼和IP地址的關系

子網掩碼是用來判斷任意兩台主機的IP地址是否屬於同一網絡的依據,就是拿雙方主機的IP地址和自己主機的子網掩碼做與運算,如結果為同一網絡,就可以直接通信。

 

And按位與運算:

與運算是計算機中一種基本的邏輯運算方式,符號表示為&,也可以表示為 and。

參加運算的兩個數據,按二進制位進行“與”運算。

運算規則:0&0=0;0&1=0;1&0=0;1&1=1;

即:兩位同時為“1”,結果才為“1”,否則為0

 

如何根據IP地址和子網掩碼,計算網絡地址:

 

①、將IP地址與子網掩碼轉換成二進制數。

②、將二進制形式的 IP 地址與子網掩碼做“與”運算。

③、將得出的結果轉化為十進制,便得到網絡地址。

如下圖:

 

 

 

 

 

**網絡地址計算小技巧:**IP地址和子網掩碼做與運算,把IP地址的主機位直接歸0,就快速得到網絡地址。所以只要一看到IP地址和子網掩碼,就能馬上確認網絡地址。

 

二、CIDR與VLSM

理解和掌握了子網掩碼這部分知識后,這里要補充下CIDR和VLSM,這對於我們下篇講述的子網划分,簡直了就是放大招啊!

 

1、有類和無類網絡,超網和子網

,我們先了解這幾個概念,對於CIDR和VLSM以及子網划分都是很有用的。

 

◆ 有類網絡:也叫主類網絡或標准網絡,就是指把IP地址能歸結到的A類、B類、C類IP,使用的是標准的默認子網掩碼。

 

◆ 無類網絡:相對於有類網絡,無類網絡IP地址的掩碼是變長的。在有類網絡的基礎上,拿出一部分主機ID作為子網ID。

 

◆ 超網:把多個小網絡組合成一個大網絡,稱為超網(SuperNetting),也可以說子網掩碼長度小於相對應的有類網絡的叫超網。

 

◆ 子網:有類網絡划分成更小后的網絡,稱為子網(Subnet),也可以說子網掩碼長度大於相對應的有類網絡的叫子網。

 

2、CIDR無類別域間路由

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

 

CIDR采用8-30位可變網絡ID(最大可用的只能為30位,即保留2位給主機位),而不是A、B、C類網絡ID所用的固定的8、16和24位。

CIDR表示方法:IP地址/n,n表示IP地址中的前n位代表網絡部分(n個二進制數1),其余(32-n)位代表主機部分。這種方法稱為“斜線記法”,它又稱為CIDR記法。

 

舉個栗子:子網掩碼255.255.255.192,用CIDR表示是多少呢?

 

①、首先確認的是這是個C類網絡地址(C類的默認子網掩碼為255.255.255.0)

 

②、前面三個字節都是255,轉換成二進制都為1,即11111111.11111111.11111111,即24位1。

 

③、后面一個字節是192,轉換成二進制為11000000,即1占用了2位。

 

④、子網掩碼共占用了26位1,所以用CIDR表示為/26。

 

⑤、如果網絡地址為192.168.10.0,再加上CIDR,最后表示為192.168.10.0/26。

 

CIDR支持路由聚合,能夠將路由表中的許多路由條目合並為成更少的數目,因此可以限制路由器中路由表的增大,減少路由通告,減輕路由器的負擔。

 

3、VLSM可變長子網掩碼

VLSM(Variable Length Subnet Mask,可變長子網掩碼)規定了在一個有類(A、B、C類)網絡內包含多個子網掩碼的能力,以及對一個子網的再進行子網划分的能力。

 

每一個IP地址都包含了2部分:網絡號和主機號。在有類網絡中,32bit的IP地址被分為4段,每段8bit來表示。這使得作為網絡號的前綴必須是8位,16位或者24位。當網絡號是24位的時候,主機號只有8位,也就是說,可分配的最小的地址塊是256個(2^8=256,而實際可分配的主機地址還要減去兩個,一個是網絡地址,一個是廣播地址,最后為254個),這個數量對於大多數企業來說是不夠的。

 

而比這個大一點的IP地址塊是網絡號為16位的時候,這個時候可分配的地址塊是65536(2^16=65536),這個數量對於大多數公司又太多了。這導致無論公司選擇哪種類型的網絡,都可能對IP地址造成大量的浪費。

 

IP地址如果只使用有類(A、B、C類)來划分,會造成大量的浪費或者不夠用。VLSM的誕生有效的解決了這個問題,可以在有類網絡的基礎上,通過對IP地址的主機號進行再划分,把一部分划入網絡號,就能划分各種類型大小的網絡了。網絡號也不再僅局限在8、16和24位這幾個數,而是靈活變化的大小了。

 

4、CIDR與VLSM的區別

在使用CIDR聚合地址時,將原來有類IP地址中的網絡位划出一部分作為主機位使用。

在使用VLSM划分子網時,將原來有類IP地址中的主機位按照需要划出一部分作為網絡位使用。

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

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

CIDR是把幾個有類網絡合成一個大的網絡(超網),用於路由地址聚合。

VLSM是把一個有類網絡分成幾個小型網絡(子網),用於更高效划分子網。

CIDR與VLSM總結:

在某種程度上來說,CIDR和VLSM它們之間可以看做是逆過程。

CIDR是把幾個小網絡聚合成一個大網絡來做表示,而VLSM則是把一個大網絡繼續細分為幾個小網絡進行IP地址分配。

CIDR能讓路由器的路由條目得到有效的減少,從而減少路由通告,降低路由器負擔,而VLSM則是充分利用IP進行地址分配來解決IP地址不被浪費的問題,節約IP地址空間,更為有效的使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM