9.1-Programming SDNs Flashcards

1
Q

2 SDN mininet projects

A

1) write my own virtual switch

2) Use programming language designed for SDN to create a firewall

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Consistency problems. Updating switch flow table entries from the controller

A

1) updates may disrupt packets along an end to end path (Packet level consistency problem)
2) Packets from the same flow may be disrupted (flow level consistency problem)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

SDN Programming: Three steps

A

1) The controller need to Read/monitor network state (as well as various events in the network)
2) To Compute Policy based on state the controller sees on the network (Decision plane… deciding the forwarding behavior)
3) Write policy back to the switches by installing the appropriate flow table state into the switches.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Reading state: extra unexpected events

A

Solution:

1) Programmer specifies “Limit (1)”
2) Run-time system hides events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Consistency: Reading state

These 3 approaches help guarantee consistency when “reading state”

A

1) Predicates (i.e “and” and “not”)
2) Dynamically unfold rules as traffic arrives
3) suppression (limit 1 and hide events)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Consistency: writing state

A

Solution:
Two phase commit

1) Packets are either subjective to the old config on all switches
2) Or to the new configuration on all switches

But packets are not subjective to the new on some switches and the old on others

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What problems can arise from inconsistent “writes” of network state?

A

1) Forwarding loops
2) Security policy violations
3) A flood of traffic at the controller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are some ways of coping with inconsistency?

A

1) keeping the old and new state on the routers/switches (two phase state)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Network Virtualization

A

Abstraction of physical network

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Why virtual Networking?

A

“Ossification” of internet architecture

enables evolution by letting multiple architectures exist in parallel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Motivations for virtual networking?

A

1) Facilitating research/evolution by allowing coexistence

2) Adjusting resources to demand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Promise of Network Virtualization

A

1) Rapid innovation (software speed)
2) New forms of network control
3) (potentially) simpler programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SDN vs Network Virtualization

A

SDN helped to allow network virtualization
SDN separates data and control
Network virtualization separates logical and physical

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Network virtualization

A

1) Allowing multiple tenants to share underlying physical infrastructure
2) Separating logical and physical

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Design goals for network virtualization

A

Flexible, manageable, scalable, secure, programmable, able to support different techs (homogeneous)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Mininet

A

Network Virtualization

17
Q

The openflow switch

A

performs forwarding between the interfaces in the root name space… but because the interfaces are paired we get the illusion of sending traffic between h2 and h3.

18
Q

Technologies that enable virtual networks

A

VMs and tunneling

19
Q

Programming SDNs

A

Programming openflow not easy!

20
Q

Frenetic

A

SQL - like Query language

Example:

SELECT (bytes)
WHERE (in:2 & srcport:80)
groupBy (dstMAC)
every (60)

21
Q

Problem

A

Modules affect same traffic

Composition policies help with this
For example:
Parallel or Sequential

22
Q

Policy composition

A

Parallel: Perform both operations simultaneously (+)
Sequential: perform one operation, then the next (»)

23
Q

Pyretic

A

SDN Language (express policies) and Run-time (compiling these policies to openflow rules)

24
Q

Pyretic features

A

1) Network policy as function
2) Boolean predicates
3) Virtual packet header fields
4) Composition

25
Q

Openflow: bit patterns

A

Match statements for which matching packets are subject to a particular action

Contrast… Pyretic: functions
map packets->to other packets

26
Q

Pyretic functions

A

Identity packet -> returns original packet
None -> returns empty set 0
Match (f=v)-> Returns the identity if field F matches V and returns none or dropped otherwise
Mod (F=V) returns same packet with field f set to v
fwd(a) -> mod (outport t = a)
flood()

27
Q

Sequential composition example

A

match(dst IP=2.2.2.8)»fwd(1)

28
Q

Parallel composition example

A

match(dst IP=2.2.2.8)&raquo_space; fwd(1) +

match(dst IP=2.2.2.9)&raquo_space; fwd(2)

29
Q

Pyretic

A

1) Network policy as functions
2) Predicates on packets
3) Virtual packet headers
4) Policy composition

30
Q

Pyretic

A

Northbound API which sits on top of an SDN controller allowing operater/programmer to write rules without regards on how openflow rules get installed.