Download presentation
Published byMadlyn Stevenson Modified over 9 years ago
1
2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi Minato, Osamu Akashi Conference: 2014 IEEE 22nd International Conference on Network Protocols Presenter: Chih-Hsun Wang Date: 2015/10/07 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. CSIE CIAL Lab 1
2
2017/4/26 Introduction In software-defined networking, applications are allowed to access a global view of the network. Unlike the conventional classification problem to search for the action taken at a single switch, the global network view requires to identify the network-wide behavior of the packet. Conventional classification methods, however, fail to well support network-wide behaviors, since the search space is complicatedly partitioned due to the combinations. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
3
Single switch packet behavior
2017/4/26 Single switch packet behavior Search space defined by packet header and network-wide packet behaviors. The example network at the top includes three switches (A, B, and C), each of which has three ports. Each switch has a table that maintains several rules, and each rule associates two header fields (field1 and field2 of 3-bit) with actions. The two-field header space (a square) is divided into only seven blocks at switch A National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
4
Network-wide packet behavior
2017/4/26 Network-wide packet behavior it is partitioned into 17 blocks for the twelve network-wide behaviors as shown in the bottom. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
5
Binary Decision Diagram
2017/4/26 Binary Decision Diagram A Binary Decision Diagram (BDD) is a finite DAG with an unique initial node, where all terminal nodes are labeled with 0 or 1. all non-terminal nodes are labeled with a Boolean Variable. Each non-terminal node has exactly two edges from that node to others; one labeled 0 and one labeled 1; represent them as a dashed line and a solid line respectively. DAG: directed acyclic graph National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
6
Binary Decision Diagram
2017/4/26 Binary Decision Diagram f a b c f 1 a b c 1 DAG: directed acyclic graph Binary decision tree and truth table for the function f = ac + bc National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
7
BDD Reduction Rules -1 Eliminate duplicate terminals
2017/4/26 BDD Reduction Rules -1 Eliminate duplicate terminals If a BDD contains more than one terminal 0-node, then we redirect all edges which point to such a 0-node to just one of them. Similarly, we proceed for nodes labeled with 1. 去掉重複的terminal node a b c 1 a b c 1 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
8
BDD Reduction Rules -2 Eliminate redundant nodes
2017/4/26 BDD Reduction Rules -2 Eliminate redundant nodes (with both edges pointing to same node) a b b National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
9
BDD Reduction Rules -3 Merge duplicate nodes Nodes must be unique a b
2017/4/26 BDD Reduction Rules -3 Merge duplicate nodes Nodes must be unique 兩個 a=0 -> b, a=1 -> c a b c b a c National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
10
BDD Reduction Reduction Rules 3 Reduction Rules 2 a a a b b b c c c 1
2017/4/26 BDD Reduction Reduction Rules 3 Reduction Rules 2 a b c 1 a b c 1 a b c 1 觀察這三點, 當c=0, f=0, c=1, f=1, 所以這三點是一樣的 這兩node的兩邊都到同一個node National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
11
2017/4/26 Proposed Method X: packet header bits展開 x: packet header, 對應header space的一個點 Fi是multi-valued func, 所以packet進去對應出來的值就是這packet所對應的behavior National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
12
2017/4/26 Proposed Method These two incomplete multi-valued functions can be unified into a single one without conflict, by introducing the following unification operation 因為Fi, Fj是互斥, 所以x只會滿足其中一個function, 所以透過unified National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
13
Multi-valued Decision Diagram
2017/4/26 Multi-valued Decision Diagram x = 一個BDD是用來表示Boolean function對應到的一個behavior, 如圖例 左圖是對應behavior 1, 右圖是對應所有12個behavior National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
14
Multi-valued Decision Diagram
2017/4/26 Multi-valued Decision Diagram An MDD, which is shown in Fig. 3 (right), is also an acyclic directed graph with a single root, but it can have more than two terminal nodes, nil, I, II, · · · , |P| . Each non-terminal node is labeled by aggregated bits, and it can have more than two children arcs, 0, 1, · · · , 2K − 1. The maximum height is L/K. Other properties are the same as those of BDD. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
15
Multi-valued Decision Diagram
2017/4/26 Multi-valued Decision Diagram In our method, a BDD is used to represent a Boolean function that maps the header space to a single packet behavior, while an MDD is used to express a multi-valued function. BDD of fi(x) is easily converted to MDD of Fi(x),by replacing ⊥ - and -terminals with nil- and i-terminals, respectively. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
16
MDD Unified with Aggregation
2017/4/26 MDD Unified with Aggregation f1 f2 F(2) 2 I 3 4 1 5 1 3 4 II 0,1 2,3 4,5 00 01 10 11 I II 主要演算法是根據 [22], 那大概是會去看兩個要做合併的diargam的同構(isomorphic)情況 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
17
2017/4/26 Bit Aggregation National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
18
2017/4/26 Bit Aggregation 遞回去create MDD nodes, F’是F走x’可以到的子孫 This algorithm assumes that all terminal nodes would have been set to the cache in advance. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
19
2017/4/26 Search F(K)視為1個node, packet header進來會利用pkt array表示 當這node不是terminal時, 由於每個node都會紀錄當前bit長, 所以x’得到之值為child node之index A packet header is represented as an array of K-bit elements; i.e., i-th K-bit element on the header can be accessed by index i, like pkt[i]. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
20
Experiments Environment
2017/4/26 Experiments Environment Language C++ CPU Xeon 3.5 GHz Core i7 1.7 GHz Cache size 8MB 4MB Memory 16GB 8GB National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
21
2017/4/26 Experiments Result FIB: Forwarding Information Base, 指定 Des IP field only. ACL: 5-tuple National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
22
2017/4/26 Experiments Result The memory usage of an MDD is the product of MDD size and node size. Fig. 6. Memory usage of MDD. The horizontal line is memory usage of HybridCuts for Internet2. National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
23
2017/4/26 Experiments Result Optimal : Huffman方式 Ascending: 將min MDD和現在的MDD合併 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
24
2017/4/26 Experiments Result Xeon 3.5G, i7 1.7G, 30次 每次處理萬個packet 水平線是HybridCut 一般throughput是訂成number of memory accesses per packet, 但現今processor有多層level cache的複雜架構, 對throughput影響很大 所以這邊的throughput是根據實際處理的packet header數量做測量 National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
25
2017/4/26 Experiments Result National Cheng Kung University CSIE Computer & Internet Architecture Lab CSIE CIAL Lab
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.