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