close

在介紹分級之前,先來瞭解 IPIPv4)總共有 32 位元(bits),為了方便判讀,我們將它每 8 個位元(bits)用一個 點 . 分隔,並且將二進轉換成十進位表示。

例如,常見的區域網路分享器預設 IP 位址 192.168.0.1 十進位是給人看的,電腦其實是辨認它的二進位 11000000.10101000.00000000.00000001 同理可推,全部的 IPIPv4)範圍會介於 0.0.0.0255.255.255.255 之間, 因為其二進位最小與最大值是 00000000.00000000.00000000.0000000011111111.11111111.11111111.11111111 有了這樣的觀念,接下來就可以進入主題了。

 


 

IP 等級(Class)

 

在一個組織內部,希望將網路分成內部網路與外部網路,員工可以從內部網路(同一網段)中存取公司的 FTP Server 來交換檔案,但同時在外部網路(不同網段)是沒辦法存取的,因為要避免資安問題,外部網路只能瀏覽公司的網頁, 以及公司對外 Server 上的檔案,這個觀念在很早以前就形成了,一直到 1990 那個年代中期為止,IP 都是以 Class AClass BClass CClass D 來做分級,所謂的分級,其實就是制定出一套規範,來表示這個 IP 前幾碼代表網路位址 ,後幾碼代表主機位址,如果今天 AB 有相同的網路位址,則可以說他們在相同的網段,屬於同個組織下的網路, 也就允許使用公司的 FTP Server

 


 

Class A

 

IP 等級(IP Class)與子網路遮罩(Subnet M

1bit 一定是 0,只要 IP 轉換成二進位是 0 開頭的,就可以認定它是屬於 Class A 級的 IP。前 8bits 決定了它的網路位址,剩下的 24bits 都是主機位址(藍色是網路位址,綠色是主機位址)。

Class A 級 IP 範圍:0.0.0.0 ~ 127.0.0.0(第 1bit 一定要是 0,所以前 8bits 最大到 01111111,也就是 127)。

例如,可以透過 IP 就猜到 13.0.0.113.250.249.248 是屬於同單位內的網段。(通常比較大型的組織或政府機構才有辦法拿到 Class A 級的 IP

 


 

Class B

 

IP 等級(IP Class)與子網路遮罩(Subnet M

2bit 一定是 10,只要 IP 轉換成二進位是 10 開頭的,就可以認定它是屬於 Class B 級的 IP。前 16bits 決定了它的網路位址,剩下的 16bits 都是主機位址 (藍色是網路位址,綠色是主機位址)。

Class B 級 IP 範圍:128.0.0.0 ~ 191.255.0.0(前 2bit 一定要是 10,所以前 16bits 最大到 10111111.11111111,也就是 191.255)。

例如,可以透過 IP 就猜到 140.112.0.1140.112.250.251 是屬於同單位內的網段。(140.112 開頭其實就是台大,不信你去台大連他們網路看看)。

 


 

Class C

 

IP 等級(IP Class)與子網路遮罩(Subnet M

3bit 一定是 110,只要 IP 轉換成二進位是 110 開頭的,就可以認定它是屬於 Class C 級的 IP。前 24bits 決定了它的網路位址,剩下的 8bits 都是主機位址 (藍色是網路位址,綠色是主機位址)。

Class C 級 IP 範圍:192.0.0.0 ~ 223.255.255.0(前 3bit 一定要是 110,所以前 16bits 最大到 11011111.11111111.11111111,也就是 223.255.255)。

例如,可以透過 IP 就猜到 192.83.167192.83.167.254 是屬於同單位內的網段。(192.83.167 開頭是台中教,可能是比較晚申請或規模沒有台大那樣大所以只有拿到 Class C 級的 IP 吧)。
 


 

Class D

 

IP 等級(IP Class)與子網路遮罩(Subnet M

Class D 級 IP 比較特別,是拿來做群播用途,前 4bits1110 開頭,它也沒有主機位址,因為群播就是對另一個網段的所有主機做廣播,所以用這個理由來解釋也很說得過去。

Class D 級 IP 範圍:224.0.0.0 ~ 239.255.255.25511101111.11111111.11111111.1111111 已經是 max 了,如果再加 1 開頭前 8bits 就會進位到 11110000)。

 


 

額外補充 Class E

 

其實還有 Class E 等級,IP 是以 1111 開頭,但沒有被定義用途,所以這邊也沒有東西可以討論。

 


 

無法分配 IP 的主機位址全為 0 或 1

 

在分配 IP主機位址時,無法將其全部設成 01(請注意下圖綠色部分主機位址的數值)。

例如 Class C192.168.1.0192.168.1.255

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

 

Class B140.112.0.0140.112.255.255

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

 

Class A10.0.0.0 10.255.255.255

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

 

這是因為 IPv4 將每個網段的最開頭及最尾端的位址保留起來了。

 

每個網段最開頭的 IP 位址(也就是主機位址全為 0 的那個)是給任意、未知或不確定 IP 位址使用的。

例如,開啟了一個 Port,但只想限定我目前所屬網段的電腦能存取,於是我限定的 IP 就可以設為 192.168.1.0,如此一來,只有目前所屬網段 192.168.1.X 的設備能連上此 Port

 

至於每個網段最尾端的 IP 位址(也就是主機位址全為 1 的那個)是將封包廣播給同網段內的所有設備用的。

例如,用 Wireshark 很常看到的 who has 封包,當某個裝置 ARP table 內沒有要發送的封包目的地 mac 位址。

IP 等級(IP Class)與子網路遮罩(Subnet M

就會發廣播封包詢問同個網段下的所有設備,有沒有人知道它的 mac 位址,請知道的人告訴某某這就是會把目的地 IP主機位址全設成 1 變成廣播封包的其中一種用途。

 


 

子網路遮罩(SubNetwork Mask)

 

隨著網路的普及,在 1990 年代後期逐漸發現用 Class AClass BClass CClass D 來將 IP 分級很沒有效率,例如獲得一個 Class AIP 的組織則有 16,777,2162^24)個主機位址可用,很明顯的,沒有一個組織會有多達 千 6 百萬個裝置,並且歸在同個網段下(即便是一家超巨型跨國企業,也不會希望台北分公司可以直接存取紐約總公司的資 料庫);然而,獲得一個 Class CIP 的組織卻只有 2552^8)個主機位址能用,因此,多數的企業或組織轉而申請 Class B 級的 IP,導致大量的 Class BIP 不敷使用,Class B 最多只能分配給 16,3842^6+8))個組織,將原本就很稀少(只有 2^7 個)的 Class AIP 分配出去會造成太多浪費沒使用的主機位址,治不了標也治不了不治本;最後,船到橋頭自然直,採用了子網路遮罩的概念,不再特別強調 Class A、Class B、Class C,而是所有的 IP 位址都可以使用子網路遮罩來分割出自己的網段。

 

子網路遮罩IPIPv4)位址類似,都是以 32bits 的二進位來運算,運算結果是由子網路遮罩內,被 1 遮到的地方當成網路位址;被 0 遮到的地方當成主機位址

