250.15.0, BECAUSE IT WILL NOT SYNC UP WITH OSPF DUETO THE DIFFEREN...

203.250.15.0, because it will not sync up with OSPF due

to the difference in masks. I will also keep sync off on RTB

in order for it to advertise 203.250.13.0 for the same reason.

Let us bring RTB’s s1 up and see what all the routes will look

like. I will also enable OSPF on serial 1 of RTB and make it

passive in order for RTA to know about the nexthop 192.208.10.5

via IGP. Otherwise some looping will occur because in order to

get to nexthop 192.208.10.5 we would have to go the other

way via EBGP. The updated configs of RTA and RTB follow:

RTA#

hostname RTA

ip subnet-zero

interface Loopback0

ip address 203.250.13.41 255.255.255.0

interface Ethernet0

ip address 203.250.14.1 255.255.255.0

interface Serial0

ip address 128.213.63.1 255.255.255.252

router ospf 10

redistribute bgp 100 metric 2000 subnets

passive-interface Serial0

network 203.250.0.0 0.0.255.255 area 0

RTB#

hostname RTB

ip address 203.250.15.2 255.255.255.252

interface Serial1

ip address 192.208.10.6 255.255.255.252

redistribute bgp 100 metric 1000 subnets

passive-interface Serial1

network 192.208.0.0 0.0.255.255 area 0

router bgp 100

no synchronization

network 203.250.15.0

neighbor 192.208.10.5 remote-as 300

neighbor 203.250.13.41 remote-as 100

And the BGP tables look like this:

RTA#sh ip bgp

BGP table version is 117, local router ID is 203.250.13.41

Status codes: s suppressed, d damped, h history, * valid, > best,

i -internal Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 128.213.0.0 128.213.63.2 0 0 200 i

*>i192.208.10.0 192.208.10.5 0 100 0 300 i

*>i195.211.10.0 192.208.10.5 100 0 300 500 i

* 128.213.63.2 0 200 400 500 i

*> 200.200.10.0 128.213.63.2 0 200 400 i

*> 203.250.13.0 0.0.0.0 0 32768 i

*> 203.250.14.0 0.0.0.0 0 32768 i

*>i203.250.15.0 203.250.15.2 0 100 0 i

RTB#sh ip bgp

BGP table version is 12, local router ID is 203.250.15.10

*>i128.213.0.0 128.213.63.2 0 100 0 200 i

* 192.208.10.5 0 300 500 400

200 i

*> 192.208.10.0 192.208.10.5 0 0 300 i

*> 195.211.10.0 192.208.10.5 0 300 500 i

*>i200.200.10.0 128.213.63.2 100 0 200 400 i

* 192.208.10.5 0 300 500 400 i

*>i203.250.13.0 203.250.13.41 0 100 0 i

*>i203.250.14.0 203.250.13.41 0 100 0 i

*> 203.250.15.0 0.0.0.0 0 32768 i

There are multiple ways to design our network to talk to the two

different ISPs AS200 and AS300. One way is to have a primary ISP and a

backup ISP. We could learn partial routes from one of the ISPs and

default routes to both ISPs. In this example, I have chosen to receive

partial routes from AS200 and only local routes from AS300.

Both RTA and RTB are generating default routes into OSPF with RTB

being more preferred (lower metric). This way I could balance outgoing

traffic between the two ISPs.

Potential asymmetry might occur if traffic going out from RTA comes back

via RTB. This might occur if you are using the same pool of IP

addresses (same major net) when talking to the two ISPs. Because of

aggregation your whole AS might look as one whole entity to the

outside world and entry points to your network could occur via RTA

or RTB. You might find out that all incoming traffic to your AS is

coming via one single point even though you have multiple points

to the internet. In our example, I have chosen two different major

nets when talking to the two ISPs.

One other potential reason for asymmetry is the different advertised

path length to reach your AS. One service provider might be closer to

ip address 203.250.14.1 255.255.255.0

network 128.213.0.0 0.0.255.255 area 0

default-information originate metric 2000

network 203.250.13.0

network 203.250.14.0

neighbor 128.213.63.2 remote-as 200

neighbor 128.213.63.2 route-map setlocalpref in

neighbor 203.250.15.2 remote-as 100

neighbor 203.250.15.2 update-source Loopback0

ip classless

ip default-network 200.200.0.0

route-map setlocalpref permit 10

set local-preference 200

On RTA, the local preference for routes coming from AS200 is set

