03 may 2018
Tags: looking glass, bgp, site
BGP looking glass service is a well-known standard service for a global network diagnostic. Basically, it’s related to BGP protocol, the main protocol of Internet Providers interconnection. It provides information about a certain route: how it is received by ISP, what is the length of this route, how many ISPs it goes through, what additional attributes it has and so on. In this article you can find the basics of global ISP interconnection and most important features of BGP Looking Glass service as well.
The Internet, as a global network has no strong hierarchy or centralized management. Every Internet Service Provider (ISP) is independent, has the full right to determine its own policy of interconnection, establish specific priorities for every channel for sending traffic throw it and trying to regulate the traffic coming to the ISP from the certain channel. Here is an important word “trying”. Actually, you have the full control of the outgoing traffic and a very small set of tools to control incoming traffic. We remember that every ISP sets its own politics. In general, this is more a financial issue than a technical one – every channel is worth its money.
The only rule that every ISP must adhere to is the Rule of Full Network Connectivity. This means that every ISP has to have at least one route to external networks. This can be achieved by two main methods:
Usually these two methods are used simultaneously: the full table is processed and a default route is set. This is usually done for reserving and preventing a situation when the specific route for some reason doesn’t get into the global BGP table and therefore is unavailable. When you set a default route the chance to find the correct way from your uplink’s network increases considerably. The principle of full network connectivity is a basic rule for the Internet.
There are two types of ISP which do not set a default route. The first one is TIER1 level. They are large international, intercontinental backbone operators. They have the most complete BGP table. They know about all downlinks and their routes. But they do not have an uplinks. They are at the top of the network structure. Therefore they don’t have any correct way which can be used as a default route.
The second one is traffic exchange points (IXs – Internet eXchange points). Internet eXchage is not an ISP in every sense of the word. IX is group of internet providers which change their traffic on the peer-to-peer basis through the shared network infrastructure. Every of that ISPs announce the full set of its own networks and networks of its clients. These routes are announced to the route server and then – to all participants of the exchange point. In fact, this is parity basis for the exchanging traffic between several ISPs. Exchange points are created to save provider’s money for the uplink channels. Usually, participating providers pay fixed fees for the shared network IX infrastructure. This is much cheaper than channels from uplink with full network connectivity.
Internet eXhange is just a connector between some providers. IX has no retail clients, no public servers or datacenter. IX is only a switch with route-server. So classical IX is not an Internet Provider. IX has no full BGP table. Usually, IX has from 2-3 to hundreds connected ISPs and from 10-20 to thousands routes in the routing table. IXs don’t need global connectivity and they have no default route or full routing table.
Thereby, there are only three main types of network providers:
Pay attention again, there is no strong rule for certain ISP to use specific provider as a peer or an uplink. Every ISP has a perfect right to choose a supplier for the purpose. Every ISP can set its traffic exchange politics, can choose peers and uplinks. Every ISP decides by himself which channels to use and pay for them. There is the only one rule – the rule of full network connectivity. This means you need to have at least one external channel that can be used as a default route or you need to accept the full BGP routing table from at least one uplinks. Additionally, you need to have at least one connected external ISP which can send routes received from your ISP to the external networks.
It only seems simple. But this simplicity creates the huge complex of international network structure called the Internet.
There is no strong hierarchy in the Internet. There is no central administration. But there is a possibility to choose the best way to send traffic every time. There is a high level of complicity and a high level of vitality of the Network.
One of the most difficult problems is a network diagnostic process.
Let’s review another important moment. Although, we have a point-to-point connection between two users of a network according to the question-and-answer principle, we have only one direction of traffic flow (information sending). For example, we have a home user (ISP1) and a web server (ISP2) with a web page that is interesting for the user. And let’s supposethere is no direct connection between ISP1 and ISP2.
The home user (ISP1) makes a request to the server (at ISP2). This request is packed to the datagram and addressed to the certain IP-address of the server. This address we can find with the standard DNS-query. At this moment the router of ISP1 takes a decision through which channel the packet is to be sent. This decision is made on the basis of routing table received from an uplink. In other words, “this packet can be sent through this external channel because the ISP behind it has a route to the external network containing IP-address needed”. As soon as this packet is sent to the router ISP1 deletes all the information about this traffic. When another packet gets to the network the process repeats again and again. Routers do not keep (save) information about the specific communication session and do not control flows of request from the server.
The web server at ISP2 forms a response for the home users, creates another datagram and sends it to the ISPF2network. The destination address is extracted from the initial packet (received from home user). And now the ISP2 will make a decision through which channel to send the packet. These two decision making processes do not relate to each other.
In fact, there are two absolutely different independent data-sending processes: from the user to the server, and from the server to the user. This is a situation common. It’s called “traffic asymmetry”.
You can see this if you run a traceroute from the user to the server and from the server to the user simultaneously. You will find two completely different outputs of this utility.
That is why the diagnostic of global interconnection is very hard and complex process – you should handle the problem of two different ways of traffic flow through many different ISPs.
Some of Internet Providers give you possibility to transfer a ping or traceroute service from their internet sites. This can provide you some insight into what happens between the networks. But it is not complete information. Of cause, you can see through which channel and ISPs the traffic is transmitted. But the main question is why traffic was sent through this channel, why the routes have decided that this channel is the best one. The traceroute can’t give any answer here.
It is important to have complete information about the specific route: what uplink has a possibility to deliver this packet, through which channel this information is received, is it the only channel or not, which channel is the best and why?
This information can be received from the BGP routing table – only from the backbone router of the internet provider.
On our site we have a large collection of links to publicly accessed BGP Looking Glass services. We are trying to check every link manually. We want to be sure that every link is workable and provides you exactly with the service level you need.
Yes, the name “BPG looking glass” is important for us. We consider first of all this service provides you with information about BGP routing table. Ping and traceroute services are also good, important and useful but they are additional services for the looking glass.
Please note, if your “looking glass” service does not contain the main information and provides only the simple traceroute output, we will not add your link to our list.
We are thankful to the administrators and engineers of ISPs who provide fully implemented BGP looking glass service. You have professionalism and some courage for this. It is really not a simple task.
Thank you very much.