3/15/2013 Learning Objectives � What is SDN? � How key SDN technologies work? � SDN applications � How to program SDN networks? Course Schedule Course Project Time Description � Program an SDN application 14/03/2013 Introduction to SDN, OpenFlow 21/03/2013 Switches & SDN controllers � Milestones: 28/03/2013 SDNApplications � Select project 29/3/2013 04/04/2013 Network virtualization � Intermediate presentation 18/4/2013 11/04/2013 More on SDN apps (tentative) 18/04/2013 From protocols to abstractions (tentative) � Final project report & code 12/5/2013 More details on the website: http://www.csd.uoc.gr/~hy490-31 3 Agenda Course Logistics Time Description � Website: http://www.csd.uoc.gr/~hy490-31 9:15 – 9:30 Course Logistics � Mailing list: 9:30-10:00 Background on Routing Protocol subscribe to hy490-31-list 10:15 – 11:00 SDN/OpenFlow Introduction � Have questions? 11:15-12:00 Hands on: Learn DevelopmentTools hy490-31@csd.uoc.gr (Part 4 of OpenFlowTutorial) � Teaching assistant: Stelios Frantzeskakis sfrantz@csd.uoc.gr � Instructor: Xenofontas Dimitropoulos fontas@tik.ee.ethz.ch 6 1
3/15/2013 IP Protocol Stack Application HTTP FTP DNS layer Transport TCP UDP layer Internet IP Routing layer Phys. Network Ethernet ATM DECnet layer 8 7 Routing algorithm Routing vs. forwarding � A distributed algorithm executed among the routers which builds the routing tables. Path selection can be based on different � Routing (algorithm): metrics: � Quantative: #hops, bandwidth, available capacity, delay, delay jitter,… A successive exchange of connectivity � Others: Policy, utilization, revenue maximization, politics,… information between routers. Each router builds its own routing table based on � Design and evaluation criteria: collected information. � Scalability of algorithm. How will route information packets (i.e. overhead) scale with an increased number of routers? Computational complexity? � Forwarding (process): � Time to a common converged state. � Stability and robustness against errors and partial information A switch- or router- local process which forwards packets towards the destination � Two important classes of routing algorithms using the information given in the local � Distance Vector (also called Bellman-Ford or Ford-Fulkerson) routing table. � Link State Richard Bellman: On Routing Problem , in Quarterly of Applied Mathematics, 16(1), pp.87-90, 1958. LestorR. Ford jr., D. R. Fulkerson: Flows in Networks , Princeton University Press, 1962. 9 10 Distance Vector Routing: Basic Idea Winterthur Dest LU BE BS W opt Geneva: 300km Basel Geneva: 200km GE 280 265 275 335 BE XY 35 km 75 km Bern Geneva: 140km 125 km Distance Vector for GE as We are at Zurich seen by the Zurich router: Dist. to Geneva? 70 km (GE, 265) Lucerne Geneva: 210km 12 11 2
3/15/2013 Distance Vector Routing - Count-to-infinity Problem Description 1 1 A B C � Each router reports a list of (directly or indirectly) reachable destinations and the routing metric Node A (“distance vector”) to its neighbors Destination Distance Next node B 1 B C 2 B � 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. Node B Destination Distance Next node A 1 A � The distance vector is sent periodically or when the C 1 C routing table is changed (e.g. interval 30 seconds) Noce C � Packets containing distance vectors are called Destination Distance Next node B 1 B routing updates. A 2 B 13 14 Count-to-infinity Problem Count-to-infinity Problem 1 1 1 1 A X B C A X B C Node A Knoten A Node A Destination Distance Next node Destination Destination Distance Distanz Nächster Knoten Next node B 1 B B B N.E. 1 B C 2 B C C N.E. 2 B Node B Node B Destination Distance Next node Destination Distance Next node A 1 A A 1 A C 1 C C 1 C Node C Node C Destination Distance Next node Destination Distance Next node B 1 B B 1 B A 2 B A 2 B 15 16 Count-to-infinity Problem Count-to-infinity Problem 1 1 1 1 X X A B C A B C Knoten A Node A Knoten A Node A Destination Destination Distance Distanz Nächster Knoten Next node Destination Destination Distance Distanz Nächster Knoten Next node B B N.E. 1 B B B N.E. 1 B C C N.E. 2 B C C N.E. 2 B Knoten B Node B Knoten B Knoten B Node B Destination Destination Distance Distanz Nächster Knoten Next node Destination Destination Destination Distance Distanz Distanz Nächster Knoten Nächster Knoten Next node A A N.E. 1 A A A A N.E. 3 1 A C C C 1 1 C C C C C 1 1 1 C C C Node C Node C Destination Distance Next node Destination Distance Next node B 1 B B 1 B A 2 B A 2 B 17 18 3
3/15/2013 Count-to-infinity Problem Count-to-infinity Problem 1 1 1 1 A X B C A X B C Knoten A Node A Knoten A Node A Destination Destination Distance Distanz Nächster Knoten Next node Destination Destination Distance Distanz Nächster Knoten Next node B B N.E. 1 B B B N.E. 1 B C C N.E. 2 B C C N.E. 2 B Knoten B Knoten B Node B Knoten B Knoten B Knoten B Node B Destination Destination Destination Distance Distanz Distanz Nächster Knoten Nächster Knoten Next node Destination Destination Destination Destination Distance Distanz Distanz Distanz Nächster Knoten Nächster Knoten Nächster Knoten Next node A A A N.E. 1 3 C A A A A A N.E. 1 3 5 A C C C C C 1 1 1 C C C C C C C 1 1 1 1 C C C C Knoten C Node C Knoten C Node C Destination Destination Distance Distanz Nächster Knoten Next node Destination Destination Distance Distanz Nächster Knoten Next node B B 1 1 B B B B 1 1 B B A A 4 2 B B A A 2 4 B B 19 20 Fixes Count-to-infinity Problem � Define infinity as finite � Maximum hop count is 15, ≥ 16 means infinite 1 1 A X B C � Split horizon � Never advertise a route out of the interface through which you Knoten A Node A Destination Destination Distance Distanz Nächster Knoten Next node learned it. B B N.E. 1 B C C N.E. 2 B � Poison reverse � Advertise invalid routes as unreachable Knoten B Knoten B Knoten B Node B Bad news travel slow[ly] Destination Destination Destination Destination Distance Distanz Distanz Distanz Nächster Knoten Nächster Knoten Nächster Knoten Next node A A A A N.E. 1 3 5 A C C � Split horizon with poison reverse C C C C 1 1 1 1 C C C C � Once you learn of a route through an interface, advertise it as unreachable back through that same interface. Knoten C Knoten C Node C Destination Destination Destination Distance Distanz Distanz Nächster Knoten Nächster Knoten Next node B B B 1 1 1 B B B � Hold-down timer A A A 2 6 4 B B B � Report the entire path 21 22 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 23 4
Recommend
More recommend