Computer Networks Lecture #5 PDF
Document Details
Uploaded by CuteWatermelonTourmaline
Kangwon National University
Tags
Summary
These lecture notes provide an overview of computer networks, focusing on lecture 5's topics. It covers introductions to control planes, routing protocols (link states and distance vectors), and network-layer functions. Concepts like software-defined networking (SDN) are also briefly discussed.
Full Transcript
Computer Networks Lecture #5 In the last lecture Generalized forwarding, SDN Match + action OpenFlow: match + action in action Middleboxes Today Introduction to control plane in network layer Routing protocols Link states Distance vectors Introduction to control plane in...
Computer Networks Lecture #5 In the last lecture Generalized forwarding, SDN Match + action OpenFlow: match + action in action Middleboxes Today Introduction to control plane in network layer Routing protocols Link states Distance vectors Introduction to control plane in network layer Network-layer functions Forwarding Move packets from router’s input port to appropriate router’s Data plane output port Routing Determine route taken by packets from source to destination Control plane Two approaches to structuring network control plane Per-router control (traditional) Logically centralized control (SDN) Per-router control plane Individual routing algorithm components in each and every router interact in the control plane Software-Defined Networking control plane Remote controller computes, installs forwarding tables in routers Routing protocols Routing protocols Design to determine “good paths” (equivalently, good routes), from sending hosts to receiving hosts through network of routers path: sequence of routers packets traverse from given initial source host to nal destination host “good”: evaluated in terms of a certain metric e.g., “least cost”, “fastest”, “least congested” Routing is a “top-10” networking challenge fi Graph abstraction: link costs ca,b: cost of direct link connecting a and b (e.g., cw,z = 5, cu,z = ∞) - cost is de ned by network operator - could always be 1 - or inversely related to bandwidth - or inversely related to congestion fi Routing algorithm classification Link state routing algorithm Net topology, and link costs known to all nodes Notation Accomplished via “link state broadcast” cx,y: link cost from node x to y; All nodes have the same info = ∞ if not direct neighbors D(v): current value of cost of path Compute least cost paths from one node (“source”) from source to destination v to all other nodes p(v): predecessor node along path Give forwarding table for that node from source to v N': set of nodes whose least cost path de nitively known Dijkstra’s algorithm is used After k iterations, the least cost paths to k destinations are known (iterative) fi Dijkstra’s link state routing algorithm Notation cx,y: link cost from node x to y; = ∞ if not direct neighbors D(v): current value of cost of path from source to destination v p(v): predecessor node along path from source to v N': set of nodes whose least cost path de nitively known fi Dijkstra’s algorithm: example Dijkstra’s algorithm: example Dijkstra’s algorithm: another example * Notes - Construct least-cost-path tree by tracing predecessor nodes - Ties can exist (can be broken arbitrarily) Dijkstra algorithm: discussion Algorithm complexity (with n nodes) Each of n iteration: need to check all nodes, w ∉ N 2 n(n + 1)/2 comparisons → O(n ) complexity More e cient implementation using priority queue → O(n log n) Message complexity Each router must broadcast its link state information to other n-1 routers E cient (and interesting!) broadcast algorithms → O(n) link crossing to disseminate a broadcast message from one source 2 Each router’s message crosses O(n) links → overall message complexity becomes O(n ) ffi ffi Oscillation issue in Dijkstra’s algorithm When link costs depend on tra c volume, route oscillation becomes possible Sample scenario Routing to destination a Tra c enters at d, c, e with rates of 1, e (