1. 程式人生 > >關於IPv6你需要知道的10件事

關於IPv6你需要知道的10件事

在過去的幾年裡,IPv6已經逐漸慢慢地成為主流,但許多IT專業人士在面臨IPv6時還手足無措,的確,IPv6和IPv4存在很大的不同,本文為此而寫,希望能幫助你消除IPv6恐懼症。

1、IPv6地址是128位十六進位制數

IPv4地址是有4個數字位組(總共32位)組成的,IPv6地址的長度時128位,而且是由16進位制字元組成的。在IPv4中,每個位組由0-255的十進位制數字組成,位組之間由英文的句號隔開,IPv6地址由8個為組組成,每個位組由4個字元的16進位制數字組成。

2、很容易識別鏈路本地單播地址

IPv6為不同的地址型別保留了特殊的地址頭,最明顯的一個例子就是鏈路本地單播地址都是以PE80開頭的,多播地址都是以FF0x開頭,這裡的x是一個佔位符,可以用數字1-8替換它。

3、支援地址縮寫

因為IPv6的地址比較長,往往會包含很多0,如果某個位組的字元全部是0,則這些0可以縮寫為一個0,例如,下面的地址:

FE80:CD00:0000:0CDE:1257:0000:211E:729C

可以縮寫為

FE80:CD00:0:CDE:1257:0:211E:729C

4、可省略連續的0

如果連續多個位組的字元全部是0,則可以省略掉所有得0,例如,下面的地址:

FE80:CD00:0000:0000:0000:0000:211E:729C

除了可以按第3條介紹的方法縮寫外,還可以直接省略掉連續的0,用兩個英文冒號代替,作業系統看到這樣的IPv6地址後,自然會知道它們之間的字元全是0。因此上面的地址可以簡寫為

FE80:CD00::211E:729C

5、IPv6的環回地址

在IPv4中,我們知道環回地址是指向本機的一個特殊地址,即我們熟悉的127.0.0.1,IPv6也不例外,同樣設計了環回地址,如下:

0000:0000:0000:0000:0000:0000:0000:0001

參考第4條的省略寫法,IPv6的環回地址就成了

::1

這看上去是不是不像是一個有效的IP地址啊。

6、不需要傳統的子網掩碼

在IPv4中,每個IP地址必須要搭配一個子網掩碼才能使用,IPv6也使用了子網的概念,但子網ID是直接嵌入到地址中的。在IPv6中,前48 位表示網路字首,緊接著的16位是子網ID,最後64位才是介面標識,即介面ID或裝置ID。如果需要的話,預留給裝置ID的位可以借用來表示額外的子網 掩碼,但通常是不需要的,因為16位子網和64位裝置ID可以提供多達65536個子網。

7、IPv6仍然需要DNS

在IPv4中,主機記錄(即A記錄)將IP地址對映到主機名,IPv6仍然要使用DNS技術,但IPv6不再使用主機記錄,相反,IPv6使用AAAA資源記錄,ip6.arpa用於反向主機名的解析。

8、可以跨IPv4網路實現IPv6隧道通訊

導致IPv6遲遲得不到有效推進的一個原因就是和IPv4不完全相容,因此出現了在IPv4網路上走IPv6通訊的隧道技術,一個是Teredo, 另一個是6to4,雖然它們的工作方法有點不一樣,但基本思想都是將IPv6資料包封裝成IPv4資料包進行傳輸,但通訊的兩端都需要具有封包和解包的能 力。

9、你可能已經在使用IPv6了

從Windows Vista開始,微軟預設就安裝了IPv6驅動,並預設啟用了IPv6協議,因為這一切都是自動配置的,你可能還不知情,但只有作業系統支援IPv6還不 夠,所有交換機和路由器都必須支援,此外,還有一些設計得很差的應用程式將IPv4地址硬編碼到程式中了,它們都是阻礙IPv6普及的絆腳石。

10、Windows並沒有完整支援IPv6

雖然微軟在支援IPv6上表現得很積極,但Windows卻並沒有完整地支援IPv6,例如,在Windows中,我們以往可以使用UNC(通用命 名約定)訪問網路共享資料夾(如//127.0.0.1/C$),但現在卻不能使用IPv6這樣做,因為Windows看到IPv6地址中的冒號時,它會 把它當做驅動器碟符對待。

為了解決這個問題,微軟為IPv6地址轉換建立了一個特殊的域,如果你在UNC路徑中使用IPv6地址,你必須使用破折號代替冒號,並在地址的末尾 加上.ipv6.literal.net字尾,例如FE80-AB00–200D-617B.ipv6.literal.net。