linux網絡基礎---子網掩碼和子網划分


子網掩碼

子網掩碼(subnet mask)又叫網絡掩碼、地址掩碼、子網絡遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。

例:我們常用的內網IP地址:192.168.0.100,默認子網掩碼:255.255.255.0,指明前3個字節是網絡位,第4個字節是主機位。兩者可以寫成:192.168.0.100/24 (前3個字節,每個字節是8位)

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

為什么要使用子網掩碼?

兩台主機通信,要先判斷是否處於同一網段,如果相同,那么可以把數據包直接發送到目標主機,否則就需要路由網關將數據包轉發送到目的地。

A主機要與B主機通信,A和B各自的IP地址與A主機的子網掩碼進行And與運算,看得出的結果:

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

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

子網掩碼和IP地址的邏輯與運算

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

IP地址:192.168.1.120

子網掩碼:255.255.255.0

11000000  10101000  00000001  01111000

11111111    11111111    11111111   00000000

———————————————————

11000000  10101000  00000001 00000000

即計算出來的網段是192.168.1.0

為什么要划分子網?

比如我們使用192.168.0的網段,該網段最大能容納253個主機(主機ID位0特指這個網段,主機ID位1指廣播地址即該網段所有主機,還有一個網關地址如192.168.0.254,所以256-3=253),而我們只有50台主機,如果不划分子網的話,就會造成地址浪費,降低性能。子網划分的好處:

1.避免地址產生浪費

2.降低廣播風暴問題

3.降低網絡擁塞,減輕路由器的壓力。

子網划分的計算方法

原理:借位計算。

①將一個大的子網拆分成多個小的子網

②借用主機位,變為網絡位

③調整划分的網絡子網掩碼

④獲得每個子網的主機范圍

/24 代表255.255.255.0

/25 代表255.255.255.128

解釋:向主機ID借一位,255.255.255.0000 0000 ===》255.255.255.1000 0000

依次類推:

/26 代表255.255.255.192,255.255.255.0000 0000 ===》255.255.255.1100 0000 借兩位

/27 代表255.255.255.224,255.255.255.0000 0000 ===》255.255.255.1110 0000 借三位

/28 代表255.255.255.240

/29 代表255.255.255.248

/30 代表255.255.255.252

/31 代表255.255.255.254

/32 代表255.255.255.255

選定的子網掩碼會創建幾個子網?

2^x個,x為子網掩碼借用的主機位數。

每個子網能包含幾台主機?

2^y-2個,y為剩余的主機位數,-2是將主機位全為0或1的兩個去掉。

計算子網的步長(增量)

如 /26 是255.255.255.192,子網的步長即為256-192=64

實例1:

將192.168.0.*的網段划分為4個子網

因為4=2^2,所以要向主機ID借2位,也就是/26

子網的步長=256-192=64,所以合法的子網為0  64  128  192

實例2:

公司有5個部門,分別有5、10、12、20、50台電腦,使用10.10.1.*/24網段,請划分子網。

設部門為ABCDE,各部門分配子網能包含的主機數(暫不減2):

A:5+2=7<8 = 2^3  需要借8-3=5位,即/29

B:10+2=12<16 = 2^4  需要借8-4=4位,即/28

C:12+2=14<16 = 2^4  需要借8-4=4位,即/28

D:20+2=22<32 = 2^5  需要借8-5=3位,即/27

E:50+2=22<64 = 2^6  需要借8-6=2位,即/26

解析:

A部門的廣播地址10.10.1.7===>10.10.1.0000 0111,因為主機ID的前5位被借去做網絡ID了,所以其主機ID即為111,當主機位全為1時,是該網段的廣播地址,所以10.10.1.7為廣播地址。

 


免責聲明!

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



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