Adaptive Traffic Engineering in Software Defined Networks Speaker

  • Slides: 31
Download presentation
軟體定義網路之自適性流量 程設計 Adaptive Traffic Engineering in Software Defined Networks Speaker: Cheng-Yu Chang Advisor: Kai-Wei

軟體定義網路之自適性流量 程設計 Adaptive Traffic Engineering in Software Defined Networks Speaker: Cheng-Yu Chang Advisor: Kai-Wei Ke 2016/06/17 1

相關背景與技術 SDN Open. Flow Traffic Engineering 3

相關背景與技術 SDN Open. Flow Traffic Engineering 3

SDN Traditional Architecture SDN Architecture 4

SDN Traditional Architecture SDN Architecture 4

Open. Flow • Control Plane SW • Data Plane HW 5

Open. Flow • Control Plane SW • Data Plane HW 5

Open. Flow Switch 6

Open. Flow Switch 6

Open. Flow Table Entries 7

Open. Flow Table Entries 7

Traffic Engineering in SDNs • 集中式控制 • 具自適性 • 彈性有效調整 Traffic Engineering from past

Traffic Engineering in SDNs • 集中式控制 • 具自適性 • 彈性有效調整 Traffic Engineering from past to future 8

Traffic Engineering in SDNs The scope of traffic engineering approaches in current SDNs. 9

Traffic Engineering in SDNs The scope of traffic engineering approaches in current SDNs. 9

系統目標 Objectives • Maximum Utilization • Qo. S Provisioning Control • Minimum Flow Completion

系統目標 Objectives • Maximum Utilization • Qo. S Provisioning Control • Minimum Flow Completion Time • High Efficient Transfer Networking • Data Plane Recovery • Reduce Operation Cost 11

功能設計與實現 • Unknown Flow Policy • Flow Classification • Administrator Policy • Data Flow

功能設計與實現 • Unknown Flow Policy • Flow Classification • Administrator Policy • Data Flow Control • Qo. S Flow Control • Routing Algorithm • Label Routing • Data Plane Recovery • Smart Monitoring 14

Unknown Flow Policy • Unknown Flow: • switch中未被match到的flow • 未被分類的flow 15

Unknown Flow Policy • Unknown Flow: • switch中未被match到的flow • 未被分類的flow 15

Flow Classification • 將flow分類為四大類 • • Qo. S high priority Qo. S low priority

Flow Classification • 將flow分類為四大類 • • Qo. S high priority Qo. S low priority Data elephants Data mice Qo. S Data • 設計將UDP flow分類為Qo. S • 設計將TCP flow分類為Data • 可將分類結果標記於封包中,供後續的流量控制 16

