邂逅IPv6 掃盲

2021-12-29 19:43:52 字數 3634 閱讀 2179

ipv6 吆喝很多年了,但因為國內沒有成熟的商用環境,所以一直覺得它離我的工作還很遠。沒想到,最近公司投標中科院的乙個專案,就是以 ipv6(曰:基於下一代網際網路的)為核心課題的,將要建成乙個覆蓋全國百餘家科研單位的 ipv6 示範網路。

為了寫標書,最近讀了不少 ipv6 相關的資料,總體的感覺是有點「亂」。亂的原因,一方面,因為 ipv6 的相關標準,最近幾年還在不斷的變化,尤其是位址分配策略,較早的資料和新的資料有矛盾;另一方面,ipv6 網多數都處在研究和試驗階段,很多資料本身的權威性也不是太高。

這個專案和 c n n i c 有莫大的關係,我不好說這是國內 ipv6 發展的乙個標誌性事件,但至少說明 ipv6 相關的研究在國內加快腳步了,因為,ipv4 的位址資源實在是太緊張了。

在沒有深入研究ipv6之前,我以為ipv6只是在ipv4的基礎上,將位址加長了。實際上不是這麼簡單。因為ipv6的出現,引出了了ip層通訊協議、dhcp協議、dns協議、路由協議等一系列的變化。今天這篇文章,先說說ipv6的位址。

世界上的ip位址怎麼來的?

第一步,由ietf制定規範,就是他們定下 ipv4 是 32bits,ipv6是 128bits。定下長度後,他們還要決定位址的初始劃分,比如,在ipv4裡,a類位址、b類位址、c類位址的界定,哪些位址是預留的,哪些(比如192.168.*.*,127.0.0.1等特殊位址)是有特殊含義的,剩下的,才是可分配的。

第二步,可分配的位址,統一交給iana管理。iana自己預留一些,然後根據需要,將大塊的位址分配給各地區「**商」(regional internet registeries,rir)。目前世界上一共有五個rir,負責包括中國在內的亞太地區的 rir 就是 apnic。

第三步,各rir在各自負責的區域內,根據運營商(isp)的申請,向他們授予位址塊,當然,在中國,cnnic全權負責國內ip位址和網域名稱的管理。

第四步,使用者從運營商獲得ip位址。

ipv4 位址資源現狀:

先看一條最近的新聞:2023年12月1號,iana 向 arin 和 ripe 各授予兩個 a 類位址,這樣,iana 手裡就只剩下7個空閒的a類位址了(2.73%)。按照網際網路位址使用的趨勢推測,專家認為,iana 手裡的位址將在2023年第三季度用完(全部分配到五大區的rir),而rir手裡的位址,將在2023年第二季度,全部分配到isp手中,雖然isp到終端使用者手裡還能再緩一段時間,但可以肯定的說,2023年世界末日沒來,ipv4的末日來了。

ipv4位址耗盡,最大的受害者是誰?應該是歐洲和亞洲。網際網路發源於美國,相關標準和頂級分配機構也掌握在美國手中,美國擁有超過70%的ipv4位址,而且美國網際網路普及率也超過70%,而中國擁有不到4%的位址,網際網路普及率20%,歐亞大陸普遍被ip位址匱乏所困擾。

對ipv6的感性認識:

ipv6位址有128位,能夠提供 340,282,366,920,938,463,463,374,607,431,768,211,456 個位址。地球的表面積是 511,263,971,197,990 平方公尺,意味著,每平方公尺可以分配到 665,570,793,348,866,943,898,599 個ipv6位址,依然大的驚人。

總之一句話,在ipv6時代,我們真的不發愁位址不夠用了。

ipv6位址規劃和分配情況

ipv6位址的寫法

ipv6的位址長度是ipv4的四倍,如果還按照ipv4那樣寫,受得了嗎?

202.95.34.211.183.238.65.223.10.10.152.3.172.24.24.233

暈死。所以,ipv6位址有全新的記法,先看例子:

abcd:ef01:2345:6789:abcd:ef01:2345:6789

位址分為8段,每段用4個16進製制數(不區分大小寫,推薦小寫)表示兩個位元組,段之間用:分割。

當然,對於乙個全長的位址,還是暈!

不過,根據ipv6位址中0比較多的特性,有幾個簡化原則,可以讓位址變得簡單:

> 每段的前導0可以省略,也就是:00ab 可直接寫 ab

> 如果有連續的1到n段全都是0,可以簡寫成 ::,但每個位址中,這個規則只能使用一次

