本發(fā)明涉及通信技術領域,尤其涉及一種邊界端口的識別方法和設備。
背景技術:OpenFlow(新型網(wǎng)絡交換模型)是GENI(全球網(wǎng)絡創(chuàng)新環(huán)境)的一個研究主題,用于使科研人員在現(xiàn)有商用網(wǎng)絡上進行新的網(wǎng)絡協(xié)議實驗,從而使科研機構可以省去搭建實驗網(wǎng)絡的費用,并且使得實驗數(shù)據(jù)來自更接近真實的環(huán)境。隨著OpenFlow技術的完善,OpenFlow的應用已擴展到廣域網(wǎng)和數(shù)據(jù)中心領域。其中,OpenFlow的思想是:分離控制平面和數(shù)據(jù)平面,二者之間使用標準協(xié)議通信;數(shù)據(jù)平面采用基于流的方式進行轉發(fā),非常靈活和通用;層次化的集中控制平面,提供開放的API(ApplicationProgrammingInterface,應用程序編程接口)供第三方開發(fā);數(shù)據(jù)平面和控制平面支持虛擬化。如圖1所示,為OpenFlow網(wǎng)絡的組網(wǎng)示意圖,在OpenFlow網(wǎng)絡中,包括OpenFlow網(wǎng)絡設備(如OpenFlow交換機)、OpenFlow控制器和安全通道。安全通道:在OpenFlow網(wǎng)絡設備和OpenFlow控制器之間,通過預先配置的安全通道(基于SSL(SecureSocketsLayer,安全套接層))進行通信。OpenFlow控制器:為OpenFlow網(wǎng)絡的控制中心,其一般是運行實驗程序的PC(PersonalComputer,個人計算機)或者服務器。OpenFlow控制器上可能運行實驗程序或第三方開發(fā)軟件,并用于對流表項進行操作,根據(jù)用戶配置或者動態(tài)運行協(xié)議生成流表,并將流表發(fā)送到OpenFlow網(wǎng)絡設備。OpenFlow網(wǎng)絡設備:接收OpenFlow控制器設置的流表,并根據(jù)流表指導報文處理。流表包含一系列用于匹配報文的流表項,對于進入OpenFlow網(wǎng)絡設備的報文需要進行流表項的匹配;如果匹配成功則進行相應動作處理,如轉發(fā)到多個端口或者丟棄;如果匹配不成功則通過安全通道轉發(fā)到OpenFlow控制器,由OpenFlow控制器進行處理。另一方面,OpenFlow網(wǎng)絡設備主動向OpenFlow控制器上報自身的狀態(tài)和事件,如端口UP(正常)/DOWN(故障)。例如,OpenFlow控制器在OpenFlow網(wǎng)絡設備上創(chuàng)建流表如下:[目的IP5.6.7.8,轉發(fā)至port1];基于此流表,OpenFlow網(wǎng)絡設備在收到目的IP地址為5.6.7.8的數(shù)據(jù)流量時,能夠匹配到上述流表,并將數(shù)據(jù)流量轉發(fā)至port1?,F(xiàn)有技術中,在存在OpenFlow網(wǎng)絡設備和非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,無法識別出OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。
技術實現(xiàn)要素:本發(fā)明實施例提供一種邊界端口的識別方法和設備,以識別出OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。為了達到上述目的,本發(fā)明實施例提供一種邊界端口的識別方法,應用于包括OpenFlow控制器、OpenFlow網(wǎng)絡設備、非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,該方法包括:所述OpenFlow控制器獲得所有OpenFlow網(wǎng)絡設備的設備標識以及每個OpenFlow網(wǎng)絡設備的所有物理端口的端口標識;所述OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識;所述OpenFlow控制器將所述網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow網(wǎng)絡設備;由所述OpenFlow網(wǎng)絡設備通過所述物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文,并由其它收到所述網(wǎng)絡邊界發(fā)現(xiàn)報文的OpenFlow網(wǎng)絡設備將所述網(wǎng)路邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow控制器;所述OpenFlow控制器確定自身收到的所有網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識所對應的物理端口為OpenFlow網(wǎng)絡中的內部端口,確定剩余的物理端口為OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。所述OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,具體包括:步驟A、所述OpenFlow控制器判斷當前是否存在未被選擇過的設備標識;如果是,則執(zhí)行步驟B;如果否,則結束流程;步驟B、所述OpenFlow控制器選擇未被選擇過的設備標識;執(zhí)行步驟C;步驟C、所述OpenFlow控制器判斷該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中,當前是否存在未被選擇過的端口標識;如果是,則執(zhí)行步驟D;如果否,則執(zhí)行步驟A;步驟D、所述OpenFlow控制器從該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中選擇一個未被選擇過的端口標識;之后執(zhí)行步驟E;步驟E、所述OpenFlow控制器利用該設備標識和該端口標識為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文;之后執(zhí)行步驟C。所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識攜帶于所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文載荷中;由所述OpenFlow網(wǎng)絡設備從所述報文載荷中解析到所述端口標識,并通過所述端口標識對應的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文頭中還攜帶用于指導所述OpenFlow網(wǎng)絡設備通過所述物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文的信息;由所述OpenFlow網(wǎng)絡設備從所述報文頭中解析到所述信息,并通過所述信息指示的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。所述OpenFlow控制器確定內部端口以及邊界端口的過程,進一步包括:所述OpenFlow控制器在收到網(wǎng)絡邊界發(fā)現(xiàn)報文后,提取所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識;OpenFlow控制器標記所述OpenFlow網(wǎng)絡設備的設備標識和所述物理端口的端口標識所對應的物理端口為內部端口;所述OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并標記內部端口之外的其它物理端口為邊界端口。本發(fā)明實施例提供一種OpenFlow控制器,應用于包括所述OpenFlow控制器、OpenFlow網(wǎng)絡設備、非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,所述OpenFlow控制器具體包括:獲得模塊,用于獲得所有OpenFlow網(wǎng)絡設備的設備標識以及每個OpenFlow網(wǎng)絡設備的所有物理端口的端口標識;構造模塊,用于遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識;發(fā)送模塊,用于將所述網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow網(wǎng)絡設備;由所述OpenFlow網(wǎng)絡設備通過所述物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文,并由其它收到所述網(wǎng)絡邊界發(fā)現(xiàn)報文的OpenFlow網(wǎng)絡設備將所述網(wǎng)路邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow控制器;確定模塊,用于確定本OpenFlow控制器收到的所有網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識所對應的物理端口為OpenFlow網(wǎng)絡中的內部端口,并確定剩余的物理端口為OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。所述構造模塊,具體用于通過如下步驟構造網(wǎng)絡邊界發(fā)現(xiàn)報文:步驟A、判斷當前是否存在未被選擇過的設備標識;如果是,執(zhí)行步驟B;如果否,結束流程;步驟B、選擇未被選擇過的設備標識;執(zhí)行步驟C;步驟C、判斷該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中,當前是否存在未被選擇過的端口標識;如果是,執(zhí)行步驟D;如果否,執(zhí)行步驟A;步驟D、從該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中選擇一個未被選擇過的端口標識;之后執(zhí)行步驟E;步驟E、利用該設備標識和該端口標識為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文;執(zhí)行步驟C。所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識攜帶于所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文載荷中;由所述OpenFlow網(wǎng)絡設備從所述報文載荷中解析到所述端口標識,并通過所述端口標識對應的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文頭中還攜帶用于指導OpenFlow網(wǎng)絡設備通過物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文的信息;由所述OpenFlow網(wǎng)絡設備從所述報文頭中解析到所述信息,并通過所述信息指示的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。所述確定模塊,具體用于在收到網(wǎng)絡邊界發(fā)現(xiàn)報文后,提取所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識;標記所述OpenFlow網(wǎng)絡設備的設備標識和所述物理端口的端口標識所對應的物理端口為內部端口;遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并標記內部端口之外的其它物理端口為邊界端口。與現(xiàn)有技術相比,本發(fā)明實施例至少具有以下優(yōu)點:本發(fā)明實施例中,在包括OpenFlow控制器、OpenFlow網(wǎng)絡設備、非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,由OpenFlow控制器為所有OpenFlow網(wǎng)絡設備的所有物理端口構造網(wǎng)絡邊界發(fā)現(xiàn)報文,使得OpenFlow控制器能夠識別出OpenFlow網(wǎng)絡設備與OpenFlow網(wǎng)絡設備之間的內部端口,繼而使得OpenFlow控制器能夠識別出OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。附圖說明圖1是現(xiàn)有技術中OpenFlow網(wǎng)絡的組網(wǎng)示意圖;圖2是本發(fā)明實施例的應用場景示意圖;圖3是本發(fā)明實施例提供的一種邊界端口的識別方法流程示意圖;圖4是本發(fā)明實施例提供的一種OpenFlow控制器的結構示意圖。具體實施方式本發(fā)明實施例提供一種邊界端口的識別方法,應用于包括OpenFlow控制器、OpenFlow網(wǎng)絡設備(如OpenFlow交換機)、非OpenFlow網(wǎng)絡設備(如現(xiàn)有網(wǎng)絡的普通交換機)的網(wǎng)絡中。以圖2為本發(fā)明實施例的應用場景示意圖,該網(wǎng)絡可以包括OpenFlow控制器、OpenFlow網(wǎng)絡設備1、OpenFlow網(wǎng)絡設備2、OpenFlow網(wǎng)絡設備3、非OpenFlow網(wǎng)絡設備1、非OpenFlow網(wǎng)絡設備2和非OpenFlow網(wǎng)絡設備3。以圖2為例,OpenFlow網(wǎng)絡設備1上包括端口1、端口2和端口3;OpenFlow網(wǎng)絡設備2上包括端口4、端口5和端口6;OpenFlow網(wǎng)絡設備3上包括端口7和端口8。需要注意的是,OpenFlow控制器與OpenFlow網(wǎng)絡設備之間通過預先配置的安全通道進行通信,且OpenFlow網(wǎng)絡設備上不會有物理端口直接連接到OpenFlow控制器。在一種具體的實現(xiàn)方式中,OpenFlow網(wǎng)絡設備可以通過指定的網(wǎng)管口與OpenFlow控制器連接,該網(wǎng)管口不是OpenFlow網(wǎng)絡設備上的物理端口;在另一種具體的實現(xiàn)方式中,OpenFlow控制器可以不與OpenFlow網(wǎng)絡設備直接連接,而是通過其它設備與OpenFlow網(wǎng)絡設備通信,并實現(xiàn)對OpenFlow網(wǎng)絡設備的管理和控制。在上述應用場景下,如圖3所示,該方法包括以下步驟:步驟301,OpenFlow控制器獲得所有OpenFlow網(wǎng)絡設備的設備標識以及每個OpenFlow網(wǎng)絡設備所承載的所有物理端口的端口標識。其中,OpenFlow控制器可以直接獲取到與本OpenFlow控制器連接的所有OpenFlow網(wǎng)絡設備的設備標識(可以稱為DPID,其是OpenFlow網(wǎng)絡設備的唯一標識),以及每個OpenFlow網(wǎng)絡設備所承載的所有物理端口的端口標識(可以稱為PortNum,即物理端口通過PortNum標識)。在圖2所示的應用場景下,OpenFlow控制器獲得所有OpenFlow網(wǎng)絡設備的設備標識分別為OpenFlow網(wǎng)絡設備1、OpenFlow網(wǎng)絡設備2和OpenFlow網(wǎng)絡設備3;OpenFlow控制器獲得OpenFlow網(wǎng)絡設備1所承載的所有物理端口的端口標識分別為端口1、端口2和端口3,OpenFlow網(wǎng)絡設備2所承載的所有物理端口的端口標識分別為端口4、端口5和端口6,OpenFlow網(wǎng)絡設備3所承載的所有物理端口的端口標識分別為端口7和端口8。步驟302,OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文。其中,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶該OpenFlow網(wǎng)絡設備的設備標識以及該物理端口的端口標識。本發(fā)明實施例中,OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,具體包括但不限于如下方式:步驟A、OpenFlow控制器判斷當前是否存在未被選擇過的設備標識;如果是,則執(zhí)行步驟B;如果否,則結束流程;步驟B、OpenFlow控制器選擇未被選擇過的設備標識;執(zhí)行步驟C;步驟C、OpenFlow控制器判斷該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中,當前是否存在未被選擇過的端口標識;如果是,則執(zhí)行步驟D;如果否,則執(zhí)行步驟A;步驟D、OpenFlow控制器從該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中選擇一個未被選擇過的端口標識;之后執(zhí)行步驟E;步驟E、OpenFlow控制器利用該設備標識和該端口標識為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文;之后執(zhí)行步驟C。以圖2為例,OpenFlow控制器為OpenFlow網(wǎng)絡設備1的端口1構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備1,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口1。OpenFlow控制器為OpenFlow網(wǎng)絡設備1的端口2構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備1,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口2。OpenFlow控制器為OpenFlow網(wǎng)絡設備1的端口3構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備1,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口3。OpenFlow控制器為OpenFlow網(wǎng)絡設備2的端口4構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備2,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口4。OpenFlow控制器為OpenFlow網(wǎng)絡設備2的端口5構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備2,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口5。OpenFlow控制器為OpenFlow網(wǎng)絡設備2的端口6構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備2,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口6。OpenFlow控制器為OpenFlow網(wǎng)絡設備3的端口7構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備3,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口7。OpenFlow控制器為OpenFlow網(wǎng)絡設備3的端口8構造網(wǎng)絡邊界發(fā)現(xiàn)報文,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備3,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口8。步驟303,OpenFlow控制器將網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow網(wǎng)絡設備。具體的,OpenFlow控制器通過本OpenFlow控制器與OpenFlow網(wǎng)絡設備之間的安全通道將網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow網(wǎng)絡設備。以圖2為例,OpenFlow控制器通過OpenFlow控制器與OpenFlow網(wǎng)絡設備1間的安全通道將為OpenFlow網(wǎng)絡設備1的端口1構造的網(wǎng)絡邊界發(fā)現(xiàn)報文、為OpenFlow網(wǎng)絡設備1的端口2構造的網(wǎng)絡邊界發(fā)現(xiàn)報文、為OpenFlow網(wǎng)絡設備1的端口3構造的網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow網(wǎng)絡設備1。OpenFlow控制器通過OpenFlow控制器與OpenFlow網(wǎng)絡設備2間的安全通道將為OpenFlow網(wǎng)絡設備2的端口4構造的網(wǎng)絡邊界發(fā)現(xiàn)報文、為OpenFlow網(wǎng)絡設備2的端口5構造的網(wǎng)絡邊界發(fā)現(xiàn)報文、為OpenFlow網(wǎng)絡設備2的端口6構造的網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow網(wǎng)絡設備2。OpenFlow控制器通過OpenFlow控制器與OpenFlow網(wǎng)絡設備3間的安全通道將為OpenFlow網(wǎng)絡設備3的端口7構造的網(wǎng)絡邊界發(fā)現(xiàn)報文、為OpenFlow網(wǎng)絡設備3的端口8構造的網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow網(wǎng)絡設備3。步驟304,OpenFlow網(wǎng)絡設備在收到來自OpenFlow控制器的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過相應的物理端口發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。本發(fā)明實施例中,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶了設備標識和端口標識,且OpenFlow網(wǎng)絡設備的設備標識以及物理端口的端口標識攜帶于該網(wǎng)絡邊界發(fā)現(xiàn)報文的報文載荷中;OpenFlow網(wǎng)絡設備在收到來自OpenFlow控制器的網(wǎng)絡邊界發(fā)現(xiàn)報文時,可以直接從報文載荷中解析到端口標識,繼而通過網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識所對應的物理端口發(fā)送網(wǎng)絡邊界發(fā)現(xiàn)報文。在本發(fā)明實施例的一種優(yōu)選實施方式中,網(wǎng)絡邊界發(fā)現(xiàn)報文的報文頭中還可以攜帶用于指導OpenFlow網(wǎng)絡設備通過物理端口發(fā)送網(wǎng)絡邊界發(fā)現(xiàn)報文的信息;基于此信息,OpenFlow網(wǎng)絡設備在收到來自OpenFlow控制器的網(wǎng)絡邊界發(fā)現(xiàn)報文時,可以直接從報文頭中解析到該信息,繼而通過該信息指示的物理端口發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。例如,網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶用于指導OpenFlow網(wǎng)絡設備1通過端口1發(fā)送網(wǎng)絡邊界發(fā)現(xiàn)報文的信息時,OpenFlow網(wǎng)絡設備1在收到相應的網(wǎng)絡邊界發(fā)現(xiàn)報文后,確定需要通過端口1發(fā)送網(wǎng)絡邊界發(fā)現(xiàn)報文,并通過該端口1發(fā)送網(wǎng)絡邊界發(fā)現(xiàn)報文。在圖2所示的應用場景下,OpenFlow網(wǎng)絡設備1在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備1的端口1構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口1發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備1在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備1的端口2構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口2發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備1在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備1的端口3構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口3發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備2在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備2的端口4構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口4發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備2在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備2的端口5構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口5發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備2在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備2的端口6構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口6發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備3在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備3的端口7構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口7發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。OpenFlow網(wǎng)絡設備3在接收到來自OpenFlow控制器的為OpenFlow網(wǎng)絡設備3的端口8構造的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過端口8發(fā)送該網(wǎng)絡邊界發(fā)現(xiàn)報文。步驟305,OpenFlow網(wǎng)絡設備在收到來自其它OpenFlow網(wǎng)絡設備的網(wǎng)絡邊界發(fā)現(xiàn)報文之后,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。具體的,該OpenFlow網(wǎng)絡設備可以通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。在圖2所示的應用場景下,OpenFlow網(wǎng)絡設備1在接收到OpenFlow網(wǎng)絡設備2通過端口4發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備1之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。OpenFlow網(wǎng)絡設備1在接收到OpenFlow網(wǎng)絡設備3通過端口7發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備1之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。OpenFlow網(wǎng)絡設備2在接收到OpenFlow網(wǎng)絡設備1通過端口2發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備2之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。OpenFlow網(wǎng)絡設備2在接收到OpenFlow網(wǎng)絡設備3通過端口8發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備2之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。OpenFlow網(wǎng)絡設備3在接收到OpenFlow網(wǎng)絡設備1通過端口1發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備3之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。OpenFlow網(wǎng)絡設備3在接收到OpenFlow網(wǎng)絡設備2通過端口5發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,通過OpenFlow控制器與本OpenFlow網(wǎng)絡設備3之間的安全通道將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器。步驟306,OpenFlow控制器在收到網(wǎng)絡邊界發(fā)現(xiàn)報文后,確定網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識對應的物理端口為OpenFlow網(wǎng)絡設備與OpenFlow網(wǎng)絡設備之間的內部端口。步驟307,OpenFlow控制器確定所有OpenFlow網(wǎng)絡設備所承載的所有物理端口中,除了內部端口之外的其它物理端口(即剩余的物理端口)為OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。本發(fā)明實施例的優(yōu)選實施方式中,OpenFlow控制器確定內部端口以及邊界端口的過程具體包括:OpenFlow控制器在收到網(wǎng)絡邊界發(fā)現(xiàn)報文后,提取網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識;OpenFlow控制器標記OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識所對應的物理端口為內部端口;OpenFlow控制器遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并標記內部端口之外的其它物理端口為邊界端口。為了保證OpenFlow控制器能夠準確遍歷到所有的內部端口,該OpenFlow控制器可以在將為所有物理端口構造的網(wǎng)絡邊界發(fā)現(xiàn)報文均發(fā)送完成之后,在等待預設時間(該預設時間可以根據(jù)實際經(jīng)驗值選擇,以保證OpenFlow控制器能夠收到所有OpenFlow網(wǎng)絡設備返回的網(wǎng)絡邊界發(fā)現(xiàn)報文)之后,遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并標記內部端口之外的其它物理端口為邊界端口。進一步的,該OpenFlow控制器還可以多次發(fā)送每個物理端口所對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,以進一步保證OpenFlow控制器能夠收到網(wǎng)絡邊界發(fā)現(xiàn)報文,繼而能夠準確遍歷到所有的內部端口。在圖2所示的應用場景下,OpenFlow網(wǎng)絡設備1在接收到OpenFlow網(wǎng)絡設備2通過端口4發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備2,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口4,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備2的端口4為內部端口。OpenFlow網(wǎng)絡設備1在接收到OpenFlow網(wǎng)絡設備3通過端口7發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備3,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口7,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備3的端口7為內部端口。OpenFlow網(wǎng)絡設備2在接收到OpenFlow網(wǎng)絡設備1通過端口2發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備1,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口2,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備1的端口2為內部端口。OpenFlow網(wǎng)絡設備2在接收到OpenFlow網(wǎng)絡設備3通過端口8發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備3,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口8,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備3的端口8為內部端口。OpenFlow網(wǎng)絡設備3在接收到OpenFlow網(wǎng)絡設備1通過端口1發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備1,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口1,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備1的端口1為內部端口。OpenFlow網(wǎng)絡設備3在接收到OpenFlow網(wǎng)絡設備2通過端口5發(fā)送的網(wǎng)絡邊界發(fā)現(xiàn)報文時,將該網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給OpenFlow控制器,由于該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的設備標識為OpenFlow網(wǎng)絡設備2,該網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的端口標識為端口5,因此OpenFlow控制器標記OpenFlow網(wǎng)絡設備2的端口5為內部端口。本發(fā)明實施例中,基于上述處理,OpenFlow控制器標記OpenFlow網(wǎng)絡設備1的端口1為內部端口,并標記OpenFlow網(wǎng)絡設備1的端口2為內部端口,并標記OpenFlow網(wǎng)絡設備2的端口4為內部端口,并標記OpenFlow網(wǎng)絡設備2的端口5為內部端口,并標記OpenFlow網(wǎng)絡設備3的端口7為內部端口,并標記OpenFlow網(wǎng)絡設備3的端口8為內部端口。進一步的,所有OpenFlow網(wǎng)絡設備的所有物理端口為OpenFlow網(wǎng)絡設備1的端口1、端口2和端口3,OpenFlow網(wǎng)絡設備2的端口4、端口5和端口6,OpenFlow網(wǎng)絡設備3的端口7和端口8。因此,OpenFlow控制器標記OpenFlow網(wǎng)絡設備1的端口3和OpenFlow網(wǎng)絡設備2的端口6為邊界端口。綜上所述,本發(fā)明實施例中,在包括OpenFlow控制器、OpenFlow網(wǎng)絡設備、非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,由OpenFlow控制器為所有OpenFlow網(wǎng)絡設備的所有物理端口構造網(wǎng)絡邊界發(fā)現(xiàn)報文,并基于網(wǎng)絡邊界發(fā)現(xiàn)報文的接收情況,使得OpenFlow控制器能夠識別出OpenFlow網(wǎng)絡設備與OpenFlow網(wǎng)絡設備之間的內部端口,繼而使得OpenFlow控制器能夠識別出OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。基于與上述方法同樣的發(fā)明構思,本發(fā)明實施例中提供了一種OpenFlow控制器,應用于包括所述OpenFlow控制器、OpenFlow網(wǎng)絡設備、非OpenFlow網(wǎng)絡設備的網(wǎng)絡中,如圖4所示,所述OpenFlow控制器具體包括:獲得模塊11,用于獲得所有OpenFlow網(wǎng)絡設備的設備標識以及每個OpenFlow網(wǎng)絡設備的所有物理端口的端口標識;構造模塊12,用于遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文,所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識;發(fā)送模塊13,用于將所述網(wǎng)絡邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow網(wǎng)絡設備;由所述OpenFlow網(wǎng)絡設備通過所述物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文,并由其它收到所述網(wǎng)絡邊界發(fā)現(xiàn)報文的OpenFlow網(wǎng)絡設備將所述網(wǎng)路邊界發(fā)現(xiàn)報文發(fā)送給所述OpenFlow控制器;確定模塊14,用于確定本OpenFlow控制器收到的所有網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識所對應的物理端口為OpenFlow網(wǎng)絡中的內部端口,并確定剩余的物理端口為OpenFlow網(wǎng)絡設備與非OpenFlow網(wǎng)絡設備之間的邊界端口。所述構造模塊12,具體用于通過如下步驟構造網(wǎng)絡邊界發(fā)現(xiàn)報文:步驟A、判斷當前是否存在未被選擇過的設備標識;如果是,執(zhí)行步驟B;如果否,結束流程;步驟B、選擇未被選擇過的設備標識;執(zhí)行步驟C;步驟C、判斷該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中,當前是否存在未被選擇過的端口標識;如果是,執(zhí)行步驟D;如果否,執(zhí)行步驟A;步驟D、從該設備標識對應的OpenFlow網(wǎng)絡設備的所有物理端口中選擇一個未被選擇過的端口標識;執(zhí)行步驟E;步驟E、利用該設備標識和該端口標識為OpenFlow網(wǎng)絡設備的物理端口構造對應的網(wǎng)絡邊界發(fā)現(xiàn)報文;執(zhí)行步驟C。本發(fā)明實施例中,所述OpenFlow網(wǎng)絡設備的設備標識以及所述物理端口的端口標識攜帶于所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文載荷中;由所述OpenFlow網(wǎng)絡設備從所述報文載荷中解析到所述端口標識,并通過所述端口標識對應的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。本發(fā)明實施例中,所述網(wǎng)絡邊界發(fā)現(xiàn)報文的報文頭中還攜帶用于指導OpenFlow網(wǎng)絡設備通過物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文的信息;由所述OpenFlow網(wǎng)絡設備從所述報文頭中解析到所述信息,并通過所述信息指示的物理端口發(fā)送所述網(wǎng)絡邊界發(fā)現(xiàn)報文。所述確定模塊14,具體用于在收到網(wǎng)絡邊界發(fā)現(xiàn)報文后,提取所述網(wǎng)絡邊界發(fā)現(xiàn)報文中攜帶的OpenFlow網(wǎng)絡設備的設備標識和物理端口的端口標識;標記所述OpenFlow網(wǎng)絡設備的設備標識和所述物理端口的端口標識所對應的物理端口為內部端口;遍歷所有OpenFlow網(wǎng)絡設備的所有物理端口,并標記內部端口之外的其它物理端口為邊界端口。其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。