to 200. I have also picked network 200.200.0.0 to be the candidate

default, using the “ip default-network” command.

The “default-information originate” command is used with OSPF to

inject the default route inside the OSPF domain. This command is

also used with ISIS and BGP. For RIP, 0.0.0.0 is automatically

redistributed into RIP without additional configuration. For IGRP

and EIGRP, the default information is injected into the IGP

domain after redistributing BGP into IGRP/EIGRP. Also with

IGRP/EIGRP we can redistribute a static route to 0.0.0.0 into the

IGP domain.

RTF#

hostname RTF

ip address 203.250.14.2 255.255.255.0

ip address 203.250.15.1 255.255.255.252

interface Loopback1

ip address 203.250.15.10 255.255.255.252

!

network 192.208.10.6 0.0.0.0 area 0

default-information originate metric 1000

For RTB, the local preference for updates coming in from AS300 is set

to 300 which is higher than the IBGP updates coming in from RTA. This

way AS100 will pick RTB for AS300’s local routes. Any other routes on

RTB (if they exist) will be sent internally with a local preference of

100 which is lower than 200 coming in from RTA, and this way RTA will be

preferred.

Note that I have only advertised AS300’s local routes. Any path info

that does not match ^300$ will be dropped. If you wanted to advertise

the local routes and the neighbor routes (customers of the ISP) you

can use the following: ^300_[0-9]*

This is the output of the regular expression indicating AS300’s local

routes:

RTB#sh ip bgp regexp ^300$

BGP table version is 14, local router ID is 203.250.15.10

Status codes: s suppressed, d damped, h history, * valid, > best, i -

internal

Origin codes: i - IGP, e - EGP, ? - incomplete

*> 192.208.10.0 192.208.10.5 0 300 0 300

RTC#

hostname RTC

ip address 128.213.63.130 255.255.255.192

interface Serial2/0

ip address 128.213.63.5 255.255.255.252

interface Serial2/1

ip address 128.213.63.2 255.255.255.252

router bgp 200

network 128.213.0.0

aggregate-address 128.213.0.0 255.255.0.0 summary-only

neighbor 128.213.63.1 remote-as 100

neighbor 128.213.63.1 distribute-list 1 out

neighbor 128.213.63.6 remote-as 400

access-list 1 deny 195.211.0.0 0.0.255.255

access-list 1 permit any

On RTC, I have aggregated 128.213.0.0/16 and indicated the specific

routes to be injected into AS100. If the ISP refuses to do this task

then you have to filter on the incoming end of AS100.

RTD#

hostname RTD

ip address 192.208.10.174 255.255.255.192

interface Serial0/0

ip address 192.208.10.5 255.255.255.252

interface Serial0/1

ip address 192.208.10.2 255.255.255.252

router bgp 300

network 192.208.10.0

neighbor 192.208.10.1 remote-as 500

neighbor 192.208.10.6 remote-as 100

RTG#

hostname RTG

ip address 195.211.10.174 255.255.255.192

ip address 192.208.10.1 255.255.255.252

ip address 195.211.10.1 255.255.255.252

router bgp 500

network 195.211.10.0

aggregate-address 195.211.0.0 255.255.0.0 summary-only

neighbor 192.208.10.2 remote-as 300

On RTG, I have demonstrated the use of community filtering by adding a

no-export community to 195.211.0.0 updates towards RTD. This way RTD

will not export that route to RTB. It doesn’t matter in our case because

RTB is not accepting these routes anyway.

RTE#

hostname RTE

ip address 200.200.10.1 255.255.255.0

ip address 195.211.10.2 255.255.255.252

ip address 128.213.63.6 255.255.255.252

router bgp 400

network 200.200.10.0

aggregate-address 200.200.0.0 255.255.0.0 summary-only

neighbor 128.213.63.5 remote-as 200

neighbor 195.211.10.1 remote-as 500

RTE is aggregating 200.200.0.0/16.

And following are the final bgp and routing tables for RTA, RTF and RTB:

BGP table version is 21, local router ID is 203.250.13.41

*> 128.213.0.0 128.213.63.2 0 200 0 200 i

*>i192.208.10.0 192.208.10.5 0 300 0 300 i

*> 200.200.0.0/16 128.213.63.2 200 0 200 400 i

RTA#sh ip rou

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * -

candidate default

Gateway of last resort is 128.213.63.2 to network 200.200.0.0