本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種基于軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的方法、節(jié)點(diǎn)和系統(tǒng)。
背景技術(shù):
目前通用的接入網(wǎng)的設(shè)備節(jié)點(diǎn)組網(wǎng)方式基本上都是采用的分布式、自治的網(wǎng)絡(luò)結(jié)構(gòu)。在這種網(wǎng)絡(luò)結(jié)構(gòu)中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)被單獨(dú)配置,獨(dú)立工作。這就存在網(wǎng)絡(luò)節(jié)點(diǎn)間信息不對稱,導(dǎo)致了不同的網(wǎng)絡(luò)節(jié)點(diǎn)之間的業(yè)務(wù)能力無法共享、缺乏協(xié)作,以及業(yè)務(wù)功能執(zhí)行冗余、重復(fù)等問題,使得整個(gè)網(wǎng)絡(luò)的處理性能較差。以下是網(wǎng)絡(luò)應(yīng)用中非常普遍的幾種網(wǎng)絡(luò)節(jié)點(diǎn)能力分配不合理的場景:
1)如圖1所示,多個(gè)客戶端集群和服務(wù)器集群通過不同的網(wǎng)絡(luò)節(jié)點(diǎn)接入網(wǎng)絡(luò),其中,客戶端集群1通過節(jié)點(diǎn)A接入網(wǎng)絡(luò),服務(wù)器集群1通過節(jié)點(diǎn)B接入網(wǎng)絡(luò)。在網(wǎng)絡(luò)節(jié)點(diǎn)A上分配有基于HTTP(hypertext transport protocol,超文本傳輸協(xié)議)協(xié)議的IPS(Intrusion Prevention System,入侵防御系統(tǒng))業(yè)務(wù)處理能力;在節(jié)點(diǎn)B上分配有URL(Uniform Resource Locator,統(tǒng)一資源定位器)過濾的業(yè)務(wù)處理能力。網(wǎng)絡(luò)業(yè)務(wù)流先后經(jīng)過節(jié)點(diǎn)A和節(jié)點(diǎn)B時(shí),節(jié)點(diǎn)A和節(jié)點(diǎn)B由于業(yè)務(wù)處理的需要都會對業(yè)務(wù)流做應(yīng)用層的DPI(Deep Packet Inspection,深層報(bào)文檢測)識別解析處理,導(dǎo)致不同設(shè)備在同一條業(yè)務(wù)流上重復(fù)執(zhí)行部分功能。
2)如圖2所示,多個(gè)客戶端集群和服務(wù)器集群通過不同的網(wǎng)絡(luò)節(jié)點(diǎn)接入網(wǎng)絡(luò),其中,客戶端集群1通過節(jié)點(diǎn)A接入網(wǎng)絡(luò),服務(wù)器集群1通過節(jié)點(diǎn)B接入網(wǎng)絡(luò)。在網(wǎng)絡(luò)節(jié)點(diǎn)A上分配有基于報(bào)文內(nèi)容的壓縮能力,但是節(jié)點(diǎn)B不具有解壓縮的能力。當(dāng)需要對網(wǎng)絡(luò)業(yè)務(wù)流做應(yīng)用層傳輸加速時(shí),報(bào)文經(jīng)過源端節(jié)點(diǎn)A時(shí)可以做內(nèi)容壓縮,但經(jīng)過終節(jié)點(diǎn)B時(shí)卻無法做解壓縮,因此導(dǎo)致網(wǎng)絡(luò)加速業(yè)務(wù)的無法實(shí)現(xiàn)。
由于現(xiàn)有網(wǎng)絡(luò)的分布式結(jié)構(gòu)和節(jié)點(diǎn)單獨(dú)部署的方式,導(dǎo)致網(wǎng)絡(luò)節(jié)點(diǎn)業(yè)務(wù)能力私有、缺乏統(tǒng)一的協(xié)作管理,造成整個(gè)網(wǎng)絡(luò)在應(yīng)用層相關(guān)業(yè)務(wù)處理上缺乏協(xié)作、處理冗余、效率降低。
如何對網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)現(xiàn)統(tǒng)一的資源管理,合理分配節(jié)點(diǎn)能力和協(xié)調(diào)業(yè)務(wù)調(diào)度,實(shí)現(xiàn)多節(jié)點(diǎn)的能力共享、分工合作,從而提升全網(wǎng)的處理效率是當(dāng)前面臨的主要問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種基于軟件定義的網(wǎng)絡(luò)(Software Defined Networ k,SDN)中數(shù)據(jù)處理的系統(tǒng)、方法和裝置,提高了節(jié)點(diǎn)之間的協(xié)同合作能力從而提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
本發(fā)明第一方面實(shí)施例公開了一種基于軟件定義網(wǎng)絡(luò)中的數(shù)據(jù)處理的系統(tǒng),所述系統(tǒng)包括:源數(shù)據(jù)節(jié)點(diǎn),用于接收第一數(shù)據(jù)包,并向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包;源控制節(jié)點(diǎn),用于接收所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送的第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址;根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn);目標(biāo)控制節(jié)點(diǎn),用于接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包。
在本發(fā)明第一方面實(shí)施例的一種可能實(shí)現(xiàn)的方式中,根據(jù)所述源數(shù)據(jù)節(jié)點(diǎn)具體用于接收第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的源IP地址,根據(jù)所述第一數(shù)據(jù)包的源IP地址或者根據(jù)數(shù)據(jù)節(jié)點(diǎn)與控制節(jié)點(diǎn)的映射關(guān)系確定與所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的所述源控制節(jié)點(diǎn),并向所述對應(yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第二種可能實(shí)現(xiàn)的方式中,所述源控制節(jié)點(diǎn)具體用于接收所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送的第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若所述源控制節(jié)點(diǎn)不管理所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將管理所述源數(shù)據(jù)節(jié)點(diǎn)和所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的第一控制節(jié)點(diǎn)確定為所述目標(biāo)控制節(jié)點(diǎn)。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第三種可能實(shí)現(xiàn)的方式中,所述源控制節(jié)點(diǎn)或所述源數(shù)據(jù)節(jié)點(diǎn)還用于將所述第一數(shù)據(jù)包發(fā)送給所述目標(biāo)控制節(jié)點(diǎn)。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第四種可能實(shí)現(xiàn)的方式中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述目標(biāo)控制節(jié)點(diǎn)具體用于:接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);并根據(jù)所述查找到的動作參數(shù)或策略參數(shù)生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第五種可能實(shí)現(xiàn)的方式中,所述數(shù)據(jù)處理系統(tǒng)還包括一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn);所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述目標(biāo)控制節(jié)點(diǎn)具體用于:接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);并根據(jù)所述查找到的動作參數(shù)或策略參數(shù)向所述一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)中具有執(zhí)行所述動作參數(shù)或策略參數(shù)的能力的第一服務(wù)節(jié)點(diǎn)發(fā)送能力請求信息;所述第一服務(wù)節(jié)點(diǎn)用于針對所述能力請求信息向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送相應(yīng)的能力響應(yīng)信息;所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述能力響應(yīng)信息生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第六種可能實(shí)現(xiàn)的方式中,所述目標(biāo)控制節(jié)點(diǎn)還用于向所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送第二數(shù)據(jù)包,所述第二數(shù)據(jù)包攜帶有所述第二數(shù)據(jù)包的目標(biāo)地址;所述源數(shù)據(jù)節(jié)點(diǎn)還用于在所述目標(biāo)控制節(jié)點(diǎn)管理下向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第七種可能實(shí)現(xiàn)的方式中,所述數(shù)據(jù)處理系統(tǒng)還包括:至少一個(gè)中繼數(shù)據(jù)節(jié)點(diǎn),其中,所述目標(biāo)控制節(jié)點(diǎn)用于管理每一個(gè)所述中繼數(shù)據(jù)節(jié)點(diǎn);所述中繼數(shù)據(jù)節(jié)點(diǎn)存儲有對應(yīng)所述中繼數(shù)據(jù)節(jié)點(diǎn)的流表,所述流表用于存儲數(shù)據(jù)包的處理規(guī)則;所述源數(shù)據(jù)節(jié)點(diǎn)存儲有對應(yīng)所述源數(shù)據(jù)節(jié)點(diǎn)的流表,所述流表用于存儲數(shù)據(jù)包的處理規(guī)則:所述目標(biāo)控制節(jié)點(diǎn)還用于生成路由分配規(guī)則并向所述中繼數(shù)據(jù)節(jié)點(diǎn)和所述源數(shù)據(jù)節(jié)點(diǎn)下發(fā)所述路由分配規(guī)則,所述路由分配規(guī)則用于為所述第二數(shù)據(jù)包分配路由;所述中繼數(shù)據(jù)節(jié)點(diǎn)還用于接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的所述路由分配規(guī)則,并根據(jù)所述路由分配規(guī)則更新所述中繼數(shù)據(jù)節(jié)點(diǎn)的流表;所述源數(shù)據(jù)節(jié)點(diǎn)還用于:根據(jù)所述更新后的流表向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的中繼數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包;所述中繼數(shù)據(jù)節(jié)點(diǎn)用于:根據(jù)所述更新后的流表向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第八種可能實(shí)現(xiàn)的方式中,所述源數(shù)據(jù)節(jié)點(diǎn)還存儲有流表,所述流表用于存儲業(yè)務(wù)流數(shù)據(jù)包的子元組信息和對應(yīng)所述子元組信息的處理規(guī)則;所述目標(biāo)控制節(jié)點(diǎn)還用于在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,其中,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
結(jié)合上述實(shí)施例的本發(fā)明第一方面實(shí)施例的第九種可能實(shí)現(xiàn)的方式中,所述源數(shù)據(jù)節(jié)點(diǎn)還用于接收第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同。
結(jié)合上述實(shí)施例的本發(fā)明第一方面實(shí)施例的第十種可能實(shí)現(xiàn)的方式中,所述源數(shù)據(jù)節(jié)點(diǎn)還用于根據(jù)所述流表,從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述源數(shù)據(jù)節(jié)點(diǎn)將所述業(yè)務(wù)參數(shù)攜帶在第三數(shù)據(jù)包中向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送;所述目標(biāo)控制節(jié)點(diǎn)還用于根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),從而生成第四數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第一方面實(shí)施例的第十一種可能實(shí)現(xiàn)的方式中,所述目標(biāo)控制節(jié)點(diǎn)還具體用于,在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和所述第一數(shù)據(jù)包對應(yīng)的業(yè)務(wù)參數(shù)字段,其中,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述第一數(shù)據(jù)包對應(yīng)的業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述第一數(shù)據(jù)包的子元組信息的匹配策略規(guī)則的索引,其中,所述第三數(shù)據(jù)包對應(yīng)的業(yè)務(wù)參數(shù)為所述第一數(shù)據(jù)包的子元組信息的匹配策略規(guī)則的索引;所述源數(shù)據(jù)節(jié)點(diǎn)還用于將所述第一數(shù)據(jù)包的子元組信息的匹配策略規(guī)則的索引攜帶在第三數(shù)據(jù)包中向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送,所述目標(biāo)控制節(jié)點(diǎn)還用于根據(jù)所述第一數(shù)據(jù)包的子元組信息的匹配策略規(guī)則的索引對應(yīng)的匹配策略規(guī)則和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),從而生成第四數(shù)據(jù)包。
根據(jù)本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng),通過控制節(jié)點(diǎn)的分層部署方式、擴(kuò)展的數(shù)據(jù)節(jié)點(diǎn)流表結(jié)構(gòu)和根據(jù)策略規(guī)則的能力分配方法,實(shí)現(xiàn)了SDN網(wǎng)絡(luò)中的對應(yīng)用層業(yè)務(wù)處理和能力共享分配,提高節(jié)點(diǎn)的協(xié)同合作從而降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余,解決了節(jié)點(diǎn)能力分配不合理、能力不對稱、能力不聚合等問題,提高網(wǎng)絡(luò)的業(yè)務(wù)處理效率;同時(shí),分層控制節(jié)點(diǎn)的部署方式,既解決了控制節(jié)點(diǎn)處理性能瓶頸問題,又保持了網(wǎng)絡(luò)的穩(wěn)定、可靠和可擴(kuò)展性。
本發(fā)明第二方面的實(shí)施例公開了一種基于軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的方法,所述方法包括:源數(shù)據(jù)節(jié)點(diǎn)接收第一數(shù)據(jù)包;源數(shù)據(jù)節(jié)點(diǎn)向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,以使所述源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)以及使得所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包生成第二數(shù)據(jù)包。
在本發(fā)明第二方面實(shí)施例的第一種可能實(shí)現(xiàn)的方式中,所述第二數(shù)據(jù)包攜帶有第二數(shù)據(jù)包的目標(biāo)地址,所述方法還包括:所述源數(shù)據(jù)節(jié)點(diǎn)接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的所述第二數(shù)據(jù)包;所述源控制節(jié)點(diǎn)向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第二方面實(shí)施例的第二種可能實(shí)現(xiàn)的方式中,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的源IP地址,在所述源數(shù)據(jù)節(jié)點(diǎn)向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包之前,所述方法還包括:根據(jù)所述第一數(shù)據(jù)包的源IP地址或者根據(jù)所述源數(shù)據(jù)節(jié)點(diǎn)與控制節(jié)點(diǎn)的映射關(guān)系確定對應(yīng)的所述源控制節(jié)點(diǎn)。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第二方面實(shí)施例的第三種可能實(shí)現(xiàn)的方式中,所述源數(shù)據(jù)節(jié)點(diǎn)還存儲有流表,所述流表用于存儲業(yè)務(wù)流數(shù)據(jù)包的子元組信息和對應(yīng)所述子元組信息的處理規(guī)則;在源所述數(shù)據(jù)節(jié)點(diǎn)向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包后,所述方法還包括:所述源數(shù)據(jù)節(jié)點(diǎn)接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的第一控制信息;所述源數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述第一控制信息在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第二方面實(shí)施例的第四種可能實(shí)現(xiàn)的方式中,在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段之后,所述方法還包括:所述源數(shù)據(jù)節(jié)點(diǎn)還用于接收第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同;所述源數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述流表,從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述源數(shù)據(jù)節(jié)點(diǎn)將所述業(yè)務(wù)參數(shù)攜帶在第三數(shù)據(jù)包中向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送,以使所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),從而生成第四數(shù)據(jù)包。
根據(jù)本發(fā)明實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)中數(shù)據(jù)處理的方法,通過在控制節(jié)點(diǎn)處對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
本發(fā)明第三方面的實(shí)施例公開了一種基于軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的方法,所述方法包括:目標(biāo)控制節(jié)點(diǎn)接收第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,其中,所述目標(biāo)控制節(jié)點(diǎn)是由源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定的,所述源控制節(jié)點(diǎn)對應(yīng)接收第一數(shù)據(jù)包的源數(shù)據(jù)節(jié)點(diǎn);所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包,并向源數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包,其中,所述源數(shù)據(jù)節(jié)點(diǎn)接收所述第一數(shù)據(jù)包,并對應(yīng)所述源控制節(jié)點(diǎn)。
在本發(fā)明第三方面實(shí)施例的第一種可能實(shí)現(xiàn)的方式中,在所述目標(biāo)控制節(jié)點(diǎn)接收第一數(shù)據(jù)包之前,所述方法還包括:所述目標(biāo)控制節(jié)點(diǎn)接收所述源控制節(jié)點(diǎn)發(fā)送的第五數(shù)據(jù)包,所述第五數(shù)據(jù)包攜帶有第五數(shù)據(jù)包的目標(biāo)地址;根據(jù)所述第五數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若所述目標(biāo)控制節(jié)點(diǎn)不管理所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將管理所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)和所述源數(shù)據(jù)節(jié)點(diǎn)的第一控制節(jié)點(diǎn)確定為第二目標(biāo)控制節(jié)點(diǎn)。
結(jié)合上述實(shí)施例的本發(fā)明第三方面實(shí)施例的第二種可能實(shí)現(xiàn)的方式中,目標(biāo)所述控制節(jié)點(diǎn)接收第一數(shù)據(jù)包具體包括:所述目標(biāo)控制節(jié)點(diǎn)接收所述源控制節(jié)點(diǎn)或所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述第一數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第三方面實(shí)施例的第三種可能實(shí)現(xiàn)的方式中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包包括:根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);根據(jù)所述查找到的動作參數(shù)或策略參數(shù)生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第三方面實(shí)施例的第四種可能實(shí)現(xiàn)的方式中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包包括:根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);根據(jù)所述查找到的動作參數(shù)或策略參數(shù)向一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)中具有執(zhí)行所述動作參數(shù)或策略參數(shù)的能力的第一服務(wù)節(jié)點(diǎn)發(fā)送能力請求信息;所述目標(biāo)控制節(jié)點(diǎn)接收所述第一服務(wù)節(jié)點(diǎn)針對所述能力請求信息發(fā)送的相應(yīng)的能力響應(yīng)信息;所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述能力響應(yīng)信息生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第三方面實(shí)施例的第五種可能實(shí)現(xiàn)的方式中,在所述源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)后,所述方法還包括:所述目標(biāo)控制節(jié)點(diǎn)向所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一控制信息,所述第一控制信息用于在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,其中,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第三方面實(shí)施例的第六種可能實(shí)現(xiàn)的方式中,在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段之后,所述方法還包括:所述目標(biāo)控制節(jié)點(diǎn)接收攜帶有業(yè)務(wù)參數(shù)的第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同,所述業(yè)務(wù)參數(shù)是從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定的與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),生成第四數(shù)據(jù)包;所述目標(biāo)控制節(jié)點(diǎn)向所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第四數(shù)據(jù)包。
根據(jù)本發(fā)明實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)中數(shù)據(jù)處理的方法,通過在控制節(jié)點(diǎn)處對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
本發(fā)明第四方面的實(shí)施例公開了一種基于軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的數(shù)據(jù)節(jié)點(diǎn),所述數(shù)據(jù)節(jié)點(diǎn)包括:第一接收模塊、第一發(fā)送模塊,所述第一接收模塊與所述第一發(fā)送模塊相連;所述第一接收模塊用于接收第一數(shù)據(jù)包,所述第一發(fā)送模塊用于向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一接收模塊接收的所述第一數(shù)據(jù)包,以使所述源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)以及使得所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包生成第二數(shù)據(jù)包。
在本發(fā)明第四方面實(shí)施例的一種可能實(shí)現(xiàn)的方式中,所述第一接收模塊還用于接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的所述第二數(shù)據(jù)包;所述第一發(fā)送模塊還用于根據(jù)所述第二數(shù)據(jù)包攜帶的第二數(shù)據(jù)包的目標(biāo)地址,向所述目標(biāo)地址對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述接收模塊接收的所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第四方面實(shí)施例的第二種可能實(shí)現(xiàn)的方式中,所述數(shù)據(jù)節(jié)點(diǎn)還包括:存儲模塊,所述存儲模塊用于存儲流表,所述流表用于存儲業(yè)務(wù)流數(shù)據(jù)包的子元組信息和對應(yīng)所述子元組信息的處理規(guī)則;所述第一數(shù)據(jù)包屬于所述業(yè)務(wù)流數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第四方面實(shí)施例的第三種可能實(shí)現(xiàn)的方式中,所述數(shù)據(jù)節(jié)點(diǎn)還包括:第一處理模塊,所述第一處理模塊與所述第一接收模塊相連;所述第一接收模塊還用接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的第一控制信息;所述第一處理模塊用于根據(jù)所述第一控制信息在所述存儲模塊的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第四方面實(shí)施例的第四種可能實(shí)現(xiàn)的方式中,所述第一處理模塊和所述第一發(fā)送模塊相連,所述第一接收模塊還用于接收第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同;所述第一處理模塊根據(jù)所述流表,從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述第一發(fā)送模塊將所述業(yè)務(wù)參數(shù)攜帶在第三數(shù)據(jù)包中向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送,以使所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),從而生成第四數(shù)據(jù)包。
根據(jù)本發(fā)明實(shí)施例提供的一種基于軟件定義網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn),通過對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
本發(fā)明第五方面的實(shí)施例公開了一種軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的目標(biāo)控制節(jié)點(diǎn),所述目標(biāo)控制節(jié)點(diǎn)包括:第二接收模塊,用于接收第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,其中,所述目標(biāo)控制節(jié)點(diǎn)是由源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定的,所述源控制節(jié)點(diǎn)對應(yīng)接收第一數(shù)據(jù)包的源數(shù)據(jù)節(jié)點(diǎn);第二處理模塊,用于根據(jù)所述第二接收模塊接收的所述第二數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包。
在本發(fā)明第五方面實(shí)施例的第一種可能實(shí)現(xiàn)的方式中,所述第二接收模塊還用于接收第五數(shù)據(jù)包,所述第五數(shù)據(jù)包攜帶有第五數(shù)據(jù)包的目標(biāo)地址;所述第二處理模塊用于根據(jù)所述第五數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若所述第二處理模塊不管理所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將管理所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)和所述源數(shù)據(jù)節(jié)點(diǎn)的第一控制節(jié)點(diǎn)確定為第二目標(biāo)控制節(jié)點(diǎn)。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第五方面實(shí)施例的第二種可能實(shí)現(xiàn)的方式中,所述第二接收模塊具體用于接收所述源控制節(jié)點(diǎn)或所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送的所述第一數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第五方面實(shí)施例的第三種可能實(shí)現(xiàn)的方式中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述第二處理模塊包括:策略匹配單元,用于根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);第二數(shù)據(jù)包生成單元,用于根據(jù)所述策略匹配單元查找到的所述動作參數(shù)或策略參數(shù)生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第五方面實(shí)施例的第四種可能實(shí)現(xiàn)的方式中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;所述第二處理模塊包括:策略匹配單元,第二數(shù)據(jù)包生成單元;所述策略匹配單元用于根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);所述第二發(fā)送模塊還用于根據(jù)所述策略匹配單元查找到的動作參數(shù)或策略參數(shù)向一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)中具有執(zhí)行所述動作參數(shù)或策略參數(shù)的能力的第一服務(wù)節(jié)點(diǎn)發(fā)送能力請求信息;第二接收模塊還用于接收所述第一服務(wù)節(jié)點(diǎn)針對所述能力請求信息發(fā)送的相應(yīng)的能力響應(yīng)信息;所述第二數(shù)據(jù)包生成單元用于根據(jù)所述第二接收模塊接收的所述能力響應(yīng)信息生成所述第二數(shù)據(jù)包。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第五方面實(shí)施例的第五種可能實(shí)現(xiàn)的方式中,所述第二發(fā)送模塊還用于向發(fā)送第一控制信息,所述第一控制信息用于在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,其中,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn)的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)所述業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
結(jié)合上述任意之一實(shí)施例的本發(fā)明第五方面實(shí)施例的第六種可能實(shí)現(xiàn)的方式中,所述第二接收模塊還用于接收攜帶有業(yè)務(wù)參數(shù)的第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同,所述業(yè)務(wù)參數(shù)是從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定的與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述第二處理模塊還用于根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),生成第四數(shù)據(jù)包;所述第二發(fā)送模塊還用于向所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第四數(shù)據(jù)包。
根據(jù)本發(fā)明實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)中數(shù)據(jù)處理的控制節(jié)點(diǎn),通過在控制節(jié)點(diǎn)處對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對本發(fā)明實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中,節(jié)點(diǎn)能力分配不合理導(dǎo)致的識別解析功能被重復(fù)執(zhí)行的示意圖。
圖2為現(xiàn)有技術(shù)中,節(jié)點(diǎn)能力不對稱導(dǎo)致的部分業(yè)務(wù)實(shí)現(xiàn)困難的示意圖。
圖3為一種SDN網(wǎng)絡(luò)結(jié)構(gòu)和支持開放流OpenFlow協(xié)議的數(shù)據(jù)節(jié)點(diǎn)的流表格式的示意圖。
圖4為本發(fā)明第一方面實(shí)施例的一種數(shù)據(jù)處理的SDN網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)示意圖。圖5為本發(fā)明第一方面實(shí)施例的一種數(shù)據(jù)處理的SDN網(wǎng)絡(luò)系統(tǒng)的架構(gòu)圖。
圖6為本發(fā)明第二方面實(shí)施例的一種SDN網(wǎng)絡(luò)中數(shù)據(jù)處理的方法的流程圖。
圖7為本發(fā)明第三方面實(shí)施例的一種SDN網(wǎng)絡(luò)中數(shù)據(jù)處理的方法的流程圖。
圖8為本發(fā)明第四方面實(shí)施例的一種SDN網(wǎng)絡(luò)中數(shù)據(jù)處理的裝置的流程圖。
圖9為本發(fā)明第五方面實(shí)施例的一種SDN網(wǎng)絡(luò)中數(shù)據(jù)處理的裝置的流程圖。
圖10為本發(fā)明實(shí)施例中的對流表增加字段后的流表的具體結(jié)構(gòu)的示意圖。
圖11為本發(fā)明實(shí)施例的一種控制節(jié)點(diǎn)分層管理的示意圖。
圖12為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)中數(shù)據(jù)面的功能實(shí)現(xiàn)方式的示例圖。
圖13為本發(fā)明實(shí)施例的根據(jù)IP地址范圍確定上層控制節(jié)點(diǎn)的實(shí)現(xiàn)示意圖。
圖14為本發(fā)明實(shí)施例的對業(yè)務(wù)流進(jìn)行業(yè)務(wù)處理的示意圖。
圖15為本發(fā)明實(shí)施例的一種確定目標(biāo)控制節(jié)點(diǎn)的流程圖。
圖16為本發(fā)明實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)流向示意圖。
圖17為本發(fā)明實(shí)施例的一種SDN數(shù)據(jù)處理系統(tǒng)具體的實(shí)現(xiàn)場景。
圖18為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)第二種具體的實(shí)現(xiàn)場景。
圖19為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)第三種具體的實(shí)現(xiàn)場景。
圖20為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)第四種具體的實(shí)現(xiàn)場景。
圖21為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)中控制節(jié)點(diǎn)具體執(zhí)行規(guī)則匹配的示例圖。
圖22為本發(fā)明實(shí)施例的SDN數(shù)據(jù)處理系統(tǒng)中針對第一數(shù)據(jù)包和第三數(shù)據(jù)包不同的處理方式的示例圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為解決網(wǎng)絡(luò)設(shè)備間的統(tǒng)一協(xié)作問題,提出了軟件定義網(wǎng)絡(luò)(Software Defi ned Network,SDN)的概念。SDN網(wǎng)絡(luò)包括由許多交換機(jī)和路由器等數(shù)據(jù)節(jié)點(diǎn)組成的數(shù)據(jù)傳輸網(wǎng)絡(luò)和一個(gè)對所有數(shù)據(jù)節(jié)點(diǎn)統(tǒng)一管理和控制的控制節(jié)點(diǎn)組成,控制節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)間通過基于開放流OpenFlow協(xié)議通信。
目前業(yè)界的SDN網(wǎng)絡(luò)的架構(gòu)如圖3所示,SDN網(wǎng)絡(luò)主要由數(shù)據(jù)面、控制面和服務(wù)面三層結(jié)構(gòu)組成。數(shù)據(jù)面主要由支持OpenFlow協(xié)議的交換機(jī)或路由器設(shè)備組成,這種設(shè)備在支持?jǐn)?shù)據(jù)交換分發(fā)的基本功能基礎(chǔ)上需要具備SDN網(wǎng)絡(luò)所需的3個(gè)要素:(1)每個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)備內(nèi)保存一張可供控制節(jié)點(diǎn)讀寫的流表,流表由一條條流規(guī)則組成,每條流規(guī)則包括流的傳輸層屬性和對應(yīng)的動作組成,當(dāng)前Type 0的OpenFlow設(shè)備支持簡單的四種動作:轉(zhuǎn)發(fā)、丟棄、本地處理和上送控制節(jié)點(diǎn);(2)數(shù)據(jù)節(jié)點(diǎn)和控制節(jié)點(diǎn)保持一條安全的通信鏈路;(3)支持基于OpenFlow的通信協(xié)議交互過程。控制面由單一控制節(jié)點(diǎn)組成,控制節(jié)點(diǎn)和每個(gè)數(shù)據(jù)節(jié)點(diǎn)保持一條基于OpenFlow協(xié)議的通信鏈路,控制節(jié)點(diǎn)可以通過OpenFlow協(xié)議讀寫每個(gè)數(shù)據(jù)節(jié)點(diǎn)的流表,從而既可以感知每個(gè)節(jié)點(diǎn)的狀態(tài),又可以控制每個(gè)節(jié)點(diǎn)的轉(zhuǎn)發(fā)規(guī)則,調(diào)節(jié)網(wǎng)絡(luò)路由、帶寬資源分配等。在目前的SDN網(wǎng)絡(luò)結(jié)構(gòu)中,服務(wù)面是一個(gè)抽象的層次,通常是指控制節(jié)點(diǎn)可以實(shí)現(xiàn)的功能,如控制節(jié)點(diǎn)通過全網(wǎng)數(shù)據(jù)節(jié)點(diǎn)狀態(tài)的感知實(shí)現(xiàn)動態(tài)的路由分配、流量負(fù)載均衡、網(wǎng)絡(luò)狀態(tài)監(jiān)控和故障的快速定位分析等傳輸層業(yè)務(wù)功能。
下面以數(shù)據(jù)報(bào)文的首個(gè)數(shù)據(jù)包為例描述SDN網(wǎng)絡(luò)中報(bào)文的處理流程。如圖3所示:
1.客戶端的請求報(bào)文首個(gè)數(shù)據(jù)包進(jìn)入到SDN網(wǎng)絡(luò)中的數(shù)據(jù)節(jié)點(diǎn)A。
2.節(jié)點(diǎn)A對報(bào)文進(jìn)行流表匹配命中默認(rèn)規(guī)則send to controller并上送控制節(jié)點(diǎn)。
3.控制節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)當(dāng)前狀態(tài),結(jié)合一定的帶寬、路由分配策略為業(yè)務(wù)流分配一條路由,并將規(guī)則通過OpenFlow協(xié)議下發(fā)給相應(yīng)的數(shù)據(jù)節(jié)點(diǎn),然后在數(shù)據(jù)節(jié)點(diǎn)的流表中添加這條流對應(yīng)的規(guī)則。
4.然后,控制節(jié)點(diǎn)再將報(bào)文轉(zhuǎn)回給上送的數(shù)據(jù)節(jié)點(diǎn)。
5.各個(gè)數(shù)據(jù)節(jié)點(diǎn)按照流表規(guī)則依次轉(zhuǎn)發(fā)報(bào)文。
下面結(jié)合圖3描述支持OpenFlow協(xié)議的數(shù)據(jù)節(jié)點(diǎn)的流表格式,
在《openflow-spec-v1.1.0》中,如圖3右上方的表所示,定義的格式為:
InPort:數(shù)據(jù)包進(jìn)入數(shù)據(jù)節(jié)點(diǎn)的端口,如:交換機(jī)設(shè)備的某個(gè)網(wǎng)口;
VLANID:TCP/IP協(xié)議中介于二層三層之間的一個(gè)標(biāo)簽字段,源端可以打標(biāo)簽,目的端可以根據(jù)標(biāo)簽不同區(qū)分處理;
Ethernet SA:源端物理地址,源MAC(Medium Access Control,介質(zhì)訪問控制)地址;
Ethernet DA:目的端物理地址,目的MAC地址;
Ethernet Type:表示承載的2層報(bào)文類型,例如:0x8000表示IP報(bào)文;
IP SA:源端的IP地址;
IP DA:目的端的IP地址;
IP Proto:IP層上層承載的協(xié)議類型,例如:0x6表示承載TCP協(xié)議類型報(bào)文
TCP Src:表示源端的TCP端口;
TCP Dst:表示目的端的TCP端口。
如圖3所示,(1)對于來源是端口6,VLAN(Virtual Local Area Networ k,虛擬局域網(wǎng))號是2002的業(yè)務(wù)流,流表匹配的規(guī)則是轉(zhuǎn)發(fā)到端口1;(2)對于來源是端口1,目標(biāo)地址是1.1.1.1的業(yè)務(wù)流,流表匹配規(guī)則是drop(放棄);(3)對于來源是端口6,通信端口是80的業(yè)務(wù)流,流表匹配的規(guī)則是local(本地處理);(4)對于其它業(yè)務(wù)流,默認(rèn)的流表匹配規(guī)則是controller,上傳到控制節(jié)點(diǎn)。
SDN網(wǎng)絡(luò)的概念和設(shè)備主要應(yīng)用在校園網(wǎng)、實(shí)驗(yàn)室等小規(guī)模適合集中管理控制的網(wǎng)絡(luò)中,而且服務(wù)面主要針對的是傳輸層業(yè)務(wù)問題(如:路由控制、網(wǎng)絡(luò)流量均衡、網(wǎng)絡(luò)故障檢測和快速診斷、動態(tài)鏈路調(diào)整等方面)并未涉及應(yīng)用層相關(guān)業(yè)務(wù)(比如:URL過濾,網(wǎng)絡(luò)應(yīng)用加速,IPS防御,報(bào)文協(xié)議分類,HTTP重定向業(yè)務(wù)等等。)的處理的解決方法,本發(fā)明正是針對SDN網(wǎng)絡(luò)結(jié)構(gòu)的局限提出的改進(jìn)擴(kuò)展方法,本發(fā)明在SDN網(wǎng)絡(luò)基礎(chǔ)上提出了一種通過控制層多節(jié)點(diǎn)分層部署方式實(shí)現(xiàn)全網(wǎng)共享業(yè)務(wù)能力和應(yīng)用層相關(guān)業(yè)務(wù)處理的方法。
如圖4所示,根據(jù)本發(fā)明實(shí)施例的一種基于軟件定義網(wǎng)絡(luò)中的數(shù)據(jù)處理系統(tǒng)40,所述系統(tǒng)40包括:源數(shù)據(jù)節(jié)點(diǎn)411,用于接收第一數(shù)據(jù)包,并向?qū)?yīng)的源控制節(jié)點(diǎn)421發(fā)送所述第一數(shù)據(jù)包;源控制節(jié)點(diǎn)421,用于接收所述源數(shù)據(jù)節(jié)點(diǎn)411發(fā)送的第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址;根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)422;目標(biāo)控制節(jié)點(diǎn)422,用于接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)源數(shù)據(jù)節(jié)點(diǎn)411的IP地址域或者根據(jù)源數(shù)據(jù)節(jié)點(diǎn)411與控制節(jié)點(diǎn)的映射關(guān)系確定對應(yīng)的源控制節(jié)點(diǎn)421??梢栽谠磾?shù)據(jù)節(jié)點(diǎn)411處存儲數(shù)據(jù)節(jié)點(diǎn)與控制節(jié)點(diǎn)的映射關(guān)系表,通過查表的方式確定源數(shù)據(jù)節(jié)點(diǎn)411對應(yīng)的源控制節(jié)點(diǎn)421,也可以根據(jù)源數(shù)據(jù)節(jié)點(diǎn)411的IP地址域或者物理拓?fù)浣Y(jié)構(gòu)通過計(jì)算的方式確定對應(yīng)的源控制節(jié)點(diǎn)421,可以理解的是,上述只是為了幫助理解本發(fā)明實(shí)施例而做出的一種舉例,不能視為對本發(fā)明實(shí)施例的一種限制。根據(jù)源數(shù)據(jù)節(jié)點(diǎn)確定源控制節(jié)點(diǎn)還包括其它本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的方式。
在本發(fā)明的一個(gè)實(shí)施例中,源控制節(jié)點(diǎn)421具體用于接收源數(shù)據(jù)節(jié)點(diǎn)411發(fā)送的第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址;根據(jù)第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn)413;若源控制節(jié)點(diǎn)421不管理目標(biāo)數(shù)據(jù)節(jié)點(diǎn)413,則將管理源數(shù)據(jù)節(jié)點(diǎn)411和所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)413的第一控制節(jié)點(diǎn)確定為目標(biāo)控制節(jié)點(diǎn)422。
如圖4所示,源控制節(jié)點(diǎn)421既可以與目標(biāo)控制節(jié)點(diǎn)422直接相連,也可以通過其它的控制節(jié)點(diǎn)423(圖中只顯示出一個(gè),實(shí)際情況可能有多個(gè)控制節(jié)點(diǎn))間接的與目標(biāo)控制節(jié)點(diǎn)422相連。在另一種可能的實(shí)現(xiàn)方式中,源控制節(jié)點(diǎn)421也管理目標(biāo)控制節(jié)點(diǎn)413,這時(shí)可以把源控制節(jié)點(diǎn)421確定為目標(biāo)控制節(jié)點(diǎn)422,(圖中未示出)。
在本發(fā)明的一個(gè)實(shí)施例中,源控制節(jié)點(diǎn)421或源數(shù)據(jù)節(jié)點(diǎn)411還用于將第一數(shù)據(jù)包發(fā)送給目標(biāo)控制節(jié)點(diǎn)422。
在本發(fā)明的一個(gè)實(shí)施例中,所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;目標(biāo)控制節(jié)點(diǎn)422具體用于:接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);并根據(jù)所述查找到的動作參數(shù)或策略參數(shù)生成所述第二數(shù)據(jù)包。
所述處理規(guī)則是指數(shù)據(jù)節(jié)點(diǎn)根據(jù)數(shù)據(jù)包的元組信息和流表匹配結(jié)果得到的對應(yīng)流表項(xiàng)和流表項(xiàng)中指定的處理動作和參數(shù)。流表匹配后得到的是數(shù)據(jù)節(jié)點(diǎn)的一條流表項(xiàng),包括處理的動作(send to controller,local,forward。。。)和參數(shù)。
在本發(fā)明的一個(gè)實(shí)施例中,子元組信息包括:數(shù)據(jù)包的源/目的MAC地址,源/目的IP地址,源/目的TCP端口,進(jìn)/出數(shù)據(jù)節(jié)點(diǎn)(交換機(jī))的網(wǎng)口,以及數(shù)據(jù)包的VLAN標(biāo)簽,這些信息可以從數(shù)據(jù)包中取得。
在本發(fā)明的一個(gè)實(shí)施例中,如圖21所示,1.網(wǎng)絡(luò)管理員首先通過管理面配置策略規(guī)則集并下發(fā)給控制面的控制節(jié)點(diǎn);舉例:策略規(guī)則比如是:規(guī)則(1)IF tcp.port=80&&url=http://www.xxx.com THEN redirect to http://www.yyy.com;規(guī)則(2)IF tcp.port=8080&&ip.src=10.10.10.*THEN block;策略規(guī)則集是若干策略規(guī)則組成的集合;2.控制節(jié)點(diǎn)根據(jù)策略規(guī)則集合建立策略匹配樹,舉例:如上策略規(guī)則建立的策略匹配樹如圖21,樹中內(nèi)部節(jié)點(diǎn)為條件節(jié)點(diǎn),葉子節(jié)點(diǎn)為動作節(jié)點(diǎn),每個(gè)邊代表匹配上的條件。3.控制節(jié)點(diǎn)對收到的數(shù)據(jù)包提取tcp/ip/url等元組信息,并進(jìn)入匹配樹跟節(jié)點(diǎn)開始規(guī)則匹配,最終到達(dá)一個(gè)葉子節(jié)點(diǎn),命中相應(yīng)的規(guī)則動作。
控制節(jié)點(diǎn)會將傳輸層的條件(L4層的條件)下發(fā)給數(shù)據(jù)節(jié)點(diǎn),比如tcp.port=80和ip.src=10.10.10.*,并為下發(fā)的條件標(biāo)記一個(gè)編號如0x0001和0x0002即數(shù)據(jù)節(jié)點(diǎn)流表的業(yè)務(wù)參數(shù)字段。數(shù)據(jù)節(jié)點(diǎn)再對數(shù)據(jù)包進(jìn)行流表匹配命中流表項(xiàng)后上送控制節(jié)點(diǎn)時(shí),再將這個(gè)業(yè)務(wù)參數(shù)字段值附加在數(shù)據(jù)包中帶給控制節(jié)點(diǎn)如將業(yè)務(wù)參數(shù)0x0001帶給控制節(jié)點(diǎn),控制節(jié)點(diǎn)根據(jù)編號0x0001對應(yīng)到已經(jīng)命中條件tcp.port=80,則直接從匹配樹的url節(jié)點(diǎn)進(jìn)一步規(guī)則匹配,無需再從匹配樹的根節(jié)點(diǎn)開始重新匹配數(shù)據(jù)包的傳輸層(L4層條件)??梢岳斫獾氖?,上述舉例只是為了幫助理解本發(fā)明實(shí)施例而做出的一種示例,而不是對本發(fā)明實(shí)施例具體方案的一種限制,預(yù)設(shè)的策略規(guī)則可以采用別的方式制定規(guī)則,控制節(jié)點(diǎn)也可以在命中條件之后,依賴上述實(shí)施例舉出的其它應(yīng)用層信息進(jìn)行進(jìn)一步規(guī)則匹配。
在上述舉例中,應(yīng)用層信息可以是數(shù)據(jù)包的URL信息,如下表所示,應(yīng)用層信息可以是下表所述的信息中的之一:
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)處理系統(tǒng)40還包括一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)(如圖431,432,433);所述匹配策略規(guī)則包括:子元組信息與動作參數(shù)或策略參數(shù)的映射/對應(yīng)關(guān)系,或者應(yīng)用層信息與動作參數(shù)或策略參數(shù)的映射關(guān)系;目標(biāo)控制節(jié)點(diǎn)422具體用于:接收所述第一數(shù)據(jù)包,根據(jù)所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息從所述匹配策略規(guī)則中查找到與所述第一數(shù)據(jù)包的子元組信息或第一數(shù)據(jù)包的應(yīng)用層信息對應(yīng)的動作參數(shù)或策略參數(shù);并根據(jù)所述查找到的動作參數(shù)或策略參數(shù)向所述一個(gè)或多個(gè)服務(wù)節(jié)點(diǎn)中具有執(zhí)行所述動作參數(shù)或策略參數(shù)的能力的第一服務(wù)節(jié)點(diǎn)431發(fā)送能力請求信息;第一服務(wù)節(jié)點(diǎn)431用于針對所述能力請求信息向目標(biāo)控制節(jié)點(diǎn)422發(fā)送相應(yīng)的能力響應(yīng)信息;目標(biāo)控制節(jié)點(diǎn)422根據(jù)所述能力響應(yīng)信息生成所述第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,目標(biāo)控制節(jié)點(diǎn)422還用于向源數(shù)據(jù)節(jié)點(diǎn)411發(fā)送第二數(shù)據(jù)包,所述第二數(shù)據(jù)包攜帶有所述第二數(shù)據(jù)包的目標(biāo)地址;源數(shù)據(jù)節(jié)點(diǎn)411還用于在目標(biāo)控制節(jié)點(diǎn)422管理下向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)處理系統(tǒng)40還包括:至少一個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)412(圖中只示出1個(gè),實(shí)際情況可以存在多個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)),其中,目標(biāo)控制節(jié)點(diǎn)422用于管理每一個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)412;中繼數(shù)據(jù)節(jié)點(diǎn)412存儲有對應(yīng)中繼數(shù)據(jù)節(jié)點(diǎn)412的流表,所述流表用于存儲數(shù)據(jù)包的處理規(guī)則;源數(shù)據(jù)節(jié)點(diǎn)411存儲有對應(yīng)源數(shù)據(jù)節(jié)點(diǎn)411的流表,所述流表用于存儲數(shù)據(jù)包的處理規(guī)則:目標(biāo)控制節(jié)點(diǎn)422還用于生成路由分配規(guī)則并向中繼數(shù)據(jù)節(jié)點(diǎn)412和源數(shù)據(jù)節(jié)點(diǎn)411下發(fā)所述路由分配規(guī)則,所述路由分配規(guī)則用于為所述第二數(shù)據(jù)包分配路由;中繼數(shù)據(jù)節(jié)點(diǎn)412還用于接收目標(biāo)控制節(jié)點(diǎn)422發(fā)送的所述路由分配規(guī)則,并根據(jù)所述路由分配規(guī)則更新中繼數(shù)據(jù)節(jié)點(diǎn)412的流表;源數(shù)據(jù)節(jié)點(diǎn)411還用于:根據(jù)所述更新后的流表向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的中繼數(shù)據(jù)節(jié)點(diǎn)412發(fā)送所述第二數(shù)據(jù)包;中繼數(shù)據(jù)節(jié)點(diǎn)412用于:根據(jù)所述更新后的流表向所述第二數(shù)據(jù)包的目標(biāo)地址對應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)413發(fā)送所述第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,源數(shù)據(jù)節(jié)點(diǎn)411還存儲有流表,所述流表用于存儲業(yè)務(wù)流數(shù)據(jù)包的子元組信息和對應(yīng)所述子元組信息的處理規(guī)則;所述目標(biāo)控制節(jié)點(diǎn)422還用于在源數(shù)據(jù)節(jié)點(diǎn)411的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,其中,所述控制節(jié)點(diǎn)編號字段用于表示源數(shù)據(jù)節(jié)點(diǎn)411對應(yīng)的目標(biāo)控制節(jié)點(diǎn)422的索引,所述業(yè)務(wù)參數(shù)字段用于表示對應(yīng)業(yè)務(wù)流數(shù)據(jù)包的子元組信息的處理結(jié)果的索引。
在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)備內(nèi)保存一張可供控制節(jié)點(diǎn)讀寫的初始流表,流表由一條條流規(guī)則組成,每條流規(guī)則包括流的傳輸層屬性和對應(yīng)的動作組成,當(dāng)前Type 0的OpenFlow設(shè)備支持簡單的四種動作:轉(zhuǎn)發(fā)、丟棄、本地處理和上送控制節(jié)點(diǎn)。如圖12所示,而本發(fā)明的實(shí)施例通過在初始流表中增加添加控制節(jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para實(shí)現(xiàn)對控制面多節(jié)點(diǎn)的功能支持。控制節(jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para可以由源控制節(jié)點(diǎn)通過OpenFlow協(xié)議修改數(shù)據(jù)節(jié)點(diǎn)的流表規(guī)則時(shí)添加,控制節(jié)點(diǎn)編號Control node由源控制節(jié)點(diǎn)指定,表示當(dāng)數(shù)據(jù)節(jié)點(diǎn)對當(dāng)前業(yè)務(wù)流需要發(fā)送到目標(biāo)控制節(jié)點(diǎn)時(shí)對應(yīng)的上送的目標(biāo)控制節(jié)點(diǎn)的唯一標(biāo)示;業(yè)務(wù)參數(shù)Para為加快控制節(jié)點(diǎn)業(yè)務(wù)處理提供業(yè)務(wù)流的相關(guān)信息,通常是根據(jù)業(yè)務(wù)流的傳輸層信息匹配到對應(yīng)的策略條件按或者策略動作,如業(yè)務(wù)流已經(jīng)匹配的傳輸層策略條件或者業(yè)務(wù)流命中的規(guī)則等??梢岳斫獾氖牵鲜鰧?shù)據(jù)節(jié)點(diǎn)保存的流表字段的修改只是為了幫助理解本發(fā)明實(shí)施例而做出的一種舉例,并不能夠被設(shè)為對本發(fā)明實(shí)施例的一種具體限制。對流表字段的增加可以是在數(shù)據(jù)節(jié)點(diǎn)預(yù)設(shè)的,也可以是由最終數(shù)據(jù)節(jié)點(diǎn)完成的。在某些情況下,可以只在數(shù)據(jù)節(jié)點(diǎn)的流表中增加添加控制節(jié)點(diǎn)編號Control node,而業(yè)務(wù)參數(shù)Para提供的業(yè)務(wù)流的相關(guān)信息可以由控制節(jié)點(diǎn)根據(jù)預(yù)設(shè)策略匹配規(guī)則和業(yè)務(wù)流數(shù)據(jù)包匹配后獲得。增加業(yè)務(wù)參數(shù)Para的主要目的是為了加快控制節(jié)點(diǎn)處理相關(guān)業(yè)務(wù)流信息,提供網(wǎng)絡(luò)運(yùn)行的效率。擴(kuò)展的OpenFlow流表結(jié)構(gòu)在原有流表基礎(chǔ)上擴(kuò)展控制節(jié)點(diǎn)編號(Control Node)和業(yè)務(wù)參數(shù)(Para)兩個(gè)字段??刂乒?jié)點(diǎn)編號用來唯一確定上送的控制節(jié)點(diǎn),業(yè)務(wù)參數(shù)可以是策略匹配的中間匹配結(jié)果或者是命中的策略規(guī)則,這兩個(gè)字段由控制節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)的流表中,數(shù)據(jù)節(jié)點(diǎn)在命中這條流規(guī)則并上送控制節(jié)點(diǎn)時(shí)再將策略匹配參數(shù)通過TCP-options字段帶給控制節(jié)點(diǎn),控制節(jié)點(diǎn)可以根據(jù)這個(gè)參數(shù)加速規(guī)則匹配或者執(zhí)行相應(yīng)的業(yè)務(wù)。
就一個(gè)具體的數(shù)據(jù)業(yè)務(wù)流而言,一般情況下數(shù)據(jù)業(yè)務(wù)流的首個(gè)數(shù)據(jù)包會匹配上默認(rèn)的流表規(guī)則,數(shù)據(jù)節(jié)點(diǎn)根據(jù)默認(rèn)的流表規(guī)則將第一數(shù)據(jù)包發(fā)送給控制節(jié)點(diǎn),控制節(jié)點(diǎn)根據(jù)第一數(shù)據(jù)包進(jìn)一步進(jìn)行規(guī)則匹配,然后根據(jù)規(guī)則匹配的結(jié)果會在數(shù)據(jù)節(jié)點(diǎn)的流表中添加流表規(guī)則,此時(shí)控制節(jié)點(diǎn)會在數(shù)據(jù)節(jié)點(diǎn)的流表中擴(kuò)展控制節(jié)點(diǎn)編號(Control Node)和業(yè)務(wù)參數(shù)(Para)兩個(gè)字段,這條數(shù)據(jù)業(yè)務(wù)流的后續(xù)數(shù)據(jù)包就可以匹配上這兩個(gè)新添加的規(guī)則,然后按照新規(guī)則從數(shù)據(jù)節(jié)點(diǎn)轉(zhuǎn)發(fā)。具體規(guī)則可以參考圖21的示例。
在本發(fā)明的一個(gè)實(shí)施例中,所述源數(shù)據(jù)節(jié)點(diǎn)還用于接收第三數(shù)據(jù)包,其中,所述第三數(shù)據(jù)包和所述第一數(shù)據(jù)包均屬于所述業(yè)務(wù)流數(shù)據(jù)包,且對應(yīng)所述第三數(shù)據(jù)包的子元組信息的處理規(guī)則和對應(yīng)所述第一數(shù)據(jù)包的子元組信息的處理規(guī)則相同。
在本發(fā)明的一個(gè)實(shí)施例中,所述源數(shù)據(jù)節(jié)點(diǎn)還用于根據(jù)所述流表,從與所述第三數(shù)據(jù)包的子元組信息匹配的處理規(guī)則記錄中確定與所述子元組信息對應(yīng)的業(yè)務(wù)參數(shù),所述業(yè)務(wù)參數(shù)用于表示對所述第三數(shù)據(jù)包所要執(zhí)行的動作參數(shù)或策略參數(shù)的索引;所述源數(shù)據(jù)節(jié)點(diǎn)將所述業(yè)務(wù)參數(shù)攜帶在第三數(shù)據(jù)包中向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送;所述目標(biāo)控制節(jié)點(diǎn)還用于根據(jù)所述業(yè)務(wù)參數(shù)和所述第三數(shù)據(jù)包的應(yīng)用層信息確定對所述第三數(shù)據(jù)包執(zhí)行的動作參數(shù)或策略參數(shù),從而生成第四數(shù)據(jù)包。
具體實(shí)現(xiàn)的方式可以如圖22所示,對于第一數(shù)據(jù)包的操作,匹配的是默認(rèn)的流表規(guī)則,這里不再贅述。而對于和第一數(shù)據(jù)包具有相同的子元組信息處理規(guī)則的第三數(shù)據(jù)包而言,處理規(guī)則有些不同。這里所述的第三數(shù)據(jù)包,既可以是與第一數(shù)據(jù)包來自同一個(gè)業(yè)務(wù)流的數(shù)據(jù)包,也可以是對應(yīng)的流表匹配時(shí)需要使用的子元組信息相同,而其它子元組信息不一定相同的業(yè)務(wù)流數(shù)據(jù)包。子元組信息是數(shù)據(jù)包元組信息的子集,例如數(shù)據(jù)包可以由3元組,5元組,10元組組成,子元組信息則可以相應(yīng)的有多種組合,例如只從3元組里選擇1個(gè)子元組,或者選擇2個(gè)子元組。在本發(fā)明的一個(gè)實(shí)施例中,子元組信息包括:數(shù)據(jù)包的源/目的MAC地址,源/目的IP地址,源/目的TCP端口,進(jìn)/出數(shù)據(jù)節(jié)點(diǎn)(交換機(jī))的網(wǎng)口,以及數(shù)據(jù)包的VLAN標(biāo)簽,這些信息可以從數(shù)據(jù)包中取得??梢岳斫獾氖牵鲜鲫P(guān)于子元組信息的列舉和第三數(shù)據(jù)包的說明只是為了幫助理解本發(fā)明實(shí)施例而做出的一種解釋,并不能視為對本發(fā)明實(shí)施例的一種具體限制。
如圖22和圖21所示,控制節(jié)點(diǎn)會將傳輸層的條件(L4層的條件,在一種具體示例中可以理解為子元組信息匹配的條件)下發(fā)給數(shù)據(jù)節(jié)點(diǎn),比如tcp.port=80和ip.src=10.10.10.*,并為下發(fā)的條件標(biāo)記一個(gè)編號如0x0001和0x0002即數(shù)據(jù)節(jié)點(diǎn)流表的業(yè)務(wù)參數(shù)字段(在一種具體示例中可以理解為子元組信息匹配的結(jié)果)。數(shù)據(jù)節(jié)點(diǎn)再對第三數(shù)據(jù)包進(jìn)行流表匹配命中流表項(xiàng)后,可以根據(jù)目標(biāo)控制節(jié)點(diǎn)參數(shù)字段直接將第三數(shù)據(jù)包上送到目標(biāo)控制節(jié)點(diǎn),而不需要再經(jīng)過源控制節(jié)點(diǎn)轉(zhuǎn)發(fā),第三數(shù)據(jù)包在上送到目標(biāo)控制節(jié)點(diǎn)時(shí)攜帶有業(yè)務(wù)參數(shù)字段值,對應(yīng)第三數(shù)據(jù)包的業(yè)務(wù)參數(shù)字段值是目標(biāo)控制節(jié)點(diǎn)在對第一數(shù)據(jù)包進(jìn)行策略匹配時(shí)寫入到源控制節(jié)點(diǎn)的流表中去的,第三數(shù)據(jù)包將這個(gè)業(yè)務(wù)參數(shù)字段值附加在數(shù)據(jù)包中帶給控制節(jié)點(diǎn)如將業(yè)務(wù)參數(shù)0x0001帶給控制節(jié)點(diǎn),控制節(jié)點(diǎn)根據(jù)編號0x0001對應(yīng)到已經(jīng)命中條件tcp.port=80,則直接從匹配樹的url節(jié)點(diǎn)進(jìn)一步規(guī)則匹配,無需再從匹配樹的根節(jié)點(diǎn)開始重新匹配數(shù)據(jù)包的傳輸層(L4層條件)。這樣可以加速目標(biāo)控制節(jié)點(diǎn)的匹配運(yùn)算,提高網(wǎng)絡(luò)處理效率。
在本發(fā)明的一個(gè)實(shí)施例中,控制節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)有至少兩條鏈路連接,其中一條是傳輸數(shù)據(jù)包的數(shù)據(jù)鏈路,一條是傳輸控制包的控制鏈路,數(shù)據(jù)節(jié)點(diǎn)將數(shù)據(jù)包發(fā)送給控制節(jié)點(diǎn)使用的是數(shù)據(jù)鏈路,控制節(jié)點(diǎn)修改數(shù)據(jù)節(jié)點(diǎn)的流表字段使用的是控制鏈路。
服務(wù)節(jié)點(diǎn)可以為多控制節(jié)點(diǎn)提供統(tǒng)一的應(yīng)用層業(yè)務(wù)的處理能力,比如如下能力:
緩存共享能力:所有控制節(jié)點(diǎn)可以共享緩存信息,一個(gè)控制節(jié)點(diǎn)請求的數(shù)據(jù)如果可以在緩存中找到,直接取緩存數(shù)據(jù),提高網(wǎng)絡(luò)訪問性能;
鏈路質(zhì)量信息共享:所有控制節(jié)點(diǎn)可以將當(dāng)前鏈路狀態(tài)信息共享,控制節(jié)點(diǎn)在分配路由時(shí)可以根據(jù)鏈路狀態(tài)優(yōu)化路由選擇;
P2P協(xié)議類的peer地址信息共享,可以在為P2P類協(xié)議請求時(shí)選擇提供局域網(wǎng)內(nèi)的peer地址列表,提高P2P類下載速度;
網(wǎng)絡(luò)加速業(yè)務(wù)報(bào)文壓縮解壓縮能力。
各種業(yè)務(wù)處理能力通過開放的OpenAPI的接口方式提供給控制節(jié)點(diǎn)調(diào)用,各種能力可以以多線程、多進(jìn)程、多設(shè)備的方式部署;相同能力之間可以通過共享池共享數(shù)據(jù),共享能力池可以是全局變量、共享內(nèi)存或者統(tǒng)一資源訪問設(shè)備的形式,控制節(jié)點(diǎn)可以通過調(diào)用服務(wù)節(jié)點(diǎn)的能力對第一數(shù)據(jù)包進(jìn)行處理,生成處理后的第二數(shù)據(jù)包。
根據(jù)本發(fā)明第一方面實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng)40,通過控制節(jié)點(diǎn)的分層部署方式、擴(kuò)展的數(shù)據(jù)節(jié)點(diǎn)流表結(jié)構(gòu)和根據(jù)策略規(guī)則的能力分配方法,實(shí)現(xiàn)了SDN網(wǎng)絡(luò)中的對應(yīng)用層業(yè)務(wù)處理和能力共享分配,提高節(jié)點(diǎn)的協(xié)同合作從而降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余,解決了節(jié)點(diǎn)能力分配不合理、能力不對稱、能力不聚合等問題,提高網(wǎng)絡(luò)的業(yè)務(wù)處理效率;同時(shí),分層控制節(jié)點(diǎn)的部署方式,既解決了控制節(jié)點(diǎn)處理性能瓶頸問題,又保持了網(wǎng)絡(luò)的穩(wěn)定、可靠和可擴(kuò)展性。
下面結(jié)合圖5描述根據(jù)本發(fā)明第一方面實(shí)施例的一種數(shù)據(jù)處理的SDN網(wǎng)絡(luò)系統(tǒng)50。如圖5所示,SDN網(wǎng)絡(luò)系統(tǒng)50包括:數(shù)據(jù)面51,數(shù)據(jù)面51包括至少兩個(gè)的數(shù)據(jù)節(jié)點(diǎn),其中,接收業(yè)務(wù)流數(shù)據(jù)包的數(shù)據(jù)節(jié)點(diǎn)為源數(shù)據(jù)節(jié)點(diǎn);控制面52,控制面52包括至少一個(gè)的控制節(jié)點(diǎn),所述控制節(jié)點(diǎn)用于按照預(yù)設(shè)規(guī)則管理所述數(shù)據(jù)面的數(shù)據(jù)節(jié)點(diǎn),其中,源控制節(jié)點(diǎn)Cnode1管理源數(shù)據(jù)節(jié)點(diǎn)511;源數(shù)據(jù)節(jié)點(diǎn)511向源控制節(jié)點(diǎn)Cnode1發(fā)送第一請求信息,所述第一請求信息包括源數(shù)據(jù)節(jié)點(diǎn)511接收的第一數(shù)據(jù)包,所述第一數(shù)據(jù)包包括第一數(shù)據(jù)包的目標(biāo)地址;源控制節(jié)點(diǎn)Cnode1根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)522;目標(biāo)控制節(jié)點(diǎn)522根據(jù)所述第一數(shù)據(jù)包和預(yù)設(shè)策略規(guī)則生成第二數(shù)據(jù)包;源數(shù)據(jù)節(jié)點(diǎn)511接收目標(biāo)控制節(jié)點(diǎn)522發(fā)送的第二數(shù)據(jù)包,并在目標(biāo)控制節(jié)點(diǎn)522管理下發(fā)送所述第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,所述控制節(jié)點(diǎn)用于按照預(yù)設(shè)規(guī)則管理所述數(shù)據(jù)面的數(shù)據(jù)節(jié)點(diǎn)包括:將數(shù)據(jù)面51的所述數(shù)據(jù)節(jié)點(diǎn)的分組,得到至少兩個(gè)分組后的數(shù)據(jù)節(jié)點(diǎn);所述控制節(jié)點(diǎn)采用分層管理的方式,其中,一個(gè)底層控制節(jié)點(diǎn)管理一組所述分組后的數(shù)據(jù)節(jié)點(diǎn);一個(gè)上層控制節(jié)點(diǎn)管理至少一個(gè)的所述底層控制節(jié)點(diǎn),即一個(gè)所述上層控制節(jié)點(diǎn)管理至少一組所述分組后的數(shù)據(jù)節(jié)點(diǎn);頂層控制節(jié)點(diǎn)管理全部所述數(shù)據(jù)面51的數(shù)據(jù)節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,如圖11所示,數(shù)據(jù)面包含多個(gè)邊緣數(shù)據(jù)節(jié)點(diǎn),(中繼數(shù)據(jù)節(jié)點(diǎn)未畫出)并以對稱扇形劃分為若干個(gè)區(qū)域,圖11中標(biāo)記出A區(qū)域和B區(qū)域,控制面由多層的控制節(jié)點(diǎn)組成,控制節(jié)點(diǎn)node1和node2分別管理區(qū)域A和區(qū)域B中的邊緣數(shù)據(jù)節(jié)點(diǎn)和中繼數(shù)據(jù)節(jié)點(diǎn)(圖中未示出),控制節(jié)點(diǎn)node1和node2的父節(jié)點(diǎn)node11管理區(qū)域A和區(qū)域B的所有節(jié)點(diǎn),依次類推,控制節(jié)點(diǎn)通過分層的方式,父節(jié)點(diǎn)的可以管理所有子節(jié)點(diǎn)管理的全部區(qū)域,最上層的控制節(jié)點(diǎn)可以管理數(shù)據(jù)面全部的數(shù)據(jù)節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,源控制節(jié)點(diǎn)Cnode1根據(jù)所述數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)522包括:根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn)512;若源控制節(jié)點(diǎn)Cnode1管理目標(biāo)數(shù)據(jù)節(jié)點(diǎn)512,則將源控制節(jié)點(diǎn)Cnode1確定為目標(biāo)控制節(jié)點(diǎn)522??梢岳斫獾氖牵瑸榱嗣枋龊啽?,本實(shí)施例并未在圖5中示出。
在本發(fā)明的一個(gè)實(shí)施例中,若源控制節(jié)點(diǎn)Cnode1不管理目標(biāo)數(shù)據(jù)節(jié)點(diǎn)512,則將同時(shí)管理源數(shù)據(jù)節(jié)點(diǎn)511和目標(biāo)數(shù)據(jù)節(jié)點(diǎn)512的第二控制節(jié)點(diǎn)確定為所述目標(biāo)控制節(jié)點(diǎn)522。
在本發(fā)明的一個(gè)實(shí)施例中,目標(biāo)控制節(jié)點(diǎn)522根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包包括:目標(biāo)控制節(jié)點(diǎn)522根據(jù)匹配策略規(guī)則對所述第一數(shù)據(jù)包進(jìn)行策略規(guī)則匹配,得到策略匹配后的結(jié)果;若目標(biāo)控制節(jié)點(diǎn)522能夠執(zhí)行所述策略匹配后的結(jié)果,則目標(biāo)控制節(jié)點(diǎn)522根據(jù)所述策略匹配后的結(jié)果生成所述第二數(shù)據(jù)包。匹配策略規(guī)則可以是目標(biāo)控制節(jié)點(diǎn)對數(shù)據(jù)包所要執(zhí)行的對應(yīng)的動作或參數(shù),也可以是目標(biāo)控制節(jié)點(diǎn)根據(jù)應(yīng)用層業(yè)務(wù)的需要對數(shù)據(jù)包做的處理。
在本發(fā)明的一個(gè)實(shí)施例中,網(wǎng)絡(luò)系統(tǒng)50還包括:服務(wù)面53,服務(wù)面53用于為控制面52提供業(yè)務(wù)處理能力;若目標(biāo)控制節(jié)點(diǎn)522不能夠執(zhí)行所述策略匹配后的結(jié)果,則目標(biāo)控制節(jié)點(diǎn)522根據(jù)所述策略匹配后的結(jié)果向服務(wù)面53發(fā)送能力請求信息;服務(wù)面53針對所述能力請求信息向目標(biāo)控制節(jié)點(diǎn)522發(fā)送相應(yīng)的能力響應(yīng)信息;目標(biāo)控制節(jié)點(diǎn)522根據(jù)所述能力響應(yīng)信息生成所述第二數(shù)據(jù)包。服務(wù)面53可以為多控制節(jié)點(diǎn)提供統(tǒng)一的應(yīng)用層業(yè)務(wù)的處理能力,這種能力可以對應(yīng)執(zhí)行數(shù)據(jù)包的策略匹配后結(jié)果,各種業(yè)務(wù)處理能力通過開放的應(yīng)用程序的接口方式OpenAPI提供給控制節(jié)點(diǎn)調(diào)用,各種能力可以以多線程、多進(jìn)程、多設(shè)備的方式部署;相同能力之間可以通過共享池共享數(shù)據(jù),共享能力池可以是全局變量、共享內(nèi)存或者統(tǒng)一資源訪問設(shè)備的形式。
在本發(fā)明的一個(gè)實(shí)施例中,網(wǎng)絡(luò)系統(tǒng)50還包括:管理面54,管理面54用于管理數(shù)據(jù)面51的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、控制面52的策略規(guī)則、服務(wù)面53的業(yè)務(wù)處理能力中的至少之一。網(wǎng)絡(luò)拓?fù)涔芾戆瑪?shù)據(jù)面節(jié)點(diǎn)間的連通路徑、端口分配和每個(gè)數(shù)據(jù)節(jié)點(diǎn)接入的客戶端IP地址段范圍。策略規(guī)則管理是指用戶配置的業(yè)務(wù)處理的相關(guān)規(guī)則,策略規(guī)則由傳輸層或者應(yīng)用層策略條件和對應(yīng)的業(yè)務(wù)處理動作組成。管理面可以在SDN網(wǎng)絡(luò)系統(tǒng)初始設(shè)置時(shí)實(shí)現(xiàn)上述管理方式,也可以在SDN網(wǎng)絡(luò)系統(tǒng)運(yùn)行時(shí)根據(jù)SDN網(wǎng)絡(luò)的實(shí)時(shí)情況或者用戶需要對上述管理方式進(jìn)行設(shè)置或修改。
根據(jù)本發(fā)明第二方面實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng)50,通過控制節(jié)點(diǎn)的分層部署方式、擴(kuò)展的數(shù)據(jù)節(jié)點(diǎn)流表結(jié)構(gòu)和根據(jù)策略規(guī)則的能力分配方法,實(shí)現(xiàn)了SDN網(wǎng)絡(luò)中的對應(yīng)用層業(yè)務(wù)處理和能力共享分配,提高節(jié)點(diǎn)的協(xié)同合作從而降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余,解決了節(jié)點(diǎn)能力分配不合理、能力不對稱、能力不聚合等問題,提高網(wǎng)絡(luò)的業(yè)務(wù)處理效率;同時(shí),分層控制節(jié)點(diǎn)的部署方式,既解決了控制節(jié)點(diǎn)處理性能瓶頸問題,又保持了網(wǎng)絡(luò)的穩(wěn)定、可靠和可擴(kuò)展性。
下面結(jié)合圖6描述本發(fā)明第二方面實(shí)施例的一種基于軟件定義網(wǎng)絡(luò)的數(shù)據(jù)處理的方法:
如圖6所示,所述方法包括:
S61:源數(shù)據(jù)節(jié)點(diǎn)接收第一數(shù)據(jù)包。
S62:源數(shù)據(jù)節(jié)點(diǎn)向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,以使所述源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)以及使得所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包生成第二數(shù)據(jù)包。
S63:所述源數(shù)據(jù)節(jié)點(diǎn)接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的第二數(shù)據(jù)包。
根據(jù)本發(fā)明第二方面實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)(SDN)中數(shù)據(jù)處理的方法,通過在控制節(jié)點(diǎn)處對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
下面結(jié)合圖7描述本發(fā)明第三方面實(shí)施例的一種軟件定義的網(wǎng)絡(luò)中數(shù)據(jù)處理的方法:
如圖7所示,所述方法包括:
S71:目標(biāo)控制節(jié)點(diǎn)接收第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,其中,所述目標(biāo)控制節(jié)點(diǎn)是由源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定的。
S72:所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包。
S73:并向源數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
根據(jù)本發(fā)明第三方面實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)(SDN)中數(shù)據(jù)處理的方法,通過在控制節(jié)點(diǎn)處對數(shù)據(jù)節(jié)點(diǎn)接收的數(shù)據(jù)包進(jìn)行多種處理的方式,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
下面結(jié)合圖8描述本發(fā)明第四方面實(shí)施例的一種基于軟件定義網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)10,數(shù)據(jù)節(jié)點(diǎn)10包括:第一接收模塊101、第一發(fā)送模塊102,其中,第一接收模塊101和第一發(fā)送模塊102相連。第一接收模塊101用于接收第一數(shù)據(jù)包,第一發(fā)送模塊102用于向?qū)?yīng)的源控制節(jié)點(diǎn)發(fā)送所述第一接收模塊101接收的所述第一數(shù)據(jù)包,以使所述源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定目標(biāo)控制節(jié)點(diǎn)以及使得所述目標(biāo)控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包生成第二數(shù)據(jù)包;所述第一接收模塊101還用于接收所述目標(biāo)控制節(jié)點(diǎn)發(fā)送的所述第二數(shù)據(jù)包。
根據(jù)本發(fā)明第五方面實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)(SDN)的數(shù)據(jù)節(jié)點(diǎn)10,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
數(shù)據(jù)節(jié)點(diǎn),10外部設(shè)備或控制節(jié)點(diǎn)通信相連,用來接收和處理外部設(shè)備或控制節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)流,并用于向外部設(shè)備或控制節(jié)點(diǎn)發(fā)送相關(guān)的數(shù)據(jù)信息。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)節(jié)點(diǎn)10還包括:流表103,流表用于存儲數(shù)據(jù)包的元組信息和對應(yīng)所述元組信息的處理規(guī)則。元組信息包括:數(shù)據(jù)包的源/目的MAC地址,源/目的IP地址,源/目的TCP端口,進(jìn)/出數(shù)據(jù)節(jié)點(diǎn)(交換機(jī))的網(wǎng)口,以及數(shù)據(jù)包的VLAN標(biāo)簽,這些信息可以從數(shù)據(jù)包中取得。
流表由一條條流規(guī)則組成,每條流規(guī)則包括流的傳輸層屬性和對應(yīng)的動作組成,當(dāng)前Type 0的開放流OpenFlow設(shè)備支持簡單的四種動作:轉(zhuǎn)發(fā)、丟棄、本地處理和上送控制節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,若所述第一數(shù)據(jù)包滿足預(yù)設(shè)的所述處理規(guī)則,則第一發(fā)送模塊102向所述源控制節(jié)點(diǎn)發(fā)送第一請求信息。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)節(jié)點(diǎn)10還包括:第一處理模塊104,第一處理模塊104用于根據(jù)第一接收模塊101接收到的所述目標(biāo)控制節(jié)點(diǎn)信息得到目標(biāo)控制節(jié)點(diǎn);
第一處理模塊104還用于根據(jù)所述目標(biāo)控制節(jié)點(diǎn)信息在流表103中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,所述控制節(jié)點(diǎn)編號字段用于表示源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn),所述業(yè)務(wù)參數(shù)字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對數(shù)據(jù)包的處理規(guī)則的結(jié)果。
在本發(fā)明的一個(gè)實(shí)施例中,如圖12所示,而本發(fā)明的實(shí)施例通過在初始流表中增加添加控制節(jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para實(shí)現(xiàn)對控制面多節(jié)點(diǎn)的功能支持??刂乒?jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para可以由源控制節(jié)點(diǎn)通過OpenFlow協(xié)議修改數(shù)據(jù)節(jié)點(diǎn)的流表規(guī)則時(shí)添加,控制節(jié)點(diǎn)編號Control node由源控制節(jié)點(diǎn)指定,表示當(dāng)數(shù)據(jù)節(jié)點(diǎn)對當(dāng)前業(yè)務(wù)流需要發(fā)送到目標(biāo)控制節(jié)點(diǎn)時(shí)對應(yīng)的上送的目標(biāo)控制節(jié)點(diǎn)的唯一標(biāo)示;業(yè)務(wù)參數(shù)Para為加快控制節(jié)點(diǎn)業(yè)務(wù)處理提供業(yè)務(wù)流的相關(guān)信息,通常是根據(jù)業(yè)務(wù)流的傳輸層信息匹配到對應(yīng)的策略條件按或者策略動作,如業(yè)務(wù)流已經(jīng)匹配的傳輸層策略條件或者業(yè)務(wù)流命中的規(guī)則等??梢岳斫獾氖牵鲜鰧?shù)據(jù)節(jié)點(diǎn)保存的流表字段的修改只是為了幫助理解本發(fā)明實(shí)施例而做出的一種舉例,并不能夠被設(shè)為對本發(fā)明實(shí)施例的一種具體限制。對流表字段的增加可以是在數(shù)據(jù)節(jié)點(diǎn)預(yù)設(shè)的,也可以是由最終數(shù)據(jù)節(jié)點(diǎn)完成的。在某些情況下,可以只在數(shù)據(jù)節(jié)點(diǎn)的流表中增加添加控制節(jié)點(diǎn)編號Control node,而業(yè)務(wù)參數(shù)Para提供的業(yè)務(wù)流的相關(guān)信息可以由控制節(jié)點(diǎn)根據(jù)預(yù)設(shè)策略匹配規(guī)則和業(yè)務(wù)流數(shù)據(jù)包匹配后獲得。增加業(yè)務(wù)參數(shù)Para的主要目的是為了加快控制節(jié)點(diǎn)處理相關(guān)業(yè)務(wù)流信息,提供網(wǎng)絡(luò)運(yùn)行的效率。
在本發(fā)明的一個(gè)實(shí)施例中,在流表103中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段包括:處理模塊104根據(jù)流表103對接收到的數(shù)據(jù)包進(jìn)行規(guī)則匹配處理,并將規(guī)則匹配處理后的結(jié)果填入流表103中;第一發(fā)送模塊102通過流表103的所述業(yè)務(wù)參數(shù)字段將所述數(shù)據(jù)包規(guī)則匹配處理后的結(jié)果向所述目標(biāo)控制節(jié)點(diǎn)發(fā)送。
在本發(fā)明的一個(gè)實(shí)施例中,控制節(jié)點(diǎn)編號用來唯一確定上送的控制節(jié)點(diǎn),業(yè)務(wù)參數(shù)可以是策略匹配的中間匹配結(jié)果或者是命中的策略規(guī)則,這兩個(gè)字段由控制節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)的流表中,數(shù)據(jù)節(jié)點(diǎn)在命中這條流規(guī)則并上送控制節(jié)點(diǎn)時(shí)再將策略匹配參數(shù)通過TCP-options字段帶給控制節(jié)點(diǎn),目標(biāo)控制節(jié)點(diǎn)可以根據(jù)這個(gè)參數(shù)加速規(guī)則匹配或者執(zhí)行相應(yīng)的業(yè)務(wù)。
下面結(jié)合圖9描述本發(fā)明第五方面實(shí)施例的一種基于軟件定義網(wǎng)絡(luò)中數(shù)據(jù)處理的目標(biāo)控制節(jié)點(diǎn)11,目標(biāo)控制節(jié)點(diǎn)11包括:第二接收模塊111,第二接收模塊111用于接收第一數(shù)據(jù)包,所述第一數(shù)據(jù)包攜帶有第一數(shù)據(jù)包的目標(biāo)地址,其中,所述目標(biāo)控制節(jié)點(diǎn)是由源控制節(jié)點(diǎn)根據(jù)所述第一數(shù)據(jù)包的目標(biāo)地址確定的;
第二處理模塊113,用于根據(jù)第二接收模塊111接收的所述第二數(shù)據(jù)包和匹配策略規(guī)則生成第二數(shù)據(jù)包;
第二發(fā)送模塊112,用于將所述第二處理模塊113生成的所述第二數(shù)據(jù)包向源數(shù)據(jù)節(jié)點(diǎn)發(fā)送,其中,所述源數(shù)據(jù)節(jié)點(diǎn)接收所述第一數(shù)據(jù)包,并對應(yīng)所述源控制節(jié)點(diǎn)。。
其中,第二處理模塊113可以是處理器或其它具有數(shù)據(jù)處理能力的設(shè)備。
根據(jù)本發(fā)明第五方面實(shí)施例提供的一種基于軟件定義的網(wǎng)絡(luò)(SDN)中數(shù)據(jù)處理的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)11,在提高了節(jié)點(diǎn)之間的協(xié)同合作能力的同時(shí)可以降低網(wǎng)絡(luò)設(shè)備中多節(jié)點(diǎn)處理的冗余;還增強(qiáng)了網(wǎng)絡(luò)設(shè)備對業(yè)務(wù)流數(shù)據(jù)包的處理能力,提高了網(wǎng)絡(luò)的業(yè)務(wù)處理效率。
目標(biāo)控制節(jié)點(diǎn)11與數(shù)據(jù)節(jié)點(diǎn)或源控制節(jié)點(diǎn)通信相連,在本發(fā)明的一個(gè)實(shí)施例中,目標(biāo)控制節(jié)點(diǎn)11也與服務(wù)節(jié)點(diǎn)通信相連。目標(biāo)控制節(jié)點(diǎn)11用來接收和處理數(shù)據(jù)節(jié)點(diǎn)、源控制節(jié)點(diǎn)、服務(wù)節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)流,并用于向數(shù)據(jù)節(jié)點(diǎn)、源控制節(jié)點(diǎn)、服務(wù)節(jié)點(diǎn)發(fā)送相關(guān)的數(shù)據(jù)信息。
在本發(fā)明的一個(gè)實(shí)施例中,目標(biāo)控制節(jié)點(diǎn)11還包括第二發(fā)送模塊112,第二發(fā)送模塊112用于將處理模塊113生成的所述第二數(shù)據(jù)包發(fā)送給所述源數(shù)據(jù)節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,目標(biāo)控制節(jié)點(diǎn)11還包括管理模塊114,管理模塊114用于管理所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送所述第二數(shù)據(jù)包。
在本發(fā)明的一個(gè)實(shí)施例中,第二發(fā)送模塊112還用于向所述源數(shù)據(jù)節(jié)點(diǎn)發(fā)送響應(yīng)信息,所述響應(yīng)信息用于在所述源數(shù)據(jù)節(jié)點(diǎn)的流表中添加控制節(jié)點(diǎn)編號字段和業(yè)務(wù)參數(shù)字段,所述控制節(jié)點(diǎn)編號字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的目標(biāo)控制節(jié)點(diǎn),所述業(yè)務(wù)參數(shù)字段用于表示所述源數(shù)據(jù)節(jié)點(diǎn)對數(shù)據(jù)包的處理規(guī)則的結(jié)果。
在本發(fā)明的一個(gè)實(shí)施例中,處理模塊113根據(jù)所述第一數(shù)據(jù)包和預(yù)設(shè)策略規(guī)則生成第二數(shù)據(jù)包,包括:處理模塊113根據(jù)預(yù)設(shè)策略規(guī)則對所述第一數(shù)據(jù)包進(jìn)行策略規(guī)則匹配,得到策略匹配后的結(jié)果;若處理模塊113能夠執(zhí)行所述策略匹配后的結(jié)果,則處理模塊113根據(jù)所述策略匹配后的結(jié)果生成所述第二數(shù)據(jù)包。若處理模塊113不能夠執(zhí)行所述策略匹配后的結(jié)果,則第二發(fā)送模塊112根據(jù)處理模塊113執(zhí)行所述策略匹配后的結(jié)果向服務(wù)節(jié)點(diǎn)發(fā)送能力請求信息;處理模塊113根據(jù)第二接收模塊111從所述服務(wù)節(jié)點(diǎn)接收到的能力響應(yīng)信息生成所述第二數(shù)據(jù)包,其中,所述能力響應(yīng)信息是所述服務(wù)節(jié)點(diǎn)針對相應(yīng)的所述能力請求信息所生成的。
以下結(jié)合具體的實(shí)現(xiàn)細(xì)節(jié)描述上面所述的一種基于SDN網(wǎng)絡(luò)系統(tǒng)中數(shù)據(jù)處理的方法、節(jié)點(diǎn)和系統(tǒng),需要注意的是,為了簡便起見,用于系統(tǒng)中的某些實(shí)現(xiàn)方式也可以應(yīng)用在方法或裝置中,用于方法中的某些實(shí)現(xiàn)方式也可以應(yīng)用在系統(tǒng)或裝置中??梢岳斫獾氖?,下述實(shí)現(xiàn)方式只是為了幫助理解本發(fā)明而做出的一種具體示例,而不是對本發(fā)明實(shí)施例技術(shù)方案的限制,本發(fā)明實(shí)施例的技術(shù)方案還包括其它本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方式。
下面結(jié)合圖5描述根據(jù)本發(fā)明實(shí)施例的一種數(shù)據(jù)處理的SND系統(tǒng)的結(jié)構(gòu)和功能。
如圖5所示,數(shù)據(jù)處理的SND系統(tǒng)以功能劃分的來看包括四個(gè)功能面:數(shù)據(jù)面、控制面、服務(wù)面和管理面;以業(yè)務(wù)數(shù)據(jù)處理角度來看包括三層,從下至上依次為數(shù)據(jù)層、控制層和服務(wù)層。
(1)數(shù)據(jù)面由數(shù)據(jù)交換節(jié)點(diǎn)組成,數(shù)據(jù)節(jié)點(diǎn)兼容現(xiàn)有SDN網(wǎng)絡(luò)節(jié)點(diǎn)功能,并可以支持基于OpenFlow協(xié)議與控制節(jié)點(diǎn)之間進(jìn)行通信。數(shù)據(jù)面負(fù)責(zé)根據(jù)控制面下發(fā)的流表規(guī)則完成業(yè)務(wù)流的轉(zhuǎn)發(fā)處理功能。
數(shù)據(jù)面的數(shù)據(jù)節(jié)點(diǎn)可以分為兩類:邊緣數(shù)據(jù)節(jié)點(diǎn),和外部設(shè)備連通并允許外部設(shè)備接入網(wǎng)絡(luò)的節(jié)點(diǎn),這種節(jié)點(diǎn)主要負(fù)責(zé)和外部設(shè)備進(jìn)行數(shù)據(jù)交互,前述的源數(shù)據(jù)節(jié)點(diǎn)、目標(biāo)數(shù)據(jù)節(jié)點(diǎn)都屬于邊緣數(shù)據(jù)節(jié)點(diǎn);中繼數(shù)據(jù)節(jié)點(diǎn),只和內(nèi)部其他的數(shù)據(jù)節(jié)點(diǎn)連通的節(jié)點(diǎn),中繼數(shù)據(jù)節(jié)點(diǎn)在SDN網(wǎng)絡(luò)中只和中繼數(shù)據(jù)節(jié)點(diǎn)或邊緣數(shù)據(jù)節(jié)點(diǎn)相連,并不與外部設(shè)備直接通信相連產(chǎn)生數(shù)據(jù)交互,而是間接通過邊緣數(shù)據(jù)節(jié)點(diǎn)與外部設(shè)備通信相連。
在本發(fā)明的一個(gè)實(shí)施例中,每個(gè)數(shù)據(jù)節(jié)點(diǎn)設(shè)備內(nèi)保存一張可供控制節(jié)點(diǎn)讀寫的初始流表,流表由一條條流規(guī)則組成,每條流規(guī)則包括流的傳輸層屬性和對應(yīng)的動作組成,當(dāng)前Type 0的OpenFlow設(shè)備支持簡單的四種動作:轉(zhuǎn)發(fā)、丟棄、本地處理和上送控制節(jié)點(diǎn)。如圖12所示,而本發(fā)明的實(shí)施例通過在初始流表中增加添加控制節(jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para實(shí)現(xiàn)對控制面多節(jié)點(diǎn)的功能支持??刂乒?jié)點(diǎn)編號Control node和業(yè)務(wù)參數(shù)Para可以由源控制節(jié)點(diǎn)通過OpenFlow協(xié)議修改數(shù)據(jù)節(jié)點(diǎn)的流表規(guī)則時(shí)添加,控制節(jié)點(diǎn)編號Control node由源控制節(jié)點(diǎn)指定,表示當(dāng)數(shù)據(jù)節(jié)點(diǎn)對當(dāng)前業(yè)務(wù)流需要發(fā)送到目標(biāo)控制節(jié)點(diǎn)時(shí)對應(yīng)的上送的目標(biāo)控制節(jié)點(diǎn)的唯一標(biāo)示;業(yè)務(wù)參數(shù)Para為加快控制節(jié)點(diǎn)業(yè)務(wù)處理提供業(yè)務(wù)流的相關(guān)信息,通常是根據(jù)業(yè)務(wù)流的傳輸層信息匹配到對應(yīng)的策略條件按或者策略動作,如業(yè)務(wù)流已經(jīng)匹配的傳輸層策略條件或者業(yè)務(wù)流命中的規(guī)則等。可以理解的是,上述對數(shù)據(jù)節(jié)點(diǎn)保存的流表字段的修改只是為了幫助理解本發(fā)明實(shí)施例而做出的一種舉例,并不能夠被設(shè)為對本發(fā)明實(shí)施例的一種具體限制。對流表字段的增加可以是在數(shù)據(jù)節(jié)點(diǎn)預(yù)設(shè)的,也可以是由最終數(shù)據(jù)節(jié)點(diǎn)完成的。在某些情況下,可以只在數(shù)據(jù)節(jié)點(diǎn)的流表中增加添加控制節(jié)點(diǎn)編號Control node,而業(yè)務(wù)參數(shù)Para提供的業(yè)務(wù)流的相關(guān)信息可以由控制節(jié)點(diǎn)根據(jù)預(yù)設(shè)策略匹配規(guī)則和業(yè)務(wù)流數(shù)據(jù)包匹配后獲得。增加業(yè)務(wù)參數(shù)Para的主要目的是為了加快控制節(jié)點(diǎn)處理相關(guān)業(yè)務(wù)流信息,提供網(wǎng)絡(luò)運(yùn)行的效率。
下面結(jié)合圖12描述根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)面具體的功能實(shí)現(xiàn)方式,如圖12所示,因?yàn)橐粋€(gè)數(shù)據(jù)節(jié)點(diǎn)可能和控制面的多個(gè)控制節(jié)點(diǎn)連通,所以數(shù)據(jù)節(jié)點(diǎn)在流表動作send to controller即上送控制節(jié)點(diǎn)時(shí),需要指明上送控制節(jié)點(diǎn)的唯一標(biāo)記。因此,如圖10所示,擴(kuò)展的OpenFlow流表結(jié)構(gòu)在原有流表基礎(chǔ)上擴(kuò)展控制節(jié)點(diǎn)編號(Control Node)和業(yè)務(wù)參數(shù)(Para)兩個(gè)字段??刂乒?jié)點(diǎn)編號用來唯一確定上送的控制節(jié)點(diǎn),業(yè)務(wù)參數(shù)可以是策略匹配的中間匹配結(jié)果或者是命中的策略規(guī)則,這兩個(gè)字段由控制節(jié)點(diǎn)添加到數(shù)據(jù)節(jié)點(diǎn)的流表中,數(shù)據(jù)節(jié)點(diǎn)在命中這條流規(guī)則并上送控制節(jié)點(diǎn)時(shí)再將策略匹配參數(shù)通過TCP-options字段帶給控制節(jié)點(diǎn),控制節(jié)點(diǎn)可以根據(jù)這個(gè)參數(shù)加速規(guī)則匹配或者執(zhí)行相應(yīng)的業(yè)務(wù)。
數(shù)據(jù)節(jié)點(diǎn)2針對來源于IP地址范圍在1.1.*.*的業(yè)務(wù)流預(yù)設(shè)的上傳的源控制節(jié)點(diǎn)為控制節(jié)點(diǎn)1。
對于從端口6進(jìn)入的業(yè)務(wù)流,如果其VLAN號為2002,數(shù)據(jù)節(jié)點(diǎn)2默認(rèn)的匹配規(guī)則是將該業(yè)務(wù)流轉(zhuǎn)發(fā)到port1,此時(shí)并不涉及應(yīng)用層業(yè)務(wù)的處理,在數(shù)據(jù)節(jié)點(diǎn)2處即可完成對應(yīng)匹配規(guī)則的處理動作;
對于從端口1進(jìn)入的業(yè)務(wù)流,如果其IP地址為2.2.2.2,數(shù)據(jù)節(jié)點(diǎn)2默認(rèn)的匹配規(guī)則是丟棄該業(yè)務(wù)流的數(shù)據(jù)包,此時(shí)也不涉及應(yīng)用層業(yè)務(wù)的處理,在數(shù)據(jù)節(jié)點(diǎn)2處即可完成對應(yīng)匹配規(guī)則的處理動作;
對于從端口6進(jìn)入的業(yè)務(wù)流,如果其通信端口為80,數(shù)據(jù)節(jié)點(diǎn)2的匹配規(guī)則是將該業(yè)務(wù)流的數(shù)據(jù)包上送控制節(jié)點(diǎn),對應(yīng)的控制節(jié)點(diǎn)編號為1,即上送到控制節(jié)點(diǎn)1,業(yè)務(wù)參數(shù)Para值為10,即命中對應(yīng)10的策略規(guī)則,例如該策略規(guī)則可以是例如策略規(guī)則是:
IF port=80&&url=www.xxx.com THEN redirect to url=www.yyy.com
其中port=80的條件對應(yīng)業(yè)務(wù)參數(shù)10。
對于其它業(yè)務(wù)流,數(shù)據(jù)節(jié)點(diǎn)2的匹配規(guī)則是將該業(yè)務(wù)流的數(shù)據(jù)包上送控制節(jié)點(diǎn),對應(yīng)的控制節(jié)點(diǎn)編號為1,即上送到控制節(jié)點(diǎn)1,業(yè)務(wù)參數(shù)Para值為0,即命中對應(yīng)0的策略規(guī)則,例如該策略規(guī)則可以是該規(guī)則可以是:
IF url=www.xxx.com THEN redirect to url=www.zzz.com。
策略規(guī)則是網(wǎng)絡(luò)管理員通過管理面的規(guī)則管理配置進(jìn)來的,控制節(jié)點(diǎn)根據(jù)規(guī)則具體涉及傳輸層或者應(yīng)用層的條件(策略規(guī)則的IF部分),下發(fā)流表參數(shù)給數(shù)據(jù)節(jié)點(diǎn),如對應(yīng)業(yè)務(wù)參數(shù)10的例子中,數(shù)據(jù)節(jié)點(diǎn)只匹配到數(shù)據(jù)包端口80這個(gè)信息就可以通過業(yè)務(wù)參數(shù)10帶給控制節(jié)點(diǎn),控制節(jié)點(diǎn)根據(jù)業(yè)務(wù)參數(shù)知道數(shù)據(jù)節(jié)點(diǎn)已經(jīng)匹配了這個(gè)數(shù)據(jù)包滿足條件port=80,控制節(jié)點(diǎn)只需要繼續(xù)匹配url是否滿足url=www.xxx.com的條件就可以,不需要再匹配數(shù)據(jù)包的端口號,這個(gè)例子和業(yè)務(wù)參數(shù)值為0的例子的區(qū)別在于控制節(jié)點(diǎn)根據(jù)業(yè)務(wù)參數(shù)0和10區(qū)分是否匹配了port=80的條件。
可以理解的是,上述實(shí)施例只是為了幫助理解本發(fā)明實(shí)施例而作出的一種示例,并不能視為對本發(fā)明實(shí)施例的一種具體限制。本發(fā)明實(shí)施例還可以包括其它本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方式。
(2)控制面除了兼容SDN網(wǎng)絡(luò)已有的傳輸層業(yè)務(wù)功能,如流量控制、路由分配、負(fù)載均衡等之外,還負(fù)責(zé)完成應(yīng)用層的業(yè)務(wù),如協(xié)議識別、解析,策略規(guī)則的匹配并根據(jù)規(guī)則匹配結(jié)果下發(fā)動作給數(shù)據(jù)節(jié)點(diǎn)和調(diào)用相應(yīng)的服務(wù)功能。
本發(fā)明中控制面通過多節(jié)點(diǎn)分層部署方式,根據(jù)數(shù)據(jù)節(jié)點(diǎn)的位置和業(yè)務(wù)流的IP地址信息,按照區(qū)域和流劃分每個(gè)控制節(jié)點(diǎn)管理的業(yè)務(wù)流。并滿足一條業(yè)務(wù)流始終被統(tǒng)一個(gè)控制節(jié)點(diǎn)管理的原則。
在本發(fā)明的一個(gè)實(shí)施例中,控制面以對稱扇形劃分?jǐn)?shù)據(jù)面的區(qū)域,每個(gè)控制節(jié)點(diǎn)可以管理一個(gè)對稱區(qū)域內(nèi)的邊緣數(shù)據(jù)節(jié)點(diǎn)和全部的中繼數(shù)據(jù)節(jié)點(diǎn)??刂乒?jié)點(diǎn)按區(qū)域管理的方法如圖11中所示。數(shù)據(jù)面包含多個(gè)邊緣數(shù)據(jù)節(jié)點(diǎn),(中繼數(shù)據(jù)節(jié)點(diǎn)未畫出)并以對稱扇形劃分為若干個(gè)區(qū)域,圖14中標(biāo)記出A區(qū)域和B區(qū)域,控制面由多層的控制節(jié)點(diǎn)組成,控制節(jié)點(diǎn)node1和node2分別管理區(qū)域A和區(qū)域B中的邊緣數(shù)據(jù)節(jié)點(diǎn)和中繼數(shù)據(jù)節(jié)點(diǎn),控制節(jié)點(diǎn)node1和node2的父節(jié)點(diǎn)node11管理區(qū)域A和區(qū)域B的所有節(jié)點(diǎn),依次類推,控制節(jié)點(diǎn)通過分層的方式,父節(jié)點(diǎn)的可以管理所有子節(jié)點(diǎn)管理的全部區(qū)域,最上層的控制節(jié)點(diǎn)可以管理數(shù)據(jù)面全部的數(shù)據(jù)節(jié)點(diǎn)。
業(yè)務(wù)流確定所屬管理的控制節(jié)點(diǎn)具體流程如圖15所示,控制節(jié)點(diǎn)在首次收到數(shù)據(jù)節(jié)點(diǎn)上送的業(yè)務(wù)流時(shí),根據(jù)業(yè)務(wù)流的目的IP地址和路由選擇結(jié)果確定業(yè)務(wù)流進(jìn)入網(wǎng)絡(luò)和離開網(wǎng)絡(luò)數(shù)據(jù)面的數(shù)據(jù)節(jié)點(diǎn)所在區(qū)域,如果業(yè)務(wù)流離開網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)位置和進(jìn)入網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)位置不在當(dāng)前控制節(jié)點(diǎn)的管理區(qū)域范圍內(nèi),則控制節(jié)點(diǎn)會將業(yè)務(wù)流上送上一層控制節(jié)點(diǎn)處理,依次類推,業(yè)務(wù)流根據(jù)進(jìn)入和離開網(wǎng)絡(luò)的節(jié)點(diǎn)位置所在區(qū)域被最終確定在某一個(gè)控制節(jié)點(diǎn)管理。
以業(yè)務(wù)流的IP地址劃分控制節(jié)點(diǎn)的方法允許一個(gè)數(shù)據(jù)節(jié)點(diǎn)同時(shí)被多個(gè)控制節(jié)點(diǎn)管理,數(shù)據(jù)節(jié)點(diǎn)可以根據(jù)業(yè)務(wù)流的IP地址范圍選擇對應(yīng)的控制節(jié)點(diǎn)。
在本發(fā)明的一個(gè)實(shí)施例中,如圖13所示,數(shù)據(jù)節(jié)點(diǎn)采取如下方式根據(jù)業(yè)務(wù)流的IP地址范圍選擇對應(yīng)的控制節(jié)點(diǎn):
控制面由多個(gè)控制節(jié)點(diǎn)組成,控制節(jié)點(diǎn)按對稱扇形區(qū)域劃分控制的數(shù)據(jù)節(jié)點(diǎn),控制節(jié)點(diǎn)node1和node2同時(shí)控制區(qū)域A范圍內(nèi)的數(shù)據(jù)節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)根據(jù)源IP將業(yè)務(wù)流分配給不同的數(shù)據(jù)節(jié)點(diǎn),IP范圍在1.1.1.1~1.1.1.127的業(yè)務(wù)流在流表中對應(yīng)的控制節(jié)點(diǎn)編號1(對應(yīng)控制節(jié)點(diǎn)node1),而IP范圍在1.1.1.128~1.1.1.254的業(yè)務(wù)流在流表中對應(yīng)的控制節(jié)點(diǎn)編號2(對應(yīng)控制節(jié)點(diǎn)node2)。數(shù)據(jù)節(jié)點(diǎn)針對不同的IP地址范圍對應(yīng)的控制節(jié)點(diǎn)編號可以預(yù)設(shè)在數(shù)據(jù)節(jié)點(diǎn)的流表里??梢岳斫獾氖牵鲜鰧?shí)施例只是為理解對本發(fā)明實(shí)施例而做出的一種示例,并不能視為對本發(fā)明實(shí)施例的一種具體限制。如圖15所示,還可以根據(jù)不同的IP地址范圍確定上層控制節(jié)點(diǎn),對于IP范圍在1.1.1.1~1.1.1.127的業(yè)務(wù)流,其上層控制節(jié)點(diǎn)為node11,而IP范圍在1.1.1.128~1.1.1.254的業(yè)務(wù)流對應(yīng)上層控制節(jié)點(diǎn)node22。
(3)服務(wù)面可以為多控制節(jié)點(diǎn)提供統(tǒng)一的應(yīng)用層業(yè)務(wù)的處理能力,比如如下能力:
緩存共享能力:所有控制節(jié)點(diǎn)可以共享緩存信息,一個(gè)控制節(jié)點(diǎn)請求的數(shù)據(jù)如果可以在緩存中找到,直接取緩存數(shù)據(jù),提高網(wǎng)絡(luò)訪問性能;
鏈路質(zhì)量信息共享:所有控制節(jié)點(diǎn)可以將當(dāng)前鏈路狀態(tài)信息共享,控制節(jié)點(diǎn)在分配路由時(shí)可以根據(jù)鏈路狀態(tài)優(yōu)化路由選擇;
P2P協(xié)議類的peer地址信息共享,可以在為P2P類協(xié)議請求時(shí)選擇提供局域網(wǎng)內(nèi)的peer地址列表,提高P2P類下載速度;
網(wǎng)絡(luò)加速業(yè)務(wù)報(bào)文壓縮解壓縮能力。
各種業(yè)務(wù)處理能力通過開放的OpenAPI的接口方式提供給控制節(jié)點(diǎn)調(diào)用,各種能力可以以多線程、多進(jìn)程、多設(shè)備的方式部署;相同能力之間可以通過共享池共享數(shù)據(jù),共享能力池可以是全局變量、共享內(nèi)存或者統(tǒng)一資源訪問設(shè)備的形式。
在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)面的能力執(zhí)行過程包括:控制節(jié)點(diǎn)根據(jù)規(guī)則配置向服務(wù)面注冊某種能力,服務(wù)面為控制節(jié)點(diǎn)復(fù)制能力,同時(shí)控制節(jié)點(diǎn)在業(yè)務(wù)處理流程中分配能力的執(zhí)行點(diǎn);當(dāng)控制節(jié)點(diǎn)匹配上某個(gè)業(yè)務(wù)處理動作時(shí),則激活處理鏈中的能力執(zhí)行點(diǎn)通過開放接口調(diào)用服務(wù)面的處理業(yè)務(wù)的能力。
在本發(fā)明的一個(gè)實(shí)施例中,服務(wù)面的能力執(zhí)行過程包括:(1)初始化注冊階段,控制節(jié)點(diǎn)啟動時(shí)根據(jù)當(dāng)前在控制節(jié)點(diǎn)的業(yè)務(wù)規(guī)則全集,如:當(dāng)前控制節(jié)點(diǎn)上配置了緩存共享,則控制節(jié)點(diǎn)向服務(wù)面首先進(jìn)行能力注冊,服務(wù)面在收到控制節(jié)點(diǎn)的能力注冊請求后,則分配相應(yīng)的資源給控制節(jié)點(diǎn),如分配數(shù)據(jù)存儲空間和為當(dāng)前注冊節(jié)點(diǎn)的信息初始化操作,同時(shí)控制節(jié)點(diǎn)在內(nèi)部處理流程中分配能力的執(zhí)行點(diǎn),如在命中規(guī)則后的動作執(zhí)行階段,分配能力的調(diào)度點(diǎn)。(2)運(yùn)行階段的能力激活,控制節(jié)點(diǎn)在執(zhí)行業(yè)務(wù)處理過程中在能力調(diào)度點(diǎn)需要調(diào)度業(yè)務(wù)層的某種能力時(shí),則控制節(jié)點(diǎn)向服務(wù)面發(fā)起能力執(zhí)行請求,如緩存能力共享業(yè)務(wù)中控制節(jié)點(diǎn)向服務(wù)面發(fā)起請求緩存信息,服務(wù)面收到控制節(jié)點(diǎn)的執(zhí)行請求后,根據(jù)控制節(jié)點(diǎn)請求的緩存內(nèi)容索引查找共享緩存池,如果找到則返回給控制節(jié)點(diǎn)緩存數(shù)據(jù),并標(biāo)志找到緩存,如果服務(wù)面在共享緩存池中沒有找到則返回空,并標(biāo)志未找到緩存數(shù)據(jù),控制節(jié)點(diǎn)根據(jù)服務(wù)面的能力執(zhí)行的返回結(jié)果,繼續(xù)業(yè)務(wù)處理。(3)退出取消注冊階段,控制節(jié)點(diǎn)在正常關(guān)閉退出時(shí)需要向服務(wù)面取消注冊,由控制節(jié)點(diǎn)向服務(wù)面發(fā)起取消注冊請求消息,服務(wù)面根據(jù)控制節(jié)點(diǎn)的請求消息,回收已經(jīng)分配的資源,如回收分配的空間,并執(zhí)行將控制節(jié)點(diǎn)的注冊信息清理操作。
可以理解的是,上述服務(wù)面的能力執(zhí)行過程只是為了幫助理解本發(fā)明實(shí)施例而作出的一種具體示例,而不是對本發(fā)明實(shí)施例的一種具體限制,服務(wù)面也可以預(yù)先設(shè)置多種處理能力和服務(wù)方式,不需要控制節(jié)點(diǎn)向服務(wù)面注冊。服務(wù)面能力實(shí)現(xiàn)的方式還包括其它本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方式。
(4)管理面負(fù)責(zé)數(shù)據(jù)面網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)管理、策略規(guī)則管理和服務(wù)面的資源管理。網(wǎng)絡(luò)拓?fù)涔芾戆瑪?shù)據(jù)面節(jié)點(diǎn)間的連通路徑、端口分配和每個(gè)數(shù)據(jù)節(jié)點(diǎn)接入的客戶端IP地址段范圍。策略規(guī)則管理是指用戶配置的業(yè)務(wù)處理的相關(guān)規(guī)則,策略規(guī)則由傳輸層或者應(yīng)用層策略條件和對應(yīng)的業(yè)務(wù)處理動作組成。管理面可以在SDN網(wǎng)絡(luò)系統(tǒng)初始設(shè)置時(shí)實(shí)現(xiàn)上述管理方式,也可以在SDN網(wǎng)絡(luò)系統(tǒng)運(yùn)行時(shí)根據(jù)SDN網(wǎng)絡(luò)的實(shí)時(shí)情況或者用戶需要對上述管理方式進(jìn)行設(shè)置或修改。
在本發(fā)明的一個(gè)實(shí)施例中,管理面負(fù)責(zé)數(shù)據(jù)面網(wǎng)絡(luò)結(jié)構(gòu)的管理、數(shù)據(jù)節(jié)點(diǎn)和控制節(jié)點(diǎn)的連接拓?fù)涔芾?、策略?guī)則管理、和服務(wù)面的資源管理。管理面是提供給網(wǎng)絡(luò)管理員的配置管理界面,在系統(tǒng)啟動初始化階段,網(wǎng)絡(luò)管理員將拓?fù)湫畔⑼ㄟ^管理面下發(fā)給各個(gè)控制節(jié)點(diǎn),為后續(xù)控制節(jié)點(diǎn)路由分配時(shí)提供鏈路連接信息;策略規(guī)則信息由多條規(guī)則組成,每條策略規(guī)則由L1-4層或者應(yīng)用層條件和對應(yīng)的業(yè)務(wù)動作組成,如:規(guī)則1:IF(條件)IP=10.10.10.*并且url=www.abcd.com/*的業(yè)務(wù)流,THEN(動作)redirect url=www.xxxx.com/portal執(zhí)行重定向動作,其中IP=10.10.10.*是傳輸層信息構(gòu)成的條件,url=是L7層信息構(gòu)成的條件;管理面提供網(wǎng)絡(luò)管理員規(guī)則配置接口,由網(wǎng)絡(luò)管理員配置策略規(guī)則集,并通過管理面將規(guī)則分發(fā)給控制節(jié)點(diǎn),控制節(jié)點(diǎn)根據(jù)分配的規(guī)則集合完成初始化,包括向服務(wù)面注冊能力。
如圖14所示,本發(fā)明的實(shí)施例中通過管理面策略規(guī)則的集中管理,并根據(jù)用戶的配置策略規(guī)則分配數(shù)據(jù)節(jié)點(diǎn)和控制節(jié)點(diǎn)的能力,具體方法是根據(jù)業(yè)務(wù)流的請求或者響應(yīng)類型和進(jìn)網(wǎng)絡(luò)和出網(wǎng)絡(luò)的位置劃分六個(gè)業(yè)務(wù)處理點(diǎn):①請求報(bào)文進(jìn)網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn);②請求報(bào)文進(jìn)入的控制節(jié)點(diǎn);③請求報(bào)文出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn);④響應(yīng)報(bào)文進(jìn)網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn);⑤響應(yīng)報(bào)文進(jìn)入的控制節(jié)點(diǎn);⑥響應(yīng)報(bào)文出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)。根據(jù)策略規(guī)則的條件類型,動作類型分配業(yè)務(wù)的處理點(diǎn)和為節(jié)點(diǎn)分配相應(yīng)的能力,分配方法如圖所示,從物理上看,①和⑥對應(yīng)同一個(gè)物理數(shù)據(jù)節(jié)點(diǎn),②和⑤對應(yīng)同一個(gè)物理控制節(jié)點(diǎn),③和④對應(yīng)同一個(gè)物理數(shù)據(jù)節(jié)點(diǎn)。
舉例1:策略條件是依賴傳輸層報(bào)文信息的條件且策略動作是丟棄或者轉(zhuǎn)發(fā)等非業(yè)務(wù)動作,則需要在位置①和④分配數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的傳輸層條件作為OpenFlow流表的元組,流表的動作為策略動作(轉(zhuǎn)發(fā)或者丟棄)。
舉例2:策略條件是依賴請求報(bào)文的傳輸層信息的條件且策略動作是某種業(yè)務(wù)處理,則需要在位置①分配數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的傳輸層條件作為OpenFlow流表的元組,流表動作為sendto controller上送控制節(jié)點(diǎn),Control Node為位置②的控制節(jié)點(diǎn)編號,策略參數(shù)為對應(yīng)的業(yè)務(wù)動作的索引,同時(shí)需要在位置②分配控制節(jié)點(diǎn)策略動作對應(yīng)的業(yè)務(wù)處理能力??刂乒?jié)點(diǎn)根據(jù)數(shù)據(jù)節(jié)點(diǎn)上送報(bào)文的策略參數(shù)可以直接索引到應(yīng)該執(zhí)行的相應(yīng)業(yè)務(wù)處理。
舉例3:策略條件是依賴響應(yīng)報(bào)文的傳輸層和應(yīng)用層信息的條件且策略動作是某種業(yè)務(wù)處理,則需要在位置④分配數(shù)據(jù)節(jié)點(diǎn)對應(yīng)的傳輸層條件作為OpenFlow流表的元組,流表動作為sendto controller上送控制節(jié)點(diǎn),Control Node為位置⑤的控制節(jié)點(diǎn)編號,策略參數(shù)為傳輸層信息的策略匹配的中間結(jié)果,同時(shí)需要在位置⑤分配控制節(jié)點(diǎn)7層的協(xié)議識別解析、規(guī)則匹配和相應(yīng)業(yè)務(wù)處理能力??刂乒?jié)點(diǎn)根據(jù)數(shù)據(jù)節(jié)點(diǎn)上送報(bào)文的策略參數(shù)獲得報(bào)文傳輸層條件匹配的中間結(jié)果,并結(jié)合應(yīng)用層處理得到的報(bào)文信息完成策略匹配,再根據(jù)策略匹配結(jié)果執(zhí)行相應(yīng)的業(yè)務(wù)處理。
下面結(jié)合圖16描述根據(jù)本發(fā)明實(shí)施例的一種數(shù)據(jù)處理的SDN網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)流。
如圖16所示,根據(jù)本發(fā)明實(shí)施例的一種數(shù)據(jù)處理的SDN網(wǎng)絡(luò)系統(tǒng),
源數(shù)據(jù)節(jié)點(diǎn)接收到業(yè)務(wù)流數(shù)據(jù)包后,首先在源數(shù)據(jù)節(jié)點(diǎn)處對數(shù)據(jù)包進(jìn)行傳輸層的流表匹配,根據(jù)命中的規(guī)則執(zhí)行相應(yīng)的動作。如果命中的匹配規(guī)則是上送控制節(jié)點(diǎn),則執(zhí)行1。
1.源數(shù)據(jù)節(jié)點(diǎn)1向源控制節(jié)點(diǎn)1發(fā)送數(shù)據(jù)信息,該數(shù)據(jù)信息包括了源數(shù)據(jù)節(jié)點(diǎn)接收到的業(yè)務(wù)流的首數(shù)據(jù)包。源控制節(jié)點(diǎn)1根據(jù)業(yè)務(wù)流的首數(shù)據(jù)包的目標(biāo)IP地址確定目標(biāo)控制節(jié)點(diǎn)2。
2.目標(biāo)控制節(jié)點(diǎn)2針對源數(shù)據(jù)節(jié)點(diǎn)1發(fā)送的數(shù)據(jù)信息通過OpenFlow協(xié)議修改源數(shù)據(jù)節(jié)點(diǎn)的流表規(guī)則,添加控制節(jié)點(diǎn)編號和業(yè)務(wù)參數(shù)字段??刂乒?jié)點(diǎn)編號為當(dāng)前業(yè)務(wù)流需要上送控制節(jié)點(diǎn)時(shí)對應(yīng)上送的控制節(jié)點(diǎn)唯一標(biāo)示。業(yè)務(wù)參數(shù)字段由目標(biāo)控制節(jié)點(diǎn)2下發(fā)給源數(shù)據(jù)節(jié)點(diǎn)1,標(biāo)記源數(shù)據(jù)節(jié)點(diǎn)中流表項(xiàng)對應(yīng)的策略規(guī)則索引。
3.源數(shù)據(jù)節(jié)點(diǎn)1根據(jù)流表規(guī)則,對數(shù)據(jù)包進(jìn)行規(guī)則匹配,并最終匹配到一條流表規(guī)則R,并根據(jù)流表規(guī)則R的動作參數(shù)轉(zhuǎn)發(fā)、本地處理或者上送控制節(jié)點(diǎn),如果動作是上送控制節(jié)點(diǎn)則根據(jù)流表規(guī)則R中上送控制節(jié)點(diǎn)的編號選擇上送的控制節(jié)點(diǎn),并將流表規(guī)則R中業(yè)務(wù)參數(shù)字段填入數(shù)據(jù)包的擴(kuò)展字段中,例如通過TCP-options字段將業(yè)務(wù)參數(shù)帶給控制節(jié)點(diǎn),業(yè)務(wù)參數(shù)字段由目標(biāo)控制節(jié)點(diǎn)2寫入數(shù)據(jù)節(jié)點(diǎn)1的流表中,控制節(jié)點(diǎn)可以通過數(shù)據(jù)包中攜帶的業(yè)務(wù)參數(shù)加速業(yè)務(wù)規(guī)則匹配過程。
4.初始控制節(jié)點(diǎn)1將接收到的業(yè)務(wù)流的數(shù)據(jù)包發(fā)送給最終數(shù)據(jù)節(jié)點(diǎn)2,以便最終數(shù)據(jù)節(jié)點(diǎn)2處理,業(yè)務(wù)參數(shù)字段是在這里隨數(shù)據(jù)包添加到擴(kuò)展字段的TCP-options字段里面帶給目標(biāo)控制節(jié)點(diǎn)2的。
5.服務(wù)面可以為目標(biāo)控制節(jié)點(diǎn)2提供統(tǒng)一的應(yīng)用層業(yè)務(wù)的處理能力,各種業(yè)務(wù)處理能力可以通過開放的OpenAPI的接口方式提供給目標(biāo)控制節(jié)點(diǎn)2調(diào)用,目標(biāo)控制節(jié)點(diǎn)2根據(jù)從源控制節(jié)點(diǎn)1接收到的數(shù)據(jù)包向服務(wù)面發(fā)出請求信息,請求調(diào)用處理該數(shù)據(jù)包所需要的服務(wù)能力。
6.服務(wù)面將目標(biāo)控制節(jié)點(diǎn)2調(diào)用的服務(wù)能力發(fā)送給目標(biāo)控制節(jié)點(diǎn)2,目標(biāo)控制節(jié)點(diǎn)2利用該服務(wù)能力對業(yè)務(wù)流的數(shù)據(jù)包進(jìn)行處理,得到處理后的業(yè)務(wù)流數(shù)據(jù)包。
7.目標(biāo)控制節(jié)點(diǎn)2將處理后的業(yè)務(wù)流的數(shù)據(jù)包發(fā)送給源數(shù)據(jù)節(jié)點(diǎn)1,同時(shí)目標(biāo)控制節(jié)點(diǎn)2根據(jù)網(wǎng)絡(luò)當(dāng)前狀態(tài),結(jié)合一定的帶寬、路由分配策略為業(yè)務(wù)流分配一條路由,并將規(guī)則通過OpenFlow協(xié)議下發(fā)給相應(yīng)的中繼數(shù)據(jù)節(jié)點(diǎn),在中繼數(shù)據(jù)節(jié)點(diǎn)的流表中添加這條流對應(yīng)的規(guī)則。
8.源數(shù)據(jù)節(jié)點(diǎn)1將目標(biāo)控制節(jié)點(diǎn)2處理后的業(yè)務(wù)流數(shù)據(jù)包經(jīng)過一個(gè)或多個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)2向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)3發(fā)送。
可以理解的是,上述實(shí)施例只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體舉例,并不能視為對本發(fā)明實(shí)施例的一種限制,上述1-8的數(shù)據(jù)編號上并不能視為對數(shù)據(jù)流向傳輸?shù)牟襟E做出的順序限制,其中的部分步驟可以交換順序或按照其他本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方式執(zhí)行。
下面結(jié)合圖17–圖20描述本發(fā)明實(shí)施例的幾種具體實(shí)現(xiàn)場景。
如圖17所示,客戶端集群1的某一個(gè)業(yè)務(wù)流的數(shù)據(jù)報(bào)文從數(shù)據(jù)節(jié)點(diǎn)A處進(jìn)入到SDN網(wǎng)絡(luò)中,該數(shù)據(jù)報(bào)文經(jīng)過多個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)(圖中未示出)的傳輸,最終通過數(shù)據(jù)節(jié)點(diǎn)B處到達(dá)服務(wù)器集群1。
其中,數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)B都由控制節(jié)點(diǎn)Cnode1管理,控制節(jié)點(diǎn)Cnode1通過OpenFlow協(xié)議維護(hù)數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)B的流表。(1)客戶端發(fā)送的業(yè)務(wù)流數(shù)據(jù)包首先經(jīng)過數(shù)據(jù)節(jié)點(diǎn)A;(2)當(dāng)業(yè)務(wù)流的第一個(gè)數(shù)據(jù)包(首包)達(dá)到數(shù)據(jù)節(jié)點(diǎn)A時(shí),數(shù)據(jù)節(jié)點(diǎn)A通過對數(shù)據(jù)首包進(jìn)行流表匹配,得到默認(rèn)流表項(xiàng)對應(yīng)的動作是sendto controller,默認(rèn)的控制節(jié)點(diǎn)編號Cnode1,默認(rèn)業(yè)務(wù)參數(shù)為空;(3)數(shù)據(jù)節(jié)點(diǎn)A根據(jù)控制節(jié)點(diǎn)編號將該數(shù)據(jù)包上送至默認(rèn)控制節(jié)點(diǎn)Cnode1,控制節(jié)點(diǎn)Cnode1對數(shù)據(jù)包進(jìn)行策略規(guī)則匹配,假設(shè)網(wǎng)絡(luò)管理員配置了一條策略規(guī)則1:IF ip=11.11.11.*&&protocol=HTTP THEN IPS check;規(guī)則2:IF ip=11.11.11.*&&url=www.xxx.com THEN block;數(shù)據(jù)包的策略匹配結(jié)果是滿足ip=11.11.11.*的編號10條件,則控制節(jié)點(diǎn)Cnode1下發(fā)給數(shù)據(jù)節(jié)點(diǎn)A增加一條流表項(xiàng)I,內(nèi)容為元組中ip=11.11.11.*的數(shù)據(jù)流對應(yīng)的業(yè)務(wù)參數(shù)10,且根據(jù)數(shù)據(jù)包的目標(biāo)地址確定數(shù)據(jù)包出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)為B,由于數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)B都由控制節(jié)點(diǎn)Cnode1管理,因此控制節(jié)點(diǎn)Cnode1即確定為目標(biāo)控制節(jié)點(diǎn),控制節(jié)點(diǎn)A下發(fā)給數(shù)據(jù)節(jié)點(diǎn)流表項(xiàng)I中的控制節(jié)點(diǎn)編號為自身節(jié)點(diǎn)編號;(4)控制節(jié)點(diǎn)Cnode1同樣通過OpenFlow協(xié)議更新數(shù)據(jù)流路由上各中繼數(shù)據(jù)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)B的流表;(5)控制節(jié)點(diǎn)Cnode1將數(shù)據(jù)包轉(zhuǎn)發(fā)回?cái)?shù)據(jù)節(jié)點(diǎn),各個(gè)數(shù)據(jù)節(jié)點(diǎn)按照自己流表規(guī)則對數(shù)據(jù)包匹配轉(zhuǎn)發(fā),最終數(shù)據(jù)包首包經(jīng)過數(shù)據(jù)節(jié)點(diǎn)B出網(wǎng)絡(luò)達(dá)到服務(wù)器;(6)數(shù)據(jù)節(jié)點(diǎn)根據(jù)流表規(guī)則處理業(yè)務(wù)流上的后續(xù)數(shù)據(jù)包。
服務(wù)面的共享能力池含有針對HTTP(hypertext transport protocol,超文本傳輸協(xié)議)協(xié)議的數(shù)據(jù)包識別、解析能力,URL(Uniform Resource Locator,統(tǒng)一資源定位器)匹配能力。
控制節(jié)點(diǎn)Cnode1基于預(yù)設(shè)的匹配規(guī)則向服務(wù)面注冊業(yè)務(wù)處理能力,當(dāng)需要匹配某個(gè)業(yè)務(wù)處理動作時(shí),則控制節(jié)點(diǎn)Cnode1可以通過開放接口激活服務(wù)面的業(yè)務(wù)處理能力。如果需要對業(yè)務(wù)流進(jìn)行協(xié)議的識別、解析或者URL匹配處理,則控制節(jié)點(diǎn)Cnode1調(diào)用服務(wù)面的業(yè)務(wù)的處理能力對業(yè)務(wù)流進(jìn)行處理,并將處理后的數(shù)據(jù)包發(fā)送給數(shù)據(jù)節(jié)點(diǎn)A。
如上例中,(7)當(dāng)控制節(jié)點(diǎn)Cnode1對業(yè)務(wù)流的后續(xù)報(bào)文進(jìn)行策略匹配如果數(shù)據(jù)節(jié)點(diǎn)上送數(shù)據(jù)包攜帶的業(yè)務(wù)參數(shù)為10,即滿足ip=11.11.11.*時(shí),則控制節(jié)點(diǎn)Cnode1需要進(jìn)一步對數(shù)據(jù)包進(jìn)行匹配是否滿足條件url=www.xxx.com和條件protocol=HTTP,控制節(jié)點(diǎn)Cnode1向服務(wù)面首先激活協(xié)議識別、解析能力;(8)服務(wù)面在收到控制節(jié)點(diǎn)的能力請求時(shí)對包進(jìn)行識別、解析處理,并將結(jié)果返回給控制節(jié)點(diǎn);(9)控制節(jié)點(diǎn)判斷如果識別解析結(jié)果為protocol=HTTP則進(jìn)一步激活URL匹配能力,服務(wù)面繼續(xù)完成對數(shù)據(jù)包的URL匹配并將結(jié)果返回給控制節(jié)點(diǎn);(10)控制節(jié)點(diǎn)根據(jù)服務(wù)面返回結(jié)果完成策略匹配,并執(zhí)行響應(yīng)策略動作,如匹配上規(guī)則2執(zhí)行動作block阻塞,則控制節(jié)點(diǎn)更新數(shù)據(jù)節(jié)點(diǎn)的流表項(xiàng),將對應(yīng)業(yè)務(wù)流在數(shù)據(jù)節(jié)點(diǎn)A中的動作設(shè)置為block。可以理解的是,上述實(shí)施例只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體示例,而不是對本發(fā)明實(shí)施例技術(shù)方案的一種限制。
如圖18所示,客戶端集群1的某一個(gè)業(yè)務(wù)流的數(shù)據(jù)報(bào)文從數(shù)據(jù)節(jié)點(diǎn)A處進(jìn)入到SDN網(wǎng)絡(luò)中,該數(shù)據(jù)報(bào)文經(jīng)過多個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)(圖中未示出)的傳輸,最終通過數(shù)據(jù)節(jié)點(diǎn)C處到達(dá)服務(wù)器集群2。其中,數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)C都由節(jié)點(diǎn)Cnode2管理,數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)C通過OpenFlow協(xié)議與節(jié)點(diǎn)Cnode2通信相連。
同上例,數(shù)據(jù)節(jié)點(diǎn)A對業(yè)務(wù)流(假設(shè)源IP為11.11.11.11)首包進(jìn)行流表匹配,命中默認(rèn)流表項(xiàng),并將首包發(fā)送給控制節(jié)點(diǎn)Cnode2,控制節(jié)點(diǎn)Cnode2對數(shù)據(jù)包首包進(jìn)行策略規(guī)則匹配確定數(shù)據(jù)包出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)C,確定自身為目標(biāo)控制節(jié)點(diǎn),然后更新數(shù)據(jù)面業(yè)務(wù)流需要經(jīng)過的數(shù)據(jù)節(jié)點(diǎn)的流表。假設(shè)網(wǎng)絡(luò)管理員配置的策略規(guī)則:IF ip=11.11.11.*THEN block;控制節(jié)點(diǎn)根據(jù)報(bào)文流經(jīng)SDN網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)和控制節(jié)點(diǎn)的路徑,確定的①請求報(bào)文進(jìn)網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)A;②請求報(bào)文進(jìn)入的控制節(jié)點(diǎn)Cnode2;③請求報(bào)文出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)C;④響應(yīng)報(bào)文進(jìn)網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)C;⑤響應(yīng)報(bào)文進(jìn)入的控制節(jié)點(diǎn)Cnode2;⑥響應(yīng)報(bào)文出網(wǎng)絡(luò)的數(shù)據(jù)節(jié)點(diǎn)A;控制節(jié)點(diǎn)根據(jù)規(guī)則添加元組為ip=11.11.11.*,動作為block的流表項(xiàng)I給數(shù)據(jù)節(jié)點(diǎn)A;在后續(xù)業(yè)務(wù)流數(shù)據(jù)包的處理中,當(dāng)數(shù)據(jù)節(jié)點(diǎn)A對數(shù)據(jù)包的流表匹配命中流表項(xiàng)I時(shí),則數(shù)據(jù)節(jié)點(diǎn)A直接丟棄數(shù)據(jù)包,在數(shù)據(jù)包入口處第一時(shí)間匹配命中策略規(guī)則,避免后續(xù)節(jié)點(diǎn)的數(shù)據(jù)傳輸和處理,這樣就減少了后續(xù)節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)帶寬資源,同時(shí)避免了后續(xù)節(jié)點(diǎn)無謂的處理資源的消耗。
可以理解的是,業(yè)務(wù)流的數(shù)據(jù)報(bào)文也可以是客戶端-客戶端、服務(wù)器-客戶端、服務(wù)器-服務(wù)器等形式;數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)C可以是在不同的節(jié)點(diǎn)管理,再按照前述方式確定控制節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)C與節(jié)點(diǎn)通信連接的形式也不僅局限于OpenFlow協(xié)議,還包括其它本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可采取的通信連接方式;數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)C也可以不經(jīng)過中繼數(shù)據(jù)節(jié)點(diǎn)直接通信相連。若數(shù)據(jù)節(jié)點(diǎn)A的該業(yè)務(wù)流有多個(gè)目的地址,則只針對目標(biāo)地址的流表規(guī)則為drop的網(wǎng)絡(luò)路由線路在數(shù)據(jù)節(jié)點(diǎn)A或其后續(xù)中繼節(jié)點(diǎn)處執(zhí)行drop操作,并不影響其它網(wǎng)絡(luò)路由線路的傳輸,網(wǎng)絡(luò)路由線路和帶寬資源分布由控制節(jié)點(diǎn)進(jìn)行管理??梢岳斫獾氖?,上述只是為了幫助理解本發(fā)明實(shí)施例的技術(shù)方案而做出的一種示例,而不是對本發(fā)明實(shí)施例的一種限制。本發(fā)明實(shí)施例的技術(shù)方案還包括本領(lǐng)域普通技術(shù)人員無需通過創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方案。
如圖19所示,客戶端集群1的某一個(gè)業(yè)務(wù)流的數(shù)據(jù)報(bào)文從數(shù)據(jù)節(jié)點(diǎn)A處進(jìn)入到SDN網(wǎng)絡(luò)中,該數(shù)據(jù)報(bào)文經(jīng)過多個(gè)中繼數(shù)據(jù)節(jié)點(diǎn)(圖中未示出)的傳輸,最終通過數(shù)據(jù)節(jié)點(diǎn)B處到達(dá)服務(wù)器。其中數(shù)據(jù)節(jié)點(diǎn)A由節(jié)點(diǎn)Cnode1管理,數(shù)據(jù)節(jié)點(diǎn)A通過OpenFlow協(xié)議與節(jié)點(diǎn)Cnode1通信相連;數(shù)據(jù)節(jié)點(diǎn)B由節(jié)點(diǎn)Cnode3管理,數(shù)據(jù)節(jié)點(diǎn)B通過OpenFlow協(xié)議與節(jié)點(diǎn)Cnode3通信相連。根據(jù)節(jié)點(diǎn)Cnode1和節(jié)點(diǎn)Cnode3確定控制節(jié)點(diǎn)CnodeA,確定控制節(jié)點(diǎn)的過程前述已經(jīng)說明,在此不再贅述。
當(dāng)需要對網(wǎng)絡(luò)業(yè)務(wù)流做應(yīng)用層傳輸加速時(shí),此時(shí)并不需要對數(shù)據(jù)節(jié)點(diǎn)A賦予壓縮業(yè)務(wù)流報(bào)文信息的能力。數(shù)據(jù)節(jié)點(diǎn)A在經(jīng)過規(guī)則匹配后將業(yè)務(wù)流的報(bào)文信息上傳到控制節(jié)點(diǎn)CnodeA,控制節(jié)點(diǎn)CnodeA根據(jù)業(yè)務(wù)流的能力需求從服務(wù)面獲得相應(yīng)的基于報(bào)文內(nèi)容的壓縮能力和解壓縮能力,控制節(jié)點(diǎn)CnodeA從服務(wù)面獲得上述能力可以采用開放接口調(diào)用的形式完成。在控制節(jié)點(diǎn)CnodeA出完成對業(yè)務(wù)流數(shù)據(jù)報(bào)文的壓縮,然后將壓縮后的業(yè)務(wù)流數(shù)據(jù)報(bào)文傳輸給數(shù)據(jù)節(jié)點(diǎn)A。數(shù)據(jù)節(jié)點(diǎn)A將壓縮后的業(yè)務(wù)流數(shù)據(jù)報(bào)文傳輸給數(shù)據(jù)節(jié)點(diǎn)B,數(shù)據(jù)節(jié)點(diǎn)B再將該業(yè)務(wù)流數(shù)據(jù)報(bào)文上傳到控制節(jié)點(diǎn)CnodeA解壓縮,得到解壓后的業(yè)務(wù)流數(shù)據(jù)報(bào)文。這樣使得上述客戶端集群1的業(yè)務(wù)流能夠完成從數(shù)據(jù)節(jié)點(diǎn)A到數(shù)據(jù)節(jié)點(diǎn)B的應(yīng)用層傳輸加速。可以理解的是,上述實(shí)施例只是為了幫助理解本發(fā)明實(shí)施例而做出的一種具體示例,而不是對本發(fā)明技術(shù)方案的一種限制性解釋。
如圖20所示,SDN網(wǎng)絡(luò)結(jié)構(gòu)中服務(wù)面含有共享能力池,相同能力之間可以通過共享能力池共享數(shù)據(jù),共享能力池可以是全局變量、共享內(nèi)存或者同一資源訪問設(shè)備的形式。
客戶端集群1中的客戶端和客戶端集群2中的客戶端請求相同的一個(gè)流媒體內(nèi)容,客戶端集群1的客戶端業(yè)務(wù)流經(jīng)過數(shù)據(jù)節(jié)點(diǎn)A接入SDN網(wǎng)絡(luò)系統(tǒng)。其中數(shù)據(jù)節(jié)點(diǎn)A由節(jié)點(diǎn)Cnode1管理,數(shù)據(jù)節(jié)點(diǎn)D由節(jié)點(diǎn)Cnode2管理。
首先確定數(shù)據(jù)節(jié)點(diǎn)A的目標(biāo)控制節(jié)點(diǎn)Cnode1,數(shù)據(jù)節(jié)點(diǎn)D的目標(biāo)控制節(jié)點(diǎn)Cnode2,相關(guān)過程前面給出,在此不再贅述??刂乒?jié)點(diǎn)Cnode1和Cnode2都向服務(wù)面注冊了Cache緩存能力,同時(shí)服務(wù)面為控制節(jié)點(diǎn)Cnode1和Cnode2都分配了Cache緩存數(shù)據(jù)的讀取和寫入接口;(1)數(shù)據(jù)節(jié)點(diǎn)A的數(shù)據(jù)流進(jìn)過控制節(jié)點(diǎn)Cnode1時(shí)緩存了流媒體數(shù)據(jù)內(nèi)容;(2)數(shù)據(jù)節(jié)點(diǎn)D訪問和數(shù)據(jù)節(jié)點(diǎn)A相同的流媒體數(shù)據(jù)內(nèi)容,當(dāng)訪問請求數(shù)據(jù)包經(jīng)過數(shù)據(jù)節(jié)點(diǎn)D到達(dá)控制節(jié)點(diǎn)Cnode2時(shí),控制節(jié)點(diǎn)Cnode2向服務(wù)面激活Cache緩存能力,并通過緩存數(shù)據(jù)讀取接口查找是否有緩存數(shù)據(jù),因?yàn)榭刂乒?jié)點(diǎn)Cnode1已經(jīng)緩存了數(shù)據(jù)節(jié)點(diǎn)A請求的數(shù)據(jù)內(nèi)容,所以控制節(jié)點(diǎn)Cnode2找到緩存流媒體內(nèi)容,并數(shù)據(jù)封裝成響應(yīng)數(shù)據(jù)包返回給數(shù)據(jù)節(jié)點(diǎn)D。減少了數(shù)據(jù)節(jié)點(diǎn)D再次從服務(wù)器獲取數(shù)據(jù)的過程,提高客戶端的響應(yīng)速度,同時(shí)減輕了服務(wù)器的處理壓力??梢岳斫獾氖?,上述只是為了幫助理解本發(fā)明的技術(shù)方案而做出的一種示例,并不能視為對本發(fā)明實(shí)施例技術(shù)方案的一種限制??刂乒?jié)點(diǎn)也可以通過建立數(shù)據(jù)節(jié)點(diǎn)A和數(shù)據(jù)節(jié)點(diǎn)D通信連接的方式使得數(shù)據(jù)節(jié)點(diǎn)D獲得對應(yīng)的流媒體內(nèi)容。也可以通過本領(lǐng)域普通技術(shù)人員無需創(chuàng)造性勞動即可實(shí)現(xiàn)的其它方式。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(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)。