0% found this document useful (0 votes)
28 views

Chapter 5 V7.01 Accessible

ch 5

Uploaded by

steve
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Chapter 5 V7.01 Accessible

ch 5

Uploaded by

steve
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 90

Computer Networking: A Top Down

Approach
Seventh Edition

Chapter 5
The Network Layer:
Control Plane

Slides in this presentation contain hyperlinks.


JAWS users should be able to get a list of links
by using INSERT+F7

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Chapter 5: Network Layer Control Plane
chapter goals: understand principles behind network control plane
• traditional routing algorithms
• SDN controlllers
• Internet Control Message Protocol
• network management

and their instantiation, implementation in the Internet:


• OSPF, BGP, OpenFlow, ODL and ONOS controllers, ICMP, SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (1 of 9)
5.1 introduction
5.2 routing protocols
‒ link state
‒ distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Network-Layer Functions
Recall: two network-layer functions:
• forwarding: move packets
from router’s input to data plane
appropriate router output
• routing: determine route taken
control plane
by packets from source to
destination
Two approaches to structuring network control plane:
• per-router control (traditional)
• logically centralized control (software defined networking)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Per-Router Control Plane
Individual routing algorithm components in each and every
router interact with each other in control plane to compute
forwarding tables

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Logically Centralized Control Plane
A distinct (typically remote) controller interacts with local
control agents (CAs) in routers to compute forwarding tables

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (2 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Routing Protocols
Routing protocol goal: determine “good” paths (equivalently,
routes), from sending hosts to receiving host, through network of
routers
• path: sequence of routers packets will traverse in going from
given initial source host to given final destination host
• “good”: least “cost”, “fastest”, “least congested”
• routing: a “top-10” networking challenge!

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Graph Abstraction of the Network

graph: G = (N, E)
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z),
(y,z) }
aside: graph abstraction is useful in other network contexts, e.g., P 2P,
where N is set of peers and E is set of TCP connections
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Graph Abstraction: Costs
c  x,x  = cost of link  x,x  e.g., c  w,z  = 5

cost could always be 1, or inversely


related to bandwidth, or inversely
related to congestion

cost of path (x1, x 2, x 3 ,…,x p ) = c(x1,x 2 ) + c(x 2,x 3 ) + … + c(xp-1, xp ) 

key question: what is the least-cost path between u and z?


