Use IP and BGP to troubleshoot Internet connectivity
Published: 24 Jun 2003 15:35 BST
You may not be too interested in the path that network traffic takes through the Internet -- that is, until connection problems bring a call from the chief financial officer, who can't communicate with a partner company's Web site he's used every day for the last year. The CFO needs to access the site today, and you are charged with troubleshooting the problem. You try it yourself and can't access the site. You contact the company that operates the site (you were lucky; this isn't always possible), and it says that everything is fine on that end. Now you are much more interested in how your data gets from your location to this Web site, the path that it takes, and where the problem may lie on the Internet.
Of course, you can call your ISP and get the standard "We'll look into it" response. But you still don't have an explanation for the CFO about the cause of the problem or who is to blame. The last thing you want to do is to simply say, "Our ISP is looking into it. Since we seem to be the only ones who are having the problem, it could take a long time, and I don't know when the ISP will get back to us."
So how does the traffic get from point A to point B? There are two ways to look at this path: from the IP perspective and from the BGP perspective.
IP perspective
The IP perspective is straightforward compared to BGP. There are tons of tools to trace your IP traffic. You can do a standard traceroute from the command line in Windows and Linux/UNIX. You can also use a tool such as AnologX's free HyperTrace utility to perform a trace that's a little bit faster and more flexible. Another option is Visualware's VisualRoute, software that can graphically display the IP path your traffic takes through the Internet. You can use its Live Demo to trace the Internet route to and from a number of locations around the globe.
For another perspective, you can go to Traceroute.org and trace the IP path from hundreds of locations on the Internet back to the IP address or Web site in question. The combination of this service and a standard Traceroute from your location can be very useful in troubleshooting.
BGP perspective
From the BGP perspective, tracing traffic is a little more complex. First, you should understand thatBGP is the routing protocol of the Internet. BGP is a path-vector routing protocol. Just as a standard routing protocol such as RIP selects the best route based on hop count, BGP selects the best path based on the shortest autonomous system (AS) path. BGP routing domains are identified by an autonomous system number (ASN). The American Registry for Internet Numbers (Arin), which regulates IP addresses, also regulates ASNs.
So you can use the IP tools to see, possibly, where your traffic is failing. But what if it is simply an IP address that is failing? What if you want to identify the ISP that is causing the problem? What if you want to know whether Internet routing is the problem or whether the return traffic to your Web request is being sent somewhere else (not back to you) due to routing table issues? Insight into BGP can help answer these questions.
To start, you will need to know your public Internet IP address. You should be able to get this from a variety of sources. If you know your AS number, that is helpful, too. If not, you'll soon find out. If you are at a larger site, you may have your own AS number. Or, like me, you could have a DSL connection from an ISP. In that case, your IP address would end at your provider's AS number. With your public Internet IP address, go toTraceroute.org. You can get a ton of great BGP information here from two types of sources.
First, there are Looking Glass servers. These are Web servers that are running software that can perform commands for you on BGP routers. Although some will let you run only ping and traceroute commands, others will let you do BGP commands. Hundreds of these Looking Glass servers are available at Traceroute.org. Using these servers is simplified because the service is Web based and limited to only a few commands. Figure A shows a Looking Glass server provided by the BBC.
Note that I clicked on BGP and typed in my IP address. When I clicked Submit, I got the output shown in Figure B.





