9.1 Programming SDNs Flashcards

1
Q

Consistent updates in SDN Problems

A
  1. Updates may disrupt packets along an end to end path

2. Packets from the same flow may be disrupted

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

SDN Programming 3 steps

A
  1. Read/monitor network state as well as events in the network (such as failures, topology changes, security events)
  2. compute policy based on state controller sees from network (decision plane)
  3. write policy back to switches by installing appropriate flow table state into switches
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which steps in SDN program can present an issue

A

Reading and writing

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

Reading State Problem: Limited # of rules

A

Limited # of rules due to space on switches. Cannot install all possible patterns

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

Reading state problem: Limited # of rules - SOLUTION

A

Dynamically unfold rules as traffic arrives.
Programmer specifies GroupBy(srcip)
Runtime dynamically adds rules as traffic arrives

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

Reading State Problem: Extra Unexpected events

A

extra unexpected events may cause inconsistencies

If a packet arrives as another one is being processed by the controller (installing a rule), it could cause issues.

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

Reading State Problem: Extra Unexpected events - SOLUTION

A

Programmer specifies “Limit(1)”

Runtime system hides the extra events

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

Approaches to maintaining consistency while reading state

A

predicates
unfolding
suppression

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

Reasons to write policies

A

maintenance
unexpected failure
traffic failure

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

Things to ensure when writing policies

A

no forwarding loops
no black holes
no security violations

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

black hole

A

router or switch receives a packet but doesn’t know what to do with it.

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

Writing Consistent Policy: Two Phase Commit

A

Version numbers in packets {P1, P2}
tag the packet on ingress so that the switches keep copies of both P1 and P2 for some time
When all switches have received rules corresponding to the new policy then incoming packets can be tagged with P2.
After time/sure no more P1 come in, we trash P1 ruleset

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

Writing Consistent Policy: Two Phase Commit - Optimization

A

don’t run on all switches.

only apply mechanism on switches affected by packets under old ruleset

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

Network Virtualization

A

Abstraction of physical network.

Multiple logical networks on shared physical substrate

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

Why virtual networking

A

network virtualization enables evolution by letting multiple architectures exist in parallel

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

Promise of Network Virtualization

A
  1. Rapid innovation
  2. New forms of network control
  3. (potentially) simpler programming
17
Q

SDN vs Network Virtualization

A

SDN = separate data & control

Network Virtualization = separate logical & physical

18
Q

Design goals for network virtualization

A
flexible
manageable
scalable
secure
programmable
able to support different technologies
19
Q

how are virtual networks implemented?

A

Nodes: VMs
Edges: Tunnels

20
Q

Process of one packet from vm1 to vm2 through tunnel

A

encapsulate ethernet packet as it leaves vm in an ip packet which is destined for a new vm and the new host will decapsulate the packet

21
Q

Programming SDNs: Problems

A

programming openflow is not easy

low level of abstraction
controller only sees events that switches do not know how to handle
race conditions if switch level rules not installed properly

22
Q

Programming SDNs: Solution

A

Provide “northbound” api - programming interface that allows applications to program the network

23
Q

Northbound api

A

allows an application to at a high level tell the controller what it wants the switch to do.

24
Q

Northbound api benefits

A

vender independence

ability to quickly modify or customize control through various popular languages (python)

25
Q

Frenetic

A

Sql like query language

sits ontop of a northbound api

26
Q

Problem: Modules affect same traffic

A

too many cooks it’ll spoil the broth baby i think thats not true, ooooooo too many cooks can spoil the broth but will fill our hearts with so much, so much love. Too many cooks.

27
Q

Problem: Modules affect same traffic - SOLUTION

A

Composition operators - ways that specify how individual modules combine to create a cohesive program

28
Q

Policy Composition: Parallel

A

Perform both operations simultaneously

count and forward at the same time

29
Q

Policy Composition: Sequential

A

Perform one operation, then the next

firewall, then switch

30
Q

Pyretic features

A

Network policy as function
Boolean predicates
Virtual packet header fields
composition

31
Q

Pyretic sequential policy composition syntax

A

match(dstIP=2.2.2.8)&raquo_space; fwd(1)

|&raquo_space;

32
Q

Pyretic parallel policy composition syntax

A

match(dstIP=2.2.2.8)&raquo_space; fwd(1) +
match(dstIP=2.2.2.9)&raquo_space; fwd(2)

+

33
Q

Dynamic policies

A

timeseries of static policies
current policy is self.policy

  1. set a default policy
  2. Register callback that updates policy
34
Q

Pyretic summary/overview

A
  1. Network policy as function
  2. predicates on packets
  3. virtual packet headers
  4. policy composition