cs 490.31: software defined networks 1st lecture 14/3/2013
DESCRIPTION
CS 490.31: Software Defined Networks 1st Lecture 14/3/2013. Xenofontas Dimitropoulos ETH Zurich. Learning Objectives. What is SDN? How key SDN technologies work? SDN applications How to program SDN networks?. Course Schedule. More details on the website: http://www.csd.uoc.gr/~hy490-31. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/1.jpg)
CS 490.31: Software Defined Networks
1st Lecture14/3/2013
Xenofontas DimitropoulosETH Zurich
![Page 2: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/2.jpg)
Learning Objectives
What is SDN?
How key SDN technologies work?
SDN applications
How to program SDN networks?
![Page 3: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/3.jpg)
Course ScheduleTime Description
14/03/2013 Introduction to SDN, OpenFlow
21/03/2013 Switches & SDN controllers
28/03/2013 SDN Applications
04/04/2013 Network virtualization
11/04/2013 More on SDN apps (tentative)
18/04/2013From protocols to abstractions (tentative)
3
More details on the website: http://www.csd.uoc.gr/~hy490-31
![Page 4: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/4.jpg)
Course Project
Program an SDN application
Milestones:Select project 29/3/2013Intermediate presentation
18/4/2013Final project report & code
12/5/2013
![Page 5: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/5.jpg)
Course Logistics Website:
http://www.csd.uoc.gr/~hy490-31
Mailing list: subscribe to hy490-31-list
Have [email protected]
Teaching assistant:Stelios Frantzeskakis [email protected]
Instructor:Xenofontas [email protected]
![Page 6: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/6.jpg)
AgendaTime Description
9:15 – 9:30 Course Logistics
9:30-10:00 Background on Routing Protocol
10:15 – 11:00
SDN/OpenFlow Introduction
11:15-12:00 Hands on: Learn Development Tools (Part 4 of OpenFlow Tutorial)
6
![Page 7: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/7.jpg)
Quick Recap of Internet Routing
Architecture
7
![Page 8: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/8.jpg)
IP Protocol Stack
8
Phys. Networklayer
Internetlayer
Applicationlayer
Ethernet DECnetATM
HTTP DNSFTP
IP
TCP UDPTransport
layer
Routing
![Page 9: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/9.jpg)
Routing vs. forwarding
Routing (algorithm):
A successive exchange of connectivity information between routers. Each router builds its own routing table based on collected information.
Forwarding (process):
A switch- or router-local process which forwards packets towards the destination using the information given in the local routing table.
9
![Page 10: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/10.jpg)
Routing algorithm
A distributed algorithm executed among the routers which builds the routing tables. Path selection can be based on different metrics: Quantative: #hops, bandwidth, available capacity, delay, delay jitter,… Others: Policy, utilization, revenue maximization, politics,…
Design and evaluation criteria: Scalability of algorithm. How will route information packets (i.e.
overhead) scale with an increased number of routers? Computational complexity?
Time to a common converged state. Stability and robustness against errors and partial information
Two important classes of routing algorithms Distance Vector (also called Bellman-Ford or Ford-Fulkerson) Link State
10
Richard Bellman: On Routing Problem, in Quarterly of Applied Mathematics, 16(1), pp.87-90, 1958.Lestor R. Ford jr., D. R. Fulkerson: Flows in Networks, Princeton University Press,
1962.
![Page 11: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/11.jpg)
Distance Vector Routing
11
![Page 12: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/12.jpg)
Distance Vector Routing: Basic Idea
Dest LU BE BS W opt
GE 280 265 275 335 BE
XY
12
We are at ZurichDist. to Geneva?
BaselGeneva: 200km
BernGeneva: 140km
LucerneGeneva: 210km
WinterthurGeneva: 300km
125 km
70 km
75 km 35 km
Distance Vector for GE as seen by the Zurich router: (GE, 265)
![Page 13: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/13.jpg)
Distance Vector Routing - Description
Each router reports a list of (directly or indirectly) reachable destinations and the routing metric (“distance vector”) to its neighbors
Each router updates its internal tables according to the information received. If a shorter distance to a destination is received, this is recorded in the table.
The distance vector is sent periodically or when the routing table is changed (e.g. interval 30 seconds)
Packets containing distance vectors are called routing updates. 13
![Page 14: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/14.jpg)
Count-to-infinity Problem
14
A B C1 1
Destination Distance Next nodeB 1 BC 2 B
Node A
Destination Distance Next nodeA 1 AC 1 C
Node B
Destination Distance Next nodeB 1 BA 2 B
Noce C
![Page 15: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/15.jpg)
Count-to-infinity Problem
15
A B C1 1X
Destination Distance Next nodeB 1 BC 2 B
Node A
Destination Distance Next nodeA 1 AC 1 C
Node B
Destination Distance Next nodeB 1 BA 2 B
Node C
![Page 16: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/16.jpg)
Count-to-infinity Problem
16
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distance Next nodeA 1 AC 1 C
Node B
Destination Distance Next nodeB 1 BA 2 B
Node C
Destination Distance Next nodeB N.E.C N.E.
Node A
![Page 17: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/17.jpg)
Count-to-infinity Problem
17
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distanz Nächster KnotenA 1 AC 1 C
Knoten B
Destination Distance Next nodeB 1 BA 2 B
Node C
Destination Distance Next nodeB N.E.C N.E.
Node A
Destination Distance Next nodeA N.E.C 1 C
Node B
![Page 18: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/18.jpg)
Count-to-infinity Problem
18
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distanz Nächster KnotenA 1 AC 1 C
Knoten B
Destination Distance Next nodeB 1 BA 2 B
Node C
Destination Distance Next nodeB N.E.C N.E.
Node A
Destination Distanz Nächster KnotenA N.E.C 1 C
Knoten BDestination Distance Next node
A 3 CC 1 C
Node B
![Page 19: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/19.jpg)
Count-to-infinity Problem
19
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distanz Nächster KnotenA 1 AC 1 C
Knoten B
Destination Distanz Nächster KnotenB 1 BA 2 B
Knoten C
Destination Distance Next nodeB N.E.C N.E.
Node A
Destination Distanz Nächster KnotenA N.E.C 1 C
Knoten BDestination Distance Next node
A 3 CC 1 C
Node B
Destination Distance Next nodeB 1 BA 4 B
Node C
![Page 20: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/20.jpg)
Count-to-infinity Problem
20
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distanz Nächster KnotenA 1 AC 1 C
Knoten B
Destination Distanz Nächster KnotenB 1 BA 2 B
Knoten C
Destination Distance Next nodeB N.E.C N.E.
Node A
Destination Distanz Nächster KnotenA N.E.C 1 C
Knoten BDestination Distanz Nächster Knoten
A 3 CC 1 C
Knoten B
Destination Distance Next nodeB 1 BA 4 B
Node C
Destination Distance Next nodeA 5 CC 1 C
Node B
![Page 21: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/21.jpg)
Count-to-infinity Problem
21
A B C1 1X
Destination Distanz Nächster KnotenB 1 BC 2 B
Knoten A
Destination Distanz Nächster KnotenA 1 AC 1 C
Knoten B
Destination Distanz Nächster KnotenB 1 BA 2 B
Knoten C
Destination Distance Next nodeB N.E.C N.E.
Node A
Destination Distanz Nächster KnotenA N.E.C 1 C
Knoten BDestination Distanz Nächster Knoten
A 3 CC 1 C
Knoten B
Destination Distanz Nächster KnotenB 1 BA 4 B
Knoten C
Destination Distance Next nodeA 5 CC 1 C
Node B
Destination Distance Next nodeB 1 BA 6 B
Node C
Bad news travel slow[ly]
![Page 22: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/22.jpg)
FixesDefine infinity as finite
Maximum hop count is 15, ≥16 means infinite
Split horizon Never advertise a route out of the interface through
which you learned it.
Poison reverse Advertise invalid routes as unreachable
Split horizon with poison reverse Once you learn of a route through an interface,
advertise it as unreachable back through that same interface.
Hold-down timer
Report the entire path 22
![Page 23: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/23.jpg)
Link State Routing
23
![Page 24: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/24.jpg)
Link State Routing: Basic idea
Each router compiles a list of directly connected neighbors with associated metric
Each router participates in flooding these lists
Convergence: With time, each router will get the full topology of the network.
Routers compute the best route from a source (or themselves) to a destination using Dijkstra’s Shortest Path First (SPF) algorithm
24
![Page 25: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/25.jpg)
Motivation for hierarchical routing
Scalability Both algorithms (DV, LS) have poor scalability
properties (memory and computational complexity).
DV also has some problem with number and size of routing updates.
Administration may need more facilities, e.g. Local routing policies Specific metrics (hops, delay, traffic load, cost,
…) Medium-term traffic management Different levels of trust (own routers / foreign
routers)25
![Page 26: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/26.jpg)
Hierarchical routing domains, AS
26
Autonomous Systems (AS):• Managed by one entity.• Unique AS number.
Interior Gateway Protocols (IGP),OSPF, RIP, ...
Exterior GatewayProtocols (EGP),BGP
AS 1
AS 3
AS 4
AS 2Border Router
AS Speaker
![Page 27: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/27.jpg)
Internet intra-domain routing protocols
Distance-Vector-type: Routing Information Protocol (RIP),
RFC 1058, 2453
Link-State-typeOpen Shortest Path First (OSPF),
RFC 2328Intermediate System-to-
Intermediate System (IS-IS), an OSI protocol supported by most routers
27
![Page 28: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/28.jpg)
Specialized Packet
Forwarding Hardware
Feature
Feature
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Classical network architecture
Distributed control plane
Distributed routing protocols: OSPF, IS-IS, BGP, etc.
![Page 29: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/29.jpg)
Million of linesof source code
5400 RFCs Barrier to entry
Billions of gates
Complex Power Hungry
Closed, vertically integrated, boated, complex, proprietaryMany complex functions baked into the infrastructure
OSPF, BGP, multicast, differentiated services,Traffic Engineering, NAT, firewalls, MPLS, redundant layers, …
Little ability for non-telco network operators to get what they wantFunctionality defined by standards, put in hardware, deployed on nodes
The Networking Industry (2007)
Specialized Packet
Forwarding Hardware
OperatingSystem
Feature
Feature
Routing, management, mobility management, access control, VPNs, …
29
![Page 30: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/30.jpg)
SDN
Possible definitions:
SDN is a new network architecture:that’s makes it easier to program
networks.with the core idea that software
remotely controls network hardware.
…
![Page 31: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/31.jpg)
Specialized Packet
Forwarding Hardware
Feature
Feature
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
Specialized Packet
Forwarding Hardware
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
OperatingSystem
Network OS
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
Feature
From Vertically Integrated to …
![Page 32: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/32.jpg)
Feature
Feature
Network OS
Well-defined open API Constructs a logical mapof the network
Software Defined Network
OpenFlow
Simple PacketForwarding Hardware
Simple PacketForwarding Hardware
Simple PacketForwarding Hardware
Simple PacketForwarding Hardware
Simple PacketForwarding Hardware
Open vendor agnostic protocol
![Page 33: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/33.jpg)
Network OSNetwork OS: distributed system that creates
a consistent, up-to-date network viewRuns on servers (controllers) in the network
Uses an open protocol to:Get state information from forwarding
elementsGive control directives to forwarding elements
![Page 34: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/34.jpg)
OpenFlow
OpenFlowis a protocol for remotely
controlling the forwarding table of a switch or router
is one element of SDN
![Page 35: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/35.jpg)
How does OpenFlow work?
35
![Page 36: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/36.jpg)
Ethernet Switch
36
![Page 37: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/37.jpg)
Data Path (Hardware)
Control PathControl Path (Software)
37
![Page 38: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/38.jpg)
Data Path (Hardware)
Control Path
OpenFlow
OpenFlow Controller
OpenFlow Protocol (SSL/TCP)
38
![Page 39: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/39.jpg)
Controller
PC
HardwareLayer
SoftwareLayer
Flow Table
MACsrc
MACdst
IPSrc
IPDst
TCPsport
TCPdport Action
OpenFlow Client
**5.6.7.8*** port 1
port 4port 3port 2port 1
1.2.3.45.6.7.8
OpenFlow Example
39
![Page 40: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/40.jpg)
OpenFlow Basics Flow Table Entries
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
L4sport
L4dport
Rule Action Stats
1. Forward packet to zero or more ports2. Encapsulate and forward to controller3. Send to normal processing pipeline4. Modify Fields5. Any extensions you add!
+ mask what fields to match
Packet + byte counters
40
VLANpcp
IPToS
![Page 41: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/41.jpg)
ExamplesSwitching
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* 00:1f:.. * * * * * * * port6
Flow Switching
port3
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
00:20.. 00:1f.. 0800 vlan1 1.2.3.4 5.6.7.8 4 17264 80 port6
Firewall
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * * * * * * * 22 drop
41
![Page 42: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/42.jpg)
ExamplesRouting
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * * * * 5.6.7.8 * * * port6
VLAN Switching
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * vlan1 * * * * *
port6, port7,port9
00:1f..
42
![Page 43: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/43.jpg)
Secure Channel
SSL Connection, site-specific key
Controller discovery protocol
Encapsulate packets for controller
Send link/port state to controller
![Page 44: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/44.jpg)
Main Concepts of ArchitectureSeparate data from control
A standard protocol between data and control
Define a generalized flow table Very flexible and generalized flow abstraction
Open up layers1-7
Open control API For control and management applications
Virtualization of the data and control plane
Backward compatible Though allows completely new header
![Page 45: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/45.jpg)
OpenFlow is not enough.
45
![Page 46: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/46.jpg)
OpenFlow is not enough…
Adds the ability to modify, experiment…
But still harder than it should be to add features to a network
Effectively assembly programming or an ISA
46
[OpenFlow is just a forwarding table management protocol]
![Page 47: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/47.jpg)
SDN App example OSPF and Dijkstra
![Page 48: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/48.jpg)
OSPFRFC 2328: 245 pages
Distributed ProtocolBuilds consistent, up-to-date
map of the network: 101 pages
Dijkstra’s AlgorithmOperates on map: 4 pages
![Page 49: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/49.jpg)
ExampleOSPF = Dijkstra
IS-IS
Network OS
PacketForwarding
PacketForwarding
PacketForwarding
PacketForwarding
Distributed System
Custom Hardware
OS
OSPF IS-IS
Distributed
System
Distributed
System
![Page 50: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/50.jpg)
Other SDN Use Cases Energy conservation, routing, and management in data
centers
Seamless use of diverse wireless networks
Network based load balancing
Traffic engineering
Slicing and scalable remote control/management of home networks
Experimentation with new approaches and protocols using selected production traffic
Run virtual shadow network for traffic analysis and re-configuration
And many more … See http://www.openflow.org/videos/
![Page 51: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/51.jpg)
AHelpfulAnalogy
![Page 52: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/52.jpg)
Mainframe industry in the 1980s: Vertically
integratedClosed, proprietary
Slow innovationSmall industry
SpecializedOperatingSystem
SpecializedHardware
App
App
App
App
App
App
App
App
App
App
AppSpecialized
Applications
HorizontalOpen interfacesRapid innovation
Huge industry
Microprocessor
Open Interface
Linux
MacOS
Windows
(OS)or or
Open Interface
![Page 53: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/53.jpg)
Networking industry in 2007:
Vertically integrated
Closed, proprietary
Slow innovation
App
App
App
App
App
App
App
App
App
App
App
HorizontalOpen interfacesRapid innovation
Control
Plane
Control
Plane
Control
Planeor or
Open InterfaceSpecialized
ControlPlane
SpecializedHardware
SpecializedFeatures
MerchantSwitching Chips
Open Interface
![Page 54: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/54.jpg)
[Hands-on Tutorial]http://www.openflow.org/wk/index.php/OpenFlow_Tutorial
54
![Page 55: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/55.jpg)
Hands-on Tutorial
This lecture:Will do part 4 of tutorial
Next lecture:Bring your laptopInstall virtual machine (parts 1-3
of tutorial) before coming to the lecture
![Page 56: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/56.jpg)
Tutorial Setup
Controllerport6633 c0
OpenFlow Switch
s1 dpctl(user space
process)
h410.0.0
.4
h310.0.0
.3
h210.0.0.
2
virtual hosts
OpenFlow Tutorial3hosts-1switchtopology
loopback(127.0.0.1:6633)
loopback(127.0.0.1:6634)
s1-eth0 s1-eth1 s1-eth2
h1-eth0 h3-eth0 h4-eth0
56
![Page 57: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/57.jpg)
TutorialFlow
57
![Page 58: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/58.jpg)
This talk wouldn’t be possible without:
Past slides from:Brandon HellerNick McKeownGuru ParulkarScott Shenker
![Page 59: CS 490.31: Software Defined Networks 1st Lecture 14/3/2013](https://reader035.vdocument.in/reader035/viewer/2022070400/56812ba4550346895d8fd5d9/html5/thumbnails/59.jpg)
Further reading
http://www.openflow.org/wk/index.php/OpenFlow_Tutorial
http://www.openflow.org/videos/
www.csd.uoc.gr/~hy490-31/links.html