TWI639325B - 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 - Google Patents

自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 Download PDF

Info

Publication number
TWI639325B
TWI639325B TW106130031A TW106130031A TWI639325B TW I639325 B TWI639325 B TW I639325B TW 106130031 A TW106130031 A TW 106130031A TW 106130031 A TW106130031 A TW 106130031A TW I639325 B TWI639325 B TW I639325B
Authority
TW
Taiwan
Prior art keywords
switch
configuration
controller
configuration message
message
Prior art date
Application number
TW106130031A
Other languages
English (en)
Other versions
TW201914265A (zh
Inventor
王韋程
陳厚任
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW106130031A priority Critical patent/TWI639325B/zh
Priority to CN201710907066.2A priority patent/CN109428766A/zh
Priority to US15/836,848 priority patent/US10931521B2/en
Application granted granted Critical
Publication of TWI639325B publication Critical patent/TWI639325B/zh
Publication of TW201914265A publication Critical patent/TW201914265A/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/65Re-configuration of fast packet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一種交換機自動部署的軟體定義網路系統及其方法,適用於一軟體定義網路,所述的方法包括:控制器主動發送一配置訊息,配置訊息包括控制器之網路位址及多個配置參數。交換機接收此配置訊息,依據網路位址及配置參數與控制器建立連線。

Description

自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法
本發明係關於一種軟體定義網路交換機的自動部署方法。
現今大部分的網路架構仍建立於擴展樹協定(Spanning Tree Protocol,STP)上的三層式架構,透過各種傳輸協定傳送封包。然而,隨著雲端應用服務及巨量資料需求日益增加,封包傳送所用的路由表愈來愈複雜,使得目前的網路架構愈來愈不敷使用。為實現各種傳輸協定,交換機(Switch)或是路由器(Router)經常需要拆分及重組封包,導致傳輸效率不佳,無法有效利用網路頻寬。
軟體定義網路(Software Defined Networking,SDN)是一種網路控制虛擬化的概念,SDN將網路設備中的控制平面(Control Plane)與轉發平面(Forwarding Plane)分離,藉由一個稱為控制器(Controller)的軟體統一管理控制平面,在不更動硬體裝置的前提下,以中央控制方式,用程式重新規劃網路,為控制網路流量提供了新的方法,也提供了核心網路及應用創新的良好平台。SDN的集中控管與可程式化等特性,可大幅提升網路運作的彈性與效能,同時降低營運與管理成本。
開放流(OpenFlow)是專為SDN所設計的一種網路通訊協定。OpenFlow提供統一的介面使控制平面和轉送平面能正確溝通,並且讓控制器設 定交換機的轉送平面,藉此改變封包所走的路徑。OpenFlow已被廣泛的應用於SDN網路設備中。
對於大型資料中心而言,在網路設備佈建初期,每台交換機都有大量配置參數需要設定,例如此交換機的網路位址、可用的連接埠號。而在OpenFlow運行的SDN架構中,還需要在交換機上設置對應此交換機的控制器網路位址與控制器連接埠號、連線協定類型、控制器連線模式及OpenFlow版本等。當網路管理人員設定各種網路參數時,通常需要逐一登入每台交換機,然後使用命令執行介面(Command-Line Interface,CLI)設定參數。這種方式不儘相當麻煩也費時,此外,這種方式也無法因應網路架構變動而迅速作出適應性調整。並且人為設置相當容易失誤,一旦網路管理人員輸入錯誤的指令或遺漏某項設定參數,將提升造成網路服務癱瘓的風險。
雖然,在SDN中已經有交換機主動請求配置的方法,例如交換機使用動態主機設定協定(Dynamic Host Configuration Protocol,DHCP)、以太網上的對等協定(Point-to-Point Protocol Over Ethernet,PPPoE)或位址解析協定(Address Resolution Protocol,ARP)向控制器要求設定交換機的網路位址時,交換機透過上述協定封包格式的擴充欄位,要求控制器回傳其他配置參數。但是這種交換機主動的方式往往只有一次性,當控制器想要更改配置參數的時候,又需要透過別的方式與交換機取得聯繫,前後配置方式的不一致將增加管理上的不便。
另外,若網路管理人員為了向下相容而採取軟體定義網路和傳統分散式網路藉由路由器(Router)或閘道器(Gateway)連接組成的混合型網路架構時,前述在區域網路(Local Area Network,LAN)中使用的通訊協定,若交換機與控制器使用頻內(In-Band)連接,則無法讓配置封包跨越路由器或閘道器抵達另一個子網路(Subnet),這也增加了實現網路中所有交換機自動配置的困難度。
有鑒於此,本發明提出一個交換機自動部署的軟體定義網路系統及其方法,藉以解決人工設定交換機配置參數容易出錯的問題、提升更改配置參數的便利性,讓配置參數的設定能夠跨越不同的子網路,並適用於多控制器的軟體定義網路。
依據本發明之一實施例所敘述的交換機自動部署方法,適用於一軟體定義網路系統,軟體定義網路系統包括一控制器通訊連接一交換機,所述的自動部署方法包括:控制器發送配置訊息至交換機,配置訊息包括控制器之網路位址及多個配置參數,配置參數包括控制器之連接埠號及連線協定類型;交換機接收配置訊息,以及交換機依據網路位址及配置參數與控制器建立連線。
依據本發明之另一實施例所敘述的一種交換機自動部署方法,其中交換機屬於一交換機網路,交換機網路具有多個交換機彼此通訊連接,且在交換機與控制器建立連線之後,該控制器發送一繞送規則至該交換機,該交換機依據該繞送規則發送或不發送該配置訊息,其中該繞送規則包括一交換機輸入埠號及一動作指令。
依據本發明之另一實施例所敘述的一種交換機自動部署方法,其中交換機具有配置列表用以記錄網路位址及配置參數,交換機依據網路位址及配置參數與該控制器建立連線時,交換機係執行一連線程序,連線程序包括:當配置列表為空,則交換機將配置訊息新增至配置列表並依據網路位址及配置參數建立連線至控制器,且將控制器設成交換機的主要控制器;當配置列表不為空且配置列表中不存在配置訊息的網路位址時,則交換機將配置訊息新增至配置列表並依據新增的網路位址及配置參數建立連線至控制器,且將控制器設成交換機的從屬控制器;當配置列表不為空且配置列表中存在配置訊息的網路位址時,則交換機依據配置參數之值更新配置列表。
依據本發明之另一實施例所敘述的一種交換機自動部署方 法,其中在控制器發送配置訊息之後,控制器發送另一配置訊息至交換機,另一配置訊息包括控制器之網路位址及配置參數。在交換機接收另一配置訊息及繞送規則之後,交換機執行一轉發程序,轉發程序包括:交換機比對另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號是否相同,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號相同時,交換機依據動作指令以廣播封包格式發送另一配置訊息至鄰接交換機的其他交換機,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號不相同時,交換機依據動作指令捨棄另一配置訊息或回傳另一配置訊息至控制器。
依據本發明之一實施例所敘述的一種交換機自動部署的軟體定義網路系統,適用於一軟體定義網路,包括:控制器,控制器發送一配置訊息,配置訊息包括控制器之網路位址及多個配置參數,配置參數包括控制器之連接埠號及連線協定類型;以及交換機,交換機通訊連接控制器,交換機接收配置訊息並依據網路位址及配置參數與控制器建立連線。
依據本發明之另一實施例所敘述的一種交換機自動部署的軟體定義網路系統,其中交換機屬於一交換機網路,交換機網路具有多個交換機彼此通訊連接,且在交換機與控制器建立連線之後,控制器發送一繞送規則至交換機,交換機依據繞送規則發送或不發送配置訊息,其中繞送規則包括一交換機輸入埠號及一動作指令。
依據本發明之另一實施例所敘述的一種交換機自動部署的軟體定義網路系統,其中交換機具有配置列表用以記錄網路位址及配置參數,交換機依據網路位址及配置參數與控制器建立連線時,交換機係執行一連線程序,連線程序包括:當配置列表為空,則交換機將配置訊息新增至配置列表並依據網路位址及配置參數建立連線至控制器,且控制器成為交換機的主要控制器;當配置列表不為空且配置列表中不存在配置訊息的網路位址時,則交換機將配置訊息新增至配置列表並依據新增的網路位址及配置參數建立連線至控制器,且控制器成為交換機的從屬控制器;當配置列表 不為空且配置列表中存在配置訊息的網路位址時,則交換機依據配置參數之值更新配置列表。
依據本發明之另一實施例所敘述的一種交換機自動部署的軟體定義網路系統,其中在控制器發送配置訊息之後,控制器發送另一配置訊息至交換機,另一配置訊息包括控制器之網路位址及配置參數。在該交換機接收另一配置訊息及繞送規則之後,交換機執行一轉發程序,轉發程序包括:交換機比對另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號是否相同,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號相同時,交換機依據動作指令以廣播封包格式發送另一配置訊息至鄰接交換機的其他交換機,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號不相同時,交換機依據動作指令捨棄另一配置訊息或回傳另一配置訊息至控制器。
控制器具有一時間設定值,時間設定值可以是一常數或一變數,時間設定值用以調整控制器發送配置訊息及另一配置訊息的間隔時間。
依據本發明之一實施例所敘述的一種自動配置交換機的方法,適用於多個交換機且該些交換機通訊連接至一控制器,包括:這些交換機其中之一交換機接收配置訊息,配置訊息包括控制器之網路位址及多個配置參數,配置參數包括控制器之連接埠號及連線協定類型;以及接收配置訊息的交換機依據網路位址及配置參數與控制器建立連線。
依據本發明之另一實施例所敘述的一種自動配置交換機的方法,其中在接收配置訊息的交換機與控制器建立連線之後,接收配置訊息的交換機接收控制器所發送的一繞送規則並依據繞送規則發送或不發送配置訊息,其中繞送規則包括一交換機輸入埠號及一動作指令。
依據本發明之另一實施例所敘述的一種自動配置交換機的方法,其中接收配置訊息的交換機具有配置列表用以記錄網路位址及配置參數,接收配置訊息的交換機依據網路位址及配置參數與控制器建立連線 時,接收配置訊息的交換機係執行一連線程序,連線程序包括:當配置列表為空,則接收配置訊息的交換機將配置訊息新增至配置列表並依據網路位址及配置參數建立連線至控制器,且將控制器設為接收配置訊息的交換機的主要控制器;當配置列表不為空且配置列表中不存在配置訊息的網路位址時,則接收配置訊息的交換機將配置訊息新增至配置列表並依據新增的網路位址及配置參數建立連線至控制器,且將控制器設為接收配置訊息的交換機的從屬控制器;當配置列表不為空且配置列表中存在配置訊息的網路位址時,則接收配置訊息的交換機依據配置參數之值更新配置列表。
依據本發明之另一實施例所敘述的一種自動配置交換機的方法,其中在接收配置訊息的交換機接收配置訊息之後,此交換機接收另一配置訊息,另一配置訊息包括控制器之網路位址及配置參數。在接收配置訊息的交換機接收另一配置訊息及該繞送規則之後,此交換機執行一轉發程序,轉發程序包括:接收配置訊息的交換機比對另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號是否相同,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號相同時,此交換機依據動作指令以廣播封包格式發送配置訊息至與此交換機鄰接的其他交換機,當另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號不相同時,接收配置訊息的交換機依據動作指令捨棄另一配置訊息或回傳另一配置訊息至控制器。
依據本發明之一實施例所敘述的一種自動配置的交換機,適用於一軟體定義網路系統,軟體定義網路系統包括一控制器通訊連接一交換機,所述的自動配置的交換機包括:一訊號收發器用以接收配置訊息,其中配置訊息包括該控制器之一網路位址及多個配置參數,配置參數包括控制器之連接埠號及連線協定類型;一儲存裝置用以儲存網路位址及配置參數;以及一運算處理器用以依據網路位址及配置參數建立連線至控制器。
依據本發明之另一實施例所敘述的一種自動配置的交換機,其中交換機屬於一交換機網路,交換機網路具有多個交換機彼此通訊連接, 儲存裝置更用以儲存一繞送規則,運算處理器更用以依據繞送規則控制訊號收發器發送或不發送配置訊息,其中繞送規則包括一交換機輸入埠號及一動作指令。
依據本發明之另一實施例所敘述的一種自動配置的交換機,其中儲存裝置更包括配置列表用以記錄網路位址及配置參數,交換機依據配置訊息與控制器建立連線時,運算處理器係執行一連線程序,連線程序包括:當配置列表為空,運算處理器將配置訊息新增至配置列表並依據網路位址及該配置參數控制訊號收發器建立連線至控制器,且將控制器設為交換機的主要控制器;當配置列表不為空且配置列表中不存在配置訊息的網路位址時,運算處理器將配置訊息新增至配置列表並依據新增的網路位址及配置參數控制訊號收發器建立連線至控制器,且將控制器設為交換機的從屬控制器;當配置列表不為空且配置列表中存在網路位址時,運算處理器依據這些配置參數更新配置列表。
依據本發明之另一實施例所敘述的一種自動配置的交換機,其中在訊號收發器接收控制器發送的另一配置訊息之後,運算處理器執行一轉發程序,轉發程序包括:運算處理器比對訊號收發器接收另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號是否相同,當訊號收發器接收另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號相同時,運算處理器依據動作指令以廣播封包格式發送配置訊息至鄰接交換機的其他交換機,當訊號收發器接收另一配置訊息的輸入埠號與繞送規則的交換機輸入埠號不相同時,運算處理器依據動作指令捨棄另一配置訊息或回傳另一配置訊息至控制器。
藉由上述本發明所揭露的交換機自動部署的軟體定義網路系統及交換機的自動部署方法,由於從控制器主動發送配置訊息及繞送規則至交換機,交換機可依據配置訊息行設置相關配置參數,並依據繞送規則自動轉發配置訊息至其他交換機或回傳配置訊息至控制器,藉此實現網路 中所有交換機的自動部署;並且容易透過控制器更改交換機的各項配置參數,節省人力手動連線至交換機設定配置參數的時間,消除人為設置發生失誤的可能;而且藉由控制器將配置訊息封包透過特定的網路通訊協定以已群播方式發送,可讓配置訊息跨越連接兩個子網路的路由器,達成更高的自動部署配置比率。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本案之詳細特徵,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本案。以下之實施例係進一步詳細說明本案,但非用以限制本案之範疇。
在後面實施例中,為便於敘述,所提及的「控制器」係指軟體定義網路(Software Defined Network,SDN)控制器(Controller)。所提及的「交換機」係可為支援開放流(OpenFlow)通訊協定、NETCONF通訊協定、OVSDB通訊協定或XMPP通訊協定的交換機(Switch)。
本案一種交換機自動部署的軟體定義網路系統之一實施例,適用於運行上述通訊協定的一軟體定義網路。如圖1所示,此交換機的自動部署系統包括:一控制器C及一交換機網路SN,且控制器C通訊連接至交換機網路SN,交換機網路SN包括多個交換機S1~S5,且交換機 S1~S5彼此通訊連接。然而本發明並未限制控制器C及交換機網路SN的數量。在其他實施例中,本發明所適用之交換機自動部署的軟體定義網路系統亦可以僅具有控制器C及單一個交換機。實務上,網路管理人員可根據SDN應用場景,建立一個或多個控制器通訊連接至一個或多個交換機網路的軟體定義網路系統。
建立通訊連接的雙方可互相發送/接收訊息,所述通訊連接係泛指可互相傳遞電信訊息的連接關係。例如在交換機網路SN中,訊息傳送的路徑可以是兩台交換機間的直接連線,如圖1中的交換機S1經由實體連線e1通訊連接至交換機S2;然而訊息傳送的路徑也可以是透過若干台交換機的轉接形成的間接連線,如交換機S1經由實體連線e1、e2並透過交換機S2的轉接連接到交換機S3。
實務上,控制器C係軟體定義網路中的應用程序,運行於一伺服器、一個人電腦或其他可執行此應用程序並具有網路通訊功能的電子裝置。交換機S1~S5例如係一高效能硬體交換機、一商用晶片交換機或一運行於伺服器上的交換機軟體。在本發明實施例中,並未限制控制器或交換機的硬體種類。
在一實施例中,控制器C多次輸出配置訊息以配置交換機網路SN中的所有交換機S1~S5。控制器C更透過改變發送間隔時間以調整配置訊息輸出頻率。本實施例交換機網路SN之硬體設備已佈建完成,當控制器C啟動後隨即週期性地發送配置訊息;在實際SDN應用場景,交換機網路SN可視需求新增交換機,控制器C在偵測到新交換機上線時發送配置訊息,而非僅受限於間隔時間的規範。
配置訊息之內容包括此控制器C的網際網路協定(Internet Protocol,IP)位址及多個配置參數。配置參數包括控制器連接埠號及連線協定類型。連線協定類型例如:傳輸控制協定(Transmission Control Protocol,TCP)、傳輸層安全協議(Transport Layer Security,TLS)、 串流控制傳輸協議(Stream Control Transmission Protocol,SCTP)或安全通訊協定(Secure Sockets Layer,SSL)等。在其他實施例中,配置參數除前述三者,更包括控制器連接模式及通訊協定版本號,實務上,網路管理人員可根據SDN應用場景而增刪配置參數類型,本發明之配置訊息的內容不以上述資訊為限。
在一實施例中,控制器C將配置訊息封裝成廣播封包或群播封包的格式。廣播封包格式例如係SDN中廣泛使用的鏈路層發現協定資料單元(Link Layer Discovery Protocol Data Unit,LLDPDU),控制器將本身的IP位址及多個配置參數組織成不同的TLV(Type/Length/Value,類型/長度/值)然後寫入LLDPDU的可選(Optional)TLVs欄位,並將此廣播封包發送至交換機網路SN中鄰接此控制器的交換機,如圖1中控制器C經由e1將廣播封包發送給鄰接的交換機S1。群播封包例如係IP標頭檔(Header),控制器C將本身的IP位址及多個配置參數寫入IP header的Options欄位,並將此群播封包發送至交換機網路SN中鄰接此控制器的交換機S1。在一實施例中,控制器C使用IP群播封包發送配置訊息,因此可確保控制器C發送的配置訊息不被路由器或閘道器區分的子網路擋住。
在控制器C以固定週期發送配置訊息的時候,若控制器C接收到來自交換機S1的一連線請求,則此連線請求可使控制器C與交換機S1執行連線程序以建立連線(Connection),在交換機S1確認與控制器C連線成功後,交換機S1將控制器C設定為主要控制器(Master)或是從屬控制器(Slave),兩者的區別在於主要控制器具有完整控制的交換機權限,而從屬控制器僅具有讀取交換機狀態的權限。
在控制器C主動發送配置訊息至交換機的前提下,若接收配置訊息的交換機係為交換機網路SN中的任一交換機(以下以交換機S1為例),則交換機S1可依據此配置訊息中的網路位址及配置參數送出連線 請求至控制器C,且此時控制器C的角色為交換機S1的主要控制器。此外,交換機S1亦將此配置訊息發送至鄰接交換機S1的其他交換機;或者,在交換機S1未鄰接任何其他交換機時,交換機S1將配置訊息回傳至控制器C。
控制器C可在連線建立後將一繞送規則發送至交換機S1。於一實施例中,當運行之通訊協定為OpenFlow協定時,此繞送規則係為FlowMod訊息格式,且繞送規則為流表項(Flow entry)的一部分。流表項包括匹配區域(Match Field)、優先序(Priority)、計數器(Counter)、指令(Instruction)、逾時(Timeout)及小型文字檔案(Cookie)等欄位。在一實施例中,繞送規則包括Match Field欄位中的以太類型(Ethernet Type,eth_type)、交換機輸入埠號(Ingress Port,in_port)及指令欄位中的動作指令(Apply Action),此外繞送規則還可進一步包括控制器的網路位址(IP Address或MAC Address)。此繞送規則用以指示當交換機S1收到配置訊息封包時應如何處理,以提升配置訊息在交換機網路SN中的傳送效率。後文述及一實施例中接收到繞送規則的交換機S1時,將更詳細敘述交換機S1應用此繞送規則的方式。另須注意的是:在一實施例中,控制器C發送一適用於配置訊息的繞送規則;實務上,在連線建立後,網路管理人員可根據應用場景指示控制器C一次發送多個繞送規則,其中除了用於配置訊息的繞送規則之外,其他繞送規則可例如係一般資料封包的處理方式。換言之,本發明並不限制控制器C發送繞送規則的數量及繞送規則所針對的封包類型。另需注意的是:在一實施例中,交換機S1並非必須在取得繞送規則之後,才將所接收的配置訊息發送至鄰接交換機S1的其他交換機。例如交換機S1也可在接收本次配置訊息的當下(尚未取得繞送規則)即先發送此一配置訊息,而在接收下一次的配置訊息時(已取得繞送規則),才依據繞送規則發送配置訊息。
請參考圖1。在一實施例中,交換機網路SN包括多個彼此 通訊連接且結構相同的交換機S1~S5。詳言之,每台交換機具有訊號收發器12、儲存裝置14及運算處理器16(於此僅繪示於交換機S1為例),其中訊號收發器12用於接收或轉發封包(例如前述的配置訊息或繞送規則),儲存裝置14用於儲存資料(例如前述的配置訊息或繞送規則),而運算處理器16則用於依據配置訊息中的網路位址及配置參數產生並送出連線請求,以與控制器C連線。於一實施例中,每台交換機可各自儲存一配置列表於儲存裝置14中,用以記錄各控制器C的建立連線的相關資訊,也就是交換機依據各控制器傳送的配置訊息對配置列表進行資訊記錄或更新。配置列表儲存於交換機S1~S5中,此表格包括多個欄位分別對應配置訊息中的控制器IP位址及多個配置參數。實務上,網路管理人員可根據SDN應用場景設計配置列表的儲存方式,本發明不設限配置列表儲存的方式或形式。
在控制器C與交換機S1之間的連線建立之後,控制器C發送繞送規則至交換機S1,並且交換機S1將已儲存的繞送規則應用於接收到的配置訊息封包。詳言之,當交換機S1以訊號收發器12接收到配置訊息時,交換機S1的運算處理器14係依據IP位址及配置參數執行前述的連線程序,判斷配置列表是否為空,以及判斷儲存於儲存裝置16的配置列表中是否存在發出此配置訊息的控制器的IP位址,並依比對結果執行下列3種作動內容:
(1)配置列表為空的情況下,交換機S1的運算處理器14將配置訊息的控制器IP位址及配置參數新增至配置列表,並且根據控制器IP位址與配置參數控制訊號收發器12發送一連線請求至控制器C。在交換機S1與控制器C成功建立連線後,例如建立OpenFlow連線,交換機S1將控制器C設置為主要控制器。換言之,交換機S1在啟動後接收到第一個配置訊息時,交換機S1將發送此配置訊息的控制器C設為主要控制器。
(2)配置列表不為空的情況下,交換機S1的運算處理器14搜尋與比對配置列表的控制器IP欄位,判斷其中是否存在與配置訊息相同 的控制器IP位址。在配置列表不存在與配置訊息相同的控制器IP位址的情況下,交換機S1的運算處理器14將本次配置訊息的控制器IP位址及配置參數新增至配置列表。換言之,本次發送配置訊息的控制器例如C’(未繪製於圖1)相異於先前若干次發送配置訊息的控制器C,因此交換機S1將控制器C’的相關資訊新增至配置列表。同時,交換機S1根據對應於控制器C’的控制器IP位址與配置參數控制訊號收發器12發送一連線請求至控制器C’。交換機S1在與控制器C’成功建立連線後,交換機S1將控制器C’設為從屬控制器。
承(2)所述,在交換機S1已經和主要控制器建立連線之後,再接收到其他控制器發送的配置訊息時,交換機S1將這些控制器設定為從屬控制器。另外必須強調的是:在一實施例中,交換機S1在啟動後,將第一次接收到配置訊息的來源控制器設為主要控制器,其後收到來自於其他控制器的配置訊息時,將非主要控制器的其他控制器設為從屬控制器,然而本發明並不限定這種設置方式。實務上,網路管理人員可根據SDN應用場景,決定何時收到的配置訊息的來源控制器為主要控制器。
(3)若配置列表不為空,且在配置列表中存在與配置訊息相同的控制器IP位址的情況下,交換機S1依據配置訊息更新配置列表中的配置參數,也就是該配置訊息對應的控制器,其相關資訊已存在配置列表中,交換機的運算處理器14依據該配置訊息更新對應於該控制器的資訊,例如全部或部分的配置參數,亦即更新配置列表中有變動的部分。
在控制器C與交換機S1建立連線並發送一繞送規則至交換機S1後,交換機S1接收此繞送規則並予以儲存。繞送規則包括以太類型、交換機輸入埠號及動作指令。補充說明的是,在多個控制器的系統中,該繞送規則還可進一步包括控制器位址。當交換機S1接收到配置訊息封包時,交換機S1依據該配置訊息封包對應的交換機輸入埠號與儲存的繞送規則,來判斷是否轉傳該配置訊息封包,也就是交換機S1的運算處理器14 依據繞送規則來執行一轉發程序。此外,在本案的軟體定義網路系統具有多個控制器的情況下,繞送規則係進一步包括相異的控制器C、C’的網路位址。詳言之,對交換機S1而言,在此種多個控制器的網路系統中,一旦與各個控制器建立連線,即會接收到各個控制器所傳送的繞送規則,而這些繞送規則即依各自記錄的控制器位址(例如Match Field欄位中的控制器位址)區隔出所對應的控制器。
具體而言,前述的轉發程序首先係由運算處理器14比對本次接收的封包與繞送規則兩者中的以太類型(eth_type)是否相符,例如皆為LLDP的以太類型定義數值(0x88CC),藉此交換機S1可確認本次接收的封包屬於配置訊息封包或一般資料封包。接著,交換機S1的運算處理器14再比對本次接收封包所使用的輸入埠號與繞送規則中的輸入埠號兩者是否相符,藉此交換機S1可確認發送封包的控制器是否存在對應的繞送規則,並基於上述比對結果,而執行下列作動內容:
(1)若該交換機S1的運算處理器14判斷接收的封包為配置訊息封包,且其所使用的輸入埠號與繞送規則中的輸入埠號相符的情況下,亦即交換機S1中存在與發送配置訊息封包的控制器對應的繞送規則,則交換機S1的運算處理器14執行繞送規則中的動作指令。在一實施例中,此動作指令為OFPP_FLOOD,意為將配置訊息封包以訊號收發器12發送到OpenFlow協定所規範的FLOOD保留埠(Reserved Port)。一般來說,FLOOD保留埠代表此配置訊息封包輸入埠及被最小生成樹(Minimum Spanning Tree,MST)協定禁用的連接埠(標示為OFPPS BLOCKED)之外的所有輸出埠。當然交換機S1也可以指定在虛擬區域網路(Virtual Local Area Network,VLAN)中進行Flooding這種廣播用的動作。實務上,網路管理人員可根據應用場景,讓控制器C指示交換機S1使用ALL保留埠達成類似於使用FLOOD保留埠的廣播效果,本發明不以為限。而在多個控制器的系統中,交換機S1除了比對接收配置 訊息封包所使用的輸入埠號之外,還進一步比對接收配置訊息封包來源的控制器位址,在接收的封包的輸入埠號與繞送規則中的輸入埠號相符,並且接收的配置訊息封包的來源的控制器位址與繞送規則中的控制器位址相符的情況下,則交換機S1執行繞送規則中的動作指令。
(2)若該交換機S1判斷接收的封包為配置訊息封包,且其所使用的輸入埠號與繞送規則中的輸入埠號不相符的情況下,則交換機S1的運算處理器14將此配置訊息封包封裝成Packet-In訊息並發送至控制器C。在其他實施例中,交換機S1亦可直接丟棄(Drop)這種封包。而在多個控制器的系統中,交換機S1除了比對接收配置訊息封包所使用的輸入埠號之外,還進一步比對接收配置訊息封包來源的控制器位址,在接收的配置訊息封包的輸入埠號與繞送規則中的輸入埠號不相符,或者接收的配置訊息封包的來源的控制器位址與繞送規則中的控制器位址不相符的情況下,則交換機S1將此封包封裝成Packet-In訊息並發送至控制器或丟棄。
(3)若交換機S1判斷本次接收到的封包不為配置訊息封包,則交換機S1進一步搜尋流表(Flow Table)中的其他流表項,檢查是否有Match Field與本次接收到的封包資訊相符。若有,則交換機S1依照Match Field對應的指令處理此封包;若無,則交換機S1依照Table-Miss Flow Entry對應的指令處理此封包或是透過流水線(Pipeline)尋找下一個流表。
在大型網路中,基於佈建成本考量,一控制器僅與地理位置相近的一台或數台交換機具有通訊連線;對於那些遠距離的交換機,控制器透過中繼交換機轉發封包至目標交換機,例如在圖1中,控制器C透過交換機S1和交換機S5發送封包至交換機S4。在一實施例中,一控制器C通訊連接至一交換機網路SN。為了實現交換機網路SN中所有交換機S1~S5的自動部署,控制器C主動發送配置訊息封包與繞送規則至鄰接的交換機S1,再透過鄰接的交換機S1以FLOOD動作指令逐層廣播配置訊 息封包至整個交換機網路,藉此完成所有交換機的初始化配置。相較習知由交換機S1主動向控制器C請求配置的方式,一實施例提出「控制器主動廣播配置訊息」的概念無疑更符合SDN分離控制平面的精神。
承上所述,大型網路的網路拓樸(Topology)往往容易出現交換機迴路(Switching Loop),即兩交換機之間的通訊途徑不只一條,例如在圖1中,交換機S1可透過e3、e4連接到交換機S4,交換機S1也可透過e5、e6連接到交換機S4。另一種交換機迴路則為一交換機的兩個連接埠互相對接。在具有迴路的交換機網路中廣播配置訊息封包時,可能導致此封包在迴路中被重複發送,進而形成廣播風暴(Broadcast Storm),佔用大量網路頻寬,造成網路癱瘓,同時耗盡所有網路設備的資源。
在一實施例中,為避免控制器C發送的配置訊息造成廣播風暴,交換機S1執行轉發程序時,對於不是來自控制器的配置訊息封包,將其視為經由某條交換機迴路抵達本交換機的封包。交換機將此封包封裝成Packet-In訊息並回傳發送至控制器,讓控制器決定如何處理這種封包。在其他實施例中,控制器C發送一包括丟棄動作指令(Drop)的繞送規則,指示交換機S1直接丟棄不是來自控制器的配置訊息封包。藉此降低配置訊息封包的流量,以避免廣播風暴。
另一實施例中,述及一種適用於軟體定義網路系統的交換機自動部署方法,此系統如圖1所示,包括一交換機網路SN通訊連接一控制器C。請再參考圖2,此自動部署方法在交換機S1接獲控制器C發送的配置訊息(步驟S21)之後,大致可分為關聯於轉發程序的部分及關聯於連線程序的部分。關聯於轉發程序的部分基本上會因交換機S1中是否已儲存繞送規則而選擇直接轉發或依繞送規則轉發,惟為能更有效避免廣播風暴產生,後續討論主要係著重於交換機S1依據繞送規則執行轉發程序(步驟S22)。而關聯於連線程序的部分則大致包含二個階段:第一階段為交換機S1根據配置訊息封包執行連線程序,如步驟S23~S24所示;第二階段為 控制器C經由與交換機S1建立的連線發送繞送規則;如步驟S25所示。下文將詳細敘述各階段的具體實現方式。
請參考圖2的步驟S21,控制器C主動發送配置訊息封包至一交換器S1。配置訊息封包格式例如用於廣播封包的LLDPDU或用於廣播或群播封包的IP Header,其中,配置訊息包括控制器的IP位址和多個配置參數,配置參數例如包括控制器連接埠號、連線協定類型、控制器連線模式及通訊協定版本號。在控制器C建立連線至交換機S1之前,控制器C亦可藉由配置參數中將控制器連接埠號預先告知交換機S1,交換機S1記錄此埠號以便在轉發程序中使用。連線協定類型例如TCP、TLS、SCTP或SSL等常見的網路通訊協定。控制器連線模式包括主動式(Active)及被動式(Passive),主動式代表交換機S1主動跟控制器C建立連線(因為當交換機收到配置訊息後,交換機便取得控制器IP位址);被動式代表交換機S1被動等待控制器C發送建立連線用的訊息。當SDN系統所使用的通訊協定版本變動時,控制器C可透過通訊協定版本號這個配置參數告知交換機S1。
請一併參考圖2的步驟S23~S25及圖3。在交換機S1收到配置訊息封包後,交換機S1搜尋儲存於交換機S1的配置列表。此配置列表記錄了交換機S1曾經接收的配置訊息的資訊。
若配置列表不存在與此控制器C發送的配置訊息完全相同的記錄,則代表下列幾種情況:(1)交換機S1第一次接收到配置訊息封包;(2)交換機S1曾接收到其他控制器的配置訊息封包,但第一次接收到來自控制器C的配置訊息封包;(3)交換機第二次(以上)接收到來自同一控制器C的配置訊息封包,但配置封包中的配置參數的至少一部分與當前配置列表所儲存者存在差異。上述(1)、(2)兩種情況對於交換機S1而言都屬於收到新控制器的配置訊息,而(3)的情況則需要更新配置列表的內容。因此,交換機S1與新控制器之間需建立連線,具體方式為交換機S1執行連 線程序。
若交換機S1搜尋出與本次接收的配置訊息封包完全相同的記錄,代表交換機第二次(以上)接收到此控制器C發送的配置訊息,換言之:此控制器C重複發送相同的配置訊息封包,其中至少兩次被同一交換機接收到。因此,交換機需轉發重複的配置訊息封包至可能尚未被配置的其他交換機S2~S5,具體方式為交換機S1執行轉發程序。
請參考圖3,其係另一實施例中連線程序的流程圖。在交換機S1確認配置列表中並未儲存與配置訊息封包完全相同的資訊且配置列表為空的情況下,也就是交換機S1在啟動電源後未曾收到任何一個控制器傳來的配置訊息,則交換機S1將此配置訊息內的資訊寫入至配置列表,也就是將配置訊息的控制器IP位址與配置參數新增至配置列表,並根據配置列表中記錄的控制器IP位址與配置參數向控制器發送一連線請求,以建立連線。交換機S1在確認成功建立連線後,將此控制器C設為主要控制器。上述連線程序之一流程可對應至圖3的步驟S40~S43。
接下來請參考圖3的步驟S44~S46。在交換機S1確認配置列表不為空,且配置列表中並未記錄與配置訊息相同的控制器IP位址,代表本次配置訊息係來自另一個控制器。此情況下,交換機S1將此配置訊息內的資訊寫入至配置列表,也就是將配置訊息的控制器IP位址與配置參數新增至配置列表,並根據配置列表中新增的控制器IP位址與配置參數向控制器發送一連線請求,以建立連線。交換機S1在確認成功建立連線後,將新建立連線的此控制器設為從屬控制器。一般而言,相較於主要控制器,從屬控制器僅具有寫入關於此從屬控制器的繞送規則、讀取交換機狀態或被動收取交換機訊息的權限。
前述連線程序係假設多個控制器先後發送各自的配置訊息至交換機網路SN中的同一台交換機S1。在另一實施例中,此交換機S1根據先收到的配置訊息中的控制器IP認定主要控制器,即交換機S1將第 一次建立連線的控制器設為主要控制器;交換機S1將第二次(含之後)建立連線的控制器設為從屬控制器。然而,本發明並不限制上述主從控制器的認定方式。另外,在一實施例中,當運用的通訊協定為OpenFlow協定時,亦允許多個從屬控制器在主要控制器故障或斷線時,透過選舉或其他方式得出下一任主要控制器,然後由主要控制器向交換機S1發送角色申請(Role-request)訊息。
請參考圖3,在配置列表不為空而已經存有記錄,且配置列表中存有與本次配置訊息相同的控制器IP位址,但配置列表中對應於控制器IP位址的配置參數與本次配置訊息不同的情況下,即代表交換機S1先前接收過來自同一控制器的配置訊息,因此如步驟S47所示,交換機S1在配置列表找出對應配置訊息中控制器IP位址的記錄,並依據本次配置訊息的配置參數值更新此記錄。
請參考圖2的步驟S24~S25。在交換機S1執行連線程序後,若交換機S1不是和發送配置訊息的控制器建立連線(即交換機S1係執行圖3中的步驟S47),則回到步驟S21,交換機S1等待下一次的配置訊息封包。然而,對於SDN系統而言,交換機網路SN中可能尚有其他交換機例如S2~S4尚未配置,故已配置的交換機S1需協助轉發控制器C的配置訊息封包,以完成所有交換機的自動部署。因此,於另一方面,在交換機S1執行連線程序後,若交換機S1接著和配置訊息的控制器C建立連線(即交換機S1係執行圖3中的步驟S43或S46),則此控制器C透過此連線發送一繞送規則至交換機,如步驟S25所示。然後,對於交換機S1而言,同樣回到步驟S21,等待下一次的配置訊息封包。
請回到圖2的步驟S21,控制器發送另一配置訊息封包。實務上,網路管理人員可根據SDN應用場景,指示控制器C每隔一固定時間發送完全相同的配置訊息封包,以廣播或群播方式擴散至所有通訊連接的交換機,達成SDN系統中交換機S1~S5的自動部署任務。
在交換機S1儲存有繞送規則,且接收到另一配置訊息封包時,交換機S1可依據繞送規則執行轉發程序。交換機S1執行的轉發程序的一實施例係為:交換機S1將來自控制器C的配置訊息封包轉發至其他交換機,藉此配置交換機網路SN中未與控制器直接連線的多個交換機。例如圖1中,交換機S1執行轉發程序,將控制器C的配置訊息封包轉發至未與控制器直接通訊連接的交換機S2~S5。此外,交換機S1執行的轉發程序的另一實施例係為:交換機S1將來自其他交換機的配置訊息封包捨棄或回傳至控制器。
請參考圖1,繞送規則來自控制器C,並且繞送規則包括:以太類型、交換機輸入埠號及動作指令。交換機S1根據繞送規則中定義的動作指令處理收到的配置訊息封包。在另一實施例中,步驟S25發送的繞送規則係用於配置訊息封包,然而本發明並未限制控制器C只能發送針對配置訊息封包的繞送規則。舉例來說,在OpenFlow協定中採用預先建立模式(Proactive)的控制器C,在發送配置訊息封包用的繞送規則之後,繼續發送一般資料封包用的繞送規則或流表項,以節省交換機S1以Packet-in訊息詢問控制器C如何處理封包的時間。
接下來敘述轉發程序。交換機S1根據封包的以太類型及封包的交換機輸入埠號來決定是否執行轉發程序。詳言之,交換機S1接收到封包後,係依據封包的以太類型判斷此封包屬於配置訊息封包或一般資料封包。配置訊息封包可以是使用LLDPDU的廣播格式或IP Header的群播格式,這兩種格式各自具有不同的以太類型。另,在交換機S1與控制器C建立連線之後,交換機S1將本身用以連接控制器的連接埠號告知控制器C,使得控制器C在發送繞送規則時得以指定此連接埠號。如此當交換機S1經由此連接埠接收到封包時,可藉由繞送規則得知此封包是否來自本交換機S1的主要控制器。
當交換機S1在繞送規則中尋找到符合封包的前述兩項資訊 (配置訊息封包的以太類型、配置訊息封包的交換機輸入埠號)時,交換機執行動作指令,也就是以FLOOD指令將此配置訊息封包廣播或群播至其他交換機S2~S5。若交換機S1根據繞送規則的比對結果,發現配置訊息封包只符合以太類型,但不符合交換機輸入埠號時,此時交換機S1以Packet In訊息將此配置訊息封包發送給控制器詢問如何處理,或依據繞送規則執行丟棄此封包。
綜合以上所述,本案提出一種交換機自動部署的SDN系統及一種SDN系統的交換機自動部署方法,自動部署的SDN系統中包括一控制器主動發送配置訊息封包至交換機,以及多個交換機根據配置訊息封包和控制器建立連線並接收控制器指示的繞送規則;藉此交換機可以繼續接收配置訊息封包並將其轉發至交換機網路中的其他交換機,實現所有交換機的自動部署。藉由繞送規則的設置,避免了配置訊息可能造成的廣播風暴。另外,當交換機的配置參數需要調整時,藉由本案提出的交換機自動部署方法,控制器隨時可以發送新配置參數的封包至交換機,交換機接收到此封包後可自動更新配置參數。因此,對於需要設定眾多參數的大型網路中,本案一實施例中所提出的交換機自動部署方法節省對每台交換機一一配置的時間及人力成本,同時避免手動設定的失誤,提升網路設備佈建後初始化設定的效率。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
1‧‧‧軟體定義網路系統
12‧‧‧訊號收發器
14‧‧‧儲存裝置
16‧‧‧運算處理器
C‧‧‧控制器
SN‧‧‧交換機網路
S1~S5‧‧‧交換機
e1~e6‧‧‧通訊連線
S21~S25、S40~S47‧‧‧步驟
圖1係本發明一實施例中的軟體定義網路系統的通訊連線示意圖。
圖2係本發明另一實施例中的交換機自動部署方法流程圖。
圖3係本發明另一實施例中的連線程序方法流程圖。

Claims (26)

  1. 一種交換機自動部署方法,適用於一軟體定義網路系統,該軟體定義網路系統包括一控制器通訊連接一交換機,所述的自動部署方法包括:該控制器發送一配置訊息至該交換機,該配置訊息包括該控制器之一網路位址及多個配置參數;該交換機接收該配置訊息;以及該交換機依據該網路位址及該些配置參數與該控制器建立連線。
  2. 如請求項1所述之交換機自動部署方法,其中該交換機屬於一交換機網路,該交換機網路具有多個交換機彼此通訊連接,且在該交換機與該控制器建立連線之後,該控制器發送一繞送規則至該交換機,該交換機依據該繞送規則發送或不發送該配置訊息,其中該繞送規則包括一交換機輸入埠號及一動作指令。
  3. 如請求項1所述之交換機自動部署方法,其中該交換機具有一配置列表用以記錄該網路位址及該些配置參數,該交換機依據該網路位址及該些配置參數與該控制器建立連線時,該交換機係執行一連線程序,該連線程序包括:當該配置列表為空時,該交換機將該配置訊息新增至該配置列表並依據該網路位址及該些配置參數建立連線至該控制器,且將該控制器設為該交換機的主要控制器;當該配置列表不為空且該配置列表中不存在該配置訊息的該網路位址時,該交換機將該配置訊息新增至該配置列表並依據新增的該網路位址及該些配置參數建立連線至該控制器,且將該控制器設為該交換機的從屬控制器;或當該配置列表不為空且該配置列表中存在該配置訊息的該網路位址時,該交換機依據該些配置參數更新該配置列表。
  4. 如請求項1所述之交換機自動部署方法,其中該些配置參數包括該控制器之一連接埠號及一連線協定類型。
  5. 如請求項1所述之交換機自動部署方法,其中該控制器以廣播封包格式或以群播封包格式發送該配置訊息。
  6. 如請求項1所述之交換機自動部署方法,其中在該控制器發送該配置訊息之後,該控制器發送另一配置訊息至該交換機,該另一配置訊息包括該控制器之該網路位址及該些配置參數。
  7. 如請求項2所述之交換機自動部署方法,其中在該控制器發送該配置訊息之後,該控制器發送另一配置訊息至該交換機,該另一配置訊息包括該控制器之該網路位址及該些配置參數;在該交換機接收該另一配置訊息及該繞送規則之後,該交換機執行一轉發程序,該轉發程序包括:該交換機比對該另一配置訊息的一輸入埠號與該繞送規則的該交換機輸入埠號是否相同,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號相同時,該交換機依據該動作指令以廣播封包格式發送該另一配置訊息至鄰接該交換機的其他交換機,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號不相同時,該交換機依據該動作指令捨棄該另一配置訊息或回傳該另一配置訊息至該控制器。
  8. 一種交換機自動部署的軟體定義網路系統,適用於一軟體定義網路,包括:一控制器,該控制器發送一配置訊息,該配置訊息包括該控制器之一網路位址及多個配置參數;以及一交換機,該交換機通訊連接該控制器,該交換機接收該配置訊息並依據該網路位址及該些配置參數與該控制器建立連線。
  9. 如請求項8所述之交換機自動部署的軟體定義網路系統,其中該交換機屬於一交換機網路,該交換機網路具有多個交換機彼此通訊連接,且在該交換機與該控制器建立連線之後,該控制器發送一繞送規則至該交換機,該交換機依據該繞送規則發送或不發送該配置訊息,其中該繞送規則包括一交換機輸入埠號及一動作指令。
  10. 如請求項8所述之交換機自動部署的軟體定義網路系統,其中該交換機具有一配置列表用以記錄該網路位址及該些配置參數,該交換機依據該網路位址及該些配置參數與該控制器建立連線時,該交換機係執行一連線程序,該連線程序包括:當該配置列表為空時,該交換機將該配置訊息新增至該配置列表並依據該網路位址及該些配置參數建立連線至該控制器,且將該控制器設為該交換機的主要控制器;當該配置列表不為空且該配置列表中不存在該配置訊息的該網路位址時,該交換機將該配置訊息新增至該配置列表並依據新增的該網路位址及該些配置參數建立連線至該控制器,且將該控制器設為該交換機的從屬控制器;或當該配置列表不為空且該配置列表中存在該配置訊息的該網路位址時,該交換機依據該些配置參數更新該配置列表。
  11. 如請求項8所述之交換機自動部署的軟體定義網路系統,其中該些配置參數包括該控制器之一連接埠號及一連線協定類型。
  12. 如請求項8所述之交換機自動部署的軟體定義網路系統,其中該控制器以廣播封包格式或以群播封包格式發送該配置訊息。
  13. 如請求項8所述之交換機自動部署的軟體定義網路系統,其中在該控制器發送該配置訊息之後,該控制器發送另一配置訊息,該另一配置訊息包括該網路位址及該些配置參數。
  14. 如請求項9所述之交換機自動部署的軟體定義網路系統,其中在該控制器發送該配置訊息之後,該控制器發送另一配置訊息,該另一配置訊息包括該網路位址及該些配置參數;在該交換機接收該另一配置訊息及該繞送規則之後,該交換機執行一轉發程序,該轉發程序包括:該交換機比對該另一配置訊息的一輸入埠號與該繞送規則的該交換機輸入埠號是否相同,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號相同時,該交換機依據該動作指令以廣播封包格式發送該另一配置訊息至鄰接該交換機的其他交換機,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號不相同時,該交換機依據該動作指令捨棄該另一配置訊息或回傳該另一配置訊息至該控制器。
  15. 如請求項13所述之交換機自動部署的軟體定義網路系統,其中該控制器具有一時間設定值,用以調整該控制器發送該配置訊息及該另一配置訊息的間隔時間。
  16. 一種自動配置交換機的方法,適用於至少一交換機,且該至少一交換機通訊連接一控制器,包括:該至少一交換機其中之一接收一配置訊息,該配置訊息包括該控制器之一網路位址及多個配置參數;以及接收該配置訊息的該交換機依據該網路位址及該些配置參數與該控制器建立連線。
  17. 如請求項16所述之自動配置交換機的方法,其中在接收該配置訊息的該交換機與該控制器建立連線之後,接收該配置訊息的該交換機接收該控制器所發送的一繞送規則並依據該繞送規則發送或不發送該配置訊息,其中該繞送規則包括一交換機輸入埠號及一動作指令。
  18. 如請求項16所述之自動配置交換機的方法,其中接收該配置訊息的該交換機具有一配置列表用以記錄該網路位址及該些配置參數,接收該配置訊息的該交換機依據該網路位址及該些配置參數與該控制器建立連線時,接收該配置訊息的該交換機係執行一連線程序,該連線程序包括:當該配置列表為空時,接收該配置訊息的該交換機將該配置訊息新增至該配置列表並依據該網路位址及該些配置參數建立連線至該控制器,且將該控制器設成接收該配置訊息的該交換機的主要控制器;當該配置列表不為空且該配置列表中不存在該配置訊息的該網路位址時,接收該配置訊息的該交換機將該配置訊息新增至該配置列表並依據新增的該網路位址及該些配置參數建立連線至該控制器,且將該控制器設成接收該配置訊息的該交換機的從屬控制器;或當該配置列表不為空且該配置列表中存在該配置訊息的該網路位址時,接收該配置訊息的該交換機依據該些配置參數更新該配置列表。
  19. 如請求項16所述之自動配置交換機的方法,其中該些配置參數包括該控制器之一連接埠號及一連線協定類型。
  20. 如請求項16所述之自動配置交換機的方法,其中更包括在接收該配置訊息的該交換機接收該配置訊息之後,接收該配置訊息的該交換機接收另一配置訊息,該另一配置訊息包括該控制器之該網路位址及該些配置參數。
  21. 如請求項17所述之自動配置交換機的方法,其中在接收該配置訊息的該交換機接收該配置訊息之後,接收該配置訊息的該交換機接收另一配置訊息,該另一配置訊息包括該控制器之該網路位址及該些配置參數;在接收該配置訊息的該交換機接收該另一配置訊息及該繞送規則之後,該交換機執行一轉發程序,該轉發程序包括:接收該配置訊息的該交換機比對該另一配置訊息的一輸入埠號與該繞送規則的該交換機輸入埠號是否相同,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號相同時,接收該配置訊息的該交換機依據該動作指令以廣播封包格式發送該配置訊息至與接收該配置訊息的該交換機鄰接的其他交換機,當該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號不相同時,接收該配置訊息的該交換機依據該動作指令捨棄該另一配置訊息或回傳該另一配置訊息至該控制器。
  22. 一種自動配置的交換機,適用於一軟體定義網路系統,該軟體定義網路系統包括一控制器通訊連接一交換機,所述的自動配置的交換機包括:一訊號收發器用以接收一配置訊息,其中該配置訊息包括該控制器之一網路位址及多個配置參數;一儲存裝置用以儲存該配置訊息;以及一運算處理器用以依據該網路位址及該些配置參數建立連線至該控制器。
  23. 如請求項22所述之自動配置的交換機,其中該交換機屬於一交換機網路,該交換機網路具有多個交換機彼此通訊連接,該儲存裝置更用以儲存一繞送規則,該運算處理器更用以依據該繞送規則控制該訊號收發器發送或不發送該配置訊息,其中該繞送規則包括一交換機輸入埠號及一動作指令。
  24. 如請求項22所述之自動配置的交換機,其中該儲存裝置更包括一配置列表用以記錄該網路位址及該些配置參數,該交換機依據該配置訊息與該控制器建立連線時,該運算處理器係執行一連線程序,該連線程序包括:當該配置列表為空時,該運算處理器將該配置訊息新增至該配置列表並依據該網路位址及該些配置參數控制該訊號收發器建立連線至該控制器,且將該控制器設成該交換機的主要控制器;當該配置列表不為空且該配置列表中不存在該配置訊息的該網路位址時,該運算處理器將該配置訊息新增至該配置列表並依據新增的該網路位址及該些配置參數控制該訊號收發器建立連線至該控制器,且將該控制器設成該交換機的從屬控制器;或當該配置列表不為空且該配置列表中存在該配置訊息的該網路位址時,該運算處理器依據該些配置參數更新該配置列表。
  25. 如請求項22所述之自動配置的交換機,其中該些配置參數包括該控制器之一連接埠號及一連線協定類型。
  26. 如請求項23所述之自動配置的交換機,其中在該訊號收發器接收該控制器發送的另一配置訊息之後,該運算處理器執行一轉發程序,該轉發程序包括:該運算處理器比對該訊號收發器接收該另一配置訊息的一輸入埠號與該繞送規則的該交換機輸入埠號是否相同,當該訊號收發器接收該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號相同時,該運算處理器依據該動作指令以廣播封包格式透過該訊號收發器發送該另一配置訊息至鄰接該交換機的其他交換機,當該訊號收發器接收該另一配置訊息的該輸入埠號與該繞送規則的該交換機輸入埠號不相同時,該運算處理器依據該動作指令捨棄該另一配置訊息或回傳該另一配置訊息至該控制器。
TW106130031A 2017-09-01 2017-09-01 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 TWI639325B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW106130031A TWI639325B (zh) 2017-09-01 2017-09-01 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法
CN201710907066.2A CN109428766A (zh) 2017-09-01 2017-09-29 交换机自动部署的软件定义网络系统及其方法
US15/836,848 US10931521B2 (en) 2017-09-01 2017-12-09 Software defined network system with auto-deployed switch and method for deploying switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106130031A TWI639325B (zh) 2017-09-01 2017-09-01 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法

Publications (2)

Publication Number Publication Date
TWI639325B true TWI639325B (zh) 2018-10-21
TW201914265A TW201914265A (zh) 2019-04-01

Family

ID=64802946

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106130031A TWI639325B (zh) 2017-09-01 2017-09-01 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法

Country Status (3)

Country Link
US (1) US10931521B2 (zh)
CN (1) CN109428766A (zh)
TW (1) TWI639325B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11481296B2 (en) * 2018-09-10 2022-10-25 International Business Machines Corporation Detecting configuration errors in multiport I/O cards with simultaneous multi-processing
US11487933B2 (en) * 2018-12-07 2022-11-01 Hewlett Packard Enterprise Development Lp Error detection and correction for multiple document editor
US11323287B2 (en) * 2019-07-18 2022-05-03 International Business Machines Corporation Link layer method of configuring a bare-metal server in a virtual network
CN112654059B (zh) * 2019-10-10 2022-06-07 大唐移动通信设备有限公司 一种基站传输通信异常的原因确定方法及装置
US11470071B2 (en) * 2020-04-20 2022-10-11 Vmware, Inc. Authentication for logical overlay network traffic
CN112087337A (zh) * 2020-09-11 2020-12-15 浪潮思科网络科技有限公司 一种交换机配置方法和交换机配置系统
JP2022149680A (ja) * 2021-03-25 2022-10-07 日本電気株式会社 通信装置、および通信システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796298A (zh) 2014-01-22 2015-07-22 杭州华三通信技术有限公司 一种sdn网络故障分析的方法及装置
TW201722125A (zh) 2015-12-11 2017-06-16 英業達股份有限公司 軟體定義網路中流量項目之管理方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9184987B2 (en) * 2011-02-23 2015-11-10 Tyco Fire & Security Gmbh System and method for automatic configuration of master/slave devices on a network
EP2731304B1 (en) * 2012-03-14 2017-06-14 Huawei Technologies Co., Ltd. Method, switch and system for transmitting an establish connection request
US9225635B2 (en) * 2012-04-10 2015-12-29 International Business Machines Corporation Switch routing table utilizing software defined network (SDN) controller programmed route segregation and prioritization
CN103685009B (zh) 2012-08-31 2017-04-26 华为技术有限公司 数据包的处理方法、控制器及系统
CN103974380B (zh) * 2013-01-24 2018-05-15 新华三技术有限公司 一种终端接入位置保活的方法及装置
CN105103494B (zh) * 2013-01-31 2018-09-25 慧与发展有限责任合伙企业 网络交换机仿真
CN103209121B (zh) 2013-03-15 2019-02-01 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
CN104429028B (zh) * 2013-05-06 2018-01-12 华为技术有限公司 基于sdn的网络配置方法、装置及系统
CN104158916A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 设备接入网络的方法和装置
CN104301129A (zh) * 2013-07-16 2015-01-21 上海宽带技术及应用工程研究中心 一种软件定义网络中的动态主机配置方法及系统
US9350632B2 (en) * 2013-09-23 2016-05-24 Intel Corporation Detection and handling of virtual network appliance failures
CN108183861B (zh) * 2013-10-26 2021-09-07 华为技术有限公司 Sdn交换机获取精确流表项方法及sdn交换机、控制器、系统
CN103780471B (zh) 2014-01-04 2017-02-15 浙江工商大学 一种应用于软件定义网络的多控制器管理网络设备的方法
CN104869065B (zh) * 2014-02-26 2020-04-21 中兴通讯股份有限公司 数据报文处理方法及装置
CN105393511B (zh) * 2014-06-30 2019-04-26 华为技术有限公司 一种交换机模式切换方法、设备及系统
CN104104572B (zh) 2014-07-15 2017-12-08 新华三技术有限公司 一种sdn网络中的交换机自动部署方法及装置
CN104202364B (zh) 2014-08-15 2018-08-28 新华三技术有限公司 一种控制器的自动发现和配置方法和设备
WO2016029945A1 (en) * 2014-08-28 2016-03-03 Huawei Technologies Co.,Ltd Method and controller for routing data packets in a software defined network
CN104618156B (zh) * 2015-01-26 2018-11-27 新华三技术有限公司 网络配置的方法及装置
US9521071B2 (en) * 2015-03-22 2016-12-13 Freescale Semiconductor, Inc. Federation of controllers management using packet context
US10791048B2 (en) * 2015-05-13 2020-09-29 Futurewei Technologies, Inc. System and method for making and disseminating local policy decisions in a software programmable radio network
TWI566544B (zh) 2015-05-14 2017-01-11 鴻海精密工業股份有限公司 網路檢測方法與使用該方法的控制器
US10159018B2 (en) * 2015-08-21 2018-12-18 Korea University Research And Business Foundation Data processing method for accommodating legacy network service in 4G or next generation network
US9774526B2 (en) * 2015-10-29 2017-09-26 International Business Machines Corporation Operating a port shared by multiple controllers in a software defined network
CN105430116B (zh) 2015-11-30 2019-03-01 北京邮电大学 一种建立控制信道的方法及装置
US10355969B2 (en) * 2015-12-25 2019-07-16 KN Install Solutions (N.IRE) Limited Data driven orchestrated network using a light weight distributed sdn controller
US10148594B2 (en) * 2015-12-31 2018-12-04 Fortinet, Inc. Application based conditional forwarding and load balancing in a software defined networking (SDN) architecture
TWI599203B (zh) * 2016-01-20 2017-09-11 國立交通大學 網路通訊系統、軟體定義網路控制器及其路由方法
JP2017130852A (ja) * 2016-01-21 2017-07-27 富士通株式会社 転送装置、転送方法、および、転送システム
US10264040B2 (en) * 2016-08-03 2019-04-16 Big Switch Networks, Inc. Systems and methods to manage multicast traffic
US10523499B2 (en) * 2016-09-20 2019-12-31 Hewlett Packard Enterprise Development Lp Master controller selection in a software defined network
CN106888110B (zh) * 2016-12-16 2021-01-29 新华三技术有限公司 一种配置数据同步方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796298A (zh) 2014-01-22 2015-07-22 杭州华三通信技术有限公司 一种sdn网络故障分析的方法及装置
TW201722125A (zh) 2015-12-11 2017-06-16 英業達股份有限公司 軟體定義網路中流量項目之管理方法

Also Published As

Publication number Publication date
US10931521B2 (en) 2021-02-23
CN109428766A (zh) 2019-03-05
US20190075019A1 (en) 2019-03-07
TW201914265A (zh) 2019-04-01

Similar Documents

Publication Publication Date Title
TWI639325B (zh) 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法
EP3188409B1 (en) Oam mechanisms for evpn active-active services
EP2974133B1 (en) Method and system for controlling an underlying physical network by a software defined network
GB2564946B (en) Virtual converged cable access platform (CCAP) core
US9325615B2 (en) Method and apparatus for implementing communication between virtual machines
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
CN110324165B (zh) 网络设备的管理方法、装置及系统
EP2985952B1 (en) Method and device for protecting service reliability, and network virtualization system
US9654418B2 (en) Method and system of supporting operator commands in link aggregation group
WO2016177030A1 (zh) Sdn网络设备建链方法、设备和系统
WO2013185715A1 (zh) 一种实现虚拟网络的方法和虚拟网络
JP5488979B2 (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
US11563680B2 (en) Pseudo wire load sharing method and device
EP3069471B1 (en) Optimized multicast routing in a clos-like network
WO2012152178A1 (zh) 获知端口扩展拓扑信息的方法、系统和控制桥
WO2018113792A1 (zh) 广播报文的处理方法和处理装置、控制器和交换机
WO2022001669A1 (zh) 建立vxlan隧道的方法及相关设备
EP3065350B1 (en) Link discovery method, system and device
US11588701B2 (en) Method and system for determining network slice topology, and device
US20170310554A1 (en) Network Virtualization
JP2018521599A (ja) Sdnベースのarp実装方法および装置
JP6206493B2 (ja) 制御装置、通信システム、中継装置の制御方法及びプログラム
KR102092091B1 (ko) 소프트웨어 정의 네트워크에서 고가용성 및 고신뢰성을 제공하는 방법, 장치 및 컴퓨터 프로그램
KR101767439B1 (ko) 소프트웨어 정의 네트워크에서 패킷의 경로를 설정하는 방법, 장치 및 컴퓨터 프로그램
US11252085B2 (en) Link resource transmission method and apparatus