# TDTS41 Computer Networks

Δίκτυα και Επικοινωνίες

28 Οκτ 2013 (πριν από 4 χρόνια και 8 μήνες)

106 εμφανίσεις

0

TDTS41 Computer Networks

Lecture 4: Network layer I

IISLAB/IDA

1

Network Layer

Goals:

understand principles behind routing

routing in the Internet

2

Outline

Introduction

Routing algorithms

Distance vector

Hierarchical routing

Routing in the Internet

RIP

OSPF

BGP

3

Network layer

Transport data from
sending to receiving host

IP datagram/packet

Network layer protocols
in
every

host, router

H1

H2

application

transport

network

physical

application

transport

network

physical

network

physical

network

physical

network

physical

network

physical

network

physical

network

physical

network

physical

network

physical

4

Key Network
-
Layer Functions

1
st
: routing:

determine route
taken by packets
from source to dest.

2
nd
: forwarding:

move
packets from router’s
input to appropriate
router output

analogy:

process of planning
trip from source to
dest

process of getting
through single
interchange

5

1

2

3

0111

value in arriving

routing algorithm

local forwarding table

0100

0101

0111

1001

3

2

2

1

Interplay between routing and
forwarding

6

Routing

7

Routing Principles

Minimize the cost of the routing path

Scalability

Local changes should not affect globally

Different networks belong to different
organizations

8

Routing Algorithms

Simple

Flooding

Those that minimize costs

-
state shortest
-
path
-
first

Distance vector

Those that scale and meet administrative
needs

Intra
-
/Inter
-
autonomous systems routing

9

Routing algorithms that minimize cost

10

Graph abstraction

u

y

x

w

v

z

2

2

1

3

1

1

2

5

3

5

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 (x
1
, x
2
, x
3
,…, x
p
) = c(x
1
,x
2
) + c(x
2
,x
3
) + … + c(x
p
-
1
,x
p
)

Question: What’s the shortest
-
path between u and w?

Note: “shortest
-
path” vs. “least
-
cost
-
path”

11

-
state shortest
-
path
-
first

in the net (costs).

Each router computes locally the shortest
-
paths from itself to all other routers.

Dijkstra algorithm

12

Dijkstra’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

'

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

13

Distance Vector Routing

Bellman
-
Ford Equation (dynamic programming)

Define

d
x
(y) := cost of least
-
cost path from x to y

Then

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

where min is taken over all neighbors v of x

14

Bellman
-
Ford Example

u

y

x

w

v

z

2

2

1

3

1

1

2

5

3

5

d
v
(z) = 5, d
x
(z) = 3, d
w
(z) = 3

d
u
(z) = min { c(u,v) + d
v
(z),

c(u,x) + d
x
(z),

c(u,w) + d
w
(z) }

= min {2 + 5,

1 + 3,

5 + 3} = 4

Node that achieves minimum is next

hop in shortest path

forwarding table

B
-
F equation says:

15

Distance Vector Algorithm (1)

D
x
(y)

= estimate of least cost from x to y

Each node x knows:

Its distance vector (DV):
D
x

= [D
x
(y): y
є

N ]

Cost to each neighbor v:
c(x,v)

Its neighbors’ distance vectors:
D
v

16

Distance 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:

D
x
(y)

min
v
{c(x,v) + D
v
(y)} for each node y

N

Under minor, natural conditions, the estimate
D
x
(y)
converges to the actual least cost

d
x
(y)

17

x y z

x

y

z

0 2 7

from

cost to

x y z

x

y

z

x y z

x

y

z

7

1

0

2 0 1

∞ ∞ ∞

x y z

x

y

z

0 2 3

x y z

x

y

z

0 2 3

x y z

x

y

z

0 2 3

2 0 1

3 1 0

2 0 1

3 1 0

2 0 1

3 1 0

x

z

1

2

7

y

node x

node y

node z

x y z

x

y

z

0 2 7

2 0 1

7 1 0

x y z

x

y

z

0 2 7

x y z

x

y

z

0 2 7

2 0 1

7 1 0

2 0 1

7 1 0

D
x
(y)

=

min{c(x,y)

+

D
y
(y),

c(x,z)

+

D
z
(y)}

=

min{
2
+
0

,

7
+
1
}

=

2

D
x
(z)

=

min{c(x,y)

+

D
y
(z),

c(x,z)

+

D
z
(z)}

=

min{
2
+
1

,

7
+
0
}

=

3

3

3

Next hop:

x y z

x y z

x y z

x y z

x y z

x y z

x y y

x y z

y y z

y

y

18

Count to infinity problem

Solution: Poisoned reverse

If Z routes through Y to get to
X, Z tells Y that D
z
(x) = ∞.

A variant of split horizon

Do not advertise a route back
to the interface from which

x

z

1

4

50

y

60

y

z

D
z
(x) = 5

D
y
(x) = 6

D
y
(x) = 6

D
z
(x) = 7

D
z
(x) = 7

D
y
(x) = 8

.

.

.

D
z
(x) = 49

D
y
(x) = 50

D
y
(x) = 8

D
z
(x) = 7

.

.

.

.

.

.

D
y
(x) = 50

D
z
(x) = 50

But not through y!

After the cost change occurs …

19

Comparison of LS
-
SPF and DV algorithms

Message complexity

LS
-
SPF:

O(nE) msgs sent

DV:
exchange between
neighbors only

convergence time varies

Speed of Convergence

LS
-
SPF:

O(n
2
) 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:

incorrect

cost

each node computes only
its
own

table

DV:

incorrect
path

cost

each node’s table used by
others

error propagate thru
network

20

Hierarchical routing

21

Hierarchical Routing

scale:

with 200 million
destinations:

can’t store all dest’s in
routing tables!

routing table exchange

internet = network of
networks

want to control routing in its
own network

Our routing study thus far
-

idealization

all routers identical

network “flat”

… not

true in practice

22

3b

1d

3a

1c

2a

AS3

AS1

AS2

1a

2c

2b

1b

3c

Autonomous 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

Intra
-
AS

Routing

algorithm

Inter
-
AS

Routing

algorithm

Forwarding

table

23

3b

1d

3a

1c

2a

AS3

AS1

AS2

1a

2c

2b

1b

3c

Inter
-

Suppose a router in
for which dest is
outside of AS1

Router should forward
packet towards one of
the gateway routers,
but which one?

AS1 needs:

1.
to learn which dests
are reachable through
AS2 and which
through AS3

2.
to propagate this
reachability info to all
routers in AS1

Job of inter
-
AS routing!

24

Example: 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)
.

3b

1d

3a

1c

2a

AS3

AS1

AS2

1a

2c

2b

1b

3c

25

Learn from inter
-
AS

protocol that subnet

x is reachable via

multiple gateways

Use routing info

from intra
-
AS

protocol to determine

costs of least
-
cost

paths to each

of the gateways

Hot potato routing:

Choose the gateway

that has the

smallest least cost

Determine from

forwarding table the

to least
-
cost gateway.

Enter (x,I) in

forwarding table

Example: 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.

26

Intra
-
AS Routing

27

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

IGRP: Interior Gateway Routing Protocol (Cisco
proprietary)

28

RIP ( Routing Information Protocol)

Distance vector algorithm

Included in BSD
-
UNIX Distribution in 1982

Distance metric: # of hops (max = 15 hops)

Exchanged every 30 sec among neighbors

nets within AS

--
>

29

RIP Table Processing

RIP routing tables managed by
application
-
level

process called route
-
d (daemon)

repeated (port 520)

physical

network forwarding

(IP) table

Transprt

(UDP)

routed

physical

network

(IP)

Transprt

(UDP)

routed

forwarding

table

30

OSPF

31

OSPF (Open Shortest Path First)

“open”: publicly available

Uses LS
-
SPF algorithm

LS packet dissemination

Topology map at each node

Route computation using Dijkstra’s algorithm

router

entire

AS (via
flooding)

Carried in OSPF messages directly over IP (rather than TCP
or UDP)

32

OSPF “advanced” features (not in RIP)

Security:

all OSPF messages authenticated (to
prevent malicious intrusion)

Multi
ple same
-
cost
path
s 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.

33

Hierarchical OSPF

Hierarchically structured OSPF autonomous system

34

Inter
-
AS Routing

35

Internet inter
-
AS routing: BGP

BGP (Border Gateway Protocol):

the

de
facto standard

BGP provides each AS a means to:

1.
Obtain subnet reachability information from
neighboring ASs.

2.
Propagate the reachability information to all
routers internal to the AS.

3.
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”

36

BGP 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.

3b

1d

3a

1c

2a

AS3

AS1

AS2

1a

2c

2b

1b

3c

eBGP
e
xternal session

iBGP
i
nternal session

37

Distributing 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

3b

1d

3a

1c

2a

AS3

AS1

AS2

1a

2c

2b

1b

3c

eBGP session

iBGP session

38

Path attributes & BGP routes

BGP attributes.

prefix + attributes = “route”

Two important attributes:

AS
-
PATH:

contains the ASes through which the

E.g. AS 67 AS 17

NEXT
-
HOP:

Indicates the specific internal
-
AS
router to next
-
hop AS.

39

ASN examples

ASN Network

3356 Level3

3549 Global Crossing

2529 Demon UK

4589 Easynet

5459 LINX

40

Some AS
-
Paths known by
PeakWebHosting's BGP routers

AS path: 6453[Teleglobe], 3356[Level3], 2529[Demon UK], 5459[LINX]

AS path: 20248[NetVMG], 3356[Level3], 2529[Demon UK], 5459[LINX]

AS path: 3356[Level3], 2529[Demon UK], 5459[LINX]

AS path: 174[PSI/Cogent], 2914[Verio], 5413[GX Networks], 5459[LINX]

AS path: 2914[Verio], 5413[GX Networks], 5459[LINX]

AS path: 19151[WebUseNet], 3257[Tiscali Backbone], 5459[LINX]

AS path: 6327[Shaw Cable], 4589[Easynet], 5459[LINX]

AS path: 3549[Global Crossing], 5459[LINX]

41

BGP route selection

Router may learn about more than 1 route
to some prefix. Router must select route.

Elimination rules:

1.
Local preference value attribute: policy
decision

2.
Shortest AS
-
PATH

3.
Closest NEXT
-
HOP router: hot potato routing

4.

42

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

.. so X will not advertise to B a route to C

43

BGP 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 B’s customers

B wants to force C to route to w via A

B wants to route
only
to/from its customers!

44

Why 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

45

Summary

What we’ve covered:

Network layer’s functions

Routing principles

Hierarchical routing

Internet routing protocols: RIP,
OSPF, BGP