Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

44
Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob

Transcript of Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Page 1: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Advance Computer NetworksLecture#08

Instructor:

Engr. Muhammad Mateen Yaqoob

Page 2: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Network Information Source and Update Timing

routing decisions usually based on knowledge of network (not always)◦ distributed routing

◦ using local knowledge, info from adjacent nodes, info from all nodes on a potential route◦ central routing

◦ collect info from all nodes

issue of update timing◦ when is network info held by nodes updated◦ fixed - never updated◦ adaptive - regular updates

Page 3: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Routing Strategies - Fixed Routing

use a single permanent route for each source to destination pair

determined using a least cost algorithm

route is fixed◦ at least until a change in network topology◦ hence cannot respond to traffic changes

advantage is simplicity

disadvantage is lack of flexibility

Page 4: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Routing Strategies - Flooding packet sent by node to every neighbor eventually multiple copies arrive at destination no network info required each packet is uniquely numbered so duplicates can be discarded need some way to limit incessant retransmission

◦ nodes can remember packets already forwarded to keep network load in bounds

◦ or include a hop count in packets

Page 5: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Properties of Flooding all possible routes are tried

◦ very robust

at least one packet will have taken minimum hop count route◦ can be used to set up virtual circuit

all nodes are visited◦ useful to distribute information (eg. routing)

disadvantage is high traffic load generated

Page 6: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Routing Strategies - Random Routing

simplicity of flooding with much less load node selects one outgoing path for retransmission of incoming packet

selection can be random or round robin a refinement is to select outgoing path based on probability calculation

no network info needed but a random route is typically neither least cost nor minimum hop

Page 7: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Routing Strategies - Adaptive Routing

used by almost all packet switching networks routing decisions change as conditions on the network change due to failure or congestion

requires info about network disadvantages:

◦ decisions more complex◦ tradeoff between quality of network info and overhead◦ reacting too slowly means info may be irrelevant

Page 8: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Adaptive Routing - Advantages improved performance

aid congestion control

but since is a complex system, may not realize theoretical benefits◦ cf. outages on many packet-switched nets

Page 9: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Classification of Adaptive Routing Startegies

based on information sources◦ local (isolated)

◦ route to outgoing link with shortest queue◦ can include bias for each destination◦ Rarely used - does not make use of available info

◦ adjacent nodes◦ takes advantage on delay / outage info◦ distributed or centralized

◦ all nodes◦ like adjacent

Page 10: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm finds shortest paths from given source node s to all other nodes

by developing paths in order of increasing path length

algorithm runs in stages

each time adding node with next shortest path

algorithm terminates when all nodes processed by algorithm (in set T)

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 11: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithmfinds the shortest path from the start vertex to every other vertex in the network. We will find the shortest path from A to G

4

3

7

1

4

2 4

7

25

3 2

A

C

D

BF

E

G

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 12: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

1. Label the start vertex with permanent label 0 and order label 1

2 Assign temporary labels to all the vertices that can be reached directly from the start

3 Select the vertex with the smallest temporary label and make its label permanent. Add the correct order label.

4 Put temporary labels on each vertex that can be reached directly from the vertex you have just made permanent. The temporary label must be equal to the sum of the permanent label and the direct distance from it. If there is an existing temporary label at a vertex, it should be replaced only if the new sum is smaller.

5 Select the vertex with the smallest temporary label and make its label permanent. Add the correct order label.

6 Repeat until the finishing vertex has a permanent label.

7 To find the shortest paths(s), trace back from the end vertex to the start vertex. Write the route forwards and state the length.

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 13: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

Order in which vertices are labelled.

Distance from A to vertex

Working

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

1 0

Label vertex A 1 as it is the first vertex labelled

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 14: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

4

3

7

We update each vertex adjacent to A with a ‘working value’ for its distance from A.

1 0

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 15: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

4

3

7

2 3

Vertex C is closest to A so we give it a permanent label 3. C is the 2nd vertex to be permanently labelled.

1 0

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 16: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

We update each vertex adjacent to C with a ‘working value’ for its total distance from A, by adding its distance from C to C’s permanent label of 3.

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

6 < 7 so replace the t-label here

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 17: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

The vertex with the smallest temporary label is B, so make this label permanent. B is the 3rd vertex to be permanently labelled.

3 4

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 18: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

We update each vertex adjacent to B with a ‘working value’ for its total distance from A, by adding its distance from B to B’s permanent label of 4.

5

85 < 6 so replace the t-label here

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 19: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

The vertex with the smallest temporary label is D, so make this label permanent. D is the 4th vertex to be permanently labelled.

4 5

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 20: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

We update each vertex adjacent to D with a ‘working value’ for its total distance from A, by adding its distance from D to D’s permanent label of 5.

7 < 8 so replace the t-label here

12

7

7 < 8 so replace the t-label here

7

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 21: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

The vertices with the smallest temporary labels are E and F, so choose one and make the label permanent. E is chosen - the 5th vertex to be permanently labelled.

5 7

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 22: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

5 7

We update each vertex adjacent to E with a ‘working value’ for its total distance from A, by adding its distance from E to E’s permanent label of 7.

9 < 12 so replace the t-label here

9

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 23: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

5 7

The vertex with the smallest temporary label is F, so make this label permanent.F is the 6th vertex to be permanently labelled.

9

6 7

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 24: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

5 79

6 7

We update each vertex adjacent to F with a ‘working value’ for its total distance from A, by adding its distance from F to F’s permanent label of 7.

