突然的發(fā)現(xiàn),有些項(xiàng)目的私有地址是192開(kāi)頭的,有些是172.開(kāi)頭的,也有的是10開(kāi)頭的,比較常見(jiàn)的就是192開(kāi)頭的ip地址了吧,然后偶爾能看到一些172開(kāi)頭的,10的就相對(duì)少了很多,那為啥呢,為什么就固定這幾種開(kāi)頭的ip地址啊。
當(dāng)然其他的數(shù)組開(kāi)頭完全可以,但之所以是10、172、16、192這些“奇怪”的數(shù)字,不是因?yàn)樗鼈兲厥猓且驗(yàn)樗鼈兪嵌M(jìn)制計(jì)算和歷史規(guī)則下的必然結(jié)果。 它們不是被“選中”的,而是被“計(jì)算”出來(lái)的。
核心原則:IP地址是32位的二進(jìn)制數(shù)
我們看到的 192.168.1.1 只是為了讓人類(lèi)容易閱讀的表示法。它的本質(zhì)是 11000000.10101000.00000001.00000001。所有規(guī)則都基于這些0和1的排列。
為什么“其他數(shù)字開(kāi)頭”不行?
因?yàn)榛ヂ?lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)在制定私有地址標(biāo)準(zhǔn)(RFC 1918)時(shí),必須遵循一個(gè)核心約束:私有地址范圍絕不能與任何已分配或?qū)?lái)可能分配的公網(wǎng)IP地址范圍重疊。
IPv4地址空間是根據(jù) “分類(lèi)尋址” 劃分的。下圖直觀地展示了A、B、C類(lèi)地址的二進(jìn)制結(jié)構(gòu),以及私有地址塊在其中所處的位置:
A類(lèi):第一位必須是 0
范圍:0.0.0.0 - 127.255.255.255
B類(lèi):前兩位必須是 10
范圍:128.0.0.0 - 191.255.255.255
C類(lèi):前三位必須是 110
范圍:192.0.0.0 - 223.255.255.255
因此,私有地址塊必須從這些類(lèi)別的剩余未分配空間中劃分出來(lái)。例如,11.x.x.x 雖然看起來(lái)“空閑”,但它是一個(gè)合法的A類(lèi)公網(wǎng)地址段,早已被分配給某個(gè)實(shí)體,絕不能用作私有地址。
逐類(lèi)分析:數(shù)字的由來(lái)
現(xiàn)在,我們來(lái)看看這些特定的數(shù)字是如何從二進(jìn)制中“誕生”的。
1. A類(lèi)私有地址:10.0.0.0/8
任務(wù):找一個(gè)完整的A類(lèi)網(wǎng)絡(luò)(固定前8位,后24位自由變化)。
規(guī)則:A類(lèi)地址的第一位必須是 0。
選擇:在眾多以 0 開(kāi)頭的8位組合中,00001010 是一個(gè)未被公網(wǎng)使用的塊。
轉(zhuǎn)換:00001010 的十進(jìn)制就是 10。
結(jié)論:所以得到了 10.0.0.0,掩碼為 255.0.0.0(即 /8)。后24位為主機(jī)位,提供了約1677萬(wàn)個(gè)地址。
2. B類(lèi)私有地址:172.16.0.0/12
任務(wù):找一個(gè)比A類(lèi)小、比C類(lèi)大的地址塊。設(shè)計(jì)者選擇了一個(gè) /12 的掩碼(固定前12位,后20位自由變化)。
規(guī)則:B類(lèi)地址的前兩位必須是 10。
計(jì)算:
前12位中,前8位(第一個(gè)字節(jié))必須符合B類(lèi)(前兩位是10)。我們?nèi)?10101100 (十進(jìn)制是 172)。
接下來(lái)的4位(第二個(gè)字節(jié)的前4位)被固定。我們?nèi)?0001。
所以固定的前12位是:10101100 0001。
第二個(gè)字節(jié)的后4位和整個(gè)后2個(gè)字節(jié)(共20位)是主機(jī)位,可以自由變化(從 0000 到 1111)。
范圍:第二個(gè)字節(jié)的前4位固定為 0001,后4位從 0000 到 1111 變化,這意味著第二個(gè)字節(jié)的完整范圍是 00010000 (16) 到 00011111 (31)。
轉(zhuǎn)換:所以這個(gè)地址塊的起點(diǎn)是第一個(gè)字節(jié) 172,第二個(gè)字節(jié) 16,即 172.16.0.0。終點(diǎn)是 172.31.255.255。
結(jié)論:這不是一個(gè)B類(lèi)網(wǎng)絡(luò)(/16),而是16個(gè)連續(xù)的B類(lèi)網(wǎng)絡(luò)(/12)。它提供了約104萬(wàn)個(gè)地址。
3. C類(lèi)私有地址:192.168.0.0/16
任務(wù):找一個(gè)用于小型網(wǎng)絡(luò)的地址塊。設(shè)計(jì)者選擇了一個(gè) /16 的掩碼(固定前16位,后16位自由變化)。
規(guī)則:C類(lèi)地址的前三位必須是 110。
計(jì)算:
前16位中,前8位(第一個(gè)字節(jié))必須符合C類(lèi)(前三位是110)。我們?nèi)?11000000 (十進(jìn)制是 192)。
接下來(lái)的8位(第二個(gè)字節(jié))被固定。我們?nèi)?10101000 (十進(jìn)制是 168)。
所以固定的前16位是:11000000 10101000。
后2個(gè)字節(jié)(16位)是主機(jī)位,可以自由變化。
范圍:這定義了從 192.168.0.0 到 192.168.255.255 的256個(gè)連續(xù)C類(lèi)網(wǎng)絡(luò)。
結(jié)論:每個(gè) /24 的網(wǎng)絡(luò)(如 192.168.1.0/24)有254個(gè)可用地址,非常適合家庭和小型企業(yè)。
總結(jié)
為什么是10、172、192這些數(shù)字?
二進(jìn)制必然性:它們是遵守A、B、C類(lèi)地址二進(jìn)制格式規(guī)則(0, 10, 110)的直接計(jì)算結(jié)果。
避免沖突:這些特定的二進(jìn)制組合在當(dāng)時(shí)的公網(wǎng)地址分配中是未被占用的“空閑地塊”,因此被劃為私有用途,確保了絕不會(huì)與公網(wǎng)IP沖突。
規(guī)??剂浚?8, /12, /16 的掩碼長(zhǎng)度選擇,恰到好處地提供了大、中、小三種規(guī)模的地址空間,以滿足不同規(guī)模網(wǎng)絡(luò)的需求。