閒談IPv6 典型特徵的一些技術細節

2021-09-21 04:39:13 字數 2651 閱讀 3540

這個已經不用再說了。除了空間巨大,固定長度的字首分配也使得位址分配更加均衡。

ipv6使得聯網裝置真的成了即插即用,一切都是通過自動生成的鏈路本地位址開始的,如果沒有這個開始,將不會存在後續的自動化。任何支援ipv6的裝置都會為介面生成乙個鏈路本地位址,所有的鏈路本地位址都是fe80開頭的,巧妙的是最後的64位,是通過鏈路層位址生成的,典型的是eui-64對映,將48位的乙太網mac位址對映成64位的鏈路本地位址的介面標識,生成這個鏈路本地位址後,即使沒有路由器,同一鏈路的裝置也能通過這個位址進行ip層的通訊。ipv6中,鏈路層和ip層就這樣巧妙的結合在一起,鏈路層提供資訊,ip層使用之,使通訊成為可能。

但是ipv6協議規定,使用這個自動生成的鏈路本地位址不能跨越路由器,我們知道,所謂的網際網路就是由路由器連線而成的,網際網路資料通訊必須跨越路由器,也就是說必須有乙個非鏈路本地位址的ipv6位址。既然有了同一鏈路可用的鏈路本地位址,那就意味著使用鏈路本地位址可以和同一鏈路的路由器通訊了(乙個路由器的每乙個介面表示乙個鏈路),ipv6定義了很多的鄰居發現報文,可以讓路由器告訴終端裝置介面資訊應該配置成什麼,這就是所謂的自動配置,從開始到最後,不需要人工干預,普通使用者再也不需要為配置位址這種技術型的工作犯愁了。下面就是自動配置的流程圖:

openvpn的路由自動推送和自動位址配置和ipv6及其相似。

ipv6乙太網的位址解析使用組播進行,不再使用廣播。這個過程十分簡單,如果知道節點的ipv6位址,其組播位址可以自動算出來,然後就往這個組播位址傳送解析報文請求即可,其實就是個鄰居發現,得到回應後將mac-ip對快取起來,這個mac-ip對的快取有乙個狀態圖,這個狀態圖猛一看好像是linux的arp快取狀態圖,它們太像了,簡直就是乙個:

對比《linux實現的arp快取老化時間原理解析

》裡面的那幅圖。

然而和liunx維護的arp狀態圖不同的是,ipv6的鄰接點快取不再通過複雜的計算以及協議外的原則來維護,而是通過報文本身來維護,比如arp快取的更新機制是「收到來自同一ip的裝置的arp包」即覆蓋,ipv6則是使用鄰接點公告報文中的「覆蓋標誌」來決定是否更新的。二者的差別僅僅是乙個是實現,乙個是協議標準自帶的。

ipv6之所以可以自動配置,正是由於存在諸多的發現報文,典型的就是:

a.鄰接點請求/公告

b.路由器請求/公告

這些發現報文全部由icmpv6來承載,路由器發現機制在ipv4實現中是可選的,然而ipv6實現中卻是必須的。位址和路由的自動配置資訊正是從這些發現報文中得到的。

諸多的自動化配置也需要對應的自動化失效機制,這就是引入了ipv6的乙個針對位址的概念,也算是乙個位址的屬性吧,那就是位址的狀態,乙個位址使用下面的狀態中的一種:試探,有效(選用/丟棄),無效,無疑,具體屬於哪個狀態和超時時間以及接收到的訊息有關。

路由器配置非自動化,因為它需要表示人的策略,主機配置自動化,因為它僅僅被使用。ipv6路由器是不能使用自動配置機制的,配置路由器的人基本都是專業人士,ipv4的配置困難恰恰在於把路由配置,ip位址配置這種技術性的工作交給了使用者而不是管理員,要知道管理員不能去配置每乙個終端,dhcp雖然可以,但它畢竟是乙個外圍的協議,並非ipv4本身的性質。ipv6徹底解放了廣大使用者,使用ipv6,所有人的終端就成了即插即用的了,類似傳統家用電器那樣子。

因此,ipv6的主幹是配置而成,而葉子則是自己長出來的。主幹嫁接容易,葉子卻只能長出來,ipv4的葉子就是嫁接的,很不成功。這也符合我們的常識,一般都是在既有的樹木上嫁接一系列光禿禿的枝幹,然後等待葉子自己長出來...

在配置linux位址或者路由時,你可能會注意到乙個scope引數,雖然你幾乎不會用到它,然而到了ipv6,這個scope竟然整合進了ipv6位址本身,不同的字首代表不同的scope。

在使用windows的時候,當你使用多塊網絡卡配置了多個預設閘道器或者dhcp得到了多個預設閘道器的時候,你可能會注意到登錄檔中有乙個deadgwdetectdefault,它根據tcp連線的有效率來判斷使用哪個預設閘道器,然而到了ipv6,週期性的路由器通告竟然成了標準,協議本身就做好了deadgwdetect的工作,並且減少了誤判,做的更好。

在第2節,我解釋了linux的arp實現與ipv6的位址解析,同樣的,這也是乙個最終成為標準的躍躍欲試的想法。也許,很多不開源的協議棧也是這麼實現的吧。因此ipv6可以說是集個大家協議棧於大成,解決了很多問題。

目前大量的應用都是c/s模式(b/s也是cs的一種)的,資料流特徵基本是單向的,並且廣域網的接入層也迎合了這種態勢,adsl正是其體現,不對稱性正是ipv4的缺陷以及nat修補造成的。

ipv6風靡之後,全球所有的節點在理論上將互聯互通,cs模式的應用保持現狀,大量的p2p應用將會湧現,整個網際網路的互動性將大大增強。並且ipv6會影響到廣域網接入技術,adsl這種技術將不再流行,寧可對開也不要三七分。

除了應用,路由器等硬體裝置也會發生大的轉變,nat不再是必須的功能,路由器真的就成了路由器。我們現在使用的家用路由器比如tp-link,d-link,甚至syslink等其實不是什麼路由器,而只是乙個網際網路接入裝置,也不知道當初為何為這種東西取名子為路由器。路由器的一對埠應該是雙向互通的。ipv6使得nat不再流行,諸多家用路由器廠商估計也要對自己的軟體進行大的公升級改造了。

閒談IPv6 典型特徵的一些技術細節

這個已經不用再說了。除了空間巨大,固定長度的字首分配也使得位址分配更加均衡。但是ipv6協議規定,使用這個自動生成的鏈路本地位址不能跨越路由器,我們知道,所謂的網際網路就是由路由器連線而成的,網際網路資料通訊必須跨越路由器,也就是說必須有乙個非鏈路本地位址的ipv6位址。既然有了同一鏈路可用的鏈路本...

對ipv6的一些理解

因為使用ppoe的網路的獲取的ipv4位址一向是10.開頭的私有ip,所以雖然有ipv6,還以為在公網是無 法訪問的,近來嘗試一翻,成功在手機流量訪問了nas的服務,下面總結一些理解。1 ipv6只有2 3開頭的位址才是可在公網訪問的,乙個介面卡可能有多個ipv6位址 2 ipv6分網路號段與主機段...

IPv6位址的一些概念

ipv6涉及到乙個概念,link local address,中文叫 鏈路本地位址 它的字首是fe80 64 乙個link local address的範例 fe80 713e a426 d167 37ab 實際上,這個概念類似於ipv4中,當dhcp分配失敗時自動生成的169.254.這樣的位址,...