一種軟件定義網(wǎng)絡(luò)sdn的自動配置方法、設(shè)備及系統(tǒng)的制作方法【專利摘要】本發(fā)明實(shí)施例提供了一種軟件定義網(wǎng)絡(luò)SDN的自動配置方法、設(shè)備及系統(tǒng),用于提高交換機(jī)的控制器配置效率。該方法包括:任一控制器確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)所述任一控制器接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息?!緦@f明】—種軟件定義網(wǎng)絡(luò)SDN的自動配置方法、設(shè)備及系統(tǒng)【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及計(jì)算機(jī)【
技術(shù)領(lǐng)域:
】,尤其涉及一種軟件定義網(wǎng)絡(luò)的自動配置方法、設(shè)備及系統(tǒng)?!?br>背景技術(shù):
】[0002]軟件定義網(wǎng)絡(luò)(SoftwareDefinedNetwork,SDN),是一種新型網(wǎng)絡(luò)架構(gòu),其核心技術(shù)開放流(OpenFlow)通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,實(shí)現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺。[0003]每個(gè)OpenFlow交換機(jī)(switch)都有一張流表(flowtable),用于進(jìn)行數(shù)據(jù)包查找和轉(zhuǎn)發(fā)。交換機(jī)可以通過OpenFlow協(xié)議經(jīng)一個(gè)安全通道(securechannel)連接到外部的控制器(controller),對流表進(jìn)行查詢和管理,如圖1所示。[0004]當(dāng)連接到控制器上的交換機(jī)過多時(shí),會給控制器帶來很大的性能壓力,同時(shí)控制器會成為整個(gè)系統(tǒng)環(huán)境的瓶頸。一種典型的解決辦法是,將很多個(gè)控制器組成一個(gè)分布式的集群(cluster),各交換機(jī)接入到集群中的不同控制器上,這樣可以降低單個(gè)控制器的性能壓力,并且控制器本身不會成為整個(gè)系統(tǒng)的瓶頸。控制器集群中存在一個(gè)主(leader)控制器,用來管理集群的資源、任務(wù)分配,其它控制器為從屬(follower)控制器。此外,還需要管理員為每一個(gè)交換機(jī)配置接入的控制器,一種配置方案是,為每個(gè)交換機(jī)配置兩個(gè)控制器,一個(gè)為主控(master)控制器,一個(gè)為輔助(second)控制器;如圖2所示,是交換機(jī)的控制器配置示意圖。交換機(jī)和兩個(gè)控制器一直保持連接狀態(tài),但是只有主控控制器才與交換機(jī)做業(yè)務(wù)交互,當(dāng)主控控制器故障時(shí),輔助控制器接管和交換機(jī)的業(yè)務(wù)交互。[0005]對于管理員而言,需要知道控制器集群中的每個(gè)控制器的信息,并根據(jù)各個(gè)控制器的情況決定每個(gè)交換機(jī)配置哪些控制器。當(dāng)集群中的控制器比較多時(shí),配置效率低?!?br/>發(fā)明內(nèi)容】[0006]本發(fā)明實(shí)施例提供了一種軟件定義網(wǎng)絡(luò)的自動配置方法、設(shè)備及系統(tǒng),用以解決人工為交換機(jī)配置控制器時(shí)配置效率低的問題。[0007]本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:[0008]第一方面,一種軟件定義網(wǎng)絡(luò)的自動配置方法,包括:[0009]任一控制器確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0010]當(dāng)所述任一控制器接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0011]結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,所述任一控制器確定分配給該交換機(jī)的控制器,包括:[0012]所述任一控制器確定當(dāng)前各個(gè)控制器的負(fù)載狀況;[0013]所述任一控制器根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。[0014]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述分配給該交換機(jī)的控制器,包括:[0015]分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。[0016]結(jié)合第一方面,在第三種可能的實(shí)現(xiàn)方式中,接收交換機(jī)發(fā)送的分配控制器的請求,包括:[0017]接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,[0018]接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。[0019]結(jié)合第一方面,在第四種可能的實(shí)現(xiàn)方式中,該方法還包括:[0020]所述任一控制器確定自身成為從屬控制器時(shí),停用所述IP地址。[0021]結(jié)合第一方面,在第五種可能的實(shí)現(xiàn)方式中,該方法還包括:[0022]所述任一控制器接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。[0023]第二方面,一種軟件定義網(wǎng)絡(luò)的自動配置方法,包括:[0024]交換機(jī)發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0025]所述交換機(jī)接收任一成為主控制器的控制器返回的用于指示分配給所述交換機(jī)的控制器的消息;[0026]所述交換機(jī)根據(jù)接收的消息,配置所述主控制器分配的控制器。[0027]結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,所述交換機(jī)發(fā)送分配控制器的請求,包括:[0028]所述交換機(jī)在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0029]所述交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0030]第三方面,一種控制器設(shè)備,包括:[0031]IP地址啟用單元,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0032]分配指示單元,用于當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0033]結(jié)合第三方面,在第一種可能的實(shí)現(xiàn)方式中,所述分配指示單元用于確定分配給該交換機(jī)的控制器時(shí),具體用于:[0034]確定當(dāng)前各個(gè)控制器的負(fù)載狀況;[0035]根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。[0036]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述分配指示單元確定的分配給該交換機(jī)的控制器,包括:[0037]分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。[0038]結(jié)合第三方面,在第三種可能的實(shí)現(xiàn)方式中,所述分配指示單元用于接收交換機(jī)發(fā)送的分配控制器的請求時(shí),具體用于:[0039]接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,[0040]接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。[0041]結(jié)合第三方面,在第四種可能的實(shí)現(xiàn)方式中,該設(shè)備還包括:[0042]IP地址停用單元,用于確定自身成為從屬控制器時(shí),停用所述IP地址。[0043]結(jié)合第三方面,在第五種可能的實(shí)現(xiàn)方式中,該設(shè)備還包括:[0044]應(yīng)用層通信單元,用于接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。[0045]第四方面,一種交換機(jī)設(shè)備,包括:[0046]請求發(fā)送單元,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0047]消息接收單元,用于接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;[0048]配置單元,用于根據(jù)接收的消息,配置所述主控制器分配的控制器。[0049]結(jié)合第四方面,在第一種可能的實(shí)現(xiàn)方式中,所述請求發(fā)送單元,具體用于:[0050]在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0051]在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0052]第五方面,一種控制器設(shè)備,包括:[0053]處理器,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器;[0054]傳輸裝置,用于接收任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求,以及向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0055]結(jié)合第五方面,在第一種可能的實(shí)現(xiàn)方式中,所述處理器用于確定分配給該交換機(jī)的控制器時(shí),具體用于:[0056]確定當(dāng)前各個(gè)控制器的負(fù)載狀況;[0057]根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。[0058]結(jié)合第五方面或第五方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述處理器確定的分配給該交換機(jī)的控制器,包括:[0059]分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。[0060]結(jié)合第五方面,在第三種可能的實(shí)現(xiàn)方式中,所述傳輸裝置用于接收交換機(jī)發(fā)送的分配控制器的請求時(shí),具體用于:[0061]接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,[0062]接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。[0063]結(jié)合第五方面,在第四種可能的實(shí)現(xiàn)方式中,所述處理器還用于確定自身成為從屬控制器時(shí),停用所述IP地址。[0064]結(jié)合第五方面,在第五種可能的實(shí)現(xiàn)方式中,所述傳輸裝置還用于接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。[0065]第六方面,一種交換機(jī)設(shè)備,包括:[0066]傳輸裝置,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;[0067]處理器,用于根據(jù)接收的消息,配置所述主控制器分配的控制器。[0068]結(jié)合第六方面,在第一種可能的實(shí)現(xiàn)方式中,所述傳輸裝置用于發(fā)送分配控制器的請求時(shí),具體用于:[0069]在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0070]在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0071]第七方面,一種軟件定義網(wǎng)絡(luò)系統(tǒng),包括:由多個(gè)控制器組成的控制器集群,以及交換機(jī);[0072]所述控制器,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息;[0073]所述交換機(jī),用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;根據(jù)接收的消息,配置所述主控制器分配的控制器。[0074]本發(fā)明實(shí)施例,任一控制器確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)所述任一控制器接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。通過在軟件定義網(wǎng)絡(luò)中預(yù)設(shè)主控制器專用的IP地址,使得交換機(jī)能夠通過該IP地址找到主控制器并請求主控制器為自己分配控制器,解決了交換機(jī)因?yàn)橹骺刂破鞑淮_定而無法向主控制器發(fā)送請求的問題,實(shí)現(xiàn)了由主控制器為各個(gè)交換機(jī)分配控制器,相比于人工配置的方法,能夠更加高效地完成交換機(jī)的控制器配置?!緦@綀D】【附圖說明】[0075]圖1是開放流技術(shù)的設(shè)備示意圖;[0076]圖2是交換機(jī)的控制器配置示意圖;[0077]圖3是本發(fā)明實(shí)施例提供的SDN的自動配置方法的流程示意圖;[0078]圖4是本發(fā)明實(shí)施例提供的SDN的自動配置方法的另一流程示意圖;[0079]圖5是本發(fā)明實(shí)施例提供的SDN環(huán)境的部署流程示意圖;[0080]圖6是本發(fā)明實(shí)施例提供的SDN中交換機(jī)和控制器的消息流示意圖;[0081]圖7是本發(fā)明實(shí)施例提供的控制器分配結(jié)果示意圖;[0082]圖8是本發(fā)明實(shí)施例提供的控制器的重新選舉的流程示意圖;[0083]圖9是本發(fā)明實(shí)施例提供的控制器的故障處理流程示意圖;[0084]圖10是本發(fā)明實(shí)施例提供的控制器設(shè)備的結(jié)構(gòu)示意圖;[0085]圖11是本發(fā)明實(shí)施例提供的交換機(jī)設(shè)備的結(jié)構(gòu)示意圖;[0086]圖12是本發(fā)明實(shí)施例提供的控制設(shè)備的另一結(jié)構(gòu)示意圖;[0087]圖13是本發(fā)明實(shí)施例提供的交換機(jī)設(shè)備的另一結(jié)構(gòu)示意圖;[0088]圖14是本發(fā)明實(shí)施例提供的SDN系統(tǒng)的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】[0089]本發(fā)明實(shí)施例提供了一種軟件定義網(wǎng)絡(luò)SDN的自動配置方法、設(shè)備及系統(tǒng),用于提高交換機(jī)的控制器配置效率。[0090]參見圖3,本發(fā)明實(shí)施例提供的一種SDN的自動配置方法,包括:[0091]S301、任一控制器確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址。[0092]具體的,控制器根據(jù)控制器集群管理軟件的指示,確定自身成為主控制或從屬控制器。目前使用的控制器集群管理軟件名為zooke印er,用于對控制器集群進(jìn)行管理。每個(gè)控制器都預(yù)裝有zookeeper,控制器之間通過zookeeper進(jìn)行選舉以確定主控制器以及從屬控制器。[0093]每個(gè)控制器中預(yù)先配置有一個(gè)相同的IP地址,該IP地址僅在控制器被選舉為主控制器時(shí)使用,控制器為從屬控制器時(shí)不使用該IP地址,同時(shí),各個(gè)交換機(jī)也會預(yù)先配置該IP地址,這樣,不論哪個(gè)控制器為主控制器,交換機(jī)都能夠通過該IP地址向主控制器發(fā)送消息,建立與主控制器的聯(lián)系。[0094]S302、當(dāng)所述任一控制器接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0095]具體的,主控制器在接收到交換機(jī)發(fā)送的分配控制器的請求時(shí),能夠通過解析請求消息獲取到發(fā)送方交換機(jī)的IP地址,在確定分配給該交換機(jī)的控制器之后,通過所獲取的發(fā)送方交換機(jī)的IP地址將分配結(jié)果指示給該交換機(jī)。[0096]本發(fā)明實(shí)施例,實(shí)現(xiàn)了由主控制器自動為各個(gè)交換機(jī)分配控制器,提升了交換機(jī)的配置效率。對于沒有發(fā)送分配控制器請求的交換機(jī),可能未啟動,也可能已分配到控制器,主控制器不需要進(jìn)行分配。[0097]較佳的,步驟S302中所述任一控制器確定分配給該交換機(jī)的控制器,包括:所述任一控制器確定當(dāng)前各個(gè)控制器的負(fù)載狀況;所述任一控制器根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。根據(jù)控制器的負(fù)載狀況為交換機(jī)分配控制器,能夠均衡各個(gè)控制器的負(fù)載,有效利用資源,提高網(wǎng)絡(luò)工作效率。一種可能的具體分配方式是,根據(jù)控制器當(dāng)前管理的交換機(jī)的數(shù)目確定各個(gè)控制器的分配優(yōu)先級,其中,當(dāng)前管理的交換機(jī)的數(shù)目最少的控制器的分配優(yōu)先級最高,按照分配優(yōu)先級為交換機(jī)分配控制器。[0098]較佳的,步驟S302中確定的分配給該交換機(jī)的控制器,包括:分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。為交換機(jī)分配兩個(gè)控制器是一種典型的分配方案,但是本發(fā)明實(shí)施例也可以為交換機(jī)分配一個(gè)控制器或兩個(gè)以上控制器。[0099]較佳的,步驟S302中接收交換機(jī)發(fā)送的分配控制器的請求,包括:接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。交換機(jī)在初始接入SDN網(wǎng)絡(luò)時(shí),沒有配置任何控制器,向主控制器請求分配控制器;當(dāng)交換機(jī)在運(yùn)行過程中,發(fā)現(xiàn)已分配的控制器先后失效時(shí),則重新向主控制器請求分配控制器。可見,由主控制器為交換機(jī)分配控制器的方法,相比于人工為交換機(jī)配置控制器的方法,能夠及時(shí)地在交換機(jī)已分配的控制器均發(fā)生故障時(shí)進(jìn)行處理,效率更高,網(wǎng)絡(luò)容錯(cuò)能力更強(qiáng),提升了SDN的魯棒性。[0100]較佳的,該方法還包括:所述任一控制器確定自身成為從屬控制器時(shí),停用所述IP地址。具體的,控制器在確定自身發(fā)生故障時(shí)確定自身成為從屬控制器,或者,控制器根據(jù)所述控制器集群管理軟件的指示確定自身成為從屬控制器。以使用zookeeper進(jìn)行控制器集群管理的場景為例,各個(gè)控制器的zookeeper軟件之間交互信息,確定原主控制器失去大多數(shù)控制器的支持,或者確定原主控制器發(fā)生故障失去聯(lián)系,則重新發(fā)起選舉確定新的主控制器,新確定的主控制器啟用主控制器需要使用的IP地址,而原主控制器成為從屬控制器,不再使用該IP地址。這樣,所有控制器可以看作一個(gè)整體,主控制器的變化對交換機(jī)是不可見的,交換機(jī)不需要因?yàn)橹骺刂破髯兏M(jìn)行任何操作,仍然通過主控制器需要使用的IP地址與主控制器進(jìn)行通信,提升了網(wǎng)絡(luò)的工作效率。[0101]較佳的,該方法還包括:所述任一控制器接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。應(yīng)用層設(shè)備用于向控制器下發(fā)流表,對控制器的流表進(jìn)行管理等,以及對主控制器進(jìn)行配置、管理,因此,應(yīng)用層設(shè)備需要能夠確定主控制器并與主控制器通信。與交換機(jī)類似,應(yīng)用層設(shè)備中預(yù)先配置有主控制器需要使用的IP地址,應(yīng)用層設(shè)備能夠通過該IP地址與主控制器進(jìn)行通信,主控制器的選舉結(jié)果以及主控制器的變更不會對應(yīng)用層設(shè)備產(chǎn)生任何影響,提升了網(wǎng)絡(luò)的工作效率。[0102]參見圖4,本發(fā)明實(shí)施例提供的一種SDN的自動配置方法,包括:[0103]S401、交換機(jī)發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址。[0104]S402、所述交換機(jī)接收任一成為主控制器的控制器返回的用于指示分配給所述交換機(jī)的控制器的消息。[0105]S403、所述交換機(jī)根據(jù)接收的消息,配置所述主控制器分配的控制器。[0106]這樣,由主控制器自動為交換機(jī)分配控制器,相比于人工在交換機(jī)中輸入該交換機(jī)配置的控制器,提升了交換機(jī)的配置效率。[0107]較佳的,分配給交換機(jī)的控制器,包括:主控控制器和輔助控制器;輔助控制器用于當(dāng)主控控制器故障時(shí),接替主控控制器對本交換機(jī)進(jìn)行管理。[0108]較佳的,交換機(jī)發(fā)送分配控制器的請求,包括:[0109]交換機(jī)在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0110]交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0111]下面結(jié)合具體的應(yīng)用場景,對本發(fā)明實(shí)施例提供的方法進(jìn)行說明。[0112]為了能夠在現(xiàn)有的SDN中應(yīng)用本發(fā)明實(shí)施例提供的方法,每個(gè)控制器上配置了一個(gè)相同的稱作浮動(floating)IP的IP地址,并添加了作為主控制器時(shí)為交換機(jī)分配控制器的相應(yīng)程序,每個(gè)交換機(jī)上添加一個(gè)代理(agent)程序,用于與主控制器進(jìn)行控制器分配相關(guān)的通信,代理程序中也需要預(yù)先配置浮動IP地址。任一時(shí)刻,SDN內(nèi)僅有主控制器在使用浮動IP地址。[0113]參見圖5,SDN環(huán)境的部署流程包括:[0114]S501、在應(yīng)用層設(shè)備安裝應(yīng)用層功能軟件,并配置控制器的浮動IP信息用于后續(xù)業(yè)務(wù)通信;[0115]S502、在各控制器安裝控制器功能軟件,并為每個(gè)控制器配置同一浮動IP,初始浮動IP為推下(down)狀態(tài)即未使用狀態(tài);[0116]S503、安裝zookeeper,zookeeper運(yùn)行后開始管理控制器集群;[0117]S504、zookeeper發(fā)起主控制器選舉,主控制器的浮動IP為拉起(up)狀態(tài)即使用狀態(tài),從屬控制器的浮動IP保持為down狀態(tài);[0118]S505、在各交換機(jī)安裝交換機(jī)功能軟件,并在交換機(jī)的代理程序中配置浮動IP的信息;[0119]S506、交換機(jī)觸發(fā)代理程序利用配置的浮動IP與控制器集群通信,獲取需要接入的控制器的信息;[0120]S507、主控制器收到代理程序發(fā)來的請求后,為交換機(jī)分配需要接入的控制器;[0121]S508、代理程序接收返回的信息,為交換機(jī)配置控制器。[0122]參見圖6,是SDN中交換機(jī)和控制器的消息流示意圖;代理程序使用浮動IP向主控制器請求分配接入的控制器,主控制器指示交換機(jī)配置分配的控制器,分配結(jié)果如圖7所示。[0123]參見圖8,控制器集群的重新選舉的流程包括:[0124]S801、主控制器故障或者失去大多數(shù)從屬控制器支持;[0125]S802、zookeeper發(fā)起主控制器重新選舉;[0126]S803、新的主控制器浮動IP轉(zhuǎn)為up狀態(tài),原主控制器成為從屬控制器,浮動IP轉(zhuǎn)為down狀態(tài)。[0127]參見圖9,交換機(jī)連接的控制器的故障處理流程包括:[0128]S901、網(wǎng)絡(luò)故障或者主控控制器進(jìn)程異常,交換機(jī)確定和主控控制器的連接中斷;[0129]S902、交換機(jī)切換到輔助控制器上進(jìn)行業(yè)務(wù)處理;[0130]S903、網(wǎng)絡(luò)故障或者輔助控制器進(jìn)程異常,交換機(jī)確定和輔助控制器的連接中斷;[0131]S904、控制器觸發(fā)代理程序通過浮動IP與控制器集群中的主控制器通信,重新獲取接入的控制器信息;[0132]S905、主控制器為交換機(jī)重新分配接入的控制器。[0133]參見圖10、本發(fā)明實(shí)施例提供的一種控制器設(shè)備包括:[0134]IP地址啟用單元1001,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0135]分配指示單元1002,用于當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0136]較佳的,所述分配指示單元1002用于確定分配給該交換機(jī)的控制器時(shí),具體用于:[0137]確定當(dāng)前各個(gè)控制器的負(fù)載狀況;[0138]根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。[0139]較佳的,所述分配指示單元1002確定的分配給該交換機(jī)的控制器,包括:[0140]分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。[0141]較佳的,所述分配指示單元1002用于接收交換機(jī)發(fā)送的分配控制器的請求時(shí),具體用于:[0142]接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,[0143]接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。[0144]較佳的,該設(shè)備還包括:[0145]IP地址停用單元,用于確定自身成為從屬控制器時(shí),停用所述IP地址。[0146]較佳的,該設(shè)備還包括:[0147]應(yīng)用層通信單元,用于接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。[0148]需要說明的是,該實(shí)施例的控制器設(shè)備是為實(shí)現(xiàn)上述步驟S301-S302的,上述的對方法的解釋和限定同樣適用于本實(shí)施例的控制器設(shè)備。[0149]參見圖11,本發(fā)明實(shí)施例提供的一種交換機(jī)設(shè)備包括:[0150]請求發(fā)送單元1101,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;[0151]消息接收單元1102,用于接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;[0152]配置單元1103,用于根據(jù)接收的消息,配置所述主控制器分配的控制器。[0153]較佳的,所述消息接收單元1102接收的消息所指示的分配給本交換機(jī)的控制器,包括:[0154]主控控制器和輔助控制器;輔助控制器用于當(dāng)主控控制器故障時(shí),接替主控控制器對本交換機(jī)進(jìn)行管理。[0155]較佳的,所述請求發(fā)送單元1101,具體用于:[0156]在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0157]在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0158]需要說明的是,該實(shí)施例的交換機(jī)設(shè)備是為實(shí)現(xiàn)上述步驟S401-S403的,上述的對方法的解釋和限定同樣適用于本實(shí)施例的交換機(jī)設(shè)備。[0159]參見圖12,本發(fā)明實(shí)施例提供的一種控制器設(shè)備包括:[0160]處理器1201,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器;[0161]傳輸裝置1202,用于接收任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求,以及向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。[0162]較佳的,所述處理器1201用于確定分配給該交換機(jī)的控制器時(shí),具體用于:[0163]確定當(dāng)前各個(gè)控制器的負(fù)載狀況;[0164]根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。[0165]較佳的,所述處理器1201確定的分配給該交換機(jī)的控制器,包括:[0166]分配給該交換機(jī)的主控控制器和輔助控制器,輔助控制器用于當(dāng)主控控制器故障時(shí),接替主控控制器對該交換機(jī)進(jìn)行管理。[0167]較佳的,所述傳輸裝置1202用于接收交換機(jī)發(fā)送的分配控制器的請求時(shí),具體用于:[0168]接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,[0169]接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。[0170]較佳的,所述處理器1201還用于確定自身成為從屬控制器時(shí),停用所述IP地址。[0171]較佳的,所述傳輸裝置1202還用于接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。[0172]參見圖13,本發(fā)明實(shí)施例提供的一種交換機(jī)設(shè)備,包括:[0173]傳輸裝置1301,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;[0174]處理器1302,用于根據(jù)接收的消息,配置所述主控制器分配的控制器。[0175]較佳的,所述傳輸裝置1301接收的消息所指示的分配給本交換機(jī)的控制器,包括:[0176]主控控制器和輔助控制器;輔助控制器用于當(dāng)主控控制器故障時(shí),接替主控控制器對本交換機(jī)進(jìn)行管理。[0177]較佳的,所述傳輸裝置1301用于發(fā)送分配控制器的請求時(shí),具體用于:[0178]在初始接入時(shí)發(fā)送分配控制器的請求;或者,[0179]在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。[0180]參見圖14,本發(fā)明實(shí)施例提供的一種SDN系統(tǒng),包括:由多個(gè)控制器1401組成的控制器集群,以及交換機(jī)1402;[0181]所述控制器1401,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息;[0182]所述交換機(jī)1402,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;根據(jù)接收的消息,配置所述主控制器分配的控制器。[0183]綜上所述,本發(fā)明實(shí)施例提供了一種SDN的自動配置方法、設(shè)備及系統(tǒng),通過在網(wǎng)絡(luò)中定義預(yù)設(shè)IP,使得控制器集群對于應(yīng)用層設(shè)備和交換機(jī)而言是一個(gè)整體,應(yīng)用層設(shè)備和交換機(jī)不需要區(qū)分哪個(gè)控制器是主控制器,實(shí)現(xiàn)了由主控制器自動為各個(gè)交換機(jī)分配控制器,提升了交換機(jī)的配置效率,提升了系統(tǒng)的魯棒性;并且,在主控制器變更時(shí)應(yīng)用層設(shè)備和交換機(jī)不受影響,提聞了網(wǎng)絡(luò)效率。[0184]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。[0185]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。[0186]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。[0187]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。[0188]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)?!緳?quán)利要求】1.一種軟件定義網(wǎng)絡(luò)SDN的自動配置方法,其特征在于,該方法包括:任一控制器確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)所述任一控制器接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。2.如權(quán)利要求1所述的方法,其特征在于,所述任一控制器確定分配給該交換機(jī)的控制器,包括:所述任一控制器確定當(dāng)前各個(gè)控制器的負(fù)載狀況;所述任一控制器根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。3.如權(quán)利要求1或2所述的方法,其特征在于,所述分配給該交換機(jī)的控制器,包括:分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。4.如權(quán)利要求1所述的方法,其特征在于,接收交換機(jī)發(fā)送的分配控制器的請求,包括:接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。5.如權(quán)利要求1所述的方法,其特征在于,該方法還包括:所述任一控制器確定自身成為從屬控制器時(shí),停用所述IP地址。6.如權(quán)利要求1所述的方法,其特征在于,該方法還包括:所述任一控制器接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消肩、O7.一種軟件定義網(wǎng)絡(luò)SDN的自動配置方法,其特征在于,該方法包括:交換機(jī)發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;所述交換機(jī)接收任一成為主控制器的控制器返回的用于指示分配給所述交換機(jī)的控制器的消息;所述交換機(jī)根據(jù)接收的消息,配置所述主控制器分配的控制器。8.如權(quán)利要求7所述的方法,其特征在于,所述交換機(jī)發(fā)送分配控制器的請求,包括:所述交換機(jī)在初始接入時(shí)發(fā)送分配控制器的請求;或者,所述交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。9.一種控制器設(shè)備,其特征在于,該設(shè)備包括:IP地址啟用單元,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;分配指示單元,用于當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息。10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配指示單元用于確定分配給該交換機(jī)的控制器時(shí),具體用于:確定當(dāng)前各個(gè)控制器的負(fù)載狀況;根據(jù)所述當(dāng)前各個(gè)控制器的負(fù)載狀況,確定分配給該交換機(jī)的控制器。11.如權(quán)利要求9或10所述的設(shè)備,其特征在于,所述分配指示單元確定的分配給該交換機(jī)的控制器,包括:分配給該交換機(jī)的主控控制器和輔助控制器,所述輔助控制器用于當(dāng)所述主控控制器故障時(shí),接替所述主控控制器對該交換機(jī)進(jìn)行管理。12.如權(quán)利要求9所述的設(shè)備,其特征在于,所述分配指示單元用于接收交換機(jī)發(fā)送的分配控制器的請求包括:所述分配指示單元接收交換機(jī)在初次接入時(shí)發(fā)送的分配控制器的請求;或者,所述分配指示單元接收交換機(jī)在確定分配到的控制器均失效時(shí)發(fā)送的分配控制器的請求。13.如權(quán)利要求9所述的設(shè)備,其特征在于,該設(shè)備還包括:IP地址停用單元,用于確定自身成為從屬控制器時(shí),停用所述IP地址。14.如權(quán)利要求9所述的設(shè)備,其特征在于,該設(shè)備還包括:應(yīng)用層通信單元,用于接收應(yīng)用層設(shè)備將所述IP地址作為目的地址發(fā)送的控制器管理消息。15.—種交換機(jī)設(shè)備,其特征在于,該`設(shè)備包括:請求發(fā)送單元,用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;消息接收單元,用于接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;配置單元,用于根據(jù)接收的消息,配置所述主控制器分配的控制器。16.如權(quán)利要求15所述的設(shè)備,其特征在于,所述請求發(fā)送單元,具體用于:在初始接入時(shí)發(fā)送分配控制器的請求;或者,在確定分配到的控制器均失效時(shí)發(fā)送分配控制器的請求。17.一種軟件定義網(wǎng)絡(luò)SDN系統(tǒng),包括:由多個(gè)控制器組成的控制器集群,以及交換機(jī),其特征在于,所述控制器,用于確定自身成為主控制器時(shí),啟用用于當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;當(dāng)接收到任一交換機(jī)將所述IP地址作為目的地址發(fā)送的分配控制器的請求時(shí),確定分配給該交換機(jī)的控制器,并向該交換機(jī)發(fā)送用于指示分配給該交換機(jī)的控制器的消息;所述交換機(jī),用于發(fā)送分配控制器的請求,該請求消息中攜帶的目的地址為當(dāng)任一控制器成為主控制器時(shí)需要使用的IP地址;接收任一成為主控制器的控制器返回的用于指示分配給本交換機(jī)的控制器的消息;根據(jù)接收的消息,配置所述主控制器分配的控制器。【文檔編號】H04L12/24GK103618621SQ201310594163【公開日】2014年3月5日申請日期:2013年11月21日優(yōu)先權(quán)日:2013年11月21日【發(fā)明者】張習(xí)通申請人:華為技術(shù)有限公司