本申請(qǐng)涉及網(wǎng)絡(luò)通信技術(shù),特別涉及從虛擬局域網(wǎng)(VLAN:Virtual Local Access Network)至虛擬可擴(kuò)展局域網(wǎng)(VXLAN:Virtual eXtensible Local Access Network)的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法和設(shè)備。
背景技術(shù):
目前,網(wǎng)關(guān)節(jié)點(diǎn)的硬件交換芯片即使支持三層組播轉(zhuǎn)發(fā),硬件交換芯片的轉(zhuǎn)發(fā)邏輯也不允許三層組播轉(zhuǎn)發(fā),只能進(jìn)行二層組播轉(zhuǎn)發(fā)。
比如,圖1所示的組網(wǎng),PC發(fā)送的組播數(shù)據(jù)報(bào)文在非網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行VXLAN封裝到達(dá)網(wǎng)關(guān)節(jié)點(diǎn)后,網(wǎng)關(guān)節(jié)點(diǎn)對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN解封裝,發(fā)現(xiàn)組播數(shù)據(jù)報(bào)文的目的MAC地址是組播MAC地址,且組播數(shù)據(jù)報(bào)文的目的IP地址是組播IP地址,按照正常的處理方式,網(wǎng)關(guān)節(jié)點(diǎn)會(huì)對(duì)VXLAN解封裝后的組播數(shù)據(jù)報(bào)文進(jìn)行三層組播復(fù)制轉(zhuǎn)發(fā),但限于網(wǎng)關(guān)節(jié)點(diǎn)上硬件交換芯片的轉(zhuǎn)發(fā)邏輯,即使網(wǎng)關(guān)節(jié)點(diǎn)的硬件交換芯片支持三層組播轉(zhuǎn)發(fā),也不能實(shí)現(xiàn)三層組播轉(zhuǎn)發(fā),只能對(duì)VXLAN解封裝后的組播數(shù)據(jù)報(bào)文進(jìn)行二層轉(zhuǎn)發(fā)。
因此,在VXLAN交換機(jī)上實(shí)現(xiàn)VXLAN的三層網(wǎng)關(guān)功能以實(shí)現(xiàn)跨從VLAN至VXLAN的三層組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)是當(dāng)前亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝藦腣LAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法和設(shè)備,用于在在作為網(wǎng)關(guān)的VXLAN交換機(jī)上實(shí)現(xiàn)VXLAN的三層網(wǎng)關(guān)功能,以實(shí)現(xiàn)從VLAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
本申請(qǐng)?zhí)峁┑募夹g(shù)方案包括:
一種從虛擬局域網(wǎng)VLAN至虛擬可擴(kuò)展局域網(wǎng)VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)方法,該方法包括:
VXLAN交換機(jī)的接口板接收外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將通過所述組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板;
所述VXLAN交換機(jī)的網(wǎng)板接收接口板發(fā)送的組播數(shù)據(jù)報(bào)文,確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā),則在本地三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在找到的三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將接收的組播數(shù)據(jù)報(bào)文的源MAC地址的修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板;
所述VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板接收網(wǎng)板發(fā)送的組播數(shù)據(jù)報(bào)文,對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā)。
一種從虛擬局域網(wǎng)VLAN至虛擬可擴(kuò)展局域網(wǎng)VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)設(shè)備,包括:
接口板處理單元,處于所述VXLAN交換機(jī)的接口板,用于接收外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將所述組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板;以及,接收網(wǎng)板發(fā)送的組播數(shù)據(jù)報(bào)文,對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā);
網(wǎng)板處理單元,處于所述VXLAN交換機(jī)的網(wǎng)板,用于接收接口板發(fā)送 的組播數(shù)據(jù)報(bào)文,確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā),則在本地三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在找到的三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將接收的組播數(shù)據(jù)報(bào)文的源MAC地址的修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板。
由以上技術(shù)方案可以看出,本發(fā)明中,作為網(wǎng)關(guān)的VXLAN交換機(jī)通過接口板接收外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將所述組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板,在網(wǎng)板本地的三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在找到的三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將通過所述組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文的源MAC地址的修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板以由接口板對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā),即通過作為網(wǎng)關(guān)的VXLAN交換機(jī)實(shí)現(xiàn)了VXLAN的三層網(wǎng)關(guān)功能,實(shí)現(xiàn)從VLAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā),且整個(gè)過程只是在作為網(wǎng)關(guān)的VXLAN交換機(jī)內(nèi)部執(zhí)行,沒有浪費(fèi)任何帶寬資源,做到了組播數(shù)據(jù)報(bào)文線速轉(zhuǎn)發(fā)的。
附圖說明
圖1為現(xiàn)有跨網(wǎng)絡(luò)轉(zhuǎn)發(fā)的應(yīng)用組網(wǎng)圖;
圖2為本發(fā)明提供的方法流程圖;
圖3為本發(fā)明提供的實(shí)施例應(yīng)用圖;
圖4為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖;
圖5為本發(fā)明提供的圖4所示設(shè)備的硬件結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
一般的框式交換機(jī)由主控板(main board)、接口板(I/O board)、網(wǎng)板(fabric board)組成。主控板為用于實(shí)現(xiàn)協(xié)議棧計(jì)算、轉(zhuǎn)發(fā)表項(xiàng)下發(fā)及控制、設(shè)備管理的單板。接口板為用于實(shí)現(xiàn)數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)(包括內(nèi)部轉(zhuǎn)發(fā)和外部轉(zhuǎn)發(fā))的單板。網(wǎng)板為用于實(shí)現(xiàn)數(shù)據(jù)報(bào)文及控制報(bào)文在設(shè)備內(nèi)部跨板、跨芯片轉(zhuǎn)發(fā)的單板。其中,網(wǎng)板上的芯片只具有報(bào)文轉(zhuǎn)發(fā)功能,用于在不同接口板之間中轉(zhuǎn)報(bào)文。
VXLAN交換機(jī)的結(jié)構(gòu)與現(xiàn)有框式交換機(jī)的結(jié)構(gòu)一樣,由主控板、接口板、網(wǎng)板組成。在通常的應(yīng)用中,接口板的個(gè)數(shù)大于1。
在VXLAN應(yīng)用中,VXLAN交換機(jī)的網(wǎng)板與現(xiàn)有框式交換機(jī)的網(wǎng)板一樣設(shè)置,網(wǎng)板上的芯片只具有報(bào)文轉(zhuǎn)發(fā)功能,僅負(fù)責(zé)在不同接口板之間中轉(zhuǎn)報(bào)文。
本發(fā)明中,為了實(shí)現(xiàn)VXLAN的三層網(wǎng)關(guān)功能,可選擇其中一個(gè)VXLAN交換機(jī)作為網(wǎng)關(guān),對(duì)作為網(wǎng)關(guān)的VXLAN交換機(jī)(簡稱網(wǎng)關(guān)VXLAN交換機(jī))進(jìn)行改進(jìn),而對(duì)不作為網(wǎng)關(guān)的VXLAN交換機(jī),可不作任何改進(jìn),仍按照現(xiàn)有的結(jié)構(gòu)執(zhí)行。
其中,對(duì)網(wǎng)關(guān)VXLAN交換機(jī)進(jìn)行的改進(jìn)包括:
網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板采用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片,這里的表項(xiàng)功能至少包含接收并保存主控板下發(fā)的表項(xiàng)、表項(xiàng)查找等功能。優(yōu)選地,作為一種較佳實(shí)施例,這里網(wǎng)板采用的芯片可以為網(wǎng)關(guān)VXLAN交換機(jī)的接口板所采用的交換芯片。
當(dāng)網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板采用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片,這樣,進(jìn)入VXLAN交換機(jī)的組播數(shù)據(jù)報(bào)文可以通過VXLAN交換機(jī)的接口板 和網(wǎng)板相互合作完成三層轉(zhuǎn)發(fā)。下面通過圖2對(duì)本發(fā)明提供的方法進(jìn)行描述:
參見圖2,圖2為本發(fā)明提供的方法流程圖。該方法應(yīng)用于網(wǎng)關(guān)VXLAN交換機(jī)。如上所述,網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板不再采用僅具有報(bào)文轉(zhuǎn)發(fā)功能的芯片,而是采用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片比如與接口板相同的交換芯片?;诖耍鐖D2所示,該流程可包括以下步驟:
步驟201,網(wǎng)關(guān)VXLAN交換機(jī)的接口板接收外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將所述組播數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板。
這里,接口板本地的三層組播組表項(xiàng)可以是主控板直接配置的,本發(fā)明并不具體限定。
本發(fā)明中,三層組播組表項(xiàng)中的組播組成員端口可不止一個(gè),但不管三層組播組表項(xiàng)中的組播組成員端口有多少個(gè),只要有一個(gè)組播組成員端口為第一虛擬端口,就會(huì)將接收的組播數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板。反之,在任何一個(gè)組播組成員端口都不為第一虛擬端口,比如為虛擬局域網(wǎng)絡(luò)(VLAN)端口,則可執(zhí)行其它操作。本專利重點(diǎn)是有組播組成員端口為第一虛擬端口的情況,至于組播組成員端口都不為第一虛擬端口的情況不是本專利的重點(diǎn),這里不展開描述。
至于本發(fā)明中的第一虛擬端口所表示的意義在下文進(jìn)行了描述,這里暫不贅述。
作為本發(fā)明的一個(gè)實(shí)施例,步驟201中,為了保證網(wǎng)關(guān)VXLAN交換機(jī)的接口板將組播數(shù)據(jù)報(bào)文順利發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板,一種較佳的實(shí)現(xiàn)方式是對(duì)發(fā)送至網(wǎng)板的組播數(shù)據(jù)報(bào)文進(jìn)行用于轉(zhuǎn)發(fā)至網(wǎng)板的內(nèi)部封裝,為便于描述,這里將該內(nèi)部封裝簡稱為第一內(nèi)部封裝。如此,步驟201 中,接口板將組播數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板可包括:
步驟a1,對(duì)所述組播數(shù)據(jù)報(bào)文進(jìn)行第一內(nèi)部封裝。
這里,第一內(nèi)部封裝包含:第一目的芯片標(biāo)識(shí)(mod)和第一目的端口標(biāo)識(shí)(port),第一目的mod為第一虛擬芯片的標(biāo)識(shí),第一目的port為第一虛擬端口的標(biāo)識(shí);
優(yōu)選地,作為本發(fā)明一個(gè)實(shí)例,第一虛擬芯片可為預(yù)先配置的用于指示網(wǎng)板可繼續(xù)執(zhí)行查表進(jìn)行組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)的虛擬芯片,第一虛擬端口可為預(yù)先配置的用于指示由網(wǎng)板代理三層組播轉(zhuǎn)發(fā)的虛擬端口,這里的代理三層組播轉(zhuǎn)發(fā)具體為:繼續(xù)執(zhí)行查表進(jìn)行組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
步驟a2,在本接口板僅連接一個(gè)網(wǎng)板時(shí),通過本接口板連接網(wǎng)板的互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文;在本接口板連接多個(gè)網(wǎng)板時(shí),通過與多個(gè)網(wǎng)板分別連接的互連口中的一個(gè)互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文。
實(shí)際應(yīng)用中,在本接口板連接多個(gè)網(wǎng)板時(shí),本接口板與多個(gè)網(wǎng)板分別連接的互連口可聚合成一個(gè)聚合組。如此,在步驟a2中,通過與多個(gè)網(wǎng)板分別連接的互連口中的一個(gè)互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文可包括:從所述聚合組中選擇一個(gè)互連口,通過選擇的一個(gè)互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文。這里,從所述聚合組中選擇一個(gè)互連口的方式有多種,比如隨機(jī)選擇一個(gè)互連口,或者按照一定的算法比如通過哈希算法選擇一個(gè)互連口等,本發(fā)明并不具體限定。
通過上述步驟a1和步驟a2,網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板最終接收的組播數(shù)據(jù)報(bào)文是帶有第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文。
步驟202,網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板接收接口板發(fā)送的組播數(shù)據(jù)報(bào)文,確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā),則在本地三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在找到的三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將通過所述組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文的源MAC地址的修改 為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板(該接口板簡稱匹配接口板)。
本發(fā)明中,網(wǎng)關(guān)本地的三層組播組表項(xiàng)不同于接口板本地的三層組播組表項(xiàng),其中,網(wǎng)關(guān)本地的三層組播組表項(xiàng)可以是主控板按照類似現(xiàn)有三層組播組表的學(xué)習(xí)方式學(xué)習(xí)并下發(fā)給網(wǎng)板的,本發(fā)明并不具體限定。
本步驟202中的VXLAN隧道口是一個(gè)虛擬的概念,作為本發(fā)明一個(gè)實(shí)施例,本步驟202中的VXLAN隧道口可通過VXLAN隧道封裝索引表示,比如VXLAN隧道口為Tunnel1(Tunnel1為VXLAN隧道封裝索引)。
本發(fā)明中,網(wǎng)板找到的三層組播組表項(xiàng)中的組播組成員端口可不止一個(gè),基于此,當(dāng)網(wǎng)板找到的三層組播組表項(xiàng)中的組播組成員端口數(shù)量大于1時(shí),本步驟202可針對(duì)每一組播組成員端口,其會(huì)先識(shí)別組播組成員端口是否為VXLAN隧道口,在該組播組成員端口為VXLAN隧道口時(shí)執(zhí)行步驟202所述的以下操作:將通過組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文的源MAC地址修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至匹配接口板。反之,在該組播組成員端口不為VXLAN隧道口,比如為虛擬局域網(wǎng)絡(luò)(VLAN)端口,則可執(zhí)行其它操作。由于本專利重點(diǎn)是VLAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā),因此,組播組成員端口不為VXLAN隧道口的情況不是本專利的重點(diǎn),這里不展開描述。
本發(fā)明中,如上所述,網(wǎng)板找到的三層組播組表項(xiàng)中的組播組成員端口可不止一個(gè),基于此,網(wǎng)板在找到的三層組播組表項(xiàng)中的組播組成員端口數(shù)量大于1時(shí),由于網(wǎng)板只接收到一份組播數(shù)據(jù)報(bào)文,基于此,網(wǎng)板可依據(jù)組播組成員端口的數(shù)量對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行復(fù)制,復(fù)制的組播數(shù)據(jù)報(bào)文的數(shù)量等于組播組成員端口的數(shù)量,之后,將復(fù)制的組播數(shù)據(jù)報(bào)文分配給各個(gè)組播組成員端口,以保證最終每一組播組成員端口都會(huì)分配到一份復(fù)制的組播數(shù)據(jù)報(bào)文,基于此,上述步驟202中所述的通過所述組播組成員端口發(fā)送的組 播數(shù)據(jù)報(bào)文就為組播組成員端口分配的一份復(fù)制的組播數(shù)據(jù)報(bào)文。
基于上面步驟201描述的第一內(nèi)部封裝,則較佳地,步驟202中,網(wǎng)板確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā)可包括:
從接收的組播數(shù)據(jù)報(bào)文的第一內(nèi)部封裝頭中確定出第一目的mod和第一目的port;如果確定出的第一目的mod為上述的第一虛擬芯片的標(biāo)識(shí),第一目的port為上述的第一虛擬端口的標(biāo)識(shí),則對(duì)組播數(shù)據(jù)報(bào)文的第一內(nèi)部封裝進(jìn)行解封裝,如果解封裝后的組播數(shù)據(jù)報(bào)文的目的MAC地址為組播MAC地址、目的IP地址為組播IP地址,則確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā)。
作為本發(fā)明的一個(gè)實(shí)施例,則上述中,當(dāng)確定目的mod不為上述的第一虛擬芯片的標(biāo)識(shí),和/或目的port不為上述的第一虛擬端口的標(biāo)識(shí),則可以不對(duì)組播數(shù)據(jù)報(bào)文的第一內(nèi)部封裝進(jìn)行解封裝,直接按照第一內(nèi)部封裝的目的port繼續(xù)轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文即可,這類似現(xiàn)有網(wǎng)板轉(zhuǎn)發(fā)組播數(shù)據(jù)報(bào)文的方式,不再展開描述。
作為本發(fā)明的一個(gè)實(shí)施例,本步驟202中所述將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至匹配接口板具體實(shí)現(xiàn)時(shí)包括:
步驟b1,依據(jù)所述組播組成員端口確定目標(biāo)出端口,選擇所述目標(biāo)出端口所在的接口板為匹配接口板。
這里,依據(jù)所述組播組成員端口確定目標(biāo)出端口可包括:
步驟b11,在本地找到與所述組播組成員端口相關(guān)聯(lián)的VXLAN隧道對(duì)應(yīng)的下一跳表項(xiàng);
步驟b12,在所述下一跳表項(xiàng)中僅有一個(gè)下一跳時(shí),確定所述下一跳表項(xiàng)中所述下一跳為目標(biāo)下一跳,在所述下一跳表項(xiàng)中有兩個(gè)以上下一跳時(shí),從所述下一跳表項(xiàng)中的兩個(gè)以上下一跳中選擇一個(gè)下一跳確定為目標(biāo)下一跳。這里,從所述下一跳表項(xiàng)中的兩個(gè)以上下一跳中選擇一個(gè)下一跳的方式 可有多種方式,比如隨機(jī)選擇一個(gè),或者按照設(shè)定的選擇方式比如哈希算法等選擇,本發(fā)明并不具體限定;
步驟b13,在所述下一跳表項(xiàng)中與所述目標(biāo)下一跳對(duì)應(yīng)的出端口為單一的物理端口時(shí),確定所述單一的物理端口為目標(biāo)出端口;在所述下一跳表項(xiàng)中與所述目標(biāo)下一跳對(duì)應(yīng)的出端口為至少兩個(gè)物理端口聚合形成的聚合端口,確定所述聚合端口中一個(gè)物理端口為所述目標(biāo)出端口。
這里,所述聚合端口中一個(gè)物理端口是從聚合端口中選擇出的。其中,從聚合端口中選擇一個(gè)物理端口的方式可有多種方式,比如隨機(jī)選擇一個(gè),或者按照設(shè)定的選擇方式比如哈希算法等選擇,本發(fā)明并不具體限定。
步驟b2,對(duì)修改后的組播數(shù)據(jù)報(bào)文進(jìn)行第二內(nèi)部封裝,將第二內(nèi)部封裝的報(bào)文發(fā)送至匹配接口板;第二內(nèi)部封裝包含:組播組成員端口對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng)索引和虛擬轉(zhuǎn)發(fā)實(shí)例(VFI:Virtual Forwarding Instance)。
優(yōu)選地,組播組成員端口對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng)索引一般存放在組播組成員端口對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng)中,組播組成員端口對(duì)應(yīng)的VFI一般存放在組播組成員端口對(duì)應(yīng)的VFI表項(xiàng)中。
其中,VXLAN隧道封裝表項(xiàng)、VFI表項(xiàng)可以是預(yù)先配置在網(wǎng)板上的,本發(fā)明并不具體限定。
通過步驟b1和步驟b2的描述可以看出,最終,匹配接口板接收的來自網(wǎng)板的組播數(shù)據(jù)報(bào)文是執(zhí)行了第二內(nèi)部封裝的報(bào)文。
步驟203,網(wǎng)關(guān)VXLAN交換機(jī)上的匹配接口板接收網(wǎng)板發(fā)送的組播數(shù)據(jù)報(bào)文,對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā)。
基于上面步驟202限定的網(wǎng)關(guān)VXLAN交換機(jī)上的網(wǎng)板如何將組播數(shù)據(jù)報(bào)文發(fā)送至網(wǎng)關(guān)VXLAN交換機(jī)上的匹配接口板,則優(yōu)選地,本步驟203中,對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā)可包括:
從組播數(shù)據(jù)報(bào)文的第二內(nèi)部封裝頭中確定出VXLAN隧道封裝表項(xiàng)索引和VFI并對(duì)組播數(shù)據(jù)報(bào)文的第二內(nèi)部封裝進(jìn)行解封裝,依據(jù)所述VXLAN隧 道封裝表項(xiàng)索引在本地找到對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng),從預(yù)先設(shè)置的VFI和VNID之間的映射關(guān)系中找到與該確定出的VFI具有映射關(guān)系的VNID,利用所述VXLAN隧道封裝表項(xiàng)和找到的VNID對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并通過該找到的VXLAN隧道封裝表項(xiàng)中的出端口發(fā)送。
這里,利用所述VXLAN隧道封裝表項(xiàng)和找到的VNID對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝具體可為:利用所述VXLAN隧道封裝表項(xiàng)中的VXLAN隧道封裝信息對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN外層頭封裝,利用找到的VNID對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN字段(實(shí)質(zhì)為VNID字段)的封裝。這里VXLAN外層頭至少包含外層以太(ETH)封裝,其中,外層以太(ETH)封裝至少包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址等。
作為本發(fā)明的一個(gè)實(shí)施例,這里,通過該找到的VXLAN隧道封裝表項(xiàng)中的出端口發(fā)送可為:識(shí)別該找到的VXLAN隧道封裝表項(xiàng)中的出端口,如果該出端口為單一的物理端口,則直接通過該單一的物理端口發(fā)送,而如果該出端口為至少兩個(gè)物理端口聚合形成的聚合端口,則就需要從聚合端口中選擇一個(gè)物理端口,通過該選擇的物理端口發(fā)送。需要說明的是,這里從聚合端口中選擇一個(gè)物理端口的方式不再隨機(jī),其必須最終保證選擇的物理端口與上述網(wǎng)板在確定目標(biāo)出端口時(shí)選擇的物理端口一致。至于具體實(shí)現(xiàn)時(shí)如何保證接口板最終選擇的物理端口與上述網(wǎng)板在確定目標(biāo)出端口時(shí)選擇的物理端口一致,本發(fā)明并不具體限定,其可有多種實(shí)現(xiàn)方式,比如網(wǎng)板按照哈希方式選擇物理端口,接口板也同樣按照哈希方式選擇物理端口等。
本發(fā)明中,作為一個(gè)實(shí)施例,接口板本地的VXLAN隧道封裝表項(xiàng)可以是預(yù)先配置在接口板上的,本發(fā)明并不具體限定。
至此,完成圖2所示的流程。
通過圖2所示流程可以看出,本發(fā)明中,網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)板不再使用僅具有報(bào)文轉(zhuǎn)發(fā)功能的芯片,而是使用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片比如與接口板相同的交換芯片,這樣,當(dāng)網(wǎng)關(guān)VXLAN交換機(jī)通過接口板 接收到外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將所述組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板,在本網(wǎng)板本地的三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將通過所述組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文的源MAC地址的修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板,以由接口板對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā),即通過網(wǎng)關(guān)VXLAN交換機(jī)實(shí)現(xiàn)了VXLAN的三層網(wǎng)關(guān)功能,實(shí)現(xiàn)從VLAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā),且整個(gè)過程只是在網(wǎng)關(guān)VXLAN交換機(jī)內(nèi)部執(zhí)行,沒有浪費(fèi)任何帶寬資源,做到了組播數(shù)據(jù)報(bào)文線速轉(zhuǎn)發(fā)的。
下面通過一個(gè)實(shí)施例對(duì)圖2所示流程進(jìn)行描述:
以圖3所示的組網(wǎng)為例,在圖3中,物理機(jī)(PM:Physical Machine)1至PM5為VLAN中的設(shè)備,虛擬機(jī)(VM:Virtual Machine)1至VM5為VXLAN中的設(shè)備。網(wǎng)關(guān)VXLAN交換機(jī)連接在VLAN和VXLAN之間,其包含主控板、接口板和網(wǎng)板。主控板在本申請(qǐng)中不重點(diǎn)涉及,圖3未示出。網(wǎng)板采用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片,以與接口板中的交換芯片相同為例。圖3僅示出VXLAN交換機(jī)的三個(gè)接口板為例。
以PM1發(fā)送組播數(shù)據(jù)報(bào)文為例,則,
網(wǎng)關(guān)VXLAN交換機(jī)的接口板1通過本地端口(圖3以端口10為例)收到來自PM1的組播數(shù)據(jù)報(bào)文。為便于描述,這里將接收的組播數(shù)據(jù)報(bào)文稱為報(bào)文0。
接口板1發(fā)現(xiàn)報(bào)文0的目的MAC地址為組播MAC地址、目的IP地址為組播IP地址,則認(rèn)為報(bào)文0為組播數(shù)據(jù)報(bào)文;
接口板1在本地的三層組播表中查找到與報(bào)文0的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng)。
假如接口板1發(fā)現(xiàn)三層組播組表項(xiàng)中的組播組成員端口有5個(gè),其中有三個(gè)組播組成員端口為第一虛擬端口,剩下的兩個(gè)組播組成員端口為VLAN端口,則,
接口板1復(fù)制3份報(bào)文0,其中兩份分配給兩個(gè)為VLAN端口的組播組成員端口,剩下的一份分配給第一虛擬端口。為便于描述,這里將分配給第一虛擬端口的報(bào)文稱為報(bào)文2。
接口板1對(duì)報(bào)文2進(jìn)行第一內(nèi)部封裝,第一內(nèi)部封裝的第一目的mod為第一虛擬芯片的標(biāo)識(shí)(圖3以chip01為例),第一內(nèi)部封裝的第一目的port為第一虛擬端口的標(biāo)識(shí)(圖3以Port1為例)。為便于描述,這里將第一內(nèi)部封裝后的報(bào)文2稱為報(bào)文3。
如圖3所示,接口板1通過聚合了互連口11、互連口12、互連口13的聚合組與各網(wǎng)板連接,則接口板1從本接口板1連接各網(wǎng)板的聚合組中選擇一個(gè)互連口,比如選擇圖3所示的互連口11將報(bào)文3發(fā)送至網(wǎng)板1。接口板1選擇互連口的方式可預(yù)先設(shè)置,比如哈希算法,通過對(duì)組播組成員端口Port11的編號(hào)進(jìn)行哈希運(yùn)算,選擇編號(hào)與哈希運(yùn)算結(jié)果對(duì)應(yīng)的互連口。
網(wǎng)板1接收到報(bào)文3,從報(bào)文3的第一內(nèi)部封裝頭中識(shí)別出第一目的mod和第一目的port分別為chip01和Port1,正好依次是第一虛擬芯片的標(biāo)識(shí)和第一虛擬端口的標(biāo)識(shí),則對(duì)報(bào)文3的第一內(nèi)部封裝進(jìn)行解封裝(即恢復(fù)了上述的報(bào)文2)。
網(wǎng)板1發(fā)現(xiàn)報(bào)文2的目的MAC地址為組播MAC地址、目的IP地址為組播IP地址,確定本網(wǎng)板1需要對(duì)報(bào)文2進(jìn)行三層組播轉(zhuǎn)發(fā)。
網(wǎng)板1依據(jù)報(bào)文2的目的IP地址和目的MAC地址在本網(wǎng)板1本地的三層組播組表中查找到匹配的三層組播組表項(xiàng)。
網(wǎng)板1發(fā)現(xiàn)三層組播組表項(xiàng)中存在三個(gè)組播組成員端口。假如這三個(gè)組播組成員端口分別記為Port11、Port12、Port13(這三個(gè)組播組成員端口在圖 3未示出)。
網(wǎng)板1復(fù)制三份報(bào)文2,分別記為報(bào)文21、報(bào)文22、報(bào)文23,復(fù)制的這三份報(bào)文分別分配給三個(gè)組播組成員端口Port11、Port12、Port13。假如報(bào)文21分配給Port11、報(bào)文22分配給Port12、報(bào)文23分配給Port13。
以Port11為例,Port12、Port13原理類似,網(wǎng)板1發(fā)現(xiàn)Port11為VXLAN隧道口,則將報(bào)文21的源MAC地址修改為網(wǎng)關(guān)VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址;為便于描述,這里將源MAC地址修改后的報(bào)文21稱為報(bào)文4。
網(wǎng)板1在本地找到與VXLAN隧道口相關(guān)聯(lián)的VXLAN隧道對(duì)應(yīng)的下一跳表項(xiàng),假如發(fā)現(xiàn)該找到的下一跳表項(xiàng)中僅有一個(gè)下一跳,且該下一跳的出端口為至少兩個(gè)物理端口聚合形成的聚合端口,則選擇聚合端口中一個(gè)物理端口為目標(biāo)出端口,而該選擇的物理端口連接的接口板為組播組成員端口Port11相關(guān)聯(lián)的接口板,為便于描述,這里假設(shè)該接口板為接口板2。
網(wǎng)板1在本地VXLAN隧道封裝表項(xiàng)中找到組播組成員端口Port11對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng),以及在本地VFI表項(xiàng)中找到組播組成員端口Port11對(duì)應(yīng)的VFI表項(xiàng);
網(wǎng)板1對(duì)報(bào)文4進(jìn)行第二內(nèi)部封裝,為便于描述,這里將第二內(nèi)部封裝的報(bào)文4稱為報(bào)文5。第二內(nèi)部封裝包含網(wǎng)板1找到的VXLAN隧道封裝表項(xiàng)的索引、以及網(wǎng)板1找到的VFI表項(xiàng)中的VFI;
網(wǎng)板1通過本網(wǎng)板1連接接口板2的互連口將報(bào)文5發(fā)送至接口板2。
接口板2接收網(wǎng)板發(fā)送的報(bào)文5,從報(bào)文5的第二內(nèi)部封裝頭中確定出VXLAN隧道封裝表項(xiàng)索引和VFI并對(duì)報(bào)文5的第二內(nèi)部封裝進(jìn)行解封裝(即恢復(fù)了上述的報(bào)文4)。
接口板2依據(jù)所述VXLAN隧道封裝表項(xiàng)索引在本地找到對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng),從預(yù)先設(shè)置的VFI和VNID之間的映射關(guān)系中找到與該確定出的VFI具有映射關(guān)系的VNID(圖3以VNID為VNID200為例),利用找到的VXLAN隧道封裝表項(xiàng)和找到的VNID對(duì)報(bào)文4進(jìn)行VXLAN封裝。為便于描述,這里將VXLAN封裝的報(bào)文4稱為報(bào)文6。這里利用找到的VXLAN 隧道封裝表項(xiàng)和找到的VNID對(duì)報(bào)文4進(jìn)行VXLAN封裝具體為:利用找到的VXLAN隧道封裝表項(xiàng)中的VXLAN隧道封裝信息對(duì)報(bào)文4進(jìn)行VXLAN外層頭的封裝,利用找到的VNID(圖3以VNID為VNID200為例)對(duì)報(bào)文4進(jìn)行VXLAN字段(實(shí)質(zhì)為VNID字段)的封裝。圖3所示的報(bào)文4的VXLAN封裝中以VXLAN外層頭的外層ETH封裝包含外層源MAC地址、外層目的MAC地址、外層源IP地址、外層目的IP地址為例。
接口板2依據(jù)找到的VXLAN隧道封裝表項(xiàng)中的出端口發(fā)送報(bào)文6。這里,具體實(shí)現(xiàn)時(shí),接口板2依據(jù)找到的VXLAN隧道封裝表項(xiàng)中的出端口發(fā)送報(bào)文6具體為:識(shí)別該找到的VXLAN隧道封裝表項(xiàng)中的出端口,該識(shí)別的出端口實(shí)質(zhì)是網(wǎng)板找到的一個(gè)下一跳的出端口,如上所述,網(wǎng)板找到的一個(gè)下一跳的出端口為至少兩個(gè)物理端口聚合形成的聚合端口,基于此,這里識(shí)別出的VXLAN隧道封裝表項(xiàng)中的出端口就為聚合端口,如此,接口板2按照網(wǎng)板選擇目標(biāo)出端口的方式從識(shí)別出的出端口中選擇一個(gè)物理端口,最終保證發(fā)送報(bào)文6的端口實(shí)質(zhì)與網(wǎng)板選擇的目標(biāo)出端口一致。
假如Port11關(guān)聯(lián)的組播組成員為VM11,則最終VXLAN的VM11會(huì)收到PM1發(fā)送的組播數(shù)據(jù)報(bào)文。類似的原理,假如Port12關(guān)聯(lián)的組播組成員為VM12,Port13關(guān)聯(lián)的組播組成員為VM13,則采用類似于針對(duì)組播組成員端口Port11的處理方式處理Port12、Port13,VXLAN的VM12、VM13也會(huì)收到PM1發(fā)送的組播數(shù)據(jù)報(bào)文。即通過網(wǎng)關(guān)VXLAN交換機(jī)實(shí)現(xiàn)了從VLAN至VXLAN的組播數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
至此,完成圖3所示的流程。
以上對(duì)本發(fā)明提供的方法進(jìn)行了描述,下面對(duì)本發(fā)明提供的設(shè)備進(jìn)行描述:
參見圖4,圖4為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖。該設(shè)備應(yīng)用于作為網(wǎng)關(guān)的VXLAN交換機(jī),所述VXLAN交換機(jī)至少由接口板、網(wǎng)板組成,所述網(wǎng)板采用具有轉(zhuǎn)發(fā)功能和表項(xiàng)功能的芯片,如圖4所示,該設(shè)備包括:
接口板處理單元,處于所述VXLAN交換機(jī)的接口板,用于接收外部來自VLAN的組播數(shù)據(jù)報(bào)文,在本地的三層組播表中查找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在所述三層組播組表項(xiàng)中存在的至少一個(gè)組播組成員端口為第一虛擬端口時(shí),將所述組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板;以及,接收網(wǎng)板發(fā)送的組播數(shù)據(jù)報(bào)文,對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā);
網(wǎng)板處理單元,處于所述VXLAN交換機(jī)的網(wǎng)板,用于接收接口板發(fā)送的組播數(shù)據(jù)報(bào)文,確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā),則在本地三層組播組表中找到與組播數(shù)據(jù)報(bào)文的目的IP地址和目的MAC地址匹配的三層組播組表項(xiàng),在找到的三層組播組表項(xiàng)中的組播組成員端口為VXLAN隧道口時(shí),將通過所述組播組成員端口發(fā)送的組播數(shù)據(jù)報(bào)文的源MAC地址的修改為所述VXLAN交換機(jī)的網(wǎng)關(guān)MAC地址,將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板。
優(yōu)選地,所述接口板處理單元通過以下步驟將組播數(shù)據(jù)報(bào)文發(fā)送至所述VXLAN交換機(jī)的網(wǎng)板:
對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行第一內(nèi)部封裝,第一內(nèi)部封裝包含:第一目的芯片標(biāo)識(shí)mod和第一目的端口標(biāo)識(shí)port,第一目的mod為第一虛擬芯片的標(biāo)識(shí),第一目的port為第一虛擬端口的標(biāo)識(shí);
在本接口板僅連接一個(gè)網(wǎng)板時(shí),通過本接口板連接網(wǎng)板的互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文;在本接口板連接多個(gè)網(wǎng)板時(shí),通過與多個(gè)網(wǎng)板分別連接的互連口中的一個(gè)互連口發(fā)送第一內(nèi)部封裝的組播數(shù)據(jù)報(bào)文。
優(yōu)選地,所述網(wǎng)板處理單元通過以下步驟確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng)板進(jìn)行三層組播轉(zhuǎn)發(fā):從接收的組播數(shù)據(jù)報(bào)文的第一內(nèi)部封裝頭中確定出第一目的mod和第一目的port;如果確定出的第一目的mod為第一虛擬芯片的標(biāo)識(shí),第一目的port為第一虛擬端口的標(biāo)識(shí),則對(duì)組播數(shù)據(jù)報(bào)文的第一內(nèi)部封裝進(jìn)行解封裝,如果解封裝后的組播數(shù)據(jù)報(bào)文的目的MAC地址為組播MAC地址、目的IP地址為組播IP地址,則確定接收的組播數(shù)據(jù)報(bào)文由本網(wǎng) 板進(jìn)行三層組播轉(zhuǎn)發(fā)。
優(yōu)選地,所述網(wǎng)板處理單元通過以下步驟將修改后的組播數(shù)據(jù)報(bào)文發(fā)送至VXLAN交換機(jī)上與所述組播組成員端口相關(guān)聯(lián)的接口板:
依據(jù)所述組播組成員端口確定目標(biāo)出端口,選擇所述目標(biāo)出端口所在的接口板為與所述組播組成員端口相關(guān)聯(lián)的接口板;對(duì)修改后的組播數(shù)據(jù)報(bào)文進(jìn)行第二內(nèi)部封裝,將第二內(nèi)部封裝的報(bào)文發(fā)送至所述目標(biāo)出端口所在的接口板;第二內(nèi)部封裝包含:所述組播組成員端口對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng)索引和虛擬轉(zhuǎn)發(fā)實(shí)例VFI;
優(yōu)選地,所述接口板處理單元通過以下步驟對(duì)接收的組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并向VXLAN轉(zhuǎn)發(fā):
從組播數(shù)據(jù)報(bào)文的第二內(nèi)部封裝頭中確定出VXLAN隧道封裝表項(xiàng)索引和VFI并對(duì)組播數(shù)據(jù)報(bào)文的第二內(nèi)部封裝進(jìn)行解封裝,依據(jù)所述VXLAN隧道封裝表項(xiàng)索引在本地找到對(duì)應(yīng)的VXLAN隧道封裝表項(xiàng),從預(yù)先設(shè)置的VFI和VNID之間的映射關(guān)系中找到與該確定出的VFI具有映射關(guān)系的VNID,利用所述VXLAN隧道封裝表項(xiàng)和找到的VNID對(duì)組播數(shù)據(jù)報(bào)文進(jìn)行VXLAN封裝并通過該找到的VXLAN隧道封裝表項(xiàng)中的出端口發(fā)送。
優(yōu)選地,所述網(wǎng)板處理單元通過以下步驟依據(jù)所述組播組成員端口確定目標(biāo)出端口:
在本地找到與所述組播組成員端口相關(guān)聯(lián)的VXLAN隧道對(duì)應(yīng)的下一跳表項(xiàng);
在所述下一跳表項(xiàng)中僅有一個(gè)下一跳時(shí),確定所述下一跳表項(xiàng)中所述下一跳為目標(biāo)下一跳,在所述下一跳表項(xiàng)中有兩個(gè)以上下一跳時(shí),從所述下一跳表項(xiàng)中的兩個(gè)以上下一跳中選擇一個(gè)下一跳確定為目標(biāo)下一跳;
在所述下一跳表項(xiàng)中與所述目標(biāo)下一跳對(duì)應(yīng)的出端口為單一的物理端口時(shí),確定所述單一的物理端口為目標(biāo)出端口;在所述下一跳表項(xiàng)中與所述目標(biāo)下一跳對(duì)應(yīng)的出端口為至少兩個(gè)物理端口聚合形成的聚合端口,確定所述聚合端口中一個(gè)物理端口為所述目標(biāo)出端口。
至此,完成圖4所示的設(shè)備結(jié)構(gòu)圖。
作為本發(fā)明的一個(gè)實(shí)施例,本發(fā)明還提供了圖4所示設(shè)備的硬件結(jié)構(gòu)圖。如圖5所示,該設(shè)備硬件結(jié)構(gòu)可包括:
接口板和網(wǎng)板。
其中,接口板上可包括:第一CPU和第一存儲(chǔ)器。
第一存儲(chǔ)器,用于存放接口板處理單元;
第一CPU,用于存放接口板處理單元運(yùn)行的控制程序,以控制所述第一存儲(chǔ)器中的接口板處理單元執(zhí)行如上所述的操作。至于所述第一存儲(chǔ)器中的接口板處理單元執(zhí)行的操作,其如上述接口板處理單元執(zhí)行的操作,這里不再贅述。
網(wǎng)板上可包括:第二CPU和第二存儲(chǔ)器。
第二存儲(chǔ)器,用于存放網(wǎng)板處理單元;
第二CPU,用于存放網(wǎng)板處理單元運(yùn)行的控制程序,以控制所述第二存儲(chǔ)器中的網(wǎng)板處理單元執(zhí)行操作。至于所述第二存儲(chǔ)器中的網(wǎng)板處理單元執(zhí)行的操作,其如上述網(wǎng)板處理單元執(zhí)行的操作,這里不再贅述。
至此,完成圖5所示的設(shè)備硬件結(jié)構(gòu)圖。
至此,完成本發(fā)明提供的設(shè)備描述。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。