一種終端接入位置?;畹姆椒把b置制造方法
【專利摘要】本發(fā)明公開了一種終端接入位置?;畹姆椒ê脱b置,所述方法和裝置應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openflow網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備,Openflow交換機以及Openflow控制器。所述Openflow控制器通過周期性接收終端設(shè)備發(fā)送的ARP報文,及時更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,以實現(xiàn)對所述終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行保活,進而確保終端設(shè)備的接入位置記錄不會老化。
【專利說明】一種終端接入位置?;畹姆椒把b置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種基于Openflow網(wǎng)絡(luò)環(huán)境下終端接入位置?;畹姆椒把b置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)業(yè)務(wù)的不斷發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)對于在互聯(lián)網(wǎng)上部署的時間要求越來越短,比如幾年前一個業(yè)務(wù)部署往往需要幾個月的時間,而且還要花費大量的人力;現(xiàn)在一個互聯(lián)網(wǎng)業(yè)務(wù)可能會要求在投入少量人力的情況下,在幾天內(nèi)完成部署。如何快速部署一個互聯(lián)網(wǎng)業(yè)務(wù),這涉及到一些新的技術(shù),比如SDN (Software Defined Network,軟件定義網(wǎng)絡(luò)),在SDN定義的模型下,可以通過軟件的方式實現(xiàn)對業(yè)務(wù)的部署,從而減少人力投入,縮短工期。在眾多SDN技術(shù)中,OpenFlow是其中最具代表性的一種技術(shù)。
[0003]如圖1所示,為典型的OpenFlow組網(wǎng)結(jié)構(gòu)示意圖。在該網(wǎng)絡(luò)環(huán)境下,OpenFlow交換機除了彼此之間存在數(shù)據(jù)轉(zhuǎn)發(fā)鏈路(圖1所示的Openflow數(shù)據(jù)通道)外,還通過一條獨立的管理通道(圖1所示的Openflow管理通道)和OpenFlow控制器建立連接。當OpenFlow交換機收到報文后,會將報文上報給OpenFlow控制器,OpenFlow控制器經(jīng)過一定的計算,再告訴OpenFlow交換機如何處理該報文,是丟棄、限流、還是從哪個端口發(fā)送出去。比如圖1所示的Server2給Serverl發(fā)送一個ICMP請求報文時,完整的報文轉(zhuǎn)發(fā)過程如圖2所示,具體包括如下步驟:
[0004]步驟1、Server2 (MAC地址為MAC2)發(fā)送一個ICMP請求給Serverl (MAC地址為MACl),報文首先到達OpenFlow交換機Switch5 ;
[0005]步驟2、OpenFlow交換機Switch5將ICMP報文通過OpenFlow管理通道上報給OpenFlow控制器;
[0006]步驟3、OpenFlow控制器解析ICMP報文的目標MAC地址,通過查找終端接入位置記錄,發(fā)現(xiàn)MACl是從OpenFlow交換機Switch4上接入的;通過計算OpenFlow交換機Switch5和OpenFlow交換機Switch4之間的路徑,發(fā)現(xiàn)報文可以通過OpenFlow交換機Switch5的端口 ethl發(fā)送給OpenFlow交換機Switch4,于是OpenFlow控制器通過OpenFlow管理通道給OpenFlow交換機Switch5發(fā)送一條指令,要求將目標ICMP報文從端口 ethl發(fā)送出去;
[0007]步驟4、OpenFlow交換機Switch5根據(jù)OpenFlow控制器要求將報文從端口 ethl發(fā)送出去;
[0008]步驟5、OpenFlow交換機Switch2將ICMP報文通過OpenFlow管理通道上報給OpenFlow控制器;
[0009]步驟6、OpenFlow控制器收到報文后,按照和步驟3完全相同的處理,通過OpenFlow管理通道給OpenFlow交換機Switch2發(fā)送一條指令,要求將目標ICMP報文從端口 eth2發(fā)送出去;
[0010]步驟7、OpenFlow交換機Switch5根據(jù)OpenFlow控制器要求將報文從端口 eth2發(fā)送出去;
[0011]步驟8、OpenFlow交換機Switch4將ICMP報文通過OpenFlow管理通道上報給OpenFlow控制器;
[0012]步驟9、OpenFlow控制器解析ICMP報文的目標MAC地址,通過查找終端接入位置記錄,發(fā)現(xiàn)MACl是從OpenFlow交換機Switch4上接入的,即報文已經(jīng)到達目標交換機;由于終端接入位置記錄還記錄了 MACl是從端口 eth2接入的,于是OpenFlow控制器通過OpenFlow管理通道給OpenFlow交換機Switch4發(fā)送一條指令,要求將目標ICMP報文從端口 eth2發(fā)送出去;
[0013]步驟10、0penFlow交換機Switch4根據(jù)OpenFlow控制器要求將報文從端口 eth2發(fā)送出去,ICMP請求報文到達Serverl。
[0014]在上述轉(zhuǎn)發(fā)過程中,OpenFlow控制器參考了 一個重要的數(shù)據(jù)結(jié)構(gòu)“終端接入位置記錄”,如果終端接入位置記錄沒有目標MAC地址的相關(guān)信息,OpenFlow控制器則不得不將報文執(zhí)行泛洪(廣播)轉(zhuǎn)發(fā)。另一方面,如果終端接入位置記錄不準確,將會導(dǎo)致報文轉(zhuǎn)發(fā)錯誤。因此OpenFlow控制器需要對終端接入位置記錄進行正確維護。
[0015]OpenFlow控制器可以通過解析報文源MAC來增加終端接入位置記錄:如果OpenFlow交換機接收報文的端口沒有連接其它OpenFlow交換機,則認為解析得到的終端設(shè)備MAC地址從OpenFlow交換機接收端口接入。為了解決終端接入位置記錄中MAC地址對應(yīng)服務(wù)器發(fā)生位置遷移的問題,如果OpenFlow控制器長時間沒有收到終端接入位置記錄中MAC地址發(fā)送的報文(即報文的源MAC地址為終端接入位置記錄的MAC地址),則老化/刪除終端接入位置記錄的相關(guān)信息。
[0016]然而,在上面對終端接入位置記錄執(zhí)行老化處理的過程中,假如MACl對應(yīng)的服務(wù)器Serverl并沒有發(fā)生位置遷移,只是Serverl長時間沒有給外部發(fā)送報文,這將導(dǎo)致MACl在終端接入位置記錄的信息被錯誤的老化掉,以后發(fā)送給Serverl的報文不得不執(zhí)行廣播。如果OpenFlow網(wǎng)絡(luò)中存在大量類似設(shè)備,將會導(dǎo)致OpenFlow控制器大量發(fā)送廣播報文,影響整個網(wǎng)絡(luò)的轉(zhuǎn)發(fā)性能。
【發(fā)明內(nèi)容】
[0017]有鑒于此,本發(fā)明提供一種終端接入位置?;畹姆椒ê脱b置,以解決上述現(xiàn)有技術(shù)中存在的不足。
[0018]本發(fā)明是通過如下技術(shù)方案實現(xiàn)的:
[0019]一種終端接入位置?;畹姆椒?應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openf low網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備,Openflow交換機以及Openflow控制器,其中所述方法包括如下步驟:
[0020]步驟1、OpenFlow控制器接收終端設(shè)備的報文,更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄;
[0021]步驟2、周期性發(fā)送ARP請求報文,對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?;
[0022]步驟3、周期性老化終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
[0023]進一步地,所述步驟I中當OpenFlow控制器從報文中獲取源IP/MAC地址,進一步判斷報文在OpenFlow交換機上的輸入端口是否連接了其它的OpenFlow交換機,如果未連接,則更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
[0024]進一步地,所述更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,具體為:
[0025]步驟11、獲取源MAC地址及在OpenFlow交換機上的輸入端口,并在終端接入位置記錄中查找是否已經(jīng)存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、OpenFlow交換機IP地址及OpenFlow交換機端口新增一條終端接入位置記錄,時間等于當前時間。
[0026]步驟12、如果報文是ARP報文,獲取源IP/MAC地址,在終端設(shè)備的IP/MAC地址映射記錄中查找是否存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源IP/MAC地址新增一條終端設(shè)備的IP/MAC地址映射記錄,時間等于當前時間。
[0027]進一步地,所述步驟2具體包括:
[0028]步驟21、遍歷終端設(shè)備的IP/MAC地址映射記錄,對于每一條記錄,執(zhí)行步驟22 ;
[0029]步驟22、根據(jù)終端設(shè)備的IP/MAC地址映射記錄中包含的MAC在終端接入位置記錄中查找接入位置,如果查找不到,繼續(xù)執(zhí)行下一條記錄,否則執(zhí)行步驟23 ;
[0030]步驟23、根據(jù)步驟22獲取到的接入位置,構(gòu)造一個ARP請求報文,ARP目的IP為終端設(shè)備的IP地址、目標MAC為空、源IP地址為OpenFlow控制器本地的一個IP、源MAC地址為OpenFlow控制器本地的一個MAC,通過獲取到的接入位置發(fā)送出去;
[0031 ] 步驟24、接收來自終端設(shè)備的ARP響應(yīng)報文,對終端設(shè)備的IP/MAC地址映射記錄和終端接入位置記錄進行保活。
[0032]本發(fā)明還同時提供一種終端接入位置?;畹难b置,應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openflow網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備,Openflow交換機以及Openflow控制器,其中所述裝置具體為Openflow控制器,包括:
[0033]記錄更新模塊,用于接收終端設(shè)備的報文,并記錄更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置;
[0034]ARP報文發(fā)送模塊,用于周期性發(fā)送ARP請求報文,對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?;
[0035]老化模塊,用于周期性老化終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
[0036]進一步地,所述記錄更新模塊當從終端設(shè)備發(fā)送的報文中獲取源IP/MAC地址時,進一步判斷報文在OpenFlow交換機上的輸入端口是否連接了其它的OpenFlow交換機,如果未連接,則更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
[0037]進一步地,所述記錄更新模塊更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,具體為:
[0038]步驟11、獲取源MAC地址及在OpenFlow交換機上的輸入端口,并在終端接入位置記錄中查找是否已經(jīng)存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、OpenFlow交換機IP地址及OpenFlow交換機端口新增一條終端接入位置記錄,時間等于當前時間。[0039]步驟12、如果報文是ARP報文,獲取源IP/MAC地址,在終端設(shè)備的IP/MAC地址映射記錄中查找是否存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、源IP地址新增一條終端設(shè)備的IP/MAC地址映射記錄,時間等于當前時間。
[0040]進一步地,所述ARP報文請求模塊對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?,具體為:
[0041]步驟21、遍歷終端設(shè)備的IP/MAC地址映射記錄,對于每一條記錄,執(zhí)行步驟22 ;
[0042]步驟22、根據(jù)當前終端設(shè)備的IP/MAC地址映射記錄中包含的MAC在終端接入位置記錄中查找接入位置,如果查找不到,繼續(xù)執(zhí)行下一條記錄,否則執(zhí)行步驟23 ;
[0043]步驟23、根據(jù)步驟22獲取到的接入位置,構(gòu)造一個ARP請求報文,ARP目的IP為終端設(shè)備的IP地址、目標MAC為空、源IP地址為OpenFlow控制器本地的一個IP、源MAC地址為OpenFlow控制器本地的一個MAC,通過獲取到的接入位置發(fā)送出去;
[0044]步驟24、接收來自終端設(shè)備的ARP響應(yīng)報文,對終端設(shè)備的IP/MAC地址映射記錄和終端接入位置記錄進行保活。
[0045]與現(xiàn)有的技術(shù)相比,本發(fā)明Openflow控制器通過周期性接收終端設(shè)備發(fā)送的ARP報文,及時更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,以實現(xiàn)對所述終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行保活,進而確保終端設(shè)備的接入位置記錄不會老化。
【專利附圖】
【附圖說明】
[0046]圖1為現(xiàn)有典型的Openflow組網(wǎng)結(jié)構(gòu)示意圖。
[0047]圖2為圖1所示網(wǎng)絡(luò)環(huán)境下,Server2給Serverl發(fā)送ICMP請求報文的轉(zhuǎn)發(fā)流程圖。
[0048]圖3為本發(fā)明終端接入位置?;畹姆椒鞒淌疽鈭D。
[0049]圖4為某一應(yīng)用場景下本發(fā)明終端接入位置?;畹氖纠龍D。
[0050]圖5為本發(fā)明終端接入位置?;畹难b置結(jié)構(gòu)示意圖。
【具體實施方式】
[0051]為實現(xiàn)本發(fā)明目的,本發(fā)明采用的核心思想為:所述Openflow控制器通過周期性接收終端設(shè)備發(fā)送的ARP報文,及時更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,以實現(xiàn)對所述終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;睿M而確保終端設(shè)備的接入位置記錄不會老化。
[0052]為使本領(lǐng)域技術(shù)人員更加清楚和明白,以下結(jié)合附圖及實施例詳細說明本發(fā)明的具體實現(xiàn)方式。
[0053]如圖3所示,為本發(fā)明終端接入位置保活的方法流程示意圖。其中所述方法應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openf low網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備(通常為服務(wù)器),Openflow交換機以及Openflow控制器。所述方法包括如下步驟:
[0054]步驟1、OpenFlow控制器接收終端設(shè)備的報文,更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。[0055]在本發(fā)明中,終端設(shè)備的IP/MAC地址映射記錄如下(通常為ARP表):
[0056]
【權(quán)利要求】
1.一種終端接入位置?;畹姆椒?應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openflow網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備,Openflow交換機以及Openflow控制器,其特征在于,所述方法包括如下步驟: 步驟1、OpenFlow控制器接收終端設(shè)備的報文,更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄; 步驟2、周期性發(fā)送ARP請求報文,對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?; 步驟3、周期性老化終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟I中當OpenFlow控制器從報文中獲取源IP/MAC地址,進一步判斷報文在OpenFlow交換機上的輸入端口是否連接了其它的OpenFlow交換機,如果未連接,則更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,具體為: 步驟11、獲取源MAC地址及在OpenFlow交換機上的輸入端口,并在終端接入位置記錄中查找是否已 經(jīng)存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、OpenFlow交換機IP地址及OpenFlow交換機端口新增一條終端接入位置記錄,時間等于當前時間。 步驟12、如果報文是ARP報文,獲取源IP/MAC地址,在終端設(shè)備的IP/MAC地址映射記錄中查找是否存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源IP/MAC地址新增一條終端設(shè)備的IP/MAC地址映射記錄,時間等于當前時間。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟2具體包括: 步驟21、遍歷終端設(shè)備的IP/MAC地址映射記錄,對于每一條記錄,執(zhí)行步驟22 ; 步驟22、根據(jù)終端設(shè)備的IP/MAC地址映射記錄中包含的MAC在終端接入位置記錄中查找接入位置,如果查找不到,繼續(xù)執(zhí)行下一條記錄,否則執(zhí)行步驟23 ; 步驟23、根據(jù)步驟22獲取到的接入位置,構(gòu)造一個ARP請求報文,ARP目的IP為終端設(shè)備的IP地址、目標MAC為空、源IP地址為OpenFlow控制器本地的一個IP、源MAC地址為OpenFlow控制器本地的一個MAC,通過獲取到的接入位置發(fā)送出去; 步驟24、接收來自終端設(shè)備的ARP響應(yīng)報文,對終端設(shè)備的IP/MAC地址映射記錄和終端接入位置記錄進行保活。
5.—種終端接入位置?;畹难b置,應(yīng)用于Openflow網(wǎng)絡(luò)環(huán)境下,所述Openflow網(wǎng)絡(luò)環(huán)境中包括有運行具體應(yīng)用的終端設(shè)備,Openflow交換機以及Openflow控制器,其特征在于,所述裝置具體為Openflow控制器,包括: 記錄更新模塊,用于接收終端設(shè)備的報文,并記錄更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置; ARP報文發(fā)送模塊,用于周期性發(fā)送ARP請求報文,對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?; 老化模塊,用于周期性老化終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
6.如權(quán)利要求5所述的裝置,其特征在于,所述記錄更新模塊當從終端設(shè)備發(fā)送的報文中獲取源IP/MAC地址時,進一步判斷報文在OpenFlow交換機上的輸入端口是否連接了其它的OpenFlow交換機,如果未連接,則更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄。
7.如權(quán)利要求5或6所述的裝置,其特征在于,所述記錄更新模塊更新終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄,具體為: 步驟11、獲取源MAC地址及在OpenFlow交換機上的輸入端口,并在終端接入位置記錄中查找是否已經(jīng)存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、OpenFlow交換機IP地址及OpenFlow交換機端口新增一條終端接入位置記錄,時間等于當前時間。 步驟12、如果報文是ARP報文,獲取源IP/MAC地址,在終端設(shè)備的IP/MAC地址映射記錄中查找是否存在相應(yīng)記錄,如果存在,則將已存在記錄里的時間修改為當前時間;如果不存在,則根據(jù)獲取的源MAC地址、源IP地址新增一條終端設(shè)備的IP/MAC地址映射記錄,時間等于當前時間。
8.如權(quán)利要求5所述的裝置,其特征在于,所述ARP報文請求模塊對終端設(shè)備的IP/MAC地址映射記錄以及終端接入位置記錄進行?;?,具體為: 步驟21、遍歷終端設(shè)備的IP/MAC地址映射記錄,對于每一條記錄,執(zhí)行步驟22 ; 步驟22、根據(jù)當前終端設(shè)備的IP/MAC地址映射記錄中包含的MAC在終端接入位置記錄中查找接入位置,如果查找不到,繼續(xù)執(zhí)行下一條記錄,否則執(zhí)行步驟23 ; 步驟23、根據(jù)步驟 22獲取到的接入位置,構(gòu)造一個ARP請求報文,ARP目的IP為終端設(shè)備的IP地址、目標MAC為空、源IP地址為OpenFlow控制器本地的一個IP、源MAC地址為OpenFlow控制器本地的一個MAC,通過獲取到的接入位置發(fā)送出去; 步驟24、接收來自終端設(shè)備的ARP響應(yīng)報文,對終端設(shè)備的IP/MAC地址映射記錄和終端接入位置記錄進行?;?。
【文檔編號】H04W48/16GK103974380SQ201310030197
【公開日】2014年8月6日 申請日期:2013年1月24日 優(yōu)先權(quán)日:2013年1月24日
【發(fā)明者】曾勇剛, 田瑞利 申請人:杭州華三通信技術(shù)有限公司