一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng),該方法包括:控制器計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò);OpenFlow交換機(jī)接收控制器下發(fā)的流表控制命令,并根據(jù)流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置;OpenFlow交換機(jī)接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對數(shù)據(jù)包進(jìn)行處理,輸出需要轉(zhuǎn)發(fā)的DHCP數(shù)據(jù)包;OpenFlow交換機(jī)將DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。本發(fā)明實現(xiàn)了多重虛擬覆蓋網(wǎng)絡(luò)內(nèi)接入主機(jī)的集中動態(tài)配置,提高了網(wǎng)絡(luò)效率,解決了軟件定義網(wǎng)絡(luò)中多重虛擬覆蓋網(wǎng)導(dǎo)至網(wǎng)絡(luò)復(fù)雜度提高帶來的問題。
【專利說明】—種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng)。
【背景技術(shù)】
[0002]動態(tài)主機(jī)設(shè)置協(xié)定(DynamicHost Configurat1n Protocol, DHCP)是一種使網(wǎng)絡(luò)管理員能夠集中管理和自動分配IP網(wǎng)絡(luò)地址的通信協(xié)議,使用m)P (User DatagramProtocol,用戶數(shù)據(jù)報協(xié)議)協(xié)議工作,主要有兩個用途:使內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址給用戶;給內(nèi)部網(wǎng)絡(luò)管理員作為對所有電腦作中央管理的手段。在IP網(wǎng)絡(luò)中,每個連接Internet的設(shè)備都需要分配唯一的IP地址。DHCP使網(wǎng)絡(luò)管理員能從中心結(jié)點監(jiān)控和分配IP地址。當(dāng)某臺計算機(jī)移到網(wǎng)絡(luò)中的其它位置時,能自動收到新的IP地址。隨著企業(yè)主機(jī)數(shù)量的增多,越來越多的企業(yè)開始采用DHCP的形式來動態(tài)的分配IP地址。采用DHCP服務(wù)器來管理企業(yè)網(wǎng)絡(luò)的IP地址,優(yōu)勢是很明顯的,如可以有效的避免IP地址的沖突問題,可以省去手工配置相關(guān)網(wǎng)絡(luò)參數(shù)的麻煩。
[0003]軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)是一種新型網(wǎng)絡(luò)架構(gòu),其核心技術(shù)OpenFlow通過將網(wǎng)絡(luò)設(shè)備控制面與數(shù)據(jù)面分離開來,從而實現(xiàn)了網(wǎng)絡(luò)流量的靈活控制,為核心網(wǎng)絡(luò)及應(yīng)用的創(chuàng)新提供了良好的平臺。在SDN的開放架構(gòu)下,一定范圍內(nèi)的網(wǎng)絡(luò)(SDN域)由集中統(tǒng)一的控制邏輯單元來實施管理,由此解決了網(wǎng)絡(luò)中大量設(shè)備分散獨立運行管理的問題,使得網(wǎng)絡(luò)的設(shè)計、部署、運維、管理在一個控制點完成,而底層網(wǎng)絡(luò)差異性也因為解耦合的架構(gòu)得到了消除。集中控制在網(wǎng)絡(luò)中引入了 SDN區(qū)別于傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的角色——SDN控制器,也就是運行SDN網(wǎng)絡(luò)操作系統(tǒng)并控制所有網(wǎng)絡(luò)節(jié)點的控制單元。SDN能夠提供網(wǎng)絡(luò)應(yīng)用的接口,在此基礎(chǔ)上按照業(yè)務(wù)需求進(jìn)行軟件設(shè)計與編程,并且是在SDN控制器上加載,從而使得全網(wǎng)迅速升級新的網(wǎng)絡(luò)功能,而不必再對每個網(wǎng)元節(jié)點進(jìn)行獨立操作。
[0004]在軟件定義網(wǎng)絡(luò)中,一般通過控制器對網(wǎng)絡(luò)進(jìn)行虛擬化,允許網(wǎng)絡(luò)共享相同的物理鏈路和路由器等物理資源,為各種各樣的虛擬網(wǎng)請求分配合適的虛擬資源,實現(xiàn)了資源共享。這種網(wǎng)絡(luò)虛擬化方式,在軟件定義網(wǎng)絡(luò)中實現(xiàn)了多重虛擬覆蓋網(wǎng),提高基礎(chǔ)設(shè)施資源利用率,然而也相應(yīng)提高了網(wǎng)絡(luò)復(fù)雜度。在軟件定義網(wǎng)絡(luò)的多重虛擬覆蓋網(wǎng)絡(luò)中,頻繁變化的虛擬覆蓋網(wǎng)使得對網(wǎng)絡(luò)的集中配置變得更加困難。如何實現(xiàn)對軟件定義網(wǎng)絡(luò)的多重虛擬覆蓋網(wǎng)絡(luò)內(nèi)接入主機(jī)的集中動態(tài)配置,已經(jīng)成為本領(lǐng)域技術(shù)人員亟待解決的技術(shù)課題。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中多重虛擬覆蓋網(wǎng)絡(luò)內(nèi)接入的主機(jī)無法集中動態(tài)配置的問題。
[0006]為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng)。
[0007]—種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法包括:控制器計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離。
[0008]優(yōu)選地,所述虛擬網(wǎng)絡(luò)配置包括:控制器為每個OpenFlow交換機(jī)生成的虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源;控制器為每個OpenFlow交換機(jī)生成的流表控制命令;控制器為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置的IP地址。
[0009]優(yōu)選地,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法還包括:所述控制器在關(guān)鍵OpenFlow交換機(jī)上進(jìn)行DHCP中繼設(shè)置,使與所述控制器位于不同虛擬網(wǎng)絡(luò)中的DHCP消息通過所述關(guān)鍵OpenFlow交換機(jī)正常傳遞至所述控制器;所述DHCP中繼設(shè)置包括在所述關(guān)鍵OpenFlow交換機(jī)的流表中配置匹配UDP協(xié)議的67和68端口的規(guī)則。
[0010]一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法包括:0penFlOW交換機(jī)接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置;0penFlow交換機(jī)接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行處理,輸出需要轉(zhuǎn)發(fā)的DHCP數(shù)據(jù)包;0penFlOW交換機(jī)將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
[0011]優(yōu)選地,所述OpenFlow交換機(jī)對數(shù)據(jù)包進(jìn)行處理的過程包括:找到流表中優(yōu)先級最高的流條目完成對數(shù)據(jù)包的匹配;根據(jù)數(shù)據(jù)包匹配到的流條目增刪改指令集,包括修改數(shù)據(jù)包、更新數(shù)據(jù)包的匹配域、更新動作集合、更新傳遞給下一個流表的元數(shù)據(jù);將匹配的數(shù)據(jù)包和動作集發(fā)送給下一個流表,或者執(zhí)行動作集合。
[0012]優(yōu)選地,所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口。
[0013]優(yōu)選地,所述OpenFlow交換機(jī)通過物理端口或者虛擬端口將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
[0014]一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng),所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng)包括:控制器,計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離;0penFlOW交換機(jī),與所述控制器通信相連,接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置;接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行處理獲得DHCP數(shù)據(jù)包,并將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
[0015]優(yōu)選地,所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口。
[0016]優(yōu)選地,所述控制器包括:虛擬網(wǎng)絡(luò)配置模塊,為每個OpenFlow交換機(jī)生成虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源,為每個OpenFlow交換機(jī)生成流表控制命令;主機(jī)配置模塊,為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置IP地址。
[0017]如上所述,本發(fā)明所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法及系統(tǒng),具有以下有益效果:
[0018]本發(fā)明實現(xiàn)了多重虛擬覆蓋網(wǎng)絡(luò)內(nèi)接入主機(jī)的集中動態(tài)配置,提高了網(wǎng)絡(luò)效率,解決了軟件定義網(wǎng)絡(luò)中多重虛擬覆蓋網(wǎng)導(dǎo)至網(wǎng)絡(luò)復(fù)雜度提高帶來的問題。
【專利附圖】
【附圖說明】
[0019]圖1為本發(fā)明所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法的流程示意圖。
[0020]圖2為本發(fā)明所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法的一種【具體實施方式】示意圖。
[0021]圖3為本發(fā)明的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng)的結(jié)構(gòu)示意圖。
[0022]元件標(biāo)號說明
[0023]210控制器
[0024]211虛擬網(wǎng)絡(luò)配置模塊
[0025]212主機(jī)配置模塊
[0026]220OpenFlow 交換機(jī)
[0027]221流表
[0028]222內(nèi)部通道
[0029]223轉(zhuǎn)發(fā)面
[0030]S201 ?S209 步驟
【具體實施方式】
[0031]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0032]請參閱附圖。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0033]下面結(jié)合實施例和附圖對本發(fā)明進(jìn)行詳細(xì)說明。
[0034]實施例
[0035]本實施例提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,如圖1所示,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法包括:
[0036]控制器利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離。其中,所述虛擬網(wǎng)絡(luò)配置包括:控制器為每個OpenFlow交換機(jī)生成的虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源;控制器為每個OpenFlow交換機(jī)生成的流表控制命令;控制器為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置的IP地址。虛擬網(wǎng)絡(luò)的劃分規(guī)則為:可使用交換機(jī)端口、源/目的以太網(wǎng)地址或者類型、源/目的IP地址或者類型、源/目的TCP/UDP端口或ICMP代碼/類型的任意組合。
[0037]由于多個虛擬網(wǎng)絡(luò)的存在,控制器和主機(jī)可能不在同一虛擬網(wǎng)絡(luò)中。當(dāng)兩者在不同虛擬網(wǎng)絡(luò)中時,由于隔離機(jī)制的作用,DHCP客戶機(jī)(即主機(jī))發(fā)送的DHCP廣播消息將無法送達(dá)控制器。為此,本發(fā)明通過在關(guān)鍵OpenFlow交換機(jī)上進(jìn)行DHCP中繼,使DHCP消息實現(xiàn)正常傳遞。根據(jù)DHCP協(xié)議標(biāo)準(zhǔn),DHCP服務(wù)器端使用UDP協(xié)議的67端口,而DHCP客戶端使用UDP協(xié)議的68端口。因此,控制器在關(guān)鍵OpenFlow交換機(jī)流表中還需要配置匹配UDP協(xié)議的67和68端口的規(guī)則,以使交換機(jī)可將DHCP數(shù)據(jù)包按照規(guī)則轉(zhuǎn)發(fā)到控制器或者主機(jī)。
[0038]進(jìn)一步,所述控制器在關(guān)鍵OpenFlow交換機(jī)上進(jìn)行DHCP中繼設(shè)置,使與所述控制器位于不同虛擬網(wǎng)絡(luò)中的DHCP消息通過所述關(guān)鍵OpenFlow交換機(jī)正常傳遞至所述控制器;所述DHCP中繼設(shè)置包括在所述關(guān)鍵OpenFlow交換機(jī)的流表中配置匹配UDP協(xié)議的67和68端口的規(guī)則。本發(fā)明利用OpenFlow協(xié)議使控制器將虛擬網(wǎng)絡(luò)和主機(jī)配置的規(guī)則下發(fā)給OpenFlow交換機(jī);0penFlow交換機(jī)對接收到的數(shù)據(jù)包進(jìn)行規(guī)則匹配,當(dāng)數(shù)據(jù)包能夠匹配主機(jī)配置的DHCP中繼規(guī)則時,所述交換機(jī)對數(shù)據(jù)包執(zhí)行轉(zhuǎn)發(fā),從而實現(xiàn)在不同虛擬網(wǎng)絡(luò)間的控制器和主機(jī)的交互;當(dāng)數(shù)據(jù)包只能匹配虛擬網(wǎng)絡(luò)規(guī)則時,則數(shù)據(jù)包僅能在當(dāng)前虛擬網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)。
[0039]OpenFlow交換機(jī)接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置。
[0040]OpenFlow交換機(jī)接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行處理,輸出需要轉(zhuǎn)發(fā)的DHCP數(shù)據(jù)包;其中,所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口。進(jìn)一步,所述OpenFlow交換機(jī)對數(shù)據(jù)包進(jìn)行處理的過程包括:找到流表中優(yōu)先級最高的流條目完成對數(shù)據(jù)包的匹配;根據(jù)數(shù)據(jù)包匹配到的流條目增刪改指令集,包括修改數(shù)據(jù)包、更新數(shù)據(jù)包的匹配域、更新動作集合、更新傳遞給下一個流表的元數(shù)據(jù);將匹配的數(shù)據(jù)包和動作集發(fā)送給下一個流表,或者執(zhí)行動作集合。具體地,所述OpenFlow交換機(jī)流表根據(jù)數(shù)據(jù)包屬性對數(shù)據(jù)包進(jìn)行處理,主要處理步驟:(I)匹配:找到流表中優(yōu)先級最高的流條目完成匹配,這將根據(jù)ingress port (數(shù)據(jù)包進(jìn)入的物理端口),包頭(packet header),以及有上一個流表指定的元數(shù)據(jù)(metadata)三類匹配域進(jìn)行。(2)指令(即每條流條目的執(zhí)行動作):根據(jù)匹配到的流條目增刪改指令集,包括修改包、更新包的匹配域、更新動作集合(act1n set)、更新傳遞給下一個流表的元數(shù)據(jù)(metadata) ; (3)發(fā)送:將匹配的數(shù)據(jù)和動作集發(fā)送給下一個流表,或者執(zhí)行動作集合(act1n set),如通過轉(zhuǎn)發(fā)面向特定端口發(fā)送數(shù)據(jù)包。
[0041]OpenFlow交換機(jī)將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。進(jìn)一步,所述OpenFlow交換機(jī)通過物理端口或者虛擬端口將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
[0042]本發(fā)明只需要在控制器中定義好主機(jī)配置規(guī)則,即可完成對所有物理和虛擬網(wǎng)絡(luò)中主機(jī)的配置,無需額外的DHCP設(shè)備,提高了網(wǎng)絡(luò)設(shè)備使用效率,解決了網(wǎng)絡(luò)復(fù)雜度提高帶來的問題。
[0043]本實施例提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法的具體實現(xiàn)過程,如圖2所示,包括:
[0044]S301,控制器的虛擬網(wǎng)絡(luò)模塊計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,即為每個OpenFlow交換機(jī)生成需要虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),虛擬網(wǎng)絡(luò)之間相互隔離,避免相互影響。控制器利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置。
[0045]S302,主機(jī)廣播發(fā)送DHCP Discover消息。主機(jī)在物理子網(wǎng)上發(fā)送廣播來尋找可用的服務(wù)器。主機(jī)生成一個目的地址為255.255.255.255或者一個子網(wǎng)廣播地址的UDP包。
[0046]S303, OpenFlow交換機(jī)轉(zhuǎn)發(fā)DHCP Discover消息給控制器。OpenFlow交換機(jī)收到DHCP Discover消息后,在流表中進(jìn)行規(guī)則匹配,根據(jù)步驟SlOl中預(yù)安裝的規(guī)則,可將該消息轉(zhuǎn)發(fā)給控制器。
[0047]S304,控制器回復(fù)DHCP Offers消息。當(dāng)控制器收到一個來自客戶的IP租約請求時,它會提供一個IP租約??刂破鳛榭蛻舯A粢粋€IP地址,然后通過網(wǎng)絡(luò)廣播一個DHCPOffers消息給主機(jī)。該DHCP Offers消息包含客戶的MAC地址、服務(wù)器提供的IP地址、子網(wǎng)掩碼、租期以及提供IP的控制器的IP地址。
[0048]S305, OpenFlow交換機(jī)轉(zhuǎn)發(fā)DHCP Offers 消息。OpenFlow交換機(jī)收到 DHCP Offers消息后,在流表中進(jìn)行規(guī)則匹配,根據(jù)步驟101中預(yù)安裝的規(guī)則,可將該DHCP Offers消息轉(zhuǎn)發(fā)給主機(jī)。
[0049]S306,當(dāng)主機(jī)收到一個IP租約提供時,它必須告訴控制器它已經(jīng)接受了一個租約提供。因此,該主機(jī)會發(fā)送一個DHCP Requests消息,該DHCP Requests消息中包含提供租約的控制器的IP地址。當(dāng)其他控制器收到了該消息后,它們的主機(jī)配置模塊會收回所有可能已提供給主機(jī)(客戶)的IP租約。然后它們把曾經(jīng)給主機(jī)(客戶)保留的那個地址重新放回到可用地址池中,這樣,它們就可以為其他計算機(jī)分配這個地址。任意數(shù)量的控制器都可以響應(yīng)同一個IP租約請求,但是每一個客戶網(wǎng)卡只能接受一個租約提供。
[0050]S307, OpenFlow 交換機(jī)轉(zhuǎn)發(fā) DHCP Requests 消息。OpenFlow 交換機(jī)收到 DHCPRequests消息后,在流表中進(jìn)行規(guī)則匹配,根據(jù)步驟101中預(yù)安裝的規(guī)則,可將該消息轉(zhuǎn)發(fā)給所有控制器。
[0051]S308,當(dāng)控制器收到來自主機(jī)(客戶M^DHCP Requests消息后,它就開始了配置過程的最后響應(yīng)階段,這個響應(yīng)階段包括發(fā)送一個DHCP ACK包給主機(jī)(客戶)。這個DHCP ACK包包含租期和客戶可能請求的其他所有配置信息。這時候,控制器的主機(jī)配置過程就完成了。
[0052]S309,OpenFlow 交換機(jī)轉(zhuǎn)發(fā) DHCP ACK 消息。OpenFlow 交換機(jī)收到 DHCP ACK 消息后,在流表中進(jìn)行規(guī)則匹配,根據(jù)步驟101中預(yù)安裝的規(guī)則,可將該DHCP ACK消息轉(zhuǎn)發(fā)給(客戶)主機(jī)。這樣,完成了整個動態(tài)配置過程。
[0053]本實施例還提供一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng),該系統(tǒng)可以實現(xiàn)上述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,但所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法的實現(xiàn)裝置包括但不限于本發(fā)明所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng)。
[0054]如圖3所示,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng)包括:控制器210和OpenFlow交換機(jī)220??刂破?10可通過OpenFlow協(xié)議對OpenFlow交換機(jī)進(jìn)行控制和管理;0penFlow交換機(jī)可接收來自外部的數(shù)據(jù)包,使用流表中記錄的規(guī)則匹配數(shù)據(jù)包并執(zhí)行動作,將無流表匹配規(guī)則的數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器。
[0055]其中,控制器210計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離。進(jìn)一步,所述控制器210包括:虛擬網(wǎng)絡(luò)配置模塊211和主機(jī)配置模塊212。所述虛擬網(wǎng)絡(luò)配置模塊211在整個物理網(wǎng)絡(luò)中劃分多重虛擬網(wǎng)絡(luò),為每個OpenFlow交換機(jī)生成虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源,為每個OpenFlow交換機(jī)生成流表控制命令,利用OpenFlow協(xié)議對OpenFlow交換機(jī)的流表進(jìn)行控制。主機(jī)配置模塊212為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置IP地址。
[0056]OpenFlow交換機(jī)220與所述控制器通信相連,通過OpenFlow協(xié)議接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置;所述OpenFlow交換機(jī)接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行匹配處理獲得需要進(jìn)行轉(zhuǎn)發(fā)的DHCP數(shù)據(jù)包,并通過內(nèi)部通道將所述DHCP數(shù)據(jù)包發(fā)送至轉(zhuǎn)發(fā)面,再由轉(zhuǎn)發(fā)面根據(jù)端口信息轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。其中,所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口等。其中,主機(jī)通常是通過廣播數(shù)據(jù)包的形式來尋找可用的服務(wù)器;所述數(shù)據(jù)包為UDP包。
[0057]進(jìn)一步,所述OpenFlow交換機(jī)220包括流表221、內(nèi)部通道222、轉(zhuǎn)發(fā)面223。流表221中記錄有數(shù)據(jù)包匹配規(guī)則,OpenFlow交換機(jī)220根據(jù)流表匹配出需要進(jìn)行中繼的DHCP數(shù)據(jù)包,并將DHCP數(shù)據(jù)包通過內(nèi)部通道發(fā)送至轉(zhuǎn)發(fā)面,再由轉(zhuǎn)發(fā)面轉(zhuǎn)發(fā)到特定的端口。所述OpenFlow交換機(jī)的內(nèi)部通道222用于從流表到轉(zhuǎn)發(fā)面之間傳遞數(shù)據(jù)包,通過轉(zhuǎn)發(fā)面可發(fā)送到對外端口,實現(xiàn)向控制器、其他交換機(jī)或主機(jī)的數(shù)據(jù)包轉(zhuǎn)發(fā)。所述OpenFlow交換機(jī)的轉(zhuǎn)發(fā)面223用于將數(shù)據(jù)包通過物理或者虛擬端口對外發(fā)送,實現(xiàn)向控制器、其他交換機(jī)或主機(jī)的數(shù)據(jù)包轉(zhuǎn)發(fā)。
[0058]由此可以實現(xiàn)軟件定義網(wǎng)絡(luò)中對接入主機(jī)的動態(tài)配置,只需要在控制器中定義好主機(jī)配置規(guī)則,即可完成對整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)的配置,無需額外的DHCP設(shè)備。
[0059]綜上所述,本發(fā)明提高了網(wǎng)絡(luò)設(shè)備的使用效率,解決了軟件定義網(wǎng)絡(luò)中多重虛擬網(wǎng)絡(luò)導(dǎo)致網(wǎng)絡(luò)復(fù)雜度提高帶來的問題。
[0060]本發(fā)明利用OpenFlow協(xié)議使控制器將虛擬網(wǎng)絡(luò)和主機(jī)配置的規(guī)則下發(fā)給OpenFlow交換機(jī);0penFlow交換機(jī)對接收到的數(shù)據(jù)包進(jìn)行規(guī)則匹配,當(dāng)數(shù)據(jù)包能夠匹配主機(jī)配置的DHCP中繼規(guī)則時,所述交換機(jī)對數(shù)據(jù)包執(zhí)行轉(zhuǎn)發(fā),從而實現(xiàn)在不同虛擬網(wǎng)絡(luò)間的控制器和主機(jī)的交互;當(dāng)數(shù)據(jù)包只能匹配虛擬網(wǎng)絡(luò)規(guī)則時,則數(shù)據(jù)包僅能在當(dāng)前虛擬網(wǎng)絡(luò)內(nèi)轉(zhuǎn)發(fā)。
[0061]本發(fā)明在多重虛擬網(wǎng)絡(luò)的軟件定義網(wǎng)絡(luò)中,實現(xiàn)了接入不同虛擬網(wǎng)絡(luò)的主機(jī)通過統(tǒng)一的控制器進(jìn)行動態(tài)配置,提高了網(wǎng)絡(luò)設(shè)備使用效率,解決了軟件定義網(wǎng)絡(luò)中多重虛擬覆蓋網(wǎng)導(dǎo)致網(wǎng)絡(luò)復(fù)雜度提高帶來的問題。
[0062]綜上所述,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點而具高度產(chǎn)業(yè)利用價值。
[0063]上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進(jìn)行修飾或改變。因此,舉凡所屬【技術(shù)領(lǐng)域】中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【權(quán)利要求】
1.一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法包括: 控制器利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離。
2.根據(jù)權(quán)利要求1所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于:所述虛擬網(wǎng)絡(luò)配置包括: 控制器為每個OpenFlow交換機(jī)生成的虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源; 控制器為每個OpenFlow交換機(jī)生成的流表控制命令; 控制器為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置的IP地址。
3.根據(jù)權(quán)利要求1所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法還包括:所述控制器在關(guān)鍵OpenFlow交換機(jī)上進(jìn)行DHCP中繼設(shè)置,使與所述控制器位于不同虛擬網(wǎng)絡(luò)中的DHCP消息通過所述關(guān)鍵OpenFlow交換機(jī)正常傳遞至所述控制器;所述DHCP中繼設(shè)置包括在所述關(guān)鍵OpenFlow交換機(jī)的流表中配置匹配UDP協(xié)議的67和68端口的規(guī)則。
4.一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法包括: OpenFlow交換機(jī)接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置; OpenFlow交換機(jī)接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行處理,輸出需要轉(zhuǎn)發(fā)的DHCP數(shù)據(jù)包; OpenFlow交換機(jī)將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
5.根據(jù)權(quán)利要求4所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于,所述OpenFlow交換機(jī)對數(shù)據(jù)包進(jìn)行處理的過程包括: 找到流表中優(yōu)先級最高的流條目完成對數(shù)據(jù)包的匹配; 根據(jù)數(shù)據(jù)包匹配到的流條目增刪改指令集,包括修改數(shù)據(jù)包、更新數(shù)據(jù)包的匹配域、更新動作集合、更新傳遞給下一個流表的元數(shù)據(jù); 將匹配的數(shù)據(jù)包和動作集合發(fā)送給下一個流表,或者執(zhí)行動作集合。
6.根據(jù)權(quán)利要求4所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于:所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口。
7.根據(jù)權(quán)利要求4所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置方法,其特征在于:所述OpenFlow交換機(jī)通過物理端口或者虛擬端口將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
8.一種軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng),其特征在于,所述軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng)包括: 至少I個控制器,計算整個物理網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)配置,利用OpenFlow協(xié)議向OpenFlow交換機(jī)發(fā)送虛擬網(wǎng)絡(luò)配置,從而在整個物理網(wǎng)絡(luò)中形成多個虛擬網(wǎng)絡(luò),各個虛擬網(wǎng)絡(luò)之間相互隔離; 至少I個OpenFlow交換機(jī),與所述控制器通信相連,接收控制器下發(fā)的流表控制命令,并根據(jù)所述流表控制命令對自身的流表進(jìn)行匹配規(guī)則配置;接收來自其他OpenFlow交換機(jī)或主機(jī)的數(shù)據(jù)包,并根據(jù)自身的流表記錄的匹配規(guī)則以及數(shù)據(jù)包的屬性對所述數(shù)據(jù)包進(jìn)行處理獲得DHCP數(shù)據(jù)包,并將所述DHCP數(shù)據(jù)包轉(zhuǎn)發(fā)給控制器、目的OpenFlow交換機(jī)或目的主機(jī)。
9.根據(jù)權(quán)利要求8所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng),其特征在于:所述數(shù)據(jù)包的屬性為OpenFlow協(xié)議指定的匹配域,包括物理進(jìn)入端口、MAC源地址、MAC目的地址、VLAN ID、VLAN優(yōu)先級、MPLS標(biāo)記、IP源地址、IP目的地址、TCP/UDP源端口、TCP/UDP目的端口。
10.根據(jù)權(quán)利要求8所述的軟件定義網(wǎng)絡(luò)中的動態(tài)主機(jī)配置系統(tǒng),其特征在于,所述控制器包括: 虛擬網(wǎng)絡(luò)配置模塊,為每個OpenFlow交換機(jī)生成虛擬的網(wǎng)絡(luò)節(jié)點以及分配資源,為每個OpenFlow交換機(jī)生成流表控制命令; 主機(jī)配置模塊,為整個物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)中的主機(jī)配置IP地址。
【文檔編號】H04L12/24GK104301129SQ201310296632
【公開日】2015年1月21日 申請日期:2013年7月16日 優(yōu)先權(quán)日:2013年7月16日
【發(fā)明者】褚靈偉, 董晨, 李捷, 鄭曉航, 陸肖元 申請人:上海寬帶技術(shù)及應(yīng)用工程研究中心