圖解 IPv6 :IPv4 都用完了,趕緊看看它
▼點(diǎn)擊下方名片,關(guān)注公眾號▼
初識 IPv6
2019 年 11 月 25 日已分配完公網(wǎng) IPv4 地址,以后就沒有多余地址可以分配了。短期內(nèi)可以使用 NAT 技術(shù)進(jìn)行緩解。長期來看,還是要用 128 位的 IPv6 地址替代 32 位的 IPv4 地址,IPv6 有 3.4×10^38 個(gè)可用地址,多得不得了,可以滿足未來 IP 地址的需求。IPv6 地址
IPv6 地址不但比 IPv4 的地址長度長,還其它方面的不同。1、IPv6 地址表示
32 位的 IPv4 地址,分隔成 4 個(gè) 8 位段,每 8 位段的值在 0 ~ 255 之間,每個(gè) 8 位段之間用 “ . ” 分開,這就是 “ 點(diǎn)分十進(jìn)制表示法 ” 。舉個(gè)栗子:192.168.0.1
而 128 位的 IPv6 地址,是 IPv4 地址的 4 倍,如果用點(diǎn)分十進(jìn)制表示法,那么會有 16 個(gè)八位組,地址過于冗長。為了使用方便, 使用十六進(jìn)制表示法,分隔成 8 個(gè) 16 位段,每 16 位段的值在 0000 ~ FFFF 的十六進(jìn)制數(shù)之間,每個(gè) 16 位段之間用 “ : ” 分開。舉個(gè)栗子:2001:1111:0100:000a:0000:00bc:2500:0a0b
為了方便理解,可以查看下面的進(jìn)制轉(zhuǎn)換表。但是 IPv6 地址還是太長,不方便記憶,看著都頭暈,也不方便書寫,毫無規(guī)律可言。于是就有了兩條簡化規(guī)則。第一條規(guī)則是:- 每組十六進(jìn)制數(shù)中開頭的 0 可以省略。
2001:1111:100:a:0:bc:2500:a0b
這里需要注意,開頭的 0 才能省略,末尾的 0 是不能省略的,因?yàn)檫@樣會引起歧義,無法確定省略的 0 是在數(shù)字前還是數(shù)字后。如果有個(gè) IPv6 地址有一串的 0 ,比如:2001:0000:0000:0000:0000:0000:0000:0003
可以簡寫成:2001:0:0:0:0:0:0:3
這時(shí),還可以使用第二個(gè)規(guī)則進(jìn)行簡化,第二條規(guī)則是:- 由全 0 組成的連續(xù)的 16 位段可以用一對冒號 “ :: ” 表示。
2001::3
這里需要注意,一個(gè) IPv6 地址內(nèi),只能使用一次 “ :: ” 表示。如果使用兩次及以上,也會產(chǎn)生歧義。舉個(gè)栗子:2001:0a0c:0000:0000:0021:0000:0000:0077
正確的寫法有是:2001:a0c::21:0:0:77
2001:a0c:0:0:21::77
如果使用了兩次 “ :: ” ,那么就是錯(cuò)誤的:2001:a0c::21::77
有兩個(gè)全 0 字符串,就無法確定它們的長度,上面錯(cuò)誤的地址會有幾種可能:2001:0a0c:0000:0021:0000:0000:0000:0077
2001:0a0c:0000:0000:0021:0000:0000:0077
2001:0a0c:0000:0000:0000:0021:0000:0077
IPv4 的網(wǎng)段地址可以用子網(wǎng)掩碼表示,還可以用斜線法表示。IPv6 只能用斜線法表示網(wǎng)段地址,即在 IPv6 地址后面加上一個(gè)斜線 “ / ” ,后面加上一個(gè)十進(jìn)制的數(shù)字,來表示前面多少位是網(wǎng)絡(luò)位。網(wǎng)絡(luò)位是 64 位的 IPv6 地址表示如下:3001:2222:333:aa:bc::707:9900/64
對應(yīng)的網(wǎng)段地址是:3001:2222:333:aa::/64
全是 0 的 IPv6 地址可以寫成一對冒號。當(dāng)網(wǎng)絡(luò)位是 0 位時(shí),表示默認(rèn)地址。::/0
當(dāng)網(wǎng)絡(luò)位是 128 位時(shí),表示未指定地址( unspecified address )。設(shè)備未分配 IPv6 地址時(shí),就用未指定地址作為標(biāo)識進(jìn)行報(bào)文交互。::/128
2、IPv6 地址類型
IPv6 地址根據(jù)使用范圍和功能,分為三種類型:- 單播( Unicast )
- 任意播( Anycast )
- 組播( Multicast )
2.1 全球單播地址
單播地址表示單臺設(shè)備的地址。全球單播地址是指這個(gè)單播地址是全球唯一的。也就是說,全球單播地址是可以在公網(wǎng)使用、全網(wǎng)可路由的 IPv6 地址,類似于 IPv4 的公網(wǎng) IP 地址。全球單播 IPv6 地址是由 Internet 地址授權(quán)委員會( IANA )分配給地區(qū) Internet 注冊機(jī)構(gòu)( RIR ),再由 RIR 分配給 Internet 服務(wù)提供商( ISP )。IANA 分配 128 位的 IPv6 地址時(shí),同 IPv4 一樣,也是分配一個(gè)網(wǎng)段,即網(wǎng)絡(luò)/子網(wǎng)位,不會分配 128 位的地址。IPv6 單播地址的通用格式如下:全球單播 IPv6 地址的前 3 位固定為 001 ;第 4 ~ 48 ?位的這 45 位由地址分配機(jī)構(gòu)分配;48 位之后的 16 位是網(wǎng)絡(luò)劃分子網(wǎng)位,稱為子網(wǎng) ID ;剩余的 64 位 IPv6 地址就是主機(jī)位,但是叫做接口 ID( Interface ID )。因?yàn)橐慌_主機(jī)可以有幾個(gè)接口,用 IPv6 地址表示主機(jī)的一個(gè)接口更準(zhǔn)確,而不是表示一臺主機(jī)。同時(shí),一個(gè)接口可以有多個(gè) IPv6 地址,還可以有一個(gè) IPv4 地址,接口 ID 只是這個(gè)接口的幾個(gè)標(biāo)識符之一。通常,全球 IPv6 地址的接口 ID 是 64 位,子網(wǎng) ID 是 16 位。一個(gè) 16 位的子網(wǎng) ID 可以劃分 65536 個(gè)不同的子網(wǎng)。很少有這么多子網(wǎng)的網(wǎng)絡(luò),因此全球單播 IPv6 地址還有另外一種格式:前綴是 n 位,子網(wǎng) ID 是 64-n 位,接口 ID 也是 64 位。兩種格式也不是矛盾的。將全球單播 IPv6 地址的前 3 位固定值轉(zhuǎn)換為 IPv6 表示法,可知全球單播地址的前綴為 2000::/3 。IANA 和 RIR 把長度 /32 或 /35 的 IPv6 前綴分配給本地 Internet 注冊機(jī)構(gòu)( LIR )。LIR 通常是大型的 ISP ,LIR 分配前綴長度 /48 的 IPv6 地址給各個(gè)客戶。也有一些例外,會分配不同長度的前綴:- 如果一個(gè)客戶非常龐大,那么可以分配一個(gè)長度小于 /48 的前綴。
- 如果有且僅有一個(gè)子網(wǎng)需要地址,那么可以分配一個(gè)長度是 /64 的前綴。
- 如果有且僅有一臺設(shè)備需要地址,那么可以分配一個(gè)長度是 /128 的前綴。
2.2 IPv6 地址類型
IPv6 地址開頭的二進(jìn)制標(biāo)識地址類型。比如:全球單播地址的前 3 位是 001 。2.3 本地單播地址
除了全球單播地址,還有幾種其它類型的本地單播地址,分別應(yīng)用在不同的場景。有哪些本地單播地址呢?本地單播地址有 4 種類型,分別是唯一本地地址、鏈路本地地址、未指定地址、回環(huán)地址。
- 唯一本地地址
- 鏈路本地地址
- 未指定地址
- 回環(huán)地址
2.4 任意播地址
IPv6 定義了一種任性的功能,通過任意播地址( Anycast Address )實(shí)現(xiàn)。任意播地址是根據(jù)功能定義的,而不是根據(jù)報(bào)文格式,IPv6 沒有定義任意播的地址空間,與單播使用相同的地址空間。所以,無法根據(jù)地址判斷是單播地址還是任意播地址。單播是一對一,組播是一對多,廣播是一對全體,那么任意播就是一對最近的通信方式。一個(gè)任意播地址可以分配給多臺設(shè)備,路由器會有多條路由到達(dá)相同的目的地,選擇代價(jià)最小的路由進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。在大型網(wǎng)絡(luò)中,流量可以發(fā)送到最近的設(shè)備,數(shù)據(jù)傳輸效率更高。而且當(dāng)最近的設(shè)備故障時(shí),路由器可以把路由指向下一臺最近的路由器。2.5 組播地址
組播地址不是標(biāo)識一臺設(shè)備,而是一組設(shè)備:一個(gè)組播組( Multicast Group )。發(fā)送組播數(shù)據(jù)包通常是單臺設(shè)備,可以是組播組成員,也可以是其它主機(jī),數(shù)據(jù)包的目的地址是組播地址。組播組成員有可能是一臺設(shè)備,也可能是這個(gè)網(wǎng)絡(luò)上的所有設(shè)備。IPv6 沒有廣播地址,但是有一個(gè)包含所有節(jié)點(diǎn)的組播組,和廣播地址做相同的事情:所有節(jié)點(diǎn)都是這個(gè)組播組的成員。組播地址的前 8 位全是 1 ,后面跟著 4 位標(biāo)記位,再后面就是 4 位表示地址范圍。最后的 112 位作為組 ID ( Group ID ),標(biāo)識不同的組播組。前面的 80 位是 0 ,只使用后面的 32 位。4 位標(biāo)記位中,第 1 位是保留標(biāo)記位,未使用,使用固定值 0 。第 2 位用于匯集點(diǎn)( Rendezvous Point ),匯集點(diǎn)是組播的一個(gè)概念,叫做 R 位,通常取值為 0 。第 3 位表示組播地址是否帶了前綴,叫做 P 位。組播地址沒前綴,取值為 0 。大多數(shù)情況是 0 。最后一位是 T 位,值為 0 時(shí)表示是已定義的、永久的組播地址;值為 1 時(shí)是臨時(shí)充當(dāng)一些設(shè)備的組播組。因此,各個(gè)協(xié)議使用的組播組是以 FF0 開頭的 IPv6 地址,而自定義的組播組是以 FF1 開頭的。組播地址和單播地址一樣,有一個(gè)有效范圍,4 為范圍位定義了組播地址的使用范圍。不同取值的范圍表如下:常見的 IPv6 組播地址的格式是標(biāo)記位的值是 0 ,范圍位的值是 2 ,即前綴為 FF02 的組播地址。2.6 嵌入的 IPv4 地址
在 IPv6 地址的環(huán)境中使用 IPv4 地址,需要用到轉(zhuǎn)換技術(shù),把 IPv4 地址轉(zhuǎn)換成 IPv6 地址。比如 6to4 技術(shù)就是將 IPv4 地址轉(zhuǎn)換成 16 進(jìn)制數(shù),再嵌入到 IPv6 地址的最后 32 位。ICMPv6
IPv6 也是使用 ICMP 來管理網(wǎng)絡(luò),實(shí)現(xiàn)錯(cuò)誤檢查和報(bào)告機(jī)制功能。IPv4 協(xié)議中 ICMP 使用的協(xié)議號是 1 ,而 IPv6 協(xié)議中 ICMPv6 使用的值是 58 。ICMPv6 對于頭部字段的定義也與 ICMP 相同。ping 功能也是使用 Echo 請求和 Echo 應(yīng)答報(bào)文。除此之外,還有一個(gè)基于 ICMP 的新協(xié)議:鄰居發(fā)現(xiàn)協(xié)議。NDP
IPv6 的鄰居發(fā)現(xiàn)協(xié)議( NDP )相當(dāng)于 IPv4 的 ARP 、ICMP 的路由器發(fā)現(xiàn)和 ICMP 的重定向,還可以發(fā)現(xiàn)網(wǎng)絡(luò)中使用的 IPv6 地址前綴等參數(shù),并實(shí)現(xiàn)地址自動配置等。IPv6 協(xié)議通過 NDP 功能實(shí)現(xiàn)即插即用特性:- 路由器發(fā)現(xiàn)( Router Discovery ):當(dāng)一個(gè)節(jié)點(diǎn)接入到 IPv6 鏈路時(shí),它可以發(fā)現(xiàn)鏈路上的路由器,而不需要借助使用 DHCP 。
- 前綴發(fā)現(xiàn)( Prefix Discovery ):當(dāng)一個(gè)節(jié)點(diǎn)接入到 IPv6 鏈路時(shí),它能夠發(fā)現(xiàn)鏈路的前綴。
- 參數(shù)發(fā)現(xiàn)( Parameter Discovery ):節(jié)點(diǎn)能夠發(fā)現(xiàn)所在鏈路的參數(shù),像鏈路的 MTU 和跳數(shù)限制等。
- 地址自動配置( Address Autoconfiguration ):節(jié)點(diǎn)能夠自動配置,不需要使用 DHCP 。
- 地址解析( Address Resolution ):節(jié)點(diǎn)不需要通過 ARP 就能夠獲取鏈路上其它節(jié)點(diǎn)的 MAC 地址。
- 下一跳確定( Next-Hop Determination ):能夠確定到達(dá)目的節(jié)點(diǎn)的下一跳鏈路層節(jié)點(diǎn),或者所在鏈路的目的節(jié)點(diǎn),或是到達(dá)目的節(jié)點(diǎn)的路由器。
- 鄰居不可達(dá)檢測( Neighbor Unreachability Detection ):節(jié)點(diǎn)上能夠檢測到鏈路上的鄰居何時(shí)不可達(dá),鄰居有可能是主機(jī),也可能是路由器。
- 地址沖突檢測( Duplicate Address Detection ):節(jié)點(diǎn)能夠檢測到要使用的地址是否已經(jīng)被其它節(jié)點(diǎn)占用。
- 重定向( Redirect ):對于非連接的目的節(jié)點(diǎn),路由器能夠通知主機(jī)存在更好的下一跳路由。
1、NDP 報(bào)文
NDP 定義了 5 種報(bào)文類型,且跳數(shù)限制字段值都是 255 。如果收到的 NDP 報(bào)文中跳數(shù)限制字段值不是 255 ,那么會丟棄這個(gè) NDP 報(bào)文。在 ICMPv6 封裝這 5 種 NDP 報(bào)文時(shí),編碼字段都是 0 ,不同報(bào)文類型通過類型值來標(biāo)識:- 路由器請求( Router Solicitation ,RS ):路由器請求報(bào)文是由主機(jī)發(fā)出的,用來請求鏈路中的路由器發(fā)送一個(gè) RA 。類型字段值是 133 。
- 路由器通告( Router Advertisement ,RA ):路由器通告報(bào)文是路由器發(fā)出的,用來通告路由器的存在和鏈路參數(shù),比如:鏈路前綴、鏈路 MTU ,以及跳數(shù)限制等。這些報(bào)文周期性的發(fā)送,也用于響應(yīng)路由器請求報(bào)文。類型字段值是 134 。
- 鄰居請求( Neighbor Solicitation ,NS ):也是有主機(jī)發(fā)起,用來請求另一臺主機(jī)的 MAC 地址,也用于地址沖突檢測、鄰居不可達(dá)檢測。類型字段值是 135 。
- 鄰居通告( Neighbor Advertisement ,NA ):用于響應(yīng)鄰居請求報(bào)文。如果一個(gè)節(jié)點(diǎn)改變了 MAC 地址,那么它通過發(fā)送一個(gè)未請求的鄰居通告報(bào)文來告知這個(gè)新地址。類型字段值是 136 。
- 重定向( Redirect ):跟 IPv4 協(xié)議中的 ICMP 用法相同,只不過是移植到 NDP 中。類型字段值是 137 。
2、路由器發(fā)現(xiàn)
路由器在所在的鏈路上周期性發(fā)送 RA ,告知它的存在和配置的所有參數(shù)。未收到請求的 RA 的源地址是路由器接口的鏈路本地 IPv6 地址,目的地址是所有節(jié)點(diǎn)的組播地址( FF02::1 )。剛接入到鏈路的主機(jī),需要等待一個(gè) RA ,用來發(fā)現(xiàn)鏈路上的路由器和鏈路參數(shù)。默認(rèn)等待 200 秒的時(shí)間太長。所以,主機(jī)激活時(shí),就會發(fā)送一個(gè) RS ,這個(gè)報(bào)文的源地址可以是未指定地址( :: ),也可以是主機(jī)的鏈路本地 IPv6 地址。目的地址就是所有路由器的組播地址( FF02::2 ),請求鏈路本地路由器為主機(jī)提供一些信息。只有路由器才會監(jiān)聽鏈路本地路由器組播地址,當(dāng)路由器收到 RS 時(shí),就會發(fā)送一條 RA 作為響應(yīng)。如果收到報(bào)文的源地址是鏈路本地地址,那么使用鏈路本地地址單播發(fā)送。如果源地址是未指定地址( :: ),那么會以組播方式發(fā)送給所有節(jié)點(diǎn)( FF02::1 )。當(dāng)主機(jī)收到 RS 時(shí),會把路由器的鏈路本地地址作為默認(rèn)路由地址,添加到自己的路由表中。如果路由器列表有多條默認(rèn)路由器條目,那么主機(jī)要給出選定默認(rèn)路由器的方法。要么是整個(gè)默認(rèn)路由器列表依次輪詢,要么選擇單臺路由器作為默認(rèn)路由。3、地址自動配置
當(dāng)一臺 IPv6 的設(shè)備第一次接入鏈路時(shí),它能夠自動配置自己的接口地址。這個(gè)過程的第一步就是確定 64 位接口 ID 部分,使用 MAC-to-EUI64 轉(zhuǎn)換法獲取接口 ID 。當(dāng)然,接口 ID 只是 IPv6 地址的一半,還需要一個(gè) 64 位的前綴。前面提到過,鏈路本地前綴是 0xFF80::/10 。用它作為 64 位前綴( 0xFF80::/64 ),再加上轉(zhuǎn)換后的接口 ID ,就是一個(gè)完整的 IPv6 地址,可以和同一鏈路上設(shè)備進(jìn)行通信。如果一臺主機(jī)只需要和所在鏈路上的設(shè)備通信,那么它自動配置的鏈路本地地址就已經(jīng)滿足了。但是如果主機(jī)需要和鏈路之外的設(shè)備通信,那么它就需要一個(gè)更大范圍的地址,通常是一個(gè)全球 IPv6 地址。有兩種途徑獲取這類地址:有狀態(tài)或無狀態(tài)的地址自動配置。使用 DHCPv6 服務(wù)器來分配 IPv6 地址,稱為有狀態(tài)地址自動配置。主機(jī)要么根據(jù)預(yù)先的配置查找 DHCPv6 服務(wù)器,要么收到字段 M 置位的路由器通告報(bào)文來獲取 DHCPv6 服務(wù)器。更有趣的是無狀態(tài)地址自動配置( Stateless Address Autoconfiguration ,SLAAC ),不依賴服務(wù)器、不需要手動配置。這個(gè)過程非常簡單,當(dāng)一臺 IPv6 設(shè)備接入網(wǎng)絡(luò)時(shí),會發(fā)送 RS 來查詢網(wǎng)絡(luò)中是否存在路由器。RA 有一個(gè)字段可以告訴 IPv6 設(shè)備使用哪種方式配置自己的 IPv6 地址,這個(gè)字段稱為 M 位。如果 M 位置位,值為 1 時(shí),表示設(shè)備通過 DHCPv6 協(xié)議動態(tài)配置 IPv6 地址;如果 M 位不置位,值為 0 時(shí),則表示設(shè)備通過 SLAAC 來配置 IPv6 地址。IPv6 設(shè)備從收到的 RA 中獲取一個(gè)或多個(gè)鏈路前綴,再加上之前確定的接口 ID ,就得到了一個(gè)全球唯一的 IPv6 地址。IPv6 設(shè)備執(zhí)行 SLAAC 的過程,不需要人工干預(yù),也沒有 DHCP 服務(wù)器參與,設(shè)備自行完成配置。也就是說,這種機(jī)制為 IPv6 網(wǎng)絡(luò)提供了即插即用功能。4、鄰居地址解析
IPv4 通過 ARP 獲取 MAC 地址,然而 ARP 協(xié)議無法照搬到 IPv6 環(huán)境中,IPv6 沒有定義廣播地址。為了解決查詢目的設(shè)備的 MAC 地址問題, IPv6 通過 NDP 獲取 MAC 地址。IPv6 設(shè)備使用 NS 和 NA 來實(shí)現(xiàn) MAC 地址的查詢和響應(yīng)。IPv6 使用目的節(jié)點(diǎn)組播地址作為 NS 的目的地址。目的節(jié)點(diǎn)的組播地址的前 104 位固定是 FF02::1:FF ,后 24 位使用目的單播 IPv6 地址接口 ID 的后 24 位。當(dāng)接口獲取一個(gè)單播或任意播 IPv6 地址時(shí),就會同時(shí)監(jiān)聽發(fā)送給這個(gè)單播地址對于的目的節(jié)點(diǎn)組播地址。如果目的節(jié)點(diǎn)是鏈路之外的節(jié)點(diǎn),那么可以通過路由器通告報(bào)文,獲取默認(rèn)路由器的 MAC 地址。如果目的節(jié)點(diǎn)在鏈路內(nèi),那么節(jié)點(diǎn)會先查找鄰居緩存看一下是否已經(jīng)學(xué)到這個(gè)地址。IPv6 的鄰居緩存和 IPv4 的 ARP 緩存相似,記錄 IP 地址和 MAC 地址的對應(yīng)關(guān)系。如果地址不在鄰居緩存中,節(jié)點(diǎn)會發(fā)送一個(gè) NS 。目的節(jié)點(diǎn)收到報(bào)文后,就知道源節(jié)點(diǎn)的 MAC 地址,并回復(fù)鄰居通告報(bào)文。如果目的節(jié)點(diǎn)存在并且收到了 NS ,那么它會回復(fù)一個(gè) NA 。這個(gè) NA 的目的地址就是源節(jié)點(diǎn)的源地址。收到響應(yīng)的 NA 后,源節(jié)點(diǎn)就把目的節(jié)點(diǎn)的 MAC 地址添加到鄰居緩存的條目中。NDP 的 NA 還有另一種用法,當(dāng) IPv6 節(jié)點(diǎn)的 MAC 地址發(fā)生變化時(shí),也可以在未收到 NS 的情況下,直接向本地鏈路發(fā)生一條 NA ,向本地鏈路上其它設(shè)備通告新的 IPv6 地址和 MAC 地址的對應(yīng)關(guān)系。因?yàn)槟康氖峭ǜ娼o鏈路中所有設(shè)備,而不是某一臺設(shè)備,所有 NA 的目的地址就是鏈路本地所有節(jié)點(diǎn)組播地址( FF02::1 )。5、地址沖突檢測
雖然通過 MAC 地址轉(zhuǎn)換成接口 ID ,大多數(shù)情況下可以保證是設(shè)備地址是唯一的,但是也可能存在重復(fù) MAC 地址的情況,因此不管設(shè)備是如何獲取地址的,都需要在使用之前進(jìn)行地址沖突檢測。獲取一個(gè)地址的節(jié)點(diǎn)會把新地址作為臨時(shí)狀態(tài)的地址。在地址沖突檢測完成前,地址不能被使用。節(jié)點(diǎn)會發(fā)送目的地址是新地址的 NS 來驗(yàn)證。NS 的源地址是未指定地址,目的地址是目的節(jié)點(diǎn)的組播地址。如果節(jié)點(diǎn)收到一個(gè) NS ,并且目的地址是這個(gè)節(jié)點(diǎn)已經(jīng)使用的地址,就會發(fā)送一個(gè)目的地址為已使用地址的 NA 。源節(jié)點(diǎn)收到 NA 后,就會知道這個(gè)地址是沖突的,并且不能使用。6、私有地址
無狀態(tài)地址自動配置會有一個(gè)安全隱患:即使一臺設(shè)備從一個(gè)子網(wǎng)轉(zhuǎn)移到另一個(gè)子網(wǎng),它的接口 ID 始終保持不變。那么就可以通過接口 ID 來識別用戶,推斷出用戶的所在位置,追蹤用戶的活動和位置記錄,暴露個(gè)人隱私信息。這個(gè)問題可以通過 IPv6 私有地址來解決。私有地址是隨機(jī)生成的接口 ID 。接口 ID 通常一天變化一次,也會在獲取一個(gè)新的 IPv6 地址時(shí)改變。但是服務(wù)器的地址不需要經(jīng)常變化。跟服務(wù)器通信的節(jié)點(diǎn),以及 DNS 服務(wù)器必須通過靜態(tài)地址了解服務(wù)器的位置。因此,標(biāo)準(zhǔn)的無狀態(tài)配置的 IPv6 地址保留“公共”地址,任何一個(gè)向服務(wù)器發(fā)送數(shù)據(jù)時(shí),使用這個(gè)地址作為目的地址。但是服務(wù)器發(fā)送數(shù)據(jù)時(shí),使用的卻是私有地址。這就像公司的分機(jī)短號一樣,你能看見是誰在打你電話,但是別人看不到你的號碼。end微信公眾號后臺回復(fù)關(guān)鍵字“加群”,添加小編微信,拉你入技術(shù)群。