亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GNS3的IPv6 隧道配置及封裝分析

        2021-09-06 08:55:36
        喀什大學(xué)學(xué)報 2021年3期

        陳 利

        (蕪湖職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)工程學(xué)院,安徽蕪湖 241003)

        關(guān)鍵字:IPv6隧道;封裝;抓包;分析;隧道中繼

        現(xiàn)階段,絕大多數(shù)網(wǎng)絡(luò)仍然采用IPv4 協(xié)議,稱為IPv4 網(wǎng)絡(luò).IPv4 網(wǎng)絡(luò)本身固有的缺陷使得其被IPv6 網(wǎng)絡(luò)取代成為必然.但I(xiàn)Pv4 網(wǎng)絡(luò)要完全過渡到IPv6 網(wǎng)絡(luò)還需要相當(dāng)長的一段時間[1].在IPv4 和IPv6 共存時期,諸如IPv4 網(wǎng)絡(luò)與IPv6 網(wǎng)絡(luò)能否互訪、如何互訪,IPv6 網(wǎng)絡(luò)如何跨越IPv4網(wǎng)絡(luò)實現(xiàn)通信等問題,是目前網(wǎng)絡(luò)通信中面臨的現(xiàn)實問題.

        借助IPv6 過渡技術(shù)可以解決上述一系列問題.IPv6 過渡技術(shù)概括起來分為雙協(xié)議棧技術(shù)、隧道技術(shù)和網(wǎng)絡(luò)地址轉(zhuǎn)換及協(xié)議轉(zhuǎn)換技術(shù)[2].在網(wǎng)絡(luò)設(shè)備上同時啟用IPv4 協(xié)議棧和IPv6 協(xié)議棧,其與IPv4 網(wǎng)絡(luò)、IPv6 網(wǎng)絡(luò)通信時分別使用IPv4 協(xié)議、IPv6 協(xié)議即為雙協(xié)議棧技術(shù).該技術(shù)是應(yīng)用最廣泛、最基礎(chǔ)的IPv6 過渡技術(shù).

        在網(wǎng)絡(luò)應(yīng)用系統(tǒng)中,隧道技術(shù)是將一種協(xié)議的報文封裝在另一種協(xié)議中后再進(jìn)行傳輸?shù)募夹g(shù),它實質(zhì)上是數(shù)據(jù)的多次封裝技術(shù)[3].IPv6 過渡技術(shù)中的隧道技術(shù)針對IPv6 報文再封裝IPv4 報頭,從而實現(xiàn)在IPv4 網(wǎng)絡(luò)中傳輸IPv6 數(shù)據(jù)的目的[4].通過IPv6 隧道技術(shù)可以實現(xiàn)IPv6 網(wǎng)絡(luò)跨IPv4 網(wǎng)絡(luò)互通的目的,從而解決當(dāng)前以IPv4 技術(shù)為主的網(wǎng)絡(luò)中的IPv6 孤島互連互通問題[5].

        對于IPv4 網(wǎng)絡(luò)中的IPv6 隧道來說,在隧道的源端將IPv6 報文封裝IPv4 報頭,在隧道的終端解封裝IPv4 報頭后將IPv6 報文交由IPv6 網(wǎng)絡(luò)處理.隧道技術(shù)僅要求其兩端的設(shè)備能夠支持隧道及雙協(xié)議棧技術(shù),而網(wǎng)絡(luò)中的其他設(shè)備則無特別要求.因此,隧道技術(shù)實現(xiàn)方便,是當(dāng)前主流的IPv6 過渡技術(shù)之一[6].本文在GNS3 模擬器中完成了多種IPv6 隧道的配置,抓包分析了它們的封裝,并結(jié)合IPv6 隧道中繼實現(xiàn)了IPv6孤島的互聯(lián)互通.實驗網(wǎng)絡(luò)拓?fù)淙鐖D1 所示.各設(shè)備按圖示配置網(wǎng)絡(luò)參數(shù)及路由協(xié)議,IPv4 網(wǎng)絡(luò)、IPv6 網(wǎng)絡(luò)已各自全網(wǎng)互通,路由器R1的F0/0口通過GNS3 中的網(wǎng)云橋接到IP 地址為172.18.165.249/24的win7 主機(jī)上.

        圖1 實驗網(wǎng)絡(luò)拓?fù)?/p>

        1 IPv6隧道分類

        作為IPv6過渡技術(shù)之一的IPv6隧道可以兩兩建立在設(shè)備、主機(jī)之間,依據(jù)隧道解封裝端的IPv4地址是從IPv6 地址中自動獲取還是手工配置,可將IPv6隧道分為自動隧道和手工隧道兩大類[7].下面先介紹配置、理解起來較為簡單的手工隧道.

        1.1 手工隧道

        隧道終點的IPv4 地址需要手工配置的叫手工隧道,包括IPv6-over-IPv4 GRE 隧道(簡稱GRE 隧道)和手動隧道兩種.如果配置隧道時的模式選擇為GRE,則其為GRE隧道.其隧道模式的配置命令為tunnel mode gre ip.在GNS3 中的思科設(shè)備上,GRE 隧道是默認(rèn)的隧道技術(shù).如果配置時的模式選擇為IPv6-IPv4,則為手動隧道.其隧道模式的配置命令為tunnel mode ipv6ip.手工隧道在配置時不僅要配置隧道的源,還要配置隧道的目的.手工隧道是點到點鏈路,通常是建立于路由器之間的穩(wěn)定連接,可以實現(xiàn)IPv6孤島跨IPv4網(wǎng)絡(luò)互通.但由于隧道兩端都需要配置源與目的,當(dāng)需要互連的IPv6 孤島較多時,則隧道配置及管理的工作量巨大.

        1.2 自動隧道

        IPv6 自動隧道是指隧道終點不需要專門配置,而是從IPv6 報頭特定格式的目的地址中自動分離的一種隧道技術(shù).配置自動隧道時,不需要像配置手工隧道時那樣既指出隧道的源又指出隧道的目的,它只需要配置隧道的源即可實現(xiàn)跨IPv4網(wǎng)絡(luò)的IPv6 網(wǎng)絡(luò)的互通.此時隧道的目的可以根據(jù)一定的規(guī)則從IPv6 報文中自動獲取.要實現(xiàn)從IPv6 報文的目的地址中自動獲取IPv4 地址(即隧道的目的),一般通過將IPv4地址內(nèi)嵌到IPv6地址中的特殊形式實現(xiàn).常見的IPv6 自動隧道可以細(xì)分為IPv4 兼容IPv6 自動隧道、6to4 隧道、ISATAP隧道及6PE 隧道等幾種.6PE 隧道建立在MPLS/VPN網(wǎng)絡(luò)上,相對復(fù)雜,限于篇幅本文不做討論.

        1.2.1 IPv4兼容IPv6自動隧道

        IPv4 兼容IPv6 自動隧道也簡稱為自動隧道.隧道源端采用IPv4 兼容IPv6 地址::x.y.z.t/96 這一特殊地址格式,其中x.y.z.t 是IPv4 地址,配置時以16 進(jìn)制形式出現(xiàn).通過特殊的IPv6 地址中內(nèi)嵌IPv4 地址的方式實現(xiàn)了IPv6 隧道終端的自動確定,隧道建立方便.由于此種IPv6 隧道必須借助IPv4 兼容IPv6 地址形式,本質(zhì)上仍依賴匱乏的IPv4 地址,使用時有很大的局限性.受限于IPv4 兼容IPv6 地址已被棄用[8],此種隧道目前已很少見.其隧道模式的配置命令為Tunnel mode ipv6ip auto-tunnel.

        1.2.2 6to4隧道

        6to4 隧道是指借助特定格式的6to4 地址形成的跨IPv4 網(wǎng)絡(luò)的IPv6 隧道,實現(xiàn)了跨IPv4 網(wǎng)絡(luò)的IPv6 孤島的互通.該隧道從特定格式的IPv6 報文的目的地址中自動分離出隧道終點的IPv4 地址,實現(xiàn)了跨IPv4 網(wǎng)絡(luò)的IPv6 隧道的自動建立.實現(xiàn)此功能特定格式的6to4 地址前綴規(guī)定為2002:x.y.z.t::/48.其中2002 是規(guī)定的IPv6 地址前綴,x.y.z.t表示該隧道對應(yīng)的32 位IPv4 地址,配置時以16 進(jìn)制形式出現(xiàn),如2.2.2.2 則應(yīng)該表現(xiàn)為202:202.這種在IPv6 地址中嵌入IPv4 地址的形式,實現(xiàn)了6to4 隧道的自動建立,相對于手工隧道來說,該方式易于隧道的擴(kuò)展,簡化了隧道的配置,方便了隧道的管理.除去特定的2002 先導(dǎo)及內(nèi)嵌的IPv4 地址,6to4隧道還可以自定義16位值,形成64位網(wǎng)絡(luò)前綴,而64 位的接口ID 可以手工配置,也可以自動生成.該隧道模式的配置命令為tunnel mode ipv6ip 6to4.

        1.2.3 ISATAP隧道

        ISATAP 是Intra-Site Automatic Tunnel Addressing Protocol的簡稱,中文意為站內(nèi)自動隧道尋址協(xié)議.ISATAP協(xié)議不僅能實現(xiàn)自動隧道,還能在隧道兩端設(shè)備之間運行ND 協(xié)議,從而實現(xiàn)IPv4網(wǎng)絡(luò)中的設(shè)備自動配置IPv6 地址的功能.與6to4隧道類似,ISATAP 隧道的地址也有特定格式,它的64 位接口ID 必須為0:5EFE:a.b.c.d.其中0:5EFE 為IANA 規(guī)定的固定值,a.b.c.d 是以16 進(jìn)制形式嵌入到IPv6 地址最后32 位的單播IPv4 地址.位于IPv4 網(wǎng)絡(luò)中的ISATAP 主機(jī)的64 位前綴可以通過向ISATAP 路由器發(fā)送ND 協(xié)議自動獲得.該隧道模式的配置命令為tunnel mode ipv6ip isatap.

        2 IPv6隧道配置及抓包

        IPv6 隧道的配置,一般需要經(jīng)過四步:第一步,要創(chuàng)建并進(jìn)入隧道接口.在全局配置模式下使用命令interface tunnel XX進(jìn)行.其中XX為隧道編號,本地有效.第二步,配置隧道的模式,在tunnel接口下使用命令tunnel mode 進(jìn)行.配置時可以根據(jù)實際需要選擇合適的模式.一般隧道較少且相對固定時,其模式可以選擇手工隧道;如果隧道較多,且不固定時,其模式可以選擇自動隧道.不同類別的隧道需要選擇合適的隧道模式,并且需要保證隧道兩端使用的模式相同.否則,隧道可能因為封裝、解封裝失敗而不能正常建立.第三步,根據(jù)選擇的隧道模式,配置隧道的源,或者源與目的.由于隧道是跨IPv4 網(wǎng)絡(luò)的,因此隧道的源為IPv4地址(或源接口),用命令tunnel source XXXX 實現(xiàn).若需要配置隧道的目的,使用命令tunnel destination XXXX 實現(xiàn).不管是手工隧道,還是自動隧道,隧道的源和目的必須IP 可達(dá).第四步,由于配置的是IPv6 隧道,因此需要使用IPv6 address 命令為隧道配置IPv6 地址.該地址要根據(jù)配置的隧道類別不同,采用不同的特定格式.

        不同的IPv6 隧道外在差異表現(xiàn)在配置命令不同,本質(zhì)區(qū)別在于隧道的封裝上.基于圖1的網(wǎng)絡(luò)拓?fù)?,在GNS3中配置并抓包比較各種IPv6隧道的封裝,以加深對隧道技術(shù)的理解.實驗中路由器設(shè)備的IOS為12.4版本.

        2.1 IPv6 手工隧道配置及抓包

        不管是手工隧道還是自動隧道,隧道的源必須配置.對于手工隧道還必須配置其目的.為方便起見,本文tunnel兩端的IPv6地址均配置為同一網(wǎng)段地址,避免了tunnel兩端地址不在同一網(wǎng)段需要配置轉(zhuǎn)發(fā)路由的問題.

        2.1.1 IPv6 GRE隧道配置及抓包

        GRE 是Generic Routing Encapsulation的 簡稱,即通用路由封裝協(xié)議.該協(xié)議可以封裝多種網(wǎng)絡(luò)層協(xié)議報文,實現(xiàn)在IPv4 網(wǎng)絡(luò)中傳輸被封裝數(shù)據(jù)的目的[9].GRE 隧道是最傳統(tǒng)的隧道技術(shù),通過多次封裝GRE可以在兩個遠(yuǎn)程網(wǎng)絡(luò)之間模擬出直連鏈路,達(dá)到直連的效果.此時,圖1 中R2 與R3 相當(dāng)于通過tunnel 直接互聯(lián),圖1的網(wǎng)絡(luò)拓?fù)淇珊喕癁閳D2 所示.為了使圖2的IPv6 網(wǎng)絡(luò)全網(wǎng)互通,可以將tunnel口宣告進(jìn)原IPv6網(wǎng)絡(luò)的RIPng協(xié)議中.

        圖2 配置手工隧道后的簡化圖

        圖2 中配置IPv6 GRE 隧道時,R2 上的關(guān)鍵配置如下:

        R2(config)#interface tunnel 2//創(chuàng)建并進(jìn)入tunnel口,編號2本地有效;

        R2(config-if)#tunnel mode gre ip//設(shè)置tunnel的模式為gre,默認(rèn),可省;

        R2(config-if)#tunnel source 2.2.2.2//設(shè)置tunnel的源;

        R2(config-if)#tunnel destination 3.3.3.3//設(shè)置tunnel的目的;

        R2(config-if)#ipv6 address 2003::2/64//設(shè)置tunnel的ipv6地址;

        R2(config-if)#ipv6 rip A enable//宣告tunnel口進(jìn)RIPng路由協(xié)議.

        R3 上的關(guān)鍵配置與此類似,注意將tunnel的源和目的互換.配置完成后,在R6 路由器上通過命令ping ipv6 5::7 測試兩端IPv6 網(wǎng)絡(luò)的連通性,結(jié)果可通,實現(xiàn)了IPv6 網(wǎng)絡(luò)跨IPv4 網(wǎng)絡(luò)互通的目的.在IPv4 網(wǎng)絡(luò)中收發(fā)數(shù)據(jù)的任一接口抓包,結(jié)果如圖3 所示.從圖3 可知,ICMPv6的Echo request報文先封裝了IPv6的報頭,源為4::6,目的為5::7;再封裝了GRE 頭;最后封裝了IPv4 報頭,源為2.2.2.2,目的為3.3.3.3,分別為配置tunnel時的源和目的.正是由于封裝了這個IPv4 報頭,才使得IPv6的報文能夠在IPv4 網(wǎng)絡(luò)中傳輸,實現(xiàn)了跨IPv4 網(wǎng)絡(luò)的IPv6孤島的互通.

        圖3 IPv6 GRE封裝

        GRE 隧道的優(yōu)勢在于其可以封裝很多種網(wǎng)絡(luò)層協(xié)議,而不僅僅是IPv6.但GRE 在隧道兩端的封裝、解封裝過程,以及由于多次封裝增加了報文長度,會導(dǎo)致啟用GRE的設(shè)備轉(zhuǎn)發(fā)效率的下降.

        2.1.2 IPv6手動隧道配置及抓包

        針對IPv6 孤島的連通需求來說,完全可以使用IPv6 手動隧道替代IPv6 GRE 隧道.IPv6 手動隧道的配置與IPv6 GRE 隧道非常相似,在保持網(wǎng)絡(luò)環(huán)境及其他配置不變的情況下,只需要通過命令tunnel mode ipv6ip 修改隧道模式為ipv6ip 即可.同IPv6 GRE 隧道一樣進(jìn)行抓包,結(jié)果如圖4 所示.可見,IPv6手動隧道對ICMPv6報文在封裝了IPv6報頭后,直接封裝了IPv4報頭.

        圖4 IPv6手動隧道封裝

        隧道模式的改變意味著報文封裝的改變.在實現(xiàn)既定功能的情況下,IPv6 手動隧道的報頭結(jié)構(gòu)較IPv6 GRE報頭封裝簡單,報頭長度減小,設(shè)備轉(zhuǎn)發(fā)效率較高.只是此模式僅能對IPv6 報文進(jìn)行IPv4 報頭的再次封裝,而不能對其他協(xié)議的報文進(jìn)行再封裝.

        2.2 IPv6自動隧道配置及抓包

        IPv6 手工隧道易于理解,便于實現(xiàn).但由于手工隧道既需要配置源,又需要配置目的,當(dāng)隧道數(shù)量增加時,其配置、管理、維護(hù)的工作量大大增加.此時,自動隧道的優(yōu)勢就非常突出了.自動隧道利用內(nèi)嵌IPv4 地址的特殊IPv6 地址,從IPv6 報文中自動確定隧道終點,實現(xiàn)了隧道的自動建立,大大簡化了隧道的配置和管理工作.

        2.2.1 IPv4兼容IPv6隧道配置及抓包

        作為IPv6 自動隧道之一的IPv4 兼容IPv6 隧道,其配置與其他IPv6 隧道的配置大致相同.由于其IPv6地址為IPv4兼容地址,因此,該地址不需要用ipv6 address進(jìn)行配置,只要確保隧道模式正確,即可以根據(jù)隧道IPv4源地址自動生成.針對圖1所示的網(wǎng)絡(luò)拓?fù)?,在路由器R2上其關(guān)鍵配置如下:

        R2(config)#interface tunnel 2//創(chuàng)建并進(jìn)入tunnel口,編號2本地有效;

        R2(config-if)#tunnel mode ipv6ip auto-tunnel//設(shè)置tunnel的模式為IPv4兼容IPv6自動隧道;

        R2(config-if)#tunnel source 2.2.2.2//設(shè)置tunnel的源.自動隧道,不必設(shè)置隧道的目的;特殊IPv6地址格式,自動生成,不需專門配置.

        R3上配置類似,不再贅述.

        自動隧道只指定了源,其目的是根據(jù)實際訪問的IPv6 網(wǎng)絡(luò)不同而動態(tài)自動生成的.因此,自動隧道的Tunnel 口并沒有像手工隧道那樣宣告進(jìn)IPv6 網(wǎng)絡(luò)的路由協(xié)議中.由于對端不確定,即使將tunnel口宣告進(jìn)IPv6網(wǎng)絡(luò)的路由協(xié)議中,本端IPv6網(wǎng)絡(luò)也學(xué)習(xí)不到對端IPv6 網(wǎng)絡(luò)的路由.一般情況下,為了使IPv6 網(wǎng)絡(luò)能夠通過自動隧道跨IPv4 網(wǎng)絡(luò)互通,需要在隧道的源端設(shè)備上配置IPv6 靜態(tài)路由,其出接口指定為創(chuàng)建的tunnel 口.這樣,當(dāng)IPv6的報文匹配此路由時,數(shù)據(jù)包從tunnel 口發(fā)出,從而對其再封裝IPv4頭后在IPv4網(wǎng)絡(luò)上傳輸.

        為了使本端IPv6 網(wǎng)絡(luò)中的所有設(shè)備都能通過IPv6 自動隧道訪問對端IPv6 網(wǎng)絡(luò),可以在隧道源端設(shè)備上將配置的靜態(tài)路由引入到IPv6 網(wǎng)絡(luò)的路由協(xié)議中.或者,為了減少IPv6 網(wǎng)絡(luò)的路由表條目,可以在隧道源端設(shè)備上下放默認(rèn)路由,將非本網(wǎng)絡(luò)的IPv6 數(shù)據(jù)流引向此設(shè)備,再匹配該設(shè)備上配置的靜態(tài)路由后從Tunnel 口發(fā)出.針對本拓?fù)渌玫腞IPng協(xié)議,其下放默認(rèn)路由通過在F0/0接口下執(zhí)行ipv6 rip A default-information originate 命令實現(xiàn).

        路由器R2、R3上的IPv4兼容IPv6隧道配置完成 后,在R2 上 執(zhí) 行 命 令ping ipv6 ::303:303 source::202:202,可通.在IPv4 網(wǎng)絡(luò)中抓包,結(jié)果如圖5 所示.可見,針對ICMPv6的Echo request 報文,先封裝了IPv6 報頭,其源、目的IPv6 地址是IPv4兼容IPv6地址,即ping ipv6命令的源、目的地址.

        圖5 IPv4兼容IPv6隧道抓包

        該報文在R2上發(fā)出時,匹配到R2上的直連路由::/96,從tunnel 口發(fā)出,進(jìn)行隧道的IPv4 再封裝.其目的地址從IPv6 報文中的目的IPv4 兼容IPv6 地址中自動獲取到3.3.3.3,源地址為tunnel 口的源地址2.2.2.2.由于源2.2.2.2 與目的3.3.3.3 在IPv4 網(wǎng)絡(luò)中互通,因此,數(shù)據(jù)包能在IPv4 網(wǎng)絡(luò)上順利傳送.路由器R3 收到此報文后,先進(jìn)行IPv4 解封裝,取出IPv6 報文,送給IPv6 協(xié)議棧處理;回復(fù)ICMPv6的Echo reply 報文,處理過程類似.隧道建立成功.

        但是從該測試對報文的封裝過程也可以看出一些問題.針對IPv4兼容IPv6隧道來說,由于其進(jìn)行隧道IPv4 封裝時,需要借助目的IPv6 地址獲取到目的IPv4 地址后才能正常封裝,因此,當(dāng)目的IPv6 地址不是合法的IPv4 兼容IPv6 地址時,則獲取目的IPv4 地址失敗,導(dǎo)致IPv6 報文不能進(jìn)行正常的隧道封裝,報文被丟棄,網(wǎng)絡(luò)不通.

        作為早期的IPv6 自動隧道技術(shù),IPv4 兼容IPv6 地址隧道受限于地址格式的規(guī)定,隧道的建立和應(yīng)用依賴單播IPv4 地址,不適合大規(guī)模部署.目前該技術(shù)已逐漸被6to4隧道取代[10].

        2.2.2 6to4隧道配置及抓包

        6to4 隧道是第二種IPv6 自動隧道,也是當(dāng)前主流的IPv6 隧道.其配置除按IPv6 隧道的一般操作進(jìn)行外,需要注意隧道的IPv6 地址格式要按規(guī)定采取6to4 地址形式.這也是6to4 隧道名稱的來由.針對圖1的6to4 隧道在路由器R2 上的關(guān)鍵配置如下:

        R2(config)#interface tunnel 2//同前;

        R2(config-if)#tunnel mode ipv6ip 6to4//設(shè) 置tunnel的模式為6to4 自動隧道;

        R2(config-if)#tunnel source 2.2.2.2//設(shè) 置tunnel的源.自動隧道不必設(shè)置隧道的目的;

        R2(config-if)#ipv6 address 2002:202:202:2::2/64//6to4 規(guī)定地址格式.

        R3 上配置類似,不再贅述.

        為了讓跨IPv4 網(wǎng)絡(luò)的IPv6 報文能夠從tunnel 口發(fā)出及方便起見,分別在R2、R3 上配置IPv6 默認(rèn)路由,出接口為tunnel 口.R2 上的具體配置如下:

        R2(config)#ipv6 route ::/0 tunnel 2.

        配置完成后,在R2 上通過命令ping ipv6 2002:303:303:3::3 source 2002:202:202:2::2測試兩端的連通性,可通.該過程抓包結(jié)果如圖6 所示.

        圖6 6to4 隧道抓包細(xì)果

        從圖6 可見,6to4 隧道的封裝與IPv4 兼容IPv6 隧道的封裝形式及封裝過程類似.不同的是它們的隧道IPv6 地址格式.其隧道的IPv4 地址來源也類似,目的IPv4 地址從特定格式的目的IPv6 地址中自動獲取,源IPv4 地址為tunnel的源.將圖6 中的IPv6 封裝頭展開后,可見由IPv6地址自動分離出的IPv4 地址,如圖7 所示.

        圖7 6to4 隧道抓包分析圖

        如同IPv4 兼容IPv6 隧道一樣,受制于隧道IPv6 地址格式的規(guī)定、隧道的IPv4 源、目的地址的獲取方式及封裝過程限制,若要實現(xiàn)隧道兩端的IPv6 網(wǎng)絡(luò)互通,要求IPv6 網(wǎng)絡(luò)中設(shè)備的地址具有與tunnel 口IPv6 地址相同的48 位前綴,即6to4 隧道僅可以直接連通6to4 網(wǎng)絡(luò).圖1 所示的網(wǎng)絡(luò)環(huán)境下,路由器R6 上執(zhí)行ping ipv6 5::7是ping 不通的,并不能實現(xiàn)通過6to4 隧道連通IPv6 孤島的目的,其原因就在于測試的地址不是合法的6to4 地址.將IPv6 網(wǎng)絡(luò)中所有設(shè)備的地址按格式要求更改后,確保IPv6 路由正常,即可實現(xiàn)6to4 隧道連通IPv6 孤島的功能.

        2.2.3 ISATAP 隧道配置及抓包

        ISATAP 隧道可以實現(xiàn)IPv4 網(wǎng)絡(luò)中的雙棧主機(jī)與IPv6 網(wǎng)絡(luò)互通,隧道源端建立在IPv6 網(wǎng)絡(luò)中的設(shè)備上.借助運行在ISATAP 隧道兩端設(shè)備之間的ND 協(xié)議,可以實現(xiàn)雙棧主機(jī)的IPv6 地址自動配置.其64 位前綴通過向ISATAP 路由器發(fā)送RS 請求獲得,64 位接口ID 自動生成,格式為0:5EFE:x.y.z.t.其中x.y.z.t 為雙棧主機(jī)的IPv4 地址.針對圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),ISATAP 隧道源端R2設(shè)備上的關(guān)鍵配置如下:

        R2(config)#interface tunnel 22//同前;

        R2(config-if)#tunnel mode ipv6ip isatap//配置隧道模式為isatap;

        R2(config-if)#tunnel source 2.2.2.2//配置隧道的源;

        R2(config-if)#ipv6 address 2001::5efe:202:202/64//配置isatap 隧道的ipv6 地址,格式需要嚴(yán)格按規(guī)定進(jìn)行;

        R2(config-if)#no ipv6 nd ra suppress//允 許tunnel 口發(fā)送RA 報文.

        IPv4 網(wǎng)絡(luò)中的雙棧主機(jī)除需要與ISATAP 隧道的源IP 可達(dá)外,其配置還與操作系統(tǒng)有關(guān).以win7 系統(tǒng)為例,在確保microsoft isatap adapter 虛擬網(wǎng)卡正常的情況下,在cmd 命令行中執(zhí)行netsh interface isatap set state enable 命令使能ISATAP 隧 道;執(zhí) 行netsh interface ipv6 isatap set router 2.2.2.2 命令,設(shè)置默認(rèn)路由器.設(shè)置完后,雙棧主機(jī)即會主動向路由器2.2.2.2 發(fā)起RS 請求,路由器R2 收到ISATAP的RS 請求后,會返回一個帶有前綴信息2001::/64的RA.再根據(jù)ISATAP的IPv6 接口ID 生成方式,雙棧主機(jī)會自動生成一個IPv6 地址和一個默認(rèn)IPv6 網(wǎng)關(guān).如圖8所示.

        圖8 ISATAP雙棧主機(jī)自動生成的IPv6地址及網(wǎng)關(guān)

        在雙棧主機(jī)上通過命令ping-6 2001::5efe:202:202測試連通性,可通,ISATAP隧道建立成功.此時在IPv4 網(wǎng)絡(luò)中抓包,結(jié)果如圖9 所示.其封裝過程如下:

        圖9 ISATAP抓包結(jié)果一

        首先,雙棧主機(jī)根據(jù)Ping-6 命令將ICMPv6的報文封裝IPv6 報頭,源IPv6 地址為雙棧主機(jī)上自動生成的ISATAP 虛擬網(wǎng)卡地址.該IPv6 報文源、目的在同一網(wǎng)段,直接從ISATAP 隧道發(fā)出.雙棧主機(jī)依據(jù)ISATAP 隧道的地址格式規(guī)定,從IPv6 報文中獲取到IPv4 報文的源和目的,進(jìn)行IPv4 報頭的再次封裝后將其發(fā)到IPv4 網(wǎng)絡(luò)上.在IPv4 網(wǎng)絡(luò)上,數(shù)據(jù)包按IPv4 路由正常轉(zhuǎn)發(fā)到路由器R2.在R2 上報文經(jīng)過兩次解封裝后上送上層協(xié)議.上層協(xié)議回應(yīng)該ping 包,并對其進(jìn)行兩次封裝后返回給雙棧主機(jī),一次通信結(jié)束.

        在IPv6 網(wǎng)絡(luò)全網(wǎng)互通且將ISATAP 接口宣告進(jìn)RIPng(或者通過ISATAP 路由器下放默認(rèn)路由)的情況下,ISATAP主機(jī)可以ping通ISATAP路由器所在IPv6 網(wǎng)絡(luò)中的所有設(shè)備.在雙棧主機(jī)上執(zhí)行命令ping-6 4::6,結(jié)果可通.該過程的抓包結(jié)果如圖10所示,其過程如下:

        圖10 ISATAP抓包結(jié)果二

        首先,雙棧主機(jī)根據(jù)執(zhí)行的ping-6 命令對icmpv6 報文進(jìn)行IPv6 封裝.由于IPv6 報文的源、目的不屬于同一子網(wǎng),則雙棧主機(jī)從其IPv6 默認(rèn)網(wǎng)關(guān)(即IPv6 路由的下一跳)的地址中取出IPv4 地址作為IPv4 封裝的目的地址,即2.2.2.2,源IPv4 地址即ISATAP 主機(jī)的IPv4 地址仍然從源IPv6 地址中獲取.封裝后,報文在IPv4 網(wǎng)絡(luò)上傳送到ISATAP路由器R2.路由器R2 接收該報文后解封裝IPv4 頭露出IPv6 頭,R2 按IPv6 路由將其發(fā)送到目的主機(jī)(路由器R6).目的主機(jī)解封裝IPv6報頭,數(shù)據(jù)上送上層協(xié)議并回應(yīng),回應(yīng)報文封裝IPv6 頭(源、目的IPv6地址與接收時互換)并依據(jù)通過RIPng 學(xué)習(xí)得到的ISATAP 隧道明細(xì)路由或者RIPng下放的默認(rèn)路由傳送到路由器R2.ISATAP路由器R2依據(jù)IPv6報文的目的地址,將報文從ISATAP 隧道發(fā)出,封裝的IPv4 源地址為隧道的源,IPv4 目的地址從IPv6 目的地址中獲取.最后,報文在IPv4 網(wǎng)絡(luò)中傳送到雙棧主機(jī),經(jīng)過解封裝后,完成一次通信過程.

        3 6to4中繼及其應(yīng)用

        前述針對圖1的IPv6 自動隧道僅測試了隧道兩端tunnel 口的連通性及ISATAP 主機(jī)與ISATAP路由器所在IPv6 網(wǎng)絡(luò)的連通性.事實上,由于圖1中IPv6 網(wǎng)絡(luò)的地址規(guī)劃不滿足特定格式的規(guī)定,在當(dāng)前配置下,兩個IPv6 網(wǎng)絡(luò)不能互通.同時,ISATAP 主機(jī)也不能與ISATAP 路由器所在網(wǎng)絡(luò)以外的IPv6網(wǎng)絡(luò)互通.

        仔細(xì)分析以上問題發(fā)現(xiàn),IPv4 報文封裝失敗是導(dǎo)致不通的原因.如6to4 隧道中在路由器R6 上執(zhí)行ping IPv6 5::7 操作,其報文處理過程如下:在R6 上,路由器根據(jù)執(zhí)行的命令將ICMPv6的Echo request 報文進(jìn)行IPv6 封裝,其目的為5::7,源默認(rèn)為發(fā)出該報文的接口的地址4::6;該報文依據(jù)隧道源端路由器R2下放的默認(rèn)路由傳到R2;在R2 上,報文依據(jù)其上配置的默認(rèn)路由從tunnel口發(fā)出,對該報文進(jìn)行IPv4再次封裝;其IPv4源地址為隧道的源2.2.2.2,而IPv4的目的地址應(yīng)該從IPv6 報文的目的地址5::7 中獲取.由于該地址不滿足6to4 地址的規(guī)定,獲取不到IPv4 目的地址,導(dǎo)致IPv4封裝失敗,報文被丟棄.

        要解決這類因隧道封裝失敗而導(dǎo)致IPv6 孤島不能連通的問題,就要用到6to4 中繼.所謂6to4 中繼,即6to4 隧道中提供中繼功能的路由器.當(dāng)6to4隧道發(fā)出的IPv6 報文的目的地址非6to4 地址時,為實現(xiàn)隧道正常封裝IPv4 源和目的,配置其轉(zhuǎn)發(fā)路由的下一跳為6to4 地址,而隧道的IPv4 目的地址即從該6to4 下一跳地址中獲取.該下一跳路由器即為6to4 中繼路由器[10].針對圖1 來說,R3 可配置為左邊IPv6 網(wǎng)絡(luò)的6to4 中繼;R2 可配置為右邊IPv6網(wǎng)絡(luò)的6to4中繼.

        在R2 上配置R3 為左邊IPv6 網(wǎng)絡(luò)的6to4 中繼的方法如下:

        IPv6 route::/0 2002:303:303:3::3//默認(rèn)路由的下一跳為R3的6to4地址;

        IPv6 route 2002:303:303:3::/64 tunnel2//配置明細(xì)路由,出接口為tunnel口.

        在R3 上配置R3 為左邊IPv6 網(wǎng)絡(luò)的6to4 中繼的方法如下:

        IPv6 route::/0 2002:202:202:2::2//同前;

        IPv6 route 2002:202:202:2::/64 tunnel3//同前.

        配置完成后,在路由器R7 上執(zhí)行命令ping IPv6 4::6測試連通性,可通.該過程抓包結(jié)果如圖11所示.

        圖11 6to4中繼測試抓包

        從抓包結(jié)果可見,針對非6to4 地址的兩個IPv6 網(wǎng)絡(luò)的ping 包,正確封裝了6to4 隧道的源、目的IPv4 頭,從而實現(xiàn)了互通.在這里從非6to4 地址如何獲取到正確的源、目的IPv4 地址,需要從數(shù)據(jù)包的封裝過程進(jìn)行分析.在R7 上,根據(jù)執(zhí)行的命令為ICMPv6的Echo request 報文添加了IPv6 頭,其目的為4::6,源為5::7.該報文按RIPng 下放的默認(rèn)路由被傳送到R3 上.在R3 上,該報文匹配到靜態(tài)默認(rèn)路由,數(shù)據(jù)包發(fā)往2002:202:202:2::2.但2002:202:202:2::2 并非R3的直連網(wǎng)絡(luò),因此數(shù)據(jù)包并不能直接發(fā)送.路由器需要遞歸查找到2002:202:202:2::2的路由,結(jié)果匹配到配置的靜態(tài)路由,數(shù)據(jù)包從tunnel3 口發(fā)出.注意,此時的數(shù)據(jù)IPv4封裝,其源為tunnel3口的源3.3.3.3,目標(biāo)為從2002:202:202:2::2 這個6to4 下一跳地址中獲取的2.2.2.2.數(shù)據(jù)包發(fā)到R2 解封裝Ipv4 頭后,按IPv6 路由傳送并回應(yīng),完成一次通信過程.正是由于路由的遞歸查找及從IPv6 下一跳中獲取目標(biāo)IPv4 地址的特性,實現(xiàn)了6to4 中繼功能,完成了非6to4 網(wǎng)絡(luò)的連通.回想ISATAP 隧道中,雙棧主機(jī)可以ping 通IPv6 網(wǎng)絡(luò)中設(shè)備的過程,其從默認(rèn)IPv6 網(wǎng)關(guān)中獲取目標(biāo)IPv4 地址,其過程類似從路由的6to4 下一跳地址中獲取目標(biāo)IPv4 地址.實際上,默認(rèn)網(wǎng)關(guān)就是路由的下一跳,只是此處的下一跳地址為6to4 地址,而ISATAP 隧道中網(wǎng)關(guān)為ISATAP 規(guī)定格式的地址.當(dāng)有多個IPv6 孤島互聯(lián)時,可以考慮將IPv6 默認(rèn)路由改為明細(xì)路由,并根據(jù)具體IPv6網(wǎng)絡(luò)合理設(shè)置明細(xì)路由的IPv6下一跳即可.

        從6to4 中繼解決非6to4 網(wǎng)絡(luò)連通性問題的過程中得到啟發(fā),可以配置類似6to4 中繼的功能實現(xiàn)IPv4 兼容IPv6 隧道連通IPv6 孤島的問題.保證IPv4 兼容IPv6 隧道配置正確的情況下,在R2 上添加如下命令:

        IPv6 route::/0::3.3.3.3//默認(rèn)路由的下一跳為R3的兼容IPv6隧道地址.

        在R3上添加如下命令:

        IPv6 route::/0::2.2.2.2//默認(rèn)路由的下一跳為R2的兼容IPv6隧道地址.

        配置完成后,在路由器R6 上執(zhí)行命令ping ipv6 5::7可通.該過程數(shù)據(jù)封裝類似6to4中繼.在R6 上的ping 包到達(dá)R2 后,匹配默認(rèn)路由.由于默認(rèn)路由的下一跳為不可直達(dá)的IPv4 兼容IPv6 地址,因此,遞歸查找路由表.此時,路由器R2 上的IPv6 路由表如圖12 所示.遞歸查找后匹配直連路由::/96,數(shù)據(jù)從tunnel 口發(fā)出.其數(shù)據(jù)封裝抓包如圖13所示.

        圖12 IPv4兼容IPv6隧道中繼時的IPv6路由表

        圖13 IPv4兼容IPv6隧道中繼測試抓包

        從抓包結(jié)果來看,通過配置中繼路由器,對普通的IPv6 包進(jìn)行了IPv4 兼容IPv6 隧道的封裝,實現(xiàn)了IPv6 孤島通過IPv4 兼容IPv6 隧道互通的目的.

        實驗證明,合理配置IPv6 隧道中繼路由器,還可以實現(xiàn)ISATAP 雙棧主機(jī)與ISATAP 路由器所在網(wǎng)絡(luò)以外的IPv6 網(wǎng)絡(luò)的互通.其過程與前述原理類似,不再贅述.

        IPv6 隧道6to4 中繼的應(yīng)用,解決了非6to4的IPv6 孤島的連通問題.然而中繼的啟用是以耗費系統(tǒng)資源得到的.為避免系統(tǒng)額外的資源開銷,6to4 隧道兩端的網(wǎng)絡(luò)最好按6to4 地址格式規(guī)劃、配置[11].

        4 總結(jié)

        IPv6隧道作為IPv4網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)共存期間的過渡技術(shù),是跨IPv4 網(wǎng)絡(luò)連通IPv6 孤島的必備手段.從各種IPv6 隧道抓包結(jié)果分析隧道封裝來看,IPv6隧道中除GRE隧道外,都直接采用協(xié)議號41,因此,在任何IPv4 網(wǎng)絡(luò)或者防火墻中需要放過協(xié)議41;若使用隧道中繼,則要求中繼路由器不使用NAT 而直接連接到全球IPv4 網(wǎng)絡(luò).在教學(xué)過程中,通過分析隧道封裝可以加深學(xué)生對隧道技術(shù)的理解與掌握;在實際使用時,可以根據(jù)網(wǎng)絡(luò)拓?fù)?、隧道的建立方式及轉(zhuǎn)發(fā)效率等情況合理選擇隧道模式.

        2021国产精品视频| 日韩精品专区av无码| 午夜免费观看一区二区三区| 久久综合99re88久久爱| 亚洲av无码码潮喷在线观看| 99久久er这里只有精品18| 无码成人片一区二区三区| 日本精品久久中文字幕| 国产肥熟女免费一区二区| 色拍自拍亚洲综合图区| 黑人玩弄人妻中文在线| 亚洲av无码一区二区乱子仑| 中文字幕一区二区三区喷水| 亚洲精品中文字幕免费专区| 日本公与熄乱理在线播放| 欧美伊人亚洲伊人色综| 久久亚洲一区二区三区四区五 | 毛片在线播放a| 99久久久69精品一区二区三区| 男人天堂插插综合搜索| 乱人伦中文视频在线| 97人人超碰国产精品最新o| 91极品尤物在线观看播放| 亚洲激情一区二区三区不卡| 亚洲精品久久久www小说| 福利一区视频| 人妻av不卡一区二区三区| 亚洲av成人精品一区二区三区| 人妻献身系列第54部| 午夜免费福利一区二区无码AV| 国产一区二区资源在线观看| 丰满少妇被粗大猛烈进人高清| 人妻人人澡人人添人人爽人人玩 | 日日碰狠狠添天天爽| √最新版天堂资源在线| 91桃色在线播放国产| 老师开裆丝袜喷水视频| 99精品国产兔费观看久久99| 亚洲欧美成人久久综合中文网| 偷拍一区二区三区四区视频| 伊人激情av一区二区三区|