19
UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Embed Size (px)

Citation preview

Page 1: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

UPPAAL-based Software-Defined Network Verification

Uliana Popesko

Lomonosov Moscow State University

2014

Page 2: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Plan

• SDN• Timed automata• TCTL• Translation• UPPAAL• Experiments

Page 3: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

3

Computer network

Switch1

Switch2

Switch3

1

2

Page 4: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

4

Software-Defined Network

Controller

Switch1

Switch2

Switch3

1

Page 5: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

5

Software-Defined Network

Controller

Switch1

Switch2

Switch3

1

2

Page 6: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

6

Software-Defined Network

Controller

Switch1

Switch2

Switch3

1

2

3

Page 7: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

7

Software-Defined Network

Controller

Switch1

Switch2

Switch3

1

2

3

4

Page 8: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

SDN features

• Control level is separated from communication devices

• Network management is programmable• OpenFlow standart

Page 9: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

9

Flow table. Rule

Field 1 Field 2 Field 3 Field 4

Pattern

PriorityTimeout

Actions

modify(h,n)output(op)

Page 10: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

SDN invariants

• No loop• No packet loss• OpenFlow rule consistency• Consistency with protocols

Page 11: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Timed Automata

Page 12: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Timed Automata. Definition

(Σ, S, S0, X, T)• Σ – a finite alphabet,• S – a finite set of states,• S0 S – a set of start states,• Х – a finite set of clocks,• T: S × Σ × C(X) × 2X × S – gives the set of

transition

Page 13: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Timed Computation Tree Logic, TCTL

::= p | | | | E[1UJ 2] | A[1UJ 2]

p – a propositional variable, – clock constraints,J – time interval,

A and E are the path operators (“for all” and “exists”),

U – step operators (“until”)

Page 14: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

TCTL, examples

• AG(request -> AFresponse)

• A[off U on]

• EG[send(m) -> EF recover(rm)]

Page 15: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Formal model, UML diagram

Controller Switch

Page 16: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Translation algorithm• Input: UML-diagram• Output: UPPAAL network of timed automata

Page 17: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Algorithm correctness

• Correct iff UPPAAL formulae are equisatisfiable for an SDN and an NTA

• Formalization for SDN behavior with rewriting• Stuttering equivalence for labeled transition

systems

Page 18: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Experiment• The system contains no deadlocks:

A[] not deadlock• The environment constantly generates new packets:

A <> forall(num : int[0; 2]) (channel_h[stream:align[num]])• The switch does not process any packet:

E[] com1:start• At least one packet is sent to the controller:

E <> !con:idle• The switch successfully processes at least one packet:

E <> com1:hitNumber of property

1 2 3 4 5

2 sw, empty tables 27 h 1 s 1 s 1 s 1 s

3 sw, ring - 1 s 1 s 7 s 1 s

4 sw, star - 1 s 1 s 62 s 85 s

4 sw - 1 s 1 s 60 s 79s

Page 19: UPPAAL-based Software-Defined Network Verification Uliana Popesko Lomonosov Moscow State University 2014

Results

• A formal description of SDNs• A translation algorithm which converts a given

SDN description into an NTA

• We proposed and implemented an approach to verification of software-defined networks considered as real-time systems against temporal property