欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法

文檔序號:8003546閱讀:279來源:國知局
一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法
【專利摘要】本發(fā)明公開了一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法,該方法在域間鏈路出現(xiàn)故障的時候,根據(jù)存儲在OpenFlow交換機本地的鄰接節(jié)點表選擇繞過故障鏈路的路徑而不是由控制器根據(jù)最新的拓撲來選擇一條新路徑。本發(fā)明與由控制器介入的鏈路故障恢復(fù)方法相比,有恢復(fù)速度快的優(yōu)點,能減少丟包率,其實現(xiàn)方法簡便,靈活性好,具有可擴展性。
【專利說明】 一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,尤其涉及一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法。
【背景技術(shù)】
[0002]經(jīng)過數(shù)十年的發(fā)展之后,互聯(lián)網(wǎng)無論是在商業(yè)方面還是在通信領(lǐng)域都取得了十分巨大的成功,也為人類的生活與生產(chǎn)方式帶來了自工業(yè)革命以來最有影響力的變革。然而規(guī)模巨大的網(wǎng)絡(luò)同時也限制了它的發(fā)展,導(dǎo)致了網(wǎng)絡(luò)體系結(jié)構(gòu)的“僵化”。軟件定義網(wǎng)絡(luò)(SDN)通過把路由器中的控制面與數(shù)據(jù)面分離開來并把控制面放到中心控制器上實現(xiàn)網(wǎng)絡(luò)的可編程性,控制器根據(jù)所承載網(wǎng)絡(luò)業(yè)務(wù)的路由策略來決定如何轉(zhuǎn)發(fā)數(shù)據(jù)包并把轉(zhuǎn)發(fā)規(guī)則通過控制器與轉(zhuǎn)發(fā)設(shè)備(OpenFlow交換機)間的通信標(biāo)準(如OpenFlow協(xié)議)寫入轉(zhuǎn)發(fā)設(shè)備的流表中。
[0003]分布式SDN控制器改進了單一 SDN控制器控制底層轉(zhuǎn)發(fā)設(shè)備的可伸縮性,將整個網(wǎng)絡(luò)分割成多個域,每個域的轉(zhuǎn)發(fā)設(shè)備由各自的控制器來控制,域間物理鏈路狀態(tài)存儲到一致的網(wǎng)絡(luò)視圖(Network View,由各個控制器通過一致性分布式算法來維護,如分布式哈希表等)上。當(dāng)域間的鏈路發(fā)生故障的時候,發(fā)往故障鏈路的數(shù)據(jù)包都將丟棄。鏈路的恢復(fù)需要控制器的參與,控制器收到拓撲變化的消息后,首先要把故障鏈路狀態(tài)存儲至網(wǎng)絡(luò)視圖中,然后重新為發(fā)往故障鏈路的數(shù)據(jù)包計算一條路徑并寫入相應(yīng)的轉(zhuǎn)發(fā)設(shè)備,以確保發(fā)往故障鏈路的數(shù)據(jù)包從新的路徑轉(zhuǎn)發(fā)而不被丟棄。這種域間故障鏈路恢復(fù)的方法需要控制器的參與,因此速度比較慢,會使更多的數(shù)據(jù)包被丟棄,而且控制器的參與會占用控制器與交換設(shè)備之間的帶寬。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法,該方法效率高,靈活性好,實現(xiàn)簡便。
[0005]本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法,包括以下步驟:
步驟1:初始網(wǎng)絡(luò)中的所有的OpenFlow交換機(OFS)都和控制器相連,每個OFS有全網(wǎng)唯一的標(biāo)識符,由同一個控制器管理的所有OFS組成一個域,域由控制器的IP地址標(biāo)識。OFS在與控制器建立連接時,控制器會把域間OFS選擇策略加載到0FS。
[0006]步驟2:各OFS向鄰接OFS廣播鄰接消息(NDM),該鄰接消息封裝了消息類型、域ID、物理節(jié)點ID、端口 ID和端口 IP。OFS收到從鄰接節(jié)點發(fā)來的NDM后將鄰居OFS信息加入到自己維護的鄰接節(jié)點表中。鄰接節(jié)點表由鄰接節(jié)點域ID、鄰接節(jié)點ID、鄰接節(jié)點端口ID、鄰接節(jié)點端口 IP、與鄰接節(jié)點相連的本OFS的端口 ID和定時器項組成。
[0007]步驟3:每個OFS把用OpenFlow消息封裝的節(jié)點信息消息(NM)發(fā)送給控制器。該節(jié)點信息消息封裝了消息類型、OFS信息和鄰接OFS信息??刂破魇盏礁鱋FS發(fā)來的封裝了 NM的OpenFlow消息后,就獲得了本域的物理拓撲信息以及與本域相連的其他域的邊界OFS信息(如果一個域的OFS與其他域的OFS相連,則該OFS為邊界0FS),控制器將本域的物理拓撲存儲到本地,把域間的物理拓撲存儲至網(wǎng)絡(luò)視圖,每個控制器根據(jù)網(wǎng)絡(luò)視圖獲取全網(wǎng)域間拓撲。
[0008]步驟4:維護域間鏈路,快速恢復(fù)故障鏈路。該步驟通過以下子步驟來實現(xiàn):
(4.DOFS周期性地向鄰接OFS廣播NDM,0FS收到NDM后,提取出物理節(jié)點ID字段,并與鄰接節(jié)點表中的鄰接節(jié)點ID項匹配,如果匹配成功,就重置命中表項的定時器;如果匹配不成功,表示有新的OFS與之相連,則更新鄰接節(jié)點表,為剛連入的OFS增加一個表項,并由OFS發(fā)送一個封裝了 NIM的OpenFlow消息給控制器,以告知新節(jié)點的加入以及網(wǎng)絡(luò)拓撲的變化。
[0009](4.2)每個OFS定期檢查鄰接節(jié)點表中的定時器項,如果某個表項的定時器超過預(yù)先設(shè)定的最大值,表示此OFS在一定時間內(nèi)沒有收到表項中OFS發(fā)來的NDM,表項中的OFS為不可達。
[0010](4.3)如果OFS檢測到某個鄰接OFS不可達,說明兩個OFS之間的鏈路發(fā)生了故障。OFS從鄰接節(jié)點表中找出鄰接節(jié)點域ID為與不可達OFS域ID相同的候選表項,如果有多個候選表項,根據(jù)域間OFS選擇策略從多個候選表項中選擇一個最佳表項,轉(zhuǎn)到步驟
(4.4);若沒有找到,轉(zhuǎn)到步驟(4.5)。
[0011](4.4) OFS根據(jù)最佳表項修改流表:先找出流表項中數(shù)據(jù)包發(fā)出端口為與不可達OFS相連的端口的流表項,再修改這些流表項把發(fā)出端口修改為最佳表項中的與鄰接節(jié)點相連的本OpenFlow交換機的端口 ID,從而把發(fā)往不可達OFS的流量定向到與不可達OFS在同一個域中的邊界OFS。
[0012](4.5) OFS采用洪泛法發(fā)送尋找路徑消息(FPM)以找到此OFS到不可達OFS所在域的路徑。該尋找路徑消息封裝了消息類型、不可達OFS的域D_ID和源OFS的域S_ID和路徑。FPM每到達一個OFS的時候需要把OFS的ID和收到FPM的端口 ID寫入路徑,以方便FPM回復(fù)消息的發(fā)送,每從OFS的端口發(fā)送前,需要把發(fā)出端口 ID寫入到路徑中,以方便隨后流表更新消息的發(fā)送。OFS首先向除了與不可達OFS相連的端口外的其他端口發(fā)送FPM,當(dāng)鄰接OFS收到FPM后,查找鄰接節(jié)點表以確定鄰接節(jié)點表中是否存在鄰接節(jié)點域ID為D_ID的0FS,如果找到,根據(jù)FPM中的路徑發(fā)送FPM回復(fù)消息;如果沒有找到,OFS把FPM從除了收到FPM端口之外的端口發(fā)送出去直到找到通往域D_ID的一條路徑。當(dāng)源OFS收到FPM回復(fù)消息后,提取出FPM回復(fù)消息中的路徑,若OFS收到多條FPM消息,則從所有路徑中選擇出跳數(shù)最少的路徑為最佳路徑,如果有多條跳數(shù)相同且最少的路徑,則隨機從多條跳數(shù)最少的路徑中選擇一條為最佳路徑。
[0013](4.6) OpenFlow交換機找到發(fā)往不可達OpenFlow交換機的最佳路徑后,往最佳路徑發(fā)送流表更新消息(FUM),以往最佳路徑上的OpenFlow交換機增加流表項使發(fā)往不可達OpenFlow交換機的數(shù)據(jù)包往最佳路徑發(fā)送;該流表更新消息封裝了消息類型、不可達OpenFlow交換機的域ID、路徑和匹配域;路徑為從尋找路徑回復(fù)消息中提取出的最佳路徑,匹配域為在OpenFlow交換機流表中找出的數(shù)據(jù)包發(fā)出端口為與不可達OpenFlow交換機相連的端口的流表項中的匹配域,匹配域有一個或多個;0penFlOW交換機根據(jù)FUM中的路徑來發(fā)送流表更新消息,每到達一個OpenFlow交換機的時候,為OpenFlow交換機增加流表項,如果FUM中有多個匹配域,則增加多個流表項,流表項的匹配域為流表更新消息中的匹配域,從FUM的路徑中提取下一跳的發(fā)出端口并寫入流表項的行為部分,并把該流表項的優(yōu)先級設(shè)為最高。這樣就為發(fā)往不可達OpenFlow交換機所在的域的數(shù)據(jù)包建立了一條新的路徑。
[0014](4.7)0FS向控制器發(fā)送封裝了 NM的OpenFlow消息報告此OFS與不可達OFS之間的鏈路故障,控制器更新拓撲,從而實現(xiàn)域間鏈路的故障恢復(fù)。
[0015]本發(fā)明的有益效果是:本發(fā)明提出了一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法。由于新路由的計算不需要通過控制器,所以鏈路故障能快速恢復(fù),從而減少數(shù)據(jù)包丟棄的數(shù)量。
【專利附圖】

【附圖說明】
[0016]圖1是網(wǎng)絡(luò)拓撲結(jié)構(gòu)示意圖。
[0017]圖2是基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法的流程圖。
【具體實施方式】
[0018]下面根據(jù)附圖詳細描述本發(fā)明,本發(fā)明的目的和效果將變得更加明顯。
[0019]本發(fā)明基于軟件定義網(wǎng)絡(luò)的域間鏈路的快速故障恢復(fù)方法,包括以下步驟:
步驟1:初始網(wǎng)絡(luò)中的所有OFS都和控制器相連,每個OFS有全網(wǎng)唯一的標(biāo)識符,由同
一個控制器管理的所有OFS組成一個域,域由控制器的IP地址標(biāo)識。OFS在與控制器建立連接時,控制器會把域間OFS選擇策略加載到0FS。在圖1中,Sl-SlO為OpenFlow交換機,S1、S2、S3、S4組成一個域AS1,由控制器Cl控制;S5、S6、S7、S8組成一個域AS2,由控制器C2控制;S9、SlO組成一個域AS3,由控制器C3控制。
[0020]步驟2:所有OFS向鄰接OFS廣播鄰接消息(NDM)。該鄰接消息封裝了消息類型、域ID、物理節(jié)點ID、端口 ID和端口 IP。OFS收到鄰接消息NDM后將該OFS信息加入到自己維護的鄰接節(jié)點表(鄰接節(jié)點域ID、鄰接節(jié)點ID、鄰接節(jié)點端口 ID、鄰接節(jié)點端口 IP、與鄰接節(jié)點相連的本OFS的端口 ID和定時器)中。
[0021]步驟3:每個OFS把用OpenFlow消息封裝的節(jié)點信息消息(NM)發(fā)送給控制器。該節(jié)點信息消息封裝了消息類型、OFS信息、鄰接OFS信息??刂破魇盏礁鱋FS發(fā)來的封裝了 NM的OpenFlow消息后,就獲得了本域的物理拓撲信息以及與本域相連的其他域的邊界OFS信息,控制器將本域的物理拓撲存儲到本地,把域間的物理拓撲存儲至網(wǎng)絡(luò)視圖,每個控制器根據(jù)網(wǎng)絡(luò)視圖獲取全網(wǎng)域間拓撲。
[0022]步驟4:維護域間鏈路,快速恢復(fù)故障鏈路。該步驟通過以下子步驟來實現(xiàn):
(4.1)0FS每隔30s向鄰接OFS廣播NDM,0FS收到NDM后,提取出物理節(jié)點ID字段,并與鄰接節(jié)點表中的鄰接節(jié)點ID項匹配,如果匹配成功,就重置命中表項的定時器。如果匹配不成功,表示有新的OFS與之相連,則更新鄰接節(jié)點表,為剛連入的OFS增加一個表項,并由OFS發(fā)送一個封裝了 NIM的OpenFlow消息給控制器,以告知新節(jié)點的加入以及網(wǎng)絡(luò)拓撲的變化。
[0023](4.2)每個OFS定期檢查鄰接節(jié)點表中的定時器項,如果某個表項的定時器超過120s,表示此OFS在一定時間內(nèi)沒有收到表項中OFS發(fā)來的NDM,表項中的OFS為不可達。[0024](4.3)如果OFS檢測到某個鄰接OFS不可達,說明兩個OFS之間的鏈路發(fā)生了故障。OFS從鄰接節(jié)點表中找出鄰接節(jié)點域ID為與不可達OFS域ID相同的候選表項,如果有多個候選表項,根據(jù)域間OFS選擇策略從多個候選表項中選擇一個最佳表項,轉(zhuǎn)到步驟
(4.4);若沒有找到,轉(zhuǎn)到步驟(4.5)。
[0025](4.4) OFS根據(jù)最佳表項修改流表:先找出流表項中數(shù)據(jù)包發(fā)出端口為與不可達OFS相連的端口的流表項,再修改這些流表項把發(fā)出端口修改為最佳表項中的與鄰接節(jié)點相連的本OFS的端口 ID,從而把發(fā)往不可達OFS的流量定向到與不可達OFS在同一個域中的邊界0FS。在圖1中,如果S5檢測到S3不可達,但是S5在本地的鄰接節(jié)點表中能找到與S3在同一個域ASl的S4,于是修改流表項,把發(fā)往S3的流量定向到S4。
[0026](4.5) OFS采用洪泛法發(fā)送尋找路徑消息(FPM),以找到此OFS到不可達OFS所在域的路徑。該尋找路徑消息封裝了消息類型、不可達OFS的域D_ID、源OFS的域S_ID和路徑。FPM每到達一個OFS的時候需要把OFS的ID和收到FPM的端口 ID寫入路徑,以方便FPM回復(fù)消息的發(fā)送,每從OFS的端口發(fā)送前,需要把發(fā)出端口 ID寫入到路徑中,以方便隨后流表更新消息的發(fā)送。OFS首先向除了與不可達OFS相連的端口外的其他端口發(fā)送FPM,當(dāng)鄰接OFS收到FPM后,查找鄰接節(jié)點表確定鄰接節(jié)點表中是否存在鄰接節(jié)點域ID為D_ID的0FS,如果找到,根據(jù)FPM中的路徑發(fā)送FPM回復(fù)消息;如果沒有找到,OFS把FPM從除了收到FPM端口之外的端口發(fā)送出去直到找到通往域D_ID的一條路徑。當(dāng)源OFS收到FPM回復(fù)消息后,提取出FPM回復(fù)消息中的路徑,若OFS收到多條FPM消息,則從所有路徑中選擇出跳數(shù)最少的路徑為最佳路徑,如果有多條跳數(shù)相同且最少的路徑,則隨機從多條跳數(shù)最少的路徑中選擇一條為最佳路徑。在圖1中,如果S3檢測到S5不可達而且在S3的鄰接節(jié)點表中找不到S5所在域AS2中的0FS,于是S3向除了與S5相連的端口以外的其他端口發(fā)送FPM,S2收到S3發(fā)來的FPM后,由于在S2的鄰接節(jié)點表中不存在域AS2的OFS,S2就把S2和收到消息的端口加入到FPM的路徑部分中再次發(fā)送出去,就這樣一直發(fā)送下去,到最后S4和S9收到了 FPM,在S4和S9的鄰接節(jié)點表中都存在域AS2中的0FS,于是S4和S9都會送FPM回復(fù)消息報告到達S5所在的域的路徑已經(jīng)找到。
[0027](4.6) OFS找到發(fā)往不可達OFS的最佳路徑后,往最佳路徑發(fā)送流表更新消息(FUM),以往最佳路徑上的OFS增加流表項使發(fā)往不可達OFS的數(shù)據(jù)包往最佳路徑發(fā)送;該流表更新消息封裝了消息類型、不可達OFS的域ID、路徑和匹配域;路徑為從尋找路徑回復(fù)消息中提取出的最佳路徑,匹配域為在OpenFlow交換機流表中找出的數(shù)據(jù)包發(fā)出端口為與不可達OFS相連的端口的流表項中的匹配域,匹配域有一個或多個;0FS根據(jù)FUM中的路徑來發(fā)送流表更新消息,每到達一個OFS的時候,為OFS增加流表項,如果有多個匹配域,則增加多個流表項,流表項的匹配域為流表更新消息中的匹配域,從FUM的路徑中提取下一跳的發(fā)出端口并寫入流表項的行為部分,并把該流表項的優(yōu)先級設(shè)為最高。這樣就為發(fā)往不可達OpenFlow交換機所在的域的數(shù)據(jù)包建立了一條新的路徑。在圖1中,S3找到到達S5所在的域的最佳路徑為S3、S2、S1、S4、S5后,S3往最佳路徑發(fā)送FUM,在最佳路徑上的OpenFlow交換機增加流表項,使發(fā)往S5的數(shù)據(jù)包往最佳路徑發(fā)送。
[0028](4.7)0FS向控制器發(fā)送封裝了 NM的OpenFlow消息報告此OFS與不可達OFS之間的鏈路故障,控制器更新拓撲。
[0029]本發(fā)明提出的域間鏈路故障恢復(fù)方法在域間鏈路出現(xiàn)故障的時候,OpenFlow交換機直接根據(jù)存儲在本地鄰接節(jié)點表中的信息為發(fā)往不可達OpenFlow交換機的流量選擇一條路徑,而不用控制器的參與,不占用OpenFlow交換機與控制器之間有限的帶寬,恢復(fù)速度快,減少了網(wǎng)絡(luò)的丟包率。
【權(quán)利要求】
1.一種基于軟件定義網(wǎng)絡(luò)的域間鏈路快速故障恢復(fù)方法,其特征在于,包括以下步驟: 步驟1:初始網(wǎng)絡(luò)中的所有的OpenFlow交換機都和控制器相連,每個OpenFlow交換機有全網(wǎng)唯一的標(biāo)識符,由同一個控制器管理的所有OpenFlow交換機組成一個域,域由控制器的IP地址標(biāo)識;0penFlow交換機在與控制器建立連接時,控制器會把域間OpenFlow交換機選擇策略加載到OpenFlow交換機; 步驟2:各OpenFlow交換機向鄰接OpenFlow交換機廣播鄰接消息,該鄰接消息封裝了消息類型、域ID、物理節(jié)點ID、端口 ID和端口 IP ;0penFlow交換機收到從鄰接節(jié)點發(fā)來的鄰接消息后將鄰居OpenFlow交換機的信息加入到自己維護的鄰接節(jié)點表中;鄰接節(jié)點表由鄰接節(jié)點域ID、鄰接節(jié)點ID、鄰接節(jié)點端口 ID、鄰接節(jié)點端口 IP、與鄰接節(jié)點相連的本OpenFlow交換機的端口 ID和定時器項組成; 步驟3:每個OpenFlow交換機把用OpenFlow消息封裝的節(jié)點信息消息發(fā)送給控制器;該節(jié)點信息消息由消息類型、OpenFlow交換機信息和鄰接OpenFlow交換機信息組成;控制器收到各OpenFlow交換機發(fā)來的封裝了節(jié)點信息消息的OpenFlow消息后,就獲得了本域的物理拓撲信息以及與本域相連的其他域的邊界OpenFlow交換機信息(如果一個域的OpenFlow交換機與其他域的OpenFlow交換機相連,則該OpenFlow交換機為邊界OpenFlow交換機),控制器將本域的物理拓撲存儲到本地,把域間的物理拓撲存儲至網(wǎng)絡(luò)視圖,每個控制器根據(jù)網(wǎng)絡(luò)視圖獲取全網(wǎng)域間拓撲; 步驟4:維護域間鏈路,快速恢復(fù)故障鏈路;該步驟通過以下子步驟來實現(xiàn): (4.DOpenFlow交換機周期性地向鄰接OpenFlow交換機廣播鄰接消息,OpenFlow交換機收到鄰接消息后,提取出物理節(jié)點ID字段,并與鄰接節(jié) 點表中的鄰接節(jié)點ID項匹配,如果匹配成功,就重置命中表項的定時器;如果匹配不成功,表示有新的OpenFlow交換機與之相連,則更新鄰接節(jié)點表,為剛連入的OpenFlow交換機增加一個表項,并由OpenFlow交換機發(fā)送一個封裝了節(jié)點信息消 息的OpenFlow消息給控制器,以告知新節(jié)點的加入以及網(wǎng)絡(luò)拓撲的變化; (4.2)每個OpenFlow交換機定期檢查鄰接節(jié)點表中的定時器項,如果某個表項的定時器超過預(yù)先設(shè)定的最大值,表示此OpenFlow交換機在一定時間內(nèi)沒有收到表項中OpenFlow交換機發(fā)來的鄰接消息,表項中的OpenFlow交換機為不可達; (4.3)如果OpenFlow交換機檢測到某個鄰接OpenFlow交換機不可達,說明兩個OpenFlow交換機之間的鏈路發(fā)生了故障;0penFlow交換機從鄰接節(jié)點表中找出鄰接節(jié)點域ID為與不可達OpenFlow交換機域ID相同的候選表項,如果有多個候選表項,根據(jù)域間OpenFlow交換機選擇策略從多個候選表項中選擇一個最佳表項,轉(zhuǎn)到步驟(4.4);若沒有找至IJ,轉(zhuǎn)到步驟(4.5); (4.4) OpenFlow交換機根據(jù)最佳表項修改流表:先找出流表項中數(shù)據(jù)包發(fā)出端口為與不可達OpenFlow交換機相連的端口的流表項,再修改這些流表項把發(fā)出端口修改為最佳表項中的與鄰接節(jié)點相連的本OpenFlow交換機的端口 ID,從而把發(fā)往不可達OpenFlow交換機的流量定向到與不可達OpenFlow交換機在同一個域中的邊界OpenFlow交換機; (4.5) OpenFlow交換機采用洪泛法發(fā)送尋找路徑消息以找到此OpenFlow交換機到不可達OpenFlow交換機所在域的路徑;該尋找路徑消息封裝了消息類型、不可達OpenFlow交換機的域0_10和源OpenFlow交換機的域S_ID和路徑;尋找路徑消息每到達一個OpenFlow交換機的時候需要把OpenFlow交換機的ID和收到尋找路徑消息的端口 ID寫入路徑,以方便尋找路徑回復(fù)消息的發(fā)送,每從OpenFlow交換機的端口發(fā)送前,需要把發(fā)出端口 ID寫入到路徑中,以方便隨后流表更新消息的發(fā)送;OpenFlow交換機首先向除了與不可達OpenFlow交換機相連的端口外的其他端口發(fā)送尋找路徑消息,當(dāng)鄰接OpenFlow交換機收到尋找路徑消息后,查找鄰接節(jié)點表以確定鄰接節(jié)點表中是否存在鄰接節(jié)點域ID為D_ID的OpenFlow交換機;如果找到,根據(jù)尋找路徑消息中的路徑發(fā)送尋找路徑回復(fù)消息;如果沒有找到,OpenFlow交換機把尋找路徑消息從除了收到尋找路徑消息端口之外的端口發(fā)送出去直到找到通往域D_ID的一條路徑;當(dāng)源OpenFlow交換機收到尋找路徑回復(fù)消息后,提取出尋找路徑回復(fù)消息中的路徑,若OpenFlow交換機收到多條尋找路徑回復(fù)消息,則從所有路徑中選擇出跳數(shù)最少的路徑為最佳路徑,如果有多條跳數(shù)相同且最少的路徑,則隨機從多條跳數(shù)最少的路徑中選擇一條為最佳路徑; (4.6)0penFlow交換機找到發(fā)往不可達OpenFlow交換機的最佳路徑后,往最佳路徑發(fā)送流表更新消息,以往最佳路徑上的OpenFlow交換機增加流表項使發(fā)往不可達OpenFlow交換機的數(shù)據(jù)包往最佳·路徑發(fā)送;該流表更新消息封裝了消息類型、不可達OpenFlow交換機的域ID、路徑和匹配域;路徑為從尋找路徑回復(fù)消息中提取出的最佳路徑,匹配域為在源OpenFlow交換機流表中找出的數(shù)據(jù)包發(fā)出端口為與不可達OpenFlow交換機相連的端口的流表項中的匹配域,匹配域有一個或多個;0penFlOW交換機根據(jù)流表更新消息中的路徑來發(fā)送流表更新消息,每到達一個OpenFlow交換機的時候,為OpenFlow交換機增加流表項,如果流表更新消息中有多個匹配域,則增加多個流表項,流表項的匹配域為流表更新消息中的匹配域,從流表更新消息的路徑中提取下一跳的發(fā)出端口并寫入流表項的行為部分,并把該流表項的優(yōu)先級設(shè)為最高;這樣就為發(fā)往不可達OpenFlow交換機所在的域的數(shù)據(jù)包建立了一條新的路徑; (4.7) OpenFlow交換機向控制器發(fā)送封裝了節(jié)點信息消息的OpenFlow消息報告此OpenFlow交換機與不可達OpenFlow交換機之間的鏈路故障,控制器更新拓撲,從而實現(xiàn)域間鏈路的故障恢復(fù)。
【文檔編號】H04L12/24GK103428031SQ201310335883
【公開日】2013年12月4日 申請日期:2013年8月5日 優(yōu)先權(quán)日:2013年8月5日
【發(fā)明者】吳春明, 李徐艷, 周伯陽, 姜明 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
铜鼓县| 吉木乃县| 新绛县| 阳朔县| 常山县| 长顺县| 台山市| 鄂尔多斯市| 马鞍山市| 多伦县| 崇信县| 石门县| 元朗区| 民权县| 四子王旗| 黄龙县| 桦甸市| 济阳县| 石台县| 永新县| 怀安县| 河北区| 泊头市| 沙坪坝区| 宜兴市| 亚东县| 黑水县| 乌海市| 喜德县| 大田县| 呼和浩特市| 历史| 泸定县| 祁阳县| 盐亭县| 田林县| 浦江县| 北川| 阿鲁科尔沁旗| 东光县| 霍邱县|