11 > 9 so do not replace the t-label here

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 25: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

5 79

6 7

G is the final vertex to be permanently labelled.

7 9

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 26: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra’s Algorithm

6

8

1 0

4

7

2 33

A

C

D

BF

E

G

4

3

7

1

4

2 4

7

25

3 2

3 4

5

8

4 5

12

7

7

5 79

6 7

7 9

To find the shortest path from A to G, start from G and work backwards, choosing arcs for which the difference between the permanent labels is equal to the arc length.

The shortest path is ABDEG, with length 9.MATEEN YAQOOB

DEPARTMENT OF COMPUTER SCIENCE

Page 27: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Dijkstra's Dijkstra's

◦ each node needs complete topology◦ must know link costs of all links in network◦ must exchange information with all other nodes

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 28: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Evaluation dependent on

◦ processing time of algorithms◦ amount of information required from other nodes

implementation specific under static topology and costs resulting to same solution as other algorithms

if link costs change, algs attempt to catch up if link costs depend on traffic, which depends on routes chosen, may have feedback instability

MATEEN YAQOOB DEPARTMENT OF COMPUTER SCIENCE

Page 29: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Hierarchical routing

scale: with 600 million destinations:

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

routing table exchange would swamp links!

administrative autonomy

internet = network of networkseach network admin may want to control routing in its own network

our routing study thus far - idealization

all routers identical network “flat”… not true in practice

Page 30: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

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:

at “edge” of its own AS

has link to router in another AS

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 31: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

3b

1d

3a

1c2aAS3

AS1

AS21a

2c2b

1b

Intra-ASRouting algorithm

Inter-ASRouting algorithm

Forwardingtable

3c

Interconnected ASs

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

Page 32: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

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

but which one?

AS1 must:

1. learn which dests are reachable through AS2, which through AS3

2. propagate this reachability info to all routers in AS1

job of inter-AS routing!

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

AS3

AS2

3b

3c

3a

AS1

1c1a

1d1b

2a2c

2b

othernetworks

othernetworks

Page 33: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Distance 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) }

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

v

cost to neighbor v

min taken over all neighbors v of x

cost from neighbor v to destination y

Page 34: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Bellman-Ford example

u

yx

wv

z2

2

13

1

1

2

53

5

clearly, dv(z) = 8, dx(z) = 3, dw(z) = 5

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

node achieving minimum is nexthop in shortest path, used in forwarding table

B-F equation says:

Page 35: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

RIP (Routing Information Protocol) included in BSD-UNIX distribution in 1982 distance vector algorithm

◦ distance metric: # hops (max = 15 hops), each link has cost 1◦ DVs exchanged with neighbors every 30 sec in response message (aka advertisement)◦ each advertisement: list of up to 25 destination subnets (in IP addressing sense)

DC

BA

u v

w

x

yz

subnet hops u 1 v 2 w 2 x 3 y 3 z 2

from router A to destination subnets:

Page 36: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

RIP: link failure, recovery if no advertisement heard after 180 sec --> neighbor/link declared dead

routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables changed) link failure info quickly (?) propagates to entire network

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 37: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

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

advertisements flooded to entire AS◦ carried in OSPF messages directly over IP (rather than TCP or UDP

IS-IS routing protocol: nearly identical to OSPF

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 38: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

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 ToS; high for real time ToS)

integrated uni- and multicast support: ◦ Multicast OSPF (MOSPF) uses same topology data base as OSPF

hierarchical OSPF in large domains.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 39: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Internet inter-AS routing: BGP BGP (Border Gateway Protocol): the de facto inter-domain routing protocol

◦ BGP uses two primary modes of information exchange, internal BGP (IBGP) and external BGP (EBGP), to communicate with internal and external peers, respectively

BGP provides each AS a means to:◦ eBGP: obtain subnet reachability information from neighboring ASs.

◦ 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”

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 40: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

BGP basics

when AS3 advertises a prefix to AS1:◦ AS3 promises it will forward datagrams towards that prefix◦ AS3 can aggregate prefixes in its advertisement

AS3

AS2

3b

3c

3a

AS1

1c1a

1d1b

2a2c

2b

othernetworks

othernetworks

BGP session: two BGP routers (“peers”) exchange BGP messages: advertising paths to different destination network prefixes

(“path vector” protocol) exchanged over semi-permanent TCP connections

BGP message

Page 41: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

BGP basics: distributing path informationusing 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.

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

AS3

AS2

3b3a

AS1

1c1a

1d1b

2a2c

2b

othernetworks

othernetworks

eBGP session

iBGP session

Page 42: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Path attributes and BGP routes advertised prefix includes BGP attributes

◦ prefix + attributes = “route”

two important attributes:◦ AS-PATH: contains ASs through which prefix advertisement has passed: e.g., AS 67, AS 17 ◦ NEXT-HOP: indicates specific internal-AS router to next-hop AS. (may be multiple links from current AS

to next-hop-AS)

gateway router receiving route advertisement uses import policy to accept/decline◦ e.g., never route through AS x◦ policy-based routing

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 43: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

BGP route selection router may learn about more than 1 route to destination AS, selects route based on:

1. local preference value attribute: policy decision2. shortest AS-PATH 3. closest NEXT-HOP router: hot potato routing4. additional criteria

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE

Page 44: Advance Computer Networks Lecture#08 Instructor: Engr. Muhammad Mateen Yaqoob.

Why 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

MATEEN YAQOOB DEPARTMENT OF

COMPUTER SCIENCE