什么是IPv6,IPv6的作用是什么
一、IPv6簡(jiǎn)介
1、IPv6 早期被稱為 IPng (next generation)目前是 IP 協(xié)議的最新版本
IP 協(xié)議是一種網(wǎng)絡(luò)層協(xié)議,采用 IP協(xié)議構(gòu)建的數(shù)據(jù)通信網(wǎng)絡(luò)可提供高效的數(shù)據(jù)、語音和圖像的傳輸服務(wù)。目前,在 Internet 上廣泛采用的 IP協(xié)議是 IPv4 版。隨著 Internet 的迅猛發(fā)展,在充分享用了 IPv4 協(xié)議的簡(jiǎn)單高效的同時(shí),人們也就意識(shí)到了IPv4 的 32 位地址空間是不夠的;因此,必須建立新的 IP 標(biāo)準(zhǔn)。
2、海量 IPv6 地址空間
IPv6 最根本的改變是提供了未來對(duì)全球范圍內(nèi)可確定的地址空間的需求?;谝苿?dòng)設(shè)備的應(yīng)用,如:個(gè)人數(shù)字設(shè)備(PDAs), 移動(dòng)電話,汽車, 家庭網(wǎng)絡(luò)和其他的移動(dòng)數(shù)據(jù)通信設(shè)備都需要全球范圍內(nèi)可確定的地址。IPv6 將網(wǎng)絡(luò)地址位數(shù)從 32 位擴(kuò)展到 128 位, 這代表著可以為地球上的任何需要聯(lián)網(wǎng)的設(shè)備提供唯一確定的地址。正是因?yàn)橛辛巳蚍秶鷥?nèi)可確定的地址,IPv6 提供了全球范圍內(nèi)的地址可達(dá),端到端的安全通信,以及對(duì)所有對(duì)地址有要求的應(yīng)用和服務(wù)的支持。 除此之外,豐富的 IPv6 地址空間消除了網(wǎng)絡(luò)中的NAT(Network Address TranslaTIon)瓶頸,提高了網(wǎng)絡(luò)效率。
二、IPv6地址
由于 IPv6 的地址有 128 位長(zhǎng),比 32 位的 IPv4 地址表示起來復(fù)雜的多。目前,IPv6 的地址由一串 16 進(jìn)制的數(shù)字表示,每 16 位之間用分號(hào)(:)隔開,格式如下: x:x:x:x:x:x:x:x.下面是兩個(gè) IPv6 地址例子:
2001:0DB8:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
通常情況下 IPv6 地址會(huì)包含連續(xù)的 0。為避免 IPv6 地址表示的復(fù)雜性,連續(xù)的 0 可縮寫為兩個(gè)冒號(hào)表示(::)。 Table1 lists IPv6 地址的縮寫格式。 兩個(gè)冒號(hào)可以用在 IPv6 地址的一部分。你可以在一個(gè)接口上配置多個(gè)地址,但只能一個(gè) link-local 地址。注意兩個(gè)冒號(hào)(::) 只能在 IPv6 地址中出現(xiàn)一次,只能代表最長(zhǎng)的連續(xù)的 0。IPv6 地址中的十六進(jìn)制數(shù)的表示是大小寫不敏感的。
loopback 地址可以是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)送一個(gè) IPv6 的數(shù)據(jù)包給自己。 這個(gè) loopback地址功能與 IPv4 的 loopback 地址 (127.0.0.1)一樣。注意 IPv6 的 loopback 地址不能配置在物理接口。 一個(gè)不管是原地址還是目的地址是 IPv6loopback 地址的數(shù)據(jù)包必須停留在產(chǎn)生他的網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi),不能出現(xiàn)在網(wǎng)絡(luò)鏈路上。IPv6 路由器不能轉(zhuǎn)發(fā)代有 IPv6 loopback 地址的數(shù)據(jù)包,不管是原地址還是目的地址。
三、單播 Unicast 地址
一個(gè) IPv6 單播地址是用來標(biāo)示一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)接口。一個(gè)數(shù)據(jù)包的目的地址是一個(gè)單播地址時(shí),他將被送到以這個(gè)地址標(biāo)示的網(wǎng)絡(luò)接口。一個(gè) IPv6 的路由器應(yīng)支持下列單播地址類型:
Global aggregatable address:可匯聚的全球化地址。
Site-local address:區(qū)域內(nèi)的地址 (proposal to remove by IETF)
Link-local address: 鏈路接口地址
IPv4-compaTIble IPv6 address: 兼容 IPv4 的地址
四、可匯聚的全球地址
一個(gè)可匯聚的全球地址是一個(gè)帶有全球化的可匯聚的 IPv6 前綴的地址。 這種結(jié)構(gòu)化的全球化的單播地址可以進(jìn)行嚴(yán)格的路由前綴的匯聚,這樣就可以大大減少整個(gè)路由表的路由條數(shù),減少路由的復(fù)雜度。 可匯聚的全球 地址用來標(biāo)示鏈路地址,可以進(jìn)行多級(jí)的路由匯聚,一直到頂級(jí)的 Internet服務(wù)提供商(ISPs)。全球化的可匯聚的 IPv6 地址被定義為全球化的路由前綴, 子網(wǎng)絡(luò)號(hào),和接口地址。除了以二進(jìn)制 000 開始的地址, 所有的全球化的 IPv6 單播地址都帶有 64 位的接口地址。目前, 全球化的單播地址的分配范圍從以二進(jìn)制的 001 (2000::/3)開始。 下圖表示了全球化的可匯聚的單播地的格式 。
帶有前綴從 2000::/3 (001) 到 E000::/3 (111)的地址需要帶有從(EUI)-64 格式的 64 位接口地址。
IANA (Internet Assigned Numbers Authority)將 2000::/16 IPv6 地址空間下發(fā)到各個(gè)區(qū)域的地址注冊(cè)機(jī)構(gòu)分發(fā),如 APNIC 等。在通常情況下,全球化的可匯聚的 IPv6 地址包含一個(gè) 48 位的全球路由前綴和 16 位的子網(wǎng)絡(luò)號(hào)或稱為區(qū)域級(jí)的可匯聚前綴(Site-Level Aggregator-- SLA)。在 IPv6 的全球化的可匯聚單播地址格式文件(RFC 2374)中指出, 全球化的路由前綴包括兩層的層次化結(jié)構(gòu):頂層匯聚(Top-Level Aggregator--TLA) 和第二層匯聚(Next-Level Aggregator -- NLA)?,F(xiàn)在,IETF 決定從 RFCs 把 TLS 和 NLA 的區(qū)域規(guī)定刪除,這樣可以使路由匯聚有更多的靈活性。在一些已經(jīng)采用了 RFC 2374 中的匯聚方式的網(wǎng)絡(luò)可繼續(xù)沿用原有的方式。
一個(gè) 16 位的子網(wǎng)絡(luò)標(biāo)示被稱作子網(wǎng)號(hào),他可以被不同的組織機(jī)構(gòu)用來區(qū)分自己內(nèi)部的地址分配。一個(gè)子網(wǎng)號(hào)與 IPv4 的子網(wǎng)非常類似, 知識(shí)他可以有多達(dá) 65,535 個(gè)子網(wǎng)。一個(gè)接口地址用來標(biāo)示鏈路的接口。接口地址在一個(gè)鏈路上必須是唯一的 ,他們可以是 64 位接口地址中的任何一個(gè),只要確保是唯一的。在多數(shù)情況下,接口地址可以是從鏈路層的地址中衍生而來。
在全球化的可匯聚的 IPv6 地址中,接口地址必須是 64 位長(zhǎng),并且采用修改的 EUI-64 的格式。修改的 EUI-64 的格式的接口地址可從下列的產(chǎn)生方法之一產(chǎn)生:所有的 IEEE 802 的接口類型(如:以太網(wǎng),F(xiàn)DDI 等), 前三個(gè)八進(jìn)制數(shù)(24bits)從 MAC 地址中的 OUI(OrganizaTIonally Unique Identifier)復(fù)制;第四和第五個(gè)八進(jìn)制數(shù)為 FFFE, 最后的三個(gè)八進(jìn)制數(shù)(24bits)復(fù)制 MAC 地址中的后 24 位。 最后,在構(gòu)成的 64 位接口地址的第一個(gè)八進(jìn)制數(shù)的第七位(U/L) bit 表示該接口地址是本地化的還是本地的:0 表示本地地址,1 表示全球唯一的接口地址。
對(duì)其他的接口類型(如:串行接口, loopback, ATM, Frame Relay, 和 tunnel 接口—除 IPv6 overlaytunnel 的接口), 接口地址的構(gòu)成采用 IEEE 802 接口類型相似的方法:MAC 地址來自于設(shè)備的 MAC 地址池中的第一個(gè) MAC 地址。 當(dāng)接口類型是 IPv6 overlay tunnels 時(shí), 接口地址是低 32 位的 IPv4 地址加上高位的全 0。注意當(dāng)接口類型是 PPP 時(shí), 兩端的不同接口可能具有相同的 MAC 地址;這時(shí),兩端設(shè)備需要重新協(xié)商,重新選擇接口地址,直到他們是唯一的。網(wǎng)絡(luò)設(shè)備的第一個(gè) MAC 地址用來構(gòu)建 PPP 接口地址。
當(dāng)網(wǎng)絡(luò)設(shè)備不具有 IEEE802 類型接口, link-local 的 IPv6 地址按以下方式產(chǎn)生:
路由器請(qǐng)求 MAC 地址 (從路由器本身的 MAC 地址池)。
如果沒有 MAC 地址可用, 路由器的序列號(hào)可用做 link-local 地址。
如果序列號(hào)不可用,路由器將采用 MD5 算法結(jié)合自己的名字創(chuàng)建 MAC 地址。
五、Site-Local地址
一個(gè) site-local 地址是一個(gè)帶著前綴 FEC0::/10 和 16 位子網(wǎng)號(hào)加上 64 位的 EUI-64 格式的 IPv6 單播地址。Site-local 地址非常像 IPv4 中的私有地址空間 10.0.0.0/8;可以在一個(gè)區(qū)域內(nèi)部進(jìn)行路由的查找,而不需要全球化的唯一的地址前綴。 Site-local 地址可以被認(rèn)為是私有地址,因?yàn)樗荒茉谝粋€(gè)嚴(yán)格限制的區(qū)域內(nèi)使用。 下圖表示了 site-local 地址。IPv6 路由器不可以將帶有 site-local 的源地址或目的地址的數(shù)據(jù)包轉(zhuǎn)發(fā)到區(qū)域之外。
六、Link-Local 地址
一個(gè) link-local 地址是一個(gè)帶有 link-local 前綴 FE80::/10(1111 1110 10)的 IPv6 單播地址,他采用修改
的 EUI-64 地址格式自動(dòng)產(chǎn)生。 Link-local 地址可用于鄰居發(fā)現(xiàn)協(xié)議(neighbor discovery protocol)和無狀態(tài)自動(dòng)配置進(jìn)程。 在同一個(gè)鏈路上的節(jié)點(diǎn)可使用 link-local 地址來通信; 不需要 site-local 地址或全球化的單播地址。 下圖表示 link-local 地址的結(jié)構(gòu)。
IPv6 路由器不能將帶有 link-local 的源地址或目的地址的數(shù)據(jù)包轉(zhuǎn)發(fā)到其他網(wǎng)絡(luò)或鏈路。
七、IPv4 兼容的 IPv6 地址
一個(gè) IPv4 兼容的 IPv6 地址是一個(gè)高 96 位全 0 的,低 32 位為 IPv4 地址的 IPv6 單播地址。這種 IPv4兼容的 IPv6 地址可表示為 0:0:0:0:0:0:A.B.C.D 或::A.B.C.D. 整個(gè) 128 位的 IPv4 兼容的 IPv6 地址是將網(wǎng)絡(luò)節(jié)點(diǎn)的 IPv4 地址直接植入 IPv6 地址的低 32 位。IPv4 兼容的 IPv6 地址用來在運(yùn)行 IPv4 和 IPv6 雙棧時(shí)使用自動(dòng)的隧道技術(shù)(tunnels)。 下圖表示了 IPv4 兼容的 IPv6 地址 格式。
八、Anycast地址
一個(gè) anycast 地址是一個(gè)屬于多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的接口的 IPv6 的地址。一個(gè)以 anycast 地址為目的地址的數(shù)據(jù)包將被轉(zhuǎn)發(fā)到最近的網(wǎng)絡(luò)接口;接口的遠(yuǎn)近由路由的計(jì)算結(jié)果來確定。Anycast 地址從地址的結(jié)構(gòu)上來說同單播地址是不可分的,因?yàn)?anycast 地址存在于單播地址的地址空間。但一個(gè)單播地址可以被超過一個(gè)網(wǎng)絡(luò)接口接收時(shí),他就是一個(gè) anycast 地址。Anycast 地址需要在網(wǎng)絡(luò)節(jié)點(diǎn)上明確定義:這個(gè)地址是一個(gè) anycast 地址。
九、MulTIcast組播地址
一個(gè)前綴 FF00::/8(1111 1111)的 IPv6 地址就代表它是一個(gè) IPv6 組播地址。一個(gè)數(shù)據(jù)包的目的地址為組播地址時(shí),他將被復(fù)制轉(zhuǎn)發(fā)到多個(gè)網(wǎng)絡(luò)的接收者。組播地址前綴的第二個(gè)八進(jìn)制數(shù)代表組播地址的范圍。這個(gè)八進(jìn)制數(shù)被分為兩部分:前四位為 0000 代表是一個(gè)永久性的組播地址,前四位為 0001代表是暫時(shí)的組播 地址;后四位代表組播范圍,目前定義了 1, 2, 5, 8, or E,分別代表不同的組播范圍。
IPv6 的設(shè)備(主機(jī)和路由器)必須加入下列組播組(必須接收的相應(yīng)的組播數(shù)據(jù)包):
All-nodes 所有節(jié)點(diǎn)的組播組
FF02:0:0:0:0:0:0:1 (link-local 范圍)
Solicited-node 節(jié)點(diǎn)請(qǐng)求組播組
FF02:0:0:0:0:1:FF00:0000/104 用來對(duì)應(yīng)單播地址和 anycast 地址 。
IPv6 路由器必須加入所有路由器組播組
FF02:0:0:0:0:0:0:2 (link-local 范圍).