2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking...
-
Upload
madlyn-stevenson -
Category
Documents
-
view
219 -
download
0
description
Transcript of 2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking...
Rethinking Packet Classification for Global Network View of Software-
Defined Networking
Author: Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shin-ichi Minato, Osamu AkashiConference: 2014 IEEE 22nd International Conference on Network ProtocolsPresenter: Chih-Hsun WangDate: 2015/10/07
Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Introduction
National Cheng Kung University CSIE Computer & Internet Architecture Lab
2
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.
Single switch packet behavior
National Cheng Kung University CSIE Computer & Internet Architecture Lab
3
Network-wide packet behavior
National Cheng Kung University CSIE Computer & Internet Architecture Lab
4
Binary Decision Diagram
National Cheng Kung University CSIE Computer & Internet Architecture Lab
5
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.
Binary Decision Diagram
National Cheng Kung University CSIE Computer & Internet Architecture Lab
6
Binary decision tree and truth table for the function f = ac + bc
a b c f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
a
b
c c
b
c c
0 0 0 1 0 1 0 1
f
BDD Reduction Rules -1
National Cheng Kung University CSIE Computer & Internet Architecture Lab
7
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.a
b
c c
b
c c
0 0 0 1 0 1 0 1
a
b
c c
b
c c
0 1
BDD Reduction Rules -2
National Cheng Kung University CSIE Computer & Internet Architecture Lab
8
Eliminate redundant nodes• (with both edges pointing to same node)
a
b b
BDD Reduction Rules -3
National Cheng Kung University CSIE Computer & Internet Architecture Lab
9
Merge duplicate nodes• Nodes must be unique
a
b
a
c b
a
c
BDD Reduction
National Cheng Kung University CSIE Computer & Internet Architecture Lab
10
a
b
c c
b
c c
0 1
a
b
c
b
c
0 1
a
b
c
0 1
Reduction Rules 3 Reduction Rules 2
Proposed Method
National Cheng Kung University CSIE Computer & Internet Architecture Lab
11
Proposed Method
These two incomplete multi-valued functions can be unified into a single one without conflict, by introducing the following unification operation
National Cheng Kung University CSIE Computer & Internet Architecture Lab
12
Multi-valued Decision Diagram
National Cheng Kung University CSIE Computer & Internet Architecture Lab
13
x = 010111
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
14
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
15
Multi-valued Decision Diagram
National Cheng Kung University CSIE Computer & Internet Architecture Lab
16
MDD Unified with Aggregation
0
2
I
3
4
1
5
3
44
0
1
3 3
4 4
II
0,1
2,3 2,3
4,5 4,5 4,5
00 01
0010
0111
10
01
1100
I II
10 11 0110
0001 00
f1 f2 F(2)
Bit Aggregation
National Cheng Kung University CSIE Computer & Internet Architecture Lab
17
Bit Aggregation
National Cheng Kung University CSIE Computer & Internet Architecture Lab
18
This algorithm assumes that all terminal nodes would have been set to the cache in advance.
Search
National Cheng Kung University CSIE Computer & Internet Architecture Lab
19
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].
Experiments Environment
National Cheng Kung University CSIE Computer & Internet Architecture Lab
20
Language C++
CPU Xeon 3.5 GHz Core i7 1.7 GHz
Cache size 8MB 4MB
Memory 16GB 8GB
Experiments Result
National Cheng Kung University CSIE Computer & Internet Architecture Lab
21
Experiments Result
National Cheng Kung University CSIE Computer & Internet Architecture Lab
22
Fig. 6. Memory usage of MDD. The horizontal line is memory usage of HybridCuts for Internet2.
The memory usage of an MDD is the product of MDD size and node size.
Experiments Result
National Cheng Kung University CSIE Computer & Internet Architecture Lab
23
Experiments Result
National Cheng Kung University CSIE Computer & Internet Architecture Lab
24
Experiments Result
National Cheng Kung University CSIE Computer & Internet Architecture Lab
25