有了這份子網劃分匯總,子網掩碼設計我全會了~
一、子網劃分
子網的劃分,實際上就是設計子網掩碼的過程。
子網掩碼主要是用來區分 IP 地址中的網絡 ID 和主機 ID,它用來屏蔽 IP 地址的一部分,從 IP 地址中分離出網絡 ID 和主機 ID.子網掩碼是由 4 個十進制數組成的數值中間用"."分隔,如 255.255.255.0。若將它寫成二進制的形式為:11111111.11111111.11111111.00000000,其中為"1"的位分離出網絡 ID,為"0"的位分離出主機 ID,也就是通過將 IP 地址與子網掩碼進行"與"邏輯操作,得出網絡號。
例如,假設 IP地址為 192.160.4.1,子網掩碼為 255.255.255.0,則網絡 ID 為 192.160.4.0,主機 ID為0.0.0.1。
計算機網絡ID的不同,則說明他們不在同一個物理子網內,需通過路由器轉發才能進行數據交換。
每類地址具有默認的子網掩碼:對于 A 類為 255.0.0.0,對于B類為 255.255.0.0,對于 C 類為 255.255.255.0。
除了使用上述的表示方法之外,還有使用子網掩碼中"1"的位數來表示的。
在默認情況下,A 類地址為 8 位,B 類地址為 16 位,C 類地址為24位。
例如,A類的某個地址為 12.10.10.3/8,這里的最后一個"8"說明該地址的子網掩碼為 8 位,而 199.42.26.0/28 表示網絡 199.42.26.0 的子網掩碼位數有 28 位。
如果希望在一個網絡中建立子網,就要在這個默認的子網掩碼中加入一些位,它減少了用于主機地址的位數。
加入到掩碼中的位數決定了可以配置的子網。
因而,在一個劃分了子網的網絡中,每個地址包含一個網絡地址、一個子網位數和一個主機地址。
二、地址分類
1. 有類地址劃分
- A 類 IP 段1.0.0.0 到 126.255.255.255 (0 段和 127 段不使用)
- B 類 IP 段128.0.0.0 到 191.255.255.255
- C 類 IP 段192.0.0.0 到 223.255.255.255
2. 私網地址劃分
現網中主要使用的私網地址:
- A 類:10.0.0.1--10.255.255.254
- B 類:172.16.0.0.1--172.31.255.254
- C 類:192.168.0.1--192.168.255.254
3. 同一網段
在這里,向大家說一下到底怎么樣才算同一網段。
要想在同一網段,必需做到網絡標識相同,那網絡標識怎么算呢?
各類 IP 的網絡標識算法都是不一樣的。
- A 類的,只算第一段。
- B 類, 只算第一、二段。
- C 類,算第一、二、三段。
算法只要把 IP 和子網掩碼的每位數 AND 就可以了。
AND 方法:0 和 1=0 和 0=0 和 1=1
如:And192.168.0.1,255.255.255.0,先轉換為二進制,然后AND 每一位 IP11000000.10101000.00000000.00000001
子網掩碼11111111.11111111.11111111.00000000
得出 AND 結果11000000.10101000.00000000.00000000
轉換為十進制 192.168.0.0,這就是網絡標識, 再將子網掩碼反取,也就是00000000.00000000.00000000.11111111,與 IPAND得出結果 00000000.00000000.00000000.00000001,轉換為 10 進 制,即 0.0.0.1,這 0.0.0.1 就是主機標識。要想在同一網段,必需做到網絡標識一樣。
我們再來看看這個改為默認子網掩碼的 B 類 IP
如 IP:188.188.0.111,188.188.5.222,子網掩碼都設為255.255.254.0,在同一網段嗎?先將這些轉換成二進制
- 188.188.0.11110111100.10111100.00000000.01101111
- 188.188.5.22210111100.10111100.00000101.11011110
- 255.255.254.011111111.11111111.11111110.00000000
分別 AND,得
- 10111100.10111100.00000000.00000000
- 10111100.10111100.00000100.00000000
網絡標識不一樣(看 255.255.254.0 轉換成二進制后 1 的數位, 所以可以看到不一樣),即不在同一網段。
判斷是不是在同一網段,你會了吧,下面,我們來點實際的。
一個公司有 530 臺電腦,組成一個對等局域網,子網掩碼和 IP 設 多少最合適?
子網掩碼不說了,前面算出結果來了11111111.11111111.11111100.00000000,也就是 255.255.252.0
4. B 類地址
選一個 B 類 IP 段,這里就選 188.188.x.x 吧。
這樣,IP 的前兩段確定的,關鍵是要確定第三段,只要網絡標識 相同就可以了。我們先來確定網絡號。(我們把子網掩碼中的 1 和 IP 中的?對就起來,0 和*對應起來,如下:)
- 255.255.252.011111111.11111111.11111100.00000000
- 188.188.x.x10111100.10111100.??????**.********
網絡標識10111100.10111100.??????00.00000000
由此可知,?處隨便填(只能用 0 和 1 填,不一定是 0 和 1), 我們就用全填 0 吧,*處隨便,這樣呢,我們的 IP 就是10111100.10111100.000000**.********,一共有 530 臺電腦,IP 的最后一段 1~254 可以分給 254 臺計算機, 530/254=2.086,采用 進 1 法,得整數 3,這樣,我們確定了 IP 的第三段要分成三個不同 的數字,也就是說,把 000000**中的**填三次數字,只能填 1 和 0, 而且每次的數字都不一樣,至于填什么,就隨我們便了,如 00000001,00000010,00000011,轉換成十進制,分別是 1,2,3,這樣,第三段也確定了,這樣,就可以把 IP 分成 188.188.1.y,188.188.2.y,188.188.3.y,y 處隨便填,只要在 1~254 范圍之內,并且這 530 臺 電腦每臺和每臺的 IP 不一樣,就可以了。
有人也許會說,既然算法這么麻煩,干脆用 A 類 IP 和 A 類默認子 網掩碼得了。
但我要告訴你的是,由于 A 類 IP 和 A 類默認子網掩碼的主機數目過大,這樣做無疑是大海撈針,如果同時局域網訪問量過頻 繁、過大,會影響效率的。
所以,最好設置符合自己的 IP 和子網掩碼^_^
三、子網匯總
子網劃分可以把 IP 地址進一步劃分為更小的網絡 。
想要把一個 IP 地址劃分成更小的網絡,就需要將主機位劃到網絡位也可以叫做借位或租位。
借用主機位的位數決定著將這個 IP 劃分成多少個子網, 剩余的主機位位數決定著劃分完后每個子網中的主機數(主機位全 "0"或全"1"都是不可用的,全"0"代表子網地址,全"1"代表廣播地址)
例如把 192.168.1.0/24 這個網段分成四個子網
計算方法是:
- 2 的 x 次方=子網數 (x 代表從主機位借到的位數)
- 2 的 y 次方-2 =可用主機數(y 代表剩余的主機位位數)
通過上面的公式可以得出:
- 子網數=2²=4
- 主機數=2ⁿ-2=62
計算出子網數與主機數后,想要確定每個子網的起始地址與結束地址,也就是子網地址和廣播地址.就非常簡單了,可以這樣做
前面已經算出每個子網的 IP 數為 64(注意是 IP 數,不是可用主機數)那么就可以確定相鄰的兩個子網的間隔是 64,初始的子網地址都是以"0"開始,那么下一個子網就是 0+64.依此類推, 就可以得到每個子網的起始地址了:
- 192.168.1.0/26
- 192.168.1.64/26
- 192.168.1.128/26
- 192.168.1.192/26
廣播地址是用:
- 子網地址+間隔-1=廣播地址
- 192.168.1.0~192.168.1.63(0+64-1)
- 192.168.1.64~192.168.1.127(64+64-1)
- 192.168.1.128~192.168.1.191(128+64-1)
- 192.168.1.192~192.168.1.255(192+64-1)
如何通過一個給定的地址算出其子網地址與廣播地址,可以這樣做, 假如給定的地址是 192.168.1.137/26,先把 IP 地址轉換為 2 進制形 式,掩碼為 26 位,就從左至右數 26 位,在第 26 位的后面劃條線區 分開,線之后的全為 0,即是子網地址,全為1就是廣播地址
子網匯總是將多個網段匯總成一個網段
例 如 要 把 172.16.1.0/24 、 172.16.4.0/24 、 172.16.5.0/24 、172.16.7.0/24、172.16.9.0/24、這五個網段匯總成一個,可以這樣 做:
從這些 IP 中挑出一個最大的和一個最小的,然后將兩個 IP 地址中不相同的兩組數轉化成 2 進制形式逐個進行比較,把相同的與不相同的 用豎線區分開
從不相同的比特位也就是豎線之后的所有比特位全部填充為 0,得到 的地址為匯總后的網段的網絡地址,即為 172.16.0.0。
在沒有匯總前,各 IP 的掩碼都是 24 位的,匯總之后的掩碼為20位,就是豎線之前的比特位就是掩碼的位數。