控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法及邏輯交換的制造方法
【專利摘要】本發(fā)明公開了一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法及邏輯交換機(jī),本發(fā)明通過將完成相應(yīng)流表操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī),實(shí)現(xiàn)了接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,并完成相應(yīng)的流表項(xiàng)匹配出的操作指令對(duì)應(yīng)的操作,有效避免了因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
【專利說明】控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法及邏輯交換機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到OpenFlow協(xié)議下的數(shù)據(jù)轉(zhuǎn)發(fā)領(lǐng)域,特別涉及到一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法及邏輯交換機(jī)。
【背景技術(shù)】
[0002]OpenFlow交換機(jī)將原來完全由交換機(jī)/路由器控制的數(shù)據(jù)包轉(zhuǎn)發(fā)過程轉(zhuǎn)化為由OpenFlow交換機(jī)(OpenFlow Switch)和控制器(Controller)來共同完成,從而實(shí)現(xiàn)了數(shù)據(jù)轉(zhuǎn)發(fā)和路由控制的分離??刂破骺梢酝ㄟ^事先規(guī)定好的接口操作來控制OpenFlow交換機(jī)中的流表,從而達(dá)到控制數(shù)據(jù)轉(zhuǎn)發(fā)的目的。流表由很多個(gè)流表項(xiàng)組成,每個(gè)流表項(xiàng)就是一個(gè)轉(zhuǎn)發(fā)規(guī)則。進(jìn)入交換機(jī)的數(shù)據(jù)包通過查詢流表來獲得轉(zhuǎn)發(fā)的目的端口。
[0003]根據(jù)OpenFlow管道及流表的描述,針對(duì)經(jīng)過封裝和解封裝的數(shù)據(jù)包,需要前后多次查詢相同類型的流表,才能獲取到轉(zhuǎn)發(fā)的目的端口。然而OpenFlow的管道處理規(guī)定,管道中相同類型的流表只有一個(gè)且只能查詢一次,且管道中的流表不能跳轉(zhuǎn)到已匹配過的同類型的流表(不能跳轉(zhuǎn)到小序號(hào)流表)上再次處理。針對(duì)該問題,現(xiàn)有OpenFlow協(xié)議支持的解決方法是盡可能分解隧道,細(xì)化描述流,例如每用戶每隧道展開流表項(xiàng)。但這樣的方式導(dǎo)致流表項(xiàng)過多,流表規(guī)模擴(kuò)大,使得流表的維護(hù)和更新復(fù)雜化。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的為提供一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,旨在實(shí)現(xiàn)接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,同時(shí)有效避免因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
[0005]本發(fā)明還提出一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),旨在實(shí)現(xiàn)接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,同時(shí)有效避免因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
[0006]本發(fā)明提出一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,該方法包括:
[0007]當(dāng)接收到數(shù)據(jù)包時(shí),第一邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口;
[0008]第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口 ;
[0009]當(dāng)所述確定的出接口是橋接接口時(shí),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0010]優(yōu)選地,在所述第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口的步驟之后,該方法還包括:
[0011]當(dāng)所述確定的出接口不是橋接接口時(shí),則第一邏輯交換機(jī)將完成相應(yīng)操作之后的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去。
[0012]優(yōu)選地,所述預(yù)設(shè)橋接接口的橋接屬性包括第二邏輯交換機(jī)的身份標(biāo)識(shí)和該數(shù)據(jù)包在所述的第二邏輯交換機(jī)上的入接口的身份標(biāo)識(shí)。
[0013]優(yōu)選地,所述第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)的步驟包括:
[0014]當(dāng)確定的出接口是橋接接口時(shí),填充元數(shù)據(jù)給第二邏輯交換機(jī),所述元數(shù)據(jù)包括橋接令牌數(shù),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包及元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0015]優(yōu)選地,在所述當(dāng)確定的出接口是橋接接口時(shí),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)的步驟之后,該方法還包括:
[0016]所述第二邏輯交換機(jī)獲取所述的第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù),判斷所述確定的橋接令牌數(shù)是否為0 ;
[0017]若所述確定的橋接令牌數(shù)是0,則所述第二邏輯交換機(jī)將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器。
[0018]優(yōu)選地,在所述判斷所述確定的橋接令牌數(shù)是否為0的步驟之后,該方法還包括:
[0019]若所述確定的橋接令牌數(shù)不為0,則第二邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口 ;
[0020]第二邏輯交換機(jī)判斷確定的出接口是否是橋接接口 ;
[0021]當(dāng)確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一,然后將完成相應(yīng)的操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī)。
[0022]一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),該邏輯交換機(jī)包括:
[0023]數(shù)據(jù)處理模塊,用于當(dāng)接收到數(shù)據(jù)包時(shí),按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口;
[0024]分析模塊,用于判斷所述確定的出接口是否是橋接接口 ;
[0025]數(shù)據(jù)轉(zhuǎn)發(fā)模塊,用于當(dāng)所述確定的出接口是橋接接口時(shí),將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0026]優(yōu)選地,所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于當(dāng)所述確定的出接口不是橋接接口時(shí),將完成相應(yīng)操作的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去。
[0027]優(yōu)選地,所述預(yù)設(shè)橋接接口的橋接屬性包括第二邏輯交換機(jī)的身份標(biāo)識(shí)和該數(shù)據(jù)包在所述第二邏輯交換機(jī)上的入接口的身份標(biāo)識(shí)。
[0028]優(yōu)選地,所述數(shù)據(jù)處理模塊,還用于當(dāng)確定的出接口是橋接接口時(shí),填充元數(shù)據(jù)給第二邏輯交換機(jī),所述元數(shù)據(jù)包括橋接令牌數(shù);
[0029]所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0030]優(yōu)選地,所述數(shù)據(jù)處理模塊,還用于獲取所述的第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù);
[0031]所述分析模塊,還用于判斷所述確定的橋接令牌數(shù)是否為0 ;
[0032]所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于若所述確定的橋接令牌數(shù)是0,則將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器。
[0033]優(yōu)選地,所述數(shù)據(jù)處理模塊,還用于若所述確定的橋接令牌數(shù)不為0,按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口;
[0034]所述分析模塊,還用于判斷所述確定的出接口是否是橋接接口 ;
[0035]所述數(shù)據(jù)處理模塊,還用于當(dāng)所述確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一;
[0036]所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于將完成相應(yīng)操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī)。
[0037]相對(duì)現(xiàn)有技術(shù),本發(fā)明通過將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī),實(shí)現(xiàn)了接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,并完成相應(yīng)的流表項(xiàng)匹配出的操作指令對(duì)應(yīng)的操作,有效避免了因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
【專利附圖】
【附圖說明】
[0038]圖1為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法的第一實(shí)施例的具體流程圖;
[0039]圖2為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法中邏輯交換機(jī)的橋接結(jié)構(gòu)一實(shí)施例的示意圖;
[0040]圖3為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法的第二實(shí)施例的具體流程圖;
[0041]圖4為圖3中移動(dòng)IP (互聯(lián)網(wǎng)協(xié)議)代理場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖;
[0042]圖5為圖3中L2VPN (2層虛擬私人網(wǎng)絡(luò))和L3VPN (3層虛擬私人網(wǎng)絡(luò))橋接場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖;
[0043]圖6為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī)的較佳實(shí)施例的具體架構(gòu)圖;
[0044]圖7為圖6中移動(dòng)IP代理場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖;
[0045]圖8為圖6中L2VPN和L3VPN橋接場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖。
[0046]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0047]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0048]如圖1和圖2所示,圖1為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法的第一實(shí)施例的具體流程圖;圖2為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法中邏輯交換機(jī)的橋接結(jié)構(gòu)一實(shí)施例的示意圖。
[0049]需要強(qiáng)調(diào)的是:圖1所示流程圖僅為一個(gè)較佳實(shí)施例,本領(lǐng)域的技術(shù)人員當(dāng)知,任何圍繞本發(fā)明思想構(gòu)建的實(shí)施例都不應(yīng)脫離于如下技術(shù)方案涵蓋的范圍:
[0050]當(dāng)接收到數(shù)據(jù)包時(shí),第一邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口 ;第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口 ;當(dāng)所述確定的出接口是橋接接口時(shí),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0051]以下是本實(shí)施例逐步實(shí)現(xiàn)控制數(shù)據(jù)轉(zhuǎn)發(fā)的具體步驟:
[0052]步驟S11,當(dāng)接收到數(shù)據(jù)包時(shí),第一邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口。
[0053]具體的,所述第一邏輯交換機(jī)維護(hù)有多個(gè)用于匹配接收的數(shù)據(jù)包的流表,所述流表包括多個(gè)用于匹配出操作指令的流表項(xiàng),通過數(shù)據(jù)包與流表項(xiàng)的匹配,匹配出相應(yīng)的對(duì)數(shù)據(jù)包進(jìn)行操作的指令并確定對(duì)應(yīng)的出接口,例如,可以是對(duì)數(shù)據(jù)包進(jìn)行修改、轉(zhuǎn)發(fā)或組表處理等操作指令。所述轉(zhuǎn)發(fā)指令為將數(shù)據(jù)包轉(zhuǎn)發(fā)至下一流表進(jìn)行流表項(xiàng)匹配或?qū)?shù)據(jù)包按照預(yù)設(shè)的方式發(fā)送出去。所述預(yù)設(shè)的方式可以是通過預(yù)設(shè)的端口將數(shù)據(jù)包發(fā)送給控制器或發(fā)送給目的設(shè)備。所述數(shù)據(jù)包:為以太網(wǎng)幀,包括報(bào)頭和有效載荷。當(dāng)按照流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包完成與所述操作指令對(duì)應(yīng)的操作之后,第一邏輯交換機(jī)判斷確定的出接口是否是橋接接口。
[0054]步驟S12,第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口。
[0055]具體的,接收的數(shù)據(jù)包通過與流表中的流表項(xiàng)的匹配,匹配出對(duì)數(shù)據(jù)包進(jìn)行修改、轉(zhuǎn)發(fā)或組表處理等操作指令并確定對(duì)應(yīng)的出接口,判斷所述確定的出接口是否是橋接接口,當(dāng)所述確定的出接口是橋接接口時(shí),填充元數(shù)據(jù)給第二邏輯交換機(jī),所述邏輯交換機(jī)間傳遞的元數(shù)據(jù)包括但不限于:橋接令牌數(shù)。所述橋接令牌數(shù)表示當(dāng)前能繼續(xù)橋接的邏輯交換機(jī)數(shù)量,由第一邏輯交換機(jī)在收到數(shù)據(jù)包并發(fā)現(xiàn)元數(shù)據(jù)中的橋接令牌數(shù)為無效值(例如-1)時(shí)根據(jù)系統(tǒng)配置(例如控制器設(shè)置邏輯交換機(jī)的橋接令牌參考初值)設(shè)置初始值,對(duì)于當(dāng)前數(shù)據(jù)包的處理而言,第一邏輯交換機(jī)橋接到第二邏輯交換機(jī)時(shí),將當(dāng)前橋接令牌數(shù)減一后填充所述元數(shù)據(jù)給第二邏輯交換機(jī)的流表管道的表0。當(dāng)前的數(shù)據(jù)包在所述的第一邏輯交換機(jī)中處理完畢時(shí),第一邏輯交換機(jī)重置其表0的所述元數(shù)據(jù),重置后,該元數(shù)據(jù)中橋接令牌數(shù)為無效值,待有新的業(yè)務(wù)需求時(shí),再根據(jù)業(yè)務(wù)配置元數(shù)據(jù)。第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包及元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī);或當(dāng)所述確定的出接口不是橋接接口時(shí),將接收的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去,所述按照流表管道上的流表匹配出的發(fā)送方式可以是根據(jù)業(yè)務(wù)需要給邏輯交換機(jī)配置的物理端口,通過該物理端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備上,也還可以是通過其他任意預(yù)設(shè)的端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備或控制器。交換機(jī)定義的邏輯端口,可以指定鏈路匯聚組,隧道或環(huán)回接口。
[0056]步驟S13,當(dāng)所述確定的出接口是橋接接口時(shí),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
[0057]具體的,所述橋接接口的屬性包括第二級(jí)邏輯交換機(jī)的身份標(biāo)識(shí)和所述數(shù)據(jù)包的第二邏輯交換機(jī)的入接口的身份標(biāo)識(shí),所述預(yù)設(shè)橋接接口的橋接屬性可以是控制器或配置點(diǎn)在創(chuàng)建所述橋接接口時(shí)根據(jù)業(yè)務(wù)需求下發(fā),也可以是在更新所述橋接接口時(shí)根據(jù)業(yè)務(wù)需求動(dòng)態(tài)創(chuàng)建或更新。所述第二邏輯交換機(jī)和第一邏輯交換機(jī)歸屬于同一物理轉(zhuǎn)發(fā)設(shè)備,所述第二邏輯交換機(jī)和第一邏輯交換機(jī)可以為同一邏輯交換機(jī)。若橋接的是同一邏輯交換機(jī),所述第二邏輯交換機(jī)即與第一邏輯交換機(jī)為同一邏輯交換機(jī),邏輯交換機(jī)預(yù)設(shè)橋接接口的作用是在橋接接口處環(huán)回?cái)?shù)據(jù)包,再次進(jìn)入該邏輯交換機(jī)與流表中的流表項(xiàng)進(jìn)行匹配,匹配出相應(yīng)的對(duì)所述數(shù)據(jù)包進(jìn)行的操作的指令,即實(shí)現(xiàn)邏輯交換機(jī)在出接口處的自身環(huán)回,所述出接口預(yù)設(shè)的橋接數(shù)據(jù)路徑標(biāo)識(shí)為進(jìn)入第一邏輯交換機(jī)的數(shù)據(jù)路徑,數(shù)據(jù)路徑接口的標(biāo)識(shí)為第一邏輯交換機(jī)入口的標(biāo)識(shí)。即通過進(jìn)入第一邏輯交換機(jī)的數(shù)據(jù)路徑和第一邏輯交換機(jī)的入口的標(biāo)識(shí)將完成相應(yīng)操作的數(shù)據(jù)包發(fā)送至第一邏輯交換機(jī)進(jìn)行流表中流表項(xiàng)的匹配,以獲得對(duì)所述數(shù)據(jù)包進(jìn)行相應(yīng)的操作及/或獲取到轉(zhuǎn)發(fā)的目的端口。通過將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī),實(shí)現(xiàn)了接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,并完成相應(yīng)的流表項(xiàng)匹配出的操作指令對(duì)應(yīng)的操作,有效避免了因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
[0058]參照?qǐng)D2,若橋接的不是同一邏輯交換機(jī),所述第二邏輯交換機(jī)為與第一邏輯交換機(jī)不同的在同一物理轉(zhuǎn)發(fā)設(shè)備內(nèi)的另外一個(gè)邏輯交換機(jī)。邏輯交換機(jī)間預(yù)設(shè)的橋接接口的作用是將經(jīng)過該邏輯交換機(jī)完成相應(yīng)操作之后的數(shù)據(jù)包根據(jù)預(yù)設(shè)橋接接口的橋接屬性轉(zhuǎn)發(fā)至第二邏輯交換機(jī)。通過在不同的邏輯交換機(jī)之間設(shè)置橋接接口,并根據(jù)預(yù)設(shè)橋接接口的橋接屬性將完成相應(yīng)操作之后的數(shù)據(jù)包發(fā)送至第二邏輯交換機(jī),數(shù)據(jù)包可以根據(jù)需要進(jìn)入其他邏輯交換機(jī)進(jìn)行流表中的流表項(xiàng)的匹配,使得數(shù)據(jù)包可以經(jīng)過流表項(xiàng)的匹配后獲取到轉(zhuǎn)發(fā)的目的端口,并將完成相應(yīng)操作之后的數(shù)據(jù)包按照獲取到的轉(zhuǎn)發(fā)的目的端口轉(zhuǎn)發(fā)至與轉(zhuǎn)發(fā)的目的端口對(duì)應(yīng)的目的設(shè)備。
[0059]進(jìn)一步地,所述第二邏輯交換機(jī)獲取所述第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù),判斷所述確定的橋接令牌數(shù)是否為0 ;若所述確定的橋接令牌數(shù)是0,則所述第二邏輯交換機(jī)將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器。若所述確定的橋接令牌數(shù)不為0,則第二邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口 ;第二邏輯交換機(jī)判斷確定的出接口是否是橋接接口 ;當(dāng)確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一,然后將完成相應(yīng)的操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī),同樣的,所述第三邏輯交換機(jī)可以是與第一邏輯交換機(jī)或者第二邏輯交換機(jī)為同一邏輯交換機(jī)。通過給數(shù)據(jù)包的邏輯交換機(jī)填充元數(shù)據(jù),所述元數(shù)據(jù)包括橋接令牌數(shù),且在數(shù)據(jù)包的橋接令牌數(shù)為0時(shí),數(shù)據(jù)包不再進(jìn)入邏輯交換機(jī)進(jìn)行匹配處理,避免了數(shù)據(jù)包在邏輯交換機(jī)之間的異常循環(huán),阻塞數(shù)據(jù)路徑。
[0060]如圖3、圖4、圖5所示,圖3為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)方法的第二實(shí)施例的具體流程圖,圖4為圖3中移動(dòng)IP (互聯(lián)網(wǎng)協(xié)議)代理場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖,圖5為圖3中L2VPN (2層虛擬私人網(wǎng)絡(luò))和L3VPN (3層虛擬私人網(wǎng)絡(luò))橋接場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖。
[0061]基于上述第一實(shí)施例,在步驟S12之后還包括:
[0062]步驟S14,當(dāng)確定的出接口不是橋接接口時(shí),則第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去。
[0063]所述流表管道上的流表匹配出的發(fā)送方式可以是根據(jù)業(yè)務(wù)需要給邏輯交換機(jī)配置的物理端口,通過該物理端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備上,也還可以是通過其他任意預(yù)設(shè)的端口將將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備或控制器。通過將完成相應(yīng)操作的數(shù)據(jù)包發(fā)送至相應(yīng)的設(shè)備或者控制器,通過與流表中的流表項(xiàng)匹配確定目的端口并將數(shù)據(jù)轉(zhuǎn)發(fā)到與確定目的端口對(duì)應(yīng)的設(shè)備。
[0064]參照?qǐng)D4,以移動(dòng)IP代理為例,根據(jù)邏輯交換機(jī)10中的表0獲取到入接口的對(duì)應(yīng)的流表項(xiàng),提取到對(duì)應(yīng)的操作指令,跳轉(zhuǎn)到查詢邏輯交換機(jī)10中的表1,根據(jù)數(shù)據(jù)包中的IP進(jìn)行匹配,確定流表的出接口是GRE (通用路由封裝)隧道對(duì)應(yīng)的橋接接口,根據(jù)GRE隧道信息對(duì)數(shù)據(jù)包做GRE隧道封裝,并更新數(shù)據(jù)包填充的元數(shù)據(jù)中的橋接令牌數(shù)。封裝了的GRE頭和外層承載的IP頭后的數(shù)據(jù)包從GRE隧道接口進(jìn)人邏輯交換機(jī)20進(jìn)行匹配處理。根據(jù)邏輯交換機(jī)20中的表0獲取到入接口的對(duì)應(yīng)的流表項(xiàng),提取到對(duì)應(yīng)的操作指令,根據(jù)該流表項(xiàng)掛接的測(cè)量表?xiàng)l目做CAR限速,跳轉(zhuǎn)到邏輯交換機(jī)20中的表1,根據(jù)IP頭的目的IP (為外地代理設(shè)備的IP地址)進(jìn)行匹配,跳轉(zhuǎn)入邏輯交換機(jī)20中的表2,填充出接口和下一跳設(shè)備IP繼續(xù)匹配,確定對(duì)應(yīng)的下一跳設(shè)備的二層信息,壓入需要的VLAN標(biāo)簽,填充MAC頭,跳轉(zhuǎn)至邏輯交換機(jī)20中的表3,做基于出接口及/或VLAN的控制業(yè)務(wù),例如可以是CAR限速,并通過該出接口將匹配后的流量數(shù)據(jù)轉(zhuǎn)發(fā)至代理設(shè)備上。通過設(shè)置的橋接接口,通過查詢同一類型的路由表對(duì)數(shù)據(jù)包進(jìn)行GRE封裝、獲取目的代理設(shè)備IP,實(shí)現(xiàn)網(wǎng)絡(luò)回程流量轉(zhuǎn)發(fā)到外地代理上。
[0065]參照?qǐng)D5,以 L2VPN (二層虛擬私人網(wǎng)絡(luò),Virtual Private Network)和 L3VPN (三層虛擬私人網(wǎng)絡(luò),Virtual Private Network)橋接的場(chǎng)景為例,從L2VPN橋接穿越L3VPN的數(shù)據(jù)包進(jìn)入邏輯交換機(jī)30進(jìn)行匹配處理,首先根據(jù)入接口(物理接口)在邏輯交換機(jī)30中的表0中匹配,獲取到入接口的對(duì)應(yīng)的流表項(xiàng),提取到對(duì)應(yīng)的操作指令,跳轉(zhuǎn)到邏輯交換機(jī)30中的表1做標(biāo)簽查找,匹配到流表?xiàng)l目后確定出接口是邏輯接口 A,當(dāng)前邏輯交換機(jī)30匹配處理結(jié)束,彈出外層標(biāo)簽,并更新數(shù)據(jù)包填充的元數(shù)據(jù)中的橋接令牌數(shù)。
[0066]數(shù)據(jù)包與邏輯接口 A橋接到邏輯接口 B,重新進(jìn)入邏輯交換機(jī)40進(jìn)行匹配處理,根據(jù)入接口(邏輯接口 B)在邏輯交換機(jī)40中的表0匹配,匹配到流表?xiàng)l目后,根據(jù)該條目中的跳轉(zhuǎn)規(guī)則指向表1繼續(xù)查路由可知該接口為L(zhǎng)3接口,依據(jù)獲取的流表?xiàng)l目信息在數(shù)據(jù)包中設(shè)置VPN ID,跳轉(zhuǎn)到表1繼續(xù)根據(jù)數(shù)據(jù)包中的目的IP和VPN ID繼續(xù)匹配路由獲得實(shí)際的下一跳信息,包括出接口、下一跳設(shè)備IP、出標(biāo)簽等,壓入需要的標(biāo)簽,填充出接口和下一跳IP,然后跳轉(zhuǎn)到表3,根據(jù)填充的出接口和下一跳設(shè)備IP繼續(xù)匹配,確定對(duì)應(yīng)下一跳設(shè)備的二層信息,壓入需要的VLAN標(biāo)簽,填充MAC頭,然后繼續(xù)跳轉(zhuǎn)到表4,做基于出接口或/和VLAN的控制業(yè)務(wù),例如CAR限速,并從該出接口轉(zhuǎn)發(fā)出包。
[0067]在本實(shí)施例中,通過將邏輯接口 A和邏輯接口 B進(jìn)行橋接,實(shí)現(xiàn)了接口配置要求不同的L2VPN和L3VPN之間的橋接,進(jìn)而使得同一數(shù)據(jù)包對(duì)同一類型的路由表的匹配,匹配出目的端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的設(shè)備。
[0068]如圖6、圖7、圖8所示,圖6為本發(fā)明控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī)的較佳實(shí)施例的具體架構(gòu)圖,圖7為圖6中移動(dòng)IP代理場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖;圖8為圖6中L2VPN和L3VPN橋接場(chǎng)景中的邏輯交換機(jī)的流表的具體架構(gòu)圖。該邏輯交換機(jī)包括:數(shù)據(jù)處理模塊100,分析模塊200及數(shù)據(jù)轉(zhuǎn)發(fā)模塊300。
[0069]數(shù)據(jù)處理模塊100,用于當(dāng)接收到數(shù)據(jù)包時(shí),按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口。
[0070]具體的,所述數(shù)據(jù)處理模塊100維護(hù)有多個(gè)用于匹配接收的數(shù)據(jù)包的流表,所述流表包括多個(gè)用于匹配出操作指令的流表項(xiàng),通過數(shù)據(jù)包與流表項(xiàng)的匹配,匹配出相應(yīng)的對(duì)數(shù)據(jù)包進(jìn)行操作的指令并確定對(duì)應(yīng)的出接口,例如,可以是對(duì)數(shù)據(jù)包進(jìn)行修改、轉(zhuǎn)發(fā)或組表處理等操作指令。所述轉(zhuǎn)發(fā)指令為數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將數(shù)據(jù)包轉(zhuǎn)發(fā)至下一流表進(jìn)行流表項(xiàng)匹配或?qū)?shù)據(jù)包按照預(yù)設(shè)的方式發(fā)送出去。所述預(yù)設(shè)的方式可以是數(shù)據(jù)轉(zhuǎn)發(fā)模塊300通過預(yù)設(shè)的端口將數(shù)據(jù)包發(fā)送至控制器或發(fā)送給目的設(shè)備。所述數(shù)據(jù)包:為以太網(wǎng)幀,包括報(bào)頭和有效載荷。在按照流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包完成與所述操作指令對(duì)應(yīng)的操作時(shí),分析模塊200判斷確定的出接口是否是橋接接口。
[0071 ] 分析模塊200,用于判斷所述確定的出接口是否是橋接接口。
[0072]具體的,數(shù)據(jù)處理模塊100將接收的數(shù)據(jù)包通過與流表中的流表項(xiàng)的匹配,匹配出對(duì)數(shù)據(jù)包進(jìn)行修改、轉(zhuǎn)發(fā)或組表處理等操作指令并確定對(duì)應(yīng)的出接口,分析模塊200判斷所述確定的出接口是否是橋接接口是否是橋接接口,當(dāng)所述確定的出接口是橋接接口時(shí),數(shù)據(jù)處理模塊100填充元數(shù)據(jù)給第二邏輯交換機(jī),所述的邏輯交換機(jī)間傳遞的元數(shù)據(jù)包括但不限于:橋接令牌數(shù),所述橋接令牌數(shù)表示當(dāng)前能繼續(xù)橋接的邏輯交換機(jī)數(shù)量,由第一邏輯交換機(jī)在收到數(shù)據(jù)包并發(fā)現(xiàn)元數(shù)據(jù)中的橋接令牌數(shù)為無效值(例如-1)時(shí)根據(jù)系統(tǒng)配置(例如控制器設(shè)置邏輯交換機(jī)的橋接令牌參考初值)設(shè)置初始值,對(duì)于當(dāng)前數(shù)據(jù)包的處理而言,第一邏輯交換機(jī)橋接到第二邏輯交換機(jī)時(shí),數(shù)據(jù)處理模塊100將當(dāng)前橋接令牌數(shù)減一后填充所述元數(shù)據(jù)給第二邏輯交換機(jī)流表管道的表0。當(dāng)前的數(shù)據(jù)包在所述的第一邏輯交換機(jī)中處理完畢時(shí),數(shù)據(jù)處理模塊100重置其表0的所述元數(shù)據(jù),重置后,該元數(shù)據(jù)中橋接令牌數(shù)為無效值,待有新的業(yè)務(wù)需求時(shí),再根據(jù)業(yè)務(wù)配置元數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將完成相應(yīng)操作的數(shù)據(jù)包及元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī);或當(dāng)所述確定的出接口不是橋接接口時(shí),數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將接收的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去,所述流表管道上的流表匹配出的發(fā)送方式可以是根據(jù)業(yè)務(wù)需要給邏輯交換機(jī)配置的物理端口,通過該物理端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備,也還可以是通過其他任意預(yù)設(shè)的端口將將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的設(shè)備。交換機(jī)定義的邏輯端口,可以指定鏈路匯聚組,隧道或環(huán)回接口。
[0073]數(shù)據(jù)轉(zhuǎn)發(fā)模塊300,用于當(dāng)所述確定的出接口是橋接接口時(shí),將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到下一個(gè)邏輯交換機(jī)。
[0074]具體的,所述橋接接口的屬性包括第二級(jí)邏輯交換機(jī)的身份標(biāo)識(shí)和所述數(shù)據(jù)包的第二邏輯交換機(jī)的入接口的身份標(biāo)識(shí),所述預(yù)設(shè)橋接接口的橋接屬性可以是控制器在創(chuàng)建所述邏輯接口時(shí)根據(jù)業(yè)務(wù)需求下發(fā),也還可以是在更新所述邏輯接口時(shí)根據(jù)業(yè)務(wù)需求動(dòng)態(tài)創(chuàng)建或更新。所述第二邏輯交換機(jī)和第一邏輯交換機(jī)歸屬于同一物理轉(zhuǎn)發(fā)設(shè)備,所述第二邏輯交換機(jī)和第一邏輯交換機(jī)可以為同一邏輯交換機(jī)。若橋接的是同一邏輯交換機(jī),所述第二邏輯交換機(jī)即與第一邏輯交換機(jī)為同一邏輯交換機(jī),預(yù)設(shè)橋接接口的作用是在橋接接口處環(huán)回?cái)?shù)據(jù)包,再次進(jìn)入該邏輯交換機(jī)與流表中的流表項(xiàng)進(jìn)行匹配,匹配出相應(yīng)的對(duì)所述數(shù)據(jù)包進(jìn)行的操作的指令,即實(shí)現(xiàn)邏輯交換機(jī)在出接口處的自身環(huán)回,所述出接口預(yù)設(shè)的橋接數(shù)據(jù)路徑標(biāo)識(shí)為進(jìn)入該邏輯交換機(jī)的數(shù)據(jù)路徑,數(shù)據(jù)路徑接口的標(biāo)識(shí)為該邏輯交換機(jī)入口的標(biāo)識(shí)。即通過進(jìn)入該邏輯交換機(jī)的數(shù)據(jù)路徑和該邏輯交換機(jī)的入口的標(biāo)識(shí)數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將完成相應(yīng)操作的數(shù)據(jù)包發(fā)送至該邏輯交換機(jī)進(jìn)行流表中流表項(xiàng)的匹配,以通過數(shù)據(jù)處理模塊100獲得對(duì)所述數(shù)據(jù)包進(jìn)行相應(yīng)的操作及/或獲取到轉(zhuǎn)發(fā)的目的端口。通過數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī),實(shí)現(xiàn)了接收的數(shù)據(jù)包對(duì)同一類型的流表的流表項(xiàng)的匹配,并完成相應(yīng)的流表項(xiàng)匹配出的操作指令對(duì)應(yīng)的操作,有效避免了因細(xì)化流表帶來的流表規(guī)模擴(kuò)大,流表維護(hù)和更新復(fù)雜的問題。
[0075]在本發(fā)明其他實(shí)施例中,若橋接的不是同一邏輯交換機(jī),所述第二邏輯交換機(jī)為與第一邏輯交換機(jī)不同的在同一物理轉(zhuǎn)發(fā)設(shè)備內(nèi)的另外一個(gè)邏輯交換機(jī)。邏輯交換機(jī)間預(yù)設(shè)的橋接接口的作用是將經(jīng)過該邏輯交換機(jī)完成相應(yīng)操作的數(shù)據(jù)包根據(jù)預(yù)設(shè)橋接接口的橋接屬性轉(zhuǎn)發(fā)至另一個(gè)邏輯交換機(jī)。通過在不同的邏輯交換機(jī)之間設(shè)置橋接接口,并根據(jù)預(yù)設(shè)橋接接口的橋接屬性將完成相應(yīng)操作的數(shù)據(jù)包發(fā)送至另一個(gè)邏輯交換機(jī),數(shù)據(jù)包可以根據(jù)需要進(jìn)入其他邏輯交換機(jī)進(jìn)行流表中的流表項(xiàng)的匹配,使得數(shù)據(jù)處理模塊100可以經(jīng)過流表項(xiàng)的匹配后獲取到轉(zhuǎn)發(fā)的目的端口,并通過數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將完成相應(yīng)操作的數(shù)據(jù)包轉(zhuǎn)發(fā)至與獲取的轉(zhuǎn)發(fā)的目的端口對(duì)應(yīng)的目的設(shè)備。
[0076]進(jìn)一步地,數(shù)據(jù)處理模塊100獲取所述第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù),分析模塊200判斷所述確定的橋接令牌數(shù)是否為0。若所述確定的橋接令牌數(shù)是0,數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器;若所述確定的橋接令牌數(shù)不為0,數(shù)據(jù)處理模塊100按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口 ;分析模塊200判斷所述確定的出接口是否是橋接接口 ;當(dāng)所述確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一,數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將完成相應(yīng)的操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī),同樣的,所述第三邏輯交換機(jī)可以是與第一邏輯交換機(jī)或者第二邏輯交換機(jī)為同一邏輯交換機(jī)。通過給數(shù)據(jù)包的邏輯交換機(jī)填充元數(shù)據(jù),所述元數(shù)據(jù)包括橋接令牌數(shù),且在數(shù)據(jù)包的橋接令牌數(shù)為0時(shí),數(shù)據(jù)包不再進(jìn)入邏輯交換機(jī)進(jìn)行匹配處理,避免了數(shù)據(jù)包在邏輯交換機(jī)之間的異常循環(huán),阻塞數(shù)據(jù)路徑。
[0077]參照?qǐng)D7,以移動(dòng)IP代理為例,數(shù)據(jù)處理模塊100根據(jù)邏輯交換機(jī)10中的表0獲取入接口的對(duì)應(yīng)的流表項(xiàng),并提取到對(duì)應(yīng)的操作指令,跳轉(zhuǎn)到查詢10中的表1,根據(jù)數(shù)據(jù)包中的IP進(jìn)行匹配,確定流表的出接口是GRE隧道對(duì)應(yīng)的橋接接口,根據(jù)GRE隧道信息對(duì)數(shù)據(jù)包做GRE隧道封裝,并更新數(shù)據(jù)包填充的元數(shù)據(jù)中的橋接令牌數(shù)。封裝了的GRE頭和外層承載的IP頭后的數(shù)據(jù)包從GRE隧道接口進(jìn)行邏輯交換機(jī)20進(jìn)行匹配處理。數(shù)據(jù)處理模塊100根據(jù)邏輯交換機(jī)20中的表0獲取到入接口的對(duì)應(yīng)的流表項(xiàng),提取到對(duì)應(yīng)的操作指令,根據(jù)該流表項(xiàng)掛接的測(cè)量表?xiàng)l目做CAR限速,跳轉(zhuǎn)到邏輯交換機(jī)10中的表1,根據(jù)IP頭的目的IP (為外地代理設(shè)備的IP地址)進(jìn)行匹配,跳轉(zhuǎn)入邏輯交換機(jī)20中的表2,填充出接口和下一跳設(shè)備IP繼續(xù)匹配,確定對(duì)應(yīng)的下一跳設(shè)備的二層信息,壓入需要的VLAN標(biāo)簽,填充MAC頭,跳轉(zhuǎn)至表3,做基于出接口及/或VLAN的控制業(yè)務(wù),例如可以是CAR限速,數(shù)據(jù)轉(zhuǎn)發(fā)模塊300通過該出接口將匹配后的流量數(shù)據(jù)轉(zhuǎn)發(fā)至代理設(shè)備上。通過設(shè)置的橋接接口,數(shù)據(jù)處理模塊100通過查詢同一類型的路由表對(duì)數(shù)據(jù)包進(jìn)行GRE封裝、獲取目的代理設(shè)備IP,實(shí)現(xiàn)網(wǎng)絡(luò)回程流量轉(zhuǎn)發(fā)到外地代理上。
[0078]參照?qǐng)D8,以 L2VPN(標(biāo)準(zhǔn) 2 的虛擬私人網(wǎng)絡(luò),Virtual Private Network)和 L3VPN(標(biāo)準(zhǔn)3的虛擬私人網(wǎng)絡(luò),Virtual Private Network)橋接的場(chǎng)景為例,從L2VPN橋接穿越L3VPN的數(shù)據(jù)包進(jìn)入邏輯交換機(jī)30進(jìn)行匹配處理,數(shù)據(jù)處理模塊100根據(jù)入接口(物理接口)在邏輯交換機(jī)30中的表0中匹配,獲取到入接口的對(duì)應(yīng)的流表項(xiàng),提取到對(duì)應(yīng)的操作指令,跳轉(zhuǎn)到30中的表1做標(biāo)簽查找,匹配到流表?xiàng)l目后確定出接口是邏輯接口 A,當(dāng)前匹配處理結(jié)束,彈出外層標(biāo)簽,并更新數(shù)據(jù)包填充的元數(shù)據(jù)中的橋接令牌數(shù)。
[0079]數(shù)據(jù)包與邏輯接口 A橋接到邏輯接口 B,傳輸至邏輯交換機(jī)40進(jìn)行匹配處理,數(shù)據(jù)處理模塊100根據(jù)入接口(邏輯接口 B)在表0中匹配,匹配到流表?xiàng)l目后,根據(jù)該條目中的跳轉(zhuǎn)規(guī)則指向表1繼續(xù)查路由可知該接口為L(zhǎng)3接口,依據(jù)獲取的流表?xiàng)l目信息在數(shù)據(jù)包中設(shè)置VPN ID,跳轉(zhuǎn)到表1繼續(xù)根據(jù)數(shù)據(jù)包中的目的IP和VPN ID繼續(xù)匹配路由獲得實(shí)際的下一跳信息,包括出接口、下一跳設(shè)備IP、出標(biāo)簽等,壓入需要的標(biāo)簽,填充出接口和下一跳IP,然后跳轉(zhuǎn)到表3,根據(jù)元數(shù)據(jù)中填充的出接口和下一跳設(shè)備IP繼續(xù)匹配,確定對(duì)應(yīng)下一跳設(shè)備的二層信息,壓入需要的VLAN標(biāo)簽,填充MAC頭,然后繼續(xù)跳轉(zhuǎn)到表4,命中后做基于出接口或/和VLAN的控制業(yè)務(wù),例如CAR限速,數(shù)據(jù)轉(zhuǎn)發(fā)模塊300將數(shù)據(jù)包從該出接口轉(zhuǎn)發(fā)出包。
[0080]在本實(shí)施例中,通過將邏輯接口 A和邏輯接口 B進(jìn)行橋接,實(shí)現(xiàn)了接口配置要求不同的L2VPN和L3VPN之間的橋接,進(jìn)而使得同一數(shù)據(jù)包對(duì)同一類型的路由表的匹配,匹配出目的端口將數(shù)據(jù)包轉(zhuǎn)發(fā)至目的設(shè)備。
[0081]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于,該方法包括: 當(dāng)接收到數(shù)據(jù)包時(shí),第一邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口; 第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口; 當(dāng)所述確定的出接口是橋接接口時(shí),第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
2.根據(jù)權(quán)利要求1所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于,在所述第一邏輯交換機(jī)判斷所述確定的出接口是否是橋接接口的步驟之后,該方法還包括: 當(dāng)所述確定的出接口不是橋接接口時(shí),則第一邏輯交換機(jī)將完成相應(yīng)操作之后的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去。
3.根據(jù)權(quán)利要求1所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于, 所述預(yù)設(shè)橋接接口的橋接屬性包括第二邏輯交換機(jī)的身份標(biāo)識(shí)和該數(shù)據(jù)包在所述第二邏輯交換機(jī)上的入接口的身份標(biāo)識(shí)。
4.根據(jù)權(quán)利要求1所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于,所述第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)的步驟包括: 當(dāng)確定的出接口是橋接接口時(shí),填充元數(shù)據(jù)給第二邏輯交換機(jī),所述元數(shù)據(jù)包括橋接令牌數(shù); 第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包及元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
5.根據(jù)權(quán)利要求4所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于,在所述第一邏輯交換機(jī)將完成相應(yīng)操作的數(shù)據(jù)包及元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)的步驟之后,該方法還包括: 所述第二邏輯交換機(jī)獲取所述第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù),判斷所述確定的橋接令牌數(shù)是否為O ; 若所述確定的橋接令牌數(shù)是O,則所述第二邏輯交換機(jī)將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器。
6.根據(jù)權(quán)利要求5所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的方法,其特征在于,在所述判斷所述確定的橋接令牌數(shù)是否為O的步驟之后,該方法還包括: 若所述確定的橋接令牌數(shù)不為O,則第二邏輯交換機(jī)按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口; 第二邏輯交換機(jī)判斷確定的出接口是否是橋接接口; 當(dāng)確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一,然后將完成相應(yīng)的操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī)。
7.—種控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于,該邏輯交換機(jī)包括: 數(shù)據(jù)處理模塊,用于當(dāng)接收到數(shù)據(jù)包時(shí),按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口; 分析模塊,用于判斷所述確定的出接口是否是橋接接口 ; 數(shù)據(jù)轉(zhuǎn)發(fā)模塊,用于當(dāng)所述確定的出接口是橋接接口時(shí),將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
8.根據(jù)權(quán)利要求7所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于, 所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于當(dāng)所述確定的出接口不是橋接接口時(shí),將完成相應(yīng)操作的數(shù)據(jù)包按照流表管道上的流表匹配出的發(fā)送方式發(fā)送出去。
9.根據(jù)權(quán)利要求7所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于, 所述預(yù)設(shè)橋接接口的橋接屬性包括第二邏輯交換機(jī)的身份標(biāo)識(shí)和該數(shù)據(jù)包在所述第二邏輯交換機(jī)上的入接口的身份標(biāo)識(shí)。
10.根據(jù)權(quán)利要求7所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于, 所述數(shù)據(jù)處理模塊,還用于當(dāng)確定的出接口是橋接接口時(shí),填充元數(shù)據(jù)給第二邏輯交換機(jī),所述元數(shù)據(jù)包括橋接令牌數(shù); 所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于將完成相應(yīng)操作的數(shù)據(jù)包按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第二邏輯交換機(jī)。
11.根據(jù)權(quán)利要求10所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于, 所述數(shù)據(jù)處理模塊,還用于獲取所述第一邏輯交換機(jī)填充的元數(shù)據(jù),并確定元數(shù)據(jù)中攜帶的橋接令牌數(shù); 所述分析模塊,還用于判斷所述確定的橋接令牌數(shù)是否為O ; 所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于若所述確定的橋接令牌數(shù)是0,將接收到的數(shù)據(jù)包丟棄或發(fā)送至控制器。
12.根據(jù)權(quán)利要求11所述的控制數(shù)據(jù)轉(zhuǎn)發(fā)的邏輯交換機(jī),其特征在于, 所述數(shù)據(jù)處理模塊,還用于若所述確定的橋接令牌數(shù)不為0,按照流表管道上的流表匹配出的流表項(xiàng)對(duì)應(yīng)的操作指令對(duì)發(fā)送來的數(shù)據(jù)包進(jìn)行相應(yīng)的操作并確定對(duì)應(yīng)的出接口; 所述分析模塊,還用于判斷確定的出接口是否是橋接接口 ; 所述數(shù)據(jù)處理模塊,還用于當(dāng)確定的出接口是橋接接口時(shí),將元數(shù)據(jù)中的橋接令牌數(shù)減一; 所述數(shù)據(jù)轉(zhuǎn)發(fā)模塊,還用于將完成相應(yīng)操作的數(shù)據(jù)包及橋接令牌數(shù)減一后的元數(shù)據(jù)按照預(yù)設(shè)橋接接口的橋接屬性發(fā)送到第三邏輯交換機(jī)。
【文檔編號(hào)】H04L12/931GK104283814SQ201310282435
【公開日】2015年1月14日 申請(qǐng)日期:2013年7月5日 優(yōu)先權(quán)日:2013年7月5日
【發(fā)明者】梁乾燈, 尤建潔 申請(qǐng)人:中興通訊股份有限公司