Vxlan網(wǎng)絡(luò)中的mac地址學(xué)習(xí)方法及裝置制造方法
【專利摘要】本申請公開了一種VXLAN網(wǎng)絡(luò)中的MAC地址學(xué)習(xí)方法及裝置,其中,該方法包括:接收到來自本地網(wǎng)絡(luò)的數(shù)據(jù)報(bào)文后,進(jìn)行源MAC地址的學(xué)習(xí),將學(xué)習(xí)到的本地MAC地址表項(xiàng)添加到MAC地址轉(zhuǎn)發(fā)表中;接收到來自隧道的數(shù)據(jù)報(bào)文后,不進(jìn)行源MAC地址的學(xué)習(xí);當(dāng)MAC地址轉(zhuǎn)發(fā)表中存在本地MAC地址表項(xiàng)的變化時(shí),通過與變化的本地MAC地址表項(xiàng)中的VXLAN相關(guān)聯(lián)的每一個(gè)隧道發(fā)送同步報(bào)文,將該同步報(bào)文保存到該隧道對應(yīng)的數(shù)據(jù)庫中,使得對端VTEP根據(jù)該同步報(bào)文更新該對端VTEP上的MAC地址轉(zhuǎn)發(fā)表;其中,隧道與數(shù)據(jù)庫一一對應(yīng)。本申請?jiān)赩XLAN網(wǎng)絡(luò)中實(shí)現(xiàn)控制平面的MAC地址信息同步。
【專利說明】VXLAN網(wǎng)絡(luò)中的MAC地址學(xué)習(xí)方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本申請涉及網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,特別涉及一種VXLAN網(wǎng)絡(luò)中的MAC地址學(xué)習(xí)方法 及裝置。
【背景技術(shù)】
[0002] VXLAN (Virtual extensible Local Area Network,虛擬可擴(kuò)展局域網(wǎng))是一種 Overlay(交疊)的網(wǎng)絡(luò)技術(shù),使用MAC(Media Access Control,媒體訪問控制)in UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)的方法進(jìn)行封裝,即將原始報(bào)文封裝在UDP報(bào)文里。
[0003] 如圖1所示,VXLAN網(wǎng)絡(luò)中包括:由多個(gè)終端設(shè)備(例如,虛擬機(jī))組成的本地網(wǎng) 絡(luò)和VTEP (VXLAN Tunnel End Point,VXLAN隧道終端),其中,VTEP是VXLAN網(wǎng)絡(luò)的邊緣設(shè) 備,可以由物理交換機(jī)或者虛擬交換機(jī)實(shí)現(xiàn),VTEP之間通過建立隧道(TUNNEL)來穿越三層 網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。VXLAN網(wǎng)絡(luò)由VNI (VXLAN Network Identifier,VXLAN網(wǎng)絡(luò)標(biāo)識(shí))唯一 標(biāo)識(shí),VNI的長度為24bit (比特)。
[0004] 在VXLAN網(wǎng)絡(luò)中,VTEP的MAC地址學(xué)習(xí)采用的是數(shù)據(jù)平面的自學(xué)習(xí)方式,即,VTEP 只有在接收到數(shù)據(jù)幀時(shí)才會(huì)觸發(fā)MAC地址學(xué)習(xí),具體的,當(dāng)從本地網(wǎng)絡(luò)、或從隧道上接收到 數(shù)據(jù)巾貞時(shí),將該數(shù)據(jù)巾貞的源MAC(Media Access Control,媒體訪問控制)地址及其對應(yīng)的 VXLAN學(xué)習(xí)到該數(shù)據(jù)幀的入端口上,并在本地的如表1所示的MAC地址轉(zhuǎn)發(fā)表中配置相應(yīng)的 MAC地址表項(xiàng)。
[0005] 表 1
[0006]
【權(quán)利要求】
1. 一種虛擬可擴(kuò)展局域網(wǎng)VXLAN網(wǎng)絡(luò)中的媒體訪問控制MAC地址學(xué)習(xí)方法,應(yīng)用于虛 擬可擴(kuò)展局域網(wǎng)隧道終端VTEP,其特征在于,所述方法包括: 接收到來自本地網(wǎng)絡(luò)的數(shù)據(jù)報(bào)文后,進(jìn)行源MAC地址的學(xué)習(xí),將學(xué)習(xí)到的本地MAC地址 表項(xiàng)添加到MAC地址轉(zhuǎn)發(fā)表中; 接收到來自隧道的數(shù)據(jù)報(bào)文后,不進(jìn)行源MAC地址的學(xué)習(xí); 當(dāng)MAC地址轉(zhuǎn)發(fā)表中存在本地MAC地址表項(xiàng)的變化時(shí),通過與變化的本地MAC地址表 項(xiàng)中的VXLAN相關(guān)聯(lián)的每一個(gè)隧道發(fā)送同步報(bào)文,將該同步報(bào)文保存到該隧道對應(yīng)的數(shù)據(jù) 庫中,使得對端VTEP根據(jù)該同步報(bào)文更新該對端VTEP上的MAC地址轉(zhuǎn)發(fā)表;其中,隧道與 數(shù)據(jù)庫 對應(yīng)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過與變化的本地MAC地址表項(xiàng)中 的VXLAN相關(guān)聯(lián)的每一個(gè)隧道發(fā)送同步報(bào)文,將該同步報(bào)文保存到該隧道對應(yīng)的數(shù)據(jù)庫中 的方法包括: 當(dāng)MAC地址轉(zhuǎn)發(fā)表中新增了本地MAC地址表項(xiàng)時(shí),確定與該新增的本地MAC地址表項(xiàng) 中的VXLAN相關(guān)聯(lián)的至少一個(gè)隧道; 針對確定出的每一個(gè)隧道,判斷該隧道對應(yīng)的鏈路狀態(tài)數(shù)據(jù)庫LSDB中是否存在滿足 以下條件的特定已發(fā)送中間系統(tǒng)到中間系統(tǒng)鏈路狀態(tài)協(xié)議數(shù)據(jù)單元ISIS LSP報(bào)文;其中, 該條件包括:可添加該新增的本地MAC地址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的已發(fā)送 ISIS LSP 報(bào)文; 若判斷出不存在所述特定已發(fā)送ISIS LSP報(bào)文,則生成攜帶有該新增的本地MAC地址 表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的ISIS LSP報(bào)文,通過該隧道將生成的ISIS LSP報(bào) 文發(fā)送給對端VTEP,將所述生成的ISIS LSP報(bào)文保存到該隧道對應(yīng)的LSDB中; 若判斷出存在所述特定已發(fā)送ISIS LSP報(bào)文,則將該新增的本地MAC地址表項(xiàng)中的 MAC地址及其VXLAN添加到所述特定已發(fā)送ISIS LSP報(bào)文中,將添加后的特定已發(fā)送ISIS LSP報(bào)文通過該隧道發(fā)送給對端VTEP。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過與變化的本地MAC地址表項(xiàng)中 的VXLAN相關(guān)聯(lián)的每一個(gè)隧道發(fā)送同步報(bào)文,將該同步報(bào)文保存到該隧道對應(yīng)的數(shù)據(jù)庫中 的方法還包括: 當(dāng)本設(shè)備上的MAC地址轉(zhuǎn)發(fā)表中減少了本地MAC地址表項(xiàng)時(shí),確定與該減少的本地MAC 地址表項(xiàng)中的VXLAN相關(guān)聯(lián)的至少一個(gè)隧道; 針對確定出的每一個(gè)隧道,從該隧道對應(yīng)的LSDB中查找到攜帶有該減少的本地MAC地 址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的已發(fā)送ISIS LSP報(bào)文; 從查找到的已發(fā)送ISIS LSP報(bào)文中,刪除該減少的本地MAC地址表項(xiàng)中的MAC地址及 其對應(yīng)的VXLAN,將刪除后的已發(fā)送ISIS LSP報(bào)文通過該隧道發(fā)送給對端VTEP。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括: 接收到一隧道的對端VTEP發(fā)來的ISIS LSP報(bào)文之后,判斷該隧道對應(yīng)的LSDB中是否 存在滿足以下條件的特定已接收ISIS LSP報(bào)文;其中,該條件包括:與接收到的ISIS LSP 報(bào)文的報(bào)文標(biāo)識(shí)ID相同的已接收ISIS LSP報(bào)文; 若判斷出不存在所述特定已接收ISIS LSP報(bào)文,則確定出在本設(shè)備上所述接收到的 ISIS LSP報(bào)文中攜帶的VXLAN與該隧道相關(guān)聯(lián)之后,根據(jù)所述接收到的ISIS LSP報(bào)文中攜 帶的VXLAN及其對應(yīng)的MAC地址,在MAC地址轉(zhuǎn)發(fā)表中查找對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng); 若查找到了對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則將查找到的遠(yuǎn)端MAC地址表項(xiàng)中的出接口更 新為該隧道; 若沒有查找到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則在MAC地址轉(zhuǎn)發(fā)表中添加遠(yuǎn)端MAC地址表 項(xiàng),其中,添加的遠(yuǎn)端MAC地址表項(xiàng)中包括:所述接收到的ISISLSP報(bào)文中攜帶的VXLAN及 其對應(yīng)的MAC地址。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,在判斷該隧道對應(yīng)的LSDB中是否存在所 述特定已接收ISIS LSP報(bào)文之后,還包括: 若判斷出存在所述特定已接收ISIS LSP報(bào)文,則比較所述接收到的ISIS LSP報(bào)文與 所述特定已接收ISIS LSP報(bào)文; 若比較出所述接收到的ISIS LSP報(bào)文中攜帶有對應(yīng)于一 VXLAN的MAC地址,而所述特 定已接收ISIS LSP報(bào)文中沒有攜帶對應(yīng)于相同VXLAN的相同MAC地址,則確定出在本設(shè)備 上該VXLAN與該隧道相關(guān)聯(lián)之后,根據(jù)該VXLAN和該MAC地址,在MAC地址轉(zhuǎn)發(fā)表中查找對 應(yīng)的遠(yuǎn)端MAC地址表項(xiàng); 若查找到了對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則將查找到的遠(yuǎn)端MAC地址表項(xiàng)中的出接口更 新為該隧道;若沒有查找到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則在MAC地址轉(zhuǎn)發(fā)表中添加包含有該 VXLAN和該MAC地址的遠(yuǎn)端MAC地址表項(xiàng); 將所述特定已接收ISIS LSP報(bào)文替換為所述接收到的ISIS LSP報(bào)文。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,在比較所述接收到的ISIS LSP報(bào)文與所 述特定已接收ISIS LSP報(bào)文之后,還包括: 若比較出所述特定已接收ISIS LSP報(bào)文中攜帶有對應(yīng)于一 VXLAN的MAC地址,而所述 接收到的ISIS LSP報(bào)文中沒有攜帶對應(yīng)于相同VXLAN的相同MAC地址,則確定出在本設(shè)備 上該VXLAN與該隧道相關(guān)聯(lián)之后,根據(jù)該VXLAN、該MAC地址和該隧道,在MAC地址轉(zhuǎn)發(fā)表中 查找到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng)并刪除。
7. 根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,ISIS LSP報(bào)文由至少一個(gè) 類型長度值TLV字段組成,所述TLV字段用于攜帶一 VXLAN及其對應(yīng)的至少一個(gè)MAC地址。
8. -種虛擬可擴(kuò)展局域網(wǎng)VXLAN網(wǎng)絡(luò)中的媒體訪問控制MAC地址學(xué)習(xí)裝置,應(yīng)用于虛 擬可擴(kuò)展局域網(wǎng)隧道終端VTEP中,其特征在于,所述裝置包括: 接收模塊,用于接收來自本地網(wǎng)絡(luò)的數(shù)據(jù)報(bào)文以及來自隧道的數(shù)據(jù)報(bào)文; 保存模塊,用于保存MAC地址轉(zhuǎn)發(fā)表和與隧道對應(yīng)的數(shù)據(jù)庫;其中,隧道與數(shù)據(jù)庫一一 對應(yīng); 源MAC地址學(xué)習(xí)模塊,用于在所述接收模塊接收到來自本地網(wǎng)絡(luò)的數(shù)據(jù)報(bào)文后,進(jìn)行 源MAC地址的學(xué)習(xí),將學(xué)習(xí)到的本地MAC地址表項(xiàng)添加到MAC地址轉(zhuǎn)發(fā)表中;還用于在所述 接收模塊接收到來自隧道的數(shù)據(jù)報(bào)文后,不進(jìn)行源MAC地址的學(xué)習(xí); 發(fā)送模塊,用于當(dāng)MAC地址轉(zhuǎn)發(fā)表中存在本地MAC地址表項(xiàng)的變化時(shí),通過與變化的本 地MAC地址表項(xiàng)中的VXLAN相關(guān)聯(lián)的每一個(gè)隧道發(fā)送同步報(bào)文,將該同步報(bào)文保存到該隧 道對應(yīng)的數(shù)據(jù)庫中,使得對端VTEP根據(jù)該同步報(bào)文更新該對端VTEP上的MAC地址轉(zhuǎn)發(fā)表。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述發(fā)送模塊包括: 隧道確定單元,用于當(dāng)MAC地址轉(zhuǎn)發(fā)表中新增了本地MAC地址表項(xiàng)時(shí),確定與該新增的 本地MAC地址表項(xiàng)中的VXLAN相關(guān)聯(lián)的至少一個(gè)隧道; 報(bào)文判斷單元,用于針對所述隧道確定單元確定出的與新增的本地MAC地址表項(xiàng)中的 VXLAN相關(guān)聯(lián)的每一個(gè)隧道,判斷該隧道對應(yīng)的鏈路狀態(tài)數(shù)據(jù)庫LSDB中是否存在滿足以下 條件的特定已發(fā)送中間系統(tǒng)到中間系統(tǒng)鏈路狀態(tài)協(xié)議數(shù)據(jù)單元ISIS LSP報(bào)文;其中,該條 件包括:可添加該新增的本地MAC地址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的已發(fā)送ISIS LSP報(bào)文; 報(bào)文生成單元,用于若所述報(bào)文判斷單元判斷出不存在所述特定已發(fā)送ISISLSP報(bào) 文,則生成攜帶有該新增的本地MAC地址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的ISIS LSP 報(bào)文,將生成的ISIS LSP報(bào)文保存到該隧道對應(yīng)的LSDB中; 報(bào)文添加單元,用于若所述報(bào)文判斷單元判斷出存在所述特定已發(fā)送ISIS LSP報(bào)文, 則將該新增的本地MAC地址表項(xiàng)中的MAC地址及其VXLAN添加到所述特定已發(fā)送ISIS LSP 報(bào)文中; 報(bào)文發(fā)送單元,用于針對所述隧道確定單元確定出的與新增的本地MAC地址表項(xiàng)中的 VXLAN相關(guān)聯(lián)的每一個(gè)隧道,若所述報(bào)文判斷單元判斷出該隧道對應(yīng)的LSDB中不存在所 述特定已發(fā)送ISIS LSP報(bào)文,則通過該隧道將所述報(bào)文生成單元生成的ISIS LSP報(bào)文發(fā) 送給對端VTEP;還用于針對所述隧道確定單元確定出的與新增的本地MAC地址表項(xiàng)中的 VXLAN相關(guān)聯(lián)的每一個(gè)隧道,若所述報(bào)文判斷單元判斷出該隧道對應(yīng)的LSDB中存在所述特 定已發(fā)送ISIS LSP報(bào)文,則將所述報(bào)文添加單元添加后的特定已發(fā)送ISIS LSP報(bào)文通過 該隧道發(fā)送給對端VTEP。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述發(fā)送模塊還包括:報(bào)文查找單元和 報(bào)文刪除單元,其中: 所述隧道確定單元,還用于當(dāng)MAC地址轉(zhuǎn)發(fā)表中減少了本地MAC地址表項(xiàng)時(shí),確定與該 減少的本地MAC地址表項(xiàng)中的VXLAN相關(guān)聯(lián)的至少一個(gè)隧道; 所述報(bào)文查找單元,用于針對所述隧道確定單元確定出的與減少的本地MAC地址表項(xiàng) 中的VXLAN相關(guān)聯(lián)的每一個(gè)隧道,從該隧道對應(yīng)的LSDB中查找到攜帶有該減少的本地MAC 地址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN的已發(fā)送ISIS LSP報(bào)文; 所述報(bào)文刪除單元,用于從所述報(bào)文查找單元查找到的已發(fā)送ISIS LSP報(bào)文中,刪除 該減少的本地MAC地址表項(xiàng)中的MAC地址及其對應(yīng)的VXLAN ; 所述報(bào)文發(fā)送單元,還用于針對所述隧道確定單元確定出的與減少的本地MAC地址表 項(xiàng)中的VXLAN相關(guān)聯(lián)的每一個(gè)隧道,將所述報(bào)文刪除單元?jiǎng)h除后的已發(fā)送ISIS LSP報(bào)文通 過該隧道發(fā)送給對端VTEP。
11. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括:判斷模塊、第一查找模塊和第 一處理模塊,其中: 所述接收模塊,還用于接收隧道的對端VTEP發(fā)來的ISIS LSP報(bào)文; 所述判斷模塊,用于在所述接收模塊接收到一隧道的對端VTEP發(fā)來的ISIS LSP報(bào)文 之后,判斷該隧道對應(yīng)的LSDB中是否存在滿足以下條件的特定已接收ISIS LSP報(bào)文;其 中,該條件包括:與接收到的ISIS LSP報(bào)文的報(bào)文標(biāo)識(shí)ID相同的已接收ISIS LSP報(bào)文; 所述第一查找模塊,用于若所述判斷模塊判斷出不存在所述特定已接收ISIS LSP報(bào) 文,則確定出在本設(shè)備上所述接收到的ISIS LSP報(bào)文中攜帶的VXLAN與該隧道相關(guān)聯(lián)之 后,根據(jù)所述接收到的ISIS LSP報(bào)文中攜帶的VXLAN及其對應(yīng)的MAC地址,在MAC地址轉(zhuǎn) 發(fā)表中查找對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng); 所述第一處理模塊,用于若所述第一查找模塊查找到了對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則 將查找到的遠(yuǎn)端MAC地址表項(xiàng)中的出接口更新為該隧道;還用于若所述第一查找模塊沒有 查找到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則在MAC地址轉(zhuǎn)發(fā)表中添加遠(yuǎn)端MAC地址表項(xiàng),其中,添 加的遠(yuǎn)端MAC地址表項(xiàng)中包括:所述接收到的ISIS LSP報(bào)文中攜帶的VXLAN及其對應(yīng)的 MAC地址。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括: 比較模塊,用于若所述判斷模塊判斷出存在所述特定已接收ISIS LSP報(bào)文,則比較所 述接收到的ISIS LSP報(bào)文與所述特定已接收ISIS LSP報(bào)文; 第二查找模塊,用于若所述比較模塊比較出所述接收到的ISIS LSP報(bào)文中攜帶有對應(yīng) 于一 VXLAN的MAC地址,而所述特定已接收ISIS LSP報(bào)文中沒有攜帶對應(yīng)于相同VXLAN的 相同MAC地址,則確定出在本設(shè)備上該VXLAN與該隧道相關(guān)聯(lián)之后,根據(jù)該VXLAN和該MAC 地址,在MAC地址轉(zhuǎn)發(fā)表中查找對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng); 第二處理模塊,用于若所述第二查找模塊查找到了對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則將查 找到的遠(yuǎn)端MAC地址表項(xiàng)中的出接口更新為該隧道;還用于若所述第二查找模塊沒有查找 到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng),則在MAC地址轉(zhuǎn)發(fā)表中添加包含有該VXLAN和該MAC地址的 遠(yuǎn)端MAC地址表項(xiàng); 替換模塊,用于將所述特定已接收ISIS LSP報(bào)文替換為所述接收到的ISISLSP報(bào)文。
13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括: 第三查找模塊,用于若所述比較模塊比較出所述特定已接收ISIS LSP報(bào)文中攜帶有對 應(yīng)于一 VXLAN的MAC地址,而所述接收到的I SI S LSP報(bào)文中沒有攜帶對應(yīng)于相同VXLAN的 相同MAC地址,則確定出在本設(shè)備上該VXLAN與該隧道相關(guān)聯(lián)之后,根據(jù)該VXLAN、該MAC地 址和該隧道,在MAC地址轉(zhuǎn)發(fā)表中查找到對應(yīng)的遠(yuǎn)端MAC地址表項(xiàng); 第三處理模塊,用于刪除所述第三查找模塊查找到的遠(yuǎn)端MAC地址表項(xiàng)。
【文檔編號(hào)】H04L29/12GK104243318SQ201410512469
【公開日】2014年12月24日 申請日期:2014年9月29日 優(yōu)先權(quán)日:2014年9月29日
【發(fā)明者】羊俊, 曹輝, 杜鳳山, 郭威 申請人:杭州華三通信技術(shù)有限公司