Vxlan內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方及裝置,所述方法包括:在TOR交換機(jī)的端口入方向接收VXLAN報(bào)文;將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息;根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息;根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若不存在匹配的業(yè)務(wù),直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。本發(fā)明將數(shù)據(jù)中心虛擬化服務(wù)器中虛擬機(jī)的流量統(tǒng)計(jì)工作放到TOR交換機(jī)上實(shí)現(xiàn),通過(guò)匹配VXLAN內(nèi)外層報(bào)文字段,以及結(jié)合IPFIX技術(shù),可以實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的可視化。
【專利說(shuō)明】VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前,針對(duì)如何優(yōu)化數(shù)據(jù)中心以太網(wǎng),支持其提供的服務(wù)器虛擬化,已經(jīng)出現(xiàn)了很多新的和推薦的協(xié)議,其中,有些協(xié)議的目的是希望通過(guò)創(chuàng)建多個(gè)可共享同一物理基礎(chǔ)設(shè)施的虛擬以太網(wǎng)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化,其共享方式有些類似于多個(gè)虛擬機(jī)共享同一臺(tái)物理服務(wù)器。
[0003]適用于網(wǎng)絡(luò)虛擬的大部分協(xié)議基本上都是利用封裝和隧道技術(shù)來(lái)創(chuàng)建虛擬網(wǎng)絡(luò)覆蓋的,其中,業(yè)界討論最多的協(xié)議包括VXLAN技術(shù)。
[0004]所述VXLAN是虛擬可擴(kuò)展局域網(wǎng)(virtual Extensible LAN的縮寫(xiě)),是一種overlay的網(wǎng)絡(luò)技術(shù),使用MAC in UDP的方法進(jìn)行封裝,共50字節(jié)的封裝報(bào)文頭。VXLAN協(xié)議定義了一個(gè)在四層協(xié)議UDP之上的二層網(wǎng)絡(luò)框架,并實(shí)現(xiàn)上層的二層網(wǎng)絡(luò)轉(zhuǎn)發(fā)域的隔離,主要用于數(shù)據(jù)中心的虛擬化。
[0005]結(jié)合圖1所示,現(xiàn)有技術(shù)中,在虛擬化的數(shù)據(jù)中心中,物理服務(wù)器被虛擬化成多臺(tái)虛擬機(jī)VM,進(jìn)一步的,在VXLAN內(nèi)層虛擬機(jī)通過(guò)TOR交換機(jī)交換信息過(guò)程中,當(dāng)前的VXLAN頭加減封裝功能主要在服務(wù)器的Hypervisor層或VXLAN網(wǎng)關(guān)中實(shí)現(xiàn),對(duì)于VM數(shù)據(jù)包流量的統(tǒng)計(jì)主要由軟件來(lái)實(shí)現(xiàn)。
[0006]如此,在加減VXLAN報(bào)文頭的操作消耗掉CPU的資源后,單臺(tái)服務(wù)器的CPU資源往往所剩無(wú)幾,此時(shí),如果還要使用軟件方式對(duì)VM的數(shù)據(jù)包流量進(jìn)行統(tǒng)計(jì),會(huì)影響服務(wù)器的性能。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提供一種VXLAN內(nèi)層虛擬機(jī)流量在TOR交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置。
[0008]為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,所述方法包括:
在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文;
將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息;
根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息;
根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0009]作為本發(fā)明的進(jìn)一步改進(jìn),
所述“根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息;”之前,所述方法還包括:
調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì);
若是,在所述VXLAN報(bào)文傳遞過(guò)程中,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析后,根據(jù)第一次包解析獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若否,在所述VXLAN報(bào)文傳遞過(guò)程中,所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0010]作為本發(fā)明的進(jìn)一步改進(jìn),“調(diào)取TOR交換機(jī)包處理芯片內(nèi)的使能配置”具體包括:
在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向上設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置;
或根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置;
或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
[0011]作為本發(fā)明的進(jìn)一步改進(jìn),所述VXLAN報(bào)文的外層信息包括VXLAN報(bào)文載荷的偏移量;
根據(jù)VXLAN報(bào)文載荷的偏移量,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層信息。
[0012]作為本發(fā)明的進(jìn)一步改進(jìn),所述“根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);”具體包括:
根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段在TOR交換機(jī)包處理芯片的ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流;
若是,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若否,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0013]作為本發(fā)明的進(jìn)一步改進(jìn),所述方法還包括:
調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置,當(dāng)判斷在所述TOR交換機(jī)的端口出方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì)后,在所述TOR交換機(jī)的端口出方向,獲取即將轉(zhuǎn)出VXLAN報(bào)文的外層信息以及內(nèi)層信息;
根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流;
若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0014]作為本發(fā)明的進(jìn)一步改進(jìn),所述“調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置”具體包括:
在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置;
或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置;
或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
[0015]為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,獲取模塊,在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文;
報(bào)文識(shí)別及處理模塊,用于將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息;
根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息;
根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0016]作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文識(shí)別及處理模塊還用于:調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì);
若是,在所述VXLAN報(bào)文傳遞過(guò)程中,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若否,在所述VXLAN報(bào)文傳遞過(guò)程中,所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0017]作為本發(fā)明的進(jìn)一步改進(jìn),所述裝置還包括:
功能使能模塊,用于在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向上設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置;
或根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置;
或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
[0018]作為本發(fā)明的進(jìn)一步改進(jìn),所述VXLAN報(bào)文的外層信息包括VXLAN報(bào)文載荷的偏移量;
所述報(bào)文識(shí)別及處理模塊還用于:根據(jù)VXLAN報(bào)文載荷的偏移量,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層信息。
[0019]作為本發(fā)明的進(jìn)一步改進(jìn),所述報(bào)文識(shí)別及處理模塊還用于:
根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段在TOR交換機(jī)包處理芯片的ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流; 若是,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若否,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0020]作為本發(fā)明的進(jìn)一步改進(jìn),所述獲取模塊還用于:
調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置,當(dāng)判斷在所述TOR交換機(jī)的端口出方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì)后,在所述TOR交換機(jī)的端口出方向,獲取即將轉(zhuǎn)出VXLAN報(bào)文的外層信息以及內(nèi)層信息;
根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流;
若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0021]作為本發(fā)明的進(jìn)一步改進(jìn),所述功能使能模塊還用于:在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置;
或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置;
或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
[0022]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置,將數(shù)據(jù)中心虛擬化服務(wù)器中虛擬機(jī)的流量統(tǒng)計(jì)工作放到TOR交換機(jī)上實(shí)現(xiàn),通過(guò)匹配VXLAN內(nèi)外層報(bào)文字段,以及結(jié)合IPFIX技術(shù),可以實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的可視化,并且減輕服務(wù)器的壓力,將服務(wù)器性能更好地分配給實(shí)際應(yīng)用而非數(shù)據(jù)包的處理;此外,還能方便地提供虛擬網(wǎng)絡(luò)的計(jì)費(fèi)、數(shù)據(jù)分析及故障排查功能。
【專利附圖】
【附圖說(shuō)明】
[0023]圖1是本發(fā)明一實(shí)施方式中物理服務(wù)器的網(wǎng)絡(luò)拓?fù)鋱D;
圖2是本發(fā)明一實(shí)施方式中VXLAN報(bào)文轉(zhuǎn)發(fā)過(guò)程中攜帶封裝信息的示意圖;
圖3為本發(fā)明一實(shí)施方式中VXLAN報(bào)文格式示意圖;
圖4為本發(fā)明一實(shí)施方式中VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法的簡(jiǎn)易不意圖;
圖5為本發(fā)明一實(shí)施方式中VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)端口入方向上進(jìn)行統(tǒng)計(jì)的方法的流程示意圖;
圖6為本發(fā)明一實(shí)施方式中VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置的豐旲塊不意圖。
【具體實(shí)施方式】
[0024]以下將結(jié)合附圖所示的【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。
[0025]如圖4、圖5所示,在本發(fā)明的一實(shí)施方式中,所述VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,包括:
在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文;結(jié)合圖2、圖3所示,在虛擬化的數(shù)據(jù)中心中,物理服務(wù)器被虛擬化成多臺(tái)虛擬機(jī)VM,所述虛擬機(jī)VM的數(shù)據(jù)包流量在出物理服務(wù)器網(wǎng)卡時(shí),會(huì)被加上“外層MAC頭+外層IP頭+VXLAN頭”的隧道封裝,形成VXLAN報(bào)文,被封裝后的VXLAN報(bào)文包括:外層以太網(wǎng)頭、外層IP頭、外層UDP/TCP頭、VXLAN頭、內(nèi)層以太頭、內(nèi)層IP頭、內(nèi)層UDP/TCP頭、載荷等信息。
[0026]本實(shí)施方式中,所述方法還包括:將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息。
[0027]所述外層信息包括:外層以太網(wǎng)頭、外層IP頭、外層TCP/UDP頭、VXLAN頭。其中,外層以太網(wǎng)頭中包括:外層目的MAC地址、外層源MAC地址等信息外層IP頭中包括:外層目的IP地址、外層源IP地址、協(xié)議號(hào)、IP部分總長(zhǎng)度、VXLAN報(bào)文的載荷偏移量等信息。所述VXLAN頭中包含VNI字段,所述VNI為VXLAN網(wǎng)絡(luò)標(biāo)識(shí)符,用以標(biāo)識(shí)一個(gè)虛擬子網(wǎng)。
[0028]TOR交換機(jī)包處理芯片接收VXLAN報(bào)文,通常需要對(duì)其進(jìn)行第一次包解析處理,以將其外層信息解析出來(lái),并遵循外部信息查找相應(yīng)的交換端口。
[0029]進(jìn)一步的,本實(shí)施方式中,所述方法還包括:
調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì),若是,所述VXLAN報(bào)文傳遞過(guò)程中,在所述VXLAN報(bào)文進(jìn)行第一次包解析后,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,并在第二次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若否,所述VXLAN報(bào)文傳遞過(guò)程中,在所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0030]本實(shí)施方式中對(duì)TOR交換機(jī)包處理芯片內(nèi)的使能配置做相應(yīng)設(shè)置有多種方式;例如:在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置;當(dāng)需要調(diào)取TOR交換機(jī)包處理芯片內(nèi)的使能配置,調(diào)取相應(yīng)寄存器的使能配置信息,以確定是否需要對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析。
[0031]或者根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置;也可以根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。在此不做詳細(xì)贅述。
[0032]進(jìn)一步的,所述方法還包括:對(duì)TOR交換機(jī)端口入方向上的所述寄存器、或?qū)尤氲腣XLAN報(bào)文中的外層接入VLAN、或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則進(jìn)行預(yù)處理,規(guī)定其對(duì)哪些VXLAN報(bào)文使能決定是否對(duì)進(jìn)入TOR交換機(jī)端口入方向上的VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)??梢岳斫獾氖?,該步驟還可以在VXLAN報(bào)文進(jìn)入TOR交換機(jī)之前進(jìn)行,即在未對(duì)VXLAN報(bào)文進(jìn)行第一次包解析之前,即判斷所述VXLAN報(bào)文進(jìn)入所述TOR交換機(jī)后,是否對(duì)其進(jìn)行流量統(tǒng)計(jì),也可以在第一次包解析之后進(jìn)行,在此不做詳細(xì)贅述。
[0033]進(jìn)一步的,本實(shí)施方式中,所述方法還包括:
在判斷需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)后,根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層信息。
[0034]所述內(nèi)層信息包括:內(nèi)層以太頭、內(nèi)層IP頭、內(nèi)層m)P/TCP頭、載荷以及VXLAN報(bào)文的流量統(tǒng)計(jì)信息等。所述TCP頭、IP頭中包括TCP/IP五元組等信息。所述內(nèi)層以太頭中包括:內(nèi)層目的MAC地址、內(nèi)層源MAC地址;所述內(nèi)層IP頭中包括:內(nèi)層目的IP地址、內(nèi)層源IP地址、IP部分總長(zhǎng)度、協(xié)議號(hào)、普通載荷的以太類型等內(nèi)容。
[0035]其中內(nèi)層的內(nèi)層目的MAC地址、內(nèi)層源MAC地址、內(nèi)層目的IP地址、內(nèi)層源IP地址、協(xié)議號(hào)統(tǒng)稱為五元組。
[0036]例如:192.168.1.1 10000 TCP 121.14.88.76 80 就構(gòu)成了一個(gè)五元組。表示,一個(gè)IP地址為192.168.1.1的終端通過(guò)端口 10000,利用TCP協(xié)議,和IP地址為121.14.88.76,端口為80的終端進(jìn)行連接。
[0037]本實(shí)施方式中,根據(jù)VXLAN報(bào)文載荷的偏移量對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息。
[0038]進(jìn)一步的,所述方法還包括:在所述TOR交換機(jī)的端口入方向上根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0039]本實(shí)施方式中,根據(jù)獲取的外層信息,以及獲取的內(nèi)層信息在TOR交換機(jī)包處理芯片的端口入方向上的ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流。
[0040]具體的,在所述ACL組KEY中進(jìn)行查找時(shí),根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段來(lái)精確匹配一臺(tái)虛擬機(jī)VM特定業(yè)務(wù)流。
[0041 ] 若可以匹配到對(duì)應(yīng)的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若匹配不到對(duì)應(yīng)的虛擬機(jī)VM特定業(yè)務(wù)流,則根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0042]進(jìn)一步的,本實(shí)施方式中,可以將VXLAN報(bào)文的流量統(tǒng)計(jì)信息發(fā)送給諸如IPFIX處理統(tǒng)計(jì)模塊等對(duì)VXLAN報(bào)文的流量進(jìn)行統(tǒng)計(jì),這些統(tǒng)計(jì)信息可被用于提供虛擬網(wǎng)絡(luò)的計(jì)費(fèi)、數(shù)據(jù)分析及故障排查功能。
[0043]所述IPFIX為IP數(shù)據(jù)流信息輸出(IP Flow Informat1n Export的縮寫(xiě))。在此不做詳細(xì)贅述。
[0044]進(jìn)一步的,在第一次包解析后,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā),或是在第二次包解析后,對(duì)所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)時(shí),所述方法還可包括:依據(jù)解析后的內(nèi)容在MAC地址表中查找,以確定VXLAN報(bào)文的轉(zhuǎn)發(fā)端口,以及對(duì)查詢到的取出口和編輯動(dòng)作索引,在此不做詳細(xì)贅述。需要說(shuō)明的是,VXLAN報(bào)文在通過(guò)TOR交換機(jī)轉(zhuǎn)發(fā)時(shí),分為端口入方向和端口出方向,例如:兩個(gè)來(lái)自不同端口的VXLAN報(bào)文同時(shí)從TOR交換機(jī)的同一出口轉(zhuǎn)發(fā)的情況,如此會(huì)導(dǎo)致TOR交換機(jī)的端口出方向所統(tǒng)計(jì)出的VXLAN報(bào)文的流量與上述統(tǒng)計(jì)的VXLAN報(bào)文端口入方向的流量不一致,端口出方向的流量應(yīng)為兩個(gè)端口入方向的總和。因此,在本發(fā)明的其他實(shí)施方式中,可在TOR交換機(jī)的出口再次對(duì)VXLAN報(bào)文的流量做統(tǒng)計(jì)。
[0045]需要說(shuō)明的是,上述對(duì)VXLAN內(nèi)層虛擬機(jī)流量進(jìn)行統(tǒng)計(jì)是在TOR交換機(jī)的端口入方向上進(jìn)行,本實(shí)施方式中,還可以在TOR交換機(jī)的端口出方向上對(duì)VXLAN內(nèi)層虛擬機(jī)流量做統(tǒng)計(jì),所述方法還包括以下步驟:
本實(shí)施方式中,調(diào)取TOR交換機(jī)包處理芯片的端口出方向上的使能配置,判斷是否需要對(duì)所述端口出方向上的VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)。
[0046]本實(shí)施方式中,可以選擇在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置;
或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置;或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。所述TOR交換機(jī)的端口出方向上的使能配置方式與其端口入方向上的使能配置以及控制方式大致相同,在此不做詳細(xì)贅述。
[0047]進(jìn)一步,所述方法還包括:根據(jù)VXLAN報(bào)文的外層信息得到VXLAN報(bào)文的轉(zhuǎn)發(fā)類型,并通過(guò)所述轉(zhuǎn)發(fā)類型確定對(duì)VXLAN報(bào)文做出的編輯動(dòng)作,進(jìn)一步的,按索引取得編輯動(dòng)作,調(diào)取TOR交換機(jī)包處理芯片端口出方向的使能配置信息,根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0048]可以理解的是,VXLAN報(bào)文在通過(guò)所述TOR交換機(jī)的端口入方向后,即獲得與其對(duì)應(yīng)的外層信息和內(nèi)層信息,因此,在TOR交換機(jī)包處理芯片的端口出方向統(tǒng)計(jì)所述VXLAN報(bào)文的流量時(shí),可以直接調(diào)取已獲取的內(nèi)層信息和外層信息。
[0049]具體的,根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流;若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。其實(shí)現(xiàn)步驟與在TOR交換機(jī)端口入方向上統(tǒng)計(jì)所述VXLAN報(bào)文的流量相類似,在此不做詳細(xì)贅述。
[0050]進(jìn)一步的,同一個(gè)交換機(jī)中,可以選擇在TOR交換機(jī)的端口入方向上進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì)、也可以選擇在其端口出方向進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì),亦或可以同時(shí)在其端口出方向和入方向上均進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì),在此不做詳細(xì)贅述。
[0051]結(jié)合圖6所示,在本發(fā)明的第一實(shí)施方式中,VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置包括:獲取模塊100、報(bào)文識(shí)別及處理模塊200、功能使能模塊300。
[0052]獲取模塊100用于在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文。
[0053]結(jié)合圖2、圖3所示,在虛擬化的數(shù)據(jù)中心中,物理服務(wù)器被虛擬化成多臺(tái)虛擬機(jī)VM,所述虛擬機(jī)VM的數(shù)據(jù)包流量在出物理服務(wù)器網(wǎng)卡時(shí),會(huì)被加上“外層MAC頭+外層IP頭+VXLAN頭”的隧道封裝,形成VXLAN報(bào)文,被封裝后的VXLAN報(bào)文包括:外層以太網(wǎng)頭、外層IP頭、外層UDP/TCP頭、VXLAN頭、內(nèi)層以太頭、內(nèi)層IP頭、內(nèi)層UDP/TCP頭、載荷等信肩、O
[0054]報(bào)文識(shí)別及處理模塊200將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息。
[0055]所述外層信息包括:外層以太網(wǎng)頭、外層IP頭、外層TCP/UDP頭、VXLAN頭。其中,外層以太網(wǎng)頭中包括:外層目的MAC地址、外層源MAC地址等信息外層IP頭中包括:外層目的IP地址、外層源IP地址、協(xié)議號(hào)、IP部分總長(zhǎng)度、VXLAN報(bào)文的載荷偏移量等信息。所述VXLAN頭中包含VNI字段,所述VNI為VXLAN網(wǎng)絡(luò)標(biāo)識(shí)符,用以標(biāo)識(shí)一個(gè)虛擬子網(wǎng)。
[0056]獲取模塊100接收到VXLAN報(bào)文后,通常需要通過(guò)報(bào)文識(shí)別及處理模塊200對(duì)其進(jìn)行第一次包解析處理,以將其外層信息解析出來(lái),并遵循外部信息查找相應(yīng)的交換端口。
[0057]報(bào)文識(shí)別及處理模塊200調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì),若是,所述VXLAN報(bào)文傳遞過(guò)程中,在所述VXLAN報(bào)文進(jìn)行第一次包解析后,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,并在第二次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若否,所述VXLAN報(bào)文傳遞過(guò)程中,在所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0058]功能使能模塊300對(duì)TOR交換機(jī)包處理芯片內(nèi)的使能配置做相應(yīng)設(shè)置有多種方式;例如:功能使能模塊300在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置;當(dāng)需要調(diào)取TOR交換機(jī)包處理芯片內(nèi)的使能配置,調(diào)取相應(yīng)寄存器的使能配置信息,以確定是否需要對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析。
[0059]功能使能模塊300也可以選擇根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置。功能使能模塊300還可以選擇根據(jù)端口入方向上對(duì)VXLAN報(bào)文的匹配規(guī)則調(diào)取使能配置。在此不做詳細(xì)贅述。
[0060]進(jìn)一步的,功能使能模塊300對(duì)TOR交換機(jī)端口入方向上的所述寄存器、或?qū)尤氲腣XLAN報(bào)文中的外層接入VLAN、或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則進(jìn)行預(yù)處理,規(guī)定其對(duì)哪些VXLAN報(bào)文使能決定是否對(duì)進(jìn)入TOR交換機(jī)端口入方向上的VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)。
[0061]可以理解的是,報(bào)文識(shí)別及處理模塊200還可以在VXLAN報(bào)文進(jìn)入TOR交換機(jī)之前進(jìn)行,即在未對(duì)VXLAN報(bào)文進(jìn)行第一次包解析之前,即通過(guò)功能使能模塊300判斷所述VXLAN報(bào)文進(jìn)入所述TOR交換機(jī)后,是否對(duì)其進(jìn)行流量統(tǒng)計(jì),也可以在第一次包解析之后進(jìn)行判斷,在此不做詳細(xì)贅述。
[0062]報(bào)文識(shí)別及處理模塊200在判斷需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)后,根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層彳目息。
[0063]所述內(nèi)層信息包括:內(nèi)層以太頭、內(nèi)層IP頭、內(nèi)層m)P/TCP頭、載荷以及VXLAN報(bào)文的流量統(tǒng)計(jì)信息等。所述TCP頭、IP頭中包括TCP/IP五元組等信息。所述內(nèi)層以太頭中包括:內(nèi)層目的MAC地址、內(nèi)層源MAC地址;所述內(nèi)層IP頭中包括:內(nèi)層目的IP地址、內(nèi)層源IP地址、IP部分總長(zhǎng)度、協(xié)議號(hào)、普通載荷的以太類型等內(nèi)容。
[0064]其中內(nèi)層的的內(nèi)層目的MAC地址、內(nèi)層源MAC地址、內(nèi)層目的IP地址、內(nèi)層源IP地址、協(xié)議號(hào)統(tǒng)稱為五元組。
[0065]例如:192.168.1.1 10000 TCP 121.14.88.76 80 就構(gòu)成了一個(gè)五元組。表示,一個(gè)IP地址為192.168.1.1的終端通過(guò)端口 10000,利用TCP協(xié)議,和IP地址為121.14.88.76,端口為80的終端進(jìn)行連接。
[0066]本實(shí)施方式中,報(bào)文識(shí)別及處理模塊200根據(jù)VXLAN報(bào)文載荷的偏移量對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息。
[0067]報(bào)文識(shí)別及處理模塊200在所述TOR交換機(jī)的端口入方向上根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0068]本實(shí)施方式中,報(bào)文識(shí)別及處理模塊200還用于根據(jù)獲取的外層信息,以及獲取的內(nèi)層信息在TOR交換機(jī)包處理芯片的端口入方向上ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流。
[0069]具體的,報(bào)文識(shí)別及處理模塊200用于在所述ACL組KEY中進(jìn)行查找時(shí),根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段來(lái)精確匹配一臺(tái)虛擬機(jī)VM特定業(yè)務(wù)流。
[0070]若可以匹配到對(duì)應(yīng)的虛擬機(jī)VM特定業(yè)務(wù)流,,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若匹配不到對(duì)應(yīng)的虛擬機(jī)VM特定業(yè)務(wù)流,則根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0071 ] 進(jìn)一步的,本實(shí)施方式中,報(bào)文識(shí)別及處理模塊200可以將VXLAN報(bào)文的流量統(tǒng)計(jì)信息發(fā)送給諸如IPFIX處理統(tǒng)計(jì)模塊等對(duì)VXLAN報(bào)文的流量進(jìn)行統(tǒng)計(jì),這些統(tǒng)計(jì)信息可被用于提供虛擬網(wǎng)絡(luò)的計(jì)費(fèi)、數(shù)據(jù)分析及故障排查功能。
[0072]所述IPFIX為IP數(shù)據(jù)流信息輸出(IP Flow Informat1n Export的縮寫(xiě))。在此不做詳細(xì)贅述。
[0073]進(jìn)一步的,報(bào)文識(shí)別及處理模塊200在第一次包解析后,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā),或是在第二次包解析后,對(duì)所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)時(shí),所述方法還可包括:依據(jù)解析后的內(nèi)容在MAC地址表中查找,以確定VXLAN報(bào)文的轉(zhuǎn)發(fā)端口,以及對(duì)查詢到的取出口和編輯動(dòng)作索引,在此不做詳細(xì)贅述。
[0074]需要說(shuō)明的是,VXLAN報(bào)文在通過(guò)TOR交換機(jī)轉(zhuǎn)發(fā)時(shí),分為端口入方向和端口出方向,例如:兩個(gè)來(lái)自不同端口的VXLAN報(bào)文同時(shí)從TOR交換機(jī)的同一出口轉(zhuǎn)發(fā)的情況,如此會(huì)導(dǎo)致TOR交換機(jī)的端口出方向所統(tǒng)計(jì)出的VXLAN報(bào)文的流量與上述統(tǒng)計(jì)的VXLAN報(bào)文端口入方向的流量不一致,端口出方向的流量應(yīng)為兩個(gè)端口入方向的總和。因此,在本發(fā)明的其他實(shí)施方式中,可在TOR交換機(jī)的出口再次對(duì)VXLAN報(bào)文的流量做統(tǒng)計(jì)。
[0075]需要說(shuō)明的是,上述報(bào)文識(shí)別及處理模塊200對(duì)VXLAN內(nèi)層虛擬機(jī)流量進(jìn)行統(tǒng)計(jì)是在TOR交換機(jī)的端口進(jìn)入方向上行,本實(shí)施方式中,報(bào)文識(shí)別及處理模塊200還可以在TOR交換機(jī)的端口出方向上對(duì)VXLAN內(nèi)層虛擬機(jī)流量做統(tǒng)計(jì)。
[0076]本實(shí)施方式中,報(bào)文識(shí)別及處理模塊200還用于通過(guò)端口使能模塊300調(diào)取TOR交換機(jī)包處理芯片的端口出方向上的使能配置,判斷是否需要對(duì)所述端口出方向上的VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì)。
[0077]本實(shí)施方式中,功能使能模塊300還可以選擇在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置;
或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置;或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。所述TOR交換機(jī)的端口出方向上的使能配置方式與其端口入方向上的使能配置以及控制方式大致相同,在此不做詳細(xì)贅述。
[0078]所述TOR交換機(jī)的端口出方向上的使能配置方式與上述內(nèi)容相同,在此不做詳細(xì)贅述。
[0079]本實(shí)施方式中,在所述功能使能模塊300根據(jù)VXLAN報(bào)文的外層信息得到VXLAN報(bào)文的轉(zhuǎn)發(fā)類型,并通過(guò)所述轉(zhuǎn)發(fā)類型確定對(duì)VXLAN報(bào)文做出的編輯動(dòng)作,進(jìn)一步的,按索引取得編輯動(dòng)作,調(diào)取TOR交換機(jī)包處理芯片端口出方向上的寄存器的使能配置信息,根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
[0080]可以理解的是,VXLAN報(bào)文在通過(guò)所述TOR交換機(jī)的端口入方向后,即獲得與其對(duì)應(yīng)的外層信息和內(nèi)層信息,因此,在TOR交換機(jī)包處理芯片的端口出方向統(tǒng)計(jì)所述VXLAN報(bào)文的流量時(shí),可以直接調(diào)取已獲取的內(nèi)層信息和外層信息。
[0081]具體的,報(bào)文識(shí)別及處理模塊200根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流;若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。功能使能模塊300在TOR交換機(jī)端口入方向上統(tǒng)計(jì)所述VXLAN報(bào)文的流量相類似,在此不做詳細(xì)贅述。
[0082]進(jìn)一步的,同一個(gè)交換機(jī)中,報(bào)文識(shí)別及處理模塊200可以選擇在TOR交換機(jī)的端口入方向上進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì)、也可以選擇在其端口出方向進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì),亦或可以同時(shí)在其端口出方向和入方向上均進(jìn)行VXLAN內(nèi)層虛擬機(jī)流量統(tǒng)計(jì),在此不做詳細(xì)贅述。
[0083]綜上所述,本發(fā)明的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法及裝置,將數(shù)據(jù)中心虛擬化服務(wù)器中虛擬機(jī)的流量統(tǒng)計(jì)工作放到TOR交換機(jī)上實(shí)現(xiàn),通過(guò)匹配VXLAN內(nèi)外層報(bào)文字段,以及結(jié)合IPFIX技術(shù),可以實(shí)現(xiàn)虛擬網(wǎng)絡(luò)的可視化,并且減輕服務(wù)器的壓力,將服務(wù)器性能更好地分配給實(shí)際應(yīng)用而非數(shù)據(jù)包的處理;此外,還能方便地提供虛擬網(wǎng)絡(luò)的計(jì)費(fèi)、數(shù)據(jù)分析及故障排查功能。
[0084]為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。在實(shí)施本申請(qǐng)時(shí)僅限于把各模塊的功能在ASIC芯片中實(shí)現(xiàn)。
[0085]通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)可借助通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分以ASIC芯片產(chǎn)品的形式體現(xiàn)出來(lái)。
[0086]以上所描述的裝置實(shí)施方式僅僅是示意性的,其中所述作為分離部件說(shuō)明的模塊可以是或者也可以不是物理上分開(kāi)的,作為模塊顯示的部件是邏輯模塊,即可以位于芯片邏輯中的一個(gè)模塊中,或者也可以分布到芯片內(nèi)的多個(gè)處理模塊上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0087]本申請(qǐng)可用于眾多通用或?qū)S玫耐ㄐ判酒小@?交換芯片、路由器芯片,服務(wù)器芯片等等。
[0088]應(yīng)當(dāng)理解,雖然本說(shuō)明書(shū)按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書(shū)的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書(shū)作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。
[0089]上文所列出的一系列的詳細(xì)說(shuō)明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說(shuō)明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述方法包括: 在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文; 將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息; 根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息; 根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述“根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息;”之前,所述方法還包括: 調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì); 若是,在所述VXLAN報(bào)文傳遞過(guò)程中,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析后,根據(jù)第一次包解析獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若否,在所述VXLAN報(bào)文傳遞過(guò)程中,所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
3.根據(jù)權(quán)利要求2所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,“調(diào)取TOR交換機(jī)包處理芯片內(nèi)的使能配置”具體包括: 在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向上設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置; 或根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置; 或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
4.根據(jù)權(quán)利要求1所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述VXLAN報(bào)文的外層信息包括VXLAN報(bào)文載荷的偏移量; 根據(jù)VXLAN報(bào)文載荷的偏移量,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層信息。
5.根據(jù)權(quán)利要求1所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述“根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā);”具體包括: 根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段在TOR交換機(jī)包處理芯片的ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流; 若是,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若否,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述方法還包括: 調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置,當(dāng)判斷在所述TOR交換機(jī)的端口出方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì)后,在所述TOR交換機(jī)的端口出方向,獲取即將轉(zhuǎn)出VXLAN報(bào)文的外層信息以及內(nèi)層信息; 根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流; 若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求6所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的方法,其特征在于,所述“調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置”具體包括: 在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置; 或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置; 或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
8.—種VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述裝置包括: 獲取模塊,在TOR交換機(jī)的端口入方向上接收VXLAN報(bào)文; 報(bào)文識(shí)別及處理模塊,用于將所述VXLAN報(bào)文進(jìn)行第一次包解析,獲取VXLAN報(bào)文的外層信息; 根據(jù)獲取的VXLAN報(bào)文的外層信息,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的外層信息的內(nèi)層信息; 根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息匹配查找對(duì)應(yīng)所述VXLAN報(bào)文的業(yè)務(wù),若存在匹配的業(yè)務(wù),獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的業(yè)務(wù),根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
9.根據(jù)權(quán)利要求8所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述報(bào)文識(shí)別及處理模塊還用于:調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口入方向上的使能配置,判斷是否在所述TOR交換機(jī)的端口入方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行流量統(tǒng)計(jì); 若是,在所述VXLAN報(bào)文傳遞過(guò)程中,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若否,在所述VXLAN報(bào)文傳遞過(guò)程中,所述VXLAN報(bào)文進(jìn)行第一次包解析后,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
10.根據(jù)權(quán)利要求9所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述裝置還包括: 功能使能模塊,用于在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口入方向上設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口入方向上的使能配置; 或根據(jù)接入的VXLAN報(bào)文中的外層接入VLAN調(diào)取使能配置; 或根據(jù)端口入方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
11.根據(jù)權(quán)利要求8所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述VXLAN報(bào)文的外層信息包括VXLAN報(bào)文載荷的偏移量; 所述報(bào)文識(shí)別及處理模塊還用于:根據(jù)VXLAN報(bào)文載荷的偏移量,對(duì)所述VXLAN報(bào)文進(jìn)行第二次包解析,獲取對(duì)應(yīng)VXLAN報(bào)文的內(nèi)層信息。
12.根據(jù)權(quán)利要求8所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述報(bào)文識(shí)別及處理模塊還用于: 根據(jù)內(nèi)層信息的五元組,以及外層信息中VXLAN頭的VNI字段在TOR交換機(jī)包處理芯片的ACL組KEY中進(jìn)行查找,判斷所述ACL組KEY中是否存在與當(dāng)前所述VXLAN報(bào)文匹配的虛擬機(jī)VM特定業(yè)務(wù)流; 若是,獲取VXLAN報(bào)文的內(nèi)層業(yè)務(wù)流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若否,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
13.根據(jù)權(quán)利要求8至12任一項(xiàng)所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述獲取模塊還用于:調(diào)取TOR交換機(jī)包處理芯片內(nèi)端口出方向的使能配置,當(dāng)判斷在所述TOR交換機(jī)的端口出方向上需要對(duì)所述VXLAN報(bào)文進(jìn)行內(nèi)層流量統(tǒng)計(jì)后,在所述TOR交換機(jī)的端口出方向,獲取即將轉(zhuǎn)出VXLAN報(bào)文的外層信息以及內(nèi)層信息; 根據(jù)VXLAN報(bào)文的外層信息和內(nèi)層信息在端口出方向上進(jìn)行ACL查找對(duì)應(yīng)當(dāng)前所述VXLAN報(bào)文的匹配的虛擬機(jī)VM特定業(yè)務(wù)流; 若存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,獲取VXLAN報(bào)文的流量統(tǒng)計(jì)信息,并在大致同一時(shí)間內(nèi)根據(jù)獲取的VXLAN報(bào)文的外層信息,將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā); 若不存在匹配的虛擬機(jī)VM特定業(yè)務(wù)流,根據(jù)獲取的VXLAN報(bào)文的外層信息,直接將所述VXLAN報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
14.根據(jù)權(quán)利要求13所述的VXLAN內(nèi)層虛擬機(jī)流量在中間交換機(jī)上進(jìn)行統(tǒng)計(jì)的裝置,其特征在于,所述功能使能模塊還用于:在所述TOR交換機(jī)包處理芯片中的每一個(gè)端口出方向上分別設(shè)置相應(yīng)寄存器,所述寄存器用于控制其所在端口出方向上的使能配置; 或根據(jù)VXLAN報(bào)文在端口出方向上的VLAN調(diào)取使能配置; 或根據(jù)端口出方向上對(duì)VXLAN報(bào)文配置的匹配規(guī)則調(diào)取使能配置。
【文檔編號(hào)】H04L12/46GK104410541SQ201410656177
【公開(kāi)日】2015年3月11日 申請(qǐng)日期:2014年11月18日 優(yōu)先權(quán)日:2014年11月18日
【發(fā)明者】方沛昱, 龔海東 申請(qǐng)人:盛科網(wǎng)絡(luò)(蘇州)有限公司