lecture 21 network layer (routing activity)
DESCRIPTION
University of Nevada – Reno Computer Science & Engineering Department Fall 2011 CPE 400 / 600 Computer Communication Networks. Lecture 21 Network Layer (Routing Activity). slides are modified from J. Kurose & K. Ross. Longest prefix matching. Prefix Match Link Interface - PowerPoint PPT PresentationTRANSCRIPT
Introduction 1
Lecture 21Network Layer
(Routing Activity)
slides are modified from J. Kurose & K. Ross
University of Nevada – RenoComputer Science & Engineering Department
Fall 2011
CPE 400 / 600Computer Communication Networks
Network Layer
DA: 11001000 00010111 00010110 10100001
4-2
Longest prefix matching
Prefix Match Link Interface 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 otherwise 3
DA: 11001000 00010111 00011000 10101010
Examples
Which interface?
Which interface?
Network Layer 4-3
IP Addressing: introduction IP address: 32-bit
identifier for host, router interface
interface: connection between host/router and physical link router’s typically
have multiple interfaces
host typically has one interface
IP addresses associated with each interface
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
Network Layer 4-4
Subnets IP address:
subnet part• high order bits
host part• low order bits
What’s a subnet ? device interfaces with
same subnet part of IP address
can physically reach each other without intervening router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
network consisting of 3 subnets
subnet
Network Layer 4-5
IP addressing: CIDRCIDR: Classless InterDomain Routing
subnet portion of address of arbitrary length address format: a.b.c.d/x
• where x is # bits in subnet portion of address
11001000 00010111 00010000 00000000
subnetpart
hostpart
200.23.16.0/23
Network Layer 4-6
Hierarchical addressing: route aggregation & more specific routes
ISPs-R-Us has a more specific route to Organization 1
“Send me anythingwith addresses
beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us “Send me anythingwith addresses
beginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
Hierarchical addressing allows efficient advertisement of routing information:
Network Layer 4-7
1
23
0111
value in arrivingpacket’s header
routing algorithm
local forwarding tableheader value output link
0100010101111001
3221
Interplay between routing, forwarding
RIPDISTANCE VECTOR ALGORITHM
Transport Layer 8
Network Layer 4-9
Distance Vector Algorithm Bellman-Ford Equation (dynamic
programming)Definedx(y) := cost of least-cost path from x to y
Then
dx(y) = min {c(x,v) + dv(y) }
where min is taken over all neighbors v of x
v
Network Layer 4-10
Bellman-Ford example
u
yx
wv
z2
21
3
1
12
53
5Clearly, 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} = 4Node that achieves minimum is next
hop in shortest path ➜ forwarding table
B-F equation says:
Network Layer 4-11
Distance Vector Algorithm Dx(y) = estimate of least cost from x to y Node x knows cost to each neighbor v:
c(x,v) Node x maintains distance vector
Dx = [Dx(y): y є N ]
Node x also maintains its neighbors’ distance vectors For each neighbor v, x maintains
Dv = [Dv(y): y є N ]
Network Layer 4-12
Distance Vector AlgorithmIterative, 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:
Network Layer 4-13
x y zxyz
0 2 7∞ ∞ ∞∞ ∞ ∞
from
cost to
from
from
x y zxyz
0 2 3
from
cost tox y z
xyz
0 2 3
from
cost to
x y zxyz
∞ ∞
∞ ∞ ∞
cost tox y z
xyz
0 2 7
from
cost tox y z
xyz
0 2 3
from
cost to
x y zxyz
0 2 3
from
cost tox y z
xyz
0 2 7
from
cost tox y z
xyz
∞∞ ∞7 1 0
cost to
∞2 0 1
∞ ∞ ∞
2 0 17 1 0
2 0 17 1 0
2 0 13 1 0
2 0 13 1 0
2 0 1
3 1 02 0 1
3 1 0
time
x z12
7
y
node x table
node y table
node z 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
Network Layer 4-14
RIP (Routing Information Protocol) distance metric: # of hops (max = 15 hops) distance vectors: exchanged among neighbors
every 30 sec via Response Message also called advertisement
each advertisement: list of up to 25 destination subnets within AS
DC
BAu v
w
x
yz
destination hops u 1 v 2 w 2 x 3 y 3 z 2
From router A to subnets:
Network Layer 4-15
RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2y B 2
z B A 7 5x -- 1…. …. ....Routing/Forwarding table in D
w x yz
A
C
D B
Dest Next hops w - 1 x - 1 z C 4 …. … ...
New Advertisementfrom A to D
OSPFLINK STATE ROUTING ALGORITHM
Transport Layer 16
Network Layer 4-17
A Link-State Routing AlgorithmDijkstra’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
Network Layer 4-18
Dijsktra’s Algorithm1 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'
Network Layer 4-19
Dijkstra’s algorithm: exampleStep
012345
N'u
uxuxy
uxyvuxyvw
uxyvwz
D(v),p(v)2,u2,u2,u
D(w),p(w)5,u4,x3,y3,y
D(x),p(x)1,u
D(y),p(y)∞
2,x
D(z),p(z)∞ ∞
4,y4,y4,y
u
yx
wv
z2
21
3
1
12
53
5
vxywz
(u,v)(u,x)(u,x)(u,x)(u,x)
destination link
Resulting forwarding table in u:
Network Layer 4-20
OSPF (Open Shortest Path First) “open”: publicly available uses Link State algorithm
LS packet dissemination topology map at each node route computation using Dijkstra’s algorithm
OSPF advertisement carries one entry per neighbor router
advertisements disseminated to entire AS (via flooding) OSPF messages directly over IP (rather than TCP or UDP)
Network Layer 4-21
OSPF “advanced” features (not in RIP) 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; high for
real time integrated uni- and multicast support:
Multicast OSPF (MOSPF) uses same topology data base as OSPF
hierarchical OSPF in large domains
Network Layer 4-22
Hierarchical OSPF
Network Layer 4-23
Hierarchical OSPF 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’s
BGPHIERARCHICAL ROUTING
Transport Layer 24
Network Layer 4-25
Hierarchical Routing aggregate routers into
regions, “Autonomous Systems” (AS)
routers in same AS run same routing protocol “intra-AS” routing protocol routers in different AS can
run different intra-AS routing protocol
Gateway router Direct link to router in another AS
Network Layer 4-26
3b
1d
3a1c
2aAS3
AS1AS2
1a
2c2b
1b
Intra-ASRouting algorithm
Inter-ASRouting algorithm
Forwardingtable
3c
Interconnected ASes
forwarding table configured by both intra- and inter-AS routing algorithm intra-AS sets entries for
internal dests inter-AS & intra-As sets
entries for external dests
Network Layer 4-27
Example: Setting forwarding table in router 1d
suppose AS1 learns (via inter-AS protocol) that subnet x reachable via AS3 (gateway 1c) but not via AS2.
inter-AS protocol propagates reachability info to all internal routers.
router 1d determines from intra-AS routing info that its interface I is on the least cost path to 1c. installs forwarding table entry (x,I)
3b
1d
3a1c
2aAS3
AS1AS21a
2c2b
1b
3cx…
Network Layer 4-28
BGP basics pairs of routers (BGP peers) exchange routing
info over semi-permanent TCP connections: BGP sessions BGP sessions need not correspond to physical
links when AS2 advertises a prefix to AS1:
AS2 promises it will forward datagrams towards that prefix
AS2 can aggregate prefixes in its advertisement
3b
1d
3a1c
2aAS3
AS1
AS21a
2c2b
1b
3ceBGP sessioniBGP session
Network Layer 4-29
Distributing reachability info using eBGP session between 3a and 1c, AS3
sends prefix reachability info to AS1 1c can then use iBGP do distribute new prefix
info to all routers in AS1 1b can then re-advertise new reachability info
to AS2 over 1b-to-2a eBGP session when router learns of new prefix, it creates entry
for prefix in its forwarding table
3b
1d
3a1c
2aAS3
AS1
AS21a
2c2b
1b
3ceBGP sessioniBGP session
Network Layer 4-30
BGP routing policy
A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks
X does not want to route from B via X to C A advertises path AW to B B advertises path BAW to X B noes not advertise path BAW to C?
B gets no “revenue” since neither W nor C are B’s customers B wants to force C to route to w via A B wants to route only to/from its customers!
A
B
C
W X
Y
legend:
customer network
provider network