My book: 'Running IPv6' by Iljitsch van Beijnum BGPexpert My book: 'BGP' by Iljitsch van Beijnum

Home · BGP Expert Test · What is BGP? · BGP Vendors · Links · Archives · Books · My BGP Book

BGP (advertisement)

Table of contents (for this page):

BGP and IPv6 routing courses

Several times a year I teach two training courses, one about BGP and one about IPv6. The BGP course is half theory and half hands-on practice, and so is the new IPv6 routing course. Previously, we did an IPv6 course without a hands-on part.

The courses consists of a theory part in the morning and a practical part in the afternoon where the participants implement several assignments on a Cisco router (in groups of two participants per router).

The next dates are October 6 for the BGP course in English and October 7 for the IPv6 routing course in English. (There will be dates for the courses in Dutch later in 2014 or early 2015.) Go to the NL-ix website to find more information and sign up. The location will be The Hague, Netherlands.

Interdomain Routing & IPv6 News

  • Search for: in news only
  • BGP and IPv6 routing training courses on 6 and 7 October (posted 2014-07-16) article 144

    I've been teaching BGP training courses for more than ten years now. Shortly after my BGP book came out, I teamed up with NL-ix, the operators of the neutral internet exchange, to teach the people connecting to NL-ix (and anyone else interested) about BGP. What makes our training course unique is that we don't just cover the theory, but also have people configure BGP on a Cisco router, where they have to set up peerings toward the other participants.

    When we added an IPv6 training course, the content was based on my IPv6 book, which didn't really lend itself to the same approach because it covers a much wider range of topics: enabling IPv6 on various operating systems, routing, tunnels, DNS, applications, security. I was never really happy doing just theory with no hands-on part. So I decided to focus more on routing with the IPv6 training course, and include tunnel, OSPF, BGP and DHCPv6 assignments so the participants can get some hands-on experience with the new protocol. As always, there were a few surprises when participants were trying to do the assignments for the first time, but the new format was a success.

    If you're interested in one of these training courses (or both), the next dates are October 6 for the BGP course and October 7 for the IPv6 routing course. The location is the NL-ix office in The Hague, and the language will be English unless all participants speak Dutch. (The next time after October the language will be Dutch.) See the NL-ix training course page for details and the sign up form.

  • Vint Cerf about IPv4's 32-bit address length (posted 2014-07-04) article 143

    A few weeks ago, I wrote With the Americas running out of IPv4, it's official: The Internet is full for Ars Technica, where I explain where all the IPv4 addresses went.

    In the comments, a reader posted a link to an interview with Vint Cerf where Cerf explains how we ended up with the limited 32-bit IPv4 address space. Well worth a listen. The 32-bit thing starts 26 minutes in. Basically, IPv4 is the test version of IP, and IPv6 is the production version!

    After so many of his shows degraded into "Leo jokes around with his friends" I had forgotten how good an interviewer Leo Laporte is. There's also another longer interview with Vint Cerf.

  • "Nothing in BGP looks like it's melting" (posted 2014-06-30) article 142

    At the February NANOG meeting, Geoff Huston talked about BGP in 2013. For a quarter of a century, there have been concerns about BGP hitting scalability issues. The Internet Architecture Board even organized a meeting to discuss the issue in 2006. However, Geoff argues that the current growth is not presenting any immediate problems: "Nothing in BGP looks like it's melting".

    One of the interesting things is that the number of prefixes in BGP continues to grow at about 11% per year even though Asia and Europe were out of fresh IPv4 addresses by 2013. The number of IPv4 addresses covered by the prefixes advertised in BGP didn't grow as fast, though. Annoyingly, 50% of the half million prefixes in BGP are small address blocks (more specific prefixes) that fall within a larger address blocks (aggregates) that are also present in BGP. And the really amazing thing is that 80% of the number of daily BGP updates—which has been extremely stable for years—is caused by these more specifics.

    The graph that blew my mind is this one, BGP growth vs Moore's Law:

    However, that's assuming that the processing required scales linearly with the number of prefixes. That's probably (close to) true for running the BGP protocol. But that's not the hard part. The hard part is matching destination IP addresses in millions of packets per second with half a million or more prefixes in the forwarding information base (FIB) that the router hardware uses. There's pressure on FIB performance from two directions: the number of prefixes and the number of packets per second. So FIBs need to get faster and get bigger at the same time. It doesn't look like we're going to be in trouble in the immediate future, but it would still be good if we could get rid of all that unnecessary deaggregation.

    Anyway, that's all IPv4. What about IPv6? Yes, it's growing. But not setting the world on fire by any stretch of the imagination. At current rates, IPv6 will reach parity with IPv4 in 2030. However, IPv6 deaggregation levels seem to be heading towards the 50% mark where IPv4 has been for some time.

    Read the slides here, or download an almost 2 GB MPEG4 file of the presentation from the NANOG website. The presentation is 25 minutes and 10 minutes worth of questions and remarks from the audience, including one of the big deaggregation offenders.

    Or read Addressing 2013 and especially BGP in 2013 - The Churn Report, especially if you're not completely sure about all the background and terminology.

  • → With the Americas running out of IPv4, it's official: The Internet is full (posted 2014-06-12) article 141

    My Ars Technica story about ARIN and LACNIC running out of IPv4 addresses.

    Read the whole article Archives of all articles - RSS feed

My Books: "BGP" and "Running IPv6"

On this page you can find more information about my book "BGP". Or you can jump immediately to chapter 6, "Traffic Engineering", (approx. 150kB) that O'Reilly has put online as a sample chapter. Information about the Japanese translation can be found here.

More information about my second book, "Running IPv6", is available here. Apress, my new publisher, also has a sample chapter available: Chapter 5, The DNS.

"no synchronization"

When you run BGP on two or more routers, you need to configure internal BGP (iBGP) between all of them. If those routers are Cisco routers, they won't work very well unless you configure them with no synchronization.

The no synchronization configuration command tells the routers that you don't want them to "synchronize" iBGP and the internal routing protocol such as OSPF. The idea behind synchronizing is that when you have two iBGP speaking routers with another router in between that doesn't speak BGP, the non-BGP router in the middle needs to have the same routing information as the BGP routers, or there could be routing loops. The way to make sure that the non-BGP router is aware of the routing information in BGP, is to redistribute the BGP routing information into the internal routing protocol.

By default, Cisco routers expect you to do this, and wait for the BGP routing information to show up in an internal routing protocol before they'll use any routes learned through iBGP. However, these days redistributing full BGP routing into another protocol isn't really done any more, because it's easier to simply run BGP on any routers in the middle.

But if you don't redistribute BGP into internal routing, the router will still wait for the BGP routes to show up in an internal routing protocol, which will never happen, so the iBGP routes are never used.

The "no synchronization" configuration command tells the routers they shouldn't wait for this synchronization, but just go ahead and use the iBGP routes.

BGP Security

BGP has some security holes. This sounds very bad, and of course it isn't good, but don't be overly alarmed. There are basically two problems: sessions can be hijacked, and it is possible to inject incorrect information into the BGP tables for someone who can either hijack a session or someone who has a legitimate BGP session.

Session hijacking is hard to do for someone who can't see the TCP sequence number for the TCP session the BGP protocol runs over, and if there are good anti-spoofing filters it is even impossible. And of course using the TCP MD5 password option (RFC 2385) makes all of this nearly impossible even for someone who can sniff the BGP traffic.

Nearly all ISPs filter BGP information from customers, so in most cases it isn't possible to successfully inject false information. However, filtering on peering sessions between ISPs isn't as widespread, although some networks do this. A rogue ISP could do some real damage here.

There are now two efforts underway to better secure BGP:

  • Secure BGP (S-BGP) is developed by Bolt, Beranek and Newman (BBN). It has been around for several years and there is a proof-of-concept implementation. S-BGP tries to secure all aspects of the BGP protocol, and subsequently needs several signature checks for each BGP update, making the protocol relatively heavy-weight. You can see my earlier rants on S-BGP at the top of this page. Note that I'm not as anti-S-BGP as I used to be any more, although I still think implementing the protocol will be expensive because routers will need lots of extra memory (up to four times as much) and CPU power (possibly dedicated crypto hardware) and this aspect deserves some serious attention.

    Secure BGP (S-BGP) index at BBN.

  • Secure Origin BGP (soBGP) has surfaced fairly recently and hails from Cisco. There are no implementations so far. soBGP mainly focusses on securing the relationship between prefixes and the source AS number, and doesn't need as many computationally expensive checks as S-BGP. However, the protocol can easily be expanded to perform more checks.

    draft-ng-sobgp-bgp-extensions-00.txt (main soBGP draft)
    draft-white-sobgp-bgp-extensions-00.txt (deployment considerations)

    (If the links don't work, the drafts have expired; you'll have to use a search engine to find them.)

There is now also a different approach to increasing BGP security using an "Interdomain Routing Validation" service that works independent from the BGP protocol itself. See what I wrote about this in interdomain routing news on this site, or jump immediately to the Working Around BGP: An Incremental Approach to Improving Security and Accuracy of Interdomain Routing paper.

The IETF RPSEC (routing protocol security) working group is active in this area.

IPv6

BGPexpert is available over IPv6 as well as IPv4. www.bgpexpert.com has both an IPv4 and an IPv6 address. You can see which one you're connected to at the bottom of the page. Alternatively, you can click on www.ipv6.bgpexpert.com to see if you can connect over IPv6. This URL only has an IPv6 address.

What is BGPexpert.com?

BGPexpert.com is a website dedicated to Internet routing issues. What we want is for packets to find their way from one end of the globe to another, and make the jobs of the people that make this happen a little easier.

Your host is Iljitsch van Beijnum. Feedback, comments, link requests... everything is welcome. You can read more about me here or email me at iljitsch@bgpexpert. or follow iljitsch on Twitter.

Ok, but what is BGP?

Have a look at the "what is BGP" page. There is also a list of BGP and interdomain routing terms on this page.

BGP and Multihoming

If you are not an ISP, your main reason to be interested in BGP will probably be to multihome. By connecting to two or more ISPs at the same time, you are "multihomed" and you no longer have to depend on a single ISP for your network connectivity.

This sounds simple enough, but as always, there is a catch. For regular customers, it's the Internet Service Provider who makes sure the rest of the Internet knows where packets have to be sent to reach their customer. If you are multihomed, you can't let your ISP do this, because then you would have to depend on a single ISP again. This is where the BGP protocol comes in: this is the protocol used to carry this information from ISP to ISP. By announcing reachability information for your network to two ISPs, you can make sure everybody still knows how to reach you if one of those ISPs has an outage.

Want to know more? Read A Look at Multihoming and BGP, an article about multihoming I wrote for the O'Reilly Network.

For those of you interested in multihoming in IPv6 (which is pretty much impossible at the moment), have a look at the "IPv6 multihoming solutions" page.

Are you a BGP expert? Take the test to find out!

These questions are somewhat Cisco-centric. We now also have another set of questions and answers for self-study purposes.

You are visiting bgpexpert.com over IPv4. Your address is 54.211.243.119.