How To Use A Looking Glass To Diagnose Networking Problems

A looking glass server is a tool provided by networks, usually larger Internet service providers (ISPs), which allows users to see what the Internet looks like from the point of view of the routers within that particular network. A looking glass is a crucial tool for diagnosing Internet related networking issues. It is also extremely useful in deciding who to purchase IP transit from.

The Internet is made up of a lot of different connections, and sometimes these connections have problems. The Internet is also made up of a bunch of different networks and sometimes these networks have problems reaching one another. This might be a BGP peering issue or a connectivity issue of another kind. A looking glass is a great tool to see the root cause of a networking problem.

If you have ever diagnosed networking related problems you are probably familiar with ping and traceroute. These tools allow you to view end of end connectivity between two devices and also let you view the path which packets take to get from one device to the other. A looking glass also allows you to run ping and traceroute commands, but the source of these commands is a router on the network. This is great for diagnostics as it allows you to see which routers in a network are able to reach a device and which are not. It also allows you to see the path taken to reach that device and can show you where the problem along the path might be.

So lets say you run a web server and some users using Level 3 are unable to reach your website. It seems like the only users reporting this problem are using Level 3. Ok, so the first thing to do would be to go to Level 3's looking glass and select the ping command. From here you should see a bunch of different routers in different locations:

Level 3 looking glass screen shot

Select a few of these and see if you can ping your server. Include routers near the location your users are based in. If you can ping without issue then the problem is not between Level 3's router and your web server but somewhere between the user and Level 3's router.

If you are not able to ping from any Level 3 router than it would suggest that Level 3 is having a network issue reaching your server. If this is the case then I would start using the traceroute command in the looking glass to see how close to your server the packets get before being dropped. This right here should be enough information for you to be able to contact Level 3 and open a trouble ticket with them.

Let them know the IP address of your server and send them the traceroutes you see in their looking glass. Also, send them traceroutes from your server to their network/routers as the reverse path might be different than the forward path.

You can also take a look at the BGP information that their routers have. BGP is a networking protocol used to connect different networks together. It is the protocol that makes up the Internet. Different networks peer with one another, but like all networking protocols, BGP configurations can have errors. Sometimes a BGP error makes connections from one network to another impossible.

Most looking glass servers have BGP information which show you the path(s) that router sees to reach a specific destination. If there are no paths, then the router has no idea how to reach that IP block. The IPv6 Internet is currently split and a few networks do not have connectivity to one another. Their routers do not have a BGP path to one another.

Using a looking glass you can see the BGP metrics on the router. The BGP metrics are used by the router to decide who to send packets to. For example, looking at Level 3's looking glass their Kansas City router has a few different routes to Goggle's IP block 8.8.8.0/24 that router has four patch to reach 8.8.8.0/24:

Level 3 looking glass screen shot

If you don't know anything about BGP you can at least use the looking glass to confirm that there is a known path to get to the destination network. If there is no path then the router doesn't have any idea where to send packets. That's a big problem.

Basically, a looking glass is a way to see what the networks routers see. It is a view of the Internet from the router. If you need to purchase IP transit from a network and have multiple networks you can choose from, one thing you can do is go to their looking glass server and see how they connect to the rest of the world. See how many hops it takes them to reach common websites or services. See how many BGP routes they have to popular IP blocks. A looking glass can help you see what using the network will be like before you purchase a connection to the network.