1
|
|
2
|
- Heard Ivan Gonzalez of Juniper’s presentation to routing wg July 2002 on
Calren 2547 mockup. Examined his configs, looked useful & feasible.
- MAX in 2002 was offering standard mix of routes from Abilene, DREN,
Esnet, vBNS, etc peerings. Everything working, nobody interested in
2547.
- But pressure from customers mounted to resell Qwest ISP service. Ran tests for 6 months with UMD as ISP
and GU as customer, and found routing problems. Mocked up 2547 topology on MAX’s
inexpensive lab routers, then deployed.
|
3
|
|
4
|
|
5
|
- Probably everyone’s heard “fish problem” talks & knows about policy
constrained routing issues.
- Don’t want to bore everyone with fish again, or characterizations of
atm/frame vs L2 vs L3 vpns. Many
people have done that better than I could
- This is from operational perspective:
what caused MAX to convert to them, what are pros and cons, why
regional (not just national) service providers might consider using
them.
|
6
|
- Policy Constrained Routing, Explicit Routing Objectives
- Solve long standing “fish problem” by use of single router node to
create multiple policies or “routing instances”
- Use more than destination as criteria for routing decision
- At minimum use Source (VPN membership or L3 Info) + Destination for
route decision
- Technology evolution offers solution
|
7
|
|
8
|
|
9
|
|
10
|
- 2547 is widely used by many national service providers to create overlay
networks to different customers.
Many run ip on edge, mpls in core.
- Should mention Cisco routers might have similar VRF capability. Don’t know, can’t speak to that.
- Yet gigapops don’t usually have overlay networks, and people usually
find workarounds to fish problems.
- But in this case we ran into a show-stopper that caused us to really
need to deploy them.
|
11
|
- They’re called Routing Instances (VRFs), but they AREN’T virtual
routers. JunOs has virtual
routers in 6.1
- 2547 vpns have only one iBGP.
What happens is that a Route Identifier and Target bgp
communities are added, putting routes into separate tables. IGP remains same.
- The catch is that interfaces need to be in one VRF or another. They can’t be in multiples. There are tricky workarounds with
next-table policies, but they didn’t work well in our situation. Customers don’t know about 2547.
- So since we ebgp with everyone, we establish second peerings with ISP
customers. A nuisance but it
works.
|
12
|
|
13
|
- We mark routes from upstreams with bgp communities, and use them to
subset which routes are advertised to downstream customers.
- Eg, everyone gets Abilene, Dren, Esnet, MAX, but only a few get vBNS
(yes, we still have)
- Started out doing same w/ ISP :
bgp community to control Qwest route advertisement.
- Then discovered that we were blackholing traffic from certain non-Qwest
customers eg NLM.
|
14
|
- We found that the main problem was gigapops who advertise unequal prefix
length announcements to their ISP and Abilene. If everyone’s were equal
would be fine.
- But we discovered that it’s unfortunately fairly common for GPs to
aggregate towards Abilene and not aggregate or aggregate less towards
their ISPs, very undesirable
- So when NLM saw a route and sent traffic to MAX, a more specific Qwest
route not advertised to them could take precedence, and yet they hadn’t
subscribed to Qwest ISP . So that
traffic would be dropped.
- After some attempts to get sources to fix it we gave up.
|
15
|
- Most gigapops have only one service offering, and give everyone a mix of
I2 and ISP routes.
- The problem would only get worse once we had customers not subscribed to
Abilene (now do).
- There wasn’t an easy way out that could “get back” routes not preferred
by bgp when sub-setted by bgp communities for advertisement.
- We had seen same issue in minor way with vBNS, but NGIX Abilene/vBNS
peering solved it
- Lots of folks run 2547, and Juniper supports well
|
16
|
- Went quite smoothly. We had
Ivan’s configs that had worked with Calren mockup. Ben Eater of Juniper gave lots of
help, but we mocked up ourselves in our lab.
- Main issue was what to do about the dual peering issue. Since we bgp with everyone except 2
downtown offices, decided to simplify to make everyone same. One went away and Ucaid/dc converting
soon. Lots would be prob
- Basically, we turned on new VRF, ran for awhile, no issues, then turned
on Qwest peering & new custs.
- Did cheat and keep existing inet.0:
Juniper recommends doing everything as VRFs. Better but nasty cutover.
|
17
|
|
18
|
- Two virtual circuit requirement is biggest. We couldn’t have done it if we had
lots of statics to small customers.
Ethernet easy, yet carriers like Yipes don’t support trunking and
multiple vlans. Sonet & DSXs
need frame relay encap for dlcis.
- Also have get used to tracing & pinging within other routing tables,
& oddities about source ints
- And what MPLS is doing can be fuzzy with core and edge routers same,
like nat net in 4 boxes.
- Plus your bgp becomes unusual, eg Arbor mons
|
19
|
- routing-instances {
- Q {
- instance-type vrf;
- /* UMD-ISP */
- interface ge-2/2/0.1;
- /* GU-ISP */
- interface at-1/0/0.4;
- /* HHMI-ISP */
- interface ge-2/2/1.6;
- route-distinguisher
206.196.177.246:1;
- vrf-import QWEST-IMPORT;
- vrf-export QWEST-EXPORT;
- routing-options {
- rib Q.inet.0 {
- aggregate {
- route
206.196.176.0/21 {
- community
10886:1; passive
|
20
|
- protocols {
- bgp {
- group ISP {
- type external;
- export [
AGGREGATE-ROUTES NO-MAX-SPECIFICS ];
- neighbor
206.196.177.50 {
-
description UMD-ISP;
- import
from-UMD;
- export [
DEFAULT MAX QWEST REJECT ];
- peer-as
27;
- neighbor
206.196.177.154 {
-
description HHMI-ISP;
- import
from-HHMI;
- export [
NO-DEFAULT QWEST REJECT ];
- peer-as
16692community QWEST members 10886:8;
|
21
|
- policy-statement QWEST-IMPORT
{
- term 10 {
- from community
QWEST-VRF then accept;
- term 20 then reject
- policy-statement QWEST-EXPORT
{
- term 10 {
- then community add QWEST-VRF; accept;
- community ABILENE members
10886:3;
- community DREN members
10886:5;
- community ESNET members
10886:6;
- community MAX members 10886:1;
- community NISN members
10886:4;
- community NREN members
10886:9;
- community QWEST members
10886:8;
- community QWEST-CUST members
209:209;
- community QWEST-VRF
members target:209:1;
- community VBNS members
10886:2;
|
22
|
- Sure. Wasn’t that hard, no real
war stories, didn’t cost anything except time to scope it out.
- Solves problem nicely, caused by our being late into ISP resale, and
reselling each separately.
- Can have as many overlay nets as we want for different service offerings
(mostly different ISPs)
- Might also be handy if don’t want to mix lost-cost ISP routes (eg
Cogent) w/higher cost (eg Qwest)
- Might be trickier for GPs with lots of small custs
|
23
|
|