TWI513260B - 路由控制方法與裝置 - Google Patents
路由控制方法與裝置 Download PDFInfo
- Publication number
- TWI513260B TWI513260B TW102146229A TW102146229A TWI513260B TW I513260 B TWI513260 B TW I513260B TW 102146229 A TW102146229 A TW 102146229A TW 102146229 A TW102146229 A TW 102146229A TW I513260 B TWI513260 B TW I513260B
- Authority
- TW
- Taiwan
- Prior art keywords
- link
- packet
- switches
- links
- address
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係關於網路路由(routing),特別係關於軟體定義網路(software-defined network,簡稱SDN)上的路由控制方法與裝置。
在一網路中如何平衡各連結(link)的負載而極大化封包總通量一向是電腦網路技術的重要議題,尤其在網路位相(topology)益形複雜、資料量與日俱增的趨勢下,傳統等成本多路徑(equal-cost multi-path,簡稱ECMP)盲目均分流量的做法已不合時宜。
鑒於上述問題,本發明旨在利用軟體定義網路中切分交換器(switch)的資料面(data plane)與控制面(control plane)而得以集中管理路由的特性,提供一種獨立運作不影響其他應用程式的路由控制方法與裝置。
本發明提供一種用以平衡網路中多個連結的負載的路由控制方法,包含:透過網路上一或多個交換器,對每一連結週期性地量測負載率;依據觸發訊號,選擇經過該
些連結中一超載連結的一封包流(flow);依據該些連結的負載率、該封包流的起點位址和終點位址,決定該封包流所需經過的該些連結中至少一替代連結;以及選擇性地設定替代連結上至少一替代交換器的封包處理表,使該封包流經過替代連結。替代交換器係該或該些交換器其中之一。
本發明提供一種路由控制裝置,用以平衡網路中多個連結的負載,包含通訊模組、處理模組與路由計算模組。通訊模組用以透過網路上一或多個交換器,對每一連結週期性地量測負載率,且用以產生觸發訊號。處理模組耦接通訊模組,用以依據觸發訊號,選擇經過該些連結中一超載連結的一封包流,且用以選擇性地設定該些連結中至少一替代連結上至少一替代交換器的封包處理表,使該封包流經過替代連結。替代交換器係該或該些交換器其中之一。路由計算模組耦接處理模組,用以依據該些連結的負載率、該封包流的起點位址和終點位址,決定該封包流所需經過的替代連結。
綜上所述,本發明提供之路由控制方法與裝置可以軟體定義網路的控制器(controller)實作,當觸發訊號指示某連結超載時,設定替代交換器,重新導向超載連結上的某個封包流;此流程可被重複執行,直到該連結的負載不再那麼吃緊。
以上關於本發明內容及以下關於實施方式之說明係用以示範與闡明本發明之精神與原理,並提供對本發明
之申請專利範圍更進一步之解釋。
1‧‧‧路由控制裝置
10‧‧‧處理模組
12‧‧‧通訊模組
16‧‧‧路由計算模組
S11-S19‧‧‧步驟
2‧‧‧網路
21-27‧‧‧連結
30、32‧‧‧終端主機
40-46‧‧‧交換器
第1圖係依據本發明一實施例路由控制裝置的高階方塊圖。
第2圖係依據本發明一實施例路由控制方法的流程圖。
第3圖係一網路的高階方塊圖。
以下在實施方式中敘述本發明之詳細特徵,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且依據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下實施例係進一步說明本發明之諸面向,但非以任何面向限制本發明之範疇。
請參見第1圖。第1圖係依據本發明一實施例路由控制裝置的高階方塊圖。如第1圖所示,路由控制裝置1可以是軟體定義網路的控制器,包含處理模組10、通訊模組12與路由計算模組16。處理模組10分別耦接通訊模組12和路由計算模組16。軟體定義網路可以OpenFlow協定實作,例如交換器開放控制面而能與控制器以訊息溝通。路由控制裝置1以通訊模組12所包含的網路介面卡(network interface card,簡稱NIC)透過連結耦接網路上的一或多臺交換器,如
交換器40。
請參見第2圖。第2圖係依據本發明一實施例路由控制方法的流程圖。如第2圖所示,於步驟S11中,通訊模組12透過各交換器,對每一連結週期性地量測負載率。實務上,交換器需被開啟sFlow或NetFlow等網路量測功能,並將包括可見連結(如交換器的實體接線)的負載率的所得資訊回報給具監視功能的通訊模組12。交換器可以即時地(real-time)也可以較低的頻率量測或回報。
通訊模組12可設定有觸發條件,並於其發生時產生觸發訊號。舉例而言,觸發條件可以是「一連結的負載大於其頻寬的90%」,則觸發訊號指示此連結超載。在其他實施例中,觸發條件中連結負載率可以有不同的上限。在一實施例中,觸發條件更可以考量超載是否為持續性的,如通訊模組12在「一連結的負載率大於90%超過4秒」才產生觸發訊號。
於步驟S13中,處理模組10依據觸發訊號,選擇經過超載連結的一個封包流。將任何封包流移出超載連結顯然有助於減輕此連結的負載。實務上,處理模組10可向關聯於超載連結的交換器取得所有經過此連結的封包流的列表,並選擇流量最可觀的封包流以利步驟S15的執行。於步驟S15中,路由計算模組16依據選擇出的封包流的起點位址和終點位址,重新規劃遞送此封包流的最短路徑,著眼於避
開前述超載連結。規劃時可以以步驟S11中週期性量測的各連結的負載率為連結成本;重新規劃出的路徑會使此封包流經過相異於超載連結的至少一替代連結和其上至少一替代交換器。
在一實施例中,處理模組10於步驟S17中判斷若將選擇出的封包流導向至替代連結,是否反而造成替代連結超載。顯然若此封包流會造成替代連結超載,則通訊模組12會於步驟S13中對替代連結產生觸發訊號,路由計算模組16又需執行步驟S15搬動封包流,形成無限循環。在一實施例中,若處理模組10於步驟S17中判斷替代連結不可行,則路由控制裝置1回到步驟S15重新對此封包流規劃路徑。在另一實施例中,路由控制裝置1可回到步驟S13,選擇原超載連結上其他的(如流量次大的)的封包流並執行步驟S15,或放棄並等待網路滿載的情況稍解再行路由控制。
若處理模組10於步驟S17中判斷承擔選擇出的封包流不會使替代連結超載時,則可於步驟S19中設定替代交換器的封包處理表,使替代交換器接收此封包流的封包後能將之導向至替代連結。封包處理表可以是但不限於OpenFlow所定義的流表(flow table)。具體而言,於步驟S19中,處理模組10於替代交換器的封包處理表中加入針對此封包流(如以其起點位址和終點位址辨識)的一條處理規則。這條處理規則用於平衡負載,因此具緊迫性,應用上應比其
他來源的處理規則優先。又這條處理規則具臨時性,當原超載連結恢復正常或此封包流結束後即不再適用,因此處理模組10亦可在其中設定一適用時限。
請配合第1圖和第2圖參見第3圖。第3圖係一網路的高階方塊圖。如第3圖所示,在網路2上有終端主機(host)30和32,以及交換器40、42、44與46。終端主機30以連結21耦接交換器40,並透過交換器40和網路2上其他可能存在的終端主機溝通。終端主機32以連結27耦接交換器46。交換器40和46因耦接終端主機而常被稱為緣(edge)交換器,位於網路2內部的交換器42和44則是核(core)交換器。交換器40以連結22耦接交換器42。交換器40以連結23耦接交換器44。交換器42以連結24耦接交換器46。交換器42以連結25耦接交換器44。交換器44以連結26耦接交換器46。概念上未繪於第3圖中的路由控制裝置1係分別耦接交換器40、42、44與46,但實際上路由控制裝置1可以與網路2中某交換器整合,或是作為終端主機呈現的伺服器。
假設於步驟S11和S13中連結22超載,而處理模組10選擇重新導向自終端主機30至終端主機32的一個封包流;此封包流現在的路徑是連結21、22、24和27,亦即依序經過交換器40、42和46。復假設於步驟S15和S17中路由控制裝置1決定此封包流的一條可用的替代路徑是連結21、23、26和27(連結23與26是替代連結),因此處理模組10
於步驟S19中在交換器40的封包處理表中加入「將此自終端主機30至終端主機32的封包流送往連結23」的規則,並設定交換器44「將此自終端主機30至終端主機32的封包流送往連結26」,以此類推。
一般而言,步驟S15中引用的起點和終點位址,如第3圖中用以辨識終端主機30和32者,指的是媒體存取控制(media access control,簡稱MAC)位址。值得一提的是,本發明之路由控制方法亦適用於網路基礎建設的一般性維護。具體而言,在一實施例的步驟S11中,交換器可以即時量測網路中所有連結的負載率,但同時以較低頻率並行對網路內部連結(如連結22至26)的另一種量測。對內部連結而言,通訊模組12仍在觸發條件符合時產生觸發訊號,唯此觸發條件可能略為寬鬆,如「負載率大於80%」,相較於即時量測所有連結時的90%上限。路由計算模組16於步驟S15中可捨封包流兩終端主機而取兩緣交換器(如交換器40和46)對網路內部的媒體存取控制位址來規劃替代路徑。舉例而言,當連結24超載時,任何封包流仍能沿連結25和26從交換器42被遞送到交換器46(以及任何後續的目的地)。處理模組10於步驟S19中設定的針對內部連結的處理規則將不會與終端主機的位址有關。在一實施例中,這種規則的優先性低於即時量測、觸發造成者(但仍高於非出自本發明的處理規則),但適用時限較長。
綜上所述,本發明提供之路由控制方法與裝置可以軟體定義網路的控制器實作,藉修改替代交換器的封包處理表,重新導向超載連結上的某個封包流;此流程可被重複執行,直到該連結的負載不再那麼吃緊。在一實施例中,只有重新導向的封包流不會使替代連結超載時處理模組才設定替代交換器,且新增的處理規則具高優先性和適用時限。在一實施例中,觸發訊號指示超載連結的負載率係大於某上限超過某預設時間。在一實施例中,網路基礎建設的一般性維護可與即時量測並行。
本發明以實施例揭露如上,然前述實施例並非用以限定本發明。在本發明之範圍內不脫離本發明之精神而為之更動與潤飾均屬本發明之保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
Claims (6)
- 一種路由控制方法,用以平衡一網路中多個連結的負載,該路由控制方法包含:透過該網路上一或多個交換器,週期性地量測該些連結的多個負載率,每一該連結係分別對應該些負載率其中之一;依據量測時產生的一觸發訊號,選擇一封包流,該封包流經過該些連結中一超載連結;依據該些連結的該些負載率、該封包流的一起點位址和該封包流的一終點位址,決定該封包流所需經過的該些連結中至少一替代連結;以及選擇性地設定該替代連結上至少一替代交換器的一封包處理表,使該封包流經過該替代連結,該替代交換器係該或該些交換器其中之一;其中該觸發訊號指示該超載連結對應的該負載率大於一上限;其中選擇性地設定該替代交換器的該封包處理表的步驟包含:判斷當該封包流經過該替代連結時,該替代連結對應的該負載率是否大於該上限; 其中當該替代連結對應的該負載率不大於該上限時,於該封包處理表加入高優先性的一處理規則,且該處理規則具有一適用時限。
- 如請求項1所述的路由控制方法,其中該觸發訊號更指示該超載連結對應的該負載率大於該上限超過一預設時間。
- 如請求項2所述的路由控制方法,其中該起點位址係該或該些交換器其中之一的一媒體存取控制位址,該終點位址係該或該些交換器其中之一的另一媒體存取控制位址。
- 一種路由控制裝置,用以平衡一網路中多個連結的負載,該路由控制裝置包含:一通訊模組,用以透過該網路上一或多個交換器,週期性地量測該些連結的多個負載率,每一該連結對應該些負載率其中之一,且量測時用以產生一觸發訊號;一處理模組,耦接該通訊模組,用以依據該觸發訊號,選擇一封包流,該封包流經過該些連結中一超載連結,且用以選擇性地設定該些連結中至少一替代連結上至少一替代交換器的一封包處理表,使該封包流經過該替代連結,該替代交換器係該或該些交換器其中之一;以及一路由計算模組,耦接該處理模組,用以依據該些負載率、該封包流的一起點位址和該封包流的一終點位址,決定該封包流所需經過的該替代連結; 其中該觸發訊號指示該超載連結對應的該負載率大於一上限;其中該處理模組選擇性地設定該替代交換器的該封包處理表包含判斷當該封包流經過該替代連結時,該替代連結對應的該負載率是否大於該上限,且當該替代連結對應的該負載率不大於該上限時,該處理模組於該封包處理表加入高優先性的一處理規則,且該處理規則具有一適用時限。
- 如請求項4所述的路由控制裝置,其中該觸發訊號更指示該超載連結對應的該負載率大於該上限超過一預設時間。
- 如請求項4所述的路由控制裝置,其中該起點位址係該或該些交換器其中之一的一媒體存取控制位址,該終點位址係該或該些交換器其中之一的另一媒體存取控制位址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102146229A TWI513260B (zh) | 2013-12-13 | 2013-12-13 | 路由控制方法與裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102146229A TWI513260B (zh) | 2013-12-13 | 2013-12-13 | 路由控制方法與裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201524169A TW201524169A (zh) | 2015-06-16 |
TWI513260B true TWI513260B (zh) | 2015-12-11 |
Family
ID=53935875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102146229A TWI513260B (zh) | 2013-12-13 | 2013-12-13 | 路由控制方法與裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI513260B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI599203B (zh) | 2016-01-20 | 2017-09-11 | 國立交通大學 | 網路通訊系統、軟體定義網路控制器及其路由方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102595504A (zh) * | 2012-02-24 | 2012-07-18 | 南京理工大学 | 一种基于链路拥塞度的动态多径olsr路由方法 |
TW201246843A (en) * | 2011-01-13 | 2012-11-16 | Nec Corp | Network system and path control method |
-
2013
- 2013-12-13 TW TW102146229A patent/TWI513260B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201246843A (en) * | 2011-01-13 | 2012-11-16 | Nec Corp | Network system and path control method |
CN102595504A (zh) * | 2012-02-24 | 2012-07-18 | 南京理工大学 | 一种基于链路拥塞度的动态多径olsr路由方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201524169A (zh) | 2015-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6447839B2 (ja) | 遅延測定を実装するための方法、装置、およびシステム | |
CN107005439B (zh) | 用于在线服务链接的被动性能测量 | |
US9705775B2 (en) | Passive performance measurement for inline service chaining | |
CN108306831A (zh) | 选路方法及装置 | |
WO2016012991A1 (en) | Data path performance measurement using test messages in a software defined network | |
WO2015106618A1 (zh) | 一种资源调度的方法及装置 | |
CN103329490B (zh) | 提高基于分组通信网络的数据传输质量的方法和通信网络 | |
CN107864061A (zh) | 一种在私有云中虚拟机端口限速和镜像的方法 | |
CN106817299B (zh) | 软件定义网络的表项生成方法和装置以及报文转发方法 | |
US20180152384A1 (en) | Apparatus and system for optimizing communication networks | |
CN103746874B (zh) | 用于网际协议流性能监控的方法和设备 | |
US8693335B2 (en) | Method and apparatus for control plane CPU overload protection | |
KR20140052847A (ko) | 소프트웨어 정의 네트워킹 기반 네트워크에서 서비스 품질 제공 방법 및 그 장치 | |
WO2016183970A1 (zh) | 传输处理方法及装置 | |
CN104734905B (zh) | 检测数据流的方法及装置 | |
CN112995036B (zh) | 网络流量的调度方法及装置 | |
US20150156116A1 (en) | Routing control method and apparatus | |
TWI513260B (zh) | 路由控制方法與裝置 | |
US10333839B2 (en) | Routing a data packet in a communication network | |
CN105704192B (zh) | 确定sdn网络中控制器位置的方法和设备 | |
CN104469846B (zh) | 一种报文处理方法及设备 | |
CN107231318A (zh) | 对提供用于家庭网络的多个互联网服务的动态切换控制 | |
JP5789548B2 (ja) | 通信装置 | |
US8767540B2 (en) | Hierarchical packet policer | |
JP5923914B2 (ja) | 網状態推定装置及び網状態推定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |