Разделы презентаций


Computer Networking: A Top Down Approach A note on the use of these Powerpoint

Содержание

Chapter 5: network layer control planechapter goals: understand principles behind network control planetraditional routing algorithmsSDN controlllersInternet Control Message Protocolnetwork managementand their instantiation, implementation in the Internet:OSPF, BGP, OpenFlow, ODL and ONOS

Слайды и текст этой презентации

Слайд 1Computer Networking: A Top Down Approach
A note on the

use of these Powerpoint slides:
We’re making these slides freely available

to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:


If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!)
If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material.

Thanks and enjoy! JFK/KWR

All material copyright 1996-2016
J.F Kurose and K.W. Ross, All Rights Reserved

7th edition Jim Kurose, Keith Ross Pearson/Addison Wesley April 2016

Chapter 5 Network Layer:
The Control Plane

5-

Network Layer: Control Plane

Computer Networking: A Top Down Approach  A note on the use of these Powerpoint slides:We’re making

Слайд 2Chapter 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

5-

Network Layer: Control Plane

Chapter 5: network layer control planechapter goals: understand principles behind network control planetraditional routing algorithmsSDN controlllersInternet Control

Слайд 35.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 4Network-layer functions
forwarding: move packets from router’s input to appropriate router

output

data plane


control plane


Two approaches to structuring network control plane:
per-router control

(traditional)
logically centralized control (software defined networking)

Recall: two network-layer functions:

5-

Network Layer: Control Plane

routing: determine route taken by packets from source to destination

Network-layer functionsforwarding: move packets from router’s input to appropriate router outputdata planecontrol planeTwo approaches to structuring network

Слайд 5Per-router control plane
Individual routing algorithm components in each and every

router interact with each other in control plane to compute

forwarding tables

5-

Network Layer: Control Plane

Per-router control planeIndividual routing algorithm components in each and every router interact with each other in control

Слайд 6Logically centralized control plane
A distinct (typically remote) controller interacts with

local control agents (CAs) in routers to compute forwarding tables
5-
Network

Layer: Control Plane
Logically centralized control planeA distinct (typically remote) controller interacts with local control agents (CAs) in routers to

Слайд 75.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 8Routing 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!

5-

Network Layer: Control Plane

Routing protocolsRouting protocol goal: determine “good” paths (equivalently, routes), from sending hosts to receiving host, through network

Слайд 9graph: 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) }

Graph abstraction of the network

aside: graph abstraction is useful in other network contexts, e.g.,
P2P, where N is set of peers and E is set of TCP connections

5-

Network Layer: Control Plane

graph: G = (N,E)N = set of routers = { u, v, w, x, y, z }E

Слайд 10Graph 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, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + 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

5-

Network Layer: Control Plane

Graph abstraction: costsc(x,x’) = cost of link (x,x’)   e.g., c(w,z) = 5cost could always be

Слайд 11Routing algorithm classification
Q: global or decentralized information?
global:
all routers have complete

topology, link cost info
“link state” algorithms
decentralized:
router knows physically-connected neighbors,

link costs to neighbors
iterative process of computation, exchange of info with neighbors
“distance vector” algorithms

Q: static or dynamic?
static:
routes change slowly over time
dynamic:
routes change more quickly
periodic update
in response to link cost changes

5-

Network Layer: Control Plane

Routing algorithm classificationQ: global or decentralized information?global:all routers have complete topology, link cost info“link state” algorithmsdecentralized: router

Слайд 125.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 13A link-state routing algorithm
Dijkstra’s algorithm
net topology, link costs known to

all nodes
accomplished via “link state broadcast”
all nodes have same

info
computes least cost paths from one node (‘source”) to all other nodes
gives forwarding table for that node
iterative: after k iterations, know least cost path to k dest.’s

notation:
c(x,y): link cost from node x to y; = ∞ if not direct neighbors
D(v): current value of cost of path from source to dest. v
p(v): predecessor node along path from source to v
N': set of nodes whose least cost path definitively known

5-

Network Layer: Control Plane

A link-state routing algorithmDijkstra’s algorithmnet topology, link costs known to all nodesaccomplished via “link state broadcast” all

Слайд 14Dijsktra’s algorithm
1 Initialization:
2 N' = {u}
3

