多接入sdn網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法和控制器的制造方法
【專利摘要】本發(fā)明公開了一種多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法,應(yīng)用于多接入SDN網(wǎng)絡(luò),當(dāng)主機(jī)通過多接入SDN網(wǎng)絡(luò)發(fā)送報(bào)文時(shí),該方法包括:SDN控制器根據(jù)第一SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷源主機(jī)是否發(fā)生端口遷移;如果否,根據(jù)多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)確定出的出物理端口和流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給第一SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā),該方法提高了多接入SDN網(wǎng)絡(luò)中SDN控制器的可靠性。
【專利說(shuō)明】多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法和控制器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法和控制器。
【背景技術(shù)】
[0002]SDN網(wǎng)絡(luò)(Software Defined Network,軟件定義網(wǎng)絡(luò))通常由SDN網(wǎng)絡(luò)設(shè)備(Switch)和SDN控制器(Controller)組成,如圖1所示。其中,SDN控制器是控制中心,根據(jù)用戶的配置或者動(dòng)態(tài)運(yùn)行的協(xié)議生成流表發(fā)送到SDN網(wǎng)絡(luò)設(shè)備。SDN網(wǎng)絡(luò)設(shè)備接收SDN控制器下發(fā)的流表,并根據(jù)流表進(jìn)行報(bào)文處理。
[0003]然而,當(dāng)用戶采用圖2中多接入SDN的網(wǎng)絡(luò)結(jié)構(gòu)圖,主機(jī)通過多條等價(jià)路徑接入SDN網(wǎng)絡(luò)的時(shí)候,構(gòu)成一種多接入的SDN組網(wǎng)方式,例如圖2中主機(jī)A的不同業(yè)務(wù)流的報(bào)文分別通過等價(jià)路徑上送到SDN網(wǎng)絡(luò)設(shè)備A (Switch A)和SDN網(wǎng)絡(luò)設(shè)備B (Switch B),但由于SDN控制器是通過報(bào)文的源MAC (Media Access Control,介質(zhì)訪問控制)地址和源IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址學(xué)習(xí)主機(jī)的,這樣,會(huì)出現(xiàn)SDN控制器認(rèn)為主機(jī)地址不斷地在不同的SDN網(wǎng)絡(luò)設(shè)備端口上遷移,導(dǎo)致流表不停的刪除和下發(fā),從而造成SDN控制器繁忙進(jìn)而導(dǎo)致網(wǎng)絡(luò)的最終不可用。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提出了一種多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法和控制器,以提高SDN控制器的可靠性。
[0005]本發(fā)明提出的技術(shù)方案是:
[0006]一種多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法,應(yīng)用于多接入SDN網(wǎng)絡(luò),當(dāng)主機(jī)通過多接入SDN網(wǎng)絡(luò)發(fā)送報(bào)文時(shí),該方法包括:
[0007]SDN控制器根據(jù)第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷源主機(jī)是否發(fā)生端口遷移;
[0008]如果沒有發(fā)生端口遷移,根據(jù)多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)確定出的出物理端口和流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
[0009]一種SDN控制器,該SDN控制器包括報(bào)文轉(zhuǎn)發(fā)裝置,該報(bào)文轉(zhuǎn)發(fā)裝置包括:
[0010]處理模塊,用于根據(jù)第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷源主機(jī)是否發(fā)生端口遷移;
[0011]表項(xiàng)創(chuàng)建模塊,如果沒有發(fā)生端口遷移,用于根據(jù)多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)確定出的出物理端口和流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
[0012]綜上,本發(fā)明提出了一種SDN報(bào)文轉(zhuǎn)發(fā)方法和SDN控制器,在該方法中SDN控制器將接入設(shè)備的所有等價(jià)路徑與SDN網(wǎng)絡(luò)設(shè)備相連的物理端口添加到一個(gè)合并口中,并獲得接入設(shè)備下掛的所有主機(jī)信息,記錄合并口、物理端口與主機(jī)信息的對(duì)應(yīng)關(guān)系,這樣,同一主機(jī)發(fā)送的報(bào)文即便被接入設(shè)備通過不同等價(jià)路徑發(fā)送給不同SDN網(wǎng)絡(luò)設(shè)備進(jìn)行轉(zhuǎn)發(fā),即同一主機(jī)發(fā)送的報(bào)文由多個(gè)SDN網(wǎng)絡(luò)設(shè)備的不同物理端口接收,但是主機(jī)信息對(duì)應(yīng)的合并口沒有發(fā)生變化,避免了 SDN控制器認(rèn)為主機(jī)在不同物理端口間遷移而不斷刪除、下發(fā)流表,提高了 SDN控制器的可靠性。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1為典型的SDN的網(wǎng)絡(luò)組成示意圖;
[0014]圖2為多接入SDN的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
[0015]圖3為本發(fā)明SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法的流程圖;
[0016]圖4為本發(fā)明方法實(shí)施例一的OpenFlow網(wǎng)絡(luò)結(jié)構(gòu)圖;
[0017]圖5為本發(fā)明方法實(shí)施例一在OpenFlow網(wǎng)絡(luò)中的流程圖;
[0018]圖6為本發(fā)明方法實(shí)施例二的OpenFlow網(wǎng)絡(luò)結(jié)構(gòu)圖;
[0019]圖7為本發(fā)明方法實(shí)施例二在OpenFlow網(wǎng)絡(luò)中的流程圖;
[0020]圖8為本發(fā)明實(shí)施例的SDN控制器硬件結(jié)構(gòu)連接圖;
[0021]圖9為本發(fā)明實(shí)施例的報(bào)文轉(zhuǎn)發(fā)裝置結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]如圖2所示,在多接入SDN網(wǎng)絡(luò)中,接入設(shè)備通過多條等價(jià)路徑接入不同的SDN網(wǎng)絡(luò)設(shè)備,并且將同一主機(jī)發(fā)送的不同業(yè)務(wù)流的報(bào)文通過不同等價(jià)路徑發(fā)送給不同SDN網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)負(fù)載分擔(dān)。這樣,同一主機(jī)發(fā)送的報(bào)文會(huì)被不同SDN網(wǎng)絡(luò)設(shè)備的不同物理端口接收,由于SDN控制器是通過報(bào)文的源MAC地址和源IP地址學(xué)習(xí)主機(jī)的,如果不做任何改進(jìn),會(huì)使SDN控制器認(rèn)為主機(jī)地址不斷地在不同SDN網(wǎng)絡(luò)設(shè)備的物理端口上遷移,導(dǎo)致SDN控制器不停的刪除和下發(fā)流表,造成SDN控制器繁忙,進(jìn)而導(dǎo)致SDN網(wǎng)絡(luò)不可用。
[0023]基于此,本發(fā)明提出了一種多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法,通過在SDN控制器上配置一種合并口,將同一接入設(shè)備的多條等價(jià)路徑對(duì)應(yīng)的不同SDN網(wǎng)絡(luò)設(shè)備物理端口添加在同一合并口中,并學(xué)習(xí)物理端口連接的接入設(shè)備下掛的所有主機(jī)信息,將該合并口、物理端口與主機(jī)信息的對(duì)應(yīng)關(guān)系添加到合并口列表中,生成包括:合并口、該合并口包含的物理端口、各物理端口下掛的主機(jī)信息的合并口列表。
[0024]其中,合并口列表是SDN控制器將接入設(shè)備的多條等價(jià)路徑對(duì)應(yīng)的不同SDN網(wǎng)絡(luò)設(shè)備的物理端口添加在同一合并口中,當(dāng)主機(jī)首次接入網(wǎng)絡(luò)或者主機(jī)首次發(fā)送報(bào)文時(shí),SDN控制器學(xué)習(xí)該主機(jī)的主機(jī)信息,將合并口、物理端口與主機(jī)信息的對(duì)應(yīng)關(guān)系添加到合并口列表中得到的。
[0025]例如主機(jī)首次接入網(wǎng)絡(luò)時(shí)向SDN控制器發(fā)送一個(gè)免費(fèi)ARP報(bào)文,該報(bào)文攜帶主機(jī)的主機(jī)信息(例如MAC地址和IP地址),SDN控制器接收到該免費(fèi)ARP報(bào)文,獲取主機(jī)信息,再根據(jù)主機(jī)對(duì)應(yīng)的SDN網(wǎng)絡(luò)設(shè)備的物理端口,將合并口、物理端口以及主機(jī)信息的對(duì)應(yīng)關(guān)系添加到合并口列表中;或者主機(jī)首次發(fā)送數(shù)據(jù)報(bào)文時(shí),與該主機(jī)對(duì)應(yīng)的SDN網(wǎng)絡(luò)設(shè)備查詢不到匹配的流表項(xiàng),將該數(shù)據(jù)報(bào)文上送給SDN控制器請(qǐng)求下發(fā)流表,SDN控制器在創(chuàng)建流表之前,通過該數(shù)據(jù)報(bào)文攜帶的主機(jī)信息以及主機(jī)對(duì)應(yīng)的SDN網(wǎng)絡(luò)設(shè)備的物理端口,將合并口、物理端口以及主機(jī)信息的對(duì)應(yīng)關(guān)系添加到合并口列表中。
[0026]這樣,合并口列表中的每條表項(xiàng)的內(nèi)容包括:合并口標(biāo)識(shí)、該合并口包含的位于各SDN網(wǎng)絡(luò)設(shè)備上的物理端口的標(biāo)識(shí)、以及每個(gè)物理端口連接的接入設(shè)備下掛的所有主機(jī)信肩、O
[0027]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)的更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。
[0028]本發(fā)明實(shí)施例的技術(shù)方案是:
[0029]如圖3所示,本發(fā)明多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法應(yīng)用于SDN控制器上,對(duì)于SDN網(wǎng)絡(luò)中的SDN控制器,執(zhí)行以下步驟:
[0030]步驟301:SDN控制器根據(jù)第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷源主機(jī)是否發(fā)生端口遷移。
[0031]本步驟中,為了便于對(duì)本發(fā)明技術(shù)方案進(jìn)行描述,將位于等價(jià)路徑上的各SDN網(wǎng)絡(luò)設(shè)備中第一個(gè)向SDN控制器發(fā)送流表下發(fā)請(qǐng)求報(bào)文的SDN網(wǎng)絡(luò)設(shè)備稱為第一 SDN網(wǎng)絡(luò)設(shè)備;將SDN網(wǎng)絡(luò)中兩個(gè)進(jìn)行通信的主機(jī)確定為源主機(jī)和目的主機(jī),其中,發(fā)送數(shù)據(jù)報(bào)文的主機(jī)為源主機(jī),接收數(shù)據(jù)報(bào)文的主機(jī)為目的主機(jī)。
[0032]第一 SDN網(wǎng)絡(luò)設(shè)備接收到源主機(jī)發(fā)送給目的主機(jī)的數(shù)據(jù)報(bào)文后要根據(jù)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā),當(dāng)?shù)谝?SDN網(wǎng)絡(luò)設(shè)備查詢不到匹配的流表項(xiàng)時(shí),向SDN控制器發(fā)送一個(gè)流表下發(fā)請(qǐng)求報(bào)文,請(qǐng)求SDN控制器下發(fā)確認(rèn)轉(zhuǎn)發(fā)路徑的流表項(xiàng)。第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文中攜帶源主機(jī)信息(包括:源主機(jī)的IP地址和MAC地址)、目的主機(jī)信息(包括目的主機(jī)的IP地址和MAC地址)和入物理端口(即第一 SDN網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)報(bào)文的物理端口標(biāo)識(shí))。
[0033]SDN控制器接收到第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送來(lái)的流表下發(fā)請(qǐng)求報(bào)文后,首先根據(jù)流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表,確定第一 SDN網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)報(bào)文的入合并口,并判斷發(fā)送該數(shù)據(jù)報(bào)文的源主機(jī)是否發(fā)生端口遷移。其中,入合并口是與源主機(jī)信息匹配的合并口列表中的合并口,表示源主機(jī)發(fā)送的數(shù)據(jù)報(bào)文從該合并口被SDN網(wǎng)絡(luò)設(shè)備接收。
[0034]判斷源主機(jī)是否發(fā)生端口遷移的方法為:
[0035]如果流表下發(fā)請(qǐng)求報(bào)文攜帶的入物理端口是入合并口包含的物理端口,則源主機(jī)沒有發(fā)生端口遷移,否則發(fā)生了端口遷移。
[0036]當(dāng)源主機(jī)在SDN網(wǎng)絡(luò)中沒有發(fā)生端口遷移時(shí),例如:沒有從一個(gè)接入設(shè)備下掛到另一個(gè)接入設(shè)備,其發(fā)送給目的主機(jī)的報(bào)文可能通過多條不同的等價(jià)路徑轉(zhuǎn)發(fā)到位于等價(jià)路徑上的SDN網(wǎng)絡(luò)設(shè)備,并被上述位于等價(jià)路徑上的SDN網(wǎng)絡(luò)設(shè)備的本地物理端口接收,而由于SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)上述等價(jià)路徑的本地物理端口是屬于同一個(gè)合并口的,因此,即便源主機(jī)發(fā)給目的主機(jī)的數(shù)據(jù)報(bào)文通過位于等價(jià)路徑上的不同的SDN網(wǎng)絡(luò)設(shè)備的本地物理端口接收,其接收上述數(shù)據(jù)報(bào)文的入合并口沒有發(fā)生變化,則SDN控制器認(rèn)為源主機(jī)沒有發(fā)生端口遷移。
[0037]當(dāng)源主機(jī)的確發(fā)生了端口遷移,例如:從第一接入設(shè)備下掛到第二接入設(shè)備,則該源主機(jī)對(duì)應(yīng)的等價(jià)路徑發(fā)生了變化,相應(yīng)的等價(jià)路徑上接收源主機(jī)發(fā)給目的主機(jī)報(bào)文的SDN網(wǎng)絡(luò)設(shè)備的本地物理端口也會(huì)發(fā)生變化,不再是遷移之前源主機(jī)在合并口列表中對(duì)應(yīng)的合并口包含的物理端口,此時(shí)SDN控制器通過比較流表下發(fā)請(qǐng)求報(bào)文攜帶的入物理端口和入合并口包含的物理端口不相同,就可以判斷該源主機(jī)發(fā)生了端口遷移,此時(shí)則要更新合并口列表,將該源主機(jī)記錄到入物理端口所在的合并口下。
[0038]步驟302:如果沒有發(fā)生端口遷移,根據(jù)多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)確定出的出物理端口和流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
[0039]SDN控制器判斷源主機(jī)沒有發(fā)生端口遷移后,則為第一 SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組。
[0040]本發(fā)明SDN控制器創(chuàng)建流表項(xiàng)有兩種方案,下面分別進(jìn)行介紹:
[0041](I) SDN控制器根據(jù)流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢合并口列表確定出合并口,并確定出合并口包含的物理端口,實(shí)時(shí)統(tǒng)計(jì)出合并口包含的每個(gè)物理端口的流量,將流量最小的物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備上的本地物理端口確定為數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)確定出的出物理端口和流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)。
[0042]其中,出合并口是與目的主機(jī)信息匹配的合并口列表中的合并口,表示源主機(jī)發(fā)送的數(shù)據(jù)報(bào)文從該合并口被SDN網(wǎng)絡(luò)設(shè)備發(fā)送出去。
[0043]由于合并口是SDN控制器上的虛擬端口,僅能被SDN控制器識(shí)別,SDN網(wǎng)絡(luò)設(shè)備只識(shí)別物理端口,無(wú)法識(shí)別SDN控制器上設(shè)置的合并口。合并口的設(shè)置僅是為了主機(jī)通過不同的等價(jià)路徑發(fā)送報(bào)文時(shí)避免被SDN控制器誤認(rèn)為該主機(jī)不斷地在不同物理端口上遷移,因此當(dāng)SDN控制器為SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建流表時(shí),將查詢到的出合并口進(jìn)一步確定為SDN網(wǎng)絡(luò)設(shè)備上真實(shí)的物理端口,使得SDN網(wǎng)絡(luò)設(shè)備根據(jù)流表項(xiàng)中的物理端口進(jìn)行報(bào)文轉(zhuǎn)發(fā)。
[0044]其中,SDN控制器實(shí)時(shí)統(tǒng)計(jì)出合并口包含的每個(gè)物理端口的流量,可以通過如下優(yōu)選方法實(shí)現(xiàn):
[0045]SDN控制器確定出合并口包含的每個(gè)物理端口所在的SDN網(wǎng)絡(luò)設(shè)備;
[0046]查找每個(gè)SDN網(wǎng)絡(luò)設(shè)備上以該出合并口包含的物理端口為出端口的所有流表,將所有流表的報(bào)文字節(jié)數(shù)相加計(jì)算該出合并口包含的每個(gè)物理端口的實(shí)時(shí)流量。
[0047]這里,SDN網(wǎng)絡(luò)設(shè)備上的流表均包含一個(gè)報(bào)文字節(jié)字段,用于累加該SDN網(wǎng)絡(luò)設(shè)備負(fù)責(zé)轉(zhuǎn)發(fā)的與該流表匹配的報(bào)文字節(jié)數(shù),實(shí)時(shí)統(tǒng)計(jì)流量時(shí),只需要將每個(gè)SDN網(wǎng)絡(luò)設(shè)備上以某個(gè)物理端口為出端口的所有流表的報(bào)文字節(jié)字段的值相加,就可以統(tǒng)計(jì)出每個(gè)SDN網(wǎng)絡(luò)設(shè)備上以該物理端口為出端口的流表的實(shí)時(shí)流量。
[0048]SDN控制器根據(jù)這種方法為第一 SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建流表項(xiàng)時(shí),從出合并口包含的多個(gè)物理端口中選擇一個(gè)實(shí)時(shí)流量最小的物理端口,將這一實(shí)時(shí)流量最小的物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備的本地物理端口作為數(shù)據(jù)報(bào)文的出物理端口,即僅為第一 SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建一條流表項(xiàng),這一條流表項(xiàng)指導(dǎo)源主機(jī)到目的主機(jī)的數(shù)據(jù)報(bào)文通過流量最小的路徑轉(zhuǎn)發(fā),使得報(bào)文從合并口轉(zhuǎn)出時(shí)實(shí)現(xiàn)了負(fù)載分擔(dān)。
[0049](2) SDN控制器根據(jù)流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢合并口列表確定出合并口,并確定出合并口包含的每一個(gè)物理端口,將每一個(gè)合并口包含的物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備的本地物理端口分別確定為數(shù)據(jù)報(bào)文的出物理端口,根據(jù)每一個(gè)確定出的出物理端口和目的主機(jī)信息創(chuàng)建第一流表項(xiàng)組,將創(chuàng)建的第一流表項(xiàng)組全部下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備,使得第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從第一流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
[0050]SDN控制器根據(jù)這種方法為第一 SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建流表項(xiàng)時(shí),出合并口包含幾個(gè)物理端口,SDN控制器就為第一 SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建幾條流表項(xiàng),合稱第一流表項(xiàng)組,不再像第一種創(chuàng)建流表項(xiàng)的方法中那樣根據(jù)實(shí)時(shí)流量對(duì)出合并口包含的物理端口進(jìn)行篩選。出合并口包含的每一個(gè)物理端口都對(duì)應(yīng)一個(gè)第一 SDN網(wǎng)絡(luò)設(shè)備的本地物理端口,將確定出的本地物理端口確定為數(shù)據(jù)報(bào)文的出物理端口,再分別針對(duì)每一個(gè)出物理端口和目的主機(jī)信息創(chuàng)建流表項(xiàng),把所有創(chuàng)建的流表項(xiàng)作為第一流表項(xiàng)組,下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備,使得第一SDN網(wǎng)絡(luò)設(shè)備實(shí)際轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文時(shí),根據(jù)預(yù)定的負(fù)載分擔(dān)策略從第一流表項(xiàng)組中選擇一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā),本發(fā)明不限定第一 SDN網(wǎng)絡(luò)設(shè)備如何從第一流表項(xiàng)組中選擇一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
[0051]這種創(chuàng)建流表項(xiàng)的方法使得SDN網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)一個(gè)主機(jī)上不同業(yè)務(wù)流的報(bào)文時(shí),可以根據(jù)預(yù)定的負(fù)載分擔(dān)策略將這不同業(yè)務(wù)流的報(bào)文按流匹配不同的流表項(xiàng),進(jìn)而將不同流的報(bào)文通過不同的等價(jià)路徑轉(zhuǎn)發(fā)出去,實(shí)現(xiàn)流量轉(zhuǎn)出時(shí)的負(fù)載分擔(dān)。
[0052]更進(jìn)一步地,SDN控制器下發(fā)流表時(shí),為了避免等價(jià)路徑上的所有SDN網(wǎng)絡(luò)設(shè)備都要向SDN控制器發(fā)送流表下發(fā)請(qǐng)求報(bào)文,SDN控制器還創(chuàng)建第二流表項(xiàng)或第二流表項(xiàng)組,并下發(fā)給與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
[0053]同樣的,SDN控制器為與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備創(chuàng)建流表項(xiàng)也有兩種方法:
[0054]一是SDN創(chuàng)建第二流表項(xiàng),使與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備將目的主機(jī)信息與第一流表項(xiàng)目的主機(jī)信息相同的報(bào)文通過第二流表項(xiàng)發(fā)送給第一 SDN網(wǎng)絡(luò)設(shè)備,由第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)第一流表項(xiàng)轉(zhuǎn)發(fā)報(bào)文給目的主機(jī);
[0055]二是SDN控制器根據(jù)數(shù)據(jù)報(bào)文出合并口包含的每一個(gè)物理端口確定與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)的每一個(gè)本地物理端口,并將該每一個(gè)本地物理端口作為數(shù)據(jù)報(bào)文的出物理端口,根據(jù)確定出的出物理端口和目的主機(jī)信息創(chuàng)建第二流表項(xiàng)組,將第二流表項(xiàng)組下發(fā)給與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備,使得其他SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從接收到的第二流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
[0056]此外,如果SDN控制器向第一 SDN網(wǎng)絡(luò)設(shè)備下發(fā)流表前又接收到與SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文,由于SDN控制器接收到的兩個(gè)流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)和目的主機(jī)相同,SDN控制器丟棄與SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文,繼續(xù)根據(jù)第一 SDN網(wǎng)路設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文創(chuàng)建第一流表項(xiàng)和第二流表項(xiàng),或第一流表項(xiàng)組和第二流表項(xiàng)組,分別下發(fā)給第一 SDN網(wǎng)絡(luò)設(shè)備以及與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備。
[0057]通過上述方案,SDN控制器將等價(jià)路徑上的SDN網(wǎng)絡(luò)設(shè)備物理端口添加在同一個(gè)合并口中,使得來(lái)自同一主機(jī)的報(bào)文被不同SDN網(wǎng)絡(luò)設(shè)備物理端口接收時(shí),SDN控制器也能正常創(chuàng)建流表、下發(fā)流表,指導(dǎo)報(bào)文的正常轉(zhuǎn)發(fā)。
[0058]目前,SDN技術(shù)中最為流行的是OpenFlow協(xié)議,以下將以O(shè)penFlow進(jìn)行舉例進(jìn)行說(shuō)明,需要說(shuō)明的是,本申請(qǐng)并不排除其他能夠?qū)崿F(xiàn)SDN功能的協(xié)議。
[0059]方法實(shí)施例一
[0060]如圖4所示,主機(jī)A的MAC地址為MAC-A,IP地址為IP-A,主機(jī)B的MAC地址為MAC-B, IP地址為IP-B ;接入設(shè)備A有兩條等價(jià)路徑鏈路I和鏈路2,鏈路I通過端口 I和OpenFlow Switch A相連,鏈路2通過端口 3和OpenFlow Switch B相連;接入設(shè)備B有兩條等價(jià)路徑鏈路3和鏈路4,鏈路3通過端口 2和Switch A相連,鏈路4通過端口 4和Switch B相連;Switch A通過端口 6和Switch B的端口 5相連。貝丨J OpenFlow控制器的合并口列表如表I所不:
[0061]表I
[0062]
合并口主機(jī)信息物理端口
?MAC-A, IP-A 173
2MAC-B, IP-B 274
[0063]管理員預(yù)先在OpenFlow控制器上配置合并口與物理端口對(duì)應(yīng)關(guān)系的合并口列表,等價(jià)路徑上的所有物理端口記錄在同一個(gè)合并口下。
[0064]當(dāng)主機(jī)首次接入OpenFlow網(wǎng)絡(luò)或者主機(jī)首次發(fā)送數(shù)據(jù)報(bào)文時(shí),OpenFlow控制器學(xué)習(xí)該主機(jī)的主機(jī)信息,以及與主機(jī)對(duì)應(yīng)的Switch上的物理端口,根據(jù)學(xué)習(xí)到的物理端口查詢合并口列表,確定匹配的表項(xiàng),將與物理端口對(duì)應(yīng)的主機(jī)信息記錄在匹配的表項(xiàng)中。
[0065]因此,本實(shí)施例中OpenFlow控制器本地保存的合并口列表是保存了合并口、主機(jī)信息、物理端口三者之間的對(duì)應(yīng)關(guān)系表:接入設(shè)備A下掛的所有主機(jī)的主機(jī)信息記錄在合并口 I對(duì)應(yīng)的表項(xiàng)上;接入設(shè)備B下掛的所有主機(jī)的主機(jī)信息記錄在合并口 2對(duì)應(yīng)的表項(xiàng)上;接入設(shè)備A的兩條等價(jià)路徑與Switch相連的物理端口是端口 I和端口 3,因此,合并口I包含的物理端口是端口 1、端口 3,接入設(shè)備B的兩條等價(jià)路徑與Switch相連的物理端口是端口 2和端口 4,因此,合并口 2包含的物理端口是端口 2、端口 4。OpenFlow控制器上保存的合并口列表如表I所不。
[0066]本實(shí)施例以主機(jī)A向主機(jī)B發(fā)送一個(gè)報(bào)文X為例對(duì)本發(fā)明技術(shù)方案進(jìn)行說(shuō)明,圖5為本發(fā)明實(shí)施例的流程圖,如圖5所示,包括以下步驟:
[0067]步驟501:主機(jī)A將報(bào)文X發(fā)送給接入設(shè)備A。
[0068]本步驟中,主機(jī)A發(fā)送給接入設(shè)備A的報(bào)文X攜帶的源主機(jī)信息是主機(jī)A的MAC地址和IP地址,即MAC-A和IP-A,目的主機(jī)信息是主機(jī)B的MAC地址和IP地址,即MAC-B和 IP-B。
[0069]步驟502:接入設(shè)備A接收?qǐng)?bào)文X并轉(zhuǎn)發(fā)。
[0070]本實(shí)施例假定主機(jī)A向主機(jī)B發(fā)送一個(gè)報(bào)文X,接入設(shè)備A接收到報(bào)文X后通過鏈路I將報(bào)文X發(fā)送給了 Switch A,則第一 SDN網(wǎng)絡(luò)設(shè)備為Switch A。在實(shí)際應(yīng)用中,接入設(shè)備A接收到某個(gè)自身下掛主機(jī)發(fā)送來(lái)的不同業(yè)務(wù)流的多個(gè)報(bào)文時(shí),可以基于預(yù)設(shè)的規(guī)貝U,將不同業(yè)務(wù)流的報(bào)文通過不同的等價(jià)路徑轉(zhuǎn)發(fā),實(shí)現(xiàn)按流負(fù)載分擔(dān),例如主機(jī)A發(fā)給主機(jī)B的業(yè)務(wù)流I通過圖4所示的鏈路I發(fā)送給Switch A,主機(jī)A發(fā)給主機(jī)B的業(yè)務(wù)流2通過圖4所示的鏈路2發(fā)送給Switch B。
[0071]步驟503:當(dāng)Switch A接收到報(bào)文X,發(fā)送流表下發(fā)請(qǐng)求報(bào)文給OpenFlow控制器,請(qǐng)求下發(fā)轉(zhuǎn)發(fā)路徑對(duì)應(yīng)的流表。
[0072]本步驟中,當(dāng)Switch A接收到報(bào)文X后,發(fā)現(xiàn)本地沒有與報(bào)文X匹配的流表項(xiàng),因此需要向OpenFlow控制器發(fā)送流表下發(fā)請(qǐng)求報(bào)文,請(qǐng)求下發(fā)轉(zhuǎn)發(fā)路徑對(duì)應(yīng)的流表。假設(shè)該流表下發(fā)請(qǐng)求報(bào)文攜帶報(bào)文X的源主機(jī)信息MAC-A、IP-A,目的主機(jī)信息MAC-B、IP-B,以及Switch A接收?qǐng)?bào)文X的端口 I (即入物理端口為端口 I)。
[0073]步驟504:OpenF1w控制器接收Switch A發(fā)送的流表下發(fā)請(qǐng)求報(bào)文,根據(jù)該流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,判斷該源主機(jī)沒有發(fā)生端口遷移。
[0074]本步驟中,OpenFlow控制器接收Switch A發(fā)送的流表下發(fā)請(qǐng)求報(bào)文后,根據(jù)該流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息MAC-A、IP-A查詢表1,確定報(bào)文X的入合并口為合并口I,合并口 I包含的物理端口是端口 I和端口 3,由于流表下發(fā)請(qǐng)求報(bào)文攜帶的入物理端口是端口 1,是合并口 I包含的物理端口,因此OpenFlow控制器判斷該源主機(jī)沒有發(fā)生端口遷移。
[0075]如果報(bào)文X是通過除端口 I和端口 3之外的其他物理端口被OpenFlow網(wǎng)絡(luò)中的Switch設(shè)備接收到,則OpenFlow控制器判斷該源主機(jī)發(fā)生端口遷移。如果主機(jī)發(fā)生端口遷移,則OpenFlow控制器更新表1中的合并口列表。假設(shè)報(bào)文X通過端口 2被Switch A接收到,則流表下發(fā)請(qǐng)求報(bào)文攜帶的入物理端口是端口 2,端口 2所在的合并口是合并口 2,則OpenFlow控制器將主機(jī)A記錄到合并口 2對(duì)應(yīng)的合并口列表中,并刪除原來(lái)主機(jī)A對(duì)應(yīng)的合并口流表,更新后的合并口列表如表2所示:
[0076]表2
[0077]
【權(quán)利要求】
1.一種多接入SDN網(wǎng)絡(luò)報(bào)文轉(zhuǎn)發(fā)方法,應(yīng)用于多接入SDN網(wǎng)絡(luò),其特征在于,當(dāng)源主機(jī)通過多接入SDN網(wǎng)絡(luò)發(fā)送數(shù)據(jù)報(bào)文時(shí),該方法包括: SDN控制器根據(jù)第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷所述源主機(jī)是否發(fā)生端口遷移; 如果沒有發(fā)生端口遷移,根據(jù)所述多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定所述數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)所述確定出的出物理端口和所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將所述第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給所述第一SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)所述數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述合并口列表中包括有與接入設(shè)備或主機(jī)相連的SDN網(wǎng)絡(luò)設(shè)備的物理端口、主機(jī)信息以及合并口的對(duì)應(yīng)關(guān)系,由SDN控制器在主機(jī)首次接入網(wǎng)絡(luò)或者主機(jī)首次發(fā)送報(bào)文時(shí)獲得。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述源主機(jī)是否發(fā)生端口遷移的方法為: 如果流表下發(fā)請(qǐng)求報(bào)文攜帶的數(shù)據(jù)報(bào)文的入物理端口是所述入合并口包含的物理端口,則源主機(jī)沒有發(fā)生端口遷移,否則發(fā)生了端口遷移,所述入物理端口是所述第一 SDN網(wǎng)絡(luò)設(shè)備接收所述數(shù)據(jù)報(bào)文的本地物理端口。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,如果所述源主機(jī)發(fā)生端口遷移,所述SDN控制器將源主機(jī)信息記錄到所述入物理端口所在的合并口中。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定所述數(shù)據(jù)報(bào)文的出物理端口,具體為: 所述SDN控制器則根據(jù)所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢所述合并口列表確定出合并口,并確定所述出合并口包含的物理端口,實(shí)時(shí)統(tǒng)計(jì)所述出合并口包含的每個(gè)物理端口的流量,將流量最小的物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備上的本地物理端口確定為所述數(shù)據(jù)報(bào)文的出物理端口。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述實(shí)時(shí)統(tǒng)計(jì)所述出合并口包含的每個(gè)物理端口的流量,具體為: 所述SDN控制器確定所述出合并口包含的每個(gè)物理端口所在的SDN網(wǎng)絡(luò)設(shè)備; 查找每個(gè)所述SDN網(wǎng)絡(luò)設(shè)備上以所述出合并口包含的物理端口為出端口的所有流表,將所述所有流表的報(bào)文字節(jié)數(shù)相加計(jì)算所述出合并口包含的每個(gè)物理端口的實(shí)時(shí)流量。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,該方法進(jìn)一步包括: 所述SDN控制器創(chuàng)建第二流表項(xiàng),并下發(fā)給與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備,使所述其他SDN網(wǎng)絡(luò)設(shè)備將目的主機(jī)信息與所述第一流表項(xiàng)目的主機(jī)信息相同的報(bào)文通過所述第二流表項(xiàng)發(fā)送給第一 SDN網(wǎng)絡(luò)設(shè)備,由第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)第一流表項(xiàng)轉(zhuǎn)發(fā)報(bào)文給目的主機(jī)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定所述數(shù)據(jù)報(bào)文的出物理端口,還可以包括: 所述SDN控制器根據(jù)所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢所述合并口列表確定出合并口,并確定所述出合并口包含的每一個(gè)物理端口,將所述每一個(gè)物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備的本地物理端口分別確定為所述數(shù)據(jù)報(bào)文的出物理端口,根據(jù)確定出的每一個(gè)出物理端口和所述目的主機(jī)信息創(chuàng)建第一流表項(xiàng)組,將所述第一流表項(xiàng)組下發(fā)給所述第一 SDN網(wǎng)絡(luò)設(shè)備,使得所述第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從所述第一流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法進(jìn)一步包括: 所述SDN控制器根據(jù)所述出合并口包含的每一個(gè)物理端口分別確定與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)的本地物理端口,并將每一個(gè)其他SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)的本地物理端口作為所述數(shù)據(jù)報(bào)文的出物理端口,根據(jù)確定出的每一個(gè)出物理端口和所述目的主機(jī)信息創(chuàng)建第二流表項(xiàng)組,將所述第二流表項(xiàng)組下發(fā)給所述其他SDN網(wǎng)絡(luò)設(shè)備,使得所述其他SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從所述第二流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
10.一種SDN控制器,其特征在于,所述SDN控制器包括報(bào)文轉(zhuǎn)發(fā)裝置,該報(bào)文轉(zhuǎn)發(fā)裝置包括: 處理模塊,用于根據(jù)第一 SDN網(wǎng)絡(luò)設(shè)備發(fā)送的流表下發(fā)請(qǐng)求報(bào)文攜帶的源主機(jī)信息查詢合并口列表確定入合并口,并判斷所述源主機(jī)是否發(fā)生端口遷移; 表項(xiàng)創(chuàng)建模塊,如果沒有發(fā)生端口遷移,用于根據(jù)多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定數(shù)據(jù)報(bào)文的出物理端口,并且根據(jù)所述確定出的出物理端口和所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息創(chuàng)建第一流表項(xiàng)或第一流表項(xiàng)組,將所述第一流表項(xiàng)或第一流表項(xiàng)組下發(fā)給所述第一 SDN網(wǎng)絡(luò)設(shè)備以指導(dǎo)數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)。
11.根據(jù)權(quán)利要求10所述的SDN控制器,其特征在于,所述處理模塊查詢的合并口列表中包括有與接入設(shè)備或主機(jī)相連的SDN網(wǎng)絡(luò)設(shè)備的物理端口、主機(jī)信息以及合并口的對(duì)應(yīng)關(guān)系,由所述表項(xiàng)創(chuàng)建模塊在主機(jī)首次接入網(wǎng)絡(luò)或者主機(jī)首次發(fā)送報(bào)文時(shí)獲得。
12.根據(jù)權(quán)利要求10所述的SDN控制器,其特征在于,所述處理模塊判斷所述源主機(jī)是否發(fā)生端口遷移,具體為: 如果流表下發(fā)請(qǐng)求報(bào)文攜帶的數(shù)據(jù)報(bào)文的入物理端口是所述入合并口包含的物理端口,則源主機(jī)沒有發(fā)生端口遷移,否則發(fā)生了端口遷移,所述入物理端口是所述第一 SDN網(wǎng)絡(luò)設(shè)備接收源主機(jī)發(fā)送的數(shù)據(jù)報(bào)文的本地物理端口。
13.根據(jù)權(quán)利要求12所述的SDN控制器,其特征在于,如果所述源主機(jī)發(fā)生端口遷移,所述表項(xiàng)創(chuàng)建模塊將源主機(jī)信息記錄到所述入物理端口所在的合并口中。
14.根據(jù)權(quán)利要求10所述的SDN控制器,其特征在于,所述表項(xiàng)創(chuàng)建模塊根據(jù)所述多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定所述數(shù)據(jù)報(bào)文的出物理端口時(shí),所述處理模塊還用于,根據(jù)所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢所述合并口列表確定出合并口,并確定所述出合并口包含的物理端口,實(shí)時(shí)統(tǒng)計(jì)所述出合并口包含的每個(gè)物理端口的流量,將流量最小的物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備上的本地物理端口確定為所述數(shù)據(jù)報(bào)文的出物理端口。
15.根據(jù)權(quán)利要求14所述的SDN控制器,其特征在于,所述處理模塊實(shí)時(shí)統(tǒng)計(jì)出合并口包含的每個(gè)物理端口的流量,具體為: 確定所述出合并口包含的每個(gè)物理端口所在的SDN網(wǎng)絡(luò)設(shè)備;查找每個(gè)所述SDN網(wǎng)絡(luò)設(shè)備上以所述出合并口包含的物理端口為出端口的所有流表,將所述所有流表的報(bào)文字節(jié)數(shù)相加計(jì)算所述出合并口包含的每個(gè)物理端口的實(shí)時(shí)流量。
16.根據(jù)權(quán)利要求15所述的SDN控制器,其特征在于,表項(xiàng)創(chuàng)建模塊進(jìn)一步用于: 創(chuàng)建第二流表項(xiàng),并下發(fā)給與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備,使所述其他SDN網(wǎng)絡(luò)設(shè)備將目的主機(jī)信息與所述第一流表項(xiàng)目的主機(jī)信息相同的報(bào)文通過所述第二流表項(xiàng)發(fā)送給第一 SDN網(wǎng)絡(luò)設(shè)備,由第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)第一流表項(xiàng)轉(zhuǎn)發(fā)報(bào)文給目的主機(jī)。
17.根據(jù)權(quán)利要求10所述的SDN控制器,其特征在于,所述表項(xiàng)創(chuàng)建模塊根據(jù)所述多接入SDN網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)確定所述數(shù)據(jù)報(bào)文的出物理端口時(shí),所述處理模塊還用于: 根據(jù)所述流表下發(fā)請(qǐng)求報(bào)文攜帶的目的主機(jī)信息查詢所述合并口列表確定出合并Π ; 所述表項(xiàng)創(chuàng)建模塊進(jìn)一步用于,確定所述出合并口包含的每一個(gè)物理端口,將所述每一個(gè)物理端口對(duì)應(yīng)的第一 SDN網(wǎng)絡(luò)設(shè)備的本地物理端口分別確定為所述數(shù)據(jù)報(bào)文的出物理端口,根據(jù)確定出的每一個(gè)出物理端口和所述目的主機(jī)信息創(chuàng)建第一流表項(xiàng)組,將所述第一流表項(xiàng)組下發(fā)給所述第一 SDN網(wǎng)絡(luò)設(shè)備,使得所述第一 SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從所述第一流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
18.根據(jù)權(quán)利要求17所述的SDN控制器,其特征在于,所述表項(xiàng)創(chuàng)建模塊進(jìn)一步用于: 根據(jù)所述出合并口包含的每一個(gè)物理端口分別確定與第一 SDN網(wǎng)絡(luò)設(shè)備位于等價(jià)路徑上的其他SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)的本地物理端口,并將每一個(gè)其他SDN網(wǎng)絡(luò)設(shè)備上對(duì)應(yīng)的本地物理端口作為所述數(shù)據(jù)報(bào)文的出物理端口,根據(jù)確定出的每一個(gè)出物理端口和所述目的主機(jī)信息創(chuàng)建第二流表項(xiàng)組,將所述第二流表項(xiàng)組下發(fā)給所述其他SDN網(wǎng)絡(luò)設(shè)備,使得所述其他SDN網(wǎng)絡(luò)設(shè)備根據(jù)預(yù)定的負(fù)載分擔(dān)策略從所述第二流表項(xiàng)組中選擇其中一個(gè)流表項(xiàng)進(jìn)行數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)。
【文檔編號(hào)】H04L12/803GK104168209SQ201410432229
【公開日】2014年11月26日 申請(qǐng)日期:2014年8月28日 優(yōu)先權(quán)日:2014年8月28日
【發(fā)明者】王海 申請(qǐng)人:杭州華三通信技術(shù)有限公司