轉(zhuǎn)載請注明以下內(nèi)容:
來源:公眾號【網(wǎng)絡(luò)技術(shù)干貨圈】
作者:圈圈
ID:wljsghq
一、IPv6簡介
IPv6(Internet Protocol Version 6)是網(wǎng)絡(luò)層協(xié)議的第二代標準協(xié)議,也被稱為IPng(IP Next Generation)。它是Internet工程任務(wù)組IETF(Internet Engineering Task Force)設(shè)計的一套規(guī)范,是IPv4(Internet Protocol Version 4)的升級版本。
二、IPV4和IPV6對比
針對問題 | IPv4的缺陷 | IPv6的改進 |
---|---|---|
地址空間不足 | Pv4地址采用32比特標識,理論上能夠提供的地址數(shù)量是43億(由于地址分配的原因,實際可使用的數(shù)量不到43億)。另外,IPv4地址的分配也很不均衡:美國占全球地址空間的一半左右,而歐洲則相對匱乏;亞太地區(qū)則更加匱乏。與此同時,移動IP和寬帶技術(shù)的發(fā)展需要更多的IP地址。目前IPv4地址已經(jīng)消耗殆盡。針對IPv4的地址短缺問題,也曾先后出現(xiàn)過幾種解決方案。比較有代表性的是無類別域間路由CIDR(Classless Inter-Domain Routing)和網(wǎng)絡(luò)地址轉(zhuǎn)換NAT(Network Address Translator)。但是CIDR和NAT都有各自的弊端和不能解決的問題,由此推動了IPv6的發(fā)展。 | IPv6地址采用128比特標識。128位的地址結(jié)構(gòu)使IPv6理論上可以擁有(43億×43億×43億×43億)個地址。近乎無限的地址空間是IPv6的最大優(yōu)勢。 |
報文格式不合理 | IPv4報頭包含可選字段Options,內(nèi)容涉及Security、Timestamp、Record route等,這些Options可以將IPv4報頭長度從20字節(jié)擴充到60字節(jié)。攜帶這些Options的IPv4報文在轉(zhuǎn)發(fā)過程中往往需要中間路由轉(zhuǎn)發(fā)設(shè)備進行軟件處理,對于性能是個很大的消耗,因此實際中也很少使用。 | IPv6和IPv4相比,去除了IHL、Identifier、Flag、Fragment Offset、Header Checksum、 Option、Padding域,只增加了流標簽域,因此IPv6報文頭的處理較IPv4更為簡化,提高了處理效率。另外,IPv6為了更好支持各種選項處理,提出了擴展頭的概念,新增選項時不必修改現(xiàn)有結(jié)構(gòu),理論上可以無限擴展,體現(xiàn)了優(yōu)異的靈活性。 |
自動配置和重新編址 | 由于IPv4地址只有32比特,并且地址分配不均衡,導(dǎo)致在網(wǎng)絡(luò)擴容或重新部署時,經(jīng)常需要重新分配IP地址,因此需要能夠進行自動配置和重新編址,以減少維護工作量。目前IPv4的自動配置和重新編址機制主要依靠DHCP協(xié)議。 | IPv6協(xié)議內(nèi)置支持通過地址自動配置方式使主機自動發(fā)現(xiàn)網(wǎng)絡(luò)并獲取IPv6地址,大大提高了內(nèi)部網(wǎng)絡(luò)的可管理性。 |
路由聚合 | 由于IPv4發(fā)展初期的分配規(guī)劃問題,造成許多IPv4地址分配不連續(xù),不能有效聚合路由。日益龐大的路由表耗用大量內(nèi)存,對設(shè)備成本和轉(zhuǎn)發(fā)效率產(chǎn)生影響,這一問題促使設(shè)備制造商不斷升級其產(chǎn)品,以提高路由尋址和轉(zhuǎn)發(fā)性能。 | 巨大的地址空間使得IPv6可以方便的進行層次化網(wǎng)絡(luò)部署。層次化的網(wǎng)絡(luò)結(jié)構(gòu)可以方便的進行路由聚合,提高了路由轉(zhuǎn)發(fā)效率。 |
對端到端的安全的支持 | IPv4協(xié)議制定時并沒有仔細針對安全性進行設(shè)計,因此固有的框架結(jié)構(gòu)并不能支持端到端的安全。 | IPv6中,網(wǎng)絡(luò)層支持IPSec的認證和加密,支持端到端的安全。 |
對QoS(Quality of Service)的支持 | 隨著網(wǎng)絡(luò)會議、網(wǎng)絡(luò)電話、網(wǎng)絡(luò)電視迅速普及與使用,客戶要求有更好的QoS來保障這些音視頻實時轉(zhuǎn)發(fā)。IPv4并沒有專門的手段對QoS進行支持。 | IPv6新增了流標記域,提供QoS保證。 |
對移動特性的支持 | 隨著Internet的發(fā)展,移動IPv4出現(xiàn)了一些問題,比如:三角路由,源地址過濾等。 | IPv6協(xié)議規(guī)定必須支持移動特性。和移動IPv4相比,移動IPv6使用鄰居發(fā)現(xiàn)功能可直接實現(xiàn)外地網(wǎng)絡(luò)的發(fā)現(xiàn)并得到轉(zhuǎn)交地址,而不必使用外地代理。同時,利用路由擴展頭和目的地址擴展頭移動節(jié)點和對等節(jié)點之間可以直接通信,解決了移動IPv4的三角路由、源地址過濾問題,移動通信處理效率更高且對應(yīng)用層透明。 |
PS:三角路由、源地址過濾問題、CIDR和NAT將在其他博文中給出。
三、IPV6基本報文結(jié)構(gòu)
版本號Version:長度為4bit。對于IPv6,該值為6。
流類別Traffic Class:長度為8bit用來標識對應(yīng)IPv6的通信流類別,或者說是優(yōu)先級別,主要應(yīng)用于QoS。類似于IPv4中的ToS(服務(wù)類型)字段。
流標簽Flow Label:長度為20bit。流標簽字段時IPv6數(shù)據(jù)報中新增的一個字段,占20位,可用來標記報文的數(shù)據(jù)流類型,以便在網(wǎng)絡(luò)層區(qū)分不同的報文。流標簽字段有源節(jié)點分配,通過流標簽、源地址、目的地址三元組方式就可以唯一標識一條通信流,而不用像IPv4那樣需要使用五元組方式(源地址、目的地址、源端口、目的端口和傳輸層協(xié)議號)。這樣發(fā)動的最大好處有兩點:一是流標簽可以和任意的流關(guān)聯(lián),需要標識不同類型的流(可以是非五元組)時,無需對流標簽做改動;二是流標簽在IPv6基本頭中,使用IPSec時此域?qū)D(zhuǎn)發(fā)路由器可見,因此轉(zhuǎn)發(fā)路由器可以在使用IPv6報文IPSec的情況下仍然可以通過三元組(流標簽、源地址、目的地址)針對特定的流進行QoS(質(zhì)量服務(wù))處理。
凈荷載長度Payload Length:長度為16bit。有效載荷是指緊跟IPv6報頭的數(shù)據(jù)報的其它部分(即擴展報頭和上層協(xié)議數(shù)據(jù)單元)。該字段只能表示最大長度為65535字節(jié)的有效載荷。如果有效載荷的長度超過這個值,該字段會置0,而有效載荷的長度用逐跳選項擴展報頭中的超大有效載荷選項來表示(該字段表述數(shù)值為數(shù)據(jù)報長度減40)。
下一個ipv6首部Next Header:長度為8bit,下一個頭部字段用來標識當(dāng)前報頭(或者擴展報頭)的下一個頭部類型。每種擴展報頭都有其對應(yīng)的值。下一個頭部字段內(nèi)定義的擴展報頭類型與IPv4中的協(xié)議字段值類似,但在IPv6數(shù)據(jù)報中,緊接著IPv6報頭的可能不是上層協(xié)議頭部(當(dāng)沒有擴展報頭或者為最后一個擴展報頭時才是上層協(xié)議頭),而是IPv6擴展報頭。這一機制下處理擴展報頭更高效,因為標識了數(shù)據(jù)報中對應(yīng)的上層協(xié)議或者擴展報頭類型,轉(zhuǎn)發(fā)路由器只需處理必須處理的擴展報頭,提高了轉(zhuǎn)發(fā)效率。
跳數(shù)限制Hop Limit:長度為8bit。該字段類似于IPv4中的TTL字段,它定義了IP數(shù)據(jù)報所能經(jīng)過的最大跳數(shù)。每經(jīng)過一個設(shè)備,該數(shù)值減去1,當(dāng)該字段的值為0時,數(shù)據(jù)報將被丟棄。
源IP地址Source Address:長度為128bit。表示發(fā)送節(jié)點的IPV6地址。
目的IP地址Destination Address:長度為128bit。表示接收節(jié)點的IPV6地址。
PS:節(jié)點是主機和路由器的統(tǒng)稱。
四、IPV6擴展報頭結(jié)構(gòu)
IPv6擴展報頭中主要字段解釋如下:
Next Header:下一個報頭,長度為8bit。與基本報頭的Next Header的作用相同。指明下一個擴展報頭(如果存在)或上層協(xié)議的類型。
Extension Header Len:報頭擴展長度,長度為8bit。表示擴展報頭的長度(不包含Next Header字段)。
Extension Head Data:擴展報頭數(shù)據(jù),長度可變。擴展報頭的內(nèi)容,為一系列選項字段和填充字段的組合。
在各字段介紹中我們講到了,IPv6報文中可以攜帶可選的IPv6擴展報頭。IPv6擴展報頭是跟在IPv6基本報頭后面的可選報頭。由于在IPv4的報頭中包含了幾乎所有的可選項,因此每個中間路由器都必須檢查這些選項是否存在。在IPv6中,這些相關(guān)選項被統(tǒng)一移到了擴展報頭中,這樣中間路由器不必處理每一個可能出現(xiàn)的選項(僅有**“逐跳選項”報頭是必須要處理**的),提高了處理器處理數(shù)據(jù)報文的速度,也提高了其轉(zhuǎn)發(fā)的性能。
IPv6擴展報頭附加在IPv6報頭目的IP地址字段后面,可以有0個,或者多個擴展報頭。主要的IPv6擴展報頭有一下幾類:
目前,RFC 2460中定義了6個IPv6擴展頭:逐跳選項報頭(0)、目的選項報頭(60)、路由報頭(43)、分段報頭(44)、認證報頭(51)、封裝安全凈載報頭(50)。
逐跳選項頭(Hop-by-hop Options Header)
本擴展報頭類型值為0(在IPv6報頭下一個頭部字段中定義,下同)。此擴展報頭須被轉(zhuǎn)發(fā)路徑所有節(jié)點處理。目前在路由告警,資源預(yù)留(RSVP)和與Jumbo幀(Jumbo幀是長度超過65535字節(jié)的報文,傳輸這種報文需要轉(zhuǎn)發(fā)路徑中所有結(jié)點都能正常處理)處理中使用了逐跳選項頭,因為路由告警需要通知到轉(zhuǎn)發(fā)路徑中所有結(jié)點。
目的選項頭(Destination Options Header)
本擴展報頭類型值為60。只可能出現(xiàn)在兩個位置:
主要在移動IPv6中使用目的選項頭,稱為家鄉(xiāng)地址選項。家鄉(xiāng)地址選項由目的選項頭攜帶,用以移動結(jié)點離開“家鄉(xiāng)”后通知接受節(jié)點此移動結(jié)點對應(yīng)的家鄉(xiāng)地址。接受節(jié)點收到帶有家鄉(xiāng)地址選項的報文后,會把家鄉(xiāng)地址選項中的源地址(移動節(jié)點的家鄉(xiāng)地址)和報文中源地址(移動節(jié)點的轉(zhuǎn)交地址)交換,這樣上層協(xié)議始終認為是在和移動節(jié)點的家鄉(xiāng)地址通信,實現(xiàn)了移動漫游功能。
路由頭前,這是此選項頭被目的節(jié)點和路由頭中指定的結(jié)點處理;
上層頭前(任何的ESP頭后),此時只能被目的結(jié)點處理。
路由頭(Routing Header)
本擴展報頭類型值為43,用于源路由選項和移動IPv6。路由報頭和IPv4的Loose Source and Record Route選項類似,該報頭能夠被IPv6源節(jié)點用來強制數(shù)據(jù)包經(jīng)過特定的設(shè)備。
分段報頭
本擴展報頭類型值為44,用于標識數(shù)據(jù)報的分段,在IPv4中就有對應(yīng)的字段。當(dāng)源節(jié)點發(fā)送的報文超過傳輸鏈路MTU(源節(jié)點和目的節(jié)點之間傳輸路徑的MTU)時,需要對報文進行分段時使用。
認證報頭:
本擴展報頭類型值為51,該報頭由IPsec使用,提供認證、數(shù)據(jù)完整性以及重放保護。它還對IPv6基本報頭中的一些字段進行保護。
封裝安全凈載報頭:
本擴展報頭類型值為50,該報頭由IPsec使用,提供認證、數(shù)據(jù)完整性以及重放保護和IPv6數(shù)據(jù)報的加密,類似于認證報頭。
上層頭
這是用來標識數(shù)據(jù)報中上層協(xié)議類型,如TCP、UDP、ICMP(58)等。
注意:目的選項頭最多出現(xiàn)兩次,一次在路由頭前,一次在上層協(xié)議頭前,其他選項頭最多只能出現(xiàn)一次。IPv6節(jié)點必須能夠處理選項頭(逐跳選項頭除外,它固定只能緊隨基本報頭之后)在任意位置出現(xiàn),以保證互通性。
同一個IPV6報頭中各字段出現(xiàn)順序
路由設(shè)備轉(zhuǎn)發(fā)時根據(jù)基本報頭中Next Header值來決定是否要處理擴展頭,并不是所有的擴展報頭都需要被轉(zhuǎn)發(fā)路由設(shè)備查看和處理的。當(dāng)超過一種擴展報頭被用在同一個分組里時,報頭必須按照下列順序出現(xiàn):
IPv6基本報頭
逐跳選項擴展報頭
目的選項擴展報頭(路由擴展頭前)
路由擴展報頭
分段擴展報頭
認證擴展報頭
封裝安全凈載荷擴展報頭
目的選項擴展報頭(上層頭前)
上層協(xié)議數(shù)據(jù)報文
五、IPv6地址
IPv6地址的表示方法:
IPv6地址總長度為128比特,通常分為8組,每組為4個十六進制數(shù)的形式,每組十六進制數(shù)間用冒號分隔。例如:FC00130F0000876A:130B,這是IPv6地址的首選格式。
為了書寫方便,IPv6還提供了壓縮格式,以上述IPv6地址為例,具體壓縮規(guī)則為:
每組中的前導(dǎo)“0”都可以省略,所以上述地址可寫為:FC00130F0876A:130B。
地址中包含的連續(xù)兩個或多個均為0的組,可以用雙冒號“::”來代替,所以上述地址又可以進一步簡寫為:FC00130F:876A:130B。
需要注意的是,在一個IPv6地址中只能使用一次雙冒號“::”,否則當(dāng)計算機將壓縮后的地址恢復(fù)成128位時,無法確定每個“::”代表0的個數(shù)。
IPv6地址的結(jié)構(gòu):
一個IPv6地址可以分為如下兩部分:
網(wǎng)絡(luò)前綴:n比特,相當(dāng)于IPv4地址中的網(wǎng)絡(luò)ID
接口標識:128-n比特,相當(dāng)于IPv4地址中的主機ID
對于IPv6單播地址來說,如果地址的前三比特不是000,則接口標識必須為64位;如果地址的前三位是000,則沒有此限制。
接口標識可通過三種方法生成:手工配置、系統(tǒng)通過軟件自動生成或IEEE EUI-64規(guī)范生成。其中,EUI-64規(guī)范自動生成最為常用。
IEEE EUI-64規(guī)范是將接口的MAC地址轉(zhuǎn)換為IPv6接口標識的過程。如下圖所示,MAC地址的前24位(用c表示的部分)為公司標識,后24位(用m表示的部分)為擴展標識符。從高位數(shù),第7位是0表示了MAC地址本地唯一。轉(zhuǎn)換的第一步將FFFE插入MAC地址的公司標識和擴展標識符之間,第二步將從高位數(shù),第7位的0改為1表示此接口標識全球唯一。
例如:MAC地址:000E-0C82-C4D4;轉(zhuǎn)換后020EFE82:C4D4。
這種由MAC地址產(chǎn)生IPv6地址接口標識的方法可以減少配置的工作量,尤其是當(dāng)采用無狀態(tài)地址自動配置時,只需要獲取一個IPv6前綴就可以與接口標識形成IPv6地址。但是使用這種方式最大的缺點是任何人都可以通過二層MAC地址推算出三層IPv6地址。
IPv6的地址分類:
IPv6地址分為單播地址、任意播地址(Anycast Address)、組播地址三種類型。和IPv4相比,取消了廣播地址類型,以更豐富的組播地址代替,同時增加了任意播地址類型。
IPv6單播地址:
IPv6單播地址標識了一個接口,由于每個接口屬于一個節(jié)點,因此每個節(jié)點的任何接口上的單播地址都可以標識這個節(jié)點。發(fā)往單播地址的報文,由此地址標識的接口接收。
IPv6定義了多種單播地址,目前常用的單播地址有:未指定地址、環(huán)回地址、全球單播地址、鏈路本地地址、唯一本地地址ULA(Unique Local Address)。
未指定地址
IPv6中的未指定地址即 0000:0/128 或者::/128。該地址可以表示某個接口或者節(jié)點還沒有IP地址,可以作為某些報文的源IP地址,例如在鄰居請求NS(Neighbor Solicitation)報文的重復(fù)地址檢測中會出現(xiàn)。源IP地址是::的報文不會被路由設(shè)備轉(zhuǎn)發(fā)。
環(huán)回地址
IPv6中的環(huán)回地址即 0000:1/128 或者::1/128。環(huán)回與IPv4中的127.0.0.1作用相同,主要用于設(shè)備給自己發(fā)送報文。該地址通常用來作為一個虛接口的地址(如Loopback接口)。實際發(fā)送的數(shù)據(jù)包中不能使用環(huán)回地址作為源IP地址或者目的IP地址。
全球單播地址
全球單播地址是帶有全球單播前綴的IPv6地址,其作用類似于IPv4中的公網(wǎng)地址。這種類型的地址允許路由前綴的聚合,從而限制了全球路由表項的數(shù)量。
全球單播地址由全球路由前綴(Global routing prefix)、子網(wǎng)ID(Subnet ID)和接口標識(Interface ID)組成,其格式如下如所示:
全球單播地址各字段說明
Global routing prefix:全球路由前綴。由提供商(Provider)指定給一個組織機構(gòu),通常全球路由前綴至少為48位。目前已經(jīng)分配的全球路由前綴的前3bit均為001。
Subnet ID:子網(wǎng)ID。組織機構(gòu)可以用子網(wǎng)ID來構(gòu)建本地網(wǎng)絡(luò)(Site)。子網(wǎng)ID通常最多分配到第64位。子網(wǎng)ID和IPv4中的子網(wǎng)號作用相似。
Interface ID:接口標識。用來標識一個設(shè)備(Host)。
鏈路本地地址
鏈路本地地址是IPv6中的應(yīng)用范圍受限制的地址類型,只能在連接到同一本地鏈路的節(jié)點之間使用。它使用了特定的本地鏈路前綴FE80::/10(最高10位值為1111111010),同時將接口標識添加在后面作為地址的低64比特。
多說兩句
為何需要link-local?
答:在一個接口可以配置很多IPv6地址,所以學(xué)習(xí)路由就有可能出現(xiàn)很多下一跳。所以出現(xiàn)Link Local地址唯一標識一個節(jié)點。在本地鏈路看到下一跳都是對端的Link Local地址。
在網(wǎng)絡(luò)重新編址過程中,節(jié)點和路由器的Link Local地址不會發(fā)生變化,可以很容易地做一個修改,不用擔(dān)心網(wǎng)絡(luò)不可達。
那么又為什么要配置多個IPV6地址呢?
答:可以配置多個地址是可以使得用戶接入不同的網(wǎng)段。因為有時候網(wǎng)絡(luò)提供商是多個的,而他們都在不同的網(wǎng)段,每個提供商可以提供不同的服務(wù),為了能夠享受多種服務(wù),PC和路由器就需要配置多個地址,使得不同網(wǎng)段都能接入。
當(dāng)一個節(jié)點啟動IPv6協(xié)議棧時,啟動時節(jié)點的每個接口會自動配置一個鏈路本地地址(其固定的前綴+EUI-64規(guī)則形成的接口標識)。這種機制使得兩個連接到同一鏈路的IPv6節(jié)點不需要做任何配置就可以通信。所以鏈路本地地址廣泛應(yīng)用于鄰居發(fā)現(xiàn),無狀態(tài)地址配置等應(yīng)用。
以鏈路本地地址為源地址或目的地址的IPv6報文不會被路由設(shè)備轉(zhuǎn)發(fā)到其他鏈路。鏈路本地地址的格式如下如所示:
唯一本地地址
唯一本地地址是另一種應(yīng)用范圍受限的地址,它僅能在一個站點內(nèi)使用。由于本地站點地址的廢除(RFC3879),唯一本地地址被用來代替本地站點地址。
唯一本地地址的作用類似于IPv4中的私網(wǎng)地址,任何沒有申請到提供商分配的全球單播地址的組織機構(gòu)都可以使用唯一本地地址。唯一本地地址只能在本地網(wǎng)絡(luò)內(nèi)部被路由轉(zhuǎn)發(fā)而不會在全球網(wǎng)絡(luò)中被路由轉(zhuǎn)發(fā)。唯一本地地址格式如下如所示:
唯一本地地址各字段說明
Prefix:前綴;固定為FC00::/7。
L:L標志位;值為1代表該地址為在本地網(wǎng)絡(luò)范圍內(nèi)使用的地址;值為0被保留,用于以后擴展。
Global ID:全球唯一前綴;通過偽隨機方式產(chǎn)生。
Subnet ID:子網(wǎng)ID;劃分子網(wǎng)使用。
Interface ID:接口標識。
唯一本地地址具有如下特點:
具有全球唯一的前綴(雖然隨機方式產(chǎn)生,但是沖突概率很低)。
可以進行網(wǎng)絡(luò)之間的私有連接,而不必擔(dān)心地址沖突等問題。
具有知名前綴(FC00::/7),方便邊緣設(shè)備進行路由過濾。
如果出現(xiàn)路由泄漏,該地址不會和其他地址沖突,不會造成Internet路由沖突。
應(yīng)用中,上層應(yīng)用程序?qū)⑦@些地址看作全球單播地址對待。
獨立于互聯(lián)網(wǎng)服務(wù)提供商ISP(Internet Service Provider)。
IPv6組播地址:
IPv6的組播與IPv4相同,用來標識一組接口,一般這些接口屬于不同的節(jié)點。一個節(jié)點可能屬于0到多個組播組。發(fā)往組播地址的報文被組播地址標識的所有接口接收。例如組播地址FF02::1表示鏈路本地范圍的所有節(jié)點,組播地址FF02::2表示鏈路本地范圍的所有路由器。
IPv6組播地址格式如下圖:
一個IPv6組播地址由前綴,標志(Flag)字段、范圍(Scope)字段以及組播組ID(Global ID)4個部分組成:
前綴:IPv6組播地址的前綴是FF00::/8。
標志字段(Flag):長度4bit,格式如下:
flgs位的最高1bit為保留,必須設(shè)置為0
T位:如果為置0表示永久分配或者是well-known組播地址,如果置1表示臨時分配動態(tài)的地址,不固定。
P位:如果置1的話表示此組播地址是一個基于單播前綴的ipv6組播地址。默認為0,如果P位設(shè)置為1,那么T位必須為1。
R位:如果置1的話表示此組播地址是一個內(nèi)嵌RP地址的ipv6組播地址。默認為0。
PS:嵌入式RP(Embedded?RP)是IPv6?PIM(組播的一個協(xié)議)中特有的RP發(fā)現(xiàn)機制,該機制使用內(nèi)嵌RP地址的IPv6組播地址,使得組播路由器可以直接從該地址中解析出RP的地址。
范圍字段(Scope):長度4bit,用來限制組播數(shù)據(jù)流在網(wǎng)絡(luò)中發(fā)送的范圍。
二進制 | 十六進制 | 范圍類型 |
---|---|---|
0000 | 0 | reserved/保留 |
0001 | 1 | Interface-Local scope/本地接口范圍 |
0010 | 2 | Link-Local scope/鏈路本地范圍 |
0100 | 4 | Admin-Local scope/本地管理范圍 |
0101 | 5 | Site-Local scope/本地站點范圍 |
1000 | 8 | Organization-Local scope/本地組織范圍 |
1110 | E | Global scope/全球范圍 |
組播組ID(Group ID):長度112bit,用以標識組播組。目前,RFC2373并沒有將所有的112位都定義成組標識,而是建議僅使用該112位的最低32位作為組播組ID,將剩余的80位都置0。這樣每個組播組ID都映射到一個唯一的以太網(wǎng)組播MAC地址(RFC2464)。
組播組 | IPV6組播地址 |
---|---|
所有節(jié)點的組播地址 | FF02000:1 |
所有路由器的組播地址 | FF02000:2 |
所有OSPF路由器組播地址 | FF02000:5 |
所有OSPF的DR路由器組播地址 | FF02000:6 |
所有RIP路由器組播地址 | FF02000:9 |
所有PIM路由器組播地址 | FF02000:D |
被請求節(jié)點的組播地址 | FF0200FFXX:XXXX |
被請求節(jié)點組播地址:
被請求節(jié)點組播地址通過節(jié)點的單播或任播地址生成。當(dāng)一個節(jié)點具有了單播或任播地址,就會對應(yīng)生成一個被請求節(jié)點組播地址,并且加入這個組播組。一個單播地址或任播地址對應(yīng)一個被請求節(jié)點組播地址。該地址主要用于鄰居發(fā)現(xiàn)機制和地址重復(fù)檢測功能。
IPv6中沒有廣播地址,也不使用ARP(節(jié)點請求是如何高效率去替代IPv4的ARP協(xié)議?在其他博文中會提到)。但是仍然需要從IP地址解析到MAC地址的功能。在IPv6中,這個功能通過鄰居請求NS(Neighbor Solicitation)報文完成。當(dāng)一個節(jié)點需要解析某個IPv6地址對應(yīng)的MAC地址時,會發(fā)送NS報文,該報文的目的IP就是需要解析的IPv6地址對應(yīng)的被請求節(jié)點組播地址;只有具有該組播地址的節(jié)點會檢查處理。
被請求節(jié)點組播地址由前綴FF02:FF00:0/104和單播地址的最后24位組成。
IPv6任意播地址:
任意播地址標識一組網(wǎng)絡(luò)接口(通常屬于不同的節(jié)點)。目標地址是任意播地址的數(shù)據(jù)包將發(fā)送給其中路由意義上最近的一個網(wǎng)絡(luò)接口。
任意播地址設(shè)計用來在給多個主機或者節(jié)點提供相同服務(wù)時提供冗余功能和負載分擔(dān)功能。目前,任意播地址的使用通過共享單播地址方式來完成。將一個單播地址分配給多個節(jié)點或者主機,這樣在網(wǎng)絡(luò)中如果存在多條該地址路由,當(dāng)發(fā)送者發(fā)送以任意播地址為目的IP的數(shù)據(jù)報文時,發(fā)送者無法控制哪臺設(shè)備能夠收到,這取決于整個網(wǎng)絡(luò)中路由協(xié)議計算的結(jié)果。這種方式可以適用于一些無狀態(tài)的應(yīng)用,例如DNS等。
IPv6中沒有為任意播規(guī)定單獨的地址空間,任意播地址和單播地址使用相同的地址空間。目前IPv6中任意播主要應(yīng)用于移動IPv6。
注意:IPv6任意播地址僅可以被分配給路由設(shè)備,不能應(yīng)用于主機。任意播地址不能作為IPv6報文的源地址。
子網(wǎng)路由器任意播地址
子網(wǎng)路由器任意播地址是已經(jīng)定義好的一種任意播地址(RFC3513)。發(fā)送到子網(wǎng)路由器任意播地址的報文會被發(fā)送到該地址標識的子網(wǎng)中路由意義上最近的一個設(shè)備。所有設(shè)備都必須支持子網(wǎng)任意播地址。子網(wǎng)路由器任意播地址用于節(jié)點需要和遠端子網(wǎng)上所有設(shè)備中的一個(不關(guān)心具體是哪一個)通信時使用。例如,一個移動節(jié)點需要和它的“家鄉(xiāng)”子網(wǎng)上的所有移動代理中的一個進行通信。
子網(wǎng)路由器任播地址由n bit子網(wǎng)前綴標識子網(wǎng),其余用0填充。格式如下如所示:
審核編輯:湯梓紅
-
路由器
+關(guān)注
關(guān)注
22文章
3728瀏覽量
113701 -
IPv6
+關(guān)注
關(guān)注
6文章
689瀏覽量
59389 -
IPv4
+關(guān)注
關(guān)注
0文章
142瀏覽量
19890 -
網(wǎng)絡(luò)層協(xié)議
+關(guān)注
關(guān)注
0文章
5瀏覽量
8592
原文標題:一文帶你了解IPv6,好詳細!
文章出處:【微信號:網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號:網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論