for all nodes v
4 if v adjacent

to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'

5-

Network Layer: Control Plane

Dijsktra’s algorithm1 Initialization: 2  N' = {u} 3  for all nodes v 4

Слайд 15Dijkstra’s algorithm: example
Step

N'
D(v)
p(v)
0
1
2
3
4
5
D(w)
p(w)
D(x)
p(x)
D(y)
p(y)
D(z)
p(z)
u
uw
uwx
uwxv
uwxvy
12,y
notes:
construct shortest path tree by tracing predecessor

nodes
ties can exist (can be broken arbitrarily)
uwxvyz
5-
Network Layer: Control Plane

Dijkstra’s algorithm: exampleStepN'D(v)p(v)012345D(w)p(w)D(x)p(x)D(y)p(y)D(z)p(z)uuwuwxuwxvuwxvy12,y notes:construct shortest path tree by tracing predecessor nodesties can exist (can be broken arbitrarily)uwxvyz5-Network

Слайд 16Dijkstra’s algorithm: another example
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v)
2,u
2,u
2,u
D(w),p(w)
5,u
4,x
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)

2,x
D(z),p(z)


4,y
4,y
4,y
5-
Network Layer: Control Plane
* Check

out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/

Dijkstra’s algorithm: another exampleStep012345N'uuxuxyuxyvuxyvwuxyvwzD(v),p(v)2,u2,u2,uD(w),p(w)5,u4,x3,y3,yD(x),p(x)1,uD(y),p(y)∞2,xD(z),p(z)∞ ∞ 4,y4,y4,y5-Network Layer: Control Plane* Check out the online interactive exercises for more

Слайд 17Dijkstra’s algorithm: example (2)
resulting shortest-path tree from u:
resulting forwarding

table in u:
5-
Network Layer: Control Plane

Dijkstra’s algorithm: example (2) resulting shortest-path tree from u:resulting forwarding table in u:5-Network Layer: Control Plane

Слайд 18Dijkstra’s algorithm, discussion
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:

1

1+e

e

0

e

1

1

0

0

initially

5-

Network Layer: Control Plane

Dijkstra’s algorithm, discussionalgorithm complexity: n nodeseach iteration: need to check all nodes, w, not in Nn(n+1)/2 comparisons:

Слайд 195.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 20Distance vector algorithm
Bellman-Ford equation (dynamic programming)

let
dx(y) :=

cost of least-cost path from x to y
then
dx(y)

= min {c(x,v) + dv(y) }


v

cost to neighbor v

min taken over all neighbors v of x

cost from neighbor v to destination y

5-

Network Layer: Control Plane

Distance vector algorithm Bellman-Ford equation (dynamic programming)let  dx(y) := cost of least-cost path from x to

Слайд 21Bellman-Ford example
clearly, dv(z) = 5, dx(z) = 3, dw(z)

= 3
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

B-F equation says:

5-

Network Layer: Control Plane

