routing protocols - villanova universitymdamian/past/networksfa12/notes/iroutin… · • distance...

30
1 Routing Protocols Reading: Ch. 3.3, 4.1 2 Routing vs. Forwarding • Routing: – Computing paths the packets will follow – Routers talking amongst themselves – Individual router creating a forwarding table • Forwarding: – Directing a data packet to an outgoing link – Individual router using a forwarding table

Upload: others

Post on 21-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

1

Routing Protocols

Reading: Ch. 3.3, 4.1

2

Routing vs. Forwarding

•  Routing: – Computing paths the packets will follow – Routers talking amongst themselves –  Individual router creating a forwarding table

•  Forwarding: – Directing a data packet to an outgoing link –  Individual router using a forwarding table

2

3

Forwarding based on Routing Tables

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.1.0.0/16 20.2.1.0/28

direct R3 R3 R3 R3 R3

H1

R1 R2

R3 R4

H210.2.1.0/24

20.1.0.0/1610.1.2.0/24

10.1.0.0/24 10.3.0.0/16

20.2.1.0/28

20.2.1.2/28

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.1.0.0/16 20.2.1.0/28

direct direct R4 direct R4 R4

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.1.0.0/16 20.2.1.0/28

R3 R3 R2 direct direct R2

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.2.0.0/16 30.1.1.0/28

R3 direct direct R3 R2 R2

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.1.0.0/16 20.2.1.0/28

R1 R1 direct R4 direct direct

Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.1.0.0/16 20.2.1.0/28

R2 R2 R2 R2 R2 direct

to: 20.2.1.2

4

Inter-domain vs. Intra-domain Routing

•  Today, an internet can be so large that one routing protocol cannot handle the task of updating the routing tables of all routers. For this reason, an internet is divided into autonomous systems.

•  An autonomous system (AS) is a group of networks and routers under the authority of a single administration. Routing inside an autonomous system is called intra-domain routing. Routing between autonomous systems is called inter-domain routing

3

Autonomous Systems

5

6

AS Number Trivia

•  AS number is a 16-bit quantity –  So, 65,536 unique AS numbers

•  Some are reserved (e.g., for private AS numbers) –  So, only 64,510 are available for public use

•  Managed by Internet Assigned Numbers Authority –  Gives blocks of 1024 to Regional Internet Registries –  IANA has allocated 39,934 AS numbers to RIRs (Jan’06)

•  RIRs assign AS numbers to institutions –  RIRs have assigned 34,827 (Jan’06) –  Only 21,191 are visible in interdomain routing (Jan’06)

•  Recently started assigning 32-bit AS #s (2007)

4

7

Autonomous System Numbers

AS Numbers are 16 bit values. 64512 through 65535 are “private”

•  Villanova: 10448 •  MIT: 3 •  Harvard: 11 •  Yale: 29 •  Princeton: 88 •  AT&T: 7018, 6341, 5074, … •  UUNET: 701, 702, 284, 12199, … •  Sprint: 1239, 1240, 6211, 6242, … •  …

Currently over 20,000 in use.

8

whois –h whois.arin.net as10448 ASNumber: 10448 ASName: VILLANOVA-UNIV ASHandle: AS10448 RegDate: 1997-08-06 Updated: 2001-07-11 Ref: http://whois.arin.net/rest/asn/AS10448 OrgName: Villanova University OrgId: VILLAN Address: 800 Lancaster Avenue City: Villanova StateProv: PA PostalCode: 19085 Country: US RegDate: 1989-03-13 Updated: 2004-02-20 Ref: http://whois.arin.net/rest/org/VILLAN …

5

Example

AS-1

AS-2

AS-3

Interior router

BGP router

Intra-Domain

AS-1

AS-2

AS-3

Interior router

BGP router

Intra-domain routing protocol aka Interior Gateway Protocol (IGP), e.g. OSPF, RIP

6

Inter-Domain

AS-2

Interior router

BGP router

Inter-domain routing protocol aka Exterior Gateway Protocol (EGP), e.g. BGP

AS-1

AS-3

Routing Protocols

12

7

Intra-Domain Distance-Vector Routing (RIP)

Network as a Graph

14

•  Nodes are routers •  Edges are network links •  Each edge has an associated cost -  desirability of sending over that link

8

15

Bellman-Ford Idea

Bellman-Ford Algorithm

16

9

TCP/IP Protocol Suite 17

Distance Vector Routing Tables

TCP/IP Protocol Suite 18

DV – Initialization of Routing Tables

10

TCP/IP Protocol Suite 19

In distance vector routing, each node shares its routing table with its

immediate neighbors periodically and when there is a change.

TCP/IP Protocol Suite 20

DV – Updating A’s Routing Table

11

21

Updating the Routing Table •  If sender and next-hop are different

– Choose the path with smaller cost

–  If there is a tie, the old one is kept

•  If sender and next-hop are the same – Update with the new distance, even if higher

22

When to Share •  Periodic Update

– Send distance vector to neighbors periodically (normally 30 seconds)

•  Triggered Update – Send distance vector to neighbors when it changes

1. After updating the routing table, or

2. Detects some failure in the neighboring links

12

Distance Vector: Two-node Instability

23

24

Counting to Infinity Instability

•  Defining Infinity – Most implementations define 16 as infinity

•  Split Horizon –  If B routes through A to get to X, B does not advertise

this piece of information to X

4 2 X

X 6

13

25

Counting to Infinity Instability

•  Split Horizon with Poison Reverse –  Include all routes in a routing update, but set to infinity

distances learned from the destination –  If B routes through A to get to X, B tells A that its

distance to X is infinite (“poison” the entry)

4 2 X

X ∞

26

Update loop until infinity

If the instability is between three nodes,

stability cannot be guaranteed

14

Intra-Domain Distance-Vector Implementation:

Routing Information Protocol (RIP)

29

Routing Information Protocol (RIP)

•  Implements distance vector routing directly –  All link costs are 1 (minimum hop route) –  RIP routers send their advertisements every 30 seconds –  Infinity represented as 16

•  RIP is limited to fairly small networks –  No more than 16 hops between any two routers

RIP uses the services of UDP on well-known port 520.

15

Intra-Domain Link-State Routing (OSPF)

32

Concept of Link State Routing

16

Link-State Routing

•  Different philosophy from that of DV routing •  Each node collects information on the entire topology

of the domain—the list of nodes and links, how they are connected including the type, cost (metric), and the condition of the links (up or down)

•  Each node uses Dijkstra’s algorithm on the local network view to build a routing table.

33

Link State Knowledge

34

17

Building Routing Tables at Each Node

•  Create a Link State Packet (LSP):

(router ID, list of links, sequence number, TTL) –  first two items used to calculate the route –  sequence number used to identify the most recent LSP copy –  TTL used to prevent infinite flooding loops

•  Flood the LSP to every other router •  Run Dijkstra to build a shortest path tree (SPT) •  Calculate a routing table based on the SPT

35

Link State Advertisement (LSA)

36

•  The LSA of router A is as follows: Advertising Router: 10.10.10.1 Number of links: 4 (3 links plus router itself)

Description of Link 1: Link ID = 10.1.1.1, Metric = 5

Description of Link 2: Link ID = 10.1.2.1, Metric = 2

Description of Link 3: Link ID = 10.1.3.1, Metric = 3

Description of Link 4: Link ID = 10.10.10.1, Metric = 0

•  Our notation:

LSP(A) = {(B, 5), (C, 2), (D, 3)}

10.10.10.1 10.1.1.1

10.1.3.1

10.1.2.1

18

37

LSA Flooding

•  Node sends link-state information out its links •  And then the next node sends out all of its links •  … except the one where the information arrived

LSA LSA

LSA

LSA

LSA LSA

LSA

When to Initiate Flooding

LSP (router ID, list of links, sequence number, TTL)

•  Topology change –  Link or node failure / recovery –  Link cost change

•  Periodically –  Refresh the link-state information –  No actual need for this type of flooding (60 mins / 2 hours) –  Corrects for possible corruption of the data

38

19

Dijkstra’s Algorithm

40

Routing Table for A

41

20

Intra-Domain Link-State Implementation

Open Shortest Path First Protocol (OSPF)

OSPF

•  Intra-domain routing protocol based on link state routing.

•  Its domain is also an autonomous system. •  Adds a number of features to the basic LS algorithm

43

OSPF packets are encapsulated in IP datagrams.

21

OSPF Features

•  Authentication of routing messages •  Additional hierarchy

–  Partition a domain into areas –  Necessary to make the system more scalable

•  Load balancing –  Maintain multiple routes of identical cost –  Distribute traffic evenly over these routes

45

Areas in an Autonomous System

46

22

Areas in OSPF

•  A collection of networks with area ID •  Routers inside an area flood the area with routing

information (regular Link State routing) •  Area border routers summarize the information about

each area and send it to other areas •  Backbone area and backbone routers

– All areas in AS must be connected to the backbone

47

48

Summary LSAs passed by ABRs into Area 0

Dest Cost NH

RT(G)

10 48

30

1 10

48

1

1

Area 0 Area 1

Area 2

B

E

D A

C

F

G

H

E 10

D 10

10 Dest Cost NH

RT(A)

Example

23

49

Summary LSAs passed by ABRs from Area 0

F 11

G 1

H 2

F 21

G 11

H 12

A 10

C 1

B 48

B 58

D 48

E 58

10 48

30

1 10

48

1

1

Area 0 Area 1

Area 2

B

E

D A

C

F

G

H

D 10

10

A 10+48

C 1+48

A 10+58

C 1+58

F 21+48

G 11+48

H 12+48

Dest Cost NH H 1 H F 11 F E 1 E D 12 E

RT(G) Dest Cost NH B 10 B C 11 B

RT(A)

E 10

Example

50

F 11

G 1

H 2

F 21

G 11

H 12

A 10

C 1

B 48

B 58

D 48

E 58

10 48

30

1 10

48

1

1

Area 0 Area 1

Area 2

B

E

D A

C

F

G

H

D 10

10

A 10+48

C 1+48

A 10+58

C 1+58

F 21+48

G 11+48

H 12+48

Dest Cost NH H 1 H F 11 F E 1 E D 12 E

RT(G) Dest Cost NH B 10 B C 11 B

RT(A)

E 10

24

55

Summary of LS and DV Routing •  Distance vector and link state routing are both interior

routing protocols. They can be used inside an AS. •  Both of these routing protocols become intractable

when the domain of operation becomes large. •  Distance vector routing is subject to instability if there

is more than a few hops in the domain of operation. •  Link state routing needs a huge amount of resources

to calculate routing tables. It also creates heavy traffic because of flooding.

•  There is a need for a third routing protocol which we call path vector routing.

Inter-Domain Path Vector Routing

Border Gateway Protocol (BGP)

25

Autonomous Systems

•  The basic unit of hierarchy in the Internet –  Within an AS, the owner decides how routing is done –  Between ASs, must use BGP (Border Gateway Protocol)

traceroute –a <destination> reports AS numbers

57

AS 6 AS 7

AS 4

AS 2 AS 5

AS 1

AS 3

Interdomain vs. Intradomain

•  Intradomain routing (IGP – Interior Gateway Protocols) –  Routing is done based on metrics –  Routing domain is one autonomous system

•  Interdomain routing (EGP – Exterior Gateway Protocols) –  Routing is done based on policies –  Routing domain is the entire Internet

58

EGP (e.g., BGP)

AS 2 AS 2

IGP (e.g., OSPF) IGP (e.g., RIP)

26

Multiple Routing Processes on a Router

59

Forwarding Table

OSPF Domain

BGP

OS kernel

OSPF Process

OSPF Routing tables

BGP Process

BGP Routing tables

Forwarding Table Manager

Customers and Providers

61

provider

customer IP traffic

provider customer

•  Customer obtains access to the Internet through the provider. •  Customer pays provider for service.

192.0.2.0/24

Configure route 192.0.2.0/24 pointing to customer

27

62

Internet Structure

•  Hierarchical AS-level topology –  Large, tier-1 providers form nationwide backbone –  Edges represent business relationships

Regional ISP1

Regional ISP2

Regional ISP3

Cust1 Cust3 Cust2

National ISP1

National ISP2

Customer-Provider Relationship

63

IP traffic

provider customer

•  Transit network that is a provider may be a customer for another network

28

The Peering Relationship

64

peer peer

customer provider Peers provide transit between

their respective customers

Peers do not provide transit between peers

Peers (often) do not exchange $$$

traffic allowed

traffic NOT allowed

peers peers

Peering Provides Shortcuts

65

peer peer

customer provider •  Note that peering reduces upstream traffic

peers

peers

29

66

InterDomain Routing Goals

•  Privacy –  ASs don’t want to divulge internal topologies – … or their business relationships with neighbors

•  Policy –  No Internet-wide notion of a link cost metric –  Need control over where you send traffic – … and who can send traffic through you

AS Terminology •  Local traffic = traffic with source or destination in AS •  Transit traffic = traffic that passes through the AS •  Stub AS = has connection to only one AS, only

carry local traffic •  Multihomed AS = has connection to >1 AS, but does

not carry transit traffic •  Transit AS = has connection to >1 AS and carries

transit traffic

67

30

Non-Transit vs. Transit AS

68

ISP 1 ISP 2

Multihomed/ Nontransit AS might be a corporate or campus network.

NET A Traffic NEVER flows from ISP 1

through NET A to ISP 2 (At least not intentionally!)

IP traffic

Internet Service providers (often)

have transit networks

Selective Transit

69

NET B NET C

NET A provides transit between NET B and NET C

and between NET D and NET C

NET A

NET D

NET A DOES NOT provide transit

Between NET D and NET B

This example shows a routing policy at A.

IP traffic Stub AS

carries only local traffic