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


Table of contents (for this page):

BGP and IPv6 courses

This course teaches you the basics of running BGP and IPv6. The BGP course consists of a theory part in the morning and a practical part in the afternoon where the participants implement several assignments on a BGP router (in groups of two participants per router). The IPv6 course has mostly theory but we provide IPv6 connectivity so you can try out the IPv6 capabilities of your favorite operating system on your laptop.

Go to the NL-ix website to find more information and sign up. The location will be The Hague, Netherlands. Dates for upcoming courses in 2012 are 4 june (BGP, Dutch) and 5 june (IPv6, Dutch).

Interdomain Routing & IPv6 News

  • Search for: in news only
  • IPv6 in operating systems since my book was published (posted 2012-02-20) article 127

    I sometimes get the question whether my book "Running IPv6" is still current. Since publication in 2005, not much has changed with regard to the core IPv6 protocols. I may go over what's new in this regard at some point in the future. However, what has changed significantly are the operating systems and other software mentioned in the book. The main things to be aware of are:

    Windows:

    In Windows XP, IPv6 is a protocol separate from IPv4 that must be installed explicitly. In Windows Vista and Windows 7, IPv6 support is integrated with IPv4 and enabled by default. Vista/7 use something other than the system's MAC address as the interface identifier in link local addresses and stateless autoconfiguration. Unlike XP, Windows Vista and Windows 7 support DHCPv6 for both address configuration and to learn DNS resolver addresses.

    MacOS:

    In MacOS 10.7 Apple enabled privacy addresses with stateless autoconfig by default and added DHCPv6 support for address configuration and to learn DNS resolver addresses. Also, the system tries looks at the round trip time towards a destination over IPv6 and IPv4, and will use the protocol that has the lowest RTT. So MacOS 10.7 will often connect over IPv4 to destinations that have both IPv4 and IPv6 in the DNS. This makes things harder to debug, but the upside is that it avoids timeouts with broken IPv6 setups. As of 10.6.5 MacOS will prefer IPv4 over IPv6 if it has 6to4 connectivity.

    iOS:

    The iPhone, iPod touch and iPad didn't exist yet in 2005. IPv6 support was added for these devices in iOS 4 and is relatively mature in iOS 5, with stateless autoconfig and privacy addresses as well as DHCPv6 support. It looks like iOS 5 also uses the RTT-based IPv4/IPv6 selection mechanism present in MacOS 10.7.

    DHCP:

    The DHCP software mentioned in the book is quite bad. A much better option is the ISC dhcpd, which now also supports IPv6.

  • The "IPv6 Buddy" IPv6 keyboard (posted 2011-12-13) article 126

    There's now a USB IPv6 keyboard called the IPv6 Buddy. It has the hexadecimal keys as well as the colon, double colon, slash, period, tab and enter keys. So everything you need to enter IPv6 addresses, including IPv4-mapped addresses and CIDR notation prefixes. It also works for MAC addresses.

    "With all the time I save entering IPv6 addresses, I can concentrate on more exciting things! Like perfecting my BGP, OSPF and VRRP implementations."

    Did I mention that my birthday is in a few weeks?

  • Death of the Internet predicted, film at your local cineplex (posted 2011-03-23) article 125

    In this Ars Technica article I discuss some research about attacking BGP in the core of the internet by making BGP packets drop through overloading the data plane. The researchers make some unrealistic assumptions, but the data plane overload issue is real.

    Read the whole article

  • Counting 32-bit AS numbers (posted 2011-03-17) article 124

    I've had a page that shows how many autonomous system numbers the RIRs have given out for a while now. However, when updating the slides for monday's BGP training course I realized that the results are all AS numbers—regardless of whether they're 16- or 32-bit.

    So I updated the page. You can now request either 16-bit AS numbers, 32-bit AS numbers, or both. The total number of AS numbers given out so far is 53780. 1744 of those are numbers above 65535, so they're 32-bit. I was actually surprised that the number is this high. So far this year, the RIPE NCC has given out 592 AS numbers (that's more than half of the world total!), 199 of which are 32-bit. So it looks like 32-bit AS deployment is finally picking up.

    The number of 16-bit AS numbers given out is 52036, with some 4400 given out in both 2009 and 2010. So at this rate, the 16-bit AS number space will be exhausted in less than three years.

    Perform your own queries on the data here. An interesting one is the number of AS numbers per country. For instance, organizations in the US got 302 AS numbers this year so far. And only two of those are 32-bit.

    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 through here.

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 38.107.179.226.