IP地址有三種類型:單播、組播和任意點播。廣播地址已不再有效。RFC2373中定義了三種IPv6地址類型:
單播:一個單接口的標識符。
送往一個單播地址的包將被傳送至該地址標識的接口上。
泛播:一組接口(一般屬于不同節(jié)點)的標識符。送往一個泛播地址的包將被傳送至該地址標識的接口之一(根據選路協(xié)議對于距離的計算方法選擇“最近”的一個)。
組播:一組接口(一般屬于不同節(jié)點)的標識符。送往一個組播地址的包將被傳送至有該地址標識的所有接口上。
這三種地址類型將在下面進行更詳細的論述。
6.2.1廣播路在何方
廣播地址從一開始就為IPv4網絡帶來了問題。廣播被用來攜帶去向多個節(jié)點的信息或被那些不知信息來自何方的節(jié)點用來發(fā)出請求。但是,廣播可能將為網絡性能設置障礙。同一網絡鏈路上的大量廣播意味著該鏈路上的所有每個節(jié)點都必須處理所有廣播,其中絕大部分節(jié)點最終都將忽略該廣播,因為該信息與自己無關。把廣播在子網之間進行轉發(fā)將導致更多的問題,因為路由器上將充斥著這種業(yè)務流。
IPv6對此的解決辦法是使用一個“所有節(jié)點”組播地址來替代那些必須使用廣播的情況,同時,對那些原來使用了廣播地址的場合,則使用一些更加有限的組播地址。通過這種方法,對于原來由廣播攜帶的業(yè)務流感興趣的節(jié)點可以加入一個組播地址,而其他對該信息不感興趣的節(jié)點則可以忽略發(fā)往該地址的包。廣播從來不能解決信息穿越Internet的問題,如選路信息,而組播則提供了一個更加可行的方法。
6.2.2單播
單播地址標識了一個單獨的IPv6接口。一個節(jié)點可以具有多個IPv6網絡接口。每個接口必須具有一個與之相關的單播地址。單播地址可被認為包含了一段信息,這段信息被包含在128位字段中:該地址可以完整地定義一個特定的接口。此外,地址中數(shù)據可以被解釋為多個小段的信息。但無論如何,當所有的信息被放在一起后,將構成標識一個節(jié)點接口的128位地址。
IPv6地址本身可以為節(jié)點提供關于其結構的或多或少的信息,這主要根據是由誰來觀察這個地址以及觀察什么。例如,節(jié)點可能只需簡單地了解整個128位地址是一個全球唯一的標識符,而無須了解節(jié)點在網絡中是否存在。另一方面,路由器可以通過該地址來決定,地址中的一部分標識了一個特定網絡或子網上的一個唯一節(jié)點。
例如,一個IPv6單播地址可看成是一個兩字段實體,其中一個字段用來標識網絡,而另一個字段則用來標識該網絡上節(jié)點的接口。在后面討論特定的單播地址類型時還會看到,網絡標識符可被劃分為幾部分,分別標識不同的網絡部分。IPv6單播地址功能與IPv4地址一樣受制于CIDR,即,在一個特定邊界上將地址分為兩部分。地址的高位部分包含選路用的前綴,而地址的低位部分包含網絡接口標識符。
最簡單的方法是把IPv6地址作為不加區(qū)分的一塊128位的數(shù)據,而從格式化的觀點來看,可把它分為兩段,即接口標識符和子網前綴。RFC2373中表示的格式見圖6-2。接口標識符的長度取決于子網前綴的長度。兩者的長度是可以變化的,這取決于誰對它進行解釋。對于非?拷鼘ぶ返墓(jié)點接口(遠離骨干網)的路由器可用相對較少的位數(shù)來標識接口。而離骨干網近的路由器,只需用少量地址位來指定子網前綴,這樣,地址的大部分將用來標識接口標識符。下面要討論的是可集聚的單播地址,它的結構更為復雜。
IPv6單播地址包括下面幾種類型:
可集聚全球地址。
未指定地址或全0地址。
回返地址。
嵌有IPv4地址的IPv6地址。
基于供應商和基于地理位置的供應商地址。
OSI網絡服務訪問點(NSAP)地址。
網絡互聯(lián)包交換(IPX)地址。
6.2.3單播地址格式
RFC1884給出了幾種通用的不同類型的IPv6地址。給NSAP和IPX分配的地址、基于OSI網絡和NetWare地址都無縫地包含在IPv6體系結構中。分別占八分之一的地址空間的基于供應商和基于地理位置分配的地址組成了一批可分配的地址。鏈路本地和站點本地地址提供了10型網絡地址轉換的網絡統(tǒng)一不變的版本。
然而,RFC2373改變和簡化了IPv6的地址分配。其中之一是取消了基于地理位置的地址分配,基于供應商的單播地址改變成可集聚全球單播地址。從名字的改變上就可看出,對于基于供應商的地址,允許前面定義的集聚以及基于交換局的新型集聚。這也反映了一種更平衡的地址分類。NSAP和IPX地址空間仍然保留著,且八分之一的地址分配給可集聚地址。另外,除了組播地址和某類保留地址外,IPv6地址空間的其余部分都是未分配的地址,為將來的發(fā)展預留了足夠的空間。
1.接口標識符
在IPv6尋址體系結構中,任何IPv6單播地址都需要一個接口標識符。接口標識符非常像48位的介質訪問控制(MAC)地址,MAC地址由硬件編碼在網絡接口卡中,由廠商燒入網卡中,而且地址具有全球唯一性,不會有兩個網卡具有相同的MAC地址。這些地址能用來唯一標識網絡鏈路層上的接口。
IPv6主機地址的接口標識符基于IEEEEUI-64格式。該格式基于已存在的MAC地址來創(chuàng)建64位接口標識符,這樣的標識符在本地和全球范圍是唯一的。RFC 2373包括的附錄解釋了如何創(chuàng)建接口標識符。有關IEEE EUI-64標準更多的信息,請訪問IEEE標準網點:http://stand-ards.ieee.org/db/oui/tutorials/EUI64.html。
這些64位接口標識符能在全球范圍內逐個編址,并唯一地標識每個網絡接口。這意味著理論上可多達264個不同的物理接口,大約有1.8×1019個不同的地址,而且這也只用了IPv6地址空間的一半。這至少在可預見的未來是足夠的。
2.可集聚全球單播地址
本章已經提到了基于供應商的集聚,它的概念還會在第8章中再次提到?杉廴騿尾サ刂肥橇硪环N類型的集聚,它是獨立于ISP的;诠⿷痰目杉鄣刂繁仨氹S著供應商的改變而改變,而基于交換局的地址則由IPv6交換實體直接定位。由交換局提供地址塊,而用戶和供應商為網絡接入簽訂合同。這樣的網絡接入或者是直接由供應商提供,或者通過交換局間接提供,但選路通過交換局。這就使得用戶改換供應商時,無需重新編址。同時也允許用戶使用多個ISP來處理單塊網絡地址。
可集聚全球單播地址包括地址格式的起始3位為001的所有地址(此格式可在將來用于當前尚未分配的其他單播前綴)。地址格式化為圖6- 3所示的字段。
圖中包括下列字段:
FP字段:IPv6地址中的格式前綴,3位長,用來標識該地址在IPv6地址空間中屬于哪類地址。目前該字段為“0 0 1”,標識這是可集聚全球單播地址。
TLAID字段:頂級集聚標識符,包含最高級地址選路信息。這指的是網絡互連中最大的選路信息。目前,該字段為13位,可得到最大819 2個不同的頂級路由。
RES字段:該字段為8位,保留為將來用。最終可能會用于擴展頂級或下一級集聚標識符字段。
NLAID字段:下一級集聚標識符,24位長。該標識符被一些機構用于控制頂級集聚以安排地址空間。換句話說,這些機構(可能包括大型ISP和其他提供公網接入的機構)能按照他們自己的尋址分級結構來將此2 4位字段切開用。這樣,一個實體可以用2位分割成4個實體內部的頂級路由,其余的2 2位地址空間分配給其他實體(如規(guī)模較小的本地ISP )。這些實體如果得到足夠的地址空間,可將分配給它們的空間用同樣的方法再子分。
SLAID字段:站點級集聚標識符,被一些機構用來安排內部的網絡結構。每個機構可以用與IPv4同樣的方法來創(chuàng)建自己內部的分級網絡結構。若16位字段全部用作平面地址空間,則最多可有65535個不同子網。如果用前8位作該組織內較高級的選路,那么允許2 5 5個高級子網,每個高級子網可有多達2 5 5個子子網。
接口標識符字段:64位長,包含IEEEEUI-64接口標識符的64位值。
現(xiàn)在很清楚,IPv6單播地址能包括大量的組合,甚至超過了將來RFC可能會指定的顯式字段。不論是站點級集聚標識符,還是下一級集聚標識符都提供了大量空間,以便某些網絡接入供應商和機構通過分級結構再子分這兩個字段來增加附加的拓撲結構。
3.特殊地址和保留地址
在第一個1/256IPv6地址空間中,所有地址的第一個8位:00000000被保留。大部分空的地址空間用作特殊地址,這些特殊地址包括:
未指定地址:這是一個“全0”地址,當沒有有效地址時,可采用該地址。例如當一個主機從網絡第一次啟動時,它尚未得到一個IPv6地址,就可以用這個地址,即當發(fā)出配置信息請求時,在IPv6包的源地址中填入該地址。該地址可表示為0:0: 0 : 0 : 0 : 0 : 0 : 0,如前所述,也可寫成: :。
來源:ZDNet