例子:

ff01:0000:0000:0000:0000:0000:0000:101 –> ff01:0:0:0:0:0:0:101 –> ff01::101

0:0:0:0:0:0:0:1 –> ::1

0:0:0:0:0:0:0:0 –> ::

很多時候,我們會看到ip位址後面跟著乙個/24,/8等等,這是子網掩碼,在ipv4時代,另一種寫法是:

255.255.255.0

在ipv6中,只使用簡化寫法,例如下面的位址:

ff01::101/64

這裡的64,可以理解成子網掩碼(不是特別準確),它代表以這個位址前64位為字首的這樣乙個位址範圍(子網),也就是:

從 ff01:: 一直到 ff01::ffff:ffff:ffff:ffff

ipv6的位址型別

> unicast,單播位址。

這就是我們日常使用的ip位址。

> anycast,任意播位址(還是不翻譯的好,照這樣下去,世界bo都得出來了)。

anycast位址可以設給一組網路介面,發向這個位址的資料報,會被**到其中的某乙個(只有乙個)介面上(具體是誰,通常由路由裝置決定)

> multicast,多播位址。

multicast位址可以設給一組網路介面,發向這個位址的資料報,會被**到所有介面上。

注: ipv6沒有廣播位址(broadcast)。

ipv6位址中某段全為0或者全為都1是合法的(特殊約定除外,在ipv4中,這兩種情況全是非法的)

ipv6高層位址規劃

就像ipv4劃分a、b、c三類位址,並預留特殊位址一樣,ietf對ipv6也做了大粒度的位址規劃,主要有:

> 全零位址 - ::

這個位址的含義是「不確定」,是乙個介面尚未設定ip位址的狀態,它不能被用作常規的ip位址使用。

> 僅末位是1的位址 - ::1

本地loopback位址,等價於ipv4的127.0.0.1

> multicast 多播位址 -  ff00::/8

多播位址前八位全為1

> link-local unicast 鏈路本地單播位址 - fe80::/10

鏈路本地單播位址前10位是:1111111010,

這類位址的主要用途是dhcp自動位址分配、供路由協議使用等等。

> global unicast 全球單播位址

這就是我們會用到的普通位址,除了前幾類預留的位址外,剩餘的全是這種位址。

ipv6的位址規劃幾經變更,因此這部分的資料比較混亂,互相矛盾,最好的就是研讀rfc。比如,很多資料中提到的site-local address,其實已經正式被廢棄了(rfc3878),目前關於ipv6 位址規劃的最新規範是 rfc4291。

ipv6位址的分配和利用情況

目前,ietf拿出了乙個三位掩碼的位址段,交給iana進行分配,佔總位址空間的12.5%,其餘位址暫時保留。這個位址段是:2000::/3

由於位址多了,iana是家中有糧,心裡不慌,原則上只受理 rir 的 /32 或者更大的位址段申請。而 rir 向 isp 的位址發放,預設為 /48,最小是 /64。

ipv6,也被稱為ipng,下一代網際網路技術。

這是一次革命,如果第一次網際網路時代,我們生不逢時,我們能在這次狼巢中抓住點兒什麼?

邂逅IPv6 掃盲 IP位址篇

ipv6 吆喝很多年了,但因為國內沒有成熟的商用環境,所以一直覺得它離我的工作還很遠。沒想到,最近公司投標中科院的乙個專案,就是以 ipv6 曰 基於下一代網際網路的 為核心課題的,將要建成乙個覆蓋全國百餘家科研單位的 ipv6 示範網路。為了寫標書,最近讀了不少 ipv6 相關的資料,總體的感覺是...

IPv6技術 什麼是IPv6

ipv6技術 1 引言 ipv4位址即將耗盡,因此需要移轉至ipv6的討論,過去數年來一直不曾中斷。ipv4和ipv6在報文結構 報文字段意義以及位址配置諸多方面都有顯著的不同,這給從ipv4到ipv6過渡時期internet的運作帶來了極大的困難。當前接入網技術上幾乎所有的應用都是構建在ipv4上...

IPv6知識概述 IPv6位址

首選格式 x x x x x x x x x表示乙個4位十六進製制數 典型的例子如下所示 2000 0000 0000 0000 0001 2345 6789 abcd ipv6位址每段中的前導0是可以去掉的,但是至少要保證每一段有乙個數字。將不必要的前導0去掉後,上述位址可以表示為 2000 0 ...