routing algorithm: algorithm that finds that least cost path

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Routing Algorithm Classification
Q: global or decentralized Q: static or dynamic?
information?
static:
global:
• routes change slowly over
• all routers have complete topology,
time
link cost info
• “link state” algorithms dynamic:
decentralized: • routes change more quickly
• router knows physically-connected – periodic update
neighbors, link costs to neighbors – in response to link cost
• iterative process of computation, changes
exchange of info with neighbors
• “distance vector” algorithms

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (3 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
A Link-State Routing Algorithm

Dijkstra’s algorithm notation:


• net topology, link costs known to all • c(x,y): link cost from node
nodes
– accomplished via “link state x to y;   if not direct
broadcast” neighbors
– all nodes have same info • D(v): current value of cost of path
• computes least cost paths from one from source to dest. v
node (‘source”) to all other nodes • p(v): predecessor node along path
– gives forwarding table for that from source to v
node
• N': set of nodes whose least cost
• iterative: after k iterations, know least path definitively known
cost path to k dest.’s

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijsktra’s Algorithm

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijkstra’s Algorithm: Example (1 of 2)

notes:
• construct shortest path tree by
tracing predecessor nodes
• ties can exist (can be broken
arbitrarily)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijkstra’s Algorithm: Another Example

* Check out the online interactive exercises for more examples:


http://gaia.cs.umass.edu/kurose_ross/interactive/

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijkstra’s Algorithm: Example (2 of 2)
• resulting forwarding table in u:

resulting shortest-path tree from u:


destination Link
V (u,v)
X (u,x)
Y (u,x)
W (u,x)
Z (u,x)
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijkstra’s Algorithm, Discussion (1 of 2)

algorithm complexity: n nodes


• each iteration: need to check all nodes, w, not in N
• n  n+1 /2 comparisons: O n2  
• more efficient implementations possible: O(nlogn)
oscillations possible:
• e.g., support link cost equals amount of carried traffic:

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Dijkstra’s Algorithm, Discussion (2 of 2)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (4 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (1 of 6)
Bellman-Ford equation (dynamic programming)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Bellman-Ford Example
clearly, dv  z  =5, dx  z  =3, d w  z  =3

B-F equation says:

du  z  = min { c(u,v) + dv  z  ,
                   c(u,x) + dx  z  ,
                   c(u,w) + dw  z  }
        = min {2 + 5,
                   1 + 3,
                   5 + 3} = 4

node achieving minimum is next hop in shortest path, used in


forwarding table

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (2 of 6)
• Dx  y  =
estimate of least cost from x to y
– x maintains distance vector D x = D x  y  : y ∈N

• node x:
– knows cost to each neighbor v: c(x,v)
– maintains its neighbors’ distance vectors. For each
neighbor v, x maintains D v = D v  y  : y ∈ N

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (3 of 6)
key idea:
• from time-to-time, each node sends its own distance
vector estimate to neighbors
• when x receives new DV estimate from neighbor, it
updates its own DV using B-F equation:
D x (y) ← minv {c(x, v)+D v (y)} for each node y ∈N

• under minor, natural conditions, the estimate Dx  y 


converge
•     to   the  actal   least  costdx  y 

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (4 of 6)
iterative, asynchronous: each each node:
local iteration caused by:
• local link cost change
• DV update message from
neighbor

distributed:
• each node notifies neighbors
only when its DV changes
– neighbors then notify
their neighbors if
necessary

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (5 of 6)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector Algorithm (6 of 6)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector: Link Cost Changes (1 of 2)
link cost changes:
• node detects local link cost change
• updates routing info, recalculates
distance vector
• if DV changes, notify neighbors
t0 : y detects link-cost change, updates its DV, informs its
“good neighbors.
news t1 : z receives update from y, updates its table, computes new
travels least cost to x , sends its neighbors its DV.
fast”
t2 : y receives z’s update, updates its distance table. y's least
costs do not change, so y does not send a message to z.

* Check out the online interactive exercises for more examples:


http://gaia.cs.umass.edu/kurose_ross/interactive/
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Distance Vector: Link Cost Changes (2 of 2)
link cost changes:
• node detects local link cost
change
• bad news travels slow – “count
to infinity” problem!
• 44 iterations before algorithm
stabilizes: see text
poisoned reverse:
• If Z routes through Y to get to X:
– Z tells Y its (Z’s) distance to X is infinite (so Y won’t route to X via
Z)
• will this completely solve count to infinity problem?
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Comparison of LS and DV Algorithms
message complexity
robustness: what happens if router
• LS: with n nodes, E links, O(n malfunctions?
E) msgs sent
LS:
• DV: exchange between • node can advertise incorrect link cost
neighbors only • each node computes only its own table
– convergence time varies
DV:
speed of convergence • DV node can advertise incorrect path
• LS: O  n2  algorithm requires O cost
(nE) msgs • each node’s table used by others
– may have oscillations – error propagate thru network
• DV: convergence time varies
– may be routing loops
– count-to-infinity problem
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (5 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Making Routing Scalable
our routing study thus far - idealized
• all routers identical
• network “flat”
• … not true in practice

scale: with billions of administrative autonomy


destinations:
• internet = network of networks
• can’t store all destinations
• each network admin may want
in routing tables!
to control routing in its own
• routing table exchange network
would swamp links!
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Internet Approach to Scalable Routing
aggregate routers into regions known as “autonomous systems”
(AS) (a.k.a. “domains”)
• intra-AS routing inter-AS routing
• routing among hosts, routers in same
AS (“network”) • routing among AS’es
• all routers in AS must run same • gateways perform inter-
intra-domain protocol
domain routing (as well as
• routers in different AS can run
intra-domain routing)
different intra-domain routing
protocol
• gateway router: at “edge” of its own
AS, has link(s) to router(s) in other
AS’es

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Interconnected ASes

• forwarding table configured by


both intra- and inter-AS routing
algorithm
– intra-AS routing determine
entries for destinations
within AS
– inter-AS & intra-AS
determine entries for
external destinations
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Inter-AS Tasks
• suppose router in AS1 AS1 must:
receives datagram destined 1. learn which dests are reachable
outside of AS1: through AS2, which through A
– router should forward S3
packet to gateway router, 2. propagate this reachability info
but which one? to all routers in AS1
job of inter-AS routing!

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Intra-AS Routing
• also known as interior gateway protocols (IGP)
• most common intra-AS routing protocols:
– RIP: Routing Information Protocol
– OSPF: Open Shortest Path First (IS-IS protocol essentially
same as OSPF)
– IGRP: Interior Gateway Routing Protocol (Cisco
proprietary for decades, until 2016)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OSPF (Open Shortest Path First)
• “open”: publicly available
• uses link-state algorithm
– link state packet dissemination
– topology map at each node
– route computation using Dijkstra’s algorithm
• router floods OSPF link-state advertisements to all other routers in
entire AS
– carried in OSPF messages directly over IP (rather than TCP or U
DP
– link state: for each attached link
• IS - IS routing protocol: nearly identical to OSPF
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OSPF “Advanced” Features
• security: all OSPF messages authenticated (to prevent
malicious intrusion)
• multiple same-cost paths allowed (only one path in RIP)
• for each link, multiple cost metrics for different TOS (e.g.,
satellite link cost set low for best effort ToS; high for real-time
ToS)
• integrated uni- and multi-cast support:
– Multicast OSPF (MOSPF) uses same topology data base as
OS PF
• hierarchical OSPF in large domains.
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Hierarchical OSPF (1 of 2)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Hierarchical OSPF (2 of 2)
• two-level hierarchy: local area, backbone.
– link-state advertisements only in area
– each nodes has detailed area topology; only know direction
(shortest path) to nets in other areas.
• area border routers: “summarize” distances to nets in own
area, advertise to other Area Border routers.
• backbone routers: run OSPF routing limited to backbone.
• boundary routers: connect to other AS’es.

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objective (6 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Internet inter-AS Routing: BGP
• BGP (Border Gateway Protocol): the de facto inter-domain routing
protocol
– “glue that holds the Internet together”
• B G P provides each A S a means to:
– eBGP: obtain subnet reachability information from neighboring ASes
– iBGP: propagate reachability information to all A S-internal routers.
– determine “good” routes to other networks based on reachability
information and policy
• allows subnet to advertise its existence to rest of Internet: “I am here”

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
eBGP, iBGP Connections

gateway routers run both eBGP and iBGP protocols

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP Basics
• BGP session: two BGP routers (“peers”) exchange B G P messages
over semi-permanent TCP connection:
– advertising paths to different destination network prefixes (BGP
is a “path vector” protocol)
• when AS3 gateway router 3a advertises path AS3 , X to AS2 gateway
router 2c:
– AS3 promises to AS2 it will forward datagrams towards X

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Path Attributes and BGP Routes
• advertised prefix includes BGP attributes
– prefix + attributes = “route”
• two important attributes:
– AS-PATH: list of ASes through which prefix advertisement has
passed
– NEXT-HOP: indicates specific internal-AS router to next-hop AS
• Policy-based routing:
– gateway receiving route advertisement uses import policy to
accept/decline path (e.g., never route through ASY).
– AS policy also determines whether to advertise path to other
other neighboring ASes

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP Path Advertisement (1 of 2)

• AS2 router 2c receives path advertisement AS3,X (via eBGP) from AS3
router 3a
• Based on AS2 policy, AS2 router 2c accepts path AS3 , X, propagates (via iB
GP) to all AS2 routers
• Based on AS2 policy, AS2 router 2a advertises (via eBGP) path AS2, AS3,X
to AS1 router 1c
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP Path Advertisement (2 of 2)

gateway router may learn about multiple paths to destination:


• AS1 gateway router 1c learns path AS2,AS3,X from 2a
• AS1 gateway router 1c learns path AS3,X from 3a
• Based on policy, AS1 gateway router 1c chooses path AS3 , X, and
advertises path within AS1 via iBGP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP Messages
• BGP messages exchanged between peers over TCP connection
• BGP messages:
– Open: opens TCP connection to remote BGP peer and
authenticates sending BGP peer
– Update: advertises new path (or withdraws old)
– Keepalive: keeps connection alive in absence of Updates;
also ACKs Open request
– Notification: reports errors in previous message; also used
to close connection

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP, OSPF, Forwarding Table
Entries (1 of 2)
Q: how does router set forwarding table entry to distant prefix?

• recall: 1a, 1b, 1c learn about dest X via iBGP from 1c: “path to X goes
through 1c”
• 1d: OSPF intra-domain routing: to get to 1c, forward over outgoing local
interface 1
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP, OSPF, Forwarding Table
Entries (2 of 2)
Q: how does router set forwarding table entry to distant prefix

• recall: 1a, 1b, 1c learn about


dest X via iBGP from 1c:
“path to X goes through 1c”
• 1d: OSPF intra-domain
routing: to get to 1c,
forward over outgoing local
interface 1
• 1a: OSPF intra-domain
routing: to get to 1c,
forward over outgoing local
interface 2

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP Route Selection
• router may learn about more than one route to destination AS,
selects route based on:
1. local preference value attribute: policy decision
2. shortest AS-PATH
3. closest NEXT-HOP router: hot potato routing
4. additional criteria

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Hot Potato Routing

• 2d learns (via iBGP) it can route to X via 2a or 2c


• hot potato routing: choose local gateway that has least intra-domain
cost (e.g., 2d chooses 2a, even though more AS hops to X): don’t
worry about inter-domain cost!

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP: Achieving Policy Via
Advertisements (1 of 2)

Suppose an ISP only wants to route traffic to/from its customer


networks (does not want to carry transit traffic between other I SPs)
• A advertises path Aw to B and to C
• B chooses not to advertise BAw to C:
– B gets no “revenue” for routing CBAw, since none of C,A, w are B’s
customers
– C does not learn about CBAw path
• C will route CAw (not using B) to get to w

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
BGP: Achieving Policy Via
Advertisements (2 of 2)

Suppose an ISP only wants to route traffic to/from its customer networks (does
not want to carry transit traffic between other ISPs)
• A,B,C are provider networks

• X,W,Y are customer (of provider networks)

• X is dual-homed: attached to two networks

• policy to enforce: X does not want to route from B to C via X


– .. so X will not advertise to B a route to C
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Why Different Intra-, Inter-As Routing?
policy:
• inter - A S: admin wants control over how its traffic routed, who
routes through its net.
• intra - A S: single admin, so no policy decisions needed
scale:
• hierarchical routing saves table size, reduced update traffic

performance:
• intra - A S: can focus on performance
• inter - A S: policy may dominate over performance

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (7 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Software Defined Networking (SDN) (1 of 3)
• Internet network layer: historically has been implemented via
distributed, per-router approach
– monolithic router contains switching hardware, runs
proprietary implementation of Internet standard protocols
(IP, RIP, IS-IS, OSPF, BGP) in proprietary router OS (e.g.,
Cisco IOS)
– different “middleboxes” for different network layer
functions: firewalls, load balancers, NAT boxes, ..
• ~2005: renewed interest in rethinking network control plane

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Recall: Per-Router Control Plane
Individual routing algorithm components in each and every
router interact with each other in control plane to compute
forwarding tables

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Recall: Logically Centralized Control
Plane
A distinct (typically remote) controller interacts with local
control agents (CAs) in routers to compute forwarding tables

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Software Defined Networking (SDN) (2 of 3)
Why a logically centralized control plane?
• easier network management: avoid router misconfigurations, greater
flexibility of traffic flows
• table-based forwarding (recall OpenFlow API) allows
“programming” routers
– centralized “programming” easier: compute tables centrally and
distribute
– distributed “programming: more difficult: compute tables as
result of distributed algorithm (protocol) implemented in each
and every router
• open (non-proprietary) implementation of control plane

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Analogy: Mainframe to PC Evolution*

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Traffic Engineering: Difficult Traditional
Routing

Q: what if network operator wants u-to-z traffic to flow along uvwz, x-to-z
traffic to flow xwyz?
A: need to define link weights so traffic routing algorithm computes routes
accordingly (or need a new routing algorithm)!
Link weights are only control “knobs”: wrong!

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Traffic Engineering: Difficult (1 of 2)

Q: what if network operator wants to split u-to-z traffic along uv


wz and uxyz (load balancing)?
A: can’t do it (or need a new routing algorithm)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Traffic Engineering: Difficult (2 of 2)

Q: what if w wants to route blue and red traffic differently?


A: can’t do it (with destination based forwarding, and LS, DV routing)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Software Defined Networking (SDN) (3 of 3)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN Perspective: Data Plane Switches
Data plane switches
• fast, simple, commodity switches
implementing generalized data-plane
forwarding (Section 4.4) in hardware
• switch flow table computed, installed by
controller
• API for table-based switch control (e.g.,
OpenFlow)
– defines what is controllable and
what is not
• protocol for communicating with
controller (e.g., OpenFlow)
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN Perspective: SDN Controller
SDN controller (network OS):
• maintain network state information
• interacts with network control
applications “above” via northbound
API
• interacts with network switches
“below” via southbound API
• implemented as distributed system for
performance, scalability, fault-
tolerance, robustness

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN Perspective: Control Applications
network-control apps:
• “brains” of control: implement
control functions using lower-
level services, API provided by
SND controller
• unbundled: can be provided by
3rd party: distinct from routing
vendor, or SDN controller

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Components of SDN Controller
Interface layer to network
control apps: abstractions AP
I
Network-wide state
management layer: state of
networks links, switches,
services: a distributed
database
communication layer:
communicate between SDN
controller and controlled
switches

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OpenFlow Protocol
• operates between controller,
switch
• TCP used to exchange messages
– optional encryption
• three classes of OpenFlow
messages:
– controller-to-switch
– asynchronous (switch to
controller)
– symmetric (misc)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OpenFlow: Controller-to-Switch Messages
Key controller-to-switch messages
• features: controller queries switch
features, switch replies
• configure: controller queries/sets
switch configuration parameters
• modify-state: add, delete, modify flow
entries in the OpenFlow tables
• packet-out: controller can send this
packet out of specific switch port

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OpenFlow: Switch-to-Controller Messages
Key switch-to-controller messages
• packet-in: transfer packet (and its
control) to controller. See packet-out
message from controller
• flow-removed: flow table entry deleted
at switch
• port status: inform controller of a
change on a port.

Fortunately, network operators don’t “program” switches by


creating/sending OpenFlow messages directly. Instead use higher-
level abstraction at controller
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN: Control/Data Plane Interaction
Example (1 of 2)
1. S1, experiencing link failure using
OpenFlow port status message to
notify controller
2. SDN controller receives
OpenFlow message, updates link
status info
3. Dijkstra’s routing algorithm
application has previously
registered to be called when ever
link status changes. It is called.
4. Dijkstra’s routing algorithm
access network graph info, link
state info in controller, computes
new routes
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN: Control/Data Plane Interaction
Example (2 of 2)
5. link state routing app
interacts with flow-table-
computation component in S
DN controller, which
computes new flow tables
needed
6. Controller uses OpenFlow to
install new tables in switches
that need updating

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
OpenDaylight (ODL) Controller
• ODL Lithium controller
• network apps may be
contained within, or be
external to SDN controller
• Service Abstraction Layer:
interconnects internal,
external applications and
services

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
ONOS Controller
• control apps separate from
controller
• intent framework: high-
level specification of
service: what rather than
how
• considerable emphasis on
distributed core: service
reliability, replication
performance scaling

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SDN: Selected Challenges
• hardening the control plane: dependable, reliable, performance-
scalable, secure distributed system
– robustness to failures: leverage strong theory of reliable
distributed system for control plane
– dependability, security: “baked in” from day one?
• networks, protocols meeting mission-specific requirements
– e.g., real-time, ultra-reliable, ultra-secure
• Internet-scaling

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (8 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
ICMP: Internet Control Message
Protocol (1 of 2)
• used by hosts & routers to communicate network-level
information
– error reporting: unreachable host, network, port, protocol
– echo request/reply (used by ping)
• network-layer “above” IP:
– ICMP msgs carried in IP datagrams
• ICMP message: type, code plus first 8 bytes of IP datagram
causing error

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
ICMP: Internet Control Message
Protocol (2 of 2)
ICMP Type Code Description
0 0 echo reply (to ping)
3 0 destination network unreachable
3 1 destination host unreachable
3 2 destination protocol unreachable
3 3 destination port unreachable
3 6 destination network unknown
3 7 destination host unknown
4 0 source quench (congestion control)
8 0 echo request
9 0 router advertisement
10 0 router discovery
11 0 TTL expired
12 0 IP header bad

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Traceroute and ICMP (1 of 2)
• source sends series of UDP segments to destination
– first set has TTL =1
– second set has TTL = 2, etc.
– unlikely port number
• when datagram in nth set arrives to nth router:
– router discards datagram and sends source ICMP
message (type 11, code 0)
– ICMP message include name of router & IP address
• when ICMP message arrives, source records RTTs

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Traceroute and ICMP (2 of 2)
stopping criteria:
• UDP segment eventually arrives at destination host
• destination returns ICMP “port unreachable” message
(type 3, code 3)
• source stops

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Learning Objectives (9 of 9)
5.1 introduction
5.2 routing protocols
– link state
– distance vector
5.3 intra-AS routing in the Internet: OSPF
5.4 routing among the ISPs: BGP
5.5 The SDN control plane
5.6 ICMP: The Internet Control Message Protocol
5.7 Network management and SNMP

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
What is Network Management?
• autonomous systems (aka “network”): 1000s of interacting
hardware/software components
• other complex systems requiring monitoring, control:
– jet airplane
– nuclear power plant
– others?
“Network management includes the deployment, integration and
coordination of the hardware, software, and human elements to
monitor, test, poll, configure, analyze, evaluate, and control the
network and element resources to meet the real-time, operational
performance, and Quality of Service requirements at a reasonable
cost.”
Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Infrastructure for Network Management

definitions:

managed devices
contain managed
objects whose data is
gathered into a
Management
Information Base (M
IB)

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SNMP Protocol
Two ways to convey MIB info, commands:

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SNMP Protocol: Message Types
Message type Function
GetRequest manager-to-agent: “get me data”
GetNextRequest (data instance, next data in list, block of data)
GetBulkRequest
InformRequest manager-to-manager: here’s MIB value
SetRequest manager-to-agent: set MIB value
Response Agent-to-manager: value, response to Request
Trap Agent-to-manager: inform manager of
exceptional event

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
SNMP Protocol: Message Formats

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Chapter 5: Summary
we’ve learned a lot!
• approaches to network control plane
– per-router control (traditional)
– logically centralized control (software defined networking)
• traditional routing algorithms
– implementation in Internet: OSPF, BGP
• SDN controllers
– implementation in practice: ODL, ONOS
• Internet Control Message Protocol
• network management

next stop: link layer!


Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved
Copyright

Copyright © 2017, 2013, 2010 Pearson Education, Inc. All Rights Reserved

You might also like