Title: TDTS41 Computer Networks
1TDTS41 Computer Networks
- Lecture 4 Network layer I
- Claudiu Duma, cladu_at_ida.liu.se
- IISLAB/IDA
- Linköpings universitet
2Network Layer
- Goals
- understand principles behind routing
- routing in the Internet
3Outline
- Introduction
- Routing algorithms
- Link state shortest path first
- Distance vector
- Hierarchical routing
- Routing in the Internet
- RIP
- OSPF
- BGP
4Network layer
- Transport data from sending to receiving host
- IP datagram/packet
- Network layer protocols in every host, router
H1
H2
5Key Network-Layer Functions
- analogy
- process of planning trip from source to dest
- process of getting through single interchange
- 1st routing determine route taken by packets
from source to dest. - 2nd forwarding move packets from routers input
to appropriate router output
6Interplay between routing and forwarding
7 8Routing Principles
- Minimize the cost of the routing path
- Scalability
- Local changes should not affect globally
- Administrative issues
- Different networks belong to different
organizations
9Routing Algorithms
- Simple
- Flooding
- Those that minimize costs
- Link-state shortest-path-first
- Distance vector
- Those that scale and meet administrative needs
- Intra-/Inter-autonomous systems routing
10- Routing algorithms that minimize cost
11Graph abstraction
- Set of nodes u,v, w, ..
- Set of edges (u,v),
- Cost of links, e.g. c(u,v) 2
- inverse to bandwidth
- proportional to congestion
-
Cost of path (x1, x2, x3,, xp) c(x1,x2)
c(x2,x3) c(xp-1,xp)
Question Whats the shortest-path between u and
w?
Note shortest-path vs. least-cost-path
12Link-state shortest-path-first
- Routers find, by broadcasts, about all links in
the net (costs). - Each router computes locally the shortest-paths
from itself to all other routers. - Dijkstra algorithm
13Dijkstras 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) 8 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'
N' set of nodes whose least cost path is known
D(v) current value of cost of path from source
to dest. v
14Distance Vector Routing
- Bellman-Ford Equation (dynamic programming)
- Define
- dx(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
15Bellman-Ford Example
dv(z) 5, dx(z) 3, dw(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 that achieves minimum is next hop in
shortest path ? forwarding table
16Distance Vector Algorithm (1)
- Dx(y) estimate of least cost from x to y
- Each node x knows
- Its distance vector (DV) Dx Dx(y) y ? N
- Cost to each neighbor v c(x,v)
- Its neighbors distance vectors Dv
17Distance Vector Algorithm (2)
- Basic idea
- Each node periodically sends its own distance
vector estimate to neighbors - When node x receives new DV estimate from
neighbor, it updates its own DV using B-F
equation
Dx(y) ? minvc(x,v) Dv(y) for each node y ?
N
- Under minor, natural conditions, the estimate
Dx(y) converges to the actual least cost dx(y)
18Dx(y) minc(x,y) Dy(y), c(x,z) Dz(y)
min20 , 71 2
node x
3
Next hop
y
x y z
node y
x
8
8
8 2 0 1
y
z
8
8
8
x y z
node z
x
8 8 8
y
8
8
8
z
3
7
1
0
y
19Count to infinity problem
After the cost change occurs
y
z
Dz(x) 5 Dy(x) 6
Dy(x) 6 Dz(x) 7
Dz(x) 7 Dy(x) 8
- Solution Poisoned reverse
- If Z routes through Y to get to X, Z tells Y
that Dz(x) 8. - A variant of split horizon
- Do not advertise a route back to the interface
from which you have learned about it!
. . .
Dy(x) 8 Dz(x) 7
. . .
. . .
Dz(x) 49 Dy(x) 50
Dy(x) 50 Dz(x) 50 But not through y!
20Comparison of LS-SPF and DV algorithms
- Message complexity
- LS-SPF with n nodes, E links, O(nE) msgs sent
- DV exchange between neighbors only
- convergence time varies
- Speed of Convergence
- LS-SPF O(n2) algorithm requires O(nE) msgs
- may have oscillations
- DV convergence time varies
- may have routing loops
- count-to-infinity problem
- Robustness what happens if router malfunctions?
- LS-SPF
- node can advertise incorrect link cost
- each node computes only its own table
- DV
- DV node can advertise incorrect path cost
- each nodes table used by others
- error propagate thru network
21 22Hierarchical Routing
- Our routing study thus far - idealization
- all routers identical
- network flat
- not true in practice
- scale with 200 million destinations
- cant store all dests 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
23Autonomous systems (AS)
- Internal and gateway routers
- Two routing protocols
- intra-AS routing
- inter-AS routing
- Routers in same AS run same intra-AS routing
protocol
3a
3b
2a
AS3
AS2
1a
AS1
24Inter-AS tasks
- AS1 needs
- to learn which dests are reachable through AS2
and which through AS3 - to propagate this reachability info to all
routers in AS1 - Job of inter-AS routing!
- Suppose a router in AS1 receives datagram for
which dest is outside of AS1 - Router should forward packet towards one of the
gateway routers, but which one?
25Example Setting forwarding table in router 1d
- Suppose AS1 learns from the inter-AS protocol
that subnet x is reachable from AS3 (gateway 1c)
but not from 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. - Router 1d puts in forwarding table entry (x,I).
3a
3b
2a
AS3
AS2
1a
AS1
26Example Choosing among multiple ASes
- Now suppose AS1 learns from the inter-AS protocol
that subnet x is reachable from AS3 and from AS2. - To configure forwarding table, router 1d must
determine towards which gateway it should forward
packets for dest x. - This is also the job of inter-AS routing
protocol! - Hot potato routing send packet towards closest
of two routers.
27 28Intra-AS Routing
- Also known as Interior Gateway Protocols (IGP)
- Most common Intra-AS routing protocols
- RIP Routing Information Protocol
- OSPF Open Shortest Path First
- IGRP Interior Gateway Routing Protocol (Cisco
proprietary)
29RIP ( Routing Information Protocol)
- Distance vector algorithm
- Included in BSD-UNIX Distribution in 1982
- Distance metric of hops (max 15 hops)
- RIP advertisements, containing DVs
- Exchanged every 30 sec among neighbors
- Each advertisement list of up to 25 destination
nets within AS - If no advertisement heard after 180 sec --gt
neighbor/link declared dead
30RIP Table Processing
- RIP routing tables managed by application-level
process called route-d (daemon) - advertisements sent in UDP packets, periodically
repeated (port 520)
Transprt (UDP)
Transprt (UDP)
network forwarding (IP) table
network (IP)
forwarding table
link
link
physical
physical
31 32OSPF (Open Shortest Path First)
- open publicly available
- Uses LS-SPF algorithm
- LS packet dissemination
- Topology map at each node
- Route computation using Dijkstras algorithm
- Link weights can be configured by net admin
- OSPF advertisement carries one entry per neighbor
router - Advertisements disseminated to entire AS (via
flooding) - Carried in OSPF messages directly over IP (rather
than TCP or UDP)
33OSPF 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) - Hierarchical OSPF in large domains.
34Hierarchical OSPF
Hierarchically structured OSPF autonomous system
35 36Internet inter-AS routing BGP
- BGP (Border Gateway Protocol) the de facto
standard - BGP provides each AS a means to
- Obtain subnet reachability information from
neighboring ASs. - Propagate the reachability information to all
routers internal to the AS. - Determine good routes to subnets based on
reachability information and policy. - Allows a subnet to advertise its existence to
rest of the Internet I am here
37BGP basics
- Pairs of routers (BGP peers) exchange routing
info over semi-permanent (long-lived) TCP
connections BGP sessions - When AS2 advertises a prefix to AS1, AS2 is
promising it will forward any datagrams destined
to that prefix towards the prefix. - AS2 can aggregate prefixes in its advertisement
38Distributing reachability info
- Example
- 3a sends reach. info to 1c
- 1c distributes this reach. info to all routers in
AS1 - 1b can then re-advertise the new reach info to
AS2 over the 1b-to-2a eBGP session
39Path attributes BGP routes
- When advertising a prefix, advert includes BGP
attributes. - prefix attributes route
- Two important attributes
- AS-PATH contains the ASes through which the
advert for the prefix passed - E.g. AS 67 AS 17
- NEXT-HOP Indicates the specific internal-AS
router to next-hop AS.
40ASN examples
- ASN Network
- 3356 Level3
- 3549 Global Crossing
- 2529 Demon UK
- 4589 Easynet
- 5459 LINX
41Some AS-Paths known by PeakWebHosting's BGP
routers
- AS path 6453Teleglobe, 3356Level3,
2529Demon UK, 5459LINX - AS path 20248NetVMG, 3356Level3, 2529Demon
UK, 5459LINX - AS path 3356Level3, 2529Demon UK, 5459LINX
- AS path 174PSI/Cogent, 2914Verio, 5413GX
Networks, 5459LINX - AS path 2914Verio, 5413GX Networks,
5459LINX - AS path 19151WebUseNet, 3257Tiscali
Backbone, 5459LINX - AS path 6327Shaw Cable, 4589Easynet,
5459LINX - AS path 3549Global Crossing, 5459LINX
42BGP route selection
- Router may learn about more than 1 route to some
prefix. Router must select route. - Elimination rules
- Local preference value attribute policy decision
- Shortest AS-PATH
- Closest NEXT-HOP router hot potato routing
- Additional criteria
43BGP 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
- .. so X will not advertise to B a route to C
44BGP routing policy (2)
- A advertises to B the path AW
- B advertises to X the path BAW
- Should B advertise to C the path BAW?
- No way! B gets no revenue for routing CBAW
since neither W nor C are Bs customers - B wants to force C to route to w via A
- B wants to route only to/from its customers!
45Why different Intra- and 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
46Summary
- What weve covered
- Network layers functions
- Routing principles
- Hierarchical routing
- Internet routing protocols RIP, OSPF, BGP