一種sdn控制器資源池的實現方法
【專利摘要】本發(fā)明公開一種SDN控制器資源池(SDN?Controller?Pool)的實現方法,將多個SDN控制器組成一個資源池,池中的每個控制器都處于負荷分擔的工作狀態(tài),其中任何一個控制器故障,池中的其他控制器均可無損接管,通過選舉出來的主節(jié)點向其他節(jié)點同步狀態(tài)和動態(tài)數據,在有節(jié)點故障時進行無損接管,主要包括資源池構建,數據同步,建立SDN交換機連接,故障檢測,故障接管。
【專利說明】一種SDN控制器資源池的實現方法
【技術領域】
[0001]本發(fā)明涉及網絡通信領域,特別涉及到一種SDN控制器資源池(SDN ControllerPool)的實現方法。
【背景技術】
[0002]軟件定義網絡(Software Defined Network, SDN ),是一種新型網絡創(chuàng)新架構,其通過OpenFlow實現網絡設備控制面與數據面的分離,為核心網絡及應用創(chuàng)新提供開放平臺,它主要是由控制器和SDN交換機組成,大型組網中存在多個控制器,為了提高系統(tǒng)的可靠性,往往是通過控制器的主備方式實現1+1的備份,但這種方式的可靠性和資源的使用率不高,本發(fā)明專利關注到了這方面的問題,發(fā)明了一種SDN控制器資源池的實現方法,將多個SDN控制器組成一個資源池,池中的每個控制器都處于負荷分擔的工作狀態(tài),其中任何一個控制器故障,池中的其他控制器均可無損接管,達到1+N的備份效果。
【發(fā)明內容】
[0003]本發(fā)明的主要目的是提供SDN控制器資源池的實現方法,通過將多個SDN控制器組成一個Controller Pool,池中的所有控制器互為備份,SDN交換機可以選擇其中的一個控制器也可以根據業(yè)務的不同使用多個控制器同時控制,其中一個控制器故障,另外的控制器實時感知故障并無損接管,由于各個控制器正常時均承擔了業(yè)務,在提高可靠性的同時,也提高了控制器的使用效率。
[0004]本發(fā)明解決其技術問題所采用的技術方案包括:構建資源池,系統(tǒng)將多個控制器劃為分為多個Domain,每個Domain為一個資源池;主節(jié)點選舉,從池中選舉一個控制器作為主節(jié)點,該節(jié)點負責向其他節(jié)點同步狀態(tài)和動態(tài)數據;故障檢測,由主節(jié)點與池中的控制器實時握手檢測,發(fā)現故障后通知其他節(jié)點;故障接管,當檢測出故障后,主節(jié)點根據負載均衡選擇合適的控制器,由選中的控制器啟動接管。
[0005]本發(fā)明的有益效果是,通過SDN控制器資源池實現1+N的備份,也可以實現1+N的負荷分擔,在提高可靠性的同時,也提高了控制器的使用效率。
【專利附圖】
【附圖說明】
[0006]下面結合附圖與實施例對本發(fā)明進一步說明
圖1為本發(fā)明一種SDN控制器資源池的實現方法流程示意圖。
【具體實施方式】
[0007]本發(fā)明實施主要是通過選舉出來的主節(jié)點向其他節(jié)點同步狀態(tài)和動態(tài)數據,在有節(jié)點故障時進行無損接管,主要包括資源池構建,數據同步,建立SDN交換機連接,故障檢測,故障接管。
[0008]參照圖1,本發(fā)明一種SDN控制器資源池的實現方法實施步驟包括: 步驟SlOl,資源池構建,系統(tǒng)將SDN控制器分為多個Domain,每個Domain的SDN控制器構成一個資源池,資源池的ID與Domain ID 一致,每個控制器配置一個資源池ID,同時每個控制器表示一個節(jié)點,每個節(jié)點有唯一的ID,構建Controller Pool表,其字段包括PoolID,節(jié)點ID序列,主節(jié)點ID。系統(tǒng)選舉主節(jié)點,根據各個SDN控制器的MAC地址來選擇,MAC地址小的優(yōu)先選為主節(jié)點,同時主節(jié)點建立和資源池其他節(jié)點的狀態(tài)監(jiān)測通道和數據同步通道。
[0009]步驟S102,數據同步,主節(jié)點和池中其他節(jié)點建立數據同步通道,其他任何節(jié)點收到SDN交換機的請求或者是自己的狀態(tài)發(fā)生改變時,通過數據通道將數據同步到主節(jié)點,主節(jié)點收到信息及時同步到資源池的其他控制器,同步采用TCP連接,并使用消息確認機制。
[0010]步驟S103,建立SDN交換機連接,SDN交換機通過Openflow協議建立和資源池中所有節(jié)點的通道,但只有其中一個SDN控制器為Master,其他均為Slave,只有連接Master的通道狀態(tài)為激活,其他均未去激活。Master的選擇由主節(jié)點根據業(yè)務和各個節(jié)點的負荷來決定,并通過擴展Openflow協議在建立Openflow連接通道時告知SDN交換機,SDN交換機也可以主動選擇Master,以同樣方式告知主節(jié)點。
[0011]步驟S104,故障檢測,主節(jié)點和資源池的其他節(jié)點啟動毫秒定時器,當200毫秒內沒有收到對端的握手的Hello報文,則認為對端疑似故障,同時啟動相鄰節(jié)點向對端節(jié)點的檢測,在100毫秒內沒有收到回應,則確認對端狀態(tài)故障,否則狀態(tài)一直為對端疑似故障,故障檢測采用私有協議,也可以使用類似BFD的機制,當主節(jié)點檢測出資源池中的某個節(jié)點故障時,該故障信息將通過主節(jié)點同步到其他正常的節(jié)點。
[0012]步驟S105,故障接管,通過步驟S104的故障檢測,在存在節(jié)點故障的情況,如果是主節(jié)點故障,則資源池中的其他節(jié)點按照主節(jié)點選舉原則確定新的主節(jié)點,啟動新主節(jié)點的數據同步和故障檢測機制,同時新的主節(jié)點根據當前各個節(jié)點的負荷選擇能夠接管故障主節(jié)點的備份節(jié)點,如果是非主節(jié)點故障,同樣由主節(jié)點根據當前各個節(jié)點的負荷選擇能夠接管故障節(jié)點的備份節(jié)點;備份節(jié)點通過擴展的Openflow協議,向SDN交換機請求切換,SDN交換機收到切換請求后,激活與新SDN控制器的連接通道,完成故障接管過程。
[0013]通過以上步驟的資源池構建,數據同步,建立SDN交換機連接,故障檢測,故障接管,就實現了 SDN控制器資源池的系統(tǒng)功能,其中任何一個故障,池中的其他控制器均可無損接管,達到1+N的備份效果。
[0014]與現有的實現技術相比,本發(fā)明方法能夠快速同步數據,快速和可靠的檢測故障,能夠快速接管故障,而且實現無損接管,比傳統(tǒng)的1+1備份模式可靠性更高,池中的每個控制器都處于負荷分擔的工作狀態(tài),資源的使用率更高。
[0015]以上對本發(fā)明實施例所提供的技術方案進行了詳細介紹,本文中應用了具體個例對本發(fā)明實施例的原理以及實施方式進行了闡述,以上實施例的說明只適用于幫助理解本發(fā)明實施例的原理;同時,對于本領域的一般技術人員,依據本發(fā)明實施例,在【具體實施方式】以及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
【權利要求】
1.一種SDN控制器資源池的實現方法,其特征是:將多個SDN控制器組成一個資源池,池中的每個控制器都處于負荷分擔的工作狀態(tài),通過選舉出來的主節(jié)點向其他節(jié)點同步狀態(tài)和動態(tài)數據,在有節(jié)點故障時進行無損接管,主要包括資源池構建,數據同步,建立SDN交換機連接,故障檢測,故障接管。
2.根據權利要求1所述的資源池構建,其特征是:系統(tǒng)將SDN控制器分為多個Domain,每個Domain的SDN控制器構成一個資源池,資源池的ID與Domain ID 一致,每個控制器配置一個資源池ID,同時每個控制器表示一個節(jié)點,每個節(jié)點有唯一的ID,構建ControllerPool表,其字段包括Pool ID,節(jié)點ID序列,主節(jié)點ID。
3.根據權利要求1所述的數據同步,其特征是:主節(jié)點和池中其他節(jié)點建立數據同步通道,其他任何節(jié)點收到SDN交換機的請求或者是自己的狀態(tài)發(fā)生改變時,通過數據通道將數據同步到主節(jié)點,主節(jié)點收到信息及時同步到資源池的其他控制器,同步采用TCP連接,并使用消息確認機制。
4.根據權利要求3所述的數據通道,其特征是:數據通道基于TCP的協議,該消息的格式包括不限于發(fā)送節(jié)點ID,接收節(jié)點ID,消息體長度,消息體;其消息體使用XML的文本發(fā)送,包括不限于狀態(tài)數據,ACL策略數據,Openflow流表數據,節(jié)點能力數據,QoS數據,SDN交換機的配置文件數據。
5.根據權利要求1所述的建立SDN交換機連接,其特征是:SDN交換機通過Openflow協議建立和資源池中所有節(jié)點的通道,但只有其中一個SDN控制器為Master,其他均為Slave,只有連接Master的通道狀態(tài)為激活,其他均未去激活;Master的選擇由主節(jié)點根據業(yè)務和各個節(jié)點的負荷來決定,并通過Openflow協議在建立Openflow連接通道時告知SDN交換機,SDN交換機也可以主動選擇Master,以同樣方式告知主節(jié)點。
6.根據權利要求1所述的故障檢測,其特征是:主節(jié)點和資源池的其他節(jié)點啟動毫秒定時器,當定時器如200毫秒超時沒有收到對端的握手的Hello報文,則認為對端疑似故障,同時啟動相鄰節(jié)點向對端節(jié)點的檢測,啟動另外一個較小定時器如100毫秒內沒有收到回應,則確認對端狀態(tài)故障,否則狀態(tài)一直為對端疑似故障,當主節(jié)點檢測出資源池中的某個節(jié)點故障時,該故障信息將通過主節(jié)點同步到其他正常的節(jié)點。
7.根據權利要求1所述的故障接管,其特征是:如果是主節(jié)點故障,則資源池中的其他節(jié)點按照主節(jié)點選舉原則確定新的主節(jié)點,啟動新主節(jié)點的數據同步和故障檢測機制,同時新的主節(jié)點根據當前各個節(jié)點的負荷選擇能夠接管故障主節(jié)點的備份節(jié)點,如果是非主節(jié)點故障,同樣由主節(jié)點根據當前各個節(jié)點的負荷選擇能夠接管故障節(jié)點的備份節(jié)點;備份節(jié)點通過Openflow協議,向SDN交換機請求切換,SDN交換機收到切換請求后,激活與新SDN控制器的連接通道,完成故障接管過程。
【文檔編號】H04L12/24GK103929333SQ201410192339
【公開日】2014年7月16日 申請日期:2014年5月8日 優(yōu)先權日:2014年5月8日
【發(fā)明者】不公告發(fā)明人 申請人:陳桂芳