Administrator Policy - Example: • Link Capacity=100 Mbps. 設定Qo. S Flow=70%(70 M), Data Flow=30%(30

Administrator Policy - Example: • Link Capacity=100 Mbps. 設定Qo. S Flow=70%(70 M), Data Flow=30%(30 M) Queue ID Rule flow 0 min-rate: 70 Mb Data 1 min-rate: 30 Mb Qo. S 1. 當Qo. S Flow使用 80 Mbps時,Data Flow使用 10 Mbps,兩者不受影響 2. 當Qo. S Flow使用 50 Mbps時,Data Flow使用 40 Mbps,兩者不受影響 3. 當Qo. S Flow使用 80 Mbps時,Data Flow使用 40 Mbps,調整頻寬至 70%及 30% 18

Data Flow Control • Data分Elephants及Mice • 達到最短的flow completion time • Elephants (long-lived): üLarge amount

Data Flow Control • Data分Elephants及Mice • 達到最短的flow completion time • Elephants (long-lived): üLarge amount of data üLess concerned about latency üCan fill up network buffers • Mice (short-lived): üTo be bursty üLatency-sensitve 19

Data Flow Control (Cont. ) • Select Flow • 優先選擇Elephants做reroute • 次要選擇Mice做congestion control •

Data Flow Control (Cont. ) • Select Flow • 優先選擇Elephants做reroute • 次要選擇Mice做congestion control • Congestion Control • Detection: link utilization • Control: 當link utilization > threshold時 Enable ECN 當link utilization < threshold時 Disable ECN 20

Qo. S Flow Control • Qo. S Flow分High Priority及Low Priority • 提供最佳頻寬保證 • High

Qo. S Flow Control • Qo. S Flow分High Priority及Low Priority • 提供最佳頻寬保證 • High Priority • Qo. S Provisioning: 向Controller需求固定頻寬,供Flow穩定傳輸 • Admission control: 當需求的頻寬無法滿足時,通知使用者flow不被允許進 入 • Low Priority • best-effort • High priority 使用另外的Queue設定min-rate來提供保證 21

Qo. S Flow Control (Cont. ) Example: • Link Capacity=100 Mbps. Qo. S Flow=70%,

Qo. S Flow Control (Cont. ) Example: • Link Capacity=100 Mbps. Qo. S Flow=70%, Data Flow=30% switch每個port的Queue設定如下 • Queue 1: for Data, min-rate=30 Mbps • Queue 2: for Qo. S, min-rate=70 Mbps • 當設定Qo. S high priority需要30 Mbps的頻寬時 Queue的設定將該改如下 • Queue 1: for Data, min-rate=30 Mbps • Queue 2: for Qo. S low, min-rate=40 Mbps • Queue 3: for Qo. S high, min-rate=30 Mbps 22

Routing Algorithm • 事先計算所有可能的路徑 • Qo. S • Min. delay: High/Low 選擇最短路徑(hop count) •

Routing Algorithm • 事先計算所有可能的路徑 • Qo. S • Min. delay: High/Low 選擇最短路徑(hop count) • High priority • 如果最短路徑的residual path load大於需求的bandwidth 選擇最短路徑 • 反之小於需求的bandwidth 尋找其他residual path load能大於需求的bandwidth • Data • Load Balancing: Select min. path load(bandwidth/utilization) • 使用當下的path load 23

Label Routing • 使用label做路徑轉送減少match的時間以提高效率 • Label結合flow classification • 資訊儲存於Routing Table Path id Src. Dest.

Label Routing • 使用label做路徑轉送減少match的時間以提高效率 • Label結合flow classification • 資訊儲存於Routing Table Path id Src. Dest. Route Hop count Utilization (%) 1 client server 1 -3 2 2 client server 1 -2 -3 3 3 client server 1 -4 -3 3 4 client server 1 -2 -4 -3 4 5 client server 1 -4 -2 -3 4 24

Label Routing – label 設計 • 結合flow lassification與routing rule • Flow classification : 2

Label Routing – label 設計 • 結合flow lassification與routing rule • Flow classification : 2 bits • • 00 – Qo. S high priority 01 – Qo. S low priority 10 – Data elephants 11 – Data mice • Path ID: 14 bits (可用 16, 384個) 802. 1 Q Vlan Tag (4 bytes) 2 bytes 2 bits 14 bits Tag Protocol ID 0 x 8100 Flow classification Path ID label 25

Data Plane Recovery • 斷線迅速恢復路徑 • 流程: Topology異動 判斷事件 1. Switch added 偵測所有新增的path 更新routing

Data Plane Recovery • 斷線迅速恢復路徑 • 流程: Topology異動 判斷事件 1. Switch added 偵測所有新增的path 更新routing table 2. Link added 偵測所有新增的path 更新routing table 3. Switch offline 檢查所有flow path有經過該switch的flow 重新計算 path並更新flow table及routing table 4. Link offline 檢查所有flow path有經過該link的flow 重新計算path並 更新flow table及routing table 27

Smart Monitoring • 計算Link load(utilization) = Bandwidth/Capacity • 計算Path load(utilization) = max(Link load 1,

Smart Monitoring • 計算Link load(utilization) = Bandwidth/Capacity • 計算Path load(utilization) = max(Link load 1, Link load 2, …) • Qo. S policy check • 檢查 Qo. S high priority所需求的bandwidth是否滿足 無法滿足則重新選 擇path 或重新調整Queue值的設定 • Congestion detection Data Flow Control • Topology異動 Data Plan Recovery 28

目前完成進度 功能 已完成部分 未完成部分 Flow Classification 分辨TCP及UDP 計算label值 Administrator Policy 設定Qo. S Flow及Data Flow

目前完成進度 功能 已完成部分 未完成部分 Flow Classification 分辨TCP及UDP 計算label值 Administrator Policy 設定Qo. S Flow及Data Flow Control 啟動ECN Congestion Detection 關閉ECN Qo. S Flow Control High priority Queue設定 Admission Control Routing Algorithm Shortest path algorithm Simple Load balancing algorithm Label Routing Vlan tag routing Data Plane Recovery Topology 異動偵測 移除routing path 重新計算path Smart Monitoring 計算link load 計算path load 依flow計算link/path load Qo. S Policy Checking GUI 29

參考文獻 • I. F. Akyildiz, A. Lee, P. Wang, M. Luo and W. Chou,

參考文獻 • I. F. Akyildiz, A. Lee, P. Wang, M. Luo and W. Chou, "A roadmap for traffic engineering in SDN-Open. Flow networks", Computer Networks, vol. 71, pp. 1 -30, 2014 • S. Tomovic, N. Prasad, and I. Radusinovic, “Sdn control framework for qos provisioning, ” in Telecommunications Forum Telfor (TELFOR), 2014 22 nd, Nov 2014, pp. 111– 114. 12 • Lee, Chunghan, et al. "Flow-Aware Congestion Control to Improve Throughput under TCP Incast in Datacenter Networks, “ in Computer Software and Applications Conference (COMPSAC), 2015, pp. 155 -162. 30

Thanks for listening! 31

Thanks for listening! 31