IPv4的地址是32位,地址空間只有4,294,967,296(2的32次方)個地址,減去私有網段、網絡ID、廣播ID、保留網段、本地環回127.0.0.0網段、組播224.0.0.0網段,大概剩余25億左右。
IPv6的地址是128位,是IPv4地址長度的4倍,采用十六進制表示。
地址格式
IPv6地址長度為128位,由兩個邏輯部分組成:壹個64位的網絡前綴和壹個64位的主機地址。
首選格式:通常表示寫成8段,每段為四個十六進制數的形式,用[ :]作為分隔符。如:
fe80:0000:0000:0000:cd04:c16b:9adf:dfe7
前導零壓縮法:將每壹段的前導零省略,但是每壹段都至少應該有壹個數字。如
fe80:0:0:0:cd04:c16b:9adf:dfe7
雙冒號法:如果連續段位的值都是0,那麽這些0就可以簡單的以::來表示,每個地址中只能有壹個::。如
fe80::cd04:c16b:9adf:dfe7
十六進制數字不區分大小寫,但IETF建議使用小寫字母。
IPv6+端口號:把IPv6的地址用[]包起來,如:[fe80::cd04:c16b:9adf:dfe7]:45001
地址類型
RFC2373中定義了三種IPv6地址類型,單播地址、任播地址和組播地址。
單播地址(Unicast IPv6 Addresses)
壹個地址標識單個接口,發送給單播地址的分組將傳輸到該地址標識接口。
可聚合全球單播地址(Aggregatable Global Unicast Addresses):可在全球範圍內路由和到達的,相當於IPv4裏面的global addresses。前三個bit是001,如
2000::1:2345:6789:abcd
本地鏈路地址(Link-Local Addresses):用於同壹個鏈路上的相鄰節點之間通信,相當於IPv4裏面的169.254.0.0/16地址。Ipv6的路由器不會轉發鏈路本地地址的數據包。前10個bit是1111 1110 10,由於最後是64bit的interface ID,所以它的前綴總是FE80::/64。如
FE80::1
站點本地地址(Site-Local Addresses):對於無法訪問Internet的本地網絡,可以使用站點本地地址,這個相當於IPv4裏面的private address(10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16)。它的前10個bit是1111 1110 11,它最後是16bit的Subnet ID和64bit的interface ID,所以它的前綴是FEC0::/48。
唯壹的本地IPv6單播地址(ULA,Unique Local IPv6 Unicast Address):在RFC4193中標準化了壹種用來在本地通信中取代單播站點本地地址的地址。ULA擁有固定前綴FD00::/8,後面跟壹個被稱為全局ID的40bit隨機標識符。
未指定地址(Unspecified address):0:0:0:0:0:0:0:0 或者::
當壹個有效地址還不能確定,壹般用未指定地址作為源地址。未指定地址不能作為壹個目標地址來使用。
回環地址(Loopback address):
回環地址::1用於標識壹個回環接口,可以使壹個節點可以給自己發送數據包。相當於IPv4的回環地址127.0.0.1
兼容IPv4的地址(IPv4-compatible address):形如::w.x,y.z,這裏的w.x.y.z是IPv4公***地址的十進制點號表示法,用於IPv6/IPv4節點們(同時支持)在使用僅支持IPv4的網絡上用IPv6的協議進行通信。
IPv4映射地址(IPv4-mapped address):形如::FFFF:w.x.y.z,這裏的w.x.y.z是IPv4公***地址的十進制點號表示法,用於壹個僅支持IPv4的節點表現為壹個IPv6的節點
6over4地址:[64bit-prefix]:0:0:WWXX:YYZZ,其中的WWXX:YYZZ是w.x.y.z IPv4公***地址的十進制點號表示法,用於壹個使用6to4協議的隧道機制的節點。
6to4地址:2002:WWXX:YYZZ:[SLA ID]:[Interface ID],用於表示壹個使用6to4協議的隧道機制節點。
任播地址(AnycastAddress)
任意點傳送地址是壹組接口的地址,發送到壹個任意點傳送地址的信息包只會發送到這組接口中的壹個(根據路由協議對距離的測定,該接口距離發送點最近)。
組播地址(Multicast Address)
IPv6組播地址是由固定的8bit地址前綴FF00::/8,4bit的標誌位,4bit組播範圍和112bit多播組標識符(組ID)組成。
壹個多播地址標識位於不同設備上的壹組接口,發送給多播地址的分組將傳輸到該地址標識的所有接口,多播地址不會作為源地址出現。
FF01::到FF0F::的多播地址是保留專用地址;FF01::1 節點本地範圍所有節點多播地址;FF02::1 鏈路本地範圍所有節點多播地址;FF01::2 節點本地範圍所有路由器多播地址;FF02::2 鏈路本地範圍所有路由器多播地址;FF05::2 站點本地範圍所有路由器多播地址;