68
Architectures and Protocols for Integrated Networks Intra-domain and Inter-domain Routing Protocols

Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

  • Upload
    others

  • View
    68

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Architectures and Protocols

for Integrated Networks

Intra-domain and Inter-domain

Routing Protocols

Page 2: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 2

N3

N4

N1

N2

i2 i3

R1

R2

R5

R3

R4

i1

How is the routing table built?

Path finding Paths from a device to any

other device. Aggregated

according to address prefixes.

Based on network topology.

Path evaluation and selection Based on network resources and load.

E.g., prefer paths with lower delivery delay

(higher bandwidth, lower propagation delay).

Single best path (usually) or several

alternate paths (load balancing).

Build the routing table Derived from selected paths.

Destination prefix, interface, next router.

Router R1

Destination prefix

Interface Next hop

N1 i1 direct

N2 i2 R2

N3 i2 R2

N4 i2 R2

... ... ...

Routing table

Networks often provide multiple alternate paths, to achieve fault

tolerance, load balancing, or higher capacity/performance.

Page 3: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 3

Static vs. dynamic routing

Static (fixed) routing

Routing tables are created and maintained by manually

entering static routes (i.e., no dynamic route update).

Used in simple, stable topologies, with no/few alternatives.

Hosts typically use static routes.

Dynamic (adaptive) routing

Routing tables are created and maintained by automatically

collecting routing information, using routing protocols, and

computing the best paths.

Routes are permanently adapted to topology changes caused

by failures, to network congestion, etc.

Used in all non-trivial networks.

Mixed solutions

Dynamic routing is often complemented by static routes used

for, e.g., backup routes, default routes, etc.

Page 4: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 4

Model the network as a labeled graph Nodes: routers and hosts/networks.

Edges: network links.

Labels: metric assigned to each link. (In general, we need a directed graph.)

Example: Shortest path routing

Define link metrics and path metrics Define an additive link metric (cost), e.g., based on delay, data rate.

Define the path metric (cost): Sum of link metrics.

“Shortest path” routing: Select the path with the lowest metric.

Solve shortest path graph problem For each router node (as root), find the

shortest path spanning tree, i.e.,

shortest paths to all destinations.

E.g., using a variant of Dijkstra’s

algorithm or Bellman-Ford algorithm.

1

R2

R1 R3

R4

R5

2

2

4

2

5

3

2

1

1 2

N2 N4

N3 N1 R1

N1

N2

2

4 R1

R2

R5 2 2

3

2

1 N4 1

R4

2 N3 2

R3

1

Page 5: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Routing protocols design issues

© Octavian Catrina 5

Issues Goals

Routing

information traffic

Minimize the number and size of the messages exchanged

for collecting and updating the routing information base.

The overhead (bandwidth and processing time) can

become important in large IP networks (especially, in the

default-free Internet core).

Convergence

Ensure that all routers reach a consistent perspective of

the network after a change of network connectivity.

● Complex process: many exchanged messages.

● Fast convergence is essential: incorrect routing can

occur during the time to convergence.

Stability Avoid frequent reconfigurations due to minor changes in

network connectivity (e.g., link delay or load variation).

Security Avoid corruption of the routing tables by incorrect routing

information messages sent by malicious users.

Page 6: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 6

Routing in the Internet

Administrative boundaries and routing policies The Internet is a federation of IP networks owned and

operated by different organizations.

Each organization manages autonomously:

the connectivity and routing within its own network;

the policies for interconnection with other networks.

Autonomous System (AS): Unit of routing policy

An AS is a connected group of networks having a single

technical administration, consistent interior routing, and a

single well defined (exterior) routing policy (RFC 1786,1930).

It is also called (autonomous) routing domain.

An AS is uniquely identified by an AS number.

32-bit numbers since RFC 4893, 2007. Previously, 16-bit AS numbers.

A routing domain is assigned an AS number only if it has distinct inter-domain

routing policies. E.g., an ISP needs an AS number, but the single-homed, stub

networks of its customers do not need their own AS numbers.

Page 7: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Intra-domain vs. Inter-domain Routing

Inter-domain routing protocols Exchange routing information

between routing domains (AS).

Exterior Gateway Protocols (EGP).

Designated AS border routers

exchange routing information.

Route finding and selection is

based on AS interconnection

topology and (mainly) policy rules.

Example: BGP.

Intra-domain routing protocols Exchange routing information

within a routing domain (AS).

Interior Gateway Protocols (IGP).

All routers in the AS exchange

routing information.

Route finding and selection is

based on IP network topology and

performance metrics.

Examples: RIP, OSPF, IS-IS.

IGP EGP

7 © Octavian Catrina

Page 8: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Intra-domain Routing

Protocols

Routing protocols

© Octavian Catrina 8

Page 9: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 9

Intra-domain routing

Link-state routing (LSR)

What routing information?

Costs of the links connected to

the router.

To what routers?

All routers in the AS.

For what purpose?

Determine a complete network

map (labeled graph), then run

Dijkstra algorithm to find best

path spanning tree.

Examples

OSPF (Open Shortest Path First), RFC 5340; IS-IS.

Distance-vector routing (DVR)

What routing information?

Costs of the paths to all

reachable destinations.

To what routers?

Neighbor routers only.

For what purpose?

Determine for each destination

the neighbor offering best path,

based on distributed version of

Bellman-Ford algorithm.

Examples

RIP (Routing Information Protocol), RFC 2453.

Page 10: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 10

DVR: Basic algorithm (1)

Each router:

(1) Maintains a table with all known routes (routing table)

Route = { network prefix, path metric, next hop, interface }

Network prefix identifies a set of destinations with the same path.

No next hop for directly connected networks.

(2) Advertises known routes to all neighbors (periodic/triggered)

List of { network prefix, path metric } = Distance Vector (DV).

Distance vector (DVB)

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1

DVB DVB

These DVR examples assume:

Link metric (cost) = 1

Path metric = link-count.

Advertised DVs contain the path

metric value in the routing table.

Router B: routing table

Network M NH IF

10.1.0.0/16 1 d.c. e

10.2.0.0/16 1 d.c. w

10.3.0.0/16 2 C w

10.4.0.0/16 2 A e

10.5.0.0/16 2 A e

10.6.0.0/16 3 A e

M = route metric

NH = next hop

IF = interface

d.c. = directly connected

Note that the path metric used by

the protocol RIP in the advertised

DVs and the routing table is slightly

different - see example later.

Page 11: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 11

DVR: Basic algorithm (2)

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1 DVA DVC

(3) Updates its own routing table based on DVs from neighbors For each destination (network) not directly connected:

Next hop = Neighbor that offers best path.

Path metric = neighbor’s metric + shared network metric.

Best path metric = Min all neighbors { Path metric }.

Router B: DV from neighbors

Network C A

10.1.0.0/16 2 +1=3

10.2.0.0/16 2 +1=3

10.3.0.0/16 1 +1=2 2 +1=3

10.4.0.0/16 2 +1=3 1 +1=2

10.5.0.0/16 3 +1=4 1 +1=2

10.6.0.0/16 4 +1=5 2 +1=3

Router B: Dir. con.

Network M

10.1.0.0/16 1

10.2.0.0/16 1

Router B: routing table

Network M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 1 d.c.

10.3.0.0/16 2 C

10.4.0.0/16 2 A

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Distance vector (DVB)

Page 12: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 12

Example: Network startup

Router B

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 1 d.c.

Router A

Route M NH

10.1.0.0/16 1 d.c.

10.4.0.0/16 1 d.c.

10.5.0.0/16 1 d.c..

Router E

Route M NH

10.5.0.0/16 1 d.c.

10.6.0.0/16 1 d.c.

Router C

Route M NH

10.2.0.0/16 1 d.c.

10.3.0.0/16 1 d.c.

Router D

Route M NH

10.3.0.0/16 1 d.c.

10.4.0.0/16 1 d.c.

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1

- Initially, the routers know only

routes to directly connected

networks, learned from the IP

configuration of their interfaces.

- The routers send DVs with

known routes to their neighbors.

- Routing info propagates hop-

by-hop until all the routers learn

routes to all destinations.

E.g., assume

a sequence

of updates:

E A;

A B, D;

B, D C, A;

etc.

Page 13: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 13

Example: State after convergence

Router B

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 1 d.c.

10.3.0.0/16 2 C

10.4.0.0/16 2 A

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router E

R M NH

10.1.0.0/16 2 A

10.2.0.0/16 3 A

10.3.0.0/16 3 A

10.4.0.0/16 2 A

10.5.0.0/16 1 d.c.

10.6.0.0/16 1 d.c.

Router C

Route M NH

10.1.0.0/16 2 B

10.2.0.0/16 1 d.c.

10.3.0.0/16 1 d.c.

10.4.0.0/16 2 D

10.5.0.0/16 3 B

10.6.0.0/16 4 B

Router D

Route M NH

10.1.0.0/16 2 A

10.2.0.0/16 2 C

10.3.0.0/16 1 d.c.

10.4.0.0/16 1 d.c.

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router A

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 2 B

10.3.0.0/16 2 D

10.4.0.0/16 1 d.c.

10.5.0.0/16 1 d.c.

10.6.0.0/16 2 E

Convergence time:

- Very slow for periodic

updates (e.g., RIP sends

updates every 30 sec).

- Much faster for triggered

updates (on request or to

advertise DV changes).

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1

For the basic DVR algorithm

Via

B D E

- 3 3

2 3 4

3 2 4

3 - 3

3 3 -

4 4 2

Via

A

2

3

3

2

-

3

Via

C A

3 -

- 3

2 3

3 2

4 2

5 3

Via

B D

2 3

- 3

3 -

3 2

3 3

4 4

Via

C A

3 2

2 3

- 3

3 -

4 2

5 3

Page 14: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 14

Towards real-life DVR protocols

Incremental update of the routing table

Routers incrementally update their routing table for each

received DV, instead of storing the DVs for all neighbors.

For each entry in a received DV:

If the received path metric is smaller than own metric, update the

route: metric = received metric, next hop = neighbor.

If the received path metric is larger than own metric, but comes

from the same neighbor, update the route: metric = received metric.

Otherwise ignore the received DV entry.

How to handle infeasible routes? Different cases: link/interface, path, or router failures.

Route timeout: Delete a route if not advertised for a long time. A basic mechanism applicable in all cases, but rather slow. Example:

Periodic updates every 30 sec. Declare a route invalid if not advertised

for 180 sec. Delete the route after other 180 sec.

Notification of infeasible routes? (We'll discuss this later.)

Page 15: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 15

Routing loops and “counting to infinity”

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1

- The link E ↔10.6.0.0/16 fails.

- E believes that it can still reach

10.6.0.0/16 via A, changes its

table and sends an update to A.

- What happens next? The path

metric increases indefinitely.

- Routing loops. The routers

cannot detect that a destination

has become unreachable.

Router B

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 1 d.c.

10.3.0.0/16 2 C

10.4.0.0/16 2 A

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router E

R M NH

10.1.0.0/16 2 A

10.2.0.0/16 3 A

10.3.0.0/16 3 A

10.4.0.0/16 2 A

10.5.0.0/16 1 d.c.

10.6.0.0/16 1 d.c.

Router C

Route M NH

10.1.0.0/16 2 B

10.2.0.0/16 1 d.c.

10.3.0.0/16 1 d.c.

10.4.0.0/16 2 D

10.5.0.0/16 3 B

10.6.0.0/16 4 B

Router D

Route M NH

10.1.0.0/16 2 A

10.2.0.0/16 2 C

10.3.0.0/16 1 d.c.

10.4.0.0/16 1 d.c.

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router A

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 2 B

10.3.0.0/16 2 D

10.4.0.0/16 1 d.c.

10.5.0.0/16 1 d.c.

10.6.0.0/16 2 E

Via

B D E

- 3 3

2 3 4

3 2 4

3 - 3

3 3 -

4 4 2

Via

A

2

3

3

2

-

3

Via

C A

3 -

- 3

2 3

3 2

4 2

5 3

Via

B D

2 3

- 3

3 -

3 2

3 3

4 4

Via

C A

3 2

2 3

- 3

3 -

4 2

5 3

For the basic DVR algorithm

Page 16: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 16

DVR enhancements (1)

Cause of troubles

Routers ignore the actual topology. They rely on each other’s

routing updates. Basic algorithm allows mutual deception!

What can we do?

Simple enhancements can ensure convergence and avoid

most routing loops. Complete elimination is difficult/inefficient.

Ensuring convergence: Maximum path metric

The path metric is limited to a maximum value (“infinity”).

Destinations with a larger value are considered unreachable.

What value? Conflicting requirements:

Small value for fast convergence. Larger than any path metric.

Example: RIP “infinity” = 16.

Inefficient solution for routing loops.

Useful for announcing unreachable destinations.

Page 17: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 17

DVR enhancements (2)

Split horizon (simple) "Never advertise a route to the neighbor it was learned from."

More precisely: If RB is the next hop of RA to destination D, then RA

does not advertise to RB a route to D.

Motivation It is not useful: the neighbor knows it already.

It is harmful: the neighbor believes it is a different path.

Effects Eliminates 2-router loops. Does not eliminate larger loops.

Speeds up convergence. Reduces routing update traffic.

Split horizon with poisoned reverse Advertise infeasible routes with infinite metric (rather than

omitting them from the DV).

Increases the update size. In practice, it is used for limited time when

a (previously feasible) route becomes infeasible. Needed to speed up

convergence for the incremental update algorithm.

Page 18: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 18

Example: State after convergence

Router B

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 1 d.c.

10.3.0.0/16 2 C

10.4.0.0/16 2 A

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router E

R M NH

10.1.0.0/16 2 A

10.2.0.0/16 3 A

10.3.0.0/16 3 A

10.4.0.0/16 2 A

10.5.0.0/16 1 d.c.

10.6.0.0/16 1 d.c.

Router C

Route M NH

10.1.0.0/16 2 B

10.2.0.0/16 1 d.c.

10.3.0.0/16 1 d.c.

10.4.0.0/16 2 D

10.5.0.0/16 3 B

10.6.0.0/16 4 B

Router D

Route M NH

10.1.0.0/16 2 A

10.2.0.0/16 2 C

10.3.0.0/16 1 d.c.

10.4.0.0/16 1 d.c.

10.5.0.0/16 2 A

10.6.0.0/16 3 A

Router A

Route M NH

10.1.0.0/16 1 d.c.

10.2.0.0/16 2 B

10.3.0.0/16 2 D

10.4.0.0/16 1 d.c.

10.5.0.0/16 1 d.c.

10.6.0.0/16 2 E

Split-horizon:

Eliminates trivial loops.

Faster convergence.

Example:

What happens if the link

from E to10.6.0.0/16 fails?

Via

B D E

- - -

2 3 -

3 2 -

- - -

- - -

- - 2

Via

A

2

3

3

2

-

-

Via

C A

- -

- -

2 3

3 2

- 2

- 3

Via

B D

2 3

- -

- -

3 2

3 3

4 4

Via

C A

3 2

2 3

- -

- -

4 2

5 3

A

B

C

D

E

10.5.0.0/16

10.3.0.0/16

10.2.0.0/16 10.1.0.0/16

10.4.0.0/16

10.6.0.0/16 Metric = 1

For DVR with split-horizon

Page 19: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 19

DVR enhancements (3)

Triggered updates "Send an update whenever the metric of a route changes,

besides the periodic updates."

Much faster convergence (than for periodic updates), but we

have to avoid "update storms".

Related enhancement: Allow a router to request an update

(e.g., after booting up, to build up its routing table).

Hold-down When a route becomes infeasible, wait for a certain time (hold-

down timer) before accepting worse routes to that destination.

Wait until information about the incident propagates to all the routers.

The route is marked and advertised as unreachable.

Even if it was not advertised earlier due to split horizon.

The route may still be used to forward packets (no alternative).

Less routing anomalies during convergence. For triggered

updates, less control traffic but longer convergence duration.

Page 20: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 20

RIP timers (Cisco RIP)

Timer Description Default value

Update timer Time interval between the transmission of periodic

update messages.

30 sec.

Invalid timer Time interval until a route is considered invalid

because no updates confirming it have been

received. When it expires, the route is marked and

advertised as unreachable. Also, it is “hold down”

for the duration of the hold-down timer.

180 sec.

Hold-down timer Time interval during which a route is “hold down”.

This occurs when a neighbor indicates a network

as unreachable or the invalid timer expires. The

route is advertised as unreachable.

180 sec.

Flush timer Time interval until the route is removed from the

routing table if not confirmed by updates.

240 sec.

Sleep timer Optional delay before sending a triggered update

Page 21: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 21

RIP packets

Up to 25 RIP

route entries (DV)

UDP header RIP Port = 520

RIP header

… (other route entries)

Route metric (4)

must be zero (4)

must be zero (4)

Route IPv4 address (4)

RIP version 1 packet format

Address family id (2)

Req/Resp (1) Version (1)

must be zero (2)

must be zero (2) Header

Route entry

… (other route entries)

Route metric (4)

Next Hop (4)

Route Subnet Mask (4)

Route IPv4 address (4)

Address family id (2)

Req/Resp (1) Version (1)

must be zero (2)

Route Tag (2)

RIP version 2 packet format

Header

Route entry

Main RIPv2 improvements:

- Full support for subnetting,

including VLSM.

- Authentication.

- Packets are multicast not

broadcast.

Encapsulation

Page 22: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

RIPv2 example (1/2)

© Octavian Catrina 22

RIP: sending v2 update to 224.0.0.9 via S0 (172.16.2.6) 172.16.3.0/24 via 0.0.0.0, metric 1 172.17.1.0/24 via 0.0.0.0, metric 1 172.18.1.0/24 via 0.0.0.0, metric 3 172.18.2.0/30 via 0.0.0.0, metric 2

RIP: sending v2 update to 224.0.0.9 via E0 (172.16.3.2) 172.16.1.0/24 via 0.0.0.0, metric 2 172.16.2.4/30 via 0.0.0.0, metric 1 172.17.1.0/24 via 0.0.0.0, metric 1 172.18.1.0/24 via 0.0.0.0, metric 3 172.18.2.0/30 via 0.0.0.0, metric 2

RIP: sending v2 update to 224.0.0.9 via E1 (172.17.1.1) 172.16.1.0/24 via 0.0.0.0, metric 2 172.16.2.0/30 via 0.0.0.0, metric 2 172.16.2.4/30 via 0.0.0.0, metric 1 172.16.3.0/24 via 0.0.0.0, metric 1

172.16.1.0/24

172.17.1.0/24

172.18.2.0/30

E0

RB RC RD

RE RA

172.16.2.0/30

172.16.3.0/24

172.16.2.4/30

172.18.1.0/24

E0 E0

S0

S0

S1

E1 E0 S0 S0

S0

E0 .1

.5 .1

.2

.1 .2

.6

.2

.2

.1

.1

.1

RIP: received v2 update from 172.16.2.5 on S0 172.16.1.0/24 via 0.0.0.0 in 1 hops 172.16.2.0/30 via 0.0.0.0 in 1 hops

RIP: received v2 update from 172.16.3.1 on E0 172.16.1.0/24 via 0.0.0.0 in 2 hops 172.16.2.0/30 via 0.0.0.0 in 1 hops

RIP: received v2 update from 172.17.1.2 on E1 172.18.1.0/24 via 0.0.0.0 in 2 hops 172.18.2.0/30 via 0.0.0.0 in 1 hops

224.0.0.9 = Multicast address

with link scope: “All RIP-aware

routers on this link”.

R 172.16.1.0/24 [1 hops] via 172.16.2.5, S0 R 172.16.2.0/30 [1 hops] via 172.16.2.5, S0 [1 hops] via 172.16.3.1, E0 C 172.16.2.4/30 is directly connected, S0 C 172.16.3.0/24 is directly connected, E0 C 172.17.1.0/24 is directly connected, E1 R 172.18.1.0/24 [2 hops] via 172.17.1.2, E1 R 172.18.2.0/30 [1 hops] via 172.17.1.2, E1

RIP updates

received by RC

RC’s routing table

RIP updates

sent by RC

The path metric used by RIP in the

routing table and the advertised

DVs is slightly different from the

examples given earlier:

Path metric = hop-count.

Advertised DVs contain the metric

value in the routing table

incremented by 1.

Page 23: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

RIPv2 example (2/2)

© Octavian Catrina 23

RIPv2 periodic update

sent by RC to RB

172.16.1.0/24

172.17.1.0/24

172.18.2.0/30

E0

RB RC RD

RE RA

172.16.2.0/30

172.16.3.0/24

172.16.2.4/30

172.18.1.0/24

E0 E0

S0

S0

S1

E1 E0 S0 S0

S0

E0 .1

.5 .1

.2

.1 .2

.6

.2

.2

.1

.1

.1

Distance vector

advertised by

RC to RB

Page 24: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 24

OSPF overview

Hierarchical network structure

The routing domain is divided into several areas interconnected

by a backbone area scalability, efficiency.

Link State Routing enhancements

Optimizations of the topological database and the routing info

exchange (e.g., for multi-access networks with many routers).

The topology of an area is hidden to the rest of the AS.

LSR within each area. Route summarization between areas.

Lower routing information traffic (flooding) and path computation

overhead. Smaller routing tables.

OSPF: Open Shortest Path First

IGP based on Link State Routing (LSR).

OSPF version 2: RFC 2328 (1998).

OSPF version 3: RFC 5340 (2008).

Area 0

Backbone area

ABR ABR

ABR

Area 1 Area 3 Area 2

Page 25: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 25

Link State Routing (1/3)

Build the topological database

Each router distributes the state of its own links to all routers in

the domain (using reliable hop-by-hop flooding).

All routers collect the advertised link states and build identical

copies of a database describing the topology of the domain.

Physical network topology

and link costs

Graph model of the network topology

determined by each router and stored

in its local topological database

Directed labeled graph (edges are

labeled with the link metrics)

Link State

Advertisements

R2 R1

R3

R5

R4

R6

N1 N2

N3 N4

N5 N6

N7

2

2 3

2

2

4

1 1

1 1

3 3

1 2

2 1

2 2

N5

N3 R3

R5

R4

R6

N1 R1 R2

N6

N4

N2

N7

1

2

2

2

1

2

1

1

3

2

2

2

4

1

1

3 2

0 0

0 0

3

Page 26: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 26

Link State Routing (2/3)

Find the shortest paths

All routers independently run the same algorithm (Dijkstra) to find

the shortest paths from the topological database.

Each router computes a tree of shortest paths, with itself as root,

to all destinations.

The shortest paths are recomputed when the topology changes.

Network topology graph

Run shortest-paths algorithm

on the sub-graph containing

only the transit nodes

Add the shortest paths

to non-transit (stub) nodes

Example: shortest paths for R1

N5

N3 R3

R5

R4

R6

N1 R1 R2

N6

N4

N2

N7

1

2

2

2

1

2

1

1

3

2

2

2

4

1

1

3 2

0 0

0 0

3

N5

N3 R3

R5

R4

R6

N1 R1 R2

N6

N4

N2

N7

1

2

2

2

1

2

1

1

3

2

2

2

4

1

1

3 2

0 0

0 0

3

R3

R5

R4

R6

R1 R2

N7 1

1

3

2

2

2

4

1

1

3 2

0 0

0 0

3

Page 27: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 27

Link State Routing (3/3)

Derive the local routing table

A router derives the entries in the routing table from the

computed shortest paths.

Shortest paths for R1 Routing table for R1

Router R1

Route Next hop Metric

N1 dir.con. 1

N2 R2 4

N3 R3 4

N4 R4 3

N5 R3 5

N6 R3 5

N7 R3 3

Each router runs the same shortest path algorithm on the same

graph (hopefully), but with a different root node - itself.

Hence each router computes a different set of paths: from itself

to all destinations. However, the shortest path algorithm

guarantees that the resulting routing tables are consistent.

N5

N3 R3

R5

R4

R6

N1 R1 R2

N6

N4

N2

N7

1

2

2

2

1

2

1

1

3

2

2

2

4

1

1

3 2

0 0

0 0

3

Page 28: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 28

OSPF areas (1/2)

Two-level network hierarchy

The AS is structured into multiple areas

interconnected by a backbone area

(using physical or virtual links).

An area is a contiguous collection of

networks, delimited by routers.

The backbone area also connects the

AS to other ASes.

N1

Backbone

area (0)

Area 1

Area 3

Area 2

N2

N3

N4

N6 N7

N8

N11

N9

N10

R1

R2

R4

R3

R5

R6

R7

R10

R8

R11

R9

R12

External routes:

N12, N13, N14

External routes:

N12, N15

Virtual link

belongs to

backbone

Intra-area

Inter-area

Page 29: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

OSPF areas (2/2)

Types of routers Area internal routers: R1, R2, R5, R6, R8, R9, R12.

Area border routers (ABR): R3, R4, R7, R10, R11.

Backbone routers: All ABR + backbone internal routers (R5, R6).

AS border routers (ASBR): R5, R7. Provide links to other AS.

Routing information exchange Intra-area: Each router floods throughout an area the state of

its own links that belong to the area.

Inter-area: A separate topological DB is maintained per area.

The topology of an area is invisible outside the area.

The backbone redistributes routing info between areas.

Packet forwarding

Intra-area traffic is independently handled by each area (based

on its own routing info, links).

Inter-area traffic is forwarded via the backbone.

© Octavian Catrina 29

Page 30: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Inter-area routing info exchange

Outline of ABR operation An ABR maintains a separate topological database for each

area to which it belongs.

Reports on the backbone topology summaries (routes) for its

non-backbone areas.

Injects into its non-backbone areas summaries about other

areas learned on the backbone.

An ABR also injects the external routes learned from AS

border routers (ASBR).

Route distribution via the backbone Redistribution of the routes via the backbone is similar to route

advertisements in DVR.

Similar way of computing route metrics.

Redistribution can be limited for stub networks (replaced by

default route).

© Octavian Catrina 30

Page 31: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 31

OSPF topological database

R2 R1

A1 A2

c1 c2

From R1 R2

To R1 c2

R2 c1

A1 c2

A2 c1

From R1 R2

To R1 c2

R2 c1

R2 R1

Unnumbered

c1 c2

c1

c2 R2 R1

A1

c1

c2 R2

A2

R1

c1 c2

From R1 R2 R3 N1

To R1 0

R2 0

R3 0

N1 c1 c2 c3

R2

R1 c1

c3 R3

c2

N1

c1

c2

R1

0 c3 R3

R2

0 0 N1

c1 R1

N1

From R1 N1

To R1

N1 c1

c1 R1 N1

Point-to-point network

Multi-access network

Stub multi-access network

Page 32: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 32

Link state advertisements (LSA)

LSA

Type

Advertisement

name

Advertisement description

1 Router (links)

advertisement

Originated by all routers. Describes the collected states of the

router's interfaces to an area.

Flooded throughout a single area only.

2 Network (links)

advertisement

Originated for multi-access networks by the Designated Router.

Contains the list of routers connected to the network.

Flooded throughout a single area only.

3, 4 Summary (link)

advertisement

Originated by area border routers, and flooded throughout the

advertisement's associated area. Describes a route to a

destination inside the AS, but outside the area (inter-area route).

- Type 3 describes routes to networks.

- Type 4 describes routes to AS boundary routers.

5 AS external link

advertisement

Originated by AS boundary routers, and flooded throughout the

AS. Each AS external link advertisement describes a route to a

destination in another AS. Default routes for the AS can also be

described by AS external link advertisements.

Page 33: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 33

LSA examples

R1 Router LSA (Type 1)

From R1 N1 N3

To R1

N1 3

N3 1

N3 Network LSA (Type 2)

From R1 R2 R3 R4 N3

To R1 0

R2 0

R3 0

R4 0

N3

R3 Summary LSA for Aria 1 (Type

3, flooded in the backbone area)

From R3 N1 N2 N3 N4

To R3

N1 4

N2 4

N3 1

N4 2

Backbone

area (0)

Area 1

Area 3

Area 2

N3

N4

N6 N7

N8

N11

N9

N10

R1

R2

R4

R3

R5

R6

R7

R10

R8

R11

R9

R12

External routes:

N12, N13, N14

External routes:

N12, N15

Virtual link

2

1

1

1

3

1

1

1

1 3

3

2

8

N2

N1

8

8 6

8

6

7

6

6

7

2

5

2

2

1 1

2

Networks in an area are assigned IP address blocks

with certain prefixes. Routes to sets of blocks with a

common prefix can be summarized ...

Page 34: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 34

Topological DBs for areas 1 and 0

Backbone

area (0)

Area 1

Area 3

Area 2

N3

N4

N6 N7

N8

N11

N9

N10

R1

R2

R4

R3

R5

R6

R7

R10

R8

R11

R9

R12

Virtual

link

2

1

1

1

3

1

1

1

1 3

3

2

8

N2

N1 8

8 6

6

7

6

6

7

2

5

2

2

1 1

2

From R1 R2 R3 R4 N3

To R1 0

R2 0

R3 0

R4 0

N1 3

N2 3

N3 1 1 1 1

N4 2

N6 17 16

N7 18 17

N8 17 18

N9 18 19

N10 20 21

N11 21 22

Area 1 DB From R3 R4 R5 R6 R7 R10 R11

To R3 6

R4 8

R5 8 6 6

R6 8 7 5

R7 6

R10 7 2

R11 2

N1 4 4

N2 4 4

N3 1 1

N4 2 3

N6 2 2 4

N7 3 3 5

N8 4 2 2

N9 1

N10 4

N11 3

Area 0 DB

Notes:

R11 is connected to areas 2, 3, and 0

(virtual). For simplicity, point-to-point links

are assumed unnumbered (but this is

problematic for R5, R6).

Page 35: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 35

Setup & maintenance of the topological DB

Objectives

Consistent routing tables maintain synchronized topological

DBs in all routers, with fast update in case of topology changes.

Low control traffic and processing overhead use efficient

mechanisms for distributing the routing information (especially

for multi-access networks).

Mechanisms for creating/maintaining the topological DB

Neighbor discovery: Directly connected OSPF routers discover

each-other (Hello protocol).

Adjacency setup: Neighbor routers set up an efficient topology

for routing information exchange (adjacency relations).

DB synchronization: During adjacency setup, routers perform

an initial synchronization of their topological DBs.

DB update: Routers maintain/update their topological DB by

reliable flooding of LSAs following adjacency relations.

Page 36: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 36

Adjacency relations

Adjacencies on multi-access networks

DR responsibilities

Routers on a multi-access network synchronize their topological

DB with the DR: DB exchange with the DR at adjacency setup

(not any-to-any), followed by LSA updates afterwards.

DR floods a Network-LSA which lists the routers connected to

the multi-access network. It also disseminates the LSAs from

the rest of the AS to the routers on its multi-access network.

Adjacencies on multi-

access network N3

Area 1 N3

N4

R1

R2

R4, elected

DR for N3

R3 N2

N1

All routers also set up adjacencies with BDR.

Routers elect using the Hello protocol a

Designated Router (DR) and a Backup

Designated Router (BDR).

Adjacencies are set up only between

the DR/BDR and the other routers.

R4 R5 Always adjacent

Point-to-point links Routers connected by a point-to-

point link are always adjacent.

Page 37: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 37

Example: Topology update

Area 1

N3

R1

R2

R4

R3

R5

R6

DR for N3

Scenario: New network N1 attached to R1:

● R1 sends LS Update with Router LSA announcing link to N1 (to R4 = DR, and to BDR).

● LS Update is flooded all over the area, hop-by-hop, reliably (LS Ack, retransmission).

● LSA sequence number allows routers to distinguish duplicates and discard them.

● Each router runs SPF algorithm and updates its routing table.

● Also, the area's ABRs send in the other areas LS Update containing a Summary LSA

announcing the route to N1.

1

1

1

1

2

N2

N1

8

6

6

7

6 7

N4 N6

N5

3

3 LS Update

LS Ack

LS Update

After receiving LS Update

from R3, R6 suppresses

the copy from R5

(same sequence #)

Page 38: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 38

OSPF packets

OSPF runs directly over IP (protocol id=89).

OSPF packets are exchanged only between adjacent routers.

Except for the packets used in the process of discovering neighbors and

setting-up adjacencies.

Type Packet name Protocol function

1 Hello Used to discover and maintain neighbor relationships between

routers, and elect the DR/BDR on multi-access networks.

2 Database (DB)

Description

Contains a summary of the topological DB contents (list of LSA

headers). Used to synchronize the topological DBs during

adjacency setup.

3 Link State (LS)

Request

Request to download specified entries in the topological DB

(identified by LSA header).

4 Link State (LS)

Update

Contains updates for the topological database (list of LSAs).

5 Link State (LS)

Ack

Acknowledges the receipt of a Link State Update (OSPF

provides a reliable transfer of routing information updates).

Page 39: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 39

Adjacency setup (1)

Router ID: R1

Down Down

Adjacency

state

Adjacency

state

Hello (RouterID = R1; Neighbors = none; DR = none; ...)

Init

Hello (RouterID = R2; Neighbors = R1, R3, ...; DR = R2; ...)

ExStart

Database Description (Seq = x , I = 1, M = 1, MS = 1)

Database Description (Seq = y, I = 1, M = 1, MS = 1)

ExStart

Exchange Exchange

172.16.1.1 172.16.1.2

Init

Router ID: R2

Scenario: OSPF on router R1 has just started.

Router R2 is currently DR. R1 will accept R2 as DR.

Initialize TDB exchange Elect master (MS=1).

Master leads the DD

exchange. Assuming

R2>R1, R2 becomes

master. M=1 indicates

more LSA headers to

be exchanged.

Exchange TDB: Database description

Database Description (Seq = y+1, I = 0, M = 1, MS = 1)

. . .

Database Description (Seq = y , I = 0, M = 1, MS = 0)

Database Description (Seq = y+1 , I = 0, M = 1, MS = 0)

Router ID: R3

172.16.1.0/24

172.16.1.3

Router ID = IP address

of an interface.

DD packets contain

headers of the LSAs in

the TDB. Each DD

packet acknowledges

the previous one

(sequence numbers).

Page 40: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 40

Adjacency setup (2)

Router ID: R1

Loading Loading

Adjacency

state

Adjacency

state

Full

LS Request (IDs of requested LSAs)

LS Update (requested LSAs)

Exchange Exchange

172.16.1.1 172.16.1.2

Full

Router ID: R2

. . .

Database Description (Seq = y+1, I = 0, M = 0, MS = 1)

. . .

Database Description (Seq = y+1 , I = 0, M = 0, MS = 0)

Exchange TDB: LSA loading

(can be interleaved with DD exchange)

LS Ack (acked LSA headers)

LS Request (IDs of requested LSAs)

LS Update (requested LSAs)

LS Ack (acked LSA headers)

TDBs are now synchronized.

Adjacency setup is finished

Router ID: R3

172.16.1.0/24

172.16.1.3

LS Request/Update

packets are used to

request/deliver the

LSAs missing from a

router’s TDB.

LSA loading may be

interleaved with the DD

exchange.

Each router checks the

received LSA headers

against its own TDB to

determine which LSAs

need to be loaded from

its peer.

The 2 routers have the

same “network maps”.

Page 41: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: Topology DB

© Octavian Catrina 41

N1: 172.16.1.0/24

N7: 172.17.1.0/24

N9: 172.18.2.0/24

Area 0

Area 1 Area 2

e1/0

RC RD

RE

N3: 172.16.2.0/24

N5: 172.16.3.0/24

N11: 172.18.1.0/24

e0/0 e0/0

s0/0

e0/1 e0/0 s1/0 s1/0

s0/0

e1/0 .1

.1

.2

.1 .2 .2

.2

.1

.1

.1

ABR ABR N6: Lo 0:

172.17.100.1/32

N8: Lo 0:

172.17.100.2/32 N4: Lo 0:

172.16.100.2/32

N2: Lo 0:

172.16.100.1/32 N10: Lo 0:

172.18.100.1/32

RB

RA

N4

RA

RB

N3

N2

N1

1

10

64

64

64 64

1

N8

N9

N10

N11

84

11

74

75

N5

N6

1

10

0

0

10

N7 10 RC

Topology of Area 1.

Router LSAs (RA, RB, RC)

and Network LSAs (RC for N5).

Inter-area routes.

Summary LSAs (RC

for N6, N7, … N11).

Topology DB for Area 1

(no auto-summary)

Page 42: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: OSPF Update and LSAs

© Octavian Catrina 42

172.16.1.0/24

172.17.1.0/24

172.18.2.0/24

Area 0

Area 1 Area 2

e1/0

RC RD

RE

172.16.2.0/24

172.16.3.0/24

172.18.1.0/24

e0/0 e0/0

s0/0

e0/1 e0/0 s1/0 s1/0

s0/0

e1/0 .1

.1

.2

.1 .2 .2

.2

.1

.1

.1

ABR ABR Lo 0:

172.17.100.1/32

Lo 0:

172.17.100.2/32 Lo 0:

172.16.100.2/32

Lo 0:

172.16.100.1/32 Lo 0:

172.18.100.1/32

RB

RA

LSAs advertised by RC in Area 1.

- RC’s own Router LSA.

- Network-LSA for 172.16.3.0/24: RC sends

this LSA because it is DR for the transit

multi-access network 172.16.3.0/24.

- Summary-LSAs: RC is ABR, so it sends

in Area 1 Summary-LSAs with routes to

destinations (networks) in the other areas.

LSAs in OSPF Update packet sent by RC in Area 1

84

Page 43: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: Adjacency setup

© Octavian Catrina 43

Adjacency setup for routers

RB (172.16.3.1) and RC (172.16.3.2)

Page 44: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Inter-domain Routing

(BGP)

Routing protocols

© Octavian Catrina 44

Page 45: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 45

Internet structure

Peer Relationship (shared-cost) Shortcuts

Customer-Provider Relationship (transit) Hierarchical structure

Tier-1 ISPs.

Very large,

global networks

Transit

domains

Stub

domains

Tier-2 ISPs.

National or

regional ISPs.

Company

networks,

small ISPs,

...

Examples of paths

Page 46: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 46

Types of routing domains

Transit domain

Allows other routing domains to use its network infrastructure

to communicate with each-other (ISPs, typically).

Stub domain

Does not allow the use of its network infrastructure for traffic

between other routing domains.

A stub domain is connected to at least one transit domain.

Single-homed: 1 transit domain. Dual-homed: 2 transit domains.

Can also be connected to other stub domains.

Different traffic patterns: content rich; access rich.

S2 S3

S4

S5 T1 T3

T2

S1 T1 - T3: Transit domains.

S1 - S5: Stub domains.

S1, S3: Multi-homed stub

domains.

Page 47: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 47

Inter-domain relationships

Customer-provider relationship

Provider offers transit for traffic between the customer and all

prefixes it can reach or part of them. Customer pays provider.

Peering relationship

Two ASes interconnect their networks such that to allow traffic

between their customers and between their internal prefixes.

Typically established by ISPs of similar sizes, without payment.

Peering provides shortcuts and reduces transit costs.

AS1

AS2

AS3 AS5

AS7

Peer

Customer

AS6

AS4

Contribution to delivery costs (implicit)

Provider

Peer

Page 48: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 48

Physical ISP interconnection

Internet exchange

More efficient solution: rendezvous

point for many ISPs hub and

spokes physical topology.

Run by an independent organization.

A typical Internet exchange offers:

Collocation for ISP routers

running BGP.

A high speed switched Ethernet

LAN (1-10 Gbps links) for the

interconnection of the ISP routers.

Dedicated links

Set up between 2 ISPs that agree to

interconnect their networks mesh

topology for AS interconnection.

AS2

AS4

AS3

AS5

Internet Exchange

Dedicated

links

AS1

Page 49: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 49

Border Gateway Protocol (BGP)

BGP: The inter-domain routing protocol of the Internet

"BGP is running on more than 100K routers (my estimate),

making it one of world’s largest and most visible distributed

systems". T. Griffin, 2002.

BGP evolution ("BGP was not designed, it evolved")

1989-1995: The beginnings.

1989: BGP-1 (RFC 1105) replaces EGP.

1990, 1991: BGP-2 (RFC 1163). BGP-3 (RFC 1267).

1995: BGP-4 (RFC 1771).

Uses CIDR, the new IP addressing & routing scheme. Deployed

all over the Internet during the following years.

So far, it scaled up quite well with the fast growth of the Internet.

2006: Updated BGP-4 specification, RFC 4271.

Tens of other RFCs describe various BGP-4 extensions

introduced in the mean time.

Page 50: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 50

Outline of BGP operation

Path vector routing protocol Similar to distance vector protocols.

BGP sessions

Routers establish a BGP session on a TCP

connection, exchange the current routes in the

BGP Routing Information Base (RIB), and then

send incremental updates of RIB changes.

Feasible routes.

Withdrawn routes.

BGP

session

AS1

R1

AS2

R2

BGP routing information (UPDATE message)

Feasible routes: Address prefixes reachable via the sender's

AS and an associated set of path attributes.

Withdrawn (infeasible) routes: Address prefixes of previously

announced routes that are not reachable anymore via the

sender's AS.

An UPDATE message can indicate both feasible routes and

infeasible routes.

Page 51: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 51

BGP path attributes

Path attributes

BGP selects a feasible "best" route to a destination based on

information provided in a set of attributes associated to each

path, including: loop detection, next hop, local preference, etc.

Well-known attributes

Must be recognized by all compliant BGP implementations.

Are propagated to other neighbors.

Well-known mandatory: Must be specified for all paths.

Well-known discretionary: May be omitted for some paths.

Optional attributes

Not required and not expected to be recognized by all BGP

implementations. If recognized they may be propagated to

other BGP routers, according to their meaning.

Optional transitive: If not recognized, may be propagated.

Optional non-transitive: If not recognized, must be discarded.

Page 52: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 52

Main BGP path attributes

Attribute Category Description

ORIGIN well-known

mandatory

Origin of the path information: 0 = intra-AS (IGP);

1 = EGP; 2 = incomplete (other means). Used to

assess the trust in the source of routing info.

AS_PATH well-known

mandatory

List of all the ASes on the path: AS_SEQUENCE,

AS_SET (AS_SET is needed for route aggregation).

Loop detection, in/out filtering, best path selection.

NEXT_HOP well-known

mandatory

Address of the router to be used as next hop on the

path to the specified prefix.

MULTI_EXIT_DISC

(MED)

optional non-

transitive

Value used in best path selection to discriminate

among multiple entry points of a neighboring AS.

LOCAL_PREF well-known Value of the degree of preference for this route.

Only used inside an AS (iBGP session, not eBGP).

COMMUNITY

(RFC 1997)

optional

transitive

32-bit tag that can be associated to any group of

prefixes in order to specify various policies (can be

structured as 16-bit AS number and 16-bit value).

Standard (e.g., NO_EXPORT) and custom policies.

Often used to control inbound traffic.

. . .

Page 53: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 53

BGP messages

BGP message Description

OPEN Used to establish a BGP session between two routers (includes

mutual identification and optional capabilities negotiation). Each

router sends an OPEN message, which is acknowledged (if

accepted) by a KEEPALIVE message.

KEEPALIVE Used to verify the liveness of the BGP session. A KEEPALIVE

message is sent if no other message was transmitted during

HoldTime/3 seconds. A BGP session is canceled if no message

was received during HoldTime seconds.

UPDATE Used to exchange routing information on a BGP session. Can

carry a set of feasible routes with common attribute-set (prefixes

and attribute-set), and/or a set of withdrawn routes (prefixes).

NOTIFICATION Used to inform the other BGP router of an error. After sending or

receiving this message a BGP session is closed.

ROUTE_REFRESH Message added in 2000 to enable a graceful restart of a BGP

session (e.g., when policies are reconfigured).

Page 54: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 54

BGP session overview

AS 100

R1

AS 200

R2

TCP connection establishment (to port 179)

OPEN (Version = 4, My-AS = 100, Hold-Time = 180,

BGP-Identifier = 10.1.3.1, Optional-Param.)

BGP session establishment

BGP BGP

Session

established

10.1.3.1 10.1.3.2

OPEN (Version = 4, My-AS = 200, Hold-Time = 180,

BGP-Identifier = 10.1.3.2, Optional-Param.)

Session

established Exchange of current routes in RIB

KEEPALIVE

KEEPALIVE

UPDATE (Path-Attributes-Len = ..., Path-Attributes = ...,

NLRI = 140.1.128.0/18, 160.2.0.0/16)

140.1.128.0/18

160.2.0.0/16 190.3.192.0/18

170.4.0.0/16

. . .

UPDATE (Path-Attributes-Len = ..., Path-Attributes = ...,

NLRI = 190.3.192.0/18, 170.4.0.0/16)

Incremental updates (RIB changes) using UPDATE:

- Announce new feasible routes.

- Withdraw infeasible routes.

Periodic KEEPALIVE messages (e.g., at Hold-Time/3)

NLRI = Network Layer

Reachability Information

= IP address prefix

Two routers establish a

BGP session only if they

are configured to do so.

Similarly, they exchange

only the routes that are

allowed by configuration

(i.e., according to the

policies of their ASes).

Page 55: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: BGP session setup

© Octavian Catrina 55

OPEN Message

and main parameters

KEEPALIVE Message

Page 56: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: BGP Update (1)

© Octavian Catrina 56

Prefix of the BGP route: 10.10.0.0/16

Attributes of the BGP route

to the prefix specified below

UPDATE Message advertising a

feasible route to 10.10.0.0/16

Page 57: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

Example: BGP Update (2)

© Octavian Catrina 57

Prefix of the withdrawn route:

10.20.0.0/16

UPDATE Message announcing a

withdrawn (infeasible) route to 10.20.0.0/16

A BGP UPDATE message can advertise feasible routes and also announce withdrawn routes

(previously advertised routes which are no longer feasible).

Page 58: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 58

BGP path vector routing (1)

AS 10

R1

AS 20

R2

BGP session setup

11.1.1.1

11.1.1.2

140.1.0.0/16

150.1.0.0/16 AS 30

R3 160.1.0.0/16 11.1.2.1

11.1.2.2

UPDATE (Prefix = 140.1.0.0/16,

AS_PATH = 10, NEXT_HOP = 11.1.1.1)

Router R1: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 internal . . .

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

Router R3: BGP routing table

Prefix AS_PATH NEXT_HOP

160.1.0.0/16 internal . . .

UPDATE (Prefix = 150.1.0.0/16,

AS_PATH = 20, NEXT_HOP = 11.1.1.2)

Router R1: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.1.2

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

140.1.0.0/16 10 11.1.1.1

The AS_PATH attribute lists the ASes on the path. It is used for loop

detection, for policy-based routing, and as basic path metric (AS count).

The NEXT_HOP attribute indicates the IP address of the router used to

reach the prefix.

R1 and R2 exchange the

current routes in their tables.

Page 59: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 59

BGP path vector routing (2)

AS 10

R1

AS 20

R2

11.1.1.1

11.1.1.2

140.1.0.0/16

150.1.0.0/16 AS 30

R3 160.1.0.0/16 11.1.2.1

11.1.2.2

Router R3: BGP routing table

Prefix AS_PATH NEXT_HOP

160.1.0.0/16 internal . . .

Router R1: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.1.2

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

140.1.0.0/16 10 11.1.1.1

BGP session setup

UPDATE (Prefix = 150.1.0.0/16,

AS_PATH = 20, NEXT_HOP = 11.1.2.1)

UPDATE (Prefix = 160.1.0.0/16,

AS_PATH = 30, NEXT_HOP = 11.1.2.2)

UPDATE (Prefix = 140.1.0.0/16,

AS_PATH = 20 10, NEXT_HOP = 11.1.2.1)

Router R3: BGP routing table

Prefix AS_PATH NEXT_HOP

160.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.2.1

140.1.0.0/16 20 10 11.1.2.1

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

140.1.0.0/16 10 11.1.1.1

160.1.0.0/16 30 11.1.2.2

We assume that AS 20 is the provider, and

AS 10 and AS 30 are its customers. AS 20

provides transit for its customers, hence it

announces the routes to them.

R2 and R3 exchange the

current routes in their tables.

Page 60: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 60

BGP path vector routing (3)

AS 10

R1

AS 20

R2

11.1.1.1

11.1.1.2

140.1.0.0/16

150.1.0.0/16 AS 30

R3 160.1.0.0/16 11.1.2.1

11.1.2.2

Router R1: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.1.2

Router R3: BGP routing table

Prefix AS_PATH NEXT_HOP

160.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.2.1

140.1.0.0/16 20 10 11.1.2.1

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

140.1.0.0/16 10 11.1.1.1

160.1.0.0/16 30 11.1.2.2

UPDATE (Prefix = 160.1.0.0/16,

AS_PATH = 20 30, NEXT_HOP = 11.1.1.2)

Router R1: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 internal . . .

150.1.0.0/16 20 11.1.1.2

160.1.0.0/16 20 30 11.1.1.2

Suppose that the BGP session between AS 20 and AS 30 is lost

(link failure, R3 restart, etc). Then, R2 removes from its table the

routes learned in this session and sends an update to R1.

UPDATE (Withdrawn-Routes = 160.1.0.0/16)

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

150.1.0.0/16 internal . . .

140.1.0.0/16 10 11.1.1.1

R1's table returns to previous state.

R2 sends an incremental

update to R1.

R2 sends an incremental

update to R1.

Page 61: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 61

BGP policy-based routing

Route import policies:

For each BGP peer

- Import filter selects the received

routes accepted from that peer.

- Path attribute manipulation

influences best route selection by

this BGP router.

Control of outbound traffic:

Imported route participates in the

selection of the best path toward

that prefix.

Route export policies:

For each BGP peer

- Export filter selects the routes

announced to that peer.

- Path attribute manipulation

influences the best route selection

by that peer.

Control of inbound traffic:

Announcing a route enables the

other AS to route traffic to that

prefix via this AS.

Received BGP

route updates

Sent BGP

route updates

Control outbound

traffic

BGP router

Control inbound

traffic

Best route

table

+ Import

policies

+ Export

policies

Page 62: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 62

Best route selection

Overview The algorithm operates on the set of routes in Adj-RIBs-In after

applying import policies (filter, tweak attributes, assign local

preference). It selects one best route for each destination.

Sequence of selection steps for each destination

Discard all the routes for which NEXT_HOP is inaccessible.

Discard all the routes for which AS_PATH contains the local AS or a loop.

Let n be the number of routes left.

If n>1, select the routes with the largest LOCAL_PREF.

If n>1, select the routes with the smallest number of ASes in AS_PATH.

If n>1, select the routes with the lowest ORIGIN (IGP<EGP<INCOMPLETE).

If n>1 and routes from the same AS, select the routes with the lowest MED.

If n>1 and a route learned from eBGP, discard routes learned from iBGP.

If n>1, select the routes with shortest path (local metric) to NEXT_HOP.

If n>1, select the route from the BGP speaker with the lowest BGP Id.

Page 63: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 63

Example: Route filtering

Peer

Customer Provider

Peer

AS1

AS2

Tier-2 ISP

AS3

Tier-1 ISP

AS5

Tier-1 ISP

AS7 AS6

All

routes Customer (AS1) &

internal routes (AS2)

AS4

Tier-2 ISP

Customer (AS1) &

internal routes (AS2)

BGP not

necessary

Customer (AS6) &

internal routes (AS4)

All routes

All routes

All

routes

Customer (AS6) &

internal routes (AS4)

BGP not

necessary

AS6

routes

AS6

routes Default route

Static route Default route

Static route

Note: Assume that AS2, AS3, AS4, AS5 have many other interconnections, not shown

in this picture. In particular, AS2 and AS4 are also connected to other Tier-1 and Tier-2

ISPs, and have many other customers.

Page 64: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 64

BGP route propagation in an AS

AS 10

AS 20

R3

11.1.1.1

11.1.1.2 AS 30

11.1.2.1

11.1.2.2

R1

R2

140.1.0.0/16

150.1.0.0/16

150.2.0.0/16

IGP? BGP

BGP

160.1.0.0/16 R4

10.0.0.1 10.0.0.2

Example

AS 20 has two border routers, R2 and R3.

How can R2 advertise to R3 the routes learned from R1?

How can R3 advertise to R2 the routes learned from R4?

AS 20 runs an IGP for interior routing.

Could this IGP distribute the BGP routes as well?

No. The IGP cannot carry the BGP path attributes and does not

scale up to BGP routing table size.

Solution: Propagate BGP routes within an AS using BGP.

Page 65: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 65

EBGP vs. IBGP

AS 10

AS 20

R3

11.1.1.1

11.1.1.2 AS 30

11.1.2.1

11.1.2.2

R1

R2

140.1.0.0/16

150.1.0.0/16

150.2.0.0/16

IBGP EBGP

EBGP

160.1.0.0/16 R4

10.0.0.1 10.0.0.2

EBGP session: BGP routers in different ASs

IBGP session: BGP routers in the same AS

EBGP session

● Directly connected routers (usually).

● Do not use LOCAL_PREF.

● Update AS_PATH, NEXT_HOP

attributes in advertised paths.

● Advertise the best route to each

destination. Usually, an export filter

for each session.

IBGP session

● Need not directly connect the routers.

● Use LOCAL_PREF attribute.

● No change to AS_PATH and

NEXT_HOP attributes.

● Advertise only best routes learned

from EBGP (not from IBGP, to avoid

loops). Usually, no export filter.

Full mesh of iBGP sessions.

Page 66: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 66

Example: EBGP + IBGP + IGP

AS 10

AS 20

R3

11.1.1.1

11.1.1.2 AS 30

11.1.2.1

11.1.2.2

R1

R2

140.1.0.0/16

150.1.0.0/16

150.2.0.0/16

IBGP EBGP

EBGP

160.1.0.0/16 R4

UPDATE (EBGP)

Prefix = 140.1.0.0/16,

AS_PATH = 10,

NEXT_HOP = 11.1.1.1

10.0.0.1 10.0.0.2

UPDATE (IBGP)

Prefix = 140.1.0.0/16,

AS_PATH = 10,

NEXT_HOP = 11.1.1.1,

LOCAL_PREF = 100

UPDATE (EBGP)

Prefix = 140.1.0.0/16,

AS_PATH = 20 10,

NEXT_HOP = 11.1.2.1 Note how the

path attributes

change during

route propagation

Router R2: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 10 11.1.1.1

Router R2: IP routing table

P Prefix INTF NEXT_HOP

BGP 140.1.0.0/16 E 11.1.1.1

- 11.1.1.0/30 E direct

- 10.0.0.0/30 S direct

- 150.1.0.0/16 W direct

IGP 150.2.0.0/16 S 10.0.0.2

IGP 11.1.2.0/30 S 10.0.0.2

Router R3: BGP routing table

Prefix AS_PATH NEXT_HOP

140.1.0.0/16 10 11.1.1.1

Router R3: IP routing table

P Prefix INTF NEXT_HOP

BGP 140.1.0.0/16 N 10.0.0.1

- 11.1.2.0/30 W direct

- 10.0.0.0/30 N direct

- 150.2.0.0/16 E direct

IGP 150.1.0.0/16 N 10.0.0.1

IGP 11.1.1.0/30 N 10.0.0.1

Page 67: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 67

Scaling up iBGP

How to scale up iBGP to a large domain?

Routes learned from an iBGP session cannot be advertised on

iBGP sessions, to avoid routing loops.

Hence we must set up a full mesh of iBGP speakers.

For N routers, each router must establish N-1 sessions, for a

total of N(N-1)/2 sessions. Does not scale up. ASes can have

100s of routers or more.

Solution 1: Confederations

Divide a large AS into smaller sub-domains.

Use an iBGP full mesh inside each sub-domain, and eBGP

between sub-domains.

Solution 2: Route reflectors

Establish one or more routers, called route reflectors, that

forward the iBGP routes to a cluster of other routers.

Page 68: Intra-domain and Inter-domain Routing Protocolsdiscipline.elcom.pub.ro/apin/Slides/apin_2.pdfIntra-domain vs. Inter-domain Routing Inter-domain routing protocols Exchange routing information

© Octavian Catrina 68

Route reflectors

From iBGP full mesh to iBGP with route reflector

iBGP

eBGP R2

R3

R1

iBGP

iBGP

eBGP

Full mesh iBGP iBGP with route reflector (RR)

iBGP

eBGP R2

R3

R1

iBGP

eBGP

RR

Interactions between a router reflector and its clients

R2 and R3 are configured as clients of the route reflector R1.

Clients establish iBGP sessions only with their route reflector.

When a route reflector receives a route update from its clients

or from eBGP, it computes the best route and then advertises it

to its clients.

eBGP eBGP