[發明專利]一種基于軟件定義網絡的域間鏈路快速故障恢復方法有效
| 申請號: | 201310335883.7 | 申請日: | 2013-08-05 |
| 公開(公告)號: | CN103428031A | 公開(公告)日: | 2013-12-04 |
| 發明(設計)人: | 吳春明;李徐艷;周伯陽;姜明 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L12/721 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 周烽 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 軟件 定義 網絡 域間鏈路 快速 故障 恢復 方法 | ||
1.一種基于軟件定義網絡的域間鏈路快速故障恢復方法,其特征在于,包括以下步驟:
步驟1:初始網絡中的所有的OpenFlow交換機都和控制器相連,每個OpenFlow交換機有全網唯一的標識符,由同一個控制器管理的所有OpenFlow交換機組成一個域,域由控制器的IP地址標識;OpenFlow交換機在與控制器建立連接時,控制器會把域間OpenFlow交換機選擇策略加載到OpenFlow交換機;
步驟2:各OpenFlow交換機向鄰接OpenFlow交換機廣播鄰接消息,該鄰接消息封裝了消息類型、域ID、物理節點ID、端口ID和端口IP;OpenFlow交換機收到從鄰接節點發來的鄰接消息后將鄰居OpenFlow交換機的信息加入到自己維護的鄰接節點表中;鄰接節點表由鄰接節點域ID、鄰接節點ID、鄰接節點端口ID、鄰接節點端口IP、與鄰接節點相連的本OpenFlow交換機的端口ID和定時器項組成;
步驟3:每個OpenFlow交換機把用OpenFlow消息封裝的節點信息消息發送給控制器;該節點信息消息由消息類型、OpenFlow交換機信息和鄰接OpenFlow交換機信息組成;控制器收到各OpenFlow交換機發來的封裝了節點信息消息的OpenFlow消息后,就獲得了本域的物理拓撲信息以及與本域相連的其他域的邊界OpenFlow交換機信息(如果一個域的OpenFlow交換機與其他域的OpenFlow交換機相連,則該OpenFlow交換機為邊界OpenFlow交換機),控制器將本域的物理拓撲存儲到本地,把域間的物理拓撲存儲至網絡視圖,每個控制器根據網絡視圖獲取全網域間拓撲;
步驟4:維護域間鏈路,快速恢復故障鏈路;該步驟通過以下子步驟來實現:
(4.1)OpenFlow交換機周期性地向鄰接OpenFlow交換機廣播鄰接消息,OpenFlow交換機收到鄰接消息后,提取出物理節點ID字段,并與鄰接節點表中的鄰接節點ID項匹配,如果匹配成功,就重置命中表項的定時器;如果匹配不成功,表示有新的OpenFlow交換機與之相連,則更新鄰接節點表,為剛連入的OpenFlow交換機增加一個表項,并由OpenFlow交換機發送一個封裝了節點信息消息的OpenFlow消息給控制器,以告知新節點的加入以及網絡拓撲的變化;
(4.2)每個OpenFlow交換機定期檢查鄰接節點表中的定時器項,如果某個表項的定時器超過預先設定的最大值,表示此OpenFlow交換機在一定時間內沒有收到表項中OpenFlow交換機發來的鄰接消息,表項中的OpenFlow交換機為不可達;
(4.3)如果OpenFlow交換機檢測到某個鄰接OpenFlow交換機不可達,說明兩個OpenFlow交換機之間的鏈路發生了故障;OpenFlow交換機從鄰接節點表中找出鄰接節點域ID為與不可達OpenFlow交換機域ID相同的候選表項,如果有多個候選表項,根據域間OpenFlow交換機選擇策略從多個候選表項中選擇一個最佳表項,轉到步驟(4.4);若沒有找到,轉到步驟(4.5);
(4.4)OpenFlow交換機根據最佳表項修改流表:先找出流表項中數據包發出端口為與不可達OpenFlow交換機相連的端口的流表項,再修改這些流表項把發出端口修改為最佳表項中的與鄰接節點相連的本OpenFlow交換機的端口ID,從而把發往不可達OpenFlow交換機的流量定向到與不可達OpenFlow交換機在同一個域中的邊界OpenFlow交換機;
(4.5)OpenFlow交換機采用洪泛法發送尋找路徑消息以找到此OpenFlow交換機到不可達OpenFlow交換機所在域的路徑;該尋找路徑消息封裝了消息類型、不可達OpenFlow交換機的域D_ID和源OpenFlow交換機的域S_ID和路徑;尋找路徑消息每到達一個OpenFlow交換機的時候需要把OpenFlow交換機的ID和收到尋找路徑消息的端口ID寫入路徑,以方便尋找路徑回復消息的發送,每從OpenFlow交換機的端口發送前,需要把發出端口ID寫入到路徑中,以方便隨后流表更新消息的發送;OpenFlow交換機首先向除了與不可達OpenFlow交換機相連的端口外的其他端口發送尋找路徑消息,當鄰接OpenFlow交換機收到尋找路徑消息后,查找鄰接節點表以確定鄰接節點表中是否存在鄰接節點域ID為D_ID的OpenFlow交換機;如果找到,根據尋找路徑消息中的路徑發送尋找路徑回復消息;如果沒有找到,OpenFlow交換機把尋找路徑消息從除了收到尋找路徑消息端口之外的端口發送出去直到找到通往域D_ID的一條路徑;當源OpenFlow交換機收到尋找路徑回復消息后,提取出尋找路徑回復消息中的路徑,若OpenFlow交換機收到多條尋找路徑回復消息,則從所有路徑中選擇出跳數最少的路徑為最佳路徑,如果有多條跳數相同且最少的路徑,則隨機從多條跳數最少的路徑中選擇一條為最佳路徑;
(4.6)OpenFlow交換機找到發往不可達OpenFlow交換機的最佳路徑后,往最佳路徑發送流表更新消息,以往最佳路徑上的OpenFlow交換機增加流表項使發往不可達OpenFlow交換機的數據包往最佳路徑發送;該流表更新消息封裝了消息類型、不可達OpenFlow交換機的域ID、路徑和匹配域;路徑為從尋找路徑回復消息中提取出的最佳路徑,匹配域為在源OpenFlow交換機流表中找出的數據包發出端口為與不可達OpenFlow交換機相連的端口的流表項中的匹配域,匹配域有一個或多個;OpenFlow交換機根據流表更新消息中的路徑來發送流表更新消息,每到達一個OpenFlow交換機的時候,為OpenFlow交換機增加流表項,如果流表更新消息中有多個匹配域,則增加多個流表項,流表項的匹配域為流表更新消息中的匹配域,從流表更新消息的路徑中提取下一跳的發出端口并寫入流表項的行為部分,并把該流表項的優先級設為最高;這樣就為發往不可達OpenFlow交換機所在的域的數據包建立了一條新的路徑;
(4.7)OpenFlow交換機向控制器發送封裝了節點信息消息的OpenFlow消息報告此OpenFlow交換機與不可達OpenFlow交換機之間的鏈路故障,控制器更新拓撲,從而實現域間鏈路的故障恢復。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310335883.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種攻擊定位、輔助定位裝置和方法
- 下一篇:一種低功耗控制方法及設備





