專利名稱:轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法和設(shè)備。
背景技術(shù):
為了實現(xiàn)高可靠性和冗余部署,并提供更好的服務(wù),大多數(shù)企業(yè)網(wǎng)絡(luò)及其數(shù)據(jù)中心或服務(wù)提供商通常在異地部署多個數(shù)據(jù)中心,實現(xiàn)負(fù)載分擔(dān)和高可靠性,并實現(xiàn)虛擬機(jī)在數(shù)據(jù)中心之間的自由遷移。由于虛擬機(jī)的遷移過程對用戶透明,不能改變IP (InternetProtocol,因特網(wǎng)協(xié)議)地址,所以必須在分布于異地的數(shù)據(jù)中心之間實現(xiàn)二層網(wǎng)絡(luò)互聯(lián)。現(xiàn)有的二層網(wǎng)絡(luò)互聯(lián)技術(shù)包括EVI (Ethernet Virtualization Interconnection,以太網(wǎng)虛擬互連)和VPLS (Virtual Private LAN Service,虛擬專用局域網(wǎng)服務(wù))。其中,EVI技術(shù)基于現(xiàn)有的服務(wù)提供商(SP)網(wǎng)絡(luò)和企業(yè)網(wǎng)絡(luò),為分散的物理站點(即數(shù)據(jù)中心站點)提供靈活的二層互聯(lián)功能。EVI是一種先進(jìn)的"MAC (Media AccessControl,媒體訪問控制)in IP"技術(shù),用于實現(xiàn)基于IP核心網(wǎng)的L2VPN (Layer2VirtualPrivate Network, 二層虛擬專用網(wǎng)絡(luò))技術(shù)。EVI只是在數(shù)據(jù)中心站點(以下簡稱為站點)的邊緣設(shè)備(Edge Device, ED)上維護(hù)路由和轉(zhuǎn)發(fā)信息,而無需改變站點內(nèi)部和核心網(wǎng)絡(luò)。采用了 EVI技術(shù)的網(wǎng)絡(luò)(稱為EVI網(wǎng)絡(luò))由核心網(wǎng)絡(luò)、站點(Site)網(wǎng)絡(luò)和交疊(Overlay)網(wǎng)絡(luò)組成。站點網(wǎng)絡(luò)中包括邊緣設(shè)備及其下掛的大量的主機(jī)和路由器等,站點網(wǎng)絡(luò)通過邊緣設(shè)備接入核心網(wǎng)絡(luò),其中,邊緣設(shè)備是位于站點網(wǎng)絡(luò)邊緣的執(zhí)行EVI功能的 交換設(shè)備,其在站點網(wǎng)絡(luò)側(cè)作為二層設(shè)備運行,在核心網(wǎng)絡(luò)側(cè)作為三層設(shè)備運行,它完成報文從私網(wǎng)到公網(wǎng)隧道,以及公網(wǎng)隧道到私網(wǎng)的映射與轉(zhuǎn)發(fā)。站點內(nèi)的邊緣設(shè)備之間形成交疊網(wǎng)絡(luò),交疊網(wǎng)絡(luò)是站點網(wǎng)絡(luò)中的邊緣設(shè)備之間建立的虛擬網(wǎng)絡(luò),提供站點網(wǎng)絡(luò)之間的二層互聯(lián),通告連接到邊緣設(shè)備的所有主機(jī)和路由器的MAC地址,將多個站點互連,形成更大的二層轉(zhuǎn)發(fā)域。在相同的交疊網(wǎng)絡(luò)實例(即VLAN實例)中,邊緣設(shè)備之間通過一條雙向的虛擬以太通道EVI Link,完成彼此之間的數(shù)據(jù)透明傳輸。在EVI網(wǎng)絡(luò)中,默認(rèn)情形下,在數(shù)據(jù)中心站點通過各自的邊緣設(shè)備實現(xiàn)了二層互聯(lián)之后,一個站點網(wǎng)絡(luò)中的邊緣設(shè)備對未知地址的組播報文不會泛洪到其他站點。通常在每一個站點網(wǎng)絡(luò)中部署一個首跳網(wǎng)關(guān)(GW),在該首跳網(wǎng)關(guān)上運行VRRP (Virtual RouterRedundancy Protocol,虛擬路由器冗余協(xié)議)協(xié)議。由于邊緣設(shè)備上過濾未知地址的組播報文,包括VRRP協(xié)議報文,因此每個站點的首跳網(wǎng)關(guān)都會成為本站點內(nèi)的VRRP Master(主控)網(wǎng)關(guān),從而每個站點網(wǎng)絡(luò)都擁有本地的三層網(wǎng)關(guān),站點到核心網(wǎng)的三層數(shù)據(jù)流都由本地的首跳網(wǎng)關(guān)轉(zhuǎn)發(fā)到核心網(wǎng)絡(luò)。典型的EVI網(wǎng)絡(luò)的組網(wǎng)模型如圖I所示,EVI網(wǎng)絡(luò)中包括數(shù)據(jù)中心站點Sitel、Site2和Site3。Sitel中包括ED1、首跳網(wǎng)絡(luò)GWl和大量的主機(jī)、路由器等(由Hostl簡單表示),Site2中包括ED2、首跳網(wǎng)絡(luò)GW2和大量的主機(jī)、路由器等(由Host2簡單表示),Site3中包括ED3、首跳網(wǎng)絡(luò)GW3和大量的主機(jī)、路由器等(由Host3簡單表示)。Site l、Site2和Site3通過各自的GW1、GW2和GW3接入核心網(wǎng)絡(luò),ED1、ED2和ED3互連形成交疊網(wǎng)絡(luò),并實現(xiàn)了 Sitel、Site2和Site3的二層互聯(lián)。在Sitel中的GWl上運行VRRP協(xié)議,EDl上過濾VRRP協(xié)議報文,從而VRRP協(xié)議報文無法通過EDl與ED2之間的EVI Link泛洪到Site2,同樣也無法通過EDl與ED3之間的EVI Link泛洪到Site3,首跳網(wǎng)關(guān)GWl成為Sitel的VRRPMaster網(wǎng)關(guān),Site I內(nèi)的三層數(shù)據(jù)流只能通過GWl轉(zhuǎn)發(fā)到核心網(wǎng)絡(luò)(如圖I中的帶箭頭的實線所示)。同樣,Site2和Site3也是如此。但是,由于數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流只能通過本地的首跳網(wǎng)關(guān)轉(zhuǎn)發(fā)到核心網(wǎng)絡(luò),這樣,當(dāng)本地的 首跳網(wǎng)關(guān)失效(例如發(fā)生了故障)時,會導(dǎo)致該數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流無法轉(zhuǎn)發(fā)出去,造成通信中斷。為了解決該問題,現(xiàn)有技術(shù)中提出了以下的解決方案每一個站點內(nèi)的邊緣設(shè)備通過偵聽本地首跳網(wǎng)關(guān)的首跳網(wǎng)關(guān)冗余協(xié)議(FirstHop Redundancy Protocol, FHRP)報文來獲取本地網(wǎng)關(guān)信息,將本地獲取的網(wǎng)關(guān)信息發(fā)布到其他數(shù)據(jù)中心站點的邊緣設(shè)備。同時,邊緣設(shè)備也接收和保存從其他站點的邊緣設(shè)備發(fā)來的網(wǎng)關(guān)信息。當(dāng)一個站點內(nèi)的首跳網(wǎng)關(guān)失效時,該站點內(nèi)的邊緣設(shè)備基于預(yù)設(shè)規(guī)則在遠(yuǎn)端站點的網(wǎng)關(guān)信息中選擇一個與本地首跳網(wǎng)關(guān)具有相同虛擬MAC地址的遠(yuǎn)端站點的首跳網(wǎng)關(guān)(可以稱為替代首跳網(wǎng)關(guān)),建立該虛擬MAC地址與該遠(yuǎn)端站點的邊緣設(shè)備的關(guān)聯(lián)關(guān)系,同時代替該選擇的替代首跳網(wǎng)關(guān)向本地站點內(nèi)部發(fā)送免費ARP (Address ResolutionProtocol,地址解析協(xié)議)報文,從而將本地站點內(nèi)的三層數(shù)據(jù)流牽引到該選擇的替代首跳網(wǎng)關(guān)上轉(zhuǎn)發(fā)出去。如圖2所示,在Sitel內(nèi)的GWl失效時,EDl按照預(yù)設(shè)規(guī)則在遠(yuǎn)端站點的網(wǎng)關(guān)信息中選擇了與GWl具有相同虛擬MAC地址的遠(yuǎn)端站點Site2的首跳網(wǎng)關(guān)GW2,建立該虛擬MAC地址與ED2的關(guān)聯(lián)關(guān)系,同時代替GW2向本地站點內(nèi)部發(fā)送免費ARP報文,從而將Sitel內(nèi)的三層數(shù)據(jù)流發(fā)送到ED2,由ED2轉(zhuǎn)發(fā)給GW2并轉(zhuǎn)發(fā)到核心網(wǎng)絡(luò)。但是,在上述現(xiàn)有技術(shù)的方案中,每一個站點內(nèi)的邊緣設(shè)備都需要向其他遠(yuǎn)端站點內(nèi)的邊緣設(shè)備發(fā)送本地網(wǎng)關(guān)信息,從而增加了網(wǎng)絡(luò)流量,尤其是站點較多時;并且,由邊緣設(shè)備管理和選擇替代首跳網(wǎng)關(guān),增加了邊緣設(shè)備的運算負(fù)擔(dān)。另外,在選擇替代首跳網(wǎng)關(guān)時,所依據(jù)的預(yù)設(shè)規(guī)則是隨機(jī)選擇或者選擇優(yōu)先級最高的,這樣,選中的替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備有可能不是最優(yōu)的,例如,選中的替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備正忙,而未選中的遠(yuǎn)端站點的首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備中卻存在相對空閑的,這樣,由于本地站點的三層數(shù)據(jù)流要通過替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān),因此,一方面,會導(dǎo)致本地站點內(nèi)的三層數(shù)據(jù)流得不到及時地轉(zhuǎn)發(fā),另一方面,也會使得替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備的數(shù)據(jù)流轉(zhuǎn)發(fā)擁塞情況更加嚴(yán)重。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法和設(shè)備,以至少解決現(xiàn)有技術(shù)中存在的網(wǎng)絡(luò)流量較大,邊緣設(shè)備的運算負(fù)擔(dān)較大,以及,由于選中的替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備有可能不是最優(yōu)的一個,而導(dǎo)致的本地站點內(nèi)的三層數(shù)據(jù)流得不到及時地轉(zhuǎn)發(fā),且使得替代首跳網(wǎng)關(guān)所在站點內(nèi)的邊緣設(shè)備的數(shù)據(jù)流轉(zhuǎn)發(fā)擁塞情況更加嚴(yán)重的問題。
本發(fā)明的技術(shù)方案如下一方面,提供了一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法,數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),數(shù)據(jù)中心站點中包括邊緣設(shè)備和首跳網(wǎng)關(guān),該方法包括第一邊緣設(shè)備偵聽第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,其中,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;第一邊緣設(shè)備獲取自身到其他數(shù)據(jù)中 心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延;當(dāng)獲取到的信息發(fā)生改變時,第一邊緣設(shè)備將改變后的信息發(fā)送給服務(wù)器,以便服務(wù)器以改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括網(wǎng)關(guān)信息和Ping時延;當(dāng)檢測到第一首跳網(wǎng)關(guān)失效時,第一邊緣設(shè)備向服務(wù)器請求替代首跳網(wǎng)關(guān)的信息,以便服務(wù)器根據(jù)與第一邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給第一邊緣設(shè)備,預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與首跳網(wǎng)關(guān)具有相同的虛擬IP地址,第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效;第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文;在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,第一邊緣設(shè)備將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān)。另一方面,還提供了一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法,數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),數(shù)據(jù)中心站點中包括邊緣設(shè)備和首跳網(wǎng)關(guān),該方法包括月艮務(wù)器接收第一邊緣設(shè)備在獲取到的信息發(fā)生改變時發(fā)來的改變后的信息,以改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括第一邊緣設(shè)備通過偵聽第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息、以及第一邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;服務(wù)器接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于請求替代首跳網(wǎng)關(guān)的信息的請求消息,根據(jù)本地保存的與第一邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給第一邊緣設(shè)備,以便第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān),其中,預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與首跳網(wǎng)關(guān)具有相同的虛擬IP地址,第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效。其中,在服務(wù)器接收第一邊緣設(shè)備在獲取到的信息發(fā)生改變時發(fā)來的改變后的信息之前,還包括服務(wù)器為第一邊緣設(shè)備進(jìn)行注冊,并在注冊的過程中,接收第一邊緣設(shè)備發(fā)來的第一邊緣設(shè)備獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的Ping時延,在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和ping時延,并建立與第一邊緣設(shè)備的對應(yīng)關(guān)系,其中,第一邊緣設(shè)備在建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,向服務(wù)器進(jìn)行注冊。其中,在服務(wù)器為第一邊緣設(shè)備進(jìn)行注冊之后,還包括服務(wù)器為第一邊緣設(shè)備進(jìn)行注銷,并將本地記錄的與第一邊緣設(shè)備對應(yīng)的信息刪除,其中,第一邊緣設(shè)備在解除了與鄰居邊緣設(shè)備之間的二層鏈路之后,向服務(wù)器進(jìn)行注銷。
其中,該方法還包括服務(wù)器接收第一邊緣在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于告知第一首跳網(wǎng)關(guān)失效的通知;服務(wù)器在本地保存的第一邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效。其中,該方法還包括服務(wù)器接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時發(fā)來的用于告知服務(wù)器第一首跳網(wǎng)關(guān)恢復(fù)有效的通知、以及第一邊緣設(shè)備重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到鄰居邊緣設(shè)備的Ping時延;服務(wù)器以接收到的重新獲取到的網(wǎng)關(guān)信息以及Ping時延更新本地保存的第一邊緣設(shè)備對應(yīng)的信息,并將第一首跳網(wǎng)關(guān)記錄為有效。又一方面,還提供了一種邊緣設(shè)備,該邊緣設(shè)備所在的數(shù)據(jù)中心站點中還包括第一首跳網(wǎng)關(guān),數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),該邊緣設(shè)備包括獲取模塊,用于偵聽本數(shù)據(jù)中心站點內(nèi)的第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,以及,獲取本邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延,其中,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;發(fā)送模塊,用于在 獲取模塊獲取到的信息發(fā)生改變時,將改變后的信息發(fā)送給服務(wù)器,以便服務(wù)器以改變后的信息更新本地保存的與本邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括網(wǎng)關(guān)信息和Ping時延;在接收模塊接收到服務(wù)器反饋來的該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文;在接收模塊接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān);檢測模塊,用于檢測第一首跳網(wǎng)關(guān)是否失效,并在失效時,通知請求模塊;請求模塊,用于在接收到檢測模塊的通知后,向服務(wù)器請求替代首跳網(wǎng)關(guān)的信息,以便服務(wù)器根據(jù)與本邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給本邊緣設(shè)備,預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與第一首跳網(wǎng)關(guān)具有相同的虛擬IP地址,本邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效;接收模塊,用于接收服務(wù)器反饋來的該替代首跳網(wǎng)關(guān)的信息,以及,接收本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流。又一方面,還提供了一種服務(wù)器,包括接收模塊,用于接收第一邊緣設(shè)備在獲取到的信息發(fā)生改變時發(fā)來的改變后的信息,接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于請求替代首跳網(wǎng)關(guān)的信息的請求消息,保存模塊,用于以接收模塊接收到的改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括第一邊緣設(shè)備通過偵聽第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息、以及第一邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;選擇模塊,用于根據(jù)保存模塊中保存的與第一邊緣設(shè)備對應(yīng)的信息,選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān),其中,預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與首跳網(wǎng)關(guān)具有相同的虛擬IP地址,第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效;發(fā)送模塊,用于將選擇模塊選擇的該替代首跳網(wǎng)關(guān)的信息反饋給第一邊緣設(shè)備,以便第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān)。
其中,該服務(wù)器還包括注冊模塊,其中,注冊模塊,用于為第一邊緣設(shè)備進(jìn)行注冊,并在注冊的過程中,接收第一邊緣設(shè)備發(fā)來的第一邊緣設(shè)備獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的Ping時延;保存模塊還用于在本地記錄注冊模塊接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和Ping時延,并建立與第一邊緣設(shè)備的對應(yīng)關(guān)系,其中,第一邊緣設(shè)備在建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,向服務(wù)器進(jìn)行注冊。其中,該服務(wù)器還包括注銷模塊,其中,注銷模塊,用于為第一邊緣設(shè)備進(jìn)行注銷,并通知保存模塊將本地記錄的與第一邊緣設(shè)備對應(yīng)的信息刪除,其中,第一邊緣設(shè)備在解除了與鄰居邊緣設(shè)備之間的二層鏈路之后,向服務(wù)器進(jìn)行注銷。其中,接收模塊還用于接收第一邊緣在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于告知第一首跳網(wǎng)關(guān)失效的通知;保存模塊還用于在接收模塊接收到第一邊緣設(shè)備發(fā)來的用于告知第一首跳網(wǎng)關(guān)失效的通知之后,在本地保存的第一邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效。其中,接收模塊還用于接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時發(fā)來的用于告知服務(wù)器第一首跳網(wǎng)關(guān)恢復(fù)有效的通知、以及第一邊緣設(shè)備重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到鄰居邊緣設(shè)備的Ping時延;保存模塊還用于以接收模塊接收到的重新獲取到的網(wǎng)關(guān)信息以及Ping時延更新本地保存的第一邊緣設(shè)備對應(yīng)的信息,并根據(jù)接收模塊接收到的用于告知服務(wù)器第一首跳網(wǎng)關(guān)恢復(fù)有效的通知,將第一首跳網(wǎng)關(guān)記錄為有效。本發(fā)明的以上技術(shù)方案,由于Server選擇的替代首跳網(wǎng)關(guān)是第一邊緣設(shè)備到鄰居邊緣設(shè)備的Ping時延中最小的那個邊緣設(shè)備(即第二邊緣設(shè)備)所在的站點內(nèi)的首跳網(wǎng)關(guān),第一邊緣設(shè)備到第二邊緣設(shè)備的Ping時延最小,說明第二邊緣設(shè)備對自己的響應(yīng)最快,離自己最近,也表明第二邊緣設(shè)備此時最空閑,這樣,第一邊緣設(shè)備在將本站點內(nèi)的三層數(shù)據(jù)流發(fā)送給第二邊緣設(shè)備之后,第二邊緣設(shè)備能夠最及時地轉(zhuǎn)發(fā)該數(shù)據(jù)流,同時造成第二邊緣設(shè)備的數(shù)據(jù)流轉(zhuǎn)發(fā)擁塞的可能性也就越小,從而,替代首跳網(wǎng)關(guān)所在的邊緣設(shè)備是最優(yōu)的邊緣設(shè)備。另外,邊緣設(shè)備之間不需要交互各自獲取到的本地首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,也不需要在本地保存所有遠(yuǎn)端站點內(nèi)的首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,在本地首跳網(wǎng)關(guān)失效后,也不需要由邊緣設(shè)備自己進(jìn)行運算,選擇替代首網(wǎng)關(guān),而是由一個Server統(tǒng)一維護(hù)和管理各個邊緣設(shè)備獲取到的信息,每一個邊緣設(shè)備在注冊時,向Server發(fā)送自己獲取到的信息,并在獲取到的信息發(fā)生變化時,發(fā)送改變后的信息,由于只需要向Server發(fā)送獲取到的信息,而不需要向所有鄰居邊緣設(shè)備發(fā)送,大大減少了網(wǎng)絡(luò)流量,并且,在本地首跳網(wǎng)關(guān)失效時,可以向Server請求替代首跳網(wǎng)關(guān)的信息,由Server根據(jù)本地保存的對應(yīng)該邊緣設(shè)備的信息選擇替代網(wǎng)關(guān),不需要由邊緣設(shè)備自己進(jìn)行運算,也消除了邊緣設(shè)備的運算負(fù)擔(dān)。
圖I是根據(jù)現(xiàn)有技術(shù)的典型的EVI網(wǎng)絡(luò)的組網(wǎng)模型示意圖;圖2是根據(jù)現(xiàn)有技術(shù)的一個站點中的首跳網(wǎng)關(guān)失效后,站點內(nèi)的三層數(shù)據(jù)流的轉(zhuǎn)發(fā)示意圖3是根據(jù)本發(fā)明的實施例一的轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法的流程圖;圖4是根據(jù)本發(fā)明的實施例二的EDl偵聽GWl的FHRP報文和向Server注冊的示意圖;圖5是根據(jù)本發(fā)明的實施例二的GWl失效時的示意圖;圖6是根據(jù)本發(fā)明的實施例二的GWl恢復(fù)有效時的示意圖;圖7是根據(jù)本發(fā)明的實施例三的邊緣設(shè)備的一種結(jié)構(gòu)示意圖; 圖8是根據(jù)本發(fā)明的實施例三的邊緣設(shè)備的另一種結(jié)構(gòu)示意圖;圖9是根據(jù)本發(fā)明的實施例四的服務(wù)器的一種結(jié)構(gòu)示意圖;圖10是根據(jù)本發(fā)明的實施例四的服務(wù)器的另一種結(jié)構(gòu)示意圖。
具體實施例方式實施例一在如圖I所示的EVI網(wǎng)絡(luò)中,包括多個數(shù)據(jù)中心站點(下文中簡稱為站點),各個站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),每一個站點中都包括邊緣設(shè)備(ED)和首跳網(wǎng)關(guān)(GW),此外,在二層互聯(lián)網(wǎng)絡(luò)(在EVI網(wǎng)絡(luò)中,該二層互聯(lián)網(wǎng)絡(luò)為交疊網(wǎng)絡(luò))中,增加了一個Server (服務(wù)器),該Server用于管理和維護(hù)各個站點內(nèi)的邊緣設(shè)備所在站點的首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,同時,還維護(hù)和管理每一個邊緣設(shè)備到其他站點內(nèi)的鄰居邊緣設(shè)備的ping(Packet InternetGroper,因特網(wǎng)包探索器)時延。在實際實施時,Server可以是單獨的設(shè)備,也可以是設(shè)置在現(xiàn)有的設(shè)備中,本發(fā)明對此不做限定?;谠摼W(wǎng)絡(luò)架構(gòu),本發(fā)明的實施例一提供了一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法,該方法可以由任意一個站點中的邊緣設(shè)備來執(zhí)行,能夠?qū)崿F(xiàn)在一個站點中的首跳網(wǎng)關(guān)失效時,選擇其他站點內(nèi)的一個首跳網(wǎng)關(guān)作為替代首跳網(wǎng)關(guān),由該替代首跳網(wǎng)關(guān)接管本站點內(nèi)的三層數(shù)據(jù)流的轉(zhuǎn)發(fā)。需要說明的是,下文中的第一邊緣設(shè)備可以是任意一個站點內(nèi)的邊緣設(shè)備,并不特指某一個邊緣設(shè)備。如圖3所示,根據(jù)本發(fā)明的實施例一的轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法的處理流程,包括以下步驟I、第一邊緣設(shè)備加入交疊網(wǎng)絡(luò),獲取相關(guān)信息步驟S302,第一邊緣設(shè)備偵聽本數(shù)據(jù)中心站點內(nèi)的首跳網(wǎng)關(guān)(稱為第一首跳網(wǎng)關(guān))發(fā)送的FHRP (首跳網(wǎng)關(guān)冗余協(xié)議)報文,從FHRP報文中獲取第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,其中,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;由于第一首跳網(wǎng)關(guān)會周期性地發(fā)送FHRP報文,該FHRP報文具體可以是VRRP報文,也可以是HSRP (Hot Standby Routing Protocol,熱備份路由協(xié)議)報文,即,F(xiàn)HRP協(xié)議具體可以是VRRP協(xié)議或HSRP協(xié)議,因此,第一邊緣設(shè)備可以偵聽FHRP報文,并從FHRP報文中獲取到第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,包括虛擬IP地址和虛擬MAC地址等。步驟S304,在第一邊緣設(shè)備建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,第一邊緣設(shè)備獲取自身到這些鄰居邊緣設(shè)備的Ping時延;第一邊緣設(shè)備可以通過ENDP協(xié)議發(fā)現(xiàn)屬于同一 VLAN的其他站點內(nèi)的鄰居邊緣設(shè)備,然后,會與這些鄰居邊緣設(shè)備建立二層鏈路(即EVI Link),從而加入到了交疊網(wǎng)絡(luò)中。第一邊緣設(shè)備在建立了與鄰居邊緣設(shè)備的二層鏈路(也即加入到了交疊網(wǎng)絡(luò),或接入到EVILink中)之后,可以通過ENDP協(xié)議獲取EVI Link上的鄰居邊緣設(shè)備的信息,并獲取自身到這些鄰居邊緣設(shè)備的ping時延。本領(lǐng)域技術(shù)人員可以知道,ping時延的值越小,表示對端離自己越近,對端響應(yīng)得越快,表明對端比較空閑,反之,表示對端離自己越遠(yuǎn),對端響應(yīng)得越慢,表明對端比較忙。其中,ENDP(EVI Neighbor Discovery Protocol,EVI 鄰居發(fā)現(xiàn)協(xié)議)用于自動發(fā)現(xiàn)站點及邊緣設(shè)備,建立和維護(hù)邊緣設(shè)備之間的虛擬連接,交互同一個VLAN的邊緣設(shè)備的信息。在實際實施時,第一邊緣設(shè)備可以周期性 地向鄰居邊緣設(shè)備進(jìn)行ping操作,從而獲取到自身到鄰居邊緣設(shè)備的ping時延。例如,周期可以為Is。步驟S306,在第一邊緣設(shè)備建立了與鄰居邊緣設(shè)備之間的二層鏈路之后,第一邊緣設(shè)備向Server進(jìn)行注冊,并在注冊的過程中,將獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的ping時延發(fā)送給Server,以便Server在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān) 目息和ping時延,并建立與第一邊緣設(shè)備的對應(yīng)關(guān)系。第一邊緣設(shè)備在與鄰居邊緣設(shè)備的二層鏈路(也即加入到了交疊網(wǎng)絡(luò),或接入到EVI Link中)之后,還需要向Server進(jìn)行注冊,注冊的信息包括第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和第一邊緣設(shè)備到鄰居邊緣設(shè)備的ping時延。對于Server來說,Server會為第一邊緣設(shè)備進(jìn)行注冊,并在注冊的過程中,接收第一邊緣設(shè)備發(fā)來的第一邊緣設(shè)備獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和第一邊緣設(shè)備到鄰居邊緣設(shè)備的Ping時延,然后,在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和該Ping時延,并建立與第一邊緣設(shè)備的對應(yīng)關(guān)系。具體的注冊過程例如可以為第一邊緣設(shè)備向Server發(fā)送注冊請求報文,其中,該注冊請求報文中攜帶有第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息、第一邊緣設(shè)備到鄰居邊緣設(shè)備的Ping時延、以及第一邊緣設(shè)備的信息(例如,第一邊緣設(shè)備的MAC地址和IP地址等)等信息,Server在接收到該注冊請求報文之后,可以將這些信息記錄到本地,并建立這些信息與第一邊緣設(shè)備之間的對應(yīng)關(guān)系。例如,可以在本地建立如表I所不的注冊信息表,該注冊信息表中的每一行記錄對應(yīng)一個邊緣設(shè)備的信息。然后,向第一邊緣設(shè)備返回注冊成功的響應(yīng)消息。表I
首跳網(wǎng)關(guān)信息 Ping時延邊緣設(shè)備信息
~EDl IPv, MACv到 ED2 :0. 5s、到 ED3 :0. 3sIPl, MACl顯然,也可以采用其他的形式保存第一邊緣設(shè)備的上述信息,或者注冊信息表也可以采用其他的格式,本發(fā)明對此不做限定。另外,由于第一邊緣設(shè)備可以周期性地獲取到第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的Ping時延,因此,第一邊緣設(shè)備每一次獲取到第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和/或上述ping時延之后,都會更新本地保存的對應(yīng)信息,從而發(fā)送給Server的信息也總是當(dāng)前最新的。上述步驟S302、S304和S306在實際實施時,是同時進(jìn)行的。步驟S308,在注冊完成以后,當(dāng)獲取到的信息發(fā)生改變時,第一邊緣設(shè)備將改變后的信息發(fā)送給Server,以便Server以改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括網(wǎng)關(guān)信息和Ping時延;獲取到的信息發(fā)生 改變,可以是第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息發(fā)生了改變(虛擬IP地址和/或虛擬MAC地址發(fā)生了改變),也可以是自身到至少一個鄰居邊緣設(shè)備的ping時延發(fā)生了改變,也可以是兩者都發(fā)生了改變,總之,只要有一個信息發(fā)生了改變即會將改變后的信息發(fā)送給Server,由Server更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息中的對應(yīng)信息。在實際實施過程中,為了節(jié)省網(wǎng)絡(luò)帶寬,第一邊緣設(shè)備可以僅將發(fā)生了改變的信息發(fā)送給Server即可,例如,僅第一首跳網(wǎng)關(guān)的虛擬MAC地址發(fā)送了改變,就僅將改變后的虛擬MAC地址發(fā)給Server即可。對于Server來說,Server會接收第一邊緣設(shè)備在獲取到的信息發(fā)生改變時發(fā)來的改變后的信息,然后以改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息。例如,在如表I所述的注冊信息表中查找到與第一邊緣設(shè)備對應(yīng)的那一項,以該改變后的信息更新該項中的對應(yīng)信息,例如,改變后的信息為第一首跳網(wǎng)關(guān)的新虛擬MAC地址,那么,Server就會將與第一邊緣設(shè)備對應(yīng)的那一項中記錄的第一首跳網(wǎng)關(guān)的虛擬MAC地址更新為新虛擬MAC地址。這樣,任意邊緣設(shè)備在發(fā)現(xiàn)獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和/或自身到鄰居邊緣設(shè)備的Ping時延發(fā)生了改變時,會實時地將改變后的信息發(fā)送給Server,以實時更新Server保存的對應(yīng)信息,從而確保在Server中保存的對應(yīng)信息總是最新的,在后續(xù)本地首跳網(wǎng)關(guān)失效后,向Server請求替代首跳網(wǎng)關(guān)時,Server選擇替代首跳網(wǎng)關(guān)所依據(jù)的信息也是最新的,保證了所選擇的替代首跳網(wǎng)關(guān)的準(zhǔn)確性。2、第一邊緣設(shè)備檢測到第一首跳網(wǎng)關(guān)失效,請求替代首跳網(wǎng)關(guān)步驟S310,當(dāng)檢測到第一首跳網(wǎng)關(guān)失效(例如發(fā)生故障)時,第一邊緣設(shè)備通知Server第一首跳網(wǎng)關(guān)失效,同時向Server請求替代首跳網(wǎng)關(guān)的信息,以便Server在第一邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效,并根據(jù)與第一邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給第一邊緣設(shè)備,該預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與首跳網(wǎng)關(guān)具有相同的虛擬IP地址,第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的ping時延最小,且該替代首跳網(wǎng)關(guān)有效;例如,當(dāng)?shù)谝贿吘壴O(shè)備檢測到第一首跳網(wǎng)關(guān)故障時,向Server發(fā)送獲取替代首跳網(wǎng)關(guān)的信息的請求報文,Server接收到該請求報文之后,會根據(jù)本地記錄的與第一邊緣設(shè)備對應(yīng)的信息,會按照上述預(yù)設(shè)規(guī)則選擇一個其他站點內(nèi)的首跳網(wǎng)關(guān)作為該替代首跳網(wǎng)關(guān),并將該替代首跳網(wǎng)關(guān)的信息發(fā)給第一邊緣設(shè)備。同時也可以在該請求消息中,攜帶特定標(biāo)記或其他方式,用于表示第一首跳網(wǎng)關(guān)失效,或者也可以發(fā)送單獨的通知報文,通知第一首跳網(wǎng)關(guān)失效,本發(fā)明對此不做限定。從而,對于Server來說,Server接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于請求替代首跳網(wǎng)關(guān)的信息的請求消息(或請求報文)和用于告知第一首跳網(wǎng)關(guān)失效的通知,然后,在本地保存的第一邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效,并根據(jù)本地保存的與第一邊緣設(shè)備對應(yīng)的信息選擇一個符合上述預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并將該替代首跳網(wǎng)關(guān)的信息反饋給第一邊緣設(shè)備。例如,具體記錄第一首跳網(wǎng)關(guān)為無效的方式可以為在如表I所示的注冊信息表中的首跳網(wǎng)關(guān)信息中增加一個標(biāo)記,用于表示對應(yīng)的首跳網(wǎng)關(guān)是否有效,例如,用d表示對應(yīng)的首跳網(wǎng)關(guān)失效,用u表示對應(yīng)的首跳網(wǎng)關(guān)有效;或者也可以在每一項(一項即為一行)中另外增加一列,例如為有效標(biāo)識符,當(dāng)該有效標(biāo)識符置為第一值時,表示該項的信息有效,也表明了該行中的首跳網(wǎng)關(guān)有效,當(dāng)該有效標(biāo)識符置為第二值時,表示該項的信息無效,也表明了該行中的首跳網(wǎng)關(guān)無效。從而Server在選擇替代首跳網(wǎng)關(guān)時,就無需考慮那些帶有d標(biāo)記的項或者有效標(biāo)識符為第 二值的項了。顯然,在實際實施過程中,可以靈活地采用各種方式表示首跳網(wǎng)關(guān)無效,本發(fā)明對此不做限定。由于第一首跳網(wǎng)關(guān)失效了,第一首跳網(wǎng)關(guān)不會再周期性發(fā)送FHRP報文,第一邊緣設(shè)備也無需再向Server更新自己獲取到的信息了。在第一首跳網(wǎng)關(guān)失效后,及時地通知Server,以便Server能夠?qū)⒌谝皇滋W(wǎng)關(guān)記錄為無效,從而確保了 Server在選擇替代首跳網(wǎng)關(guān)時,不會選中已經(jīng)失效的首跳網(wǎng)關(guān)。由于Server選擇的替代首跳網(wǎng)關(guān)是第一邊緣設(shè)備到鄰居邊緣設(shè)備的ping時延中最小的那個邊緣設(shè)備(即第二邊緣設(shè)備)所在的站點內(nèi)的首跳網(wǎng)關(guān),第一邊緣設(shè)備到第二邊緣設(shè)備的Ping時延最小,說明第二邊緣設(shè)備對自己的響應(yīng)最快,離自己最近,也表明第二邊緣設(shè)備此時最空閑,這樣,第一邊緣設(shè)備在將本站點內(nèi)的三層數(shù)據(jù)流發(fā)送給第二邊緣設(shè)備之后,第二邊緣設(shè)備能夠最及時地轉(zhuǎn)發(fā)該數(shù)據(jù)流,同時造成第二邊緣設(shè)備的數(shù)據(jù)流轉(zhuǎn)發(fā)擁塞的可能性也就越小,從而,替代首跳網(wǎng)關(guān)所在的邊緣設(shè)備是最優(yōu)的邊緣設(shè)備。步驟S312,第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文;步驟S314,在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,第一邊緣設(shè)備將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān)。第一邊緣設(shè)備接收到替代首跳網(wǎng)關(guān)的信息之后,該信息可以包括替代首跳網(wǎng)關(guān)的虛擬MAC地址和虛擬IP地址,可以以該信息更新本地保存的MAC地址表,并同時代替該替代首跳網(wǎng)關(guān)在本站點內(nèi)發(fā)送免費ARP報文,該免費ARP報文中攜帶有該替代首跳網(wǎng)關(guān)的虛擬MAC地址和虛擬IP地址。這樣,第一邊緣設(shè)備所在的站點中的主機(jī)等接收到該免費ARP報文之后,會以該免費ARP報文中的虛擬MAC地址和虛擬IP地址更新本地保存的MAC地址表,再次發(fā)送三層數(shù)據(jù)流時,就會按照該表中的信息進(jìn)行發(fā)送。第一邊緣設(shè)備接收到三層數(shù)據(jù)流后,也可以根據(jù)本地的MAC地址表將該三層數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,從而由第二邊緣設(shè)備轉(zhuǎn)發(fā)到該替代首跳網(wǎng)關(guān),并由該替代首跳網(wǎng)關(guān)轉(zhuǎn)發(fā)到核心網(wǎng),實現(xiàn)了引導(dǎo)本地站點內(nèi)三層流量經(jīng)由替代網(wǎng)關(guān)轉(zhuǎn)發(fā)出去的效果。本發(fā)明實施例中,邊緣設(shè)備之間不需要交互各自獲取到的本地首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,也不需要在本地保存所有遠(yuǎn)端站點內(nèi)的首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,在本地首跳網(wǎng)關(guān)失效后,也不需要由邊緣設(shè)備自己進(jìn)行運算,選擇替代首網(wǎng)關(guān),而是由一個Server統(tǒng)一維護(hù)和管理各個邊緣設(shè)備獲取到的信息,每一個邊緣設(shè)備在注冊時,向Server發(fā)送自己獲取到的信息,并在獲取到的信息發(fā)生變化時,發(fā)送改變后的信息,由于只需要向Server發(fā)送獲取到的信息,而不需要向所有鄰居邊緣設(shè)備發(fā)送,大大減少了網(wǎng)絡(luò)流量,并且,在本地首跳網(wǎng)關(guān)失效時,可以向Server請求替代首跳網(wǎng)關(guān)的信息,由Server根據(jù)本地保存的對應(yīng)該邊緣設(shè)備的信息選擇替代網(wǎng)關(guān),不需要由邊緣設(shè)備自己進(jìn)行運算,也消除了邊緣設(shè)備的運算負(fù)擔(dān)。3、第一邊緣設(shè)備檢測到第一首跳網(wǎng)關(guān)恢復(fù),恢復(fù)本站點內(nèi)的三層數(shù)據(jù)流轉(zhuǎn)發(fā)當(dāng)檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時,第一邊緣設(shè)備停止向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并通知Server第一首跳網(wǎng)關(guān)恢復(fù)有效,同時將重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到鄰居邊緣設(shè)備的Ping時延發(fā)送給Server,以便Server以重新獲取到的網(wǎng)關(guān)信息以及ping時延更新第一邊緣設(shè)備對應(yīng)的信息,并將第一首跳網(wǎng)關(guān)記錄為有效。當(dāng)?shù)谝皇滋W(wǎng)關(guān)恢復(fù)之后,會在本站點內(nèi)發(fā)送FHRP報文和免費ARP報文。第一邊緣設(shè)備偵聽到第一首跳網(wǎng)關(guān)發(fā)送的FHRP報文后,重新向Server更新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到相鄰邊緣設(shè)備的Ping時延。本站點中的Host (主機(jī))接收到第一首跳網(wǎng)關(guān)發(fā)送的FHRP報文,第一首跳網(wǎng)關(guān)重新成為本站點內(nèi)的Master,并在接收到第一首跳網(wǎng)關(guān)發(fā)來的免費ARP報文后,以該免費ARP報文中攜帶的第一首跳網(wǎng)關(guān)的虛擬 IP地址和MAC地址更新本地的MAC地址表,在發(fā)送三層數(shù)據(jù)流時,就按照該MAC地址表中的信息發(fā)送,從而自動恢復(fù)了本站點內(nèi)的三層數(shù)據(jù)流的本地轉(zhuǎn)發(fā),即,由第一首跳網(wǎng)關(guān)轉(zhuǎn)發(fā)本站點內(nèi)的三層數(shù)據(jù)流。其中,當(dāng)FHRP協(xié)議具體為VRRP協(xié)議時,即,每一個站點網(wǎng)絡(luò)中的首跳網(wǎng)關(guān)上運行VRRP協(xié)議時,在第一首跳網(wǎng)關(guān)恢復(fù)之后,第一首跳網(wǎng)關(guān)會重新成為本站點內(nèi)的VRRPMaster ;當(dāng)FHRP協(xié)議具體為HSRP協(xié)議時,即,每一個站點網(wǎng)絡(luò)中的首跳網(wǎng)關(guān)上運行HSRP協(xié)議時,在第一首跳網(wǎng)關(guān)恢復(fù)之后,第一首跳網(wǎng)關(guān)會重新成為本站點內(nèi)的HSRPMaster。對于Server來說,Server接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時發(fā)來的用于告知Server第一首跳網(wǎng)關(guān)恢復(fù)有效的通知、以及第一邊緣設(shè)備重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到鄰居邊緣設(shè)備的Ping時延,然后,Server以接收到的重新獲取到的網(wǎng)關(guān)信息以及Ping時延更新本地保存的第一邊緣設(shè)備對應(yīng)的信息,并將第一首跳網(wǎng)關(guān)記錄為有效。這樣,在第一首跳網(wǎng)關(guān)恢復(fù)后,Server及時地更新了本地保存的對應(yīng)信息。4、第一邊緣設(shè)備離開交疊網(wǎng)絡(luò)在第一邊緣設(shè)備解除了與鄰居邊緣設(shè)備之間的二層鏈路,即離開交疊網(wǎng)絡(luò)或離開EVI-Link之后,第一邊緣設(shè)備向Server進(jìn)行注銷,以便Server將本地記錄的與第一邊緣設(shè)備對應(yīng)的信息刪除。例如,第一邊緣設(shè)備向Server發(fā)送注銷報文,該注銷報文中可以僅攜帶第一邊緣設(shè)備的標(biāo)識,Server在接收到該注銷報文之后,就根據(jù)從本地保存的注冊信息表中查找到該注銷報文中攜帶的標(biāo)識對應(yīng)的那一項,刪除那一項中的信息。從而對于Server來說,Server為第一邊緣設(shè)備進(jìn)行注銷,并將本地記錄的與第一邊緣設(shè)備對應(yīng)的信息刪除,其中,第一邊緣設(shè)備在解除了與鄰居邊緣設(shè)備之間的二層鏈路之后,向Server進(jìn)行注銷。顯然,本方法還可以應(yīng)用于采用了 VPLS (Virtual Private LAN Service,虛擬專用局域網(wǎng)服務(wù))技術(shù)的網(wǎng)絡(luò)(稱為VPLS網(wǎng)絡(luò))中,具體的方法與上述相同,其中邊緣設(shè)備為CE (Customer Edge,用戶邊緣設(shè)備),且CE之間的二層鏈路為PW (Pseudo Wire,虛鏈路)。
實施例二以圖4-6所示的EVI網(wǎng)絡(luò)為例,說明上述實施例一中的方法。在該EVI網(wǎng)絡(luò)中,在交疊網(wǎng)絡(luò)中部署了一個Server。如圖4所示,邊緣設(shè)備ED I偵聽首跳網(wǎng)關(guān)GWl的FHRP報文(在圖4中用帶箭頭的實粗線表示),從中獲取GWl的網(wǎng)關(guān)信息,包括GW1的虛擬IP地址和虛擬MAC地址等,EDl通過ENDP協(xié)議發(fā)現(xiàn)其他站點Site2和Site3中的鄰居邊緣設(shè)備ED2和ED3,并建立與ED2和ED3之間的EVI Link,之后,通過與ED2和ED3之間的EVI Link周期性地進(jìn)行ping操作,獲取自身到ED2和ED3的ping時延。在首次獲取到上述信息之后,EDl就可以將這些信息(包括GWl的網(wǎng)關(guān)信息和ED I至IJED2和ED3的ping時延)封裝在注冊報文(在圖4中用帶箭頭的虛粗線表示)中,向Server進(jìn)行注冊。Server接收到該注冊報文之后,就會在本地的注冊信息表中記錄這些信息,并建 立這些信息與EDl的對應(yīng)關(guān)系。同樣,ED2和ED3也會執(zhí)行上述獲取操作,通過同樣的方式向Server進(jìn)行注冊。從而,在Server上保存有EDI、ED2和ED3的對應(yīng)信息(包括首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及到鄰居邊緣設(shè)備的Ping時延)。ED1、ED2和ED3在注冊完成后,會在獲取到的信息發(fā)生改變時,向Server更新信息,即,將改變后的信息發(fā)送給Server,以維持Server中保存的信息的有效性和實時性。如圖5所示,當(dāng)Sitel中的GWl發(fā)生故障后,EDl在預(yù)定時間間隔內(nèi)收不到GWl的FHRP協(xié)議報文,從而確定GWl故障,EDl會向Server通知GWl失效,并且請求替代首跳網(wǎng)關(guān)的信息。Server接收到EDl發(fā)來的告知GWl失效的通知和請求替代首跳網(wǎng)關(guān)的信息的請求消息之后,從本地記錄注冊信息表中查找到與EDl對應(yīng)的那一項信息,從ED2和ED3中選擇與EDl的ping時延最小、對應(yīng)的首跳網(wǎng)關(guān)有效、且對應(yīng)的首跳網(wǎng)關(guān)的虛擬IP與GWl相同的ED2,將ED2所在站點內(nèi)的首跳網(wǎng)關(guān)GW2的信息發(fā)送給EDI,GW2的信息包括GW2的虛擬IP地址和虛擬MAC地址。該交互過程,在圖5中用雙向箭頭的虛粗線表示。EDl收到Server發(fā)來的GW2的信息之后,代替GW2構(gòu)造免費ARP報文,該免費ARP報文中攜帶有GW2的虛擬MAC地址和虛擬IP地址,發(fā)往SiteI中(在圖5中用單向箭頭的實粗線表示)。從而,可以將Sitel中各個Host的三層數(shù)據(jù)出口數(shù)據(jù)流導(dǎo)向Site2中的GW2,即,EDl在接收到Sitel內(nèi)的三層數(shù)據(jù)流之后,會將該數(shù)據(jù)流轉(zhuǎn)發(fā)到ED2,由ED2轉(zhuǎn)發(fā)到GW2。如圖6所示,后續(xù)當(dāng)GWl恢復(fù)以后,將重新在Sitel內(nèi)發(fā)送FHRP報文和免費ARP報文(在圖6中用單向箭頭的實粗線表示)。當(dāng)EDl從偵聽到GWl的FHRP報文以后,EDl向Server通知GWl有效,并停止向Sitel內(nèi)發(fā)送攜帶有GW2的信息的免費ARP報文。Sitel內(nèi)的各個Host接收到GWl的FHRP報文和免費ARP報文,從而恢復(fù)了 Sitel內(nèi)的各個Host的三層出口數(shù)據(jù)流經(jīng)由GWl轉(zhuǎn)發(fā)到核心網(wǎng)。實施例三針對上述實施例一中的方法,提供了一種可以應(yīng)用該方法的邊緣設(shè)備,該邊緣設(shè)備可以為任意站點內(nèi)的邊緣設(shè)備,即為實施例一中的第一邊緣設(shè)備),該邊緣設(shè)備所在的數(shù)據(jù)中心站點中還包括第一首跳網(wǎng)關(guān),該邊緣設(shè)備可以應(yīng)用于數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián)的EVI網(wǎng)絡(luò)和VPLS網(wǎng)絡(luò)中。如圖7所示,該邊緣設(shè)備包括獲取模塊101、發(fā)送模塊102、檢測模塊103、請求模塊104和接收模塊105,其中獲取模塊101,用于偵聽本數(shù)據(jù)中心站點內(nèi)的第一首跳網(wǎng)關(guān)發(fā)送的FHRP報文,從FHRP報文中獲取第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,以及,獲取本邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延,其中,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址。發(fā)送模塊102,用于在獲取模塊101獲取到的信息發(fā)生改變時,將改變后的信息發(fā)送給Server,以便Server以改變后的信息更新本地保存的與本邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括網(wǎng)關(guān)信息和ping時延;在接收模塊105接收到Server反饋來的該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文;在接收模塊105接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān);在檢測模塊103檢測到第一首跳網(wǎng)關(guān)失效時,通知Server第一首跳網(wǎng)關(guān)失效,以便Server在本邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效;在檢測模塊103檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時,停止向本數(shù) 據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并通知Server第一首跳網(wǎng)關(guān)恢復(fù)有效,同時將獲取模塊101重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及本邊緣設(shè)備到鄰居邊緣設(shè)備的ping時延發(fā)送給Server,以便Server以重新獲取到的網(wǎng)關(guān)信息以及Ping時延更新本邊緣設(shè)備對應(yīng)的信息,并將第一首跳網(wǎng)關(guān)記錄為有效。檢測模塊103,用于檢測第一首跳網(wǎng)關(guān)是否失效,并在失效時,通知請求模塊104。請求模塊104,用于在接收到檢測模塊103的通知后,向Server請求替代首跳網(wǎng)關(guān)的信息,以便Server根據(jù)與本邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給本邊緣設(shè)備,該預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與第一首跳網(wǎng)關(guān)具有相同的虛擬IP地址,本邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效。接收模塊105,用于接收Server反饋來的該替代首跳網(wǎng)關(guān)的信息,以及,接收本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流。如圖8所示,該邊緣設(shè)備中還可以包括注冊模塊106和注銷模塊107,其中,注冊模塊106,用于在本邊緣設(shè)備建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,向Server進(jìn)行注冊,并在注冊的過程中,將獲取模塊101獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和本邊緣設(shè)備到鄰居邊緣設(shè)備的Ping時延發(fā)送給Server,以便Server在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和ping時延,并建立與本邊緣設(shè)備的對應(yīng)關(guān)系。注冊模塊完成注冊之后,后續(xù),發(fā)送模塊102在確定獲取模塊101獲取到的信息發(fā)生改變時,就會將改變后的信息發(fā)送給Server,以更新Server中保存的對應(yīng)信息。注銷模塊107,用于在本邊緣設(shè)備解除了與鄰居邊緣設(shè)備之間的二層鏈路之后,向Server進(jìn)行注銷,以便Server將本地記錄的與本邊緣設(shè)備對應(yīng)的信息刪除。實施例四針對上述實施例一中的方法,提供了一種可以應(yīng)用該方法的服務(wù)器,該服務(wù)器可以應(yīng)用于數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián)的EVI網(wǎng)絡(luò)和VPLS網(wǎng)絡(luò)中,數(shù)據(jù)中心站點中包括邊緣設(shè)備和首跳網(wǎng)關(guān)。如圖9所示,該Server包括以下模塊接收模塊201、保存模塊202、選擇模塊203和發(fā)送模塊204,其中
接收模塊201,用于接收第一邊緣設(shè)備在獲取到的信息發(fā)生改變時發(fā)來的改變后的信息,接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于請求替代首跳網(wǎng)關(guān)的信息的請求消息;接收第一邊緣在檢測到第一首跳網(wǎng)關(guān)失效時發(fā)來的用于告知第一首跳網(wǎng)關(guān)失效的通知;接收第一邊緣設(shè)備在檢測到第一首跳網(wǎng)關(guān)恢復(fù)有效時發(fā)來的用于告知Server第一首跳網(wǎng)關(guān)恢復(fù)有效的通知、以及第一邊緣設(shè)備重新獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到鄰居邊緣設(shè)備的ping時延。保存模塊202,用于以接收模塊201接收到的改變后的信息更新本地保存的與第一邊緣設(shè)備對應(yīng)的信息,其中,獲取到的信息包括第一邊緣設(shè)備通過偵聽第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息、以及第一邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延,網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址;在接收模塊201接收到第一邊緣設(shè)備發(fā)來的用于告知第一首跳網(wǎng)關(guān)
失效的通知之后,在本地保存的第一邊緣設(shè)備對應(yīng)的信息中將第一首跳網(wǎng)關(guān)記錄為無效;以接收模塊201接收到的重新獲取到的網(wǎng)關(guān)信息以及ping時延更新本地保存的第一邊緣設(shè)備對應(yīng)的信息,并根據(jù)接收模塊接收到的用于告知Server第一首跳網(wǎng)關(guān)恢復(fù)有效的通知,將第一首跳網(wǎng)關(guān)記錄為有效。選擇模塊203,用于根據(jù)保存模塊202中保存的與第一邊緣設(shè)備對應(yīng)的信息,選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān),其中,該預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與首跳網(wǎng)關(guān)具有相同的虛擬IP地址,第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的ping時延最小,且該替代首跳網(wǎng)關(guān)有效。發(fā)送模塊204,用于將選擇模塊203選擇的該替代首跳網(wǎng)關(guān)的信息反饋給第一邊緣設(shè)備,以便第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān)。另外,如圖10所示,該Server中還可以包括注冊模塊205和注銷模塊206,其中,注冊模塊205,用于為第一邊緣設(shè)備進(jìn)行注冊,并在注冊的過程中,接收第一邊緣設(shè)備發(fā)來的第一邊緣設(shè)備獲取到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的Ping時延,由保存模塊202在本地記錄注冊模塊205接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和Ping時延,并建立與第一邊緣設(shè)備的對應(yīng)關(guān)系,其中,第一邊緣設(shè)備在建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,向Server進(jìn)行注冊。注銷模塊206,用于為第一邊緣設(shè)備進(jìn)行注銷,并通知保存模塊202將本地記錄的與第一邊緣設(shè)備對應(yīng)的信息刪除,其中,第一邊緣設(shè)備在解除了與鄰居邊緣設(shè)備之間的二層鏈路之后,向Server進(jìn)行注銷。綜上,本發(fā)明以上實施例可以達(dá)到以下技術(shù)效果由于Server選擇的替代首跳網(wǎng)關(guān)是第一邊緣設(shè)備到鄰居邊緣設(shè)備的ping時延中最小的那個邊緣設(shè)備(即第二邊緣設(shè)備)所在的站點內(nèi)的首跳網(wǎng)關(guān),第一邊緣設(shè)備到第二邊緣設(shè)備的Ping時延最小,說明第二邊緣設(shè)備對自己的響應(yīng)最快,離自己最近,也表明第二邊緣設(shè)備此時最空閑,這樣,第一邊緣設(shè)備在將本站點內(nèi)的三層數(shù)據(jù)流發(fā)送給第二邊緣設(shè)備之后,第二邊緣設(shè)備能夠最及時地轉(zhuǎn)發(fā)該數(shù)據(jù)流,同時造成第二邊緣設(shè)備的數(shù)據(jù)流轉(zhuǎn)發(fā)擁塞的可能性也就越小,從而,替代首跳網(wǎng)關(guān)所在的邊緣設(shè)備是最優(yōu)的邊緣設(shè)備。
另外,邊緣設(shè)備之間不需要交互各自獲取到的本地首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,也不需要在本地保存所有遠(yuǎn)端站點內(nèi)的首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,在本地首跳網(wǎng)關(guān)失效后,也不需要由邊緣設(shè)備自己進(jìn)行運算,選擇替代首網(wǎng)關(guān),而是由一個Server統(tǒng)一維護(hù)和管理各個邊緣設(shè)備獲取到的信息,每一個邊緣設(shè)備在注冊時,向Server發(fā)送自己獲取到的信息,并在獲取到的信息發(fā)生變化時,發(fā)送改變后的信息,由于只需要向Server發(fā)送獲取到的信息,而不需要向所有鄰居邊緣設(shè)備發(fā)送,大大減少了網(wǎng)絡(luò)流量,并且,在本地首跳網(wǎng)關(guān)失效時,可以向Server請求替代首跳網(wǎng)關(guān)的信息,由Server根據(jù)本地保存的對應(yīng)該邊緣設(shè)備的信息選擇替代網(wǎng)關(guān),不需要由邊緣設(shè)備自己進(jìn)行運算,也消除了邊緣設(shè)備的運算負(fù)擔(dān)以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均 應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法,數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),數(shù)據(jù)中心站點中包括邊緣設(shè)備和首跳網(wǎng)關(guān),其特征在于,所述方法包括 第一邊緣設(shè)備偵聽第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,其中,所述網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址; 所述第一邊緣設(shè)備獲取自身到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的Ping時延; 當(dāng)獲取到的信息發(fā)生改變時,所述第一邊緣設(shè)備將改變后的信息發(fā)送給服務(wù)器,以便所述服務(wù)器以所述改變后的信息更新本地保存的與所述第一邊緣設(shè)備對應(yīng)的信息,其中,所述獲取到的信息包括所述網(wǎng)關(guān)信息和所述Ping時延; 當(dāng)檢測到所述第一首跳網(wǎng)關(guān)失效時,所述第一邊緣設(shè)備向所述服務(wù)器請求替代首跳網(wǎng)關(guān)的信息,以便所述服務(wù)器根據(jù)與所述第一邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給所述第一邊緣設(shè)備,所述預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與所述首跳網(wǎng)關(guān)具有相同的虛擬IP地址,所述第一邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效; 所述第一邊緣設(shè)備在接收到該替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文; 在接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,所述第一邊緣設(shè)備將該數(shù)據(jù)流發(fā)送到所述第二邊緣設(shè)備,以便由所述第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述當(dāng)獲取到的信息發(fā)生改變時,所述第一邊緣設(shè)備將改變后的信息發(fā)送給服務(wù)器之前,還包括 在所述第一邊緣設(shè)備建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,所述第一邊緣設(shè)備向所述服務(wù)器進(jìn)行注冊,并在注冊的過程中,將獲取到的所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到鄰居邊緣設(shè)備的Ping時延發(fā)送給所述服務(wù)器,以便所述服務(wù)器在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和Ping時延,并建立與所述第一邊緣設(shè)備的對應(yīng)關(guān)系。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述第一邊緣設(shè)備向所述服務(wù)器進(jìn)行注冊之后,還包括 在所述第一邊緣設(shè)備解除了與所述鄰居邊緣設(shè)備之間的二層鏈路之后,所述第一邊緣設(shè)備向所述服務(wù)器進(jìn)行注銷,以便所述服務(wù)器將本地記錄的與所述第一邊緣設(shè)備對應(yīng)的信息刪除。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,還包括 當(dāng)檢測到所述第一首跳網(wǎng)關(guān)失效時,所述第一邊緣設(shè)備通知所述服務(wù)器所述第一首跳網(wǎng)關(guān)失效,以便所述服務(wù)器在所述第一邊緣設(shè)備對應(yīng)的信息中將所述第一首跳網(wǎng)關(guān)記錄為無效。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括 當(dāng)檢測到所述第一首跳網(wǎng)關(guān)恢復(fù)有效時,所述第一邊緣設(shè)備停止向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有所述替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并通知所述服務(wù)器所述第一首跳網(wǎng)關(guān)恢復(fù)有效,同時將重新獲取到的所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及自身到所述鄰居邊緣設(shè)備的Ping時延發(fā)送給所述服務(wù)器,以便所述服務(wù)器以所述重新獲取到的網(wǎng)關(guān)信息以及Ping時延更新所述第一邊緣設(shè)備對應(yīng)的信息,并將所述第一首跳網(wǎng)關(guān)記錄為有效。
6.一種邊緣設(shè)備,所述邊緣設(shè)備所在的數(shù)據(jù)中心站點中還包括第一首跳網(wǎng)關(guān),數(shù)據(jù)中心站點之間實現(xiàn)了二層網(wǎng)絡(luò)互聯(lián),其特征在于,所述邊緣設(shè)備包括 獲取模塊,用于偵聽本數(shù)據(jù)中心站點內(nèi)的第一首跳網(wǎng)關(guān)發(fā)送的首跳網(wǎng)關(guān)冗余協(xié)議FHRP報文,從FHRP報文中獲取所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息,以及,獲取本邊緣設(shè)備到其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備的ping時延,其中,所述網(wǎng)關(guān)信息包括虛擬IP地址和虛擬MAC地址; 發(fā)送模塊,用于在獲取模塊獲取到的信息發(fā)生改變時,將改變后的信息發(fā)送給服務(wù)器,以便所述服務(wù)器以所述改變后的信息更新本地保存的與本邊緣設(shè)備對應(yīng)的信息,其中,所述獲取到的信息包括所述網(wǎng)關(guān)信息和所述Ping時延;在接收模塊接收到所述服務(wù)器反饋來的替代首跳網(wǎng)關(guān)的信息之后,向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文;在所述接收模塊接收到本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流時,將該數(shù)據(jù)流發(fā)送到第二邊緣設(shè)備,以便由所述第二邊緣設(shè)備轉(zhuǎn)發(fā)給該替代首跳網(wǎng)關(guān);檢測模塊,用于檢測所述第一首跳網(wǎng)關(guān)是否失效,并在失效時,通知請求模塊; 所述請求模塊,用于在接收到所述檢測模塊的通知后,向所述服務(wù)器請求替代首跳網(wǎng)關(guān)的信息,以便所述服務(wù)器根據(jù)與本邊緣設(shè)備對應(yīng)的信息選擇一個符合以下預(yù)設(shè)規(guī)則的替代首跳網(wǎng)關(guān)并反饋給本邊緣設(shè)備,所述預(yù)設(shè)規(guī)則為該替代首跳網(wǎng)關(guān)與所述第一首跳網(wǎng)關(guān)具有相同的虛擬IP地址,本邊緣設(shè)備到該替代首跳網(wǎng)關(guān)所在的數(shù)據(jù)中心站點內(nèi)的所述第二邊緣設(shè)備的Ping時延最小,且該替代首跳網(wǎng)關(guān)有效; 接收模塊,用于接收所述服務(wù)器反饋來的該替代首跳網(wǎng)關(guān)的信息,以及,接收本數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流。
7.根據(jù)權(quán)利要求6所述的邊緣設(shè)備,其特征在于,還包括 注冊模塊,用于在本邊緣設(shè)備建立了與其他數(shù)據(jù)中心站點內(nèi)的鄰居邊緣設(shè)備之間的二層鏈路之后,向所述服務(wù)器進(jìn)行注冊,并在注冊的過程中,將所述獲取模塊獲取到的所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和本邊緣設(shè)備到鄰居邊緣設(shè)備的Ping時延發(fā)送給所述服務(wù)器,以便所述服務(wù)器在本地記錄接收到的第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和Ping時延,并建立與本邊緣設(shè)備的對應(yīng)關(guān)系。
8.根據(jù)權(quán)利要求7所述的邊緣設(shè)備,其特征在于,還包括 注銷模塊,用于在本邊緣設(shè)備解除了與所述鄰居邊緣設(shè)備之間的二層鏈路之后,向所述服務(wù)器進(jìn)行注銷,以便所述服務(wù)器將本地記錄的與本邊緣設(shè)備對應(yīng)的信息刪除。
9.根據(jù)權(quán)利要求6所述的邊緣設(shè)備,其特征在于, 所述發(fā)送模塊還用于在所述檢測模塊檢測到所述第一首跳網(wǎng)關(guān)失效時,通知所述服務(wù)器所述第一首跳網(wǎng)關(guān)失效,以便所述服務(wù)器在本邊緣設(shè)備對應(yīng)的信息中將所述第一首跳網(wǎng)關(guān)記錄為無效。
10.根據(jù)權(quán)利要求9所述的邊緣設(shè)備,其特征在于, 所述發(fā)送模塊還用于在所述檢測模塊檢測到所述第一首跳網(wǎng)關(guān)恢復(fù)有效時,停止向本數(shù)據(jù)中心站點內(nèi)發(fā)送攜帶有該替代首跳網(wǎng)關(guān)的信息的免費ARP報文,并通知所述服務(wù)器所述第一首跳網(wǎng)關(guān)恢復(fù)有效,同時將所述獲取模塊重新獲取到的所述第一首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息以及本邊緣設(shè)備到所述鄰居邊緣設(shè)備的Ping時延發(fā)送給所述服務(wù)器,以便所述服務(wù)器以所述重 新獲取到的網(wǎng)關(guān)信息以及Ping時延更新本邊緣設(shè)備對應(yīng)的信息,并將所述第一首跳網(wǎng)關(guān)記錄為有效。
全文摘要
本發(fā)明公開了一種轉(zhuǎn)發(fā)數(shù)據(jù)中心站點內(nèi)的三層數(shù)據(jù)流的方法和設(shè)備,該方法中,由服務(wù)器維護(hù)和管理各個邊緣設(shè)備獲取到的本站點內(nèi)的首跳網(wǎng)關(guān)的網(wǎng)關(guān)信息和自身到其他站點內(nèi)的鄰居邊緣設(shè)備的ping時延,并在發(fā)生了改變時,進(jìn)行更新,在本站點內(nèi)的首跳網(wǎng)關(guān)失效后,邊緣設(shè)備向服務(wù)器請求替代首跳網(wǎng)關(guān)的信息,由服務(wù)器選擇最優(yōu)的邊緣設(shè)備所在站點內(nèi)的首跳網(wǎng)關(guān)作為替代首跳網(wǎng)關(guān),進(jìn)而將本站點內(nèi)的三層數(shù)據(jù)流托管到該替代首跳網(wǎng)關(guān)。本發(fā)明減少了邊緣設(shè)備上的運算負(fù)擔(dān),并減少了網(wǎng)絡(luò)流量。
文檔編號H04L12/801GK102857435SQ20121037141
公開日2013年1月2日 申請日期2012年9月27日 優(yōu)先權(quán)日2012年9月27日
發(fā)明者江帥華, 魏巍, 周萬 申請人:杭州華三通信技術(shù)有限公司