其實對于IPv6的基礎知識在網(wǎng)上都能查到,而且會說得非常詳細,但每個人對IPv6的描述都不一樣,因此這里以筆者理解的角度來說明IPv6,同時為了讓兩者比較更加直觀,在這里采用最大的IPv4和最大的IPv6地址做范例,這樣看起來也更加飽滿,如圖1所示。
從以上可以看到IPv4是1組32位的二進制地址,但是我們知道記一串32位1和0不斷變化的數(shù)字是多么恐怖,而且識別率也非常的低,比如:10111111和11011111,如果就這么掃一眼你可能還真沒看出是兩個不同的數(shù)字。因此為了方便記憶或為了提高識別率,當時的設計者將32位2進制分成4組,每組轉換位10進制來記憶,這樣我們只需要記憶4個常規(guī)數(shù)字,比如:192.168.100.2,這樣是不是識別度非常高了?并且也方便記憶。
可到IPv6,一下變成128位,這樣就有128個1和0變化排成1行,如果用二進制寫法去寫,估計都要寫幾分鐘,而這幾分鐘里只怕90%的時間是花在了校對是否寫錯上。所以設計者們再次變通,以4位為一個極小的小組為單位轉換為標準16進制,然后還是以4個為基礎用冒號“:”作為分隔符,于是就將128位二進制轉為32個16進制。最后一總結,雖然4這個數(shù)字在生活中不怎么吉利,但是4在網(wǎng)絡里卻占據(jù)著非常重要的位置。那么筆者就來總結下:
1.IPv6的二進制長度是IPv4的4倍。
2.IPv6二進制轉16進制是正好也是4位二進制。
3.IPv6的十六進制又以4位為一組,組合成全長32位16進制。
所以一直用IPv4的朋友要轉變?yōu)橛肐Pv6的時候,就記住4這個數(shù)字,因為什么都和4有關。
可能有人覺得32位16進制同樣難以記憶,因此通過一些手段還可以進一步的相對減少一些記憶,下面我們繼續(xù)。如下IPv6地址:
2019:0000:0000:0000:0 000:0000:0000:0001
我們可以進行簡化,我們規(guī)定當有連續(xù)0的時候,前面的0統(tǒng)統(tǒng)合并或丟棄,就好比我們學數(shù)學里0010,前2個0不需要寫出來,那4個0自然就合并成1個0,通過簡化就成了:
圖1 最大的IPv4和最大的IPv6地址舉例
2019:0:0:0:0:0:0:1
0是不是還是太多了?不要緊,我們還能繼續(xù)合并:
2019:::::::1
丟掉沒用的0后僅剩下冒號可讀性仍然很差,因此將冒號也進行合并,于是經過系列確認后最終變成如下:
2019::1
這表示的方法比IPv4還短了,因此正式規(guī)定也就出來了,當有連續(xù)丟棄的0的時候,0和冒號都可以省略,改用雙冒號表示,但這樣的省略在1個IPv6地址里只允許出現(xiàn)1次!
因此在IPv6的世界里,你能經??吹饺缦碌男螒B(tài):
2019:abc::ab01
fec0:15ae::1:15
3個十六進制數(shù)一組的那是因為前面的一個0省略了,1個十六進制數(shù)獨占一組的是因為前面的3個0省略了,而雙冒號就是那一串全省略了。
以上就是用最精簡的方式給大家把IPv6的格式進行了一番介紹。