Sdn網(wǎng)絡(luò)中的數(shù)據(jù)包處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)傳輸,更具體地,涉及一種用于處理SDN網(wǎng)絡(luò)中的數(shù)據(jù)包的方法和裝置。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)是一種新型的網(wǎng)絡(luò)架構(gòu),其通過將控制功能從網(wǎng)絡(luò)交換設(shè)備中分離出來,并移入到邏輯上獨(dú)立的網(wǎng)絡(luò)控制系統(tǒng)中,實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制。
[0003]在SDN網(wǎng)絡(luò)中,存在邏輯控制層和設(shè)備層??刂茖邮菙?shù)據(jù)網(wǎng)絡(luò)中做出轉(zhuǎn)發(fā)決定的部分,包括管理、路由協(xié)議、選路策略等。設(shè)備層包括針對(duì)每個(gè)包的查詢、交換和緩存,例如包括支持SDN協(xié)議(例如Openflow協(xié)議)的交換機(jī)(SDN交換機(jī))等。
[0004]SDN控制層的一個(gè)基本功能是管理交換機(jī)內(nèi)的規(guī)則,例如,何時(shí)以及如何從交換機(jī)的流表中去除規(guī)則。SDN交換機(jī)通常利用超時(shí)(S卩,在兩個(gè)包之間的最大時(shí)間間隔)來去除不活躍的流的規(guī)則。如果超時(shí)時(shí)間太短,則會(huì)導(dǎo)致控制層和交換機(jī)之間的頻繁交互,這會(huì)增加延遲。另一方面,受到SDN交換機(jī)中的硬件的限制,太長(zhǎng)的超時(shí)時(shí)間會(huì)使得交換機(jī)流表中充滿了很多不活躍的規(guī)則。因此,超時(shí)判斷的有效性會(huì)影響SDN的基本性能。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述問題,希望能夠提供一種靈活地設(shè)定規(guī)則的超時(shí)時(shí)間的解決方案。
[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于處理基于軟件定義網(wǎng)絡(luò)SDN協(xié)議的網(wǎng)絡(luò)中的數(shù)據(jù)包的方法,包括:接收由網(wǎng)絡(luò)中的SDN交換機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù)包;獲取對(duì)應(yīng)于所述數(shù)據(jù)包所在的數(shù)據(jù)流的規(guī)則;根據(jù)所接收的數(shù)據(jù)包,確定所述數(shù)據(jù)包所在的數(shù)據(jù)流的數(shù)據(jù)流特性;根據(jù)數(shù)據(jù)流特性與超時(shí)信息的預(yù)定匹配關(guān)系,確定所述規(guī)則的超時(shí)信息,其中所述超時(shí)信息指示所述規(guī)則將在所述SDN交換機(jī)的流表中保留的時(shí)間;以及,將所述規(guī)則以及所述規(guī)則的超時(shí)信息發(fā)送給所述SDN交換機(jī),以便由所述SDN交換機(jī)根據(jù)所述規(guī)則處理所述數(shù)據(jù)包。
[0007]根據(jù)本發(fā)明的另一個(gè)方面,提供了一種用于處理基于軟件定義網(wǎng)絡(luò)SDN協(xié)議的網(wǎng)絡(luò)中的數(shù)據(jù)包的裝置,包括:傳輸模塊,用于接收由網(wǎng)絡(luò)中的SDN交換機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù)包;規(guī)則獲取模塊,用于獲取對(duì)應(yīng)于所述數(shù)據(jù)包所在的數(shù)據(jù)流的規(guī)則;數(shù)據(jù)流特性確定模塊,用于根據(jù)所接收的數(shù)據(jù)包,確定所述數(shù)據(jù)包所在的數(shù)據(jù)流的數(shù)據(jù)流特性;超時(shí)確定模塊,用于根據(jù)數(shù)據(jù)流特性與超時(shí)信息的預(yù)定匹配關(guān)系確定所述規(guī)則的超時(shí)信息,所述超時(shí)信息指示所述規(guī)則將在所述SDN交換機(jī)的流表中保留的時(shí)間;以及,其中,傳輸模塊還用于將所述規(guī)則以及所述規(guī)則的超時(shí)信息發(fā)送給所述SDN交換機(jī),以便由所述SDN交換機(jī)根據(jù)所述規(guī)則處理所述數(shù)據(jù)包。
[0008]通過本發(fā)明的實(shí)施例的方法和裝置,可以靈活地設(shè)定規(guī)則的超時(shí)時(shí)間,從而有效地提高SDN網(wǎng)絡(luò)的性能。
【附圖說明】
[0009]通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。
[0010]圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。
[0011]圖2顯示了依據(jù)本發(fā)明的一個(gè)實(shí)施例的基于SDN協(xié)議的網(wǎng)絡(luò)的系統(tǒng)架構(gòu)的示意圖。
[0012]圖3顯示了依據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SDN網(wǎng)絡(luò)中的數(shù)據(jù)包的方法的流程圖。
[0013]圖4顯示了依據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SDN網(wǎng)絡(luò)中的數(shù)據(jù)包的裝置的方框圖。
【具體實(shí)施方式】
[0014]下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0015]圖1示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框圖。圖1顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。
[0016]如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
[0017]總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互連(PCI)總線。
[0018]計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
[0019]系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM) 30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖1未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖1中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
[0020]具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0021]計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I / O)接口 22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
[0022]下面將以數(shù)據(jù)流的轉(zhuǎn)發(fā)為例簡(jiǎn)要介紹SDN網(wǎng)絡(luò)的工作流程。在SDN網(wǎng)絡(luò)中,SDN交換機(jī)需要根據(jù)控制層所給出的轉(zhuǎn)發(fā)規(guī)則對(duì)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。在SDN交換機(jī)接收到數(shù)據(jù)流的第一個(gè)數(shù)據(jù)包時(shí),由于在該SDN交換機(jī)本地還沒有關(guān)于這個(gè)數(shù)據(jù)包的轉(zhuǎn)發(fā)規(guī)則,其需要將該數(shù)據(jù)包轉(zhuǎn)發(fā)到控制層,以便從控制層獲取相應(yīng)的轉(zhuǎn)發(fā)規(guī)則,并存儲(chǔ)到本地流表。之后,當(dāng)該SDN交換機(jī)接收到同一個(gè)數(shù)據(jù)流的下一個(gè)數(shù)據(jù)包時(shí),它將該數(shù)據(jù)包的地址信息與本地流表中的規(guī)則信息進(jìn)行比對(duì)。如果能找到一致的表項(xiàng),則該SDN交換機(jī)根據(jù)該流表中的規(guī)則信息,對(duì)數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā)。在這個(gè)過程中