本申請涉及網絡通信技術領域,特別涉及一種流量轉發(fā)方法及裝置。
背景技術:
EVPN(Ethernet Virtual Private Network,以太網虛擬專用網絡)是一種二層VPN技術,在控制平面上采用BGP(Border Gateway Protocol,邊界網關協(xié)議)通告路由信息,在數(shù)據(jù)平面上采用VXLAN(Virtual eXtensible LAN,可擴展虛擬局域網絡)封裝方式轉發(fā)用戶報文。
在基本的EVPN組網架構中主要包括:VM(Virtual Machine,虛擬機)、CE(Customer Edge,用戶邊緣)設備和VTEP設備(VXLAN Tunnel End Point,VXLAN隧道端點)。
目前,為了提高EVPN網絡的可靠性,通常會在EVPN網絡中應用分布式聚合技術,如圖1所示。在如圖1所示的組網中,VTEP B和VTEP C組成一個DR(Distributed Relay,分布式聚合)系統(tǒng),VTEP B和VTEP C之間的鏈路為IPL鏈路(Intra-Portal Link,分布式聚合內部鏈路),VTEP B和VTEP C通過分布式聚合端口AGG1與CE A設備連接。
但是,即使在EVPN網絡中應用了分布式聚合技術,該EVPN網絡的可靠性還需要進一步提高。
技術實現(xiàn)要素:
本申請?zhí)峁┮环N流量轉發(fā)方法及裝置,以解決現(xiàn)有技術中EVPN網絡的可靠性還需要進一步提高的問題。
根據(jù)本申請實施例的第一方面,提供了一種流量轉發(fā)方法,所述方法應用于第一可擴展虛擬局域網絡隧道端點VTEP設備,所述方法包括:
若檢測到與所述第一VTEP設備關聯(lián)的可擴展虛擬局域網絡VXLAN隧道發(fā)生故障時,判斷所述VXLAN隧道是否與分布式聚合DR系統(tǒng)中的第二VTEP設備關聯(lián),其中所述第一VETP設備與所述第二VETP設備不屬于同一DR系統(tǒng);
若是,則判斷所述VXLAN隧道是否存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳;若存在,則選取可用的下一跳將流量轉發(fā)給所述第二VETP設備。
根據(jù)本申請實施例的第二方面,提供了一種流量轉發(fā)裝置,所述裝置應用于第一可擴展虛擬局域網絡隧道端點VTEP設備中,所述裝置包括:
第一判斷單元,用于若檢測到與所述第一VTEP設備關聯(lián)的可擴展虛擬局域網絡VXLAN隧道發(fā)生故障時,判斷所述VXLAN隧道是否與分布式聚合DR系統(tǒng)中的第二VTEP設備關聯(lián),其中所述第一VETP設備與所述第二VETP設備不屬于同一DR系統(tǒng);
第二判斷單元,用于若所述第一判斷單元判定所述VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián),則判斷所述VXLAN隧道是否存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳;
流量轉發(fā)單元,用于若所述第二判斷單元判定所述VXLAN隧道存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳,則選取可用的下一跳將流量轉發(fā)給所述第二VETP設備。
應用本申請實施例,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障,且該VXLAN隧道存在對應的多個到DR系統(tǒng)中第二VTEP設備的下一跳,則可以選取可用的下一跳將流量轉發(fā)給第二VETP設備,這樣可以減少出現(xiàn)VXLAN隧道發(fā)生故障而導致流量中斷的情形,從而提高了EVPN網絡的可靠性。
附圖說明
圖1是EVPN網絡的架構示意圖;
圖2是本申請流量轉發(fā)方法的一個實施例流程圖;
圖3是本申請流量轉發(fā)方法的另一個實施例流程圖;
圖4是本申請流量轉發(fā)裝置所在設備的一種硬件結構示意圖;
圖5是本申請流量轉發(fā)裝置的一個實施例框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
參見圖1,圖1是EVPN網絡的架構示意圖。該EVPN網絡中應用了分布式聚合技術。如圖1所示。在如圖1所示的組網中,VTEP B和VTEP C組成一個DR(Distributed Relay,分布式聚合)系統(tǒng),VTEP B和VTEP C之間的鏈路為IPL鏈路(Intra-Portal Link,分布式聚合內部鏈路),VTEP B和VTEP C通過分布式聚合端口AGG1與CE A設備連接。
當VTEP B接收到CE A發(fā)送的訪問報文后,學習訪問報文中源MAC地址A-A-A,并通過BGP協(xié)議將源MAC地址A-A-A同步至VTEP D,以使VTEP D建立CE A的轉發(fā)表項;以及,將源MAC地址A-A-A同步至VTEP C。
但是,VTEP C接收到同步的源MAC地址A-A-A后,不會向VTEP D同步,這樣當VTEP B和VTEP D之間的鏈路出現(xiàn)故障、或VTEP B出現(xiàn)故障,則VTEP B同步至VTEP D的源MAC地址A-A-A的轉發(fā)表項被刪除,從而導致VTEP D上沒有CE A的轉發(fā)表項,造成流量中斷,從而降低了EVPN網絡的可靠性。
為了解決上述問題,本申請實施例中提供了一種流量轉發(fā)方法,以及一種可以應用該方法的流量轉發(fā)裝置。
圖2是本申請流量轉發(fā)方法的一個實施例流程圖,該方法應用于第一VTEP設備上,該方法包括:
步驟210,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障時,判斷VXLAN隧道是否與DR系統(tǒng)中的第二VTEP設備關聯(lián),其中第一VETP設備與第二VETP設備不屬于同一DR系統(tǒng)。
本申請實施例中,第一VTEP設備可以是DR系統(tǒng)中的一個VTEP設備,也可以不是DR系統(tǒng)中的一個VTEP設備;而第二VTEP設備指的是DR系統(tǒng)中的VTEP設備,且與第一VETP設備不屬于同一DR系統(tǒng)。
比如:圖1中,VTEP D為第一VTEP設備,VTEP B和VTEP C均是第二VETP設備。
在一個實施例中,在判斷VXLAN隧道是否與DR系統(tǒng)中的第二VTEP設備關聯(lián)時,可以采用以下方式:
判斷VXLAN隧道對應的轉發(fā)表項是否攜帶用于表示DR系統(tǒng)的標識;
若是,則確定VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián);
若否,則確定VXLAN隧道不與DR系統(tǒng)中的第二VTEP設備關聯(lián)。
其中,VXLAN隧道對應的轉發(fā)表項可以是預先設置的靜態(tài)表項,也可以是學習到的動態(tài)表項。另外,用于表示DR系統(tǒng)的標識可以是預先設置的標識,比如:MLAG(Multi-Chassis Link Aggregation,分布式聚合鏈路)標識。
在一個實施例中,獲取VXLAN隧道對應的攜帶有DR標識的轉發(fā)表項的方法,可以采用以下方式:
接收DR系統(tǒng)中的第二VTEP設備發(fā)送的地址同步報文,地址同步報文攜帶有用于表示DR系統(tǒng)的標識;
根據(jù)地址同步報文確定對應的VXLAN隧道,并對VXLAN隧道對應的轉發(fā)表項添加用于表示DR系統(tǒng)的標識。
步驟220,若是,則判斷XLAN隧道是否存在對應的多個到DR系統(tǒng)中第二VTEP設備的下一跳;若存在,則選取可用的下一跳將流量轉發(fā)給第二VETP設備。
在一個實施例中,在判斷XLAN隧道是否存在對應的多個到DR系統(tǒng)中第二VTEP設備的下一跳時,可以采用以下方式:
判斷VXLAN隧道對應的轉發(fā)表項中下一跳個數(shù)是否大于1;
若是,則確定VXLAN隧道存在對應的到DR系統(tǒng)中第二VTEP設備的可用的下一跳;
若否,則確定VXLAN隧道不存在對應的到DR系統(tǒng)中第二VTEP設備的可用的下一跳。
在一個實施例中,在選取可用的下一跳將流量轉發(fā)給第二VETP設備時,可以采用以下方式:
從VXLAN隧道對應的轉發(fā)表項中選取可用的下一跳;
通過所選取的下一跳將流量轉發(fā)給第二VETP設備。
參圖1所示,當VTEP B接收到CE A發(fā)送的訪問報文后,學習訪問報文中源MAC地址A-A-A,并通過地址同步報文將源MAC地址A-A-A同步至VTEP D,并且地址同步報文攜帶MLAG標識。
VTEP D接收到攜帶MLAG標識的地址同步報文后,會根據(jù)該地址同步報文確定源MAC地址A-A-A對應的VXLAN隧道,并對VXLAN隧道對應的轉發(fā)表項添加MLAG標識。其中,VXLAN隧道對應的轉發(fā)表項中包括2個下一跳,一個下一跳指向VTEP B、另一個下一跳指向VTEP C,并且下一跳個數(shù)為2。
若檢測到與VTEP D關聯(lián)的VXLAN隧道發(fā)生故障,比如,VTEP B和VTEP D之間的鏈路發(fā)生故障,則可以從VXLAN隧道對應的轉發(fā)表項中選取指向VTEP C的下一跳進行流量轉發(fā)。
由上述實施例可見,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障,且該VXLAN隧道存在對應的多個到DR系統(tǒng)中第二VTEP設備的下一跳,則可以選取可用的下一跳將流量轉發(fā)給第二VETP設備,這樣可以減少出現(xiàn)VXLAN隧道發(fā)生故障而導致流量中斷的情形,從而提高了EVPN網絡的可靠性。
圖3是本申請流量轉發(fā)方法的另一個實施例流程圖,該方法應用于第一VTEP設備上,該方法包括:
步驟310,檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障。
步驟320,判斷VXLAN隧道對應的轉發(fā)表項是否攜帶用于表示DR系統(tǒng)的標識;若是,執(zhí)行步驟330;若否,則執(zhí)行步驟380。
步驟330,確定VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián),其中第一VETP設備與第二VETP設備不屬于同一DR系統(tǒng)。
本申請實施例中,第一VTEP設備可以是DR系統(tǒng)中的一個VTEP設備,也可以不是DR系統(tǒng)中的一個VTEP設備;而第二VTEP設備指的是DR系統(tǒng)中的VTEP設備,且與第一VETP設備不屬于同一DR系統(tǒng)。
比如:圖1中,VTEP D為第一VTEP設備,VTEP B和VTEP C均是第二VETP設備。
步驟340,判斷VXLAN隧道對應的轉發(fā)表項中下一跳個數(shù)是否大于1。若是,則執(zhí)行步驟350;若否,則執(zhí)行步驟390。
步驟350,確定VXLAN隧道存在對應的到DR系統(tǒng)中第二VTEP設備的可用的下一跳。
步驟360,從VXLAN隧道對應的轉發(fā)表項中選取可用的下一跳。
步驟370,通過所選取的下一跳將流量轉發(fā)給第二VETP設備,流程結束。
步驟380,確定VXLAN隧道不與DR系統(tǒng)中的第二VTEP設備關聯(lián),流程結束。
步驟390,確定VXLAN隧道不存在對應的到DR系統(tǒng)中第二VTEP設備的可用的下一跳,流程結束。
在上述步驟310之前,本申請流量轉發(fā)方法還可以包括:
接收DR系統(tǒng)中的第二VTEP設備發(fā)送的地址同步報文,該地址同步報文攜帶有用于表示DR系統(tǒng)的標識;
根據(jù)第二VTEP設備發(fā)送的地址同步報文確定對應的VXLAN隧道,并對VXLAN隧道對應的轉發(fā)表項添加用于表示DR系統(tǒng)的標識。
本申請實施例中,第二VTEP設備發(fā)送的地址同步報文可以為BGP報文。
比如:BGP報文的保留字段或新增字段中包括用于表示DR系統(tǒng)的標識。
由上述實施例可見,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障,且該VXLAN隧道對應的轉發(fā)表項攜帶用于表示DR系統(tǒng)的標識,則可以從該轉發(fā)表項選取可用的下一跳,并通過所選取的下一跳進行流量轉發(fā),這樣也可以減少出現(xiàn)VXLAN隧道發(fā)生故障而導致流量中斷的情形,進而提高了EVPN網絡的可靠性。
與前述流量轉發(fā)方法實施例相對應,本申請還提供了流量轉發(fā)裝置的實施例。
本申請流量轉發(fā)裝置的實施例可以應用在VTEP設備上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在設備的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖4所示,為本申請流量轉發(fā)裝置所在設備的一種硬件結構示意圖,除了圖4所示的處理器、網絡接口、內存以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬件,如負責處理報文的轉發(fā)芯片等等;從硬件結構上來講該設備還可能是分布式的設備,可能包括多個接口卡,以便在硬件層面進行網絡地址轉換的擴展。
參見圖5,為本申請流量轉發(fā)裝置的一個實施例框圖,該裝置應用于第一VTEP設備,并用于執(zhí)行圖2所示的流量轉發(fā)方法,該裝置可以包括:第一判斷單元51、第二判斷單元52和流量轉發(fā)單元53。
第一判斷單元51,用于若檢測到與所述第一VTEP設備關聯(lián)的可擴展虛擬局域網絡VXLAN隧道發(fā)生故障時,判斷所述VXLAN隧道是否與分布式聚合DR系統(tǒng)中的第二VTEP設備關聯(lián),其中所述第一VETP設備與所述第二VETP設備不屬于同一DR系統(tǒng);
第二判斷單元52,用于若所述第一判斷單元判定所述VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián),則判斷所述VXLAN隧道是否存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳;
流量轉發(fā)單元53,用于若所述第二判斷單元判定所述VXLAN隧道存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳,則選取可用的下一跳將流量轉發(fā)給所述第二VETP設備。
由上述實施例可見,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障,且該VXLAN隧道存在對應的多個到DR系統(tǒng)中第二VTEP設備的下一跳,則可以選取可用的下一跳將流量轉發(fā)給第二VETP設備,這樣可以減少出現(xiàn)VXLAN隧道發(fā)生故障而導致流量中斷的情形,從而提高了EVPN網絡的可靠性。
在一個可選的實現(xiàn)方式中,第一判斷單元51可以包括:第一判斷子單元、第一確定子單元和第二確定子單元(圖5中未示出)。
第一判斷子單元,用于若檢測到與所述第一VTEP設備關聯(lián)的可擴展虛擬局域網絡VXLAN隧道發(fā)生故障時,判斷所述轉發(fā)表項是否攜帶用于表示DR系統(tǒng)的標識;
第一確定子單元,用于若所述第一判斷子單元判定所述轉發(fā)表項攜帶用于表示DR系統(tǒng)的標識,則確定所述VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián);
第二確定子單元,用于若所述第一判斷子單元判定所述轉發(fā)表項沒有攜帶用于表示DR系統(tǒng)的標識,則確定所述VXLAN隧道不與DR系統(tǒng)中的第二VTEP設備關聯(lián)。
在一個可選的實現(xiàn)方式中,所述裝置還可以包括:接收單元和隧道確定單元(圖5中未示出)。
接收單元,用于接收DR系統(tǒng)中的第二VTEP設備發(fā)送的地址同步報文,所述地址同步報文攜帶有用于表示DR系統(tǒng)的標識;
隧道確定單元,用于根據(jù)所述地址同步報文確定對應的VXLAN隧道,并對所述VXLAN隧道對應的轉發(fā)表項添加所述用于表示DR系統(tǒng)的標識。
在一個可選的實現(xiàn)方式中,第二判斷單元52可以包括:第二判斷子單元、第三確定子單元和第四確定子單元(圖5中未示出)。
第二判斷子單元,用于若所述第一判斷單元判定所述VXLAN隧道與DR系統(tǒng)中的第二VTEP設備關聯(lián),則判斷所述VXLAN隧道對應的轉發(fā)表項中下一跳個數(shù)是否大于1;
第三確定子單元,用于若所述第二判斷子單元判定所述下一跳個數(shù)大于1,則確定所述VXLAN隧道存在對應的到所述DR系統(tǒng)中第二VTEP設備的可用的下一跳。
第四確定子單元,用于若所述第二判斷子單元判定所述下一跳個數(shù)小于等于1,則確定所述VXLAN隧道不存在對應的到所述DR系統(tǒng)中第二VTEP設備的可用的下一跳。
在一個可選的實現(xiàn)方式中,所述流量轉發(fā)單元53可以包括:選取子單元和流量轉發(fā)子單元(圖5中未示出)。
選取子單元,用于若所述第二判斷單元判定所述VXLAN隧道存在對應的多個到所述DR系統(tǒng)中第二VTEP設備的下一跳,則從所述VXLAN隧道對應的轉發(fā)表項中選取可用的下一跳;
流量轉發(fā)子單元,用于通過所選取的下一跳將流量轉發(fā)給所述第二VETP設備。
由上述實施例可見,若檢測到與第一VTEP設備關聯(lián)的VXLAN隧道發(fā)生故障,且該VXLAN隧道對應的轉發(fā)表項攜帶用于表示DR系統(tǒng)的標識,則可以從該轉發(fā)表項選取可用的下一跳,并通過所選取的下一跳進行流量轉發(fā),這樣也可以減少出現(xiàn)VXLAN隧道發(fā)生故障而導致流量中斷的情形,進而提高了EVPN網絡的可靠性。
上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。
對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。