2017/4/26 Rethinking Packet Classification for Global Network View of Software-Defined Networking...

Post on 06-Jan-2018

224 views 0 download

description

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

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].

JaWes

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

JaWes

Experiments Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

21

JaWes

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.

JaWes

Experiments Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

23

JaWes

Experiments Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

24

JaWes

Experiments Result

National Cheng Kung University CSIE Computer & Internet Architecture Lab

25

JaWes