例如,假如今天擁有 192.83.167.XClass C 級的 IP)的台中教,希望將 192.83.167.1192.83.167.254IP 數量切一半,將 192.83.167.1192.83.167.127 給電腦教室學生用,192.83.167.128192.83.167.254 給教授及行政用(可以存取學校的 Server,例如上傳成績等),就可以將子網路遮罩設成 255.255.255.128,二進位相當於

IP 等級(IP Class)與子網路遮罩(Subnet M

 

設為 125bits 決定網路位址,設為 0 的剩下 7 個 bits 決定主機位址,接下來,讓上面的 IP 經過子網路遮罩

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

IP 等級(IP Class)與子網路遮罩(Subnet M

(藍色是遮罩後的網路位址,綠色是遮罩後的主機位址),可以看到,192.83.167Class C 級網段又被我們再切成兩段了

最後 8bits 0127 為一個網段(_00000000_01111111

最後 8bits 128255 為另一個網段(_10000000_11111111

現在 Class C 級的 IP 有兩個網段了!

 

上面提到的無法分配 IP 的主機位址全為 01

除了原本的兩組 IP

192.83.167.0(最後 8bits00000000

192.83.167.255(最後 8bits11111111

 

現在又多了兩組 IP

192.83.167.127(最後 8bits01111111

192.83.167.128(最後 8bits10000000

 

這四組 IP 已經變成保留 IP 無法使用

192.83.167.0192.83.167.128(最後決定主機位址的 7bits0000000)代表自己所屬網段任意、未知或不確定 IP 所使用的位址。

192.83.167.127192.83.167.255(最後決定主機位址的 7bits1111111)代表自己所屬網段的廣播位 址。

 

不清楚的請參考上面無法分配 IP 的主機位址全為 01

 

 

 

arrow
arrow

    mitblog 發表在 痞客邦 留言(0) 人氣()