Enabling SDN in old school networks with Software-Controlled Routing Protocols
-
Upload
open-networking-summits -
Category
Technology
-
view
60 -
download
0
Transcript of Enabling SDN in old school networks with Software-Controlled Routing Protocols
![Page 1: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/1.jpg)
![Page 2: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/2.jpg)
![Page 3: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/3.jpg)
Enabling SDN in old school networks with Software-Controlled Routing Protocols
ONS research track
Laurent Vanbever
March, 4 2014
Princeton University
Joint work with
Stefano Vissicchio (University of Louvain)
![Page 4: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/4.jpg)
How do you go from a traditional network …a SDN-enabled one?
Traditional
![Page 5: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/5.jpg)
SDN-enabled
How do you go from a traditional network to a SDN-enabled one?
Traditional
![Page 6: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/6.jpg)
Well… not easily
Deploying SDN requires to upgrade network …
devices
management systems
operators
challenging, time-consuming and therefore costly
![Page 7: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/7.jpg)
Wouldn’t it be great to manage
an existing network “à la SDN”?
![Page 8: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/8.jpg)
Wouldn’t it be great to manage
an existing network “à la SDN”?
what does it mean?
![Page 9: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/9.jpg)
Cisco Juniper Alcatel
Control-Plane
Data-Plane
Control-Plane
Data-Plane
Control-Plane
Data-Plane
Cisco IOS Juniper JunOS Alcatel TimOS
Instead of configuring your existing network
using configuration “languages”…
![Page 10: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/10.jpg)
Cisco Juniper Alcatel
Control-Plane
Data-Plane
Control-Plane
Data-Plane
Control-Plane
Data-Plane
SDN Controller
Forwarding entries
(Floodlight, OpenDaylight,…)
… program it using your favorite SDN controller!
![Page 11: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/11.jpg)
Cisco Juniper Alcatel
Control-Plane
Data-Plane
Control-Plane
Data-Plane
Control-Plane
Data-Plane
SDN Controller
How can a SDN controller program
forwarding entries in a router?
? ? ?
![Page 12: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/12.jpg)
It uses an API that any router can understand (hint: not OpenFlow)
Cisco Juniper Alcatel
Control-Plane
Data-Plane
Control-Plane
Data-Plane
Control-Plane
Data-Plane
SDN Controller
? ? ?
![Page 13: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/13.jpg)
Routing protocols are good candidates for such an API
e.g., shortest-path routing
nearly all routers out there speak OSPF
all routers must speak the same language
Routing protocols…
messages are standardized
behaviors are well-defined and understood
implementations are widely available
![Page 14: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/14.jpg)
How does it work?
![Page 15: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/15.jpg)
Forwarding
Paths
RoutingMessages
MPLS
OSPF
BGP
A routing protocol takes routing messages as input
and computes forwarding paths as output
![Page 16: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/16.jpg)
h(x)
g(x)
f(x)Forwarding
Paths
RoutingMessages
A routing protocol is therefore a function
from routing messages to forwarding paths
![Page 17: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/17.jpg)
Forwarding
Paths
SDN controller output
h(x)
g(x)
f(x)RoutingMessages
Forwarding paths are produced
by the SDN controller
Known
![Page 18: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/18.jpg)
RoutingMessages
Forwarding
Paths
Known
(Dijkstra, BGP Decision Process…)
Functions are given by the routing protocol specification
h(x)
g(x)
f(x)
![Page 19: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/19.jpg)
Inverse functions
Forwarding
Paths
RoutingMessages
Given a path and a function, our framework computes
corresponding routing messages by inverting the function
h(x)
g(x)
f(x)
![Page 20: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/20.jpg)
IGP
BGP
Input
Network topology
Received routes
Type
Dijkstra
Decision process
Algorithm
Link-State
Path-Vector
The type of input to be computed depends on
the routing protocol(s) running in the network
![Page 21: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/21.jpg)
IGP
BGP
Input
Network topology
Received routes
Type
Dijkstra
Decision process
Algorithm
Link-State
Path-Vector
The type of input to be computed depends on
the routing protocol(s) running in the network
![Page 22: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/22.jpg)
IGP
BGP
Input
Network topology
Received routes
Type
Dijkstra
Decision Process
Algorithm
Link-State
Path-Vector
![Page 23: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/23.jpg)
steer traffic on non-shortest paths
create ECMP paths (on a per-destination basis)
provision backup paths
SDN-controlled IGP enables to
in a centralized manner, on existing networks
SDN-controlled IGP enables advanced SDNish
TE functionalities, on top of a distributed protocol
![Page 24: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/24.jpg)
3
10
1
1
A B
C D
destinationsource
traffic flow
Consider this network where
a source sends traffic to 2 destinations
![Page 25: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/25.jpg)
3
10
1
1
A B
C D
desired
3
10
1
1
A B
C D
initial
As congestion appears on the (C,D) link, operatorsmight want to divert the orange flow to A
![Page 26: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/26.jpg)
3
10
1
1
A B
C D
impossible to achieve by reweighing the IGP links
desired
3
10
1
1
A B
C D
initial
Moving only the orange flow to A is impossible with an IGP as both destinations are connected to D
![Page 27: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/27.jpg)
3
1
1
A B
C D
virtual node
1
10
SDN-controlled IGP can move the orange flow by addinga virtual node announcing the orange destination
V1
Traffic sent to V1 by C is physically sent to A
![Page 28: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/28.jpg)
Theorem
A SDN-enabled IGP is powerful
A SDN-enabled IGP can make the routers use
any set of non-contradictory paths
![Page 29: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/29.jpg)
Theorem
A SDN-enabled IGP is powerful
A SDN-enabled IGP can make the routers use
any set of non-contradictory paths
![Page 30: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/30.jpg)
Theorem
A SDN-enabled IGP is powerful
any path is loop-free
paths are consistent
(e.g. [s1, a, b, d] and
[s2, b, a, d] are inconsistent)
(e.g., [s1, a, b, a, d] is not possible)
A SDN-enabled IGP can make the routers use
any set of non-contradictory paths
![Page 31: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/31.jpg)
⇒
Given a physical topology and a set of path requirements,
a linear program computes an optimized virtual topology
physical
topology
+
paths requirements Integer Linear Program
minimize topology size
[ RA, RB, RC, RD ]
ECMP( [ RX, RY, RZ ], [ RX, RW, RZ ])
[ RI, RJ, RK ], backup [ RI, RL, RK ]
Optimizer
virtual
topology
⇒⇒
![Page 32: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/32.jpg)
Simplify controller implementation
most of the heavy work is still done by the routers
Maintain operators’ mental model
good old protocols running, easier troubleshooting
Facilitate SDN deployment
SDN controller can program routers and SDN switches
SDN-controlled routing enables to realize parts
of the SDN promises today, on an existing network
![Page 33: Enabling SDN in old school networks with Software-Controlled Routing Protocols](https://reader030.fdocuments.in/reader030/viewer/2022032716/55b57ae5bb61ebb9788b479a/html5/thumbnails/33.jpg)
ONS research track
Laurent Vanbever
March, 4 2014
www.vanbever.eu
Enabling SDN in old school networks with Software-Controlled Routing Protocols