應(yīng)用于sdn中的報文轉(zhuǎn)發(fā)方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[00011 本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及應(yīng)用于軟件定義網(wǎng)絡(luò)(SDN = Software Defined Network)中的報文轉(zhuǎn)發(fā)方法和設(shè)備。
【背景技術(shù)】
[0002] 云平臺負(fù)責(zé)SDN中業(yè)務(wù)服務(wù)器的管理,比如在業(yè)務(wù)服務(wù)器上創(chuàng)建虛擬機(jī)(VM: Virtual Machine)、創(chuàng)建虛擬交換機(jī)(vSwitch)等。
[0003] 圖1示出了云平臺管理業(yè)務(wù)服務(wù)器的組網(wǎng)。如圖1所示,在云平臺業(yè)務(wù)服務(wù)器1上成 功創(chuàng)建VMl時,將VMl的IP地址和MAC地址作為VMl的標(biāo)識上送給SDN控制器(CONTROLLER)。 SDN控制器收到VMl的標(biāo)識后,自動創(chuàng)建與VMl對應(yīng)的虛端口(vport),并初始化與VMl對應(yīng)的 vport的端口狀態(tài)為斷開狀態(tài)(down) JMl在上線時發(fā)送免費(fèi)ARP報文,隧道終端(VTEP: VXLAN Tunnel End PointH收到免費(fèi)ARP報文,上送免費(fèi)ARP報文到SDN控制器。SDN控制器 收到來自VMl的免費(fèi)ARP報文后,更新與VMl對應(yīng)的vport的端口狀態(tài)為在線狀態(tài)(UP),生成 一條用于指導(dǎo)VTEPl向VMl發(fā)送報文的MAC+IP流表項(xiàng)(即,匹配項(xiàng)為目的MAC和目的IP的流表 項(xiàng),記為流表項(xiàng)1),同時還生成一條用于指導(dǎo)物理網(wǎng)關(guān)向VMl發(fā)送報文的MAC+IP流表項(xiàng)(記 為流表項(xiàng)2)。SDN控制器下發(fā)流表項(xiàng)1至VTEP1,下發(fā)流表項(xiàng)2至物理網(wǎng)關(guān)。當(dāng)VTEP1收到流表 項(xiàng)1后,依據(jù)流表項(xiàng)1對發(fā)向VMl的VXLAN報文進(jìn)行VXLAN解封裝并發(fā)送至VMl。當(dāng)物理網(wǎng)關(guān)收 到流表項(xiàng)2后,依據(jù)流表項(xiàng)2生成MC轉(zhuǎn)發(fā)表項(xiàng)以指導(dǎo)報文轉(zhuǎn)發(fā),MAC轉(zhuǎn)發(fā)表項(xiàng)為硬件表項(xiàng),其 主要包括流表項(xiàng)2中的MAC地址、VXLAN標(biāo)識(VSI )、VXLAN隧道標(biāo)識。當(dāng)物理網(wǎng)關(guān)收到發(fā)向VMl 的VXLAN報文時,物理網(wǎng)關(guān)通過依據(jù)流表項(xiàng)2生成的MC轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)報文。
[0004] 為了避免每個VTEP學(xué)習(xí)其它VTEP接入的VM的標(biāo)識,所有跨VTEP轉(zhuǎn)發(fā)的報文都直接 送到物理網(wǎng)關(guān),由物理網(wǎng)關(guān)負(fù)責(zé)轉(zhuǎn)發(fā)到對應(yīng)的VTEP,這就要求SDN控制器以VM為單位下發(fā)每 一 VM的MAC+IP流表項(xiàng)至物理網(wǎng)關(guān),而物理網(wǎng)關(guān)收到每一 VM的MAC+IP流表項(xiàng)后就會生成對應(yīng) 的MAC轉(zhuǎn)發(fā)表項(xiàng)。如上描述,物理網(wǎng)關(guān)生成的MAC轉(zhuǎn)發(fā)表項(xiàng)為硬件表項(xiàng),其需要存儲在物理網(wǎng) 關(guān)的硬件表項(xiàng)資源內(nèi),而物理網(wǎng)關(guān)的硬件表項(xiàng)資源有一定的規(guī)格要求,在VM規(guī)模大的情況 下,SDN控制器以VM為單位下發(fā)每一 VM的MAC+IP流表項(xiàng)至物理網(wǎng)關(guān),會導(dǎo)致物理網(wǎng)關(guān)出現(xiàn)硬 件表項(xiàng)資源不足的缺陷。
【發(fā)明內(nèi)容】
[0005] 本申請?zhí)峁┝藨?yīng)用于SDN中的報文轉(zhuǎn)發(fā)方法和設(shè)備,可以節(jié)省物理網(wǎng)關(guān)的硬件表 項(xiàng)資源。
[0006] 本申請?zhí)峁┑募夹g(shù)方案包括:
[0007] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)方法,該方法應(yīng)用于SDN控制器,包括: [0008] 將SDN內(nèi)各個隧道終端VTEP的標(biāo)識通知給云平臺;
[0009] 接收云平臺為各個VTEP標(biāo)識對應(yīng)的VTEP分配的MAC地址池;不同VTEP分配不同MAC 地址池,不同MAC地址池具有不同聚合MC地址;
[0010] 接收VTEP上傳的ARP報文;
[0011] 確定ARP報文的源MAC地址所屬的MAC地址池,向物理網(wǎng)關(guān)下發(fā)與該確定的MAC地址 池的聚合MAC地址和所述ARP報文的源IP地址匹配的流表項(xiàng)。
[0012] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)方法,該方法應(yīng)用于物理網(wǎng)關(guān),包括: [0013]接收SDN控制器下發(fā)的流表項(xiàng);所述流表項(xiàng)至少包括虛擬機(jī)VM的IP地址、VM的MAC 地址所屬M(fèi)AC地址池的聚合MAC地址、VM接入的VTEP對應(yīng)的VXLAN封裝信息;
[0014] 依據(jù)所述流表項(xiàng)生成MAC轉(zhuǎn)發(fā)表項(xiàng),所述MAC轉(zhuǎn)發(fā)表項(xiàng)至少包含所述聚合MAC地址、 VXLAN封裝信息;
[0015] 當(dāng)接收到二層數(shù)據(jù)報文時,依據(jù)二層數(shù)據(jù)報文的目的MAC地址在本地匹配MAC轉(zhuǎn)發(fā) 表項(xiàng),依據(jù)匹配的MAC轉(zhuǎn)發(fā)表項(xiàng)中的VXLAN封裝信息對二層數(shù)據(jù)報文進(jìn)行VXLAN轉(zhuǎn)發(fā)。
[0016] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)方法,該方法應(yīng)用于云平臺,包括:
[0017] 接收SDN控制器通知的SDN內(nèi)各個隧道終端VTEP的標(biāo)識;
[0018] 為各個VTEP標(biāo)識對應(yīng)的VTEP分配不同的MAC地址池并發(fā)送給SDN控制器;不同MAC 地址池具有不同的聚合MC地址;
[0019] 接收業(yè)務(wù)服務(wù)器發(fā)送的LLDP報文,從所述LLDP報文中解析出VTEP標(biāo)識、SDN控制器 標(biāo)識、業(yè)務(wù)服務(wù)器標(biāo)識,確定已為解析出的VTEP標(biāo)識對應(yīng)的VTEP分配的MAC地址池,將確定 出的MAC地址池與解析出的VTEP標(biāo)識、SDN控制器標(biāo)識、業(yè)務(wù)服務(wù)器標(biāo)識組織成一個管理表 項(xiàng)存儲在本地;
[0020] 在第一業(yè)務(wù)服務(wù)器上創(chuàng)建虛擬機(jī)VM時,依據(jù)第一業(yè)務(wù)服務(wù)器的標(biāo)識匹配管理表 項(xiàng),從匹配的管理表項(xiàng)中的MAC地址池內(nèi)選擇一個MAC地址分配給VM;
[0021 ]當(dāng)所述VM從第一業(yè)務(wù)服務(wù)器迀移至第二業(yè)務(wù)服務(wù)器時,依據(jù)第二業(yè)務(wù)服務(wù)器的標(biāo) 識匹配本地表項(xiàng),從匹配的表項(xiàng)中的MAC地址池內(nèi)選擇一個MAC地址分配給所述VM。
[0022] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)設(shè)備,該設(shè)備應(yīng)用于SDN控制器,包括: [0023] 通知單元,用于將SDN內(nèi)各個隧道終端VTEP的標(biāo)識通知給云平臺;
[0024] MAC地址池接收單元,用于接收云平臺為各個VTEP標(biāo)識對應(yīng)的VTEP分配的MAC地址 池;不同VTEP分配不同MAC地址池,不同MAC地址池具有不同聚合MAC地址;
[0025]報文接收單元,用于接收VTEP上傳的ARP報文;
[0026]表項(xiàng)單元,用于確定ARP報文的源MAC地址所屬的MAC地址池,向物理網(wǎng)關(guān)下發(fā)與該 確定的MAC地址池的聚合MC地址和所述ARP報文的源IP地址匹配的流表項(xiàng)。
[0027] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)設(shè)備,該設(shè)備應(yīng)用于物理網(wǎng)關(guān),包括: [0028]表項(xiàng)接收單元,用于接收SDN控制器下發(fā)的流表項(xiàng);所述流表項(xiàng)至少包括虛擬機(jī)VM 的IP地址、VM的MAC地址所屬M(fèi)AC地址池的聚合MAC地址、VM接入的VTEP對應(yīng)的VXLAN封裝信 息;
[0029]表項(xiàng)生成單元,用于依據(jù)所述流表項(xiàng)生成MAC轉(zhuǎn)發(fā)表項(xiàng),所述MAC轉(zhuǎn)發(fā)表項(xiàng)至少包 含所述聚合MAC地址、VXLAN封裝信息;
[0030] 報文處理單元,用于當(dāng)接收到二層數(shù)據(jù)報文時,依據(jù)二層數(shù)據(jù)報文的目的MAC地址 在本地匹配MAC轉(zhuǎn)發(fā)表項(xiàng),依據(jù)匹配的MAC轉(zhuǎn)發(fā)表項(xiàng)中的VXLAN封裝信息對二層數(shù)據(jù)報文進(jìn) 行VXLAN轉(zhuǎn)發(fā)。
[0031] 一種應(yīng)用于軟件定義網(wǎng)絡(luò)SDN中的報文轉(zhuǎn)發(fā)設(shè)備,該設(shè)備應(yīng)用于云平臺,包括:
[0032] VTEP標(biāo)識接收單元,用于接收SDN控制器通知的SDN內(nèi)各個隧道終端VTEP的標(biāo)識; [0033] MAC地址池分配單元,用于為各個VTEP標(biāo)識對應(yīng)的VTEP分配不同的MAC地址池并發(fā) 送給SDN控制器;不同MAC地址池具有不同的聚合MAC地址;
[0034]報文接收單元,用于接收業(yè)務(wù)服務(wù)器發(fā)送的LLDP報文,從所述LLDP報文中解析出 VTEP標(biāo)識、SDN控制器標(biāo)識、業(yè)務(wù)服務(wù)器標(biāo)識,確定已為解析出的VTEP標(biāo)識對應(yīng)的VTEP分配 的MAC地址池,將確定出的MAC地址池與解析出的VTEP標(biāo)識、SDN控制器標(biāo)識、業(yè)務(wù)服務(wù)器標(biāo) 識組織成一個管理表項(xiàng)存儲在本地;
[0035] VM管理單元,用于在第一業(yè)務(wù)服務(wù)器上創(chuàng)建虛擬機(jī)VM時,依據(jù)第一業(yè)務(wù)服務(wù)器的 標(biāo)識匹配管理表項(xiàng),從匹配的管理表項(xiàng)中的MAC地址池內(nèi)選擇一個MAC地址分配給VM;以及, [0036]當(dāng)所述VM從第一業(yè)務(wù)服務(wù)器迀移至第二業(yè)務(wù)服務(wù)器時,依據(jù)第二業(yè)務(wù)服務(wù)器的標(biāo) 識匹配本地表項(xiàng),從匹配的表項(xiàng)中的MAC地址池內(nèi)選擇一個MAC地址分配給所述VM。
[0037]由以上技術(shù)方案可以看出,本發(fā)明中,SDN控制器并非以VM為單位下發(fā)每一VM的流 表項(xiàng)至物理網(wǎng)關(guān),而是以VTEP為單位下發(fā)每一VM的流表項(xiàng)至物理網(wǎng)關(guān),其中,下發(fā)的流表項(xiàng) 中的MAC地址不是VM的實(shí)際MAC地址,而是VTEP被分配的MAC地址池的聚合MAC地址,物理網(wǎng) 關(guān)在依據(jù)流表項(xiàng)生成MAC轉(zhuǎn)發(fā)表項(xiàng)時,就會出現(xiàn)N(N大于1)條流表項(xiàng)生成同一個MAC轉(zhuǎn)發(fā)表 項(xiàng),即針對該N條流表項(xiàng),物理網(wǎng)關(guān)上的硬件表項(xiàng)資源就可僅保存一個MC轉(zhuǎn)發(fā)表項(xiàng)即可,節(jié) 省了物理網(wǎng)關(guān)上的硬件表項(xiàng)資源。
【附圖說明】
[0038]圖1為云平臺管理業(yè)務(wù)服務(wù)器的組網(wǎng)示意圖;
[0039]圖2為本發(fā)明提供的方法流程圖;
[0040]圖3為本發(fā)明提供的第一設(shè)備結(jié)構(gòu)圖;
[0041]圖4為本發(fā)明提供的第二設(shè)備結(jié)構(gòu)圖;
[0042]圖5為本發(fā)明提供的第三設(shè)備結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0043] 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對 本發(fā)明進(jìn)行詳細(xì)描述。
[0044] 本發(fā)明提供的方法包括圖2所示的流程:
[0045] 參見圖2