專利名稱:實現本地三層終結的方法及設備的制作方法
技術領域:
本申請涉及網絡通信技術,特別涉及實現本地三層終結的方法及設備。
背景技術:
圖I 為現有 VRRP 的典型組網不意圖。VRRP (Virtual Router RedundancyProtocol,虛擬路由器冗余協議)是一種路由選擇協議,多臺VRRP路由器組成VRRP組,選舉出MASTER設備和SLAVE設備,MASTER設備作為網關進行三層轉發,SLAVE設備僅用于作為備份網關,不參與三層轉發。VRRP組網下,SLAVE設備始終處于空閑狀態,網絡資源利用率不聞。VRRPE是VRRP協議的增強版本。可以在多臺設備之間建立VRRPE組,組內的成員 設備分配不同的虛擬MAC地址,將一個虛擬IP地址與組內的各個虛擬MAC地址對應,根據客戶端的IP地址,將流量分擔到不同的成員設備上,使得每個成員設備都能轉發流量,從而避免了 VRRP組中備份設備始終處于空閑狀態,網絡資源利用率不高的問題。圖2為現有VRRPE的典型組網示意圖。圖2中,路由器Router A,Router B和Router C構成VRRPE組,以10. I. I. I為網關的終端Host A、Host B和Host C所獲得的網關的ARP表項分別對應不同的虛擬MAC地址,即Host A對應Router A的虛擬MAC地址,Host B對應Router B的虛擬MAC地址,Host C對應Router C的虛擬MAC地址。在圖2所示組網下,不同終端的網關可能是三臺路由器中的任何一臺。如果三臺路由器分布在遠程的多個地點,且三臺路由器是通過鏈路遠程互連的,將無法避免部分流量跨越昂貴的鏈路。例如圖3是現有數據中心二層互連的一典型組網示意圖。其中DCa> DCb和DCc分別表示數據中心A、數據中心B和數據中心C ;Ra、Rb和Re分別是數據中心A C中的路由器;Sffa, Sffb和SWc分別是數據中心A C中的交換設備;ServerA、ServerB和ServerB分別是數據中心A C中的服務器。在圖3所示組網下,數據中心A的交換設備和數據中心B的交換設備之間建立VRRP/VRRPE連接。當經過計算得出ServerB的網關為數據中心A的交換設備SWa時,數據中心B下面的服務器ServerB進行三層轉發以及與外網進行三層互通時,所有的流量都需要通過數據中心間的接口由數據中心A進行轉發,通俗地講,就是所有的流量都需要到數據中心A上繞一圈。例如,服務器ServerB訪問外網時的具體訪問路徑如圖3中的虛線所
/Jn ο由于各數據中心的交換設備SWa、Sffb, Sffc之間的鏈路往往是采用二層遠程鏈路,需要付費租用帶寬,因此,現有技術存在帶寬浪費問題。此外,即使在同一數據中心內各個路由器通過普通以太網互聯的應用場景下,終端所獲取的網關地址同樣存在一定的隨機性,并導致部分流量需要跨越中間鏈路進行傳輸。
發明內容
本申請提供了實現本地三層終結的方法,以在網關之間組建VRRP組的場景下,避免終端與外網之間的流量跨越中間鏈路進行傳輸。本申請提供的一種實現本地三層終結的方法,應用于本網關與其他區域中的鄰居網關組建虛擬路由器冗余協議(VRRP)組、同一 VRRP組內的各網關使用相同的虛擬媒體接入控制(MAC)地址和虛擬因特網協議(IP)地址作為網關地址的場景,該方法包括網關收到本地終端對網關的地址解析協議(ARP)請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,并且不轉發所述ARP請求報文至所述VRRP組中的鄰居網關;網關使能三層終結功能,對本地終端與外網之間的流量進行本地三層終結。當本區域上行路徑故障時,該方法可以進一步包括 本網關取消三層終結功能,將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。該方法可以進一步包括在發送VRRP報文時,判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址以及虛擬IP地址攜帶于所述VRRP報文中;如果故障,將本網關的實IP地址的變形以及虛擬IP地址攜帶于所述VRRP報文中;在轉發VRRP報文時,判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址順序添加到所述VRRP報文中原有的實IP地址之后;如果故障,將本網關的實IP地址的變形順序添加到所述VRRP報文中原有的實IP地址之后;確定距離最近的健康鄰居網關的方式為從收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康。較佳地,所述網關的功能可以置于交換設備中實現,各交換設備之間采用環形組網的方式相互連接;在本區域上行路徑故障時,本交換設備通過直接打開本交換設備與距離最近的健康鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將本地終端對網關的ARP請求報文轉發給所述距離最近的鄰居交換設備處理,并通過向距離最近的鄰居交換設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理。當本交換設備接收到來自鄰居交換設備的VRRP臨終遺言報文時,該方法可以進一步包括打開本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,對所述鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
較佳地,所述網關的功能可以置于交換設備中實現,各交換設備采用星形組網的方式連接到互聯設備,并通過所述互聯設備實現二層互通;在本區域上行路徑 故障時,本交換設備通過向距離最近的鄰居交換設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理;該方法可以進一步包括所述互聯設備開啟VRRP偵聽(Snooping)功能,對各交換設備之間交互的VRRP報文進行偵聽,當偵聽到VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將所述發送端交換設備的本地終端對網關的ARP請求報文轉發給所述接收端交換設備處理。當本交換設備接收到來自鄰居交換設備的VRRP臨終遺言報文時,該方法可以進一步包括對所述鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,所述互聯設備關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。較佳地,所述網關的功能可以置于網關設備中實現,各網關設備分別連接各自本區域的交換設備,并通過所述交換設備實現二層互通;在本區域上行路徑故障時,本網關設備通過向距離最近的鄰居網關設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理;該方法進一步包括各交換設備開啟VRRP Snooping功能,對各網關設備之間交互的VRRP報文進行偵聽和分析,根據分析結果記錄鄰居網關設備的健康狀態、距離、以及和互聯端口的對應情況,當偵聽到VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將所述發送端交換設備的本地終端對網關的ARP請求報文轉發給所述接收端交換設備處理。當本網關設備接收到來自鄰居網關設備的VRRP臨終遺言報文時,該方法可以進一步包括對所述鄰居網關設備轉發來的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居網關設備轉發來的三層流量進行本地三層終結,直至所述鄰居網關設備恢復健康時,本網關設備所連接的交換設備和所述鄰居網關設備所連接的交換設備分別關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。該方法可以進一步包括網關發送VRRP報文時,使用本網關的實MAC地址作為源MAC地址;該方法可以進一步包括網關跟蹤(TRACK)上行鏈路或下一跳是否正常,如果正常,判定本區域上行路徑正常,否則,判定本區域上行路徑故障。該方法可以進一步包括網關主動向終端發送報文時,使用本網關的實MAC地址作為源MAC地址。本申請提供的一種實現本地三層終結的設備,該設備作為網關與其他區域中的鄰居網關組建虛擬路由器冗余協議(VRRP)組,且同一 VRRP組內的各網關使用相同的虛擬媒體接入控制(MAC)地址和虛擬因特網協議(IP)地址作為網關地址,該設備包括地址解析協議(ARP)模塊和三層處理模塊,其中ARP模塊在收到本地終端對網關的ARP請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,并且不轉發所述ARP請求報文至所述VRRP組中的鄰居網關;三層處理模塊使能本網關的三層終結功能,對本地終端與外網之間的流量進行本
地三層終結。較佳地,當本區域上行路徑故障時,三層處理模塊還用于取消本網關的三層終結功能,并將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最 近的健康鄰居網關處理。較佳地,該設備中還可以包括VRRP模塊和鄰居維護模塊;在發送VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊將本網關的實IP地址以及虛擬IP地址攜帶于所述VRRP報文中;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形以及虛擬IP地址攜帶于所述VRRP報文中;在轉發VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊將本網關的實IP地址順序添加到所述VRRP報文中原有的實IP地址之后;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形順序添加到所述VRRP報文中原有的實IP地址之后;所述鄰居維護模塊用于從本設備收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康,并向三層處理模塊提供判斷結果。較佳地,所述設備為交換設備,并采取環形組網的方式與其他區域中的交換設備直接相連;該交換設備中進一步包括端口控制模塊和互聯端口 ;在本區域上行路徑故障時,所述端口控制模塊打開本交換設備與距離最近的健康鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,通過所述互聯端口將本地終端對網關的ARP請求報文轉發給所述距離最近的鄰居交換設備處理,并且,所述VRRP模塊向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通知所述互聯端口將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理;當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述端口控制模塊打開本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,由所述互聯端口將所述鄰居交換設備轉發來的ARP請求報文發送給所述ARP模塊,由所述ARP模塊以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并由所述三層處理模塊對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,所述端口控制模塊關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。較佳地,所述設備為交換設備,該交換設備采取星形組網的方式通過互聯設備與其他區域中的交換設備相連,并通過所述互聯設備與其他區域中的交換設備實現二層互通;在本區域上行路徑故障時,所述VRRP模塊通過所述互聯設備向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通過所述互聯設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理;當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述ARP模塊對互聯設備轉發的來自所述鄰居交換設備的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊對互聯設備轉發的來自所述鄰居交換設備的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康。較佳地,所述設備為網關設備,該網關設備連接本區域的交換設備,并通過所述交換設備與其他區域中的網關設備實現二層互通;在本區域上行路徑故障時,所述VRRP模塊通過本區域的交換設備向距離最近的 鄰居網關設備發送VRRP臨終遺言報文,并通過本區域的交換設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理;當接收到來自鄰居網關設備的VRRP臨終遺言報文時,所述ARP模塊對本區域的交換設備轉發的來自所述鄰居網關設備的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊對本區域的交換設備轉發的來自所述鄰居網關設備的三層流量進行本地三層終結,直至所述鄰居網關設備恢復健康時。由上述技術方案可見,本申請提供的實現本地三層終結的技術方案通過本網關與其他區域中的鄰居網關構成VRRP組,為同一 VRRP組內的各網關配置相同的虛擬MAC地址和虛擬IP地址作為網關地址,并使各網關使能三層終結功能,實現了 VRRP網關多活;并且,在本區域上行路徑正常的情況下,網關以虛擬MAC地址和虛擬IP地址回應終端對網關的ARP請求,同時,不將該ARP請求報文轉發給其他區域中的鄰居網關,使得虛擬地址相關的ARP報文只在本區域內轉發,不廣播或轉發給鄰居網關,從而實現了 VRRP網關多活,并對終端與外網之間的流量實現了優先本地三層終結,避免了終端與外網之間的流量跨越中間鏈路進行傳輸。并且,本申請中,網關在發送VRRP報文時,可以使用本網關的實MAC地址作為源MAC地址,從而避免VRRP報文的轉發影響報文轉發路徑中各設備的虛擬MAC地址的正常學習。在上述技術方案的基礎上,本申請通過進一步改造VRRP報文的發送機制,在發送或轉發VRRP報文時,將本網關的實IP地址的不同取值添加到VRRP報文中,使得各網關能夠從中獲取到鄰居網關的實IP地址,并據此確定鄰居網關的健康狀態以及與自身的距離,從而可以在本區域上行路徑故障時,將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。此外,本申請在網關主動向下發送ARP請求報文或發送IP報文時(包括發出的VRRP協議報文),使用實地址作為源IP地址或源MAC地址,從而在本數據中心中的終端掛在鄰居虛網關下時,避免可能存在的部分二層設備的MAC地址對應的端口被不當刷新而引起流量故障的問題。
圖I為現有VRRP的典型組網示意圖;圖2為現有VRRP的典型組網示意圖;圖3是現有數據中心二層互連的一典型組網示意圖;圖4為現有區域互聯的一典型組網示意圖;圖5A為圖4所示組網下本申請希望的三層轉發路徑示意圖;圖5B為圖4所示組網下本地上行路徑故障時本申請希望的三層轉發路徑示意圖;圖6為現有區域互連的第二種組網方式示意圖; 圖7為現有區域互連的第三種組網方式示意圖;圖8為現有數據中心的一種典型組網示意圖;圖9A為本申請實施例一中希望的三層轉發路徑示意圖;圖9B為本申請實施例一中本地上行路徑故障時希望的三層轉發路徑示意圖;圖10為現有數據中心的另一種典型組網示意圖;圖IlA為本申請實施例二中希望的三層轉發路徑示意圖;圖IlB為本申請實施例二中本地上行路徑故障時希望的三層轉發路徑示意圖;圖12為本申請一較佳實現本地三層終結的設備的組成結構示意圖。
具體實施例方式為使本申請的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對本申請作進一步詳細說明。為解決上述技術問題,本申請提出一種實現本地三層終結的技術方案,其主要思想是在多區域的各網關之間組建VRRP組、同一 VRRP組內的各網關使用相同的虛擬MAC地址和虛擬IP地址作為網關地址的場景下,本地網關使能三層終結功能,本地終端就近從本地網關上行,在本地進行三層終結,只有本地網關上行故障時才跨越二層鏈路從遠程的網關上行。設備作為網關有兩種工作方式a)普通三層接口方式,這種工作方式下,設備硬件會向終端下發對應的三層接口MAC地址,如果終端發送過來的報文的目的MAC地址是該MAC地址,該設備就會對該報文進行三層轉發;b)VRRP方式,這種工作方式下,設備配置VRRP功能,激活的VRRP設備會向終端下發VRRP對應的MAC地址(可以是VRRP虛擬MAC地址,也可以是和三層接口相同的設備MAC地址),如果終端發送過來的報文的目的MAC地址是VRRP對應的MAC地址,該設備就會對該報文進行三層轉發。本申請中,網關以VRRP方式工作,網關使能三層終結功能即按照上述b)對終端的報文進行三層轉發。在實際組網時,網關的功能可能置于交換設備中實現,也可能置于獨立存在的網關設備中實現,并且,交換設備之間可能采取環形組網的方式直接相連,也可能采取星形組網的方式通過互聯設備相連,下面將部署VRRP協議、且實現網關功能的設備統稱為網關,首先從總體上描述本申請本地三層終結的方法,然后分別對應各種不同的組網方式進行詳細說明。本申請提供的實現本地三層終結的方法應用于網關之間組建VRRP組、同一 VRRP組內的各網關使用相同的虛擬MAC地址和虛擬IP地址作為網關地址的場景,該方法具體包括網關收到本地終端對網關的ARP請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,同時不轉發所述ARP請求報文至所述VRRP組中的鄰居網關;網關使能三層終結功能,對本地終端與外網之間的流量進行本地三層終結。本申請上述方法對VRRP協議的功能進行了如下改造I)不改變VRRP的競選機制,但競選為SLAVE的成員設備也使能三層終結功能,可以作為網關進行三層終結,使得本地網關下掛的終端可以優選本地網關上行。 2)在本地網關健康(即本區域上行路徑正常)時,本地終端對網關的ARP請求報文只在本區域內轉發,不廣播或轉發給鄰居網關,并且本地網關以虛擬MAC地址和虛擬IP地址回應終端的ARP請求報文,相應的ARP響應報文也不廣播或轉發給鄰居網關。也就是說,虛擬地址相關的ARP報文只在本區域內轉發,不廣播或轉發給鄰居網關。3)現有技術中,VRRP報文的源MAC使用的是網關的虛擬MAC地址;本申請中,由于網關使用了虛擬IP地址和虛擬MAC地址來回應本地終端的ARP請求報文,為了避免VRRP報文的轉發影響報文轉發路徑中各設備的虛擬MAC地址的正常學習,在發送VRRP報文時,使用網關的實MAC地址作為VRRP報文的源MAC。本申請中各網關所發送的VRRP報文中,與現有技術類似,需要攜帶常規的協議版本、報文類型、組標識等信息。通過上述方法,實現了 VRRP網關多活,并對終端與外網之間的流量實現了優先本地三層終結,避免了終端與外網之間的流量跨越中間鏈路進行傳輸。在上述方法的基礎上,當本區域上行路徑故障時,本網關取消三層終結功能,將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。如前所述,在圖3所示數據中心二層遠程互連的典型應用中,在SWa、SWb、SWc這三個VRRP網關間存在距離的概念。例如SWa離SWb較近,而離SWc較遠;SWb離SWa和SWc等距。為此,本申請增加VRRP網關距離的檢測和判斷機制,用于在本區域上行路徑故障時,就近委托健康的VRRP鄰居網關接管本地終端的上行三層終結請求。為了確定距離最近的健康鄰居網關,需要對現有VRRP報文發送和轉發過程進行改進,一種較佳的改進方式為在發送VRRP報文時,進一步判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址以及虛擬IP地址攜帶于該VRRP報文中;如果故障,將本網關的實IP地址的變形以及虛擬IP地址攜帶于該VRRP報文中。在轉發VRRP報文時,也進一步判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址順序添加到該VRRP報文中原有的實IP地址之后;如果故障,將本網關的實IP地址的變形順序添加到該VRRP報文中原有的實IP地址之后。經上述改進之后,網關可以按照如下方式確定距離最近的健康鄰居網關從收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康。如前所述,在實際組網時,網關的功能可能置于交換設備中實現,也可能置于獨立存在的網關設備中實現,交換設備之間可能采取環形組網的方式直接相連,也可能采取星形組網的方式通過互聯設備相連,下面對上述各種組網方式下,當某一區域上行路徑故障時,發生流量切換的具體實施方式
進行詳細說明。第一種組網方式網關的功能置于交換設備中實現,各交換設備之間采取環形組網的方式相互連接,如圖4所示。這種組網方式下,上述方法中的網關指的是圖4中的交換設備,S卩SWa、SWb、SWc。對于圖4所示組網,希望的區域三層轉發路徑如圖5A所示,虛線為ServerB希望 達到的轉發路徑。一旦本地上行路徑故障時,希望的轉發路徑如圖5B所示,虛線為ServerB希望達到的轉發路徑。本組網方式下,各區域的交換設備上配置本申請改造后的VRRP協議,多個交換設備構成VRRP組,同一 VRRP組內的各交換設備配置相同的虛擬MAC地址和相同的虛擬IP地址作為網關地址,各交換設備以虛擬MAC地址和虛擬IP地址回應本區域內的終端對網關的ARP請求報文,并將虛擬地址相關的ARP報文(包括本地終端對網關的ARP請求報文以及以虛擬地址回應的ARP響應報文)的廣播域控制在本區域內,在發送VRRP報文時,使用實MAC地址作為源MAC地址,此外,各交換設備使能三層終結功能,對終端與外網之間的流量進行本地三層終結。如前所述,本地交換設備收到VRRP報文時,可以從中獲取至少一個實IP地址,并據此判斷各鄰居交換設備的健康狀態、以及與本交換設備之間的距離。在得到上述信息后,可以將至少一個距離最近的健康的鄰居交換設備作為本交換設備的備份鄰居,記錄備份鄰居與本交換設備之間的距離以及實IP地址(當然,對于不健康的鄰居交換設備也可以記錄其相關信息),同時,在將該VRRP報文向其他鄰居交換設備轉發時,如果本區域上行正常,則將本交換設備的實IP地址添加到該VRRP報文后面;如果本地VRRP已失效,則將本交換設備的實IP地址的變形(例如所有字節取反后的實IP地址)添加到該VRRP報文后面,如此,下一站VRRP鄰居設備收到該VRRP報文后,可通過其中所攜帶的實IP地址的取值判斷鄰居交換設備的健康狀態。在上面的舉例中,當本地VRRP失效時,采取了將本設備的實IP地址所有字節取反再添加到VRRP報文后面的方式,在具體實現時,也可以將本設備的實IP地址的其他變換形式添加到VRRP報文后面,只要令收到該VRRP報文的鄰居設備能夠判斷出本地VRRP已失效即可。在本區域上行故障的情況下,本區域的交換設備可以通過向備份鄰居發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給備份鄰居處理,并通過打開與備份鄰居之間的互連通道的虛擬地址相關的ARP報文的轉發能力的方式將本地終端對網關的ARP請求報文轉發給備份鄰居處理。本申請中,涉及打開報文轉發能力的部分,可以通過底層軟件下發訪問控制列表(ACL)的方式或建立相關轉發表項的方式打開與備份鄰居之間的互連通道的虛擬地址相關的ARP報文的轉發能力。當本交換設備作為其他鄰居交換設備的備份鄰居接收到來自鄰居交換設備的VRRP臨終遺言報文時,需要打開本交換設備與該鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,對該鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對該鄰居交換設備轉發來的三層流量進行本地三層終結,直至該鄰居交換設備的健康狀態恢復為健康時,關閉本交換設備與該鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。參見圖5A,以SWa發出的VRRP報文為例,其發送VRRP報文給SWb,報文內含VRRP的虛ip 10. I. I. 254和SWa的接口實ip 10. I. I. 1,SWb收到該報文后,獲知SWa與自身是直連的,且狀態健康。若SWb正常,將自己的實ip 10. I. I. 2填寫到該VRRP報文的后面,將報文轉發給 Sffc, Sffc即可獲知SWa離自身2跳,狀態健康,SWb離自身I跳,狀態健康。若SWb上行故障,Sffb將本地VRRP三層終結功能置為失效,Sffb收到SWa的VRRP報文后,記錄SWa狀態健康,且離自身I跳。同時將自身的實IP地址取反為245. 254. 254. 253填寫到該VRRP報文的后面,轉發給SWc,SWc即可獲知SWa離自身2跳,狀態健康,SWb離自身I跳,狀態故障。因此,當SWa、SWb、Sffc狀態均正常時,Sffa記錄SWb作為自己的備份鄰居,Sffc為次備份鄰居;swb記錄實地址大的SWc作為自己的備份鄰居,SWa作為次備份鄰居。SWc記錄SWb為備份鄰居,Sffa作為次備份鄰居。在DCa、DCb、DCc內的虛擬地址相關的ARP報文流量僅在本DC域內轉發,不廣播或轉發給SW之間的互聯端口。假設SWb狀態故障時,Sffa記錄SWc為自己的備份鄰居,Sffb為次備份鄰居且記錄為失效狀態;SWb通過VRRP臨終遺言報文委托實IP地址大的SWc接管本地終端的上行三層終結請求,同時,SWb、SWc打開兩者互連通道的虛擬地址相關的ARP報文的轉發能力,允許DCb下掛終端與SWc之間的虛擬地址相關的ARP報文和普通流量轉發,并且,Sffb仍將以自己實IP地址取反的形式發送VRRP報文,維持通告自身失效的狀態直至本地上行故障修復;SWc記錄SWa為自身的備份鄰居,SWb為次備份鄰居且記錄為失效狀態,Sffc接管DCb下的終端的三層終結請求。現有技術中,使能VRRP的設備在向下尋找終端時,均以網關的虛擬IP地址和虛擬MAC地址為源地址去請求終端的MAC地址,根據本申請,同一 VRRP組內的各網關具有相同的虛擬IP地址和虛擬MAC地址,若終端掛在鄰居虛網關下時,以虛擬MAC地址為源地址的ARP報文或IP報文在整網廣播后,將可能導致部分二層設備的MAC地址對應的端口被不當刷新,從而導致流量故障。為此,本申請中,在網關主動向下發送ARP請求報文或發送IP報文時(包括發出的VRRP協議報文),使用實地址作為源IP地址或源MAC地址,以避免上述問題。而對于終端主動查找虛網關的報文,網關仍以虛擬地址進行回應。這樣,對于該網關,終端將學習到兩個ARP表項,一個ARP表項中記錄的是網關的虛擬IP地址和虛擬MAC地址,另一個ARP表項中記錄的是網關的實IP地址和實MAC地址。為了應對本區域上行故障的情況,本申請中,網關跟蹤(TRACK)上行鏈路或下一跳是否正常,若上行鏈路或下一跳失效,則取消本網關的本地三層終結功能,將本地流量二層轉發到其他健康的備份鄰居網關做三層終結上行。以圖4所示組網方式舉例而言,如圖5B 假設SWb上行狀態故障時,Sffb將本地VRRP置成失效狀態不再進行三層本地終結,并通過VRRP臨終遺言報文委托實IP地址大的SWc接管本地的終端上行的三層終結請求;同時,Sffb還將以自己實IP地址取反的形式持續發送VRRP報文維持通告自己失效的狀態直至本地上行故障修復。綜上,下面分別總結本組網方式下,本區域正常情況下的業務流程和故障情況下的業務流程。A、本區域正常情況下的業務流程各SW均使能VRRP TRACK功能。I、SW持續周期性發送VRRP通告報文,記錄鄰居SW的健康狀態,并選舉備份鄰居和次備份鄰居,以及控制虛擬地址相關的ARP報文的廣播和轉發域。 Sffa記錄SWb為備份鄰居,Sffc為次備份鄰居;SWb記錄SWc為備份鄰居,Sffa為次備份鄰居;SWc記錄SWb為備份鄰居,Sffa為次備份鄰居。2、服務器通過正常ARP流程學習本地網關的虛MAC地址,上行流量在本地網關三
層終結。B、本區域上行故障情況下的業務流程Sff均使能VRRP TRACK功能。假設SWb的上行故障,Sffb通過VRRPTRACK機制置本地VRRP失效。I、SW持續周期性發送VRRP通告報文,記錄鄰居SW的健康狀態,并選舉備份鄰居和次備份鄰居,以及控制虛擬地址相關的ARP報文的廣播和轉發域。其中SWb持續發送的VRRP報文內填寫的實IP地址為取反后的實IP地址,以示本地VRRP失效。SWa記錄SWc為備份鄰居,SWb為次備份鄰居且失效;SWb記錄SWc為備份鄰居,SWa為次備份鄰居,同時打開與SWc互連端口的虛擬地址相關的ARP報文的轉發和廣播能力,本地業務送SWc接管;SWc記錄SWa為備份鄰居,Sffb為次備份鄰居且失效。2、DCb下的服務器通過正常ARP流程可學習SWc網關,上行流量通過SWb-SWc間的互聯端口送SWc網關做三層終結上行轉發。第二種組網方式網關的功能置于交換設備中實現,各交換設備采取星形組網的方式連接到互聯設備,并通過互聯設備實現二層互通,如圖6所示。在圖6所示組網方式下,交換設備SWa-SWc部署本申請改造后的VRRP協議,Sffa-Sffc均連接到互聯設備SWd,上述方法中的網關指的是交換設備SWa-SWc。在互聯設備SWd上增加VRRP SNOOPING (偵聽)功能,對各交換設備之間交互的VRRP報文進行偵聽。即SWd將各交換設備之間交互的VRRP報文鏡像一份到SWd的CPU,CPU可對VRRP報文進行分析,同時與互聯端口的虛擬地址相關的ARP處理能力進行控制關聯。與第一種組網方式類似,各個交換設備根據收到的VRRP報文中攜帶的實IP地址將距離最近的鄰居交換設備確定為備份鄰居,并記錄備份鄰居與本交換設備之間的距離以及實IP地址。在本區域上行路徑故障時,本交換設備通過向備份鄰居發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給備份設備處理;互聯設備偵聽到該VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將該發送端交換設備所在區域的本地終端對網關的ARP請求報文轉發給該接收端交換設備處理。當本交換設備作為其他鄰居交換設備的備份鄰居接收到來自鄰居交換設備的VRRP臨終遺言報文時,需要對該鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對該鄰居交換設備轉發來的三層流量進行本地三層終結;直至該鄰居交換設備恢復健康時,互聯設備將通過對VRRP報文中實IP地址的分析得知這一情況,此時,關閉本交換設備與該鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。舉例來說,在SWa-SWc均正常情況下,Sffd偵聽并廣播SWa-SWc發送的VRRP報文,記錄SWa-SWc的VRRP狀態和端口 Pa-Pc的對應情況,關閉Pa-Pc三個端口的虛擬地址相關的ARP廣播能力。此時,Sffa的備份鄰居為SWc,SWb為次備份鄰居;SWb的備份鄰居是SWc, Sffa為次備份鄰居;SWc的備份鄰居為SWb,Sffa為次備份鄰居。若SWb上行故障,Sffb發送VRRP臨終遺言報文委托SWc接管DCb的終端,此時,Sffd偵聽到該VRRP臨終遺言報文,將該VRRP臨終遺言報文從端口 Pc送給SWc,同時打開互聯端口 Pb、Pc之間的虛擬地址相關的ARP廣播能力,使得DCb的終端與SWc網關可以正常通信。第三種組網方式網關的功能置于獨立的網關設備中實現,各網關設備分別連接各自區域中的交換設備,并通過交換設備實現二層互通,如圖7所示。在圖7所示區域互連方案下,各區域的網關在網關設備(GW)上,也就是說各SW不再具備網關的功能。在圖7所示組網下,各GW上部署本申請改造后的VRRP協議,Sff不再具備網關的功能。并且,各SW部署VRRP SNOOPING功能,S卩各SW將各網關設備之間交互的VRRP報文鏡像一份到各SW的CPU,在CPU上對VRRP報文進行偵聽和分析,并根據分析結果記錄各鄰居網關設備的健康狀態、距離、以及和互聯端口的對應情況,并據此控制虛擬地址相關的ARP報文在互聯端口上的轉發。正常情況下,Gff開啟VRRP功能,機制與第一種組網方式類似記錄備份鄰居,在本區域上行路徑故障時進行VRRP臨終遺言,只是不再由GW控制ARP報文轉發和廣播域,而改由SW開啟VRRP SNOOPING功能來控制。在本區域上行路徑故障時,本網關設備通過向距離最近的鄰居網關設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理;當交換設備偵聽到VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將該發送端交換設備所在區域的本地終端對網關的ARP請求報文轉發給該接收端交換設備處理。當本網關設備作為其他鄰居網關設備的備份鄰居接收到來自鄰居網關設備的VRRP臨終遺言報文時,需要對該鄰居網關設備轉發來的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并對該鄰居網關設備轉發來的三層流量進行本地三層終結;直至該鄰居網關設備恢復健康時,本網關設備所連接的交換設備和該鄰居網關設備所連接的交換設備將通過對VRRP報文中實IP地址的分析得知這一情況,此時,這兩個交換設備分別關閉本交換設備與該鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。本組網方式下,SW端口角色區分為上行口(連接本地網關設備)、互連口(連接其他區域的SW)和下行口(連接本地終端)。在SW的上行口和互連口上轉發VRRP報文,并且Sff記錄各VRRP網關的健康狀態和距離,正常情況下,不向互連口轉發虛擬地址相關的ARP報文,這類ARP報文僅在上行口和下行口之間轉發,流量正常在本區域內上行到GW VRRP網
關做三層終結上行。故障情況下,舉例來說,假設GWb上行故障,GWb將自身的VRRP置成失效不再作三層終結,并發送VRRP臨終遺言報文,委托實IP地址大的GWc接管DCb中的終端,Sffb接收到該VRRP臨終遺言報文后,定向將該VRRP臨終遺言報文從互聯口 Pbc發送給SWc,同時SWb打開互連口 Pbc 口的虛擬地址相關的ARP報文轉發和廣播能力,同時記錄GWb VRRP失效。 而SWc收到該VRRP臨終遺言報文后,定向轉發給GWc,同時打開互聯端口 Pcb 口的虛擬地址相關的ARP報文廣播和轉發能力,記錄GWb VRRP為失效狀態,并正常接管DCb中的終端的三層終結請求。以上針對三種典型的組網方式下如何實施本申請技術方案進行了詳細說明,下面通過兩個實施例對本申請的具體應用進行舉例說明。實施例一目前,業界的數據中心往往不是在一個地方,而是存在于多個地方的數據中心通過二層互聯起來。這時,數據中心內部的服務器間是通過二層交換設備進行交換,而外面的訪問一般都是通過三層來訪問的。由于數據中心是已經互聯組成的二層網絡,在傳統技術上往往是通過VRRP等協議協商或者配置某一個數據中心的交換機為三層網關,其他的數據中心的三層流量都從該數據中心的網關出去,同樣外面的訪問流量也是通過該數據中心的網關進來再轉發到對應的數據中心。圖8是現有數據中心的一種典型組網示意圖。在該組網下,數據中心A的匯聚交換機a和數據中心B的匯聚交換機b間建立VRRP連接,通過VRRP連接來選擇數據中心A的匯聚交換機或者B的匯聚交換機為VRRP的Master,將Master設備的VRRP接口作為整個數據中心的三層網關。當VRRP Master為數據中心A的匯聚交換機時,數據中心B下面的服務器ServerA和ServerB等進行三層轉發以及與外網進行三層互通時,都需要通過數據中心間的接口到數據中心A上繞一圈。例如,服務器ServerA訪問外網時的具體訪問路徑見圖8中的曲線箭頭。可見,采用現有技術,數據中心中的三層流量需要跨數據中心轉發,給原本就帶寬不大的數據中心互聯端口增加了壓力。針對圖8所示應用場景,可以在匯聚交換機上部署VRRP協議作為網關,并采用申請提供的本地三層終結方法實現本地優先三層終結。這種情況對應于如前所述的第一種組網方式,并且,匯聚交換機相當于第一種組網方式中的交換設備,提供網關的功能。本實施例中,ServerA希望的三層轉發路徑如圖9A中的曲線箭頭所示;當數據中心B上行路徑故障時,ServerA希望的三層轉發路徑如圖9B中的曲線箭頭所示。下面分別介紹本數據中心正常情況下的業務流程和故障情況下的業務流程。A、參見圖9A,本數據中心正常情況下的業務流程各匯聚交換機均使能VRRP TRACK功能。I、匯聚交換機持續周期性發送VRRP通告報文,記錄鄰居匯聚交換機的健康狀態,并選舉備份鄰居和次備份鄰居,以及控制虛擬地址相關的ARP報文的廣播和轉發域。匯聚交換機a和匯聚交換機b分別記錄對方為備份鄰居。2、服務器通過正常ARP流程學習本地網關的虛MAC地址,上行流量在本地網關三
層終結。
B、參見圖9B,本數據中心上行故障情況下的業務流程各匯聚交換機均使能VRRP TRACK功能。假設數據中心B的上行故障,匯聚交換機b通過VRRP TRACK機制置本地VRRP失效。I、匯聚交換機持續周期性發送VRRP通告報文,記錄鄰居匯聚交換機的健康狀態,并選舉備份鄰居和次備份鄰居,以及控制虛擬地址相關的ARP報文的廣播和轉發域。其中,匯聚交換機b持續發送的VRRP通告報文內填寫的實IP地址為取反后的實IP地址,以示本地VRRP失效。匯聚交換機a記錄匯聚交換機b為備份鄰居且失效;匯聚交換機b記錄匯聚交換機a為備份鄰居,向匯聚交換機a發送VRRP臨終遺言報文,同時打開與匯聚交換機a互連端口的虛擬地址相關的ARP報文的轉發和廣播能力,本地業務送匯聚交換機a接管。2、匯聚交換機b下的服務器通過正常ARP流程可學習匯聚交換機a的網關,上行流量通過匯聚交換機a與匯聚交換機b間的互聯端口送匯聚交換機a的網關做三層終結上行轉發。實施例二本實施例仍然以數據中心三層互聯為例,該三層互聯解決方案是在數據中心的核心交換機間建立VRRP/VRRPE組網,在核心交換機上根據VRRP協商出一個當前生效的三層接口,其他數據中心的三層流量都從該核心交換機出去,同樣外面的訪問流量也是通過該核心交換機進來再轉發到對應的數據中心。圖10為對應于本實施例的現有數據中心的另一種典型組網示意圖。在該組網下,數據中心A的核心交換機和數據中心B的核心交換機間建立VRRP連接,通過VRRP連接來選擇數據中心A的核心交換機或者B的核心交換機為VRRP的Master,將Master設備的VRRP接口作為整個數據中心的三層網關。當VRRP Master為數據中心A的核心交換機時,數據中心B下面的服務器ServerA和ServerB等進行三層轉發以及與外網進行三層互通時,都需要通過數據中心間的接口到數據中心A上繞一圈。例如,服務器ServerA訪問外網時的具體訪問路徑見圖10中的曲線箭頭。可見,采用現有技術,數據中心中的三層流量需要跨數據中心轉發,給原本就帶寬不大的數據中心互聯端口增加了壓力。針對圖10所示應用場景,可以采用本申請提供的本地三層終結方法,在核心交換機上部署VRRP協議作為網關進行本地優先三層終結,在匯聚交換機上開啟VRRP SNOOPING功能對核心交換機之間交互的VRRP報文進行偵聽和分析,并根據分析結果記錄鄰居核心交換機的健康狀態、距離、以及和互聯端口的對應情況,并據此控制虛擬地址相關的ARP報文在互聯端口上的轉發。這種情況對應于如前所述的第三種組網方式,并且,核心交換機相當于第三種組網方式的網關設備,提供網關的功能,匯聚交換機相當于第三種組網方式中的交換設備。本實施例中,ServerA希望的三層轉發路徑如圖IlA中的曲線箭頭所示;當數據中心B上行路徑故障時,ServerA希望的三層轉發路徑如圖IlB中的曲線箭頭所示。下面分別介紹本數據中心正常情況下的業務流程和故障情況下的業務流程。A、參見圖11A,本數據中心正常情況下的業務流程
各核心交換機均使能VRRP TRACK功能,各匯聚交換機開啟VRRP SNOOPING功能。I、各核心交換機持續周期性發送VRRP通告報文,記錄鄰居核心交換機的健康狀態,并選舉備份鄰居和次備份鄰居;各匯聚交換機偵聽并分析VRRP報文,根據分析結果記錄鄰居核心交換機的健康狀態、距離、以及和互聯端口的對應情況,并據此控制虛擬地址相關的ARP報文的廣播和轉發域。核心交換機a記錄核心交換機b為備份鄰居,核心交換機b記錄核心交換機a為備份鄰居;匯聚交換機a記錄核心交換機b的健康狀態、距離、以及和互聯端口的對應情況;匯聚交換機b記錄核心交換機a的健康狀態、距離、以及和互聯端口的對應情況。2、服務器通過正常ARP流程學習本地網關的虛MAC地址,上行流量在本地網關三
層終結。B、參見圖11B,本數據中心上行故障情況下的業務流程 各核心交換機均使能VRRP TRACK功能,各匯聚交換機開啟VRRP SNOOPING功能。假設數據中心B的上行故障,核心交換機b通過VRRP TRACK機制置本地VRRP失效。I、各核心交換機持續周期性發送VRRP通告報文,記錄鄰居核心交換機的健康狀態,并選舉備份鄰居和次備份鄰居;各匯聚交換機偵聽并分析VRRP報文,根據分析結果記錄鄰居核心交換機的健康狀態、距離、以及和互聯端口的對應情況,并據此控制虛擬地址相關的ARP報文的廣播和轉發域。其中,核心交換機b持續發送的VRRP通告報文內填寫的實IP地址為取反后的實IP地址,以示本地VRRP失效。核心交換機a記錄核心交換機b為備份鄰居且失效,核心交換機b記錄核心交換機a為備份鄰居,向核心交換機a發送VRRP臨終遺言報文;匯聚交換機a和匯聚交換機b偵聽到上述VRRP臨終遺言報文時,打開匯聚交換機a與匯聚交換機b互連端口的虛擬地址相關的ARP報文的轉發和廣播能力,本地業務送核心交換機a接管。2、核心交換機b下的服務器通過正常ARP流程可學習核心交換機a的網關,上行流量通過匯聚交換機a與匯聚交換機b間的互聯端口送核心交換機a的網關做三層終結上行轉發。對應于上述方法,本申請還提供了一種實現本地三層終結的設備,如圖12所示,該設備作為網關與其他區域中的鄰居網關組建VRRP組,且同一 VRRP組內的各網關使用相同的虛擬MAC地址和虛擬IP地址作為網關地址,其特征在于,該設備包括ARP模塊1201和三層處理模塊1202,其中ARP模塊1201在收到本地終端對網關的ARP請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,并且不轉發所述ARP請求報文至所述VRRP組中的鄰居網關;三層處理模塊1202使能本網關的三層終結功能,對本地終端與外網之間的流量進行本地三層終結。較佳地,當本區域上行路徑故障時,三層處理模塊1202還用于取消本網關的三層終結功能,并將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。較佳地,圖12所示設備中還可以包括VRRP模塊1203和鄰居維護模塊1204 ;在發送VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊1203將本網關的 實IP地址以及虛擬IP地址攜帶于所述VRRP報文中;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形以及虛擬IP地址攜帶于所述VRRP報文中;在轉發VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊1203將本網關的實IP地址順序添加到所述VRRP報文中原有的實IP地址之后;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形順序添加到所述VRRP報文中原有的實IP地址之后;所述鄰居維護模塊1204用于從本設備收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康,并向三層處理模塊1202提供判斷結果。較佳地,所述設備為交換設備,并采取環形組網的方式與其他區域中的交換設備直接相連;此時,圖12所示交換設備中可以進一步包括端口控制模塊1205和互聯端口1206 ;在本區域上行路徑故障時,所述端口控制模塊1205打開本交換設備與距離最近的健康鄰居交換設備之間的互聯端口 1206的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,通過所述互聯端口 1206將本地終端對網關的ARP請求報文轉發給所述距離最近的鄰居交換設備處理,并且,所述VRRP模塊1203向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通知互聯端口 1206將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理;當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述端口控制模塊1205打開本交換設備與所述鄰居交換設備之間的互聯端口 1206的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,由所述互聯端口 1206將所述鄰居交換設備轉發來的ARP請求報文發送給所述ARP模塊1201,由所述ARP模塊1201以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并由所述三層處理模塊1202對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,所述端口控制模塊1205關閉本交換設備與所述鄰居交換設備之間的互聯端口 1206的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
較佳地,所述設備為交換設備,該交換設備采取星形組網的方式通過互聯設備與其他區域中的交換設備相連,并通過所述互聯設備與其他區域中的交換設備實現二層互通;在本區域上行路徑故障時,所述VRRP模塊1203通過所述互聯設備向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通過所述互聯設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理;當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述ARP模塊1201對互聯設備轉發的來自所述鄰居交換設備的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊1202對互聯設備轉發的來自所述鄰居交換設備的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康。較佳地,所述設備為網關設備,該網關設備連接本區域的交換設備,并通過所述交換設備與其他區域中的網關設備實現二層互通;
在本區域上行路徑故障時,所述VRRP模塊1203通過本區域的交換設備向距離最近的鄰居網關設備發送VRRP臨終遺言報文,并通過本區域的交換設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理;當接收到來自鄰居網關設備的VRRP臨終遺言報文時,所述ARP模塊1201對本區域的交換設備轉發的來自所述鄰居網關設備的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊1202對本區域的交換設備轉發的來自所述鄰居網關設備的三層流量進行本地三層終結,直至所述鄰居網關設備恢復健康時。由上述技術方案可見,本申請提供了 VRRP網關多活且優選本地三層終結的技術方案。本申請可適用但不局限于多個數據中心異地二層互聯的組網下,能實現本地三層轉發而不用跨數據中心,但同時又能在本數據中心網關上行失效后,通過其他正常的數據中心進行三層轉發功能。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
權利要求
1.一種實現本地三層終結的方法,應用于本網關與其他區域中的鄰居網關組建虛擬路由器冗余協議(VRRP)組、同一 VRRP組內的各網關使用相同的虛擬媒體接入控制(MAC)地址和虛擬因特網協議(IP)地址作為網關地址的場景,其特征在于,該方法包括 網關收到本地終端對網關的地址解析協議(ARP)請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,并且不轉發所述ARP請求報文至所述VRRP組中的鄰居網關; 網關使能三層終結功能,對本地終端與外網之間的流量進行本地三層終結。
2.根據權利要求I所述的方法,其特征在于,當本區域上行路徑故障時,該方法進一步包括 本網關取消三層終結功能,將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。
3.根據權利要求2所述的方法,其特征在于,該方法進一步包括 在發送VRRP報文時,判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址以及虛擬IP地址攜帶于所述VRRP報文中;如果故障,將本網關的實IP地址的變形以及虛擬IP地址攜帶于所述VRRP報文中; 在轉發VRRP報文時,判斷本區域上行路徑是否正常,如果正常,將本網關的實IP地址順序添加到所述VRRP報文中原有的實IP地址之后;如果故障,將本網關的實IP地址的變形順序添加到所述VRRP報文中原有的實IP地址之后; 確定距離最近的健康鄰居網關的方式為從收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康。
4.根據權利要求2所述的方法,其特征在于 所述網關的功能置于交換設備中實現,各交換設備之間采用環形組網的方式相互連接; 在本區域上行路徑故障時,本交換設備通過直接打開本交換設備與距離最近的健康鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將本地終端對網關的ARP請求報文轉發給所述距離最近的鄰居交換設備處理,并通過向距離最近的鄰居交換設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理。
5.根據權利要求4所述的方法,其特征在于 當本交換設備接收到來自鄰居交換設備的VRRP臨終遺言報文時,該方法進一步包括打開本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,對所述鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
6.根據權利要求2所述的方法,其特征在于所述網關的功能置于交換設備中實現,各交換設備采用星形組網的方式連接到互聯設備,并通過所述互聯設備實現二層互通; 在本區域上行路徑故障時,本交換設備通過向距離最近的鄰居交換設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理; 該方法進一步包括所述互聯設備開啟VRRP偵聽(Snooping)功能,對各交換設備之間交互的VRRP報文進行偵聽,當偵聽到VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將所述發送端交換設備的本地終端對網關的ARP請求報文轉發給所述接收端交換設備處理。
7.根據權利要求6所述的方法,其特征在于 當本交換設備接收到來自鄰居交換設備的VRRP臨終遺言報文時,該方法進一步包括對所述鄰居交換設備轉發來的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,所述互聯設備關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
8.根據權利要求2所述的方法,其特征在于 所述網關的功能置于網關設備中實現,各網關設備分別連接各自本區域的交換設備,并通過所述交換設備實現二層互通; 在本區域上行路徑故障時,本網關設備通過向距離最近的鄰居網關設備發送VRRP臨終遺言報文的方式將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理; 該方法進一步包括各交換設備開啟VRRP Snooping功能,對各網關設備之間交互的VRRP報文進行偵聽和分析,根據分析結果記錄鄰居網關設備的健康狀態、距離、以及和互聯端口的對應情況,當偵聽到VRRP臨終遺言報文時,通過打開VRRP臨終遺言報文發送端交換設備與接收端交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力的方式,將所述發送端交換設備的本地終端對網關的ARP請求報文轉發給所述接收端交換設備處理。
9.根據權利要求8所述的方法,其特征在于 當本網關設備接收到來自鄰居網關設備的VRRP臨終遺言報文時,該方法進一步包括對所述鄰居網關設備轉發來的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并對所述鄰居網關設備轉發來的三層流量進行本地三層終結,直至所述鄰居網關設備恢復健康時,本網關設備所連接的交換設備和所述鄰居網關設備所連接的交換設備分別關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
10.根據權利要求2至9任一項所述的方法,其特征在于 該方法進一步包括網關發送VRRP報文時,使用本網關的實MAC地址作為源MAC地址;
11.根據權利要求2至9任一項所述的方法,其特征在于 該方法進一步包括網關跟蹤(TRACK)上行鏈路或下一跳是否正常,如果正常,判定本區域上行路徑正常,否則,判定本區域上行路徑故障。
12.根據權利要求2至9任一項所述的方法,其特征在于 該方法進一步包括網關主動向終端發送報文時,使用本網關的實MAC地址作為源MAC地址。
13.一種實現本地三層終結的設備,該設備作為網關與其他區域中的鄰居網關組建虛擬路由器冗余協議(VRRP)組,且同一 VRRP組內的各網關使用相同的虛擬媒體接入控制(MAC)地址和虛擬因特網協議(IP)地址作為網關地址,其特征在于,該設備包括地址解析協議(ARP)模塊和三層處理模塊,其中 ARP模塊在收到本地終端對網關的ARP請求報文時,以所述虛擬MAC地址和虛擬IP地址回應所述ARP請求報文,并且不轉發所述ARP請求報文至所述VRRP組中的鄰居網關; 三層處理模塊使能本網關的三層終結功能,對本地終端與外網之間的流量進行本地三層終結。
14.根據權利要求13所述的設備,其特征在于 當本區域上行路徑故障時,三層處理模塊還用于取消本網關的三層終結功能,并將本地終端對網關的ARP請求報文以及本地終端與外網之間的流量轉發給距離最近的健康鄰居網關處理。
15.根據權利要求14所述的設備,其特征在于,該設備中還包括VRRP模塊和鄰居維護模塊; 在發送VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊將本網關的實IP地址以及虛擬IP地址攜帶于所述VRRP報文中;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形以及虛擬IP地址攜帶于所述VRRP報文中; 在轉發VRRP報文時,如果本區域上行路徑正常,所述VRRP模塊將本網關的實IP地址順序添加到所述VRRP報文中原有的實IP地址之后;如果本區域上行路徑故障,所述VRRP模塊將本網關的實IP地址的變形順序添加到所述VRRP報文中原有的實IP地址之后; 所述鄰居維護模塊用于從本設備收到的VRRP報文中獲取至少一個實IP地址,根據各實IP地址的順序確定本網關與各鄰居網關之間的距離,并根據各實IP地址的取值進行判斷,如果實IP地址的取值為正常的實IP地址,判定對應于該實IP地址的鄰居網關健康,如果實IP地址的取值為實IP地址的變形,判定對應于該實IP地址的鄰居網關不健康,并向三層處理模塊提供判斷結果。
16.根據權利要求15所述的設備,其特征在于 所述設備為交換設備,并采取環形組網的方式與其他區域中的交換設備直接相連; 該交換設備中進一步包括端口控制模塊和互聯端口; 在本區域上行路徑故障時,所述端口控制模塊打開本交換設備與距離最近的健康鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,通過所述互聯端口將本地終端對網關的ARP請求報文轉發給所述距離最近的鄰居交換設備處理,并且,所述VRRP模塊向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通知所述互聯端口將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理; 當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述端口控制模塊打開本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力,由所述互聯端口將所述鄰居交換設備轉發來的ARP請求報文發送給所述ARP模塊,由所述ARP模塊以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并由所述三層處理模塊對所述鄰居交換設備轉發來的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康時,所述端口控制模塊關閉本交換設備與所述鄰居交換設備之間的互聯端口的虛擬IP地址和虛擬MAC地址相關的ARP報文轉發能力。
17.根據權利要求15所述的設備,其特征在于 所述設備為交換設備,該交換設備采取星形組網的方式通過互聯設備與其他區域中的交換設備相連,并通過所述互聯設備與其他區域中的交換設備實現二層互通; 在本區域上行路徑故障時,所述VRRP模塊通過所述互聯設備向距離最近的鄰居交換設備發送VRRP臨終遺言報文,并通過所述互聯設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居交換設備處理; 當接收到來自鄰居交換設備的VRRP臨終遺言報文時,所述ARP模塊對互聯設備轉發的來自所述鄰居交換設備的ARP請求報文,以本交換設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊對互聯設備轉發的來自所述鄰居交換設備的三層流量進行本地三層終結,直至所述鄰居交換設備恢復健康。
18.根據權利要求15所述的設備,其特征在于 所述設備為網關設備,該網關設備連接本區域的交換設備,并通過所述交換設備與其他區域中的網關設備實現二層互通; 在本區域上行路徑故障時,所述VRRP模塊通過本區域的交換設備向距離最近的鄰居網關設備發送VRRP臨終遺言報文,并通過本區域的交換設備將本地終端與外網之間的流量轉發給所述距離最近的鄰居網關設備處理; 當接收到來自鄰居網關設備的VRRP臨終遺言報文時,所述ARP模塊對本區域的交換設備轉發的來自所述鄰居網關設備的ARP請求報文,以本網關設備的虛擬MAC地址和虛擬IP地址進行回應,并且,所述三層處理模塊對本區域的交換設備轉發的來自所述鄰居網關設備的三層流量進行本地三層終結,直至所述鄰居網關設備恢復健康時。
全文摘要
本申請提供了實現本地三層終結方法及設備,本地網關使能三層終結功能,本地終端就近從本地網關上行,在本地進行三層終結,只有本地網關上行故障時才跨越二層鏈路從遠程的網關上行。應用本申請技術方案,實現了VRRP網關多活,并對終端與外網之間的流量實現了優先本地三層終結,避免了終端與外網之間的流量跨越中間鏈路進行傳輸。
文檔編號H04L12/713GK102932251SQ20121042816
公開日2013年2月13日 申請日期2012年10月31日 優先權日2012年10月31日
發明者孫中良, 鄭國良 申請人:杭州華三通信技術有限公司