本發(fā)明涉及通信領(lǐng)域,尤其涉及一種報(bào)文處理方法、相關(guān)設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
通用路由封裝(gre,genericroutingencapsulation)技術(shù)是一種隧道技術(shù),如圖1所示,這種技術(shù)可以在兩個(gè)隧道端點(diǎn)之間建立虛擬互聯(lián)網(wǎng)協(xié)議(ip,internetprotocol)連接,并將原始數(shù)據(jù)報(bào)文封裝新的隧道報(bào)文中,從而實(shí)現(xiàn)二層網(wǎng)絡(luò)的擴(kuò)展及二層overlay網(wǎng)絡(luò)的創(chuàng)建。使用gre技術(shù)傳輸數(shù)據(jù)時(shí),由于業(yè)務(wù)流封裝在隧道中,因此在傳輸時(shí)無(wú)法識(shí)別不同業(yè)務(wù)流,所以也就不能為隧道中的不同業(yè)務(wù)提供端到端的服務(wù)質(zhì)量(qos,qualityofservice)控制。對(duì)于此問(wèn)題,相關(guān)技術(shù)尚無(wú)有效解決方案。
技術(shù)實(shí)現(xiàn)要素:
為解決現(xiàn)有存在的技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種報(bào)文處理方法、相關(guān)設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供了一種報(bào)文處理方法,應(yīng)用于第一交換機(jī),包括:
在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文;其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息。
上述方案中,將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文時(shí),在所述gre報(bào)文中增加第一標(biāo)識(shí);所述第一標(biāo)識(shí)表征支持流標(biāo)簽。
上述方案中,所述將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文,包括:
在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí)。
上述方案中,所述在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及所述第一標(biāo)識(shí),包括:
在所述gre頭的預(yù)留域設(shè)置所述流標(biāo)簽信息及所述第一標(biāo)識(shí)。
上述方案中,所述在第一表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)之前,所述方法還包括:
判斷接收的信息是否為數(shù)據(jù)報(bào)文,得到判斷結(jié)果;
當(dāng)判斷結(jié)果表征接收的信息是數(shù)據(jù)報(bào)文時(shí)在第一表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)。
上述方案中,所述方法還包括:
當(dāng)在所述流表中未查找到數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)時(shí),將數(shù)據(jù)報(bào)文發(fā)送給軟件定義網(wǎng)絡(luò)sdn控制器;
接收所述sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
本發(fā)明實(shí)施例還提供了一種報(bào)文處理方法,應(yīng)用于sdn控制器,包括:
接收第一交換機(jī)發(fā)送的數(shù)據(jù)報(bào)文;
在:流標(biāo)簽映射表查找接收的數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
將所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng);所述流表包含表征業(yè)務(wù)流的轉(zhuǎn)發(fā)路徑相關(guān)信息的表項(xiàng)。
上述方案中,所述方法還包括:
根據(jù)所述第一業(yè)務(wù)流的傳輸相關(guān)信息及qos信息,生成所述第一業(yè)務(wù)流的標(biāo)簽信息;
在所述流標(biāo)簽映射表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
本發(fā)明實(shí)施例又提供了一種報(bào)文處理方法,應(yīng)用于第二交換機(jī),包括:
接收gre報(bào)文;
對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;
根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文。
上述方案中,所述對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息時(shí),所述方法包括:
對(duì)接收的gre報(bào)文進(jìn)行解析,得到第一標(biāo)識(shí);當(dāng)所述第一標(biāo)識(shí)表征支持流標(biāo)簽時(shí),進(jìn)一步解析接收的gre報(bào)文,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
上述方案中,對(duì)接收的gre報(bào)文進(jìn)行解析,包括:
對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析。
上述方案中,所述方法還包括:
接收sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
本發(fā)明實(shí)施例還提供了一種第一交換機(jī),包括:第一處理器和用于存儲(chǔ)能夠在第一處理器上運(yùn)行的計(jì)算機(jī)程序的第一存儲(chǔ)器,
其中,所述第一處理器用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行上述第一交換機(jī)側(cè)任一方法的步驟。
本發(fā)明實(shí)施例又提供了一種sdn控制器,包括:第二處理器和用于存儲(chǔ)能夠在第二處理器上運(yùn)行的計(jì)算機(jī)程序的第二存儲(chǔ)器,
其中,所述第二處理器用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行上述sdn側(cè)任一方法的步驟。
本發(fā)明實(shí)施例還提供了一種第二交換機(jī),包括:第三處理器和用于存儲(chǔ)能夠在第三處理器上運(yùn)行的計(jì)算機(jī)程序的第三存儲(chǔ)器,
其中,所述第三處理器用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行上述第二交換機(jī)側(cè)任一方法的步驟。
本發(fā)明實(shí)施例又提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一交換機(jī)側(cè)任一方法的步驟,或者實(shí)現(xiàn)上述sdn側(cè)任一方法的步驟,或者實(shí)現(xiàn)上述第二交換機(jī)側(cè)任一方法的步驟。
本發(fā)明實(shí)施例提供的報(bào)文處理方法、相關(guān)設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
附圖說(shuō)明
在附圖(其不一定是按比例繪制的)中,相似的附圖標(biāo)記可在不同的視圖中描述相似的部件。附圖以示例而非限制的方式大體示出了本文中所討論的各個(gè)實(shí)施例。
圖1為相關(guān)技術(shù)中g(shù)re隧道示意圖;
圖2為本發(fā)明實(shí)施例一報(bào)文處理的方法流程示意圖;
圖3為相關(guān)技術(shù)中g(shù)re報(bào)文的報(bào)文頭格式示意圖;
圖4為本發(fā)明實(shí)施例支持流標(biāo)簽的gre報(bào)文格式示意圖;
圖5為本發(fā)明實(shí)施例二報(bào)文處理的方法流程示意圖;
圖6為本發(fā)明實(shí)施例三報(bào)文處理的方法流程示意圖;
圖7為本發(fā)明實(shí)施例四報(bào)文處理的方法流程示意圖;
圖8為本發(fā)明實(shí)施例五報(bào)文處理的方法流程示意圖;
圖9本發(fā)明實(shí)施例六云數(shù)據(jù)中心系統(tǒng)架構(gòu)示意圖;
圖10為本發(fā)明實(shí)施例六sdn控制器結(jié)構(gòu)示意圖;
圖11為本發(fā)明實(shí)施例六sdn交換機(jī)結(jié)構(gòu)示意圖;
圖12為本發(fā)明實(shí)施例六sdn控制器與交換機(jī)交互示意圖;
圖13為本發(fā)明實(shí)施例六流標(biāo)簽映射表的表項(xiàng)格式示意圖;
圖14為本發(fā)明實(shí)施例六sdn隧道源交換機(jī)消息處理流程示意圖;
圖15為本發(fā)明實(shí)施例六sdn中間交換機(jī)消息處理流程示意圖;
圖16為本發(fā)明實(shí)施例六表項(xiàng)匹配域示意圖;
圖17為本發(fā)明實(shí)施例六流表配置示意圖;
圖18為本發(fā)明實(shí)施例七第一交換機(jī)結(jié)構(gòu)示意圖;
圖19為本發(fā)明實(shí)施例七sdn控制器結(jié)構(gòu)示意圖;
圖20為本發(fā)明實(shí)施例七第二交換機(jī)結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
當(dāng)使用gre技術(shù)時(shí),由于業(yè)務(wù)流被封裝在隧道中,因此在傳輸時(shí)無(wú)法識(shí)別不同業(yè)務(wù)流,,所以也就不能為隧道中的不同業(yè)務(wù)提供端到端的qos控制。
基于上述技術(shù)問(wèn)題,有人提出了一種解決方案:通過(guò)在gre的外部網(wǎng)絡(luò)協(xié)議(ip)包頭上設(shè)置ip優(yōu)先級(jí)或者差分服務(wù)代碼點(diǎn)(dscp)值,從而可以提供隧道的qos控制能力,控制不同隧道的優(yōu)先級(jí)和帶寬分配,為不同隧道的業(yè)務(wù)提供有差別的服務(wù)。
然而,一方面,上述方案僅能提供不同隧道的qos控制,仍然無(wú)法為隧道承載的不同業(yè)務(wù)流提供qos控制;另一方面,dscp的優(yōu)先級(jí)設(shè)置級(jí)別非常有限,無(wú)法支持精細(xì)度要求更高的流的粒度。
基于此,在本發(fā)明的各種實(shí)施例中:為業(yè)務(wù)流生成流標(biāo)簽信息,用于區(qū)分隧道中的不同業(yè)務(wù)流;當(dāng)業(yè)務(wù)流經(jīng)過(guò)隧道源交換機(jī)時(shí),隧道源交換機(jī)根據(jù)流表映射到對(duì)應(yīng)的隧道id及流標(biāo)簽信息,封裝gre報(bào)文,映射至不同端口的qos隊(duì)列并轉(zhuǎn)發(fā)至下一跳中間交換機(jī)節(jié)點(diǎn);當(dāng)業(yè)務(wù)流經(jīng)過(guò)中間交換機(jī)節(jié)點(diǎn)時(shí),中間交換機(jī)節(jié)點(diǎn)匹配相應(yīng)隧道id及流標(biāo)簽,根據(jù)流標(biāo)簽不同將其映射至不同端口qos隊(duì)列并轉(zhuǎn)發(fā)至下一跳。
本發(fā)明實(shí)施例提供的方案,采用流標(biāo)簽信息來(lái)標(biāo)識(shí)隧道中的不同業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,從而實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
實(shí)施例一
本發(fā)明實(shí)施例提供一種報(bào)文處理方法,應(yīng)用于第一交換機(jī),如圖2所示,該方法包括:
步驟201:在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);
這里,所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
實(shí)際應(yīng)用時(shí),由sdn控制器來(lái)為所述第一業(yè)務(wù)流分配流標(biāo)簽信息和gre隧道信息,將所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng)。
在一實(shí)施例中,當(dāng)在所述流表中未查找到數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)時(shí),將數(shù)據(jù)報(bào)文發(fā)送給sdn控制器;
接收所述sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
然后,重新執(zhí)行步驟201~202。
步驟202:利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文。
其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息。
這里,實(shí)際應(yīng)用時(shí),所述流標(biāo)簽信息可以攜帶在gre報(bào)文頭中,只需要解析gre報(bào)文頭即可獲得流標(biāo)簽信息,如此能夠大大加快處理速度。
實(shí)際應(yīng)用時(shí),為了節(jié)省開(kāi)銷,可以在報(bào)文中增加了一個(gè)標(biāo)識(shí),來(lái)表征是否支持流標(biāo)簽。
基于此,在一實(shí)施例中,將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文時(shí),在所述gre報(bào)文中增加第一標(biāo)識(shí);所述第一標(biāo)識(shí)表征支持流標(biāo)簽。
與所述流標(biāo)簽信息類似的,所述第一標(biāo)識(shí)也可以攜帶在gre報(bào)文頭中,,只需要解析gre報(bào)文頭即可獲得第一標(biāo)識(shí),從而判斷是否支持流標(biāo)簽,當(dāng)支持流標(biāo)簽時(shí),再進(jìn)一步解析報(bào)文;當(dāng)不支持流標(biāo)簽時(shí)不需要進(jìn)一步解析報(bào)文,如此能夠大大加快處理速度。
基于此,所述將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文,包括:
在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí)。
這里,圖3為通用gre報(bào)文的報(bào)文頭格式示意圖。如圖3所示,通用gre頭中包含預(yù)留域,包括reserved0和reserved1,所以可以利用預(yù)留域來(lái)設(shè)置流標(biāo)簽信息和第一標(biāo)識(shí),從而對(duì)gre頭進(jìn)行擴(kuò)展。
基于此,所述在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及所述第一標(biāo)識(shí),包括:
在所述gre頭的預(yù)留域設(shè)置所述流標(biāo)簽信息及所述第一標(biāo)識(shí)。
圖4為支持流標(biāo)簽的gre報(bào)文格式,從圖4可以看出,在gre頭的reserved0域增加1比特來(lái)表示是否支持流標(biāo)簽,比如1表示支持流標(biāo)簽,0表示不支持流標(biāo)簽;當(dāng)支持流標(biāo)簽時(shí),在reserved1域有2字節(jié)來(lái)標(biāo)識(shí)流標(biāo)簽信息。
需要說(shuō)明的是:實(shí)際應(yīng)用時(shí),第一標(biāo)識(shí)及流標(biāo)簽信息的具體長(zhǎng)度可以根據(jù)需要來(lái)設(shè)置,本發(fā)明實(shí)施例并不對(duì)此進(jìn)行限定。同時(shí),本發(fā)明實(shí)施例并不對(duì)第一標(biāo)識(shí)在reserved0域的具體位置進(jìn)行限定。換句話說(shuō),上述實(shí)現(xiàn)方式只是示例性的描述如何在所述gre頭的預(yù)留域設(shè)置流標(biāo)簽信息及所述第一標(biāo)識(shí)。
不同的qos端口具有不同的優(yōu)先級(jí)和帶寬保障,而每個(gè)qos端口都對(duì)應(yīng)有一個(gè)隊(duì)列,根據(jù)數(shù)據(jù)報(bào)文的qos的要求,將gre報(bào)文放置到對(duì)應(yīng)的端口隊(duì)列里,以便從對(duì)應(yīng)的qos端口發(fā)出。舉個(gè)例子來(lái)說(shuō),隊(duì)列1保障10m帶寬(對(duì)應(yīng)一個(gè)qos端口),隊(duì)列2保障100m帶寬(對(duì)應(yīng)另一個(gè)qos端口),在網(wǎng)絡(luò)擁塞時(shí),進(jìn)入隊(duì)列2的數(shù)據(jù)包可以有更高的帶寬保障。
從上面的描述可以看出,所述第一交換機(jī)需要將數(shù)據(jù)報(bào)文封裝成gre報(bào)文,所以所述第一交換機(jī)是源交換機(jī)。
本發(fā)明實(shí)施例提供的方案,在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文;其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息,采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
另外,在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí),這樣接收gre報(bào)文時(shí),只需要解析gre頭即可獲得所述流標(biāo)簽信息及第一標(biāo)識(shí),而不需要解析所有g(shù)re報(bào)文,如此,大大加快了處理速度。
實(shí)施例二
本發(fā)明實(shí)施例提供一種報(bào)文處理方法,應(yīng)用于第一交換機(jī),如圖5所示,該方法包括:
步驟501:判斷接收的信息是否為數(shù)據(jù)報(bào)文,得到判斷結(jié)果;
步驟502:當(dāng)判斷結(jié)果表征接收的信息是數(shù)據(jù)報(bào)文時(shí)在第一表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);
也就是說(shuō),當(dāng)接收的信息是數(shù)據(jù)報(bào)文是才在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)。當(dāng)接收的信息是控制消息時(shí),根據(jù)消息的類型執(zhí)行相應(yīng)的操作,舉個(gè)例子來(lái)說(shuō),當(dāng)消息類型是流表配置消息時(shí),根據(jù)流表配置消息指示的信息配置流表的表項(xiàng),當(dāng)消息類型是端口配置消息時(shí),根據(jù)端口配置消息指示的信息配置qos端口等。
這里,所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
實(shí)際應(yīng)用時(shí),由sdn控制器來(lái)為所述第一業(yè)務(wù)流分配流標(biāo)簽信息和gre隧道信息,將所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng)。
在一實(shí)施例中,當(dāng)在所述流表中未查找到數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)時(shí),將數(shù)據(jù)報(bào)文發(fā)送給sdn控制器;
接收所述sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
然后,重新去流表中查找對(duì)應(yīng)的表項(xiàng),并執(zhí)行步驟503。
步驟503:利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文。
其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息。
這里,實(shí)際應(yīng)用時(shí),所述流標(biāo)簽信息可以攜帶在gre報(bào)文頭中,只需要解析gre報(bào)文頭即可獲得流標(biāo)簽信息,如此能夠大大加快處理速度。
實(shí)際應(yīng)用時(shí),為了節(jié)省開(kāi)銷,可以在報(bào)文中增加了一個(gè)標(biāo)識(shí),來(lái)表征是否支持流標(biāo)簽。
基于此,在一實(shí)施例中,將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文時(shí),在所述gre報(bào)文中增加第一標(biāo)識(shí);所述第一標(biāo)識(shí)表征支持流標(biāo)簽。
與所述流標(biāo)簽信息類似的,所述第一標(biāo)識(shí)也可以攜帶在gre報(bào)文頭中,,只需要解析gre報(bào)文頭即可獲得第一標(biāo)識(shí),從而判斷是否支持流標(biāo)簽,當(dāng)支持流標(biāo)簽時(shí),再進(jìn)一步解析報(bào)文;當(dāng)不支持流標(biāo)簽時(shí)不需要進(jìn)一步解析報(bào)文,如此能夠大大加快處理速度。
基于此,所述將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文,包括:
在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí)。
這里,圖3為通用gre報(bào)文的報(bào)文頭格式示意圖。如圖2所示,通用gre頭中包含預(yù)留域,包括reserved0和reserved1,所以可以利用預(yù)留域來(lái)設(shè)置流標(biāo)簽信息和第一標(biāo)識(shí),從而對(duì)gre頭進(jìn)行擴(kuò)展。
基于此,所述在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及所述第一標(biāo)識(shí),包括:
在所述gre頭的預(yù)留域設(shè)置所述流標(biāo)簽信息及所述第一標(biāo)識(shí)。
圖4為支持流標(biāo)簽的gre報(bào)文格式,從圖4可以看出,在gre頭的reserved0域增加1比特來(lái)表示是否支持流標(biāo)簽,比如1表示支持流標(biāo)簽,0表示不支持流標(biāo)簽;當(dāng)支持流標(biāo)簽時(shí),在reserved1域有2字節(jié)來(lái)標(biāo)識(shí)流標(biāo)簽信息。
需要說(shuō)明的是:實(shí)際應(yīng)用時(shí),第一標(biāo)識(shí)及流標(biāo)簽信息的具體長(zhǎng)度可以根據(jù)需要來(lái)設(shè)置,本發(fā)明實(shí)施例并不對(duì)此進(jìn)行限定。同時(shí),本發(fā)明實(shí)施例并不對(duì)第一標(biāo)識(shí)在reserved0域的具體位置進(jìn)行限定。換句話說(shuō),上述實(shí)現(xiàn)方式只是示例性的描述如何在所述gre頭的預(yù)留域設(shè)置流標(biāo)簽信息及所述第一標(biāo)識(shí)。
不同的qos端口具有不同的優(yōu)先級(jí)和帶寬保障,而每個(gè)qos端口都對(duì)應(yīng)有一個(gè)隊(duì)列,根據(jù)數(shù)據(jù)報(bào)文的qos的要求,將gre報(bào)文放置到對(duì)應(yīng)的端口隊(duì)列里,以便從對(duì)應(yīng)的qos端口發(fā)出。舉個(gè)例子來(lái)說(shuō),隊(duì)列1保障10m帶寬(對(duì)應(yīng)一個(gè)qos端口),隊(duì)列2保障100m帶寬(對(duì)應(yīng)另一個(gè)qos端口),在網(wǎng)絡(luò)擁塞時(shí),進(jìn)入隊(duì)列2的數(shù)據(jù)包可以有更高的帶寬保障。
從上面的描述可以看出,所述第一交換機(jī)需要將數(shù)據(jù)報(bào)文封裝成gre報(bào)文,所以所述第一交換機(jī)是源交換機(jī)。
本發(fā)明實(shí)施例提供的方案,在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文;其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息,采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
另外,在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí),這樣接收gre報(bào)文時(shí),只需要解析gre頭即可獲得所述流標(biāo)簽信息及第一標(biāo)識(shí),而不需要解析所有g(shù)re報(bào)文,如此,大大加快了處理速度。
實(shí)施例三
本發(fā)明實(shí)施例提供了一種報(bào)文處理方法,應(yīng)用于sdn控制器,如圖6所示,該方法包括:
步驟601:接收第一交換機(jī)發(fā)送的數(shù)據(jù)報(bào)文;
步驟602:在流標(biāo)簽映射表查找接收的數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng);
其中,所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
實(shí)際應(yīng)用時(shí),網(wǎng)絡(luò)管理員會(huì)向sdn控制器配置所述第一業(yè)務(wù)流的服務(wù)等級(jí)協(xié)議(sla,service-levelagreement)需求,sdn控制器根據(jù)所述第一業(yè)務(wù)流的sla需求,設(shè)置流標(biāo)簽映射表的表項(xiàng)。
具體地,sdn控制器根據(jù)所述第一業(yè)務(wù)流的傳輸相關(guān)信息及qos信息,生成所述第一業(yè)務(wù)流的標(biāo)簽信息;
在所述流標(biāo)簽映射表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
這里,生成所述第一業(yè)務(wù)流的標(biāo)簽信息時(shí),sdn控制器可以利用所述第一業(yè)務(wù)流的源、目的ip.mac、端口等傳輸相關(guān)信息以及qos信息生成一個(gè)哈希(hash)值,將該hash值作為所述第一業(yè)務(wù)流的流標(biāo)簽信息。當(dāng)然,實(shí)際應(yīng)用時(shí),還可以使用其他方式來(lái)生成所述第一業(yè)務(wù)流的標(biāo)簽信息,只要生成的所述第一業(yè)務(wù)流的標(biāo)簽信息能夠保證該流標(biāo)簽可以區(qū)分不同業(yè)務(wù)流的qos信息。
步驟603:將所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng)。
其中,所述流表包含表征業(yè)務(wù)流的轉(zhuǎn)發(fā)路徑相關(guān)信息的表項(xiàng)。
本發(fā)明實(shí)施例中,sdn控制器所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng),這樣,使得源交換機(jī)及中間交換機(jī)能夠采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
實(shí)施例四
本發(fā)明實(shí)施例提供了一種報(bào)文處理方法,應(yīng)用于第二交換機(jī),如圖7所示,該方法包括:
步驟701:接收gre報(bào)文;
步驟702:對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
這里,在對(duì)接收的gre報(bào)文進(jìn)行解析時(shí),對(duì)接收的gre報(bào)文進(jìn)行解析,得到第一標(biāo)識(shí);當(dāng)所述第一標(biāo)識(shí)表征支持流標(biāo)簽時(shí),進(jìn)一步解析接收的gre報(bào)文,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
其中,當(dāng)支持流標(biāo)簽時(shí),再進(jìn)一步解析報(bào)文;當(dāng)不支持流標(biāo)簽時(shí)不需要進(jìn)一步解析報(bào)文,如此能夠大大加快處理速度。
當(dāng)所述第一標(biāo)識(shí)和流標(biāo)簽信息增加在所述gre報(bào)文的包頭中時(shí),第二交換機(jī)對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析,只需要解析包頭即可獲得這些信息,如此,能夠大大加快處理速度。
步驟703:在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);
這里,所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;
步驟704:根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文。
不同的qos端口具有不同的優(yōu)先級(jí)和帶寬保障,而每個(gè)qos端口都對(duì)應(yīng)有一個(gè)隊(duì)列,根據(jù)數(shù)據(jù)報(bào)文的qos的要求,將gre報(bào)文放置到對(duì)應(yīng)的端口隊(duì)列里,以便從對(duì)應(yīng)的qos端口發(fā)出。舉個(gè)例子來(lái)說(shuō),隊(duì)列1保障10m帶寬(對(duì)應(yīng)一個(gè)qos端口),隊(duì)列2保障100m帶寬(對(duì)應(yīng)另一個(gè)qos端口),在網(wǎng)絡(luò)擁塞時(shí),進(jìn)入隊(duì)列2的數(shù)據(jù)包可以有更高的帶寬保障。
其中,當(dāng)接收的信息不是gre報(bào)文而是控制消息時(shí),第二交換機(jī)根據(jù)消息的類型執(zhí)行相應(yīng)的操作,舉個(gè)例子來(lái)說(shuō),當(dāng)消息類型是流表配置消息時(shí),根據(jù)流表配置消息指示的信息配置流表的表項(xiàng),當(dāng)消息類型是端口配置消息時(shí),根據(jù)端口配置消息指示的信息配置qos端口等。
從上面的描述可以看出,所述第二交換機(jī)需要對(duì)接收的gre報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,所以所述第二交換機(jī)是中間交換機(jī)。
本發(fā)明實(shí)施例提供的方案,對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文,采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
另外,接收gre報(bào)文時(shí),只需要解析gre頭即可獲得所述流標(biāo)簽信息及第一標(biāo)識(shí),而不需要解析所有g(shù)re報(bào)文,如此,大大加快了處理速度
第二交換機(jī)對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析,得到流標(biāo)簽信息及第一標(biāo)識(shí),只需要解析包頭即可獲得這些信息,如此,能夠大大加快處理速度。
實(shí)施例五
本發(fā)明實(shí)施例提供了一種報(bào)文處理方法,應(yīng)用于第二交換機(jī),如圖8所示,該方法包括:
步驟801:接收sdn控制器為第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;
這里,所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息。
步驟802:根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng);
其中,sdn控制器收到第一交換機(jī)發(fā)送的第一業(yè)務(wù)流的數(shù)據(jù)報(bào)文時(shí),會(huì)為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息,并發(fā)送給第一交換機(jī)和第二交換,即發(fā)送給源交換機(jī)和中間交換機(jī),以使這些交換機(jī)能夠采用流標(biāo)簽信息來(lái)標(biāo)識(shí)所述第一業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將所述第一業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使所述第一業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出。
步驟803:接收gre報(bào)文;
步驟804:對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
這里,在對(duì)接收的gre報(bào)文進(jìn)行解析時(shí),對(duì)接收的gre報(bào)文進(jìn)行解析,得到第一標(biāo)識(shí);當(dāng)所述第一標(biāo)識(shí)表征支持流標(biāo)簽時(shí),進(jìn)一步解析接收的gre報(bào)文,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
其中,當(dāng)支持流標(biāo)簽時(shí),再進(jìn)一步解析報(bào)文;當(dāng)不支持流標(biāo)簽時(shí)不需要進(jìn)一步解析報(bào)文,如此能夠大大加快處理速度。
當(dāng)所述第一標(biāo)識(shí)和流標(biāo)簽信息增加在所述gre報(bào)文的包頭中時(shí),第二交換機(jī)對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析,只需要解析包頭即可獲得這些信息,如此,能夠大大加快處理速度。
步驟805:在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);
這里,所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;
步驟806:根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文。
不同的qos端口具有不同的優(yōu)先級(jí)和帶寬保障,而每個(gè)qos端口都對(duì)應(yīng)有一個(gè)隊(duì)列,根據(jù)數(shù)據(jù)報(bào)文的qos的要求,將gre報(bào)文放置到對(duì)應(yīng)的端口隊(duì)列里,以便從對(duì)應(yīng)的qos端口發(fā)出。舉個(gè)例子來(lái)說(shuō),隊(duì)列1保障10m帶寬(對(duì)應(yīng)一個(gè)qos端口),隊(duì)列2保障100m帶寬(對(duì)應(yīng)另一個(gè)qos端口),在網(wǎng)絡(luò)擁塞時(shí),進(jìn)入隊(duì)列2的數(shù)據(jù)包可以有更高的帶寬保障。
其中,當(dāng)接收的信息不是gre報(bào)文而是控制消息時(shí),第二交換機(jī)根據(jù)消息的類型執(zhí)行相應(yīng)的操作,舉個(gè)例子來(lái)說(shuō),當(dāng)消息類型是流表配置消息時(shí),根據(jù)流表配置消息指示的信息配置流表的表項(xiàng),當(dāng)消息類型是端口配置消息時(shí),根據(jù)端口配置消息指示的信息配置qos端口等。
從上面的描述可以看出,所述第二交換機(jī)需要對(duì)接收的gre報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理,所以所述第二交換機(jī)是中間交換機(jī)。
本發(fā)明實(shí)施例提供的方案,對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文,采用流標(biāo)簽信息來(lái)標(biāo)識(shí)業(yè)務(wù)流,并根據(jù)流標(biāo)簽信息來(lái)將業(yè)務(wù)流轉(zhuǎn)發(fā)至對(duì)應(yīng)的qos端口隊(duì)列,使業(yè)務(wù)流從對(duì)應(yīng)的qos端口發(fā)出,從而保證實(shí)現(xiàn)了隧道中的不同業(yè)務(wù)提供端到端的qos控制,也就是說(shuō),對(duì)gre隧道承載的業(yè)務(wù)流能夠提供端到端的qos性能保障。
另外,接收gre報(bào)文時(shí),只需要解析gre頭即可獲得所述流標(biāo)簽信息及第一標(biāo)識(shí),而不需要解析所有g(shù)re報(bào)文,如此,大大加快了處理速度
第二交換機(jī)對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析,得到流標(biāo)簽信息及第一標(biāo)識(shí),只需要解析包頭即可獲得這些信息,如此,能夠大大加快處理速度。
實(shí)施例六
本實(shí)施例是一個(gè)應(yīng)用實(shí)施例。
圖9為云數(shù)據(jù)中心系統(tǒng)架構(gòu)示意圖。本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景可以是圖9所示的系統(tǒng)架構(gòu)。如圖9所示,該系統(tǒng)包括運(yùn)行多個(gè)虛擬機(jī)的物理主機(jī)1和主機(jī)2,每個(gè)主機(jī)上運(yùn)行多個(gè)虛擬交換機(jī)br-int和br-tun。其中,虛擬交換機(jī)br-int用于連接多個(gè)虛擬機(jī)端口和虛擬交換機(jī)br-tun;虛擬交換機(jī)br-tun用于與對(duì)端gre隧道交換機(jī),并提供gre封裝/解封裝功能。主機(jī)之間通過(guò)多個(gè)物理sdn交換機(jī)sdn-switch1、sdn-switch2,和虛擬sdn交換機(jī)br-int、br-tun相互連接,sdn控制器負(fù)責(zé)物理和虛擬sdn交換機(jī)的統(tǒng)一管理和控制。
其中,采用本發(fā)明實(shí)施例的方案時(shí),需要對(duì)sdn控制器和sdn交換機(jī)(包括物理交換機(jī)和虛擬交換機(jī))的功能進(jìn)行新增或改進(jìn)。
如圖10所示,sdn控制器包括:管理接口、交換機(jī)管理模塊、拓?fù)涔芾砟K、路徑計(jì)算模塊、流表管理模塊、流標(biāo)簽管理模塊和流標(biāo)簽映射表。其中,管理接口用于向交換機(jī)收發(fā)消息;交換機(jī)管理模塊用于管理交換機(jī)及端口qos配置信息;拓?fù)涔芾砟K用于管理交換機(jī)拓?fù)湫畔?;路徑?jì)算模塊用于根據(jù)qos要求為業(yè)務(wù)流計(jì)算一條合適網(wǎng)絡(luò)路徑;流表管理模塊用于根據(jù)計(jì)算出的網(wǎng)絡(luò)路徑及流標(biāo)簽信息生成流表并通知相關(guān)交換機(jī)配置流表;流標(biāo)簽管理模塊用于根據(jù)業(yè)務(wù)流信息和qos信息生成流標(biāo)簽并將映射信息保存到流標(biāo)簽映射表中。
這里,sdn控制器新增的模塊包括:流表管理模塊、流標(biāo)簽管理模塊和流標(biāo)簽映射表。
如圖11所示,sdn交換機(jī)包括:管理接口、數(shù)據(jù)接口、流表配置模塊、端口管理模塊、數(shù)據(jù)包處理模塊、流表匹配模塊。其中,管理接口用于向sdn控制器收發(fā)消息;數(shù)據(jù)接口用于向其他網(wǎng)絡(luò)節(jié)點(diǎn)收發(fā)數(shù)據(jù)報(bào)文;流表配置模塊用于根據(jù)sdn控制器發(fā)來(lái)的配置信息在交換機(jī)上配置相應(yīng)的流表;端口管理模塊用于管理交換機(jī)端口信息以及配置端口qos等;數(shù)據(jù)包處理模塊用于根據(jù)流表匹配決策的下一步處理動(dòng)作對(duì)數(shù)據(jù)報(bào)文作相應(yīng)處理并轉(zhuǎn)發(fā)至相應(yīng)端口;流表匹配模塊用于為數(shù)據(jù)包匹配合適的流表并決定下一步的處理方式。
這里,sdn交換機(jī)新增的模塊包括:流表匹配模塊及數(shù)據(jù)包處理模塊。
本發(fā)明實(shí)施例提供的方案是:
sdn控制器收到源交換機(jī)發(fā)來(lái)的業(yè)務(wù)流后,根據(jù)業(yè)務(wù)流的網(wǎng)絡(luò)四層信息(sla需求)以及qos需求生成流標(biāo)簽信息,用于區(qū)分隧道中的不同業(yè)務(wù)流。之后將該業(yè)務(wù)流映射的流標(biāo)簽信息和gre隧道信息通知gre隧道源交換機(jī)及中間交換機(jī)節(jié)點(diǎn)配置相應(yīng)的流表。
gre隧道源交換機(jī)配置流表,當(dāng)業(yè)務(wù)流經(jīng)過(guò)隧道源交換機(jī)時(shí),根據(jù)流表映射到對(duì)應(yīng)的隧道id及流標(biāo)簽信息,封裝gre報(bào)文,并映射至不同端口qos隊(duì)列,以轉(zhuǎn)發(fā)至下一跳中間交換機(jī)節(jié)點(diǎn)。
這里,在封裝帶有流標(biāo)簽的gre報(bào)文時(shí),需要擴(kuò)展greheader的預(yù)留域,增加流標(biāo)簽支持,用于區(qū)分隧道承載的不同業(yè)務(wù)流。gre頭中1-12bit是預(yù)留域,在預(yù)留域中增加1bit作為流標(biāo)簽標(biāo)志位,如果流標(biāo)簽標(biāo)志位設(shè)置為1,在greheader中增加2字節(jié)作為流標(biāo)簽域,如果流標(biāo)簽標(biāo)志位設(shè)置為0,表示未映射流標(biāo)簽,具體格式可如圖4所示。
中間交換機(jī)配置流表,匹配流標(biāo)簽和隧道信息,當(dāng)業(yè)務(wù)流經(jīng)過(guò)中間交換機(jī)節(jié)點(diǎn)時(shí),匹配相應(yīng)隧道id及流標(biāo)簽,將封裝后的業(yè)務(wù)流即gre報(bào)文轉(zhuǎn)發(fā)至相應(yīng)qos端口隊(duì)列,以轉(zhuǎn)發(fā)至下一跳。
圖12為本發(fā)明應(yīng)用實(shí)施例sdn控制器與交換機(jī)交互示意圖。如圖12所示,交互過(guò)程包括:
步驟1201:網(wǎng)絡(luò)管理員向sdn控制器配置業(yè)務(wù)流sla需求;
步驟1202:sdn控制器根據(jù)業(yè)務(wù)流sla需求,映射到端口qos配置,并更新流標(biāo)簽映射表的表項(xiàng);
這里,流標(biāo)簽映射表的表項(xiàng)格式如圖13所示。
步驟1203:源虛擬機(jī)向sdn隧道源交換機(jī)發(fā)送數(shù)據(jù)請(qǐng)求;
步驟1204:sdn隧道源交換機(jī)收到請(qǐng)求的數(shù)據(jù)報(bào)文后,當(dāng)在流表中未查找到對(duì)應(yīng)的表項(xiàng)時(shí),向sdn控制器發(fā)送packet-in消息,請(qǐng)求為該業(yè)務(wù)流計(jì)算網(wǎng)絡(luò)路徑,映射流標(biāo)簽信息,并配置流表;
步驟1205:sdn控制器收到請(qǐng)求后,查找流標(biāo)簽映射表,為該業(yè)務(wù)流計(jì)算一條滿足qos需求的端到端網(wǎng)絡(luò)途徑,并配置網(wǎng)絡(luò)節(jié)點(diǎn)端口qos;
步驟1206:sdn控制器向sdn隧道源交換機(jī)和sdn中間交換機(jī)發(fā)送交換機(jī)配置請(qǐng)求,配置對(duì)應(yīng)端口qos;
步驟1207:sdn隧道源交換機(jī)和sdn中間交換機(jī)配置完成后,向sdn控制器發(fā)送配置完成消息;
步驟1208:所有相關(guān)網(wǎng)絡(luò)節(jié)點(diǎn)qos配置完畢之后,sdn控制器根據(jù)傳輸相關(guān)信息和qos信息生成流標(biāo)簽信息;
步驟1209:sdn控制器向sdn隧道源交換機(jī)和sdn中間交換機(jī)發(fā)送流表配置消息,以將業(yè)務(wù)流映射到流標(biāo)簽信息;
步驟1210:sdn隧道源交換機(jī)和sdn中間交換機(jī)根據(jù)發(fā)送的消息,更新流表的表項(xiàng);
步驟1211:sdn隧道源交換機(jī)根據(jù)數(shù)據(jù)報(bào)文對(duì)應(yīng)的業(yè)務(wù)流,在查找流表,并在數(shù)據(jù)報(bào)文中添加流標(biāo)簽、隧道id等信息,以封裝gre報(bào)文,并轉(zhuǎn)發(fā)至相應(yīng)端口qos隊(duì)列;
步驟1212:sdn中間交換機(jī)收到gre報(bào)文后,查找流表,匹配流標(biāo)簽、隧道id等信息,轉(zhuǎn)發(fā)至相應(yīng)端口qos隊(duì)列,以向目標(biāo)虛擬機(jī)轉(zhuǎn)發(fā)數(shù)據(jù)請(qǐng)求,結(jié)束當(dāng)前處理過(guò)程。
下面分別描述sdn隧道源交換機(jī)和sdn中間交換機(jī)的具體處理過(guò)程。
圖14為sdn隧道源交換機(jī)消息處理流程示意圖。如圖14所示,該過(guò)程包括:
步驟1400:接收到一個(gè)消息;
步驟1401:判斷消息是數(shù)據(jù)報(bào)文還是控制消息,如果是數(shù)據(jù)報(bào)文則執(zhí)行步驟1402,如果是是控制消息,則執(zhí)行步驟1407;
步驟1402:檢測(cè)數(shù)據(jù)報(bào)文對(duì)應(yīng)的業(yè)務(wù)流在流表中是否有匹配的表項(xiàng),如果有,則執(zhí)行步驟1403,否則執(zhí)行步驟1406;
步驟1403:根據(jù)表項(xiàng)的具體內(nèi)容判斷下一步處理動(dòng)作是否需要設(shè)置流標(biāo)簽,如果是,則執(zhí)行步驟1404,否則,執(zhí)行步驟1405;
這里,如果表項(xiàng)中有業(yè)務(wù)流的流標(biāo)簽信息,則表明下一步動(dòng)作需要設(shè)置流標(biāo)簽,如果表項(xiàng)中沒(méi)有業(yè)務(wù)流的流標(biāo)簽信息,則表明下一步動(dòng)作不需要設(shè)置流標(biāo)簽。
步驟1404:封裝gre報(bào)文,在gre頭中設(shè)置流標(biāo)簽標(biāo)志位為1,并設(shè)置流標(biāo)簽域,并轉(zhuǎn)發(fā)至相應(yīng)端口的qos隊(duì)列,以發(fā)出gre報(bào)文,之后執(zhí)行步驟1410;
步驟1405:封裝gre報(bào)文,設(shè)置流標(biāo)簽標(biāo)志位為0,并轉(zhuǎn)發(fā)至相應(yīng)端口qos隊(duì)列,以發(fā)出gre報(bào)文,之后執(zhí)行步驟1410;
步驟1406:向sdn控制器發(fā)送packet-in消息,請(qǐng)求為該業(yè)務(wù)流計(jì)算網(wǎng)絡(luò)路徑,映射流標(biāo)簽,并配置流表,分配完成后繼續(xù)執(zhí)行步驟1402,此時(shí)就一定能在流表中查找到對(duì)應(yīng)的表項(xiàng);
步驟1407:檢測(cè)控制消息類型是否是流表配置消息,如果是,則執(zhí)行步驟1408,否則,執(zhí)行步驟1409;
步驟1408:配置流表,以便將業(yè)務(wù)流映射到相關(guān)流標(biāo)簽和隧道及端口qos隊(duì)列,之后執(zhí)行步驟1410;
步驟1409:配置端口qos隊(duì)列,之后執(zhí)行步驟1410;
步驟1410:結(jié)束當(dāng)前處理流程。
圖15為sdn中間交換機(jī)消息處理流程示意圖。如圖15所示,該過(guò)程包括:
步驟1500:接收到一個(gè)消息;
步驟1501:判斷消息是數(shù)據(jù)報(bào)文還是控制消息,如果是數(shù)據(jù)報(bào)文則執(zhí)行步驟1502,如果是控制消息,則執(zhí)行步驟1506;
步驟1502:檢測(cè)數(shù)據(jù)報(bào)文對(duì)應(yīng)的業(yè)務(wù)流在流表中是否有匹配的表項(xiàng),如果有,則執(zhí)行步驟1503,否則執(zhí)行步驟1505;
步驟1503:匹配隧道id和流標(biāo)簽,之后執(zhí)行步驟1504;
步驟1504:根據(jù)匹配流表轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文至相應(yīng)端口qos隊(duì)列,以發(fā)出gre報(bào)文,之后執(zhí)行步驟1509;
步驟1505:丟棄該數(shù)據(jù)報(bào)文,之后執(zhí)行步驟1509;
步驟1506:檢測(cè)控制消息類型是否是流表配置消息,如果是,則執(zhí)行步驟1507,否則,執(zhí)行步驟1508;
步驟1507:配置流表,以便將業(yè)務(wù)流映射到相關(guān)流標(biāo)簽和隧道及端口qos隊(duì)列,之后執(zhí)行步驟1509;
步驟1508:配置端口qos隊(duì)列,之后執(zhí)行步驟1509;
步驟1509:結(jié)束當(dāng)前處理流程。
其中,sdn隧道源交換機(jī)和sdn中間交換機(jī)在匹配業(yè)務(wù)流的表項(xiàng)時(shí),表項(xiàng)匹配域可以如圖16所示。其中,在圖16中,wildcards表示通配符,in_port表示入端口,dl_src表示源mac地址,dl_dst表示目標(biāo)mac地址,dl_vlan表示虛擬局域網(wǎng)vlan標(biāo)識(shí)(id),dl_vlan_pcp表示802.1q優(yōu)先級(jí),dl_typ表示以太幀類型,nw_tos表示iptos值,nw_proto表示ip協(xié)議,nw_src表示源ip地址,nw_dst表示目的ip地址,tp_src表示tcp/ip源端口,tp_dst表示tcp/ip目的端口,flowid表示流標(biāo)簽。
需要說(shuō)明的是:圖16所示的匹配域僅僅是一種實(shí)例,實(shí)際應(yīng)用時(shí)還可以根據(jù)需要可以是其它匹配域,本發(fā)明實(shí)施例不對(duì)此進(jìn)行限定。
另外,sdn隧道源交換機(jī)和sdn中間交換機(jī)的流表配置如圖17所示。其中,在圖17中,srcip表示源ip地址,destip表示目標(biāo)ip地址,inport表示入端口,dl_vlan表示vlanid,action1=strip_vlan,set_tunnel=5,set_flowid=1102,outputport=5015表示,去掉vlan,設(shè)置隧道id為5,設(shè)置流標(biāo)簽為1102,出端口為5015,action=enqueue:5114:1表示進(jìn)入隊(duì)列5114:1。5114:1表示端口號(hào)為5114,隊(duì)列號(hào)為1。
需要說(shuō)明的是:圖17所示的流表配置僅僅是一種實(shí)例,實(shí)際應(yīng)用時(shí)還可以根據(jù)需要可以是其它配置,本發(fā)明實(shí)施例不對(duì)此進(jìn)行限定。
實(shí)施例七
為實(shí)現(xiàn)本發(fā)明實(shí)施例的方法,本實(shí)施例提供一種第一交換機(jī),如圖18所示,所述第一交換機(jī)180包括:第一處理器181和用于存儲(chǔ)能夠在第一處理器上運(yùn)行的計(jì)算機(jī)程序的第一存儲(chǔ)器182,
其中,所述第一處理器181用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
在流表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
利用查找到的表項(xiàng),將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文;并將所述gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述gre報(bào)文;其中,所述gre報(bào)文中至少攜帶所述流標(biāo)簽信息。
在一實(shí)施例中,所述第一處理器181用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
將所述數(shù)據(jù)報(bào)文封裝成gre報(bào)文時(shí),在所述gre報(bào)文中增加第一標(biāo)識(shí);所述第一標(biāo)識(shí)表征支持流標(biāo)簽。
在一實(shí)施例中,所述第一處理器181用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
在所述gre報(bào)文的gre頭中增加所述流標(biāo)簽信息及第一標(biāo)識(shí)。
在一實(shí)施例中,所述第一處理器181用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
在所述gre頭的預(yù)留域設(shè)置所述流標(biāo)簽信息及所述第一標(biāo)識(shí)。
在一實(shí)施例中,所述第一處理器181還用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
所述在第一表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)之前,判斷接收的信息是否為數(shù)據(jù)報(bào)文,得到判斷結(jié)果;
當(dāng)判斷結(jié)果表征接收的信息是數(shù)據(jù)報(bào)文時(shí)在第一表中查找數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)。
在一實(shí)施例中,所述第一處理器181還用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
當(dāng)在所述流表中未查找到數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流的表項(xiàng)時(shí),將數(shù)據(jù)報(bào)文發(fā)送給軟件定義網(wǎng)絡(luò)sdn控制器;
接收所述sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
需要說(shuō)明的是:上述實(shí)施例提供的第一交換機(jī)與第一交換機(jī)側(cè)的報(bào)文處理方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
當(dāng)然,實(shí)際應(yīng)用時(shí),如圖18所示,第一交換機(jī)180中的各個(gè)組件通過(guò)總線系統(tǒng)183耦合在一起。可理解,總線系統(tǒng)183用于實(shí)現(xiàn)這些組件之間的連接通信。總線系統(tǒng)183除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號(hào)總線。但是為了清楚說(shuō)明起見(jiàn),在圖18中將各種總線都標(biāo)為總線系統(tǒng)183。
其中,所述第一處理器181的個(gè)數(shù)可以為至少一個(gè)。
本發(fā)明實(shí)施例中的第一存儲(chǔ)器182用于存儲(chǔ)各種類型的數(shù)據(jù)以支持交換機(jī)180的操作。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于第一處理器181中,或者由第一處理器181實(shí)現(xiàn)。第一處理器181可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)第一處理器181中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的第一處理器181可以是通用處理器、數(shù)字信號(hào)處理器(dsp,digitalsignalprocessor),或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。第一處理器181可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟,可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)位于第一存儲(chǔ)器182,第一處理器181讀取第一存儲(chǔ)器182中的信息,結(jié)合其硬件完成前述方法的步驟。
在示例性實(shí)施例中,第一交換機(jī)180可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(asic,applicationspecificintegratedcircuit)、dsp、可編程邏輯器件(pld,programmablelogicdevice)、復(fù)雜可編程邏輯器件(cpld,complexprogrammablelogicdevice)、現(xiàn)場(chǎng)可編程門陣列(fpga,field-programmablegatearray)、通用處理器、控制器、微控制器(mcu,microcontrollerunit)、微處理器(microprocessor)、或其他電子元件實(shí)現(xiàn),用于執(zhí)行前述方法。
為實(shí)現(xiàn)本發(fā)明實(shí)施例的方法,本實(shí)施例還提供了一種sdn控制器,如圖19所示,該sdn控制器190包括:第二處理器191和用于存儲(chǔ)能夠在第二處理器上運(yùn)行的計(jì)算機(jī)程序的第二存儲(chǔ)器192,
其中,所述第二處理器191用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
接收第一交換機(jī)發(fā)送的數(shù)據(jù)報(bào)文;
在:流標(biāo)簽映射表查找接收的數(shù)據(jù)報(bào)文對(duì)應(yīng)的第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)至少包含gre隧道信息及用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
將所述第一業(yè)務(wù)流的標(biāo)簽信息及gre隧道信息發(fā)送至傳輸?shù)谝粯I(yè)務(wù)流的gre隧道的源交換機(jī)及中間交換機(jī),以使源交換機(jī)及中間交換機(jī)設(shè)置流表的表項(xiàng);所述流表包含表征業(yè)務(wù)流的轉(zhuǎn)發(fā)路徑相關(guān)信息的表項(xiàng)。
在一實(shí)施例中,所述第二處理器191還用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
根據(jù)所述第一業(yè)務(wù)流的傳輸相關(guān)信息及qos信息,生成所述第一業(yè)務(wù)流的標(biāo)簽信息;
在所述流標(biāo)簽映射表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
需要說(shuō)明的是:上述實(shí)施例提供的sdn控制器與sdn控制器側(cè)的報(bào)文處理方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
當(dāng)然,實(shí)際應(yīng)用時(shí),如圖19所示,該sdn控制器190還可以包括:至少一個(gè)網(wǎng)絡(luò)接口193。sdn控制器190中的各個(gè)組件通過(guò)總線系統(tǒng)194耦合在一起??衫斫?,總線系統(tǒng)194用于實(shí)現(xiàn)這些組件之間的連接通信??偩€系統(tǒng)194除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號(hào)總線。但是為了清楚說(shuō)明起見(jiàn),在圖19中將各種總線都標(biāo)為總線系統(tǒng)194。
其中,所述第二處理器191的個(gè)數(shù)可以為至少一個(gè)。
網(wǎng)絡(luò)接口193用于sdn控制器190與其他設(shè)備之間有線或無(wú)線方式的通信。
本發(fā)明實(shí)施例中的第二存儲(chǔ)器192用于存儲(chǔ)各種類型的數(shù)據(jù)以sdn控制器190的操作。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于第二處理器191中,或者由第二處理器191實(shí)現(xiàn)。第二處理器191可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)第二處理器191中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的第二處理器191可以是通用處理器、dsp,或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。第二處理器191可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟,可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)位于第二存儲(chǔ)器192,第二處理器191讀取第二存儲(chǔ)器192中的信息,結(jié)合其硬件完成前述方法的步驟。
在示例性實(shí)施例中,sdn控制器190可以被一個(gè)或多個(gè)asic、dsp、pld、cpld、fpga、通用處理器、控制器、mcu、微處理器(microprocessor)、或其他電子元件實(shí)現(xiàn),用于執(zhí)行前述方法。
為實(shí)現(xiàn)本發(fā)明實(shí)施例的方法,本實(shí)施例還提供了一種第二交換機(jī),如圖20所示,該第二交換機(jī)200包括:
第三處理器201和用于存儲(chǔ)能夠在第三處理器上運(yùn)行的計(jì)算機(jī)程序的第三存儲(chǔ)器202,
其中,所述第三處理器201用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
接收gre報(bào)文;
對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息;
在流表中查找所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng);所述第一業(yè)務(wù)流的流標(biāo)簽信息對(duì)應(yīng)的表項(xiàng)至少包含所述第一業(yè)務(wù)流的gre隧道信息;
根據(jù)所述第一業(yè)務(wù)流的gre隧道信息,將接收的gre報(bào)文轉(zhuǎn)發(fā)至所述第一業(yè)務(wù)流對(duì)應(yīng)的qos端口隊(duì)列,以發(fā)出所述接收的gre報(bào)文。
在一實(shí)施例中,所述第三處理器201用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
對(duì)接收的gre報(bào)文進(jìn)行解析,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息時(shí),對(duì)接收的gre報(bào)文進(jìn)行解析,得到第一標(biāo)識(shí);當(dāng)所述第一標(biāo)識(shí)表征支持流標(biāo)簽時(shí),進(jìn)一步解析接收的gre報(bào)文,得到用于標(biāo)識(shí)所述第一業(yè)務(wù)流的流標(biāo)簽信息。
在一實(shí)施例中,所述第三處理器201用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
對(duì)接收的gre報(bào)文的gre頭進(jìn)行解析。
在一實(shí)施例中,所述第三處理器201還用于運(yùn)行所述計(jì)算機(jī)程序時(shí),執(zhí)行:
接收sdn控制器為所述第一業(yè)務(wù)流配置對(duì)應(yīng)的轉(zhuǎn)發(fā)路徑相關(guān)信息;所述轉(zhuǎn)發(fā)路徑相關(guān)信息至少包括:流標(biāo)簽信息及gre隧道信息;
根據(jù)接收的轉(zhuǎn)發(fā)路徑相關(guān)信息,在所述流表中設(shè)置所述第一業(yè)務(wù)流對(duì)應(yīng)的表項(xiàng)。
需要說(shuō)明的是:上述實(shí)施例提供的第二交換機(jī)與第二交換機(jī)側(cè)的報(bào)文處理方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
當(dāng)然,實(shí)際應(yīng)用時(shí),如圖20所示,第二交換機(jī)200中的各個(gè)組件通過(guò)總線系統(tǒng)203耦合在一起??衫斫猓偩€系統(tǒng)203用于實(shí)現(xiàn)這些組件之間的連接通信??偩€系統(tǒng)203除包括數(shù)據(jù)總線之外,還包括電源總線、控制總線和狀態(tài)信號(hào)總線。但是為了清楚說(shuō)明起見(jiàn),在圖20中將各種總線都標(biāo)為總線系統(tǒng)203。
其中,所述第三處理器201的個(gè)數(shù)可以為至少一個(gè)。
本發(fā)明實(shí)施例中的第三存儲(chǔ)器202用于存儲(chǔ)各種類型的數(shù)據(jù)以支持第二交換機(jī)200的操作。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于第三處理器201中,或者由第三處理器201實(shí)現(xiàn)。第三處理器201可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過(guò)程中,上述方法的各步驟可以通過(guò)第三處理器201中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的第三處理器201可以是通用處理器、dsp,或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。第三處理器201可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開(kāi)的方法的步驟,可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)位于第三存儲(chǔ)器202,第三處理器201讀取第三存儲(chǔ)器202中的信息,結(jié)合其硬件完成前述方法的步驟。
在示例性實(shí)施例中,第二交換機(jī)20可以被一個(gè)或多個(gè)asic、dsp、pld、cpld、fpga、通用處理器、控制器、mcu、微處理器(microprocessor)、或其他電子元件實(shí)現(xiàn),用于執(zhí)行前述方法。
可以理解,本發(fā)明實(shí)施例中的存儲(chǔ)器(比如第一存儲(chǔ)器182、第二存儲(chǔ)器192及第三存儲(chǔ)器202),可以是易失性存儲(chǔ)器或非易失性存儲(chǔ)器,也可包括易失性和非易失性存儲(chǔ)器兩者。其中,非易失性存儲(chǔ)器可以是只讀存儲(chǔ)器(rom,readonlymemory)、可編程只讀存儲(chǔ)器(prom,programmableread-onlymemory)、可擦除可編程只讀存儲(chǔ)器(eprom,erasableprogrammableread-onlymemory)、電可擦除可編程只讀存儲(chǔ)器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性隨機(jī)存取存儲(chǔ)器(fram,ferromagneticrandomaccessmemory)、快閃存儲(chǔ)器(flashmemory)、磁表面存儲(chǔ)器、光盤、或只讀光盤(cd-rom,compactdiscread-onlymemory);磁表面存儲(chǔ)器可以是磁盤存儲(chǔ)器或磁帶存儲(chǔ)器。易失性存儲(chǔ)器可以是隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory),其用作外部高速緩存。通過(guò)示例性但不是限制性說(shuō)明,許多形式的ram可用,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(sram,staticrandomaccessmemory)、同步靜態(tài)隨機(jī)存取存儲(chǔ)器(ssram,synchronousstaticrandomaccessmemory)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram,dynamicrandomaccessmemory)、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(sdram,synchronousdynamicrandomaccessmemory)、雙倍數(shù)據(jù)速率同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增強(qiáng)型同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步連接動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(sldram,synclinkdynamicrandomaccessmemory)、直接內(nèi)存總線隨機(jī)存取存儲(chǔ)器(drram,directrambusrandomaccessmemory)。本發(fā)明實(shí)施例描述的存儲(chǔ)器旨在包括但不限于這些和任意其它適合類型的存儲(chǔ)器。
在示例性實(shí)施例中,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括計(jì)算機(jī)程序的第一存儲(chǔ)器182,上述計(jì)算機(jī)程序可由第一交換機(jī)180的第一處理器181執(zhí)行,以完成前述第一交換機(jī)側(cè)方法所述步驟。
在示例性實(shí)施例中,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括計(jì)算機(jī)程序的第二存儲(chǔ)器192,上述計(jì)算機(jī)程序可由sdn控制器190的第二處理器191執(zhí)行,以完成前述sdn控制側(cè)方法所述步驟。
在示例性實(shí)施例中,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括計(jì)算機(jī)程序的第三存儲(chǔ)器202,上述計(jì)算機(jī)程序可由第二交換機(jī)200的第三處理器201執(zhí)行,以完成前述第三交換機(jī)側(cè)方法所述步驟。
實(shí)際應(yīng)用時(shí),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存儲(chǔ)器、光盤、或cd-rom等存儲(chǔ)器。
應(yīng)理解,說(shuō)明書(shū)通篇中提到的“一個(gè)實(shí)施例”或“一實(shí)施例”意味著與實(shí)施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在整個(gè)說(shuō)明書(shū)各處出現(xiàn)的“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”未必一定指相同的實(shí)施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。應(yīng)理解,在本發(fā)明的各種實(shí)施例中,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)單元或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過(guò)一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。