Routing protocols are like aging drug-addicted grunge rock stars. Just when you think they’ve come clean and are back on the straight and narrow, they start to show up at premiers and Oscar parties hanging out of clothes they stole from the homeless lady at the freeway offramp . . . or they accept a bad route and start blackholing traffic. So we sent RouterGod reporter Barrie Cook to ask Courtney Love to give us some insight into the vagaries (and vagrancies) of BGP:




Courtney Love wants the world to know she’s still hot stuff. Either that, or, she’s pointing to where she wants the next tab.

BC: Hello Courtney, thanks for taking the time out of your busy schedule to meet with me today.

CL: Zzzzzzzz…

BC: Courtney?

CL: Wha ..? Oh, hi. Was jus’ restin’ my eyes. Who’re you again?

BC: I’m here from RouterGod, to interview you about BGP.

CL: Oh yeah! BPG! OK, so here’s the thing. BPG, I mean BGP, lets your router talk to other routers outside your network.

BC: Outside? What do you mean?

CL: Well, you know, you have that AS thingy, um…Autonomous System, yeah! And maybe you want to have two ways to get out of it, you know? Like, in case one of them goes down, then you have another way to get out.

So you can’t just use a default route. And you can’t use RIP or EIGRP to learn routes outside it, you know? Cuz they’re just for inside your network. So you have to have an outside gateway protocol. I mean, exterior gateway protocol. Like BPG! Um, BGP.

BC: OK, so you’re saying since I already have OSPF running inside my AS, and I need to be multihomed to two transit providers, then I need to use BGP?

CL: Uh, yeah. And here’s the kicker—you have to have BGP running inside your AS, too, on top of OSPF. That’s called interior BGP—iBGP for short.

BC: I’m confused.

CL: Me too. All the drugs, you know? But don’t worry—you’ll get used to it . . .Where was I?

BC: iBGP.

CL: Oh! Right—you have to have all those outside routes in iBGP so that when you need to get to one of ‘em, you know which of your inside routers to use to get to it. That’s called the next hop. Cuz, maybe you have two border routers (you know, on the border of your AS), and they are the ones that get all the outside routes—that’s called eBGP, the “e” is for “external”. But if you’re on an access router—you know, way inside your AS, where your customers connect to you—you can see from the iBGP table that your destination is outside the AS, and part of the BGP information for each route is the next hop address. That tells you which of the border routers is the one you need to send the traffic to. And to know how to get to the border router from the access router, you have to have a route to it in OSPF.

BC: So, I have iBGP running so that I know which border router to get to for each outside route. And, I still have to keep OSPF running so that I know how to get to the border routers.

CL: You got it! And, guess what? Your iBGP neighbors also have to be in a full mesh! Kinda like these stockings I got from the lady at the Melrose offramp—see the little black X’s they make on my knee when I bend it like this?

BC: Yes, they’re very . . . um, disturbing. But doesn’t a full iBGP mesh get to be too big if you have a lot of routers?

CL: Yeah, yeah—whatever. There are tons of other things in BGP you can do to get around that, like route reflectors and confederations. Anyway, you want a full mesh or confederations or whatever, cuz if you didn’t you would have to do something dumb like redistribute BGP into OSPF or something—and it’s like 180,000 routes now so most people don’t do that. So they turn off this stupid Cisco default called “synchronization” and just have a full iBGP mesh. Hey, do you have any painkillers in that backpack?


Courtney Love just hanging out at Vanity Fair.

BC: No, sorry. I’m fresh out. So, how does BGP work anyway? Is it a link-state protocol?

CL: Easy, chick, with the questions! You and all these big words are giving me a headache. You sure you don’t have any painkillers in there? Anyway, it’s more like a distance vector protocol. I mean, the number of hops in the AS path is the distance vector—the best routes have the shortest AS path.


Courtney shows what can happen when you don’t have a full mesh.

BC: OK, well, I know this is a stretch, but could you possibly tell me how to configure BGP?

CL: Sure thing, sister! I’m not as drug-addled as I look. I was in escalation at the WorldCom NOC back in the late 90’s, after Hole fell apart. Anyone could get a networking job in those days! So here’s what you do. First, enable BGP and turn off synchronization, and then start settin’ up those neighbors, baby! Don’t forget to set them up on all your inside routers too, so you have a mesh. Let’s pretend your AS number is 65535, and your routers’ loopback addresses are in the 10.1.1.0/24 network. Now just go into configure terminal mode–you know, “conf t”–and start typing BGP commands:


router bgp 65535
  no synchronization
  neighbor 10.1.1.2 remote-as 65535
  neighbor 10.1.1.2 update-source Loopback0

See, if you wanna use those loopbacks as your BGP neighbor addresses, you gotta make sure the updates come from the loopback. Then, on your border router, say your transit provider’s AS is 65001, and the far end of your link to them is 172.16.19.111:


router bgp 65535
  no synchronization
  neighbor 10.1.1.2 remote-as 65535
  neighbor 10.1.1.2 update-source Loopback0
  neighbor 172.16.19.111 remote-as 65001

Now, do a “show ip bgp summary” and make sure they’re up and getting routes (you can just skip down to the part where the neighbors show up):


Neighbor      V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down State/PfxRcd
10.1.1.2      4 65535 4775841  206453 20341277    0    0   2w2d             4
10.1.1.3      4 65535 6993647 6138407 20341277    0    0   2w6d            32
10.1.1.4      4 65535  208510 6416731 20341277    0    0  10w2d           198
172.16.19.111 4 65001  206914 6153319 20341277    0    0  18w0d        184475

That’s it! I know, I know, a lot of Cisco nerds will tell you that you’re not done—there are tons of other things you’re supposed put in your BGP config for Best Practices, like prefix-lists and dampening, blah blah blah. But at this point you’re a BGP speaker. What more do you want?

BC: Well, thanks Courtney. But I think I’d like to know what those Best Practices are.

CL: Oh, go ask some pencil-necked putz over at the IETF—I found a Percodan down here between the couch cushions. Hey! F@#$%@ cow! Give that back!

BC: Not until you tell me what I should put in my BGP config. Now that was a very rude gesture, but I’m still waiting.

CL: Just go look at Cisco’s SAFE guidelines, you stupid wench!


Courtney tells her lawyer she doesn’t want to do anymore RouterGod interviews.

BC: All right, here’s your precious Percodan. Thanks for the interview.

CL: Thanks for nothin’! You . . . uh . . . ahhhh . . . zzzzzzzzzzzzzzzzzz…