本發(fā)明涉及SDN網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種基于SDN網(wǎng)絡(luò)的合并流表項方法。
背景技術(shù):
在數(shù)據(jù)通信網(wǎng)絡(luò)中,如果在網(wǎng)絡(luò)中傳輸報文的源MAC地址或者源IP地址不斷的變化,網(wǎng)絡(luò)設(shè)備接收到這種報文后,要不斷的學(xué)習(xí)新的MAC地址,也就不斷地增加了網(wǎng)絡(luò)設(shè)備的存儲MAC地址的配置項。
對傳統(tǒng)網(wǎng)絡(luò)的交換機(jī)設(shè)備來說,交換機(jī)設(shè)備提供端口或者VLAN級別的MAC地址學(xué)習(xí)的功能。交換機(jī)為防止一個端口或者VLAN把系統(tǒng)的MAC地址表耗盡,用戶可以根據(jù)端口或者VLAN設(shè)該端口或者VLAN最大允許學(xué)習(xí)的MAC地址數(shù)目,但是配置工作復(fù)雜而且繁瑣。
對SDN網(wǎng)絡(luò)來說,SDN交換機(jī)數(shù)據(jù)轉(zhuǎn)發(fā)的依據(jù)是流表。流表本身的生成、維護(hù)、下發(fā)完全由SDN控制器實(shí)現(xiàn)。SDN交換機(jī)接收到這種源MAC地址或者源IP地址不斷變化的報文,會提交給SDN控制器,SDN控制器會生成大量的流表。由于流表容量是有限的,當(dāng)流表達(dá)到最大容量后,導(dǎo)致正常報文的流表將無法生成,最后將影響正常報文的轉(zhuǎn)發(fā)。
因此,如何在SDN網(wǎng)絡(luò)中如何將多條流表項合并,提高流表的利用率,無需復(fù)雜而且繁瑣的配置,是本技術(shù)領(lǐng)域技術(shù)人員普遍關(guān)注的問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于此,本發(fā)明的目的提供一種基于SDN網(wǎng)絡(luò)的合并流表項方法,該方法將具有共同的特征碼的流表項合并用以提高流表的利用率。
根據(jù)上述發(fā)明目的,本發(fā)明提出一種基于SDN網(wǎng)絡(luò)的合并流表項方法,該方法包括,提供一交換機(jī),所述交換機(jī)內(nèi)設(shè)有一個包括多個流表項的流表,判斷所述流表中是否具有相同轉(zhuǎn)發(fā)特征的流表項,若有,則對這些流表項合并,生成一個具有兩級流表項的新流表。
優(yōu)選地,所述轉(zhuǎn)發(fā)特征包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、入端口或出端口中的一種或幾種組合。
優(yōu)選地,所述轉(zhuǎn)發(fā)特征為目的IP地址,所述生成一個具有兩級流表項的新流表的過程包括:
判斷流表項中的入端口和出端口是否一致,
若是,則進(jìn)一步判斷所述目的IP地址,并依據(jù)該目的IP地址生成所述兩級流表項;
若否,則SDN控制器生成新的流表項。
優(yōu)選地,所述判斷目的IP地址的過程包括:判斷所述流表項的目的IP是否處于同一網(wǎng)段,若是,則生成一個兩級的流表項,否則,生成新的流表項。
優(yōu)選地,所述兩級流表項包括以目的IP的網(wǎng)段地址作為共同特征碼的第一級流表項,和在該網(wǎng)段下具體的IP地址作為區(qū)別特征碼的第二級流表項。
優(yōu)選地,于判斷過程之前包括,所述SDN控制器打開流表項合并功能。
與現(xiàn)有技術(shù)相比,本發(fā)明一種基于SDN網(wǎng)絡(luò)的合并流表項方法,具有如下有益效果:提高流表的利用率,更好的優(yōu)化流表,并且無需復(fù)雜而繁瑣的配置。
附圖說明
圖1為本發(fā)明一個具體實(shí)施例的合并流表項方法的流程圖;
圖2為本發(fā)明一個具體實(shí)施例的流表項合并方法的示意圖;
圖3為本發(fā)明一個實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
正如背景技術(shù)中提及的,如何在SDN網(wǎng)絡(luò)中如何將多條流表項合并,提高流表的利用率,是本技術(shù)領(lǐng)域技術(shù)人員普遍關(guān)注的問題。
因此,本發(fā)明通過判斷交換機(jī)內(nèi)的流表中是否具有相同轉(zhuǎn)發(fā)特征的流表項,若有,則對這些流表項合并,生成一個具有兩級流表項的新流表,從而提高流表的利用率,更好的優(yōu)化流表,并且無需復(fù)雜而繁瑣的配置。
以下通過特定的具體實(shí)例并結(jié)合附圖說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其它優(yōu)點(diǎn)與功效。本發(fā)明亦可通過其它不同的具體實(shí)例加以施行或應(yīng)用,本說明書中的各項細(xì)節(jié)亦可基于不同觀點(diǎn)與應(yīng)用,在不背離本發(fā)明的精神下進(jìn)行各種修飾與變更。
在具體實(shí)施過程中,在SND網(wǎng)絡(luò)的SDN交換機(jī)中至少設(shè)有一個流表,流表中包括多個流表項,判斷該流表中是否具有相同轉(zhuǎn)發(fā)特征的流表項,若有,則對這些流表項合并,生成一個具有兩級流表項的新流表。其中,轉(zhuǎn)發(fā)特征包括源MAC地址、目的MAC地址、源IP地址、目的IP地址、入端口以及出端口。
圖1是本發(fā)明一個具體實(shí)施例的合并流表項方法的流程圖。該具體實(shí)施例是以轉(zhuǎn)發(fā)特征碼為目的IP地址來對本發(fā)明進(jìn)行說明。如圖1所示,SDN網(wǎng)絡(luò)包括客戶側(cè)和網(wǎng)絡(luò)側(cè),網(wǎng)絡(luò)側(cè)包括若干SDN交換機(jī)和至少一個SDN控制器,客戶側(cè)向網(wǎng)絡(luò)側(cè)發(fā)送報文,SDN交換機(jī)向SDN控制器發(fā)送報文,該方法具體包括以下步驟:
步驟S1:SDN控制器接收SDN交換機(jī)發(fā)送的報文,計算該報文的轉(zhuǎn)發(fā)路徑,并生成該報文對應(yīng)的流表項;
步驟S2:SDN控制器比較該報文對應(yīng)的流表項和該報文轉(zhuǎn)發(fā)路徑上的SDN交換機(jī)中的已知流表項,判斷流表項中的入端口和出端口是否一致,
若是,執(zhí)行步驟S3;
若否,則SDN控制器生成新的流表項。
步驟S3:判斷所述流表項的目的IP是否處于同一網(wǎng)段,
若是,則生成一個兩級的流表項,該兩級流表項包括以目的IP的網(wǎng)段地址作為共同特征碼的第一級流表項,和在該網(wǎng)段下具體的IP地址作為區(qū)別特征碼的第二級流表項;
否則,SDN控制器生成新的流表項。
當(dāng)然對于SDN網(wǎng)絡(luò)來說,是否需要對流表項進(jìn)行合并,視具體的情況而定,比如用戶人員或者網(wǎng)絡(luò)運(yùn)營商,當(dāng)SDN交換機(jī)的流表項達(dá)到一定的數(shù)量時,就可以通過SDN控制器打開流表項合并功能。
在具體實(shí)施過程中,SDN交換機(jī)接收用戶發(fā)送的報文之后,根據(jù)報文的目的MAC地址和目的IP地址查詢本地流表,若流表匹配,則根據(jù)流表中的指令執(zhí)行后續(xù)動作,若不匹配,則SDN交換機(jī)發(fā)送報文SDN控制器。SDN控制器接收報文后,并根據(jù)目的MAC地址和目的IP地址計算報文的轉(zhuǎn)發(fā)路徑,并生成該報文對應(yīng)的流表項。
在具體實(shí)施過程中,SDN控制器比較報文對應(yīng)的流表項和該報文轉(zhuǎn)發(fā)路徑上的SDN交換機(jī)中的已知流表項,判斷流表項中的入端口和出端口是否一致,若不一致,則SDN控制器生成新的流表項;若一致,則要根據(jù)目的IP地址判斷流表項是否可以合并。SDN控制器繼續(xù)判斷流表項的目的IP是否處于同一網(wǎng)段,若是,則生成一個兩級的流表項,該兩級流表項包括以目的IP的網(wǎng)段地址作為共同特征碼的第一級流表項,和在該網(wǎng)段下具體的IP地址作為區(qū)別特征碼的第二級流表項;否則,SDN控制器生成新的流表項。
下面以具體實(shí)施例來說明流表項的合并方法。圖2是本發(fā)明的一具體實(shí)施例流表項合并方法示意圖。如圖2所示,SDN網(wǎng)絡(luò)中客戶端2發(fā)送一報文至服務(wù)器1,目的IP地址是10.1.1.1,該報文的轉(zhuǎn)發(fā)路徑經(jīng)過SDN交換機(jī)S1,且入端口是P1,出端口是P2,所以該報文在交換機(jī)S1的流表項中配置的入端口是P1,出端口是P2,目的IP地址是10.1.1.1。
若SDN控制器關(guān)閉合并流表項功能,從客戶端1發(fā)送一新報文至服務(wù)器2,該新報文的目的IP地址10.1.1.2,該報文的轉(zhuǎn)發(fā)路徑經(jīng)過交換機(jī)S1,所以SDN控制器生成一新的流表項至SDN交換機(jī)S1,且入端口是P1,出端口是P2,該流表項中配置的入端口是P1,出端口是P2,目的IP地址是10.1.1.2。這樣,SDN交換機(jī)就會存儲兩個流表。
若SDN控制器打開合并流表項功能,從客戶端1發(fā)送新一報文至服務(wù)器2,該新報文的目的IP地址10.1.1.2,SDN控制計算該新報文的轉(zhuǎn)發(fā)路徑經(jīng)過交換機(jī)S1,且入端口是P1,出端口是P2,并生成對應(yīng)的一新流表項。SDN控制器根據(jù)入端口P1和出端口P2,在交換機(jī)S1中的已知流表項中進(jìn)行匹配入端口P1和出端口P2一致的流表項,獲取和目的IP地址是10.1.1.1的流表項匹配成功。SDN控制器則進(jìn)一步判斷目的IP地址10.1.1.2和目的IP地址10.1.1.1是否處于同一網(wǎng)段。根據(jù)判斷,這個流表項的目的IP地址處于同一網(wǎng)段10.1.1,則SDN控制器生成一個兩級的流表項,即對應(yīng)目的IP地址是10.1.1的兩級流表項,其下一級流表項是目的IP地址10.1.1.1的流表項和目的IP地址10.1.1.2的流表項,并替代原來SDN交換機(jī)S1中目的IP地址10.1.1.1的流表項。這樣SDN交換機(jī)S1存儲一個兩級流表項。
綜上,本發(fā)明一種基于SDN網(wǎng)絡(luò)的合并流表項方法,通過判斷交換機(jī)內(nèi)的流表中是否具有相同轉(zhuǎn)發(fā)特征的流表項,若有,則對這些流表項合并,生成一個具有兩級流表項的新流表,從而提高流表的利用率,從而提高流表的利用率,更好的優(yōu)化流表。
下面,將對具有本發(fā)明合并流表項方法功能的SDN網(wǎng)絡(luò)系統(tǒng)做詳細(xì)描述。
圖3是本發(fā)明一個實(shí)施例的SDN網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)示意圖。如圖3所示,SDN網(wǎng)絡(luò)包括用戶側(cè)和網(wǎng)絡(luò)側(cè),網(wǎng)絡(luò)側(cè)包括若干SDN交換機(jī)和SDN控制器,若干SDN交換機(jī)構(gòu)成了數(shù)據(jù)在網(wǎng)絡(luò)傳輸中的各個節(jié)點(diǎn)。
在本發(fā)明中,SDN控制器除了現(xiàn)有的控制功能外,還負(fù)責(zé)比較報文對應(yīng)的待生成的流表項和報文轉(zhuǎn)發(fā)路徑上的SDN交換機(jī)中的已知流表項的共同特征碼,判斷是否可以合并流表項,并下發(fā)流表至報文轉(zhuǎn)發(fā)路徑上的SDN交換機(jī)。
在本發(fā)明中,SDN交換機(jī)除了現(xiàn)有的交換機(jī)功能外,還負(fù)責(zé)接收SDN控制器下發(fā)的流表。
綜上所述,本發(fā)明一種基于SDN網(wǎng)絡(luò)的合并流表項方法,提高流表的利用率,更好的優(yōu)化了流表。
任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾與改變。因此,本發(fā)明的權(quán)利保護(hù)范圍,應(yīng)如權(quán)利要求書所列。