Bellman-Ford example clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3du(z) = min { c(u,v) +

Слайд 22Distance vector algorithm
Dx(y) = estimate of least cost from

x to y
x maintains distance vector Dx = [Dx(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 Dv = [Dv(y): y є N ]


5-

Network Layer: Control Plane

Distance vector algorithm Dx(y) = estimate of least cost from x to yx maintains distance vector Dx

Слайд 23key 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:

Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

under minor, natural conditions, the estimate Dx(y) converge to the actual least cost dx(y)

Distance vector algorithm

5-

Network Layer: Control Plane

key idea: from time-to-time, each node sends its own distance vector estimate to neighborswhen x receives new

Слайд 24iterative, asynchronous: each 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


wait for (change in local link cost or msg from neighbor)

recompute estimates

if DV to any dest has changed, notify neighbors

each node:

Distance vector algorithm

5-

Network Layer: Control Plane

iterative, asynchronous: each local iteration caused by: local link cost change DV update message from neighbordistributed:each node

Слайд 25x y z
x
y
z
0 2 7






from
cost to
from
from
x

y z
x
y
z
0
x y z
x
y
z





cost to
x y

z

x

y

z




7

1

0

cost to


2 0 1

∞ ∞ ∞

2 0 1

7 1 0

time

node x
table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3

3

2

node y
table

node z
table

cost to

from

5-

Network Layer: Control Plane

x  y  zxyz0 2  7∞∞∞∞∞∞fromcost tofromfromx  y  zxyz0x  y  zxyz∞∞∞∞∞cost

Слайд 26x y z
x
y
z
0 2 3
from
cost to
x

y z
x
y
z
0 2 7
from
cost to
x y

z

x

y

z

0 2 3

from

cost to

x y z

x

y

z

0 2 3

from

cost to

x y z

x

y

z

0 2 7

from

cost to

2 0 1

7 1 0

2 0 1

3 1 0

2 0 1

3 1 0

2 0 1

3 1 0

2 0 1

3 1 0

time

x y z

x

y

z

0 2 7







from

cost to

from

from

x y z

x

y

z

0

x y z

x

y

z






cost to

x y z

x

y

z




7

1

0

cost to


2 0 1

∞ ∞ ∞

2 0 1

7 1 0

time

node x
table

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3

3

2

node y
table

node z
table

cost to

from

5-

Network Layer: Control Plane

x  y  zxyz0 2  3fromcost tox  y  zxyz0 2  7fromcost tox

Слайд 27Distance vector: link cost changes
link cost changes:
node detects local link

cost change
updates routing info, recalculates distance vector
if DV changes,

notify neighbors

“good
news
travels
fast”

t0 : y detects link-cost change, updates its DV, informs its neighbors.

t1 : z receives update from y, updates its table, computes new least cost to x , sends its neighbors its DV.

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.

5-

Network Layer: Control Plane

* Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/

Distance vector: link cost changeslink cost changes:node detects local link cost change updates routing info, recalculates

Слайд 28Distance vector: link cost changes
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?

5-

Network Layer: Control Plane

Distance vector: link cost changeslink cost changes:node detects local link cost change bad news travels slow -

Слайд 29Comparison of LS and DV algorithms
message complexity
LS: with n nodes,

E links, O(nE) msgs sent
DV: exchange between neighbors only
convergence

time varies
speed of convergence
LS: O(n2) algorithm requires O(nE) msgs
may have oscillations
DV: convergence time varies
may be routing loops
count-to-infinity problem

robustness: what happens if router malfunctions?
LS:
node can advertise incorrect link cost
each node computes only its own table
DV:
DV node can advertise incorrect path cost
each node’s table used by others
error propagate thru network

5-

Network Layer: Control Plane

Comparison of LS and DV algorithmsmessage complexityLS: with n nodes, E links, O(nE) msgs sent DV: exchange

Слайд 305.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 31Making routing scalable
scale: with billions of destinations:
can’t store all destinations

in routing tables!
routing table exchange would swamp links!


administrative autonomy
internet

= network of networks
each network admin may want to control routing in its own network

our routing study thus far - idealized
all routers identical
network “flat”
… not true in practice

5-

Network Layer: Control Plane

Making routing scalablescale: with billions of destinations:can’t store all destinations in routing tables!routing table exchange would swamp

Слайд 32aggregate routers into regions known as “autonomous systems” (AS) (a.k.a.

“domains”)
inter-AS routing
routing among AS’es
gateways perform inter-domain routing (as well as

intra-domain routing)

Internet approach to scalable routing

intra-AS routing
routing among hosts, routers in same AS (“network”)
all routers in AS must run same intra-domain protocol
routers in different AS can run different intra-domain routing protocol
gateway router: at “edge” of its own AS, has link(s) to router(s) in other AS’es

5-

Network Layer: Control Plane

aggregate routers into regions known as “autonomous systems” (AS) (a.k.a. “domains”)inter-AS routingrouting among AS’esgateways perform inter-domain routing

Слайд 33Interconnected 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

5-

Network Layer: Control Plane

Interconnected ASesforwarding table configured by both intra- and inter-AS routing algorithmintra-AS routing determine entries for destinations within

Слайд 34Inter-AS tasks
suppose router in AS1 receives datagram destined outside of

AS1:
router should forward packet to gateway router, but which one?
AS1

must:
learn which dests are reachable through AS2, which through AS3
propagate this reachability info to all routers in AS1
job of inter-AS routing!

AS3

AS2

other
networks

other
networks

5-

Network Layer: Control Plane

Inter-AS taskssuppose router in AS1 receives datagram destined outside of AS1:router should forward packet to gateway router,

Слайд 35Intra-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)

5-

Network Layer: Control Plane

Intra-AS Routingalso known as interior gateway protocols (IGP)most common intra-AS routing protocols:RIP: Routing Information ProtocolOSPF: Open Shortest

Слайд 36OSPF (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 UDP
link state: for each attached link
IS-IS routing protocol: nearly identical to OSPF

5-

Network Layer: Control Plane

OSPF (Open Shortest Path First)“open”: publicly availableuses link-state algorithm link state packet disseminationtopology map at each noderoute

Слайд 37OSPF “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 OSPF
hierarchical OSPF in large domains.

5-

Network Layer: Control Plane

OSPF “advanced” featuressecurity: all OSPF messages authenticated (to prevent malicious intrusion) multiple same-cost paths allowed (only one

Слайд 38Hierarchical OSPF
boundary router
backbone router
area 1
area 2
area 3
backbone
area
border
routers
internal
routers
5-
Network Layer: Control Plane

Hierarchical OSPFboundary routerbackbone routerarea 1area 2area 3backboneareaborderroutersinternalrouters5-Network Layer: Control Plane

Слайд 39two-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.

Hierarchical OSPF

5-

Network Layer: Control Plane

two-level hierarchy: local area, backbone.link-state advertisements only in area each nodes has detailed area topology; only know

Слайд 405.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 41Internet inter-AS routing: BGP
BGP (Border Gateway Protocol): the de facto

inter-domain routing protocol
“glue that holds the Internet together”
BGP provides each

AS a means to:
eBGP: obtain subnet reachability information from neighboring ASes
iBGP: propagate reachability information to all AS-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”

5-

Network Layer: Control Plane

Internet inter-AS routing: BGPBGP (Border Gateway Protocol): the de facto inter-domain routing protocol“glue that holds the Internet

Слайд 42eBGP, iBGP connections
AS 2
AS 3
AS 1
5-
Network Layer: Control Plane

eBGP, iBGP connectionsAS 2AS 3AS 15-Network Layer: Control Plane

Слайд 43BGP basics
when AS3 gateway router 3a advertises path AS3,X to

AS2 gateway router 2c:
AS3 promises to AS2 it will forward

datagrams towards X

BGP session: two BGP routers (“peers”) exchange BGP messages over semi-permanent TCP connection:
advertising paths to different destination network prefixes (BGP is a “path vector” protocol)

AS 2

AS 3

AS 1

5-

Network Layer: Control Plane

BGP basicswhen AS3 gateway router 3a advertises path AS3,X to AS2 gateway router 2c:AS3 promises to AS2

Слайд 44Path 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 AS Y).
AS policy also determines whether to advertise path to other other neighboring ASes

5-

Network Layer: Control Plane

Path attributes and BGP routesadvertised prefix includes BGP attributes prefix + attributes = “route”two important attributes:AS-PATH: list

Слайд 45BGP path advertisement
Based on AS2 policy, AS2 router 2c accepts

path AS3,X, propagates (via iBGP) to all AS2 routers

AS2
AS3
AS1
AS2 router

2c receives path advertisement AS3,X (via eBGP) from AS3 router 3a

Based on AS2 policy, AS2 router 2a advertises (via eBGP) path AS2, AS3, X to AS1 router 1c

5-

Network Layer: Control Plane

BGP path advertisementBased on AS2 policy, AS2 router 2c accepts path AS3,X, propagates (via iBGP) to all

Слайд 46BGP path advertisement
AS1 gateway router 1c learns path AS2,AS3,X from

2a

AS2
AS3
AS1
gateway router may learn about multiple paths to destination:
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

5-

Network Layer: Control Plane

BGP path advertisementAS1 gateway router 1c learns path AS2,AS3,X from 2aAS2AS3AS1gateway router may learn about multiple paths

Слайд 47BGP 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 msg; also used to close connection

5-

Network Layer: Control Plane

BGP messagesBGP messages exchanged between peers over TCP connectionBGP messages:OPEN: opens TCP connection to remote BGP peer

Слайд 48BGP, OSPF, forwarding table entries
recall: 1a, 1b, 1c learn about

dest X via iBGP from 1c: “path to X goes

through 1c”

AS2

AS3

AS1

1d: OSPF intra-domain routing: to get to 1c, forward over outgoing local interface 1

AS3,X

Q: how does router set forwarding table entry to distant prefix?

physical link

local link interfaces
at 1a, 1d

5-

Network Layer: Control Plane

BGP, OSPF, forwarding table entriesrecall: 1a, 1b, 1c learn about dest X via iBGP from 1c: “path

Слайд 49BGP, OSPF, forwarding table entries
recall: 1a, 1b, 1c learn about

dest X via iBGP from 1c: “path to X goes

through 1c”

AS2

AS3

AS1

1d: OSPF intra-domain routing: to get to 1c, forward over outgoing local interface 1

Q: how does router set forwarding table entry to distant prefix?

1a: OSPF intra-domain routing: to get to 1c, forward over outgoing local interface 2

5-

Network Layer: Control Plane

BGP, OSPF, forwarding table entriesrecall: 1a, 1b, 1c learn about dest X via iBGP from 1c: “path

Слайд 50BGP route selection
router may learn about more than one route

to destination AS, selects route based on:
local preference value attribute:

policy decision
shortest AS-PATH
closest NEXT-HOP router: hot potato routing
additional criteria

5-

Network Layer: Control Plane

BGP route selectionrouter may learn about more than one route to destination AS, selects route based on:local

Слайд 51Hot 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!

AS2

AS3

AS1

OSPF link weights

201

152

112

263

5-

Network Layer: Control Plane

Hot Potato Routing2d learns (via iBGP) it can route to X via 2a or 2chot potato routing:

Слайд 52A 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

Suppose an ISP only wants to route traffic to/from its customer networks (does not want to carry transit traffic between other ISPs)

5-

Network Layer: Control Plane

BGP: achieving policy via advertisements

A advertises path Aw to B and to CB chooses not to advertise BAw to C: B

Слайд 53BGP: achieving policy via advertisements
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

Suppose an ISP only wants to route traffic to/from its customer networks (does not want to carry transit traffic between other ISPs)

5-

Network Layer: Control Plane

BGP: achieving policy via advertisementsA,B,C are provider networksX,W,Y are customer (of provider networks)X is dual-homed: attached to

Слайд 54Why different Intra-, Inter-AS routing ?
policy:
inter-AS: admin wants

control over how its traffic routed, who routes through its

net.
intra-AS: single admin, so no policy decisions needed
scale:
hierarchical routing saves table size, reduced update traffic
performance:
intra-AS: can focus on performance
inter-AS: policy may dominate over performance

5-

Network Layer: Control Plane

Why different Intra-, Inter-AS routing ? policy: inter-AS: admin wants control over how its traffic routed, who

Слайд 555.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 56Software defined networking (SDN)
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

5-

Network Layer: Control Plane

Software defined networking (SDN)Internet network layer: historically has been implemented via distributed, per-router approachmonolithic router contains switching

Слайд 57Recall: per-router control plane
Individual routing algorithm components in each and

every router interact with each other in control plane to

compute forwarding tables

5-

Network Layer: Control Plane

Recall: per-router control planeIndividual routing algorithm components in each and every router interact with each other in

Слайд 58Recall: logically centralized control plane
A distinct (typically remote) controller interacts

with local control agents (CAs) in routers to compute forwarding

tables

5-

Network Layer: Control Plane

Recall: logically centralized control planeA distinct (typically remote) controller interacts with local control agents (CAs) in routers

Слайд 59Software defined networking (SDN)
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

5-

Network Layer: Control Plane

Software defined networking (SDN)Why a logically centralized control plane?easier network management: avoid router misconfigurations, greater flexibility of

Слайд 60Vertically integrated
Closed, proprietary
Slow innovation
Small industry
Specialized
Operating
System
Specialized
Hardware
Specialized
Applications
Horizontal
Open interfaces
Rapid innovation
Huge industry
Analogy: mainframe to

PC evolution*
* Slide courtesy: N. McKeown
5-
Network Layer: Control Plane

Vertically integratedClosed, proprietarySlow innovationSmall industrySpecializedOperatingSystemSpecializedHardwareSpecializedApplicationsHorizontalOpen interfacesRapid innovationHuge industryAnalogy: mainframe to PC evolution** Slide courtesy: N. McKeown5-Network Layer:

Слайд 61Traffic 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!

5-

Network Layer: Control Plane

2

2

1

3

1

1

2

5

3

5

Traffic engineering: difficult traditional routingQ: what if network operator wants u-to-z traffic to flow along uvwz, x-to-z

Слайд 62Traffic engineering: difficult
Q: what if network operator wants to split

u-to-z traffic along uvwz and uxyz (load balancing)?
A: can’t do

it (or need a new routing algorithm)

5-

Network Layer: Control Plane

Traffic engineering: difficultQ: what if network operator wants to split u-to-z traffic along uvwz and uxyz (load

Слайд 632
2
1
3
1
1
2
5
3
5
Traffic engineering: difficult
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)

Networking 401

5-

Network Layer: Control Plane

2213112535Traffic engineering: difficultQ: what if w wants to route blue and red traffic differently?A: can’t do it

Слайд 64Software defined networking (SDN)
3. control plane functions external to data-plane

switches

routing
access control
load
balance
5-
Network Layer: Control Plane

Software defined networking (SDN)3. control plane functions external to data-plane switches…routingaccess controlloadbalance5-Network Layer: Control Plane

Слайд 65SDN 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)

5-

Network Layer: Control Plane

SDN perspective: data plane switchesData plane switchesfast, simple, commodity switches implementing generalized data-plane forwarding (Section 4.4) in

Слайд 66SDN 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

data
plane

control
plane


southbound API

northbound API

SDN-controlled switches

network-control applications

5-

Network Layer: Control Plane

SDN perspective: SDN controllerSDN controller (network OS): maintain network state informationinteracts with network control applications “above” via

Слайд 67SDN 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

data
plane

control
plane


southbound API

northbound API

SDN-controlled switches

network-control applications

5-

Network Layer: Control Plane

SDN perspective: control applicationsnetwork-control apps:“brains” of control: implement control functions using lower-level services, API provided by SND

Слайд 68Network-wide distributed, robust state management
Communication to/from controlled devices




Interface, abstractions for network control apps
SDN
controller
Components of SDN controller
communication

layer: communicate between SDN controller and controlled switches

Network-wide state management layer: state of networks links, switches, services: a distributed database

Interface layer to network control apps: abstractions API

5-

Network Layer: Control Plane

Network-wide distributed, robust state managementCommunication to/from controlled devices… … … … Interface, abstractions for network control appsSDNcontrollerComponents

Слайд 69OpenFlow 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)
5-
Network Layer: Control

Plane
OpenFlow protocoloperates between controller, switchTCP used to exchange messagesoptional encryptionthree classes of OpenFlow messages:controller-to-switchasynchronous (switch to controller)symmetric

Слайд 70OpenFlow: 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

5-

Network Layer: Control Plane

OpenFlow: controller-to-switch messagesKey controller-to-switch messagesfeatures: controller queries switch features, switch repliesconfigure: controller queries/sets switch configuration parametersmodify-state: add,

Слайд 71OpenFlow: 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

5-

Network Layer: Control Plane

OpenFlow: switch-to-controller messagesKey switch-to-controller messagespacket-in: transfer packet (and its control) to controller. See packet-out message from controllerflow-removed:

Слайд 72



Dijkstra’s link-state
Routing
SDN: control/data plane interaction

example
5-
Network Layer: Control Plane

… … … … Dijkstra’s link-state RoutingSDN: control/data plane interaction example5-Network Layer: Control Plane

Слайд 73



Dijkstra’s link-state
Routing
SDN: control/data plane interaction

example
5-
Network Layer: Control Plane

… … … … Dijkstra’s link-state RoutingSDN: control/data plane interaction example5-Network Layer: Control Plane

Слайд 74Basic Network Service Functions

Network service apps
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

5-

Network Layer: Control Plane

Basic Network Service Functions…Network service apps OpenDaylight (ODL) controllerODL Lithium controllernetwork apps may be contained within, or

Слайд 75Network
control apps

ONOS
distributed core
southbound abstractions,
protocols
northbound abstractions,
protocols
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

5-

Network Layer: Control Plane

Network control apps … ONOSdistributed coresouthbound abstractions,protocolsnorthbound abstractions,protocolsONOS controllercontrol apps separate from controllerintent framework: high-level specification of

Слайд 76SDN: 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



5-

Network Layer: Control Plane

SDN: selected challengeshardening the control plane: dependable, reliable, performance-scalable, secure distributed systemrobustness to failures: leverage strong theory

Слайд 775.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 78ICMP: internet control message protocol
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

Type Code description
0 0 echo reply (ping)
3 0 dest. network unreachable
3 1 dest host unreachable
3 2 dest protocol unreachable
3 3 dest port unreachable
3 6 dest network unknown
3 7 dest host unknown
4 0 source quench (congestion
control - not used)
8 0 echo request (ping)
9 0 route advertisement
10 0 router discovery
11 0 TTL expired
12 0 bad IP header

5-

Network Layer: Control Plane

ICMP: internet control message protocolused by hosts & routers to communicate network-level informationerror reporting: unreachable host, network,

Слайд 79Traceroute and ICMP
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

stopping criteria:
UDP segment eventually arrives at destination host
destination returns ICMP “port unreachable” message (type 3, code 3)
source stops

3 probes

3 probes

3 probes

5-

Network Layer: Control Plane

Traceroute and ICMPsource sends series of UDP segments to destinationfirst set has TTL =1second set has TTL=2,

Слайд 805.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

Chapter 5: outline

5-

Network Layer: Control Plane

5.1 introduction5.2 routing protocolslink statedistance vector5.3 intra-AS routing in the Internet: OSPF5.4 routing among the ISPs: BGP5.5

Слайд 81What 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."

5-

Network Layer: Control Plane

What is network management?autonomous systems (aka “network”): 1000s of interacting hardware/software componentsother complex systems requiring monitoring, control:jet

Слайд 82Infrastructure for network management
managed device
managed device
managed device
managed device
definitions:
managed devices contain

managed objects whose data is gathered into a Management Information

Base (MIB)

managed device

5-

Network Layer: Control Plane

Infrastructure for network managementmanaged devicemanaged devicemanaged devicemanaged devicedefinitions:managed devices contain managed objects whose data is gathered into

Слайд 83SNMP protocol
Two ways to convey MIB info, commands:
managed device
managed device
request/response

mode
trap mode
5-
Network Layer: Control Plane

SNMP protocolTwo ways to convey MIB info, commands:managed devicemanaged devicerequest/response modetrap mode5-Network Layer: Control Plane

Слайд 84SNMP protocol: message types
GetRequest
GetNextRequest
GetBulkRequest
manager-to-agent: “get me data”
(data instance, next data

in list, block of data)
Message type
Function
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

5-

Network Layer: Control Plane

SNMP protocol: message typesGetRequestGetNextRequestGetBulkRequestmanager-to-agent: “get me data”(data instance, next data in list, block of data)Message typeFunctionInformRequestmanager-to-manager: here’s

Слайд 85SNMP protocol: message formats
….
PDU
type
(0-3)
Request
ID
Error
Status
(0-5)
Error
Index
Name
Value
Name
Value
….
PDU
type
4
Enterprise
Agent
Addr
Trap
Type
(0-7)
Specific
code
Time
stamp
Name
Value
Get/set header
Variables to get/set
Trap header
Trap info
SNMP PDU
5-
Network

Layer: Control Plane
More on network management: see earlier editions of

text!
SNMP protocol: message formats….PDUtype(0-3)RequestIDErrorStatus(0-5)ErrorIndexNameValueNameValue….PDUtype4EnterpriseAgentAddrTrapType(0-7)SpecificcodeTimestampNameValueGet/set headerVariables to get/setTrap headerTrap infoSNMP PDU5-Network Layer: Control PlaneMore on network management: see

Слайд 86Chapter 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!

5-

Network Layer: Control Plane

Chapter 5: summarywe’ve learned a lot!approaches to network control planeper-router control (traditional)logically centralized control (software defined networking)traditional

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика