43
Border Router Discovery Protocol and BRDP Based Routing (my sponsor) Exit routing for multi-homed networks Teco Boot -18 November 2008 IPv6 Operations (v6ops) 1

Border Router Discovery Protocol and BRDP Based Routing

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Border Router Discovery Protocol

and BRDP Based Routing

(my sponsor)

Exit routing for multi-homed networks

Teco Boot - 18 November 2008

IPv6 Operations (v6ops)

1

BRDP Based Routing

marketing ☺☺☺☺ data sheet

� Built on well known protocols such as IPv6 Neighbor Discovery and

Policy Based Routing

� Works with all IGPs

� Full support for multi-homing with Provider Independent (PI) and

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Full support for multi-homing with Provider Independent (PI) and

Provider Aggregatable (PA) addresses

� Helps scaling the Internet by removing need for PI addresses

� Border Router load balancing

� Automatic ingress filter on first hop routers

� No tunnels, routing headers or any other encapsulation

� Extensible for ad hoc networking

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2

BRDP Based Routing

marketing ☺☺☺☺ data sheet page 2

List of incompatible protocols:

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

gIE

TF

-73

-B

RD

P a

nd

BR

DP

Ba

sed

Ro

uti

ng

3

BRDP Based Routing

Introduction

Analysis of the problem

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Analysis of the problem

How does it work?

Next steps

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

4

BR

Internet

Edge

Provider

PE

CPE

My illustrations are simplified

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Border Router (BR) is a router connecting

an edge network to an ISP

� In practice, there is a Provider Edge (PE)

and Customer Premises Equipment

router

� CPE – PE protocols are out of scope for

this presentation

� PE may (should!) have ingress filterEdge

Network

Customer

Edge

network

BR

BR

R

R

R

R

R

RR

R

R

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� PE may (should!) have ingress filter

5

Internet

My illustrations are simplified

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� ISPs have their networks. Details on

this are not important for BRDP Based

Routing

� Note the colors: Provider A is red,

provider B is blue

Edge

network

ISP-a

BRBRBR-bBR-a

ISP-b

Edge

network

Internet

BRBRBR-bBR-a

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

6

Problems with multi-homed networks

Problem #1: How do site interior routers quickly learn which ISP uplink

routing prefixes are currently valid ?

Problem #2: If one wants the end host to make the upstream ISP

selection, how does one provide enough information about (bandwidth,

cost, current availability, congestion) of the various upstream links to the

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

cost, current availability, congestion) of the various upstream links to the

end hosts so that they can make a good decision ?

Problem #3: If an end host selected an upstream ISP, how can the routing

system direct traffic to this ISP ?

Text problem #1 and #2: Ran Atkinson

See also RFC 5220: Problem Statement for Default Address Selection in Multi-Prefix

Environments: Operational Issues of RFC 3484 Default Rules

And RFC 5221: Requirements for Address Selection Mechanisms

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

7

Problems with default gateway routing

in a multi-homed network

� Next hop selection is based on destination address

� Multiple DGWs (default gateways):

� Source has no influence on what DGW is used for sent traffic

� Three options (at least)

– Single DGW is used

– Packet load balancing

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

– Packet load balancing

– Flow load balancing

� Seen from source perspective: used BR (Border Router) is guesswork

� BRs may have ingress filters

� Result:

In a multi-homed network, outgoing traffic could be blocked on BR when

Source Address does not correspond with delegated prefix of used BR

See also “Ingress filtering incompatibility” problem, draft-ietf-shim6-ingress-filtering-00.txt (Oct-2006)

and RFC3704 section 4.3. “Send Traffic Using a Provider Prefix Only to That Provider”

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

8

BRDP Based Routing

Introduction

Analysis of the problem

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Analysis of the problem

How does it work?

Next steps

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

9

Single-homed edge network:

no problems ☺

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

InternetCN

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

10

BR

Edge

network

Node2

BR-a

Node1

InternetCN

Multi-homed edge network

with traffic blocked by ingress filter

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

Edge

network

Node2

BR-bBR-a

Node1

Blocked!

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Known solutions:

1. Traffic from Node2 is forwarded

to BR-a

2. BR-b accepts BR-a owned

source addresses

3. Node2 starts new connection

with prefix from BR-b

4. Address translation

But are any of these implemented?

What are the issues ? 11

Multi-homed MANET

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

InternetCN

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

MANET

LFN2

BR-b

BR-a

LFN1

Here, BRDP was born.

So far, so good. But:

12

In a MANET, things can move!

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

InternetCN

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

MANET

LFN2

BR-b

BR-a

LFN1

Blocked!

� MANET routing

protocol converges to

reflect the movement

� LFN is not aware of

movement

13

InternetCN

Solution #1:

Direct traffic to BR that owns SA prefix

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

Edge

network

Node2

BR-bBR-a

Node1

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Feature of BRDP Based Routing!

14

InternetCN

Solution #2:

Adjust BR-b ingress filter for prefix BR-a

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

Edge

network

Node2

BR-bBR-a

Node1

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Not sure ISP is cooperative, so

this is not the goal

15

InternetCN

Solution #3:

Select a SA that corresponds to BR used

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BR

Edge

network

BR-a

Node1 Node2

BRBR-b

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Node2 would use “metrics” of

BRs

Session continuity problems:

• In a MANET because of

movements

• In edge network because of

failures or renumbering

16

InternetCN

Solution #4:

Address translation on BRs

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BR

Edge

network

BR-a

Node1 Node2

BRBR-b

17

Issues with IP header

authentication and addresses

in payload

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Internet .CN

Goal: support for multi-homed edge

networks with multi-homed nodes

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBR

Edge

network

Node2

BR-bBR-a

Node1

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Feature of BRDP and BRDP Based

Routing!

Benefits depend on transport layer

or application layer adjustments

Download your files twice as fast!

18

BRDP Based Routing

Introduction

Analysis of the problem

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Analysis of the problem

How does it work?

Next steps

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

19

Solution for problem #1

How do site interior routers quickly learn which uplink routing prefixes are

currently valid ?

� Border Router Discovery Protocol (BRDP):

� Provides valid prefix information to interior routers

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Provides valid prefix information to interior routers

� Distributes Border Router Information Option (BRIO) via Neighbor

Discovery Router Advertisements.

� BRIOs are distributed in the edge Network

� BRIOs provide metrics for paths from and to DFZ (Default-Free Zone)

� BRDP uses link metrics from routing protocol or other source

– Use link metrics for both directions

� BRIOs provide DHCP relay information

� BRDP is a Distance-Vector protocol

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

20

BRIO flooding using Neighbor

Discovery Router Advertisements

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Internet

� Routers already send RA

� BRIOs piggy-backed on RA

Results:

1. All routers learn prefixes

for BRs, with metric

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBRBR-bBR-a

RR

RR R

RR

RR

for BRs, with metric

information

2. All routers learn DHCP

addresses for relay or

prefix delegation

21

BRIO flooding with scoping

(needed in large MANETs)

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Internet � BRDP has its roots in Autoconf (Ad-

Hoc Network Autoconfiguration).

� In a MANET, overhead reduction is

essential

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRBRBR-bBR-a

RR

RR R

RR

RR

essential

� Reduction of forwarded BRIO set is

acceptable, as only the best paths

would be used

22

BRIO format

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length | Prefix Length |A|F|E|L|S|D|R|r|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number | Hopcount | reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Uniform Path Metric |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| reserved |

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

D=1: BR is DHCP server or relay

| reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Border Router Address +

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BR address and valid prefix for this BRMetric for this prefix

Is a bidirectional metric between

DFZ and this BR

23

RA with Prefix Information and BRIOs+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length | Prefix Length |L|A| Reserved1 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Valid Lifetime |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Preferred Lifetime |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Reserved2 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Prefix +

| |

+ +

| |

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Prefix Information option

Router initiated

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

~ ~

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length | Prefix Length |A|F|E|L|S|D|R|r|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number | Hopcount | reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Uniform Path Metric |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Border Router Address +

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

BRIO

BR initiated

24

RA in edge network with 3 uplinks

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Prefix Information

ISP-a

Prefix Information

ISP-b

Prefix Information

ISP-c

OK, the RA packet size

increases.

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

ISP-c

BRIO

ISP-a

BRIO

ISP-b

BRIO

ISP-c

25

Solution for problem #2

If one wants the end host to make the upstream ISP selection, how does

one provide enough information about the various upstream links

(bandwidth, cost, current availability, congestion) to the end hosts so

that they can make a good decision ?

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Prefix Information option in Router Advertisements:

� Advertize only prefixes that have the best BRIO metrics

� Revoked prefixes fade out slowly

� Border Router Discovery Protocol (BRDP):

� Hosts may use BRDP information for Source Addresses selection

algorithm

� SA selection for new connections and for load balancing over BRs

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

26

Relation between SA,

RA Prefix and BRIO+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length | Prefix Length |L|A| Reserved1 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Valid Lifetime |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Preferred Lifetime |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Reserved2 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Prefix +

| |

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Source Address

corresponds to a RA Prefix

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

~ ~

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Length | Prefix Length |A|F|E|L|S|D|R|r|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number | Hopcount | reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Uniform Path Metric |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| reserved |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Border Router Address +

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

RA Prefix corresponds

to a BRIO

BRIO metric can be used for

SA selection

(RFC3484 precedence)27

Solution for problem #3

If an end host selected an upstream ISP, how can the routing system direct

traffic to this ISP ?

� Packets must have an earmark for indicating the to-be-used Border

Router

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Source Address or additional tag (routing header, encapsulation)

� BRDP Based Routing:

Edge networks, forwarding based on FIB and SA / BRIO cache

� Border Router Routing Header (work in progress):

Ad hoc networks without IGP, forwarding based on

• BRDP neighbors, for traffic towards BR

• FIB, maintained by BR Routing Header, for reverse path

This presentation only discusses BRDP Based Routing IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

28

Legacy Internet Routing

RFC1812; Section 5.2.1.2 Unicast:

(5) The forwarder determines the next hop IP address for the packet,

usually by looking up the packet's destination in the router's

routing table. This procedure is described in more detail in

Section [5.2.4]. This procedure also decides which network

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Section [5.2.4]. This procedure also decides which network

interface should be used to send the packet.

RFC1812; 5.2.4.3 Next Hop Address

(5) Default Route: This is a route to all networks for which there

are no explicit routes. It is by definition the route whose

prefix length is zero

� If a default route exists, legacy routing is used.

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

29

BRDP Based Routing

� With BRDP Based Routing, the default route is removed.

� New heuristic for finding a next hop, only used when first FIB lookup

didn’t find a nexthop:

(6) BRDP Route: This is a route to all networks for which there

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

(6) BRDP Route: This is a route to all networks for which there

are no explicit routes, and a default route is not used.

The nexthop IP address is found by means of a Border Router

Information Cache (BRIO-Cache) lookup based on the source

address and, if a matching BRIO-Cache entry is found, a

subsequent FIB lookup based on the selected Border Router

address.

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

30

← My example

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE

==================| Internet |==================

| |2001:db8:1000::/36 | | 2001:db8:8000::/36

+----+-+ +-+----+

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

31

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

| ISP1 | | ISP2 |+----+-+ +-+----+

| |2001:db8:1000:::/48 | | 2001:db8:8000::/48

+-----+---+ +----+----+| Router1 | | Router2 |+-------+-+ +-+-------+

| |2001:db8:1000:1::/64 | | 2001:db8:8000:1::/64

| |-----+-+-----+------

|+-+----+ 2001:db8:1000:1::100| Host | 2001:db8:8000:1::100+------+

Figure 1

RFC 5220:

Example

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

32

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE

Example - FIB

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

33

All internal routes are found in FIB

Forwarding based on DA

No default route !!

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Example

BRIO-Cache

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

34

Border Router information,

with sender info and metrics

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Node-a or Node-b

sends to Node-4

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

Node-4

2001:DB8:B:4::4

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

35

1) 2001:DB8:B:4::4 in FIB?

Yes

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Node-a sends to

Babe

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

36

1) 2001:DB8:BABE::BABE in FIB?

NO

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Node-a sends to

Babe

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

37

2) 2001:DB8:A:3::A match in BRIO Cache?

YES: 2001:DB8:A::A

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Node-a sends to

Babe

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

38

3) 2001:DB8:A::A in FIB?

YES: 2001:DB8:A::/64 -> FE80::1

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE Node-b sends to

Babe

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::1

Node-a

2001:DB8:A:3::A

Node-b

2001:DB8:B:3::B

2001:DB8:A:3::3/64

2001:DB8:B:3::3/64

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

39

1: 2001:DB8:BABE::BABE in FIB: NO

2: 2001:DB8:B:3::B match in BRIO Cache :

Yes, 2001:DB8:B::B

3: 2001:DB8:B::B in FIB: Yes, FE80::2

Internet

BRBR BR-b

2001:DB8:B::B/48

BR-a

2001:DB8:A::A/48

1 2

3

4100

150

100

2001:DB8:BABE:::BABE

Bad sends to Babe

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

FIB R3:2001:DB8:A::/64 -> FE80::1 # BR-a

2001:DB8:A:1::/64 -> FE80::1

2001:DB8:A:2::/64 -> FE80::2

2001:DB8:A:3::/64 -> local

2001:DB8:B::/64 -> FE80::2 # BR-b

2001:DB8:B:1::/ 64 -> FE80::12001:DB8:A:3::3/64

2001:DB8:B:3::3/64

2001:DB8:BAD::BAD

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

2001:DB8:B:1::/ 64 -> FE80::1

2001:DB8:B:2::/ 64 -> FE80::2

2001:DB8:B:3::/ 64 -> local

2001:DB8:B:4::/ 64 -> FE80::2

BRIO Cache R3:2001:DB8:A::A/48 <= FE80::1 metric 100

2001:DB8:A::A/48 <= FE80::2 metric 250

2001:DB8:B::B/48 <= FE80::2 metric 150

2001:DB8:B::B/48 <= FE80::1 metric 200

40

1: 2001:DB8:BABE::BABE in FIB: NO

2: 2001:DB8:BAD::BAD match in BRIO Cache : NO

3: DROP

BRDP Based Routing

Introduction

Analysis of the problem

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Analysis of the problem

How does it work?

Next steps

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

41

Next steps

� Support for IPv4 (not that difficult, but IPv4 is not as flexible as IPv6)

� Finish BRDP implementation (Linux, Opnet)

� Implement BRDP Based Routing (Linux, Opnet)

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

� Post document for BRDP based Source Address Selection

� Continue research on Border Router Routing Header

� Website:

http://www.inf-net.nl/brdp.html

� Any help is welcome !

� Any comment is welcome !

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

42

Thanks for your attention !

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

Thanks for your attention !

IET

F-7

3 -

BR

DP

an

d B

RD

P B

ase

d R

ou

tin

g

43