本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種用于SDN的鏈路檢測(cè)方法及裝置。
背景技術(shù):
SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))是一種新型網(wǎng)絡(luò)創(chuàng)新架構(gòu),其核心思想是將網(wǎng)絡(luò)設(shè)備的控制層面與轉(zhuǎn)發(fā)層面分離,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供良好的平臺(tái)。
SDN網(wǎng)絡(luò)中支持鏈路的檢測(cè)功能。具體地,控制器可以定時(shí)向每個(gè)交換設(shè)備的鏈路端口發(fā)送LLDP(Link Layer Discovery Protocol,鏈路層發(fā)現(xiàn)協(xié)議)報(bào)文,LLDP報(bào)文中攜帶源交換設(shè)備號(hào)和源端口號(hào),LLDP報(bào)文封裝在Packetout報(bào)文中。源交換設(shè)備收到該P(yáng)acketout報(bào)文后解析出LLDP協(xié)議報(bào)文并向指定的源端口發(fā)送LLDP報(bào)文,LLDP報(bào)文到達(dá)目的交換設(shè)備后,由目的交換設(shè)備將LLDP報(bào)文封裝在Packetin報(bào)文上送到控制器。其中,Packetin報(bào)文中攜帶目的交換設(shè)備的設(shè)備號(hào)。控制器通過LLDP報(bào)文中的源交換設(shè)備號(hào)以及Packetin報(bào)文中目的交換設(shè)備號(hào),就可以獲取源交換設(shè)備和目的交換設(shè)備之間的鏈路連接狀態(tài)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種用于SDN的鏈路檢測(cè)方法及裝置,以準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。具體技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)方法,應(yīng)用于控制器,所述方法包括:
向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使所述源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文封裝了所述LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值;
接收所述目的交換設(shè)備根據(jù)所述鏈路檢測(cè)報(bào)文和流表返回的LLDP報(bào)文,其中所述流表為所述控制器下發(fā)的,用于指示所述目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文;
確定所述源交換設(shè)備和所述目的交換設(shè)備之間的鏈路連接狀態(tài)。
第二方面,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)方法,應(yīng)用于第一交換設(shè)備,所述方法包括:
針對(duì)當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文中封裝有鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,提取所述鏈路檢測(cè)報(bào)文中攜帶的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值;
將提取的所述目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值與控制器下發(fā)的流表進(jìn)行匹配;
當(dāng)匹配到用于指導(dǎo)本設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文的流表時(shí),若流表中的地址信息和標(biāo)簽值為本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)將LLDP報(bào)文上送至控制器;若流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文。
第三方面,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)裝置,應(yīng)用于控制器,所述裝置包括:
發(fā)送模塊,用于向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使所述源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文封裝了所述LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值;
第一接收模塊,用于接收所述目的交換設(shè)備根據(jù)所述鏈路檢測(cè)報(bào)文和流表返回的LLDP報(bào)文,其中所述流表為所述控制器下發(fā)的,用于指示所述目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文;
確定模塊,用于確定所述源交換設(shè)備和所述目的交換設(shè)備之間的鏈路連接狀態(tài)。
第四方面,本發(fā)明實(shí)施例提供了一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)裝置,應(yīng)用于第一交換設(shè)備,所述裝置包括:
提取模塊,用于針對(duì)當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文中封裝有鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,提取所述鏈路檢測(cè)報(bào)文中攜帶的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值;
匹配模塊,用于將提取的所述目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值與控制器下發(fā)的流表進(jìn)行匹配;
處理模塊,用于當(dāng)匹配到用于指導(dǎo)本設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文的流表時(shí),若流表中的地址信息和標(biāo)簽值為本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)將LLDP報(bào)文上送至控制器;若流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文。
本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)方法及裝置,控制器可以將流表預(yù)先下發(fā)給交換設(shè)備,該流表可以用于指示目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,并且,可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文封裝在鏈路檢測(cè)報(bào)文中發(fā)送,當(dāng)中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),對(duì)該鏈路檢測(cè)報(bào)文的處理方式與對(duì)數(shù)據(jù)報(bào)文的處理方式相同,即根據(jù)控制器下發(fā)的流表對(duì)鏈路檢測(cè)報(bào)文進(jìn)行處理,因此鏈路檢測(cè)報(bào)文的傳輸狀態(tài)能夠正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),從而能夠準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種用于SDN的鏈路檢測(cè)方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種用于SDN的鏈路檢測(cè)方法的另一流程圖;
圖3為本發(fā)明實(shí)施例提供的一種用于SDN的鏈路檢測(cè)裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例提供的一種用于SDN的鏈路檢測(cè)裝置的另一結(jié)構(gòu)示意圖;
圖5(a)、圖5(b)為本發(fā)明實(shí)施例的用于SDN的鏈路檢測(cè)過程示意圖。
具體實(shí)施方式
為了準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài),本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)方法及裝置。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
在實(shí)際應(yīng)用中,交換設(shè)備處理數(shù)據(jù)報(bào)文的方式和處理LLDP報(bào)文的方式是不一樣的。數(shù)據(jù)報(bào)文是硬件轉(zhuǎn)發(fā),而LLDP報(bào)文則是上送控制器,且LLDP報(bào)文的處理優(yōu)先級(jí)和數(shù)據(jù)報(bào)文往往不一致。具體地,LLDP報(bào)文是根據(jù)協(xié)議MAC表進(jìn)行處理,而數(shù)據(jù)報(bào)文是根據(jù)其他的流表進(jìn)行處理,協(xié)議MAC表的優(yōu)先級(jí)高于其他流表的優(yōu)先級(jí)。因此,在物理鏈路正常的情況下,可能數(shù)據(jù)報(bào)文被丟棄了,而LLDP報(bào)文是能夠正常上送的。因此,現(xiàn)有的鏈路檢測(cè)方式無法正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),進(jìn)而無法準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
為了準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài),本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)方法過程,應(yīng)用于控制器,如圖1所示,該過程包括以下步驟:
S101,向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使所述源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文封裝了所述LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值。
在本發(fā)明實(shí)施例中,可以預(yù)先為每個(gè)交換設(shè)備配置對(duì)應(yīng)的標(biāo)簽值,以標(biāo)識(shí)每個(gè)交換設(shè)備。
在本發(fā)明實(shí)施例中,為了準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài),SDN網(wǎng)絡(luò)中的控制器可以向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文。
具體地,在一種實(shí)現(xiàn)方式中,控制器可以向源交換設(shè)備下發(fā)LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,源交換設(shè)備接收到LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值后,可以生成封裝有LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值的鏈路檢測(cè)報(bào)文,并轉(zhuǎn)發(fā)該鏈路檢測(cè)報(bào)文。
在另一種實(shí)現(xiàn)方式中,為了提高鏈路檢測(cè)效率,控制器可以生成封裝有LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值的鏈路檢測(cè)報(bào)文,并下發(fā)給源交換設(shè)備。源交換設(shè)備接收到鏈路檢測(cè)報(bào)文后,可以直接轉(zhuǎn)發(fā)該鏈路檢測(cè)報(bào)文。
在本發(fā)明實(shí)施例中,控制器向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值時(shí),可以采用現(xiàn)有的方式進(jìn)行,如可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值封裝在Packetout協(xié)議報(bào)文中發(fā)送給源交換設(shè)備。并且,可以在Packetout協(xié)議報(bào)文中包含出端口號(hào),源交換設(shè)備接收到Packetout協(xié)議報(bào)文后,可以識(shí)別Packetout協(xié)議報(bào)文中包含的出端口號(hào),并采用對(duì)應(yīng)的出端口對(duì)鏈路檢測(cè)報(bào)文進(jìn)行轉(zhuǎn)發(fā)??刂破鲗㈡溌穼影l(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值封裝在Packetout協(xié)議報(bào)文中的過程,以及源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文的過程均屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)這兩個(gè)過程不進(jìn)行贅述。
S102,接收所述目的交換設(shè)備根據(jù)所述鏈路檢測(cè)報(bào)文和流表返回的LLDP報(bào)文,其中所述流表為所述控制器下發(fā)的,用于指示所述目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文。
在本發(fā)明實(shí)施例中,控制器可以預(yù)先生成針對(duì)鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)的流表,并將該流表下發(fā)給交換設(shè)備。交換設(shè)備接收到控制器下發(fā)的流表后,可以將該流表保存在本地。具體地,該流表中可以保存有匹配項(xiàng)和動(dòng)作項(xiàng),該匹配項(xiàng)中具體可以包括:目的交換設(shè)備的地址信息及標(biāo)簽值,動(dòng)作項(xiàng)可以包括轉(zhuǎn)發(fā)和/或上送控制器等??刂破魃舍槍?duì)鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)的流表的過程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過程不進(jìn)行贅述。
當(dāng)源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文后,根據(jù)待檢測(cè)鏈路中包含的交換設(shè)備的數(shù)量,該鏈路檢測(cè)報(bào)文可以被轉(zhuǎn)發(fā)給目的交換設(shè)備或源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備。例如,當(dāng)待檢測(cè)鏈路中包含兩臺(tái)交換設(shè)備時(shí),該鏈路檢測(cè)報(bào)文將直接被源交換設(shè)備轉(zhuǎn)發(fā)給目的交換設(shè)備;當(dāng)待檢測(cè)鏈路中包含三臺(tái)以上交換設(shè)備時(shí),該鏈路檢測(cè)報(bào)文將被源交換設(shè)備轉(zhuǎn)發(fā)給中間交換設(shè)備。
當(dāng)鏈路檢測(cè)報(bào)文被源交換設(shè)備轉(zhuǎn)發(fā)給中間交換設(shè)備時(shí),中間交換設(shè)備可以根據(jù)本地保存的針對(duì)鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)的流表,繼續(xù)轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,該鏈路檢測(cè)報(bào)文最終將會(huì)被轉(zhuǎn)發(fā)給目的交換設(shè)備。
目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文后,也可以根據(jù)本地保存的針對(duì)鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)的流表,向控制器返回LLDP報(bào)文。
具體地,中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),可以根據(jù)鏈路檢測(cè)報(bào)文中包括的目的交換設(shè)備的地址信息及標(biāo)簽值,查找與該鏈路檢測(cè)報(bào)文匹配的流表;并根據(jù)該與鏈路檢測(cè)報(bào)文匹配的流表中的動(dòng)作項(xiàng)對(duì)鏈路檢測(cè)報(bào)文進(jìn)行相應(yīng)的處理。
例如,目的交換設(shè)備獲得的與鏈路檢測(cè)報(bào)文匹配的流表中包括的動(dòng)作項(xiàng)可以為上送控制器;中間交換設(shè)備獲得的與鏈路檢測(cè)報(bào)文匹配的流表中包括的動(dòng)作項(xiàng)可以為轉(zhuǎn)發(fā)。
具體地,在本發(fā)明實(shí)施例中,目的交換設(shè)備將LLDP報(bào)文返回給控制器時(shí),可以將LLDP報(bào)文封裝在Packetin協(xié)議報(bào)文中,并將Packetin協(xié)議報(bào)文發(fā)送給控制器??刂破鹘邮盏絇acketin協(xié)議報(bào)文后,可以獲得Packetin協(xié)議報(bào)文中的LLDP報(bào)文。目的交換設(shè)備將LLDP報(bào)文封裝在Packetin協(xié)議報(bào)文中的過程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過程不進(jìn)行贅述。
當(dāng)目的交換設(shè)備向控制器返回LLDP報(bào)文后,控制器可以接收目的交換設(shè) 備返回的LLDP報(bào)文,并根據(jù)該LLDP報(bào)文檢測(cè)源交換設(shè)備與目的交換設(shè)備之前的鏈路連接狀態(tài)。
具體地,在一種實(shí)現(xiàn)方式中,目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文后,可以解封裝鏈路檢測(cè)報(bào)文獲取LLDP報(bào)文,并只將LLDP報(bào)文返回給控制器;在另一種實(shí)現(xiàn)方式中,目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文后,可以直接將鏈路檢測(cè)報(bào)文返回給控制器,控制器接收到鏈路檢測(cè)報(bào)文后,解封裝鏈路檢測(cè)報(bào)文獲取LLDP報(bào)文。
S103,確定所述源交換設(shè)備和所述目的交換設(shè)備之間的鏈路連接狀態(tài)。
當(dāng)控制器接收到目的交換設(shè)備返回的LLDP報(bào)文后,可以根據(jù)該LLDP報(bào)文確定源交換設(shè)備和目的交換設(shè)備之間的鏈路連接狀態(tài)。
本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)方法,控制器可以將流表預(yù)先下發(fā)給交換設(shè)備,該流表可以用于指示目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,并且,可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文封裝在鏈路檢測(cè)報(bào)文中發(fā)送,當(dāng)中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),對(duì)該鏈路檢測(cè)報(bào)文的處理方式與對(duì)數(shù)據(jù)報(bào)文的處理方式相同,即根據(jù)控制器下發(fā)的流表對(duì)鏈路檢測(cè)報(bào)文進(jìn)行處理,因此鏈路檢測(cè)報(bào)文的傳輸狀態(tài)能夠正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),從而能夠準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,在本發(fā)明實(shí)施例中,控制器下發(fā)的流表還可以用于指示中間交換設(shè)備將鏈路檢測(cè)報(bào)文上送給控制器。這種情況下,本發(fā)明實(shí)施例提供的方法還可以包括:接收中間交換設(shè)備返回的鏈路檢測(cè)報(bào)文,確定源交換設(shè)備和中間交換設(shè)備之間的鏈路連接狀態(tài)。
具體地,當(dāng)中間交換設(shè)備獲得的與鏈路檢測(cè)報(bào)文匹配的流表的動(dòng)作項(xiàng)為轉(zhuǎn)發(fā)和發(fā)送到控制器時(shí),中間交換設(shè)備可以轉(zhuǎn)發(fā)該鏈路檢測(cè)報(bào)文,并將該鏈路檢測(cè)報(bào)文發(fā)送給控制器。
例如,在一種實(shí)現(xiàn)方式中,中間交換設(shè)備可以根據(jù)與鏈路檢測(cè)報(bào)文匹配的流表的Experimenter字段中是否包含Mirror字段,來判斷該流表的動(dòng)作項(xiàng)是否為 轉(zhuǎn)發(fā)和發(fā)送到控制器。當(dāng)識(shí)別到流表的Experimenter字段中包含Mirror字段時(shí),可以確定該流表的動(dòng)作項(xiàng)為轉(zhuǎn)發(fā)和發(fā)送到控制器。
在另一種實(shí)現(xiàn)方式中,控制器下發(fā)的流表中針對(duì)動(dòng)作項(xiàng)為轉(zhuǎn)發(fā)和發(fā)送到控制器,可以將Flow Action類型字段進(jìn)行擴(kuò)展。因此,中間交換設(shè)備可以根據(jù)與鏈路檢測(cè)報(bào)文匹配的流表的Flow Action類型字段是否進(jìn)行了擴(kuò)展,來判斷該流表的動(dòng)作項(xiàng)是否為轉(zhuǎn)發(fā)和發(fā)送到控制器。當(dāng)識(shí)別到流表的Flow Action類型字段進(jìn)行了擴(kuò)展時(shí),可以確定該流表的動(dòng)作項(xiàng)為轉(zhuǎn)發(fā)和發(fā)送到控制器。
具體地,在本發(fā)明實(shí)施例中,中間交換設(shè)備可以將鏈路檢測(cè)報(bào)文封裝在Packetin協(xié)議報(bào)文中,并將Packetin協(xié)議報(bào)文發(fā)送給控制器??刂破鹘邮盏絇acketin協(xié)議報(bào)文后,可以獲得Packetin協(xié)議報(bào)文中封裝在鏈路檢測(cè)報(bào)文中的LLDP報(bào)文,并根據(jù)該LLDP報(bào)文源交換設(shè)備和中間交換設(shè)備之間的鏈路連接狀態(tài)。中間交換設(shè)備將鏈路檢測(cè)報(bào)文封裝在Packetin協(xié)議報(bào)文中的過程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過程不進(jìn)行贅述。
可選地,在本發(fā)明實(shí)施例中,上述鏈路檢測(cè)報(bào)文中還可以包括自身的類型標(biāo)識(shí)信息,以用來標(biāo)識(shí)其自身的類型。當(dāng)交換設(shè)備接收到鏈路檢測(cè)報(bào)文,識(shí)別到其中包括的類型標(biāo)識(shí)信息時(shí),可以得知該類型標(biāo)識(shí)信息之后的信息為目的交換設(shè)備的標(biāo)簽值。
進(jìn)一步地,在本發(fā)明實(shí)施例中,上述鏈路檢測(cè)報(bào)文中封裝的LLDP報(bào)文中可以攜帶有LLDP報(bào)文的序列號(hào)信息,用以標(biāo)識(shí)唯一的LLDP報(bào)文。
可以理解,控制器可以同時(shí)發(fā)送多個(gè)LLDP報(bào)文,通過在LLDP報(bào)文中添加序列號(hào)信息,當(dāng)控制器接收到目的交換設(shè)備或中間交換設(shè)備返回的LLDP報(bào)文時(shí),可以根據(jù)其發(fā)送和接收的包括相同序列號(hào)信息的LLDP報(bào)文,來確定源交換設(shè)備與目的交換設(shè)備或中間交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,請(qǐng)參考圖2,其示出了本發(fā)明實(shí)施例提供的一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)方法過程,應(yīng)用于第一交換設(shè)備,如圖2所示,該過程包括以下步驟:
S201,針對(duì)當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文中封裝有鏈路 層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,提取所述鏈路檢測(cè)報(bào)文中攜帶的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值。
在本發(fā)明實(shí)施例中,第一交換設(shè)備可以針對(duì)當(dāng)前待發(fā)送的封裝有鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值的鏈路檢測(cè)報(bào)文,提取該鏈路檢測(cè)報(bào)文中攜帶的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值。
具體地,第一交換設(shè)備可以根據(jù)鏈路檢測(cè)報(bào)文的封裝格式,在鏈路檢測(cè)報(bào)文相應(yīng)的位置處提取目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值。例如,目的交換設(shè)備的地址信息可以包括在鏈路檢測(cè)報(bào)文的報(bào)文頭中。并且,在本發(fā)明實(shí)施例中,鏈路檢測(cè)報(bào)文中還可以包括自身的類型標(biāo)識(shí)信息,以用來標(biāo)識(shí)其自身的類型。當(dāng)?shù)谝唤粨Q設(shè)備接收到鏈路檢測(cè)報(bào)文,識(shí)別到其中包括的類型標(biāo)識(shí)信息時(shí),可以得知該類型標(biāo)識(shí)信息之后的信息為目的交換設(shè)備的標(biāo)簽值。
S202,將提取的所述目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值與控制器下發(fā)的流表進(jìn)行匹配。
在本發(fā)明實(shí)施例中,控制器可以預(yù)先生成針對(duì)鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)的流表,并將該流表下發(fā)給交換設(shè)備。交換設(shè)備接收到控制器下發(fā)的流表后,可以將該流表保存在本地。具體地,該流表中可以保存有匹配項(xiàng)和動(dòng)作項(xiàng),該匹配項(xiàng)中具體包括:目的交換設(shè)備的地址信息及標(biāo)簽值,動(dòng)作項(xiàng)可以包括轉(zhuǎn)發(fā)和/或上送控制器等。
在本發(fā)明實(shí)施例中,當(dāng)?shù)谝唤粨Q設(shè)備提取到鏈路檢測(cè)報(bào)文中包括的目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值時(shí),可以將提取的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值與控制器下發(fā)的流表進(jìn)行匹配。
S203,當(dāng)匹配到用于指導(dǎo)本設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文的流表時(shí),若流表中的地址信息和標(biāo)簽值為本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)將LLDP報(bào)文上送至控制器;若流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文。
當(dāng)?shù)谝唤粨Q設(shè)備匹配到用于指導(dǎo)本設(shè)備轉(zhuǎn)發(fā)該鏈路檢測(cè)報(bào)文的流表時(shí),可以進(jìn)一步判斷該流表中的地址信息和標(biāo)簽值是否為本設(shè)備的地址信息和標(biāo)簽 值。其中,第一交換設(shè)備本設(shè)備的標(biāo)簽值可以是控制器下發(fā)的,或者也可以是預(yù)先配置并保存在本地的。
當(dāng)?shù)谝唤粨Q設(shè)備判斷得到流表中的地址信息和標(biāo)簽值為本設(shè)備的地址信息和標(biāo)簽值時(shí),可以表明第一交換設(shè)備為目的交換設(shè)備。這種情況下,第一交換設(shè)備可以根據(jù)匹配到的流表的動(dòng)作項(xiàng)將LLDP報(bào)文上送至控制器,以使控制器檢測(cè)源交換設(shè)備與目的交換設(shè)備之間的鏈路連接狀態(tài)。
當(dāng)?shù)谝唤粨Q設(shè)備判斷得到流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值時(shí),可以表明第一交換設(shè)備不是目的交換設(shè)備,也就是說,第一交換設(shè)備為源交換設(shè)備或中間交換設(shè)備。這種情況下,第一交換設(shè)備可以根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)該鏈路檢測(cè)報(bào)文,以將鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)給第一交換設(shè)備下游的交換設(shè)備。
需要說明的是,本發(fā)明實(shí)施例中,第一交換設(shè)備為SDN網(wǎng)絡(luò)中的任一交換設(shè)備。也就是說,第一交換設(shè)備可以為源交換設(shè)備、中間交換設(shè)備或目的交換設(shè)備。當(dāng)?shù)谝唤粨Q設(shè)備為源交換設(shè)備時(shí),其可以將鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)給中間交換設(shè)備;當(dāng)?shù)谝唤粨Q設(shè)備為中間交換設(shè)備時(shí),其可以將鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)給另一中間交換設(shè)備或目的交換設(shè)備;當(dāng)?shù)谝唤粨Q設(shè)備為目的交換設(shè)備時(shí),其可以將鏈路檢測(cè)報(bào)文上送給控制器。因此,通過本發(fā)明實(shí)施例提供的方法,目的交換設(shè)備最終都可以將鏈路檢測(cè)報(bào)文上送給控制器,以使控制器檢測(cè)源交換設(shè)備與目的交換設(shè)備之間的鏈路連接狀態(tài)。
本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)方法,控制器可以將流表預(yù)先下發(fā)給交換設(shè)備,該流表可以用于指示目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,并且,可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文封裝在鏈路檢測(cè)報(bào)文中發(fā)送,當(dāng)中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),對(duì)該鏈路檢測(cè)報(bào)文的處理方式與對(duì)數(shù)據(jù)報(bào)文的處理方式相同,即根據(jù)控制器下發(fā)的流表對(duì)鏈路檢測(cè)報(bào)文進(jìn)行處理,因此鏈路檢測(cè)報(bào)文的傳輸狀態(tài)能夠正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),從而能夠準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,在本發(fā)明實(shí)施例中,控制器下發(fā)的流表還可以用于指示中間交 換設(shè)備將鏈路檢測(cè)報(bào)文上送給控制器。這種情況下,本發(fā)明實(shí)施例提供的方法中,當(dāng)?shù)谝唤粨Q設(shè)備判斷得到流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值時(shí),其除了根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文之外,還可以進(jìn)一步地根據(jù)流表的動(dòng)作項(xiàng)將鏈路檢測(cè)報(bào)文上送至控制器,以使控制器確定源交換設(shè)備和第一交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,在本發(fā)明實(shí)施例中,當(dāng)?shù)谝唤粨Q設(shè)備為源交換設(shè)備時(shí),當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文可以為源交換設(shè)備根據(jù)接收到的控制器下發(fā)的LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值生成的。
相應(yīng)于上面的方法實(shí)施例,本發(fā)明實(shí)施例還提供了相應(yīng)的裝置實(shí)施例。
圖3為本發(fā)明實(shí)施例提供的一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)裝置,應(yīng)用于控制器,所述裝置包括:
發(fā)送模塊310,用于向源交換設(shè)備下發(fā)鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使所述源交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文封裝了所述LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值;
第一接收模塊320,用于接收所述目的交換設(shè)備根據(jù)所述鏈路檢測(cè)報(bào)文和流表返回的LLDP報(bào)文,其中所述流表為所述控制器下發(fā)的,用于指示所述目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文;
確定模塊330,用于確定所述源交換設(shè)備和所述目的交換設(shè)備之間的鏈路連接狀態(tài)。
本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)裝置,控制器可以將流表預(yù)先下發(fā)給交換設(shè)備,該流表可以用于指示目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,并且,可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文封裝在鏈路檢測(cè)報(bào)文中發(fā)送,當(dāng)中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),對(duì)該鏈路檢測(cè)報(bào)文的處理方式與對(duì)數(shù)據(jù)報(bào)文的處理方式相同,即根據(jù)控制器下發(fā)的流表對(duì)鏈路檢測(cè)報(bào)文進(jìn) 行處理,因此鏈路檢測(cè)報(bào)文的傳輸狀態(tài)能夠正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),從而能夠準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,所述發(fā)送模塊310,具體用于:
向源交換設(shè)備下發(fā)LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,以使所述源交換設(shè)備生成所述鏈路檢測(cè)報(bào)文;或,
向源交換設(shè)備下發(fā)所述鏈路檢測(cè)報(bào)文。
進(jìn)一步地,所述流表還用于指示所述中間交換設(shè)備將所述鏈路檢測(cè)報(bào)文上送給控制器;所述裝置還包括:
第二接收模塊(圖中未示出),用于接收中間交換設(shè)備返回的所述鏈路檢測(cè)報(bào)文,確定所述源交換設(shè)備和所述中間交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,所述第一接收模塊320,具體用于:
接收所述目的交換設(shè)備返回的LLDP報(bào)文;或,
接收所述目的交換設(shè)備返回的鏈路檢測(cè)報(bào)文,解封裝鏈路檢測(cè)報(bào)文后獲取LLDP報(bào)文。
圖4為本發(fā)明實(shí)施例提供的一種用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)裝置,應(yīng)用于第一交換設(shè)備,所述裝置包括:
提取模塊410,用于針對(duì)當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文,所述鏈路檢測(cè)報(bào)文中封裝有鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值,提取所述鏈路檢測(cè)報(bào)文中攜帶的目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值;
匹配模塊420,用于將提取的所述目的交換設(shè)備的地址信息、目的交換設(shè)備的標(biāo)簽值與控制器下發(fā)的流表進(jìn)行匹配;
處理模塊430,用于當(dāng)匹配到用于指導(dǎo)本設(shè)備轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文的流表時(shí),若流表中的地址信息和標(biāo)簽值為本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表 的動(dòng)作項(xiàng)將LLDP報(bào)文上送至控制器;若流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值,根據(jù)流表的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)所述鏈路檢測(cè)報(bào)文。
本發(fā)明實(shí)施例提供了一種用于SDN的鏈路檢測(cè)裝置,控制器可以將流表預(yù)先下發(fā)給交換設(shè)備,該流表可以用于指示目的交換設(shè)備將LLDP報(bào)文返回控制器,指示源交換設(shè)備與目的交換設(shè)備之間的中間交換設(shè)備轉(zhuǎn)發(fā)鏈路檢測(cè)報(bào)文,并且,可以將鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文封裝在鏈路檢測(cè)報(bào)文中發(fā)送,當(dāng)中間交換設(shè)備或目的交換設(shè)備接收到鏈路檢測(cè)報(bào)文時(shí),對(duì)該鏈路檢測(cè)報(bào)文的處理方式與對(duì)數(shù)據(jù)報(bào)文的處理方式相同,即根據(jù)控制器下發(fā)的流表對(duì)鏈路檢測(cè)報(bào)文進(jìn)行處理,因此鏈路檢測(cè)報(bào)文的傳輸狀態(tài)能夠正確反映出鏈路上真實(shí)的數(shù)據(jù)報(bào)文的傳輸狀態(tài),從而能夠準(zhǔn)確地檢測(cè)SDN網(wǎng)絡(luò)中交換設(shè)備之間的鏈路連接狀態(tài)。
進(jìn)一步地,所述本設(shè)備的標(biāo)簽值是所述控制器下發(fā)的,或是預(yù)先配置并保存在本地的。
進(jìn)一步地,若流表中的地址信息和標(biāo)簽值非本設(shè)備的地址信息和標(biāo)簽值時(shí);
所述處理模塊430,還用于:
根據(jù)流表的動(dòng)作項(xiàng)將所述鏈路檢測(cè)報(bào)文上送至控制器。
進(jìn)一步地,當(dāng)所述第一交換設(shè)備為源交換設(shè)備時(shí),所述裝置還包括:
生成模塊(圖中未示出),用于根據(jù)接收到的所述控制器下發(fā)的LLDP報(bào)文、目的交換設(shè)備的地址信息和目的交換設(shè)備的標(biāo)簽值生成所述當(dāng)前待發(fā)送的鏈路檢測(cè)報(bào)文。
下面結(jié)合一個(gè)具體的實(shí)施例對(duì)本發(fā)明提供的用于軟件定義網(wǎng)絡(luò)SDN的鏈路檢測(cè)方法進(jìn)行詳細(xì)的說明。
如圖5(a)所示,本實(shí)施例中的SDN網(wǎng)絡(luò)可以包括控制器,以及多個(gè)交換設(shè)備:交換設(shè)備1、交換設(shè)備2、交換設(shè)備3以及交換設(shè)備4;在本實(shí)施例中,以控制器檢測(cè)交換設(shè)備1到交換設(shè)備3之間的鏈路的連接狀態(tài)為例進(jìn)行說明本 發(fā)明實(shí)施例的鏈路檢測(cè)的過程。其中,該鏈路中交換設(shè)備1為源交換設(shè)備,交換設(shè)備3為目的交換設(shè)備,交換設(shè)備2為中間交換設(shè)備。
控制器首先向交換設(shè)備1發(fā)送封裝了LLDP報(bào)文、目的交換設(shè)備(即交換設(shè)備3)的MAC地址以及標(biāo)簽值的鏈路檢測(cè)報(bào)文,并記錄發(fā)送時(shí)間,該鏈路檢測(cè)報(bào)文封裝在Packetout協(xié)議報(bào)文中,該P(yáng)acketout中包含有出端口號(hào)。
交換設(shè)備1接收到Packetout報(bào)文,解析出鏈路檢測(cè)報(bào)文,并從指定出端口發(fā)送該鏈路檢測(cè)報(bào)文,即可以將該鏈路檢測(cè)報(bào)文發(fā)送給交換設(shè)備2。
交換設(shè)備2接收到鏈路檢測(cè)報(bào)文后,提取該鏈路檢測(cè)報(bào)文中封裝的目的交換設(shè)備的MAC地址和標(biāo)簽值,并根據(jù)目的交換設(shè)備的MAC地址和標(biāo)簽值,與自身保存的流表進(jìn)行匹配,獲得與該鏈路檢測(cè)報(bào)文匹配的流表,并根據(jù)該流表中包含的轉(zhuǎn)發(fā)動(dòng)作項(xiàng),將鏈路檢測(cè)報(bào)文直接轉(zhuǎn)發(fā)到交換設(shè)備3。
交換設(shè)備3接收到鏈路檢測(cè)報(bào)文后,提取該鏈路檢測(cè)報(bào)文中封裝的目的交換設(shè)備的MAC地址和標(biāo)簽值,并根據(jù)目的交換設(shè)備的MAC地址和標(biāo)簽值,與自身保存的流表進(jìn)行匹配,獲得與該鏈路檢測(cè)報(bào)文匹配的流表,并根據(jù)該流表中包含的發(fā)送到控制器的動(dòng)作項(xiàng),獲得鏈路檢測(cè)報(bào)文中封裝的LLDP報(bào)文,將該LLDP報(bào)文封裝在Packetin協(xié)議報(bào)文中發(fā)送給控制器。
控制器接收到Packetin協(xié)議報(bào)文,解析出LLDP報(bào)文,并記錄接收時(shí)間,此時(shí)可以判定鏈路檢測(cè)報(bào)文在交換設(shè)備1到交換設(shè)備3之間的鏈路可達(dá),并得到這個(gè)鏈路檢測(cè)報(bào)文在交換設(shè)備1和交換設(shè)備3之間鏈路的整體延遲。
在實(shí)際應(yīng)用中,控制器可以通過定時(shí)發(fā)送一系列交換設(shè)備1到交換設(shè)備3的鏈路檢測(cè)報(bào)文,統(tǒng)計(jì)一段時(shí)間內(nèi)的鏈路延遲和丟包數(shù)量,就可以對(duì)交換設(shè)備1到交換設(shè)備3之間的鏈路進(jìn)行合理的評(píng)估。
另外,如圖5(b)所示,在本實(shí)施例中,以控制器檢測(cè)交換設(shè)備1到交換設(shè)備4之間的鏈路的連接狀態(tài)為例進(jìn)行說明本發(fā)明實(shí)施例的鏈路檢測(cè)的過程,并且,在本實(shí)施例中,控制器需要跟蹤從交換設(shè)備1到交換設(shè)備4路徑上各交換設(shè)備之間的鏈路延遲。其中,該鏈路中交換設(shè)備1為源交換設(shè)備,交換設(shè)備4為目的交換設(shè)備,交換設(shè)備2為中間交換設(shè)備。
控制器首先向交換設(shè)備1發(fā)送封裝了LLDP報(bào)文、目的交換設(shè)備(即交換設(shè)備4)的MAC地址以及標(biāo)簽值的鏈路檢測(cè)報(bào)文,并記錄發(fā)送時(shí)間,該鏈路檢測(cè)報(bào)文封裝在Packetout協(xié)議報(bào)文中,該P(yáng)acketout中包含有出端口號(hào)。
交換設(shè)備1接收到Packetout報(bào)文,解析出鏈路檢測(cè)報(bào)文,并從指定出端口發(fā)送該鏈路檢測(cè)報(bào)文,即可以將該鏈路檢測(cè)報(bào)文發(fā)送給交換設(shè)備2。
交換設(shè)備2接收到鏈路檢測(cè)報(bào)文后,提取該鏈路檢測(cè)報(bào)文中封裝的目的交換設(shè)備的MAC地址和標(biāo)簽值,并根據(jù)目的交換設(shè)備的MAC地址和標(biāo)簽值,與自身保存的流表進(jìn)行匹配,獲得與該鏈路檢測(cè)報(bào)文匹配的流表,并根據(jù)該流表中包含的轉(zhuǎn)發(fā)和發(fā)送到控制器的動(dòng)作項(xiàng),將鏈路檢測(cè)報(bào)文轉(zhuǎn)發(fā)到交換設(shè)備4,并將鏈路檢測(cè)報(bào)文封裝在Packetin協(xié)議報(bào)文中發(fā)送給控制器。
控制器接收到交換設(shè)備2發(fā)送的Packetin協(xié)議報(bào)文,解析出鏈路檢測(cè)報(bào)文,并記錄時(shí)間,得到交換設(shè)備1到交換設(shè)備4路徑上的中間交換設(shè)備(交換設(shè)備2)的接收時(shí)間,得到交換設(shè)備1到交換設(shè)備2之間的鏈路延遲。
交換設(shè)備4接收到鏈路檢測(cè)報(bào)文后,提取該鏈路檢測(cè)報(bào)文中封裝的目的交換設(shè)備的MAC地址和標(biāo)簽值,并根據(jù)目的交換設(shè)備的MAC地址和標(biāo)簽值,與自身保存的流表進(jìn)行匹配,獲得與該鏈路檢測(cè)報(bào)文匹配的流表,并根據(jù)該流表中包含的發(fā)送到控制器的動(dòng)作項(xiàng),獲得鏈路檢測(cè)報(bào)文中封裝的LLDP報(bào)文,將該LLDP報(bào)文封裝在Packetin協(xié)議報(bào)文中發(fā)送給控制器。
控制器接收到Packetin協(xié)議報(bào)文,解析出LLDP報(bào)文,并記錄接收時(shí)間,此時(shí)可以判定鏈路檢測(cè)報(bào)文在交換設(shè)備1到交換設(shè)備4之間的鏈路可達(dá),并得到鏈路檢測(cè)報(bào)文在交換設(shè)備1和交換設(shè)備4之間鏈路的整體延遲。
并且,控制器還可以根據(jù)接收到交換設(shè)備2向其發(fā)送的Packetin協(xié)議報(bào)文的時(shí)間,以及接收到交換設(shè)備4向其發(fā)送的Packetin協(xié)議報(bào)文的時(shí)間,得到鏈路檢測(cè)報(bào)文在交換設(shè)備2和交換設(shè)備4之間的鏈路延遲。
在實(shí)際應(yīng)用中,控制器可以通過定時(shí)發(fā)送一系列交換設(shè)備1到交換設(shè)備4的鏈路檢測(cè)報(bào)文,統(tǒng)計(jì)一段時(shí)間內(nèi)的鏈路延遲和丟包數(shù)量,就可以對(duì)交換設(shè)備1到交換設(shè)備4之間的鏈路進(jìn)行合理的評(píng)估。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。