Sunday, December 26, 2010

Troubleshoot connectivity when one or more websites are not accessible at full speed

Some times you may feel that you are not able to access a certain website despite your high speed net connection or proper performance of all other web sites from the same PC and connectivity. I am not talking about problems being caused by your misconfiguration of your PC, network, connectivity, the web server or other general problems. The problem I am discussing is a genuine problem within the Internet connectivity.

Can we find out why this happens?
Yes. Certainly. We can diagnose this problem without professional tools and softwares, with only commands built into our Operating System software. (Windows XP, Vista and Windows 7 are related here.) But first of all you need to know how Internet works and how the above problem occurs.

The Internet connectivity between your computer and the web server of that particular web site goes through many routers. Routers are network switches which intelligently transfer data between thousands of nodes to proper nodes. This comprises of some routers of your ISP (Internet Service Provider) and some routers from the ISP of the web server. This chain of routers may also go through international borders and multiple ISPs because not each ISP may have international connectivity of its own.

Sometimes one of the routers in this chain drops packets randomly due to overload or other problem. Due to this, data needs to be retransmitted several times before reaching successfully to other end. Therefore all the data passing through that particular router reaches the other end at a very slow speed. And hence we observe that a particular website is running very slow on our PC (because we reach the web server of that website through that faulty router).

Can we diagnose which router is faulty or dropping packets?
Yes, we can help ourselves to find out.

To do so, first of all try to ping the web address. Open a command prompt by running cmd.exe. Here enter the command

ping <web_site_address_here> -t

and press enter. The web address will be then pinged. What happens during this is your PC sends a packet and requests its acknowledgement from the web server. We can see the time required to get the acknowledgement from the server in the result. This is done repeatedly for consistency check. We used -t switch to perform this continously until we break the operation by pressing Control+C. Observe the timing of acknowledgement. If you see request timed out message many times in the result, this indicates a connectivity problem we learnt about. And if the acknowledgement timing is consistent, this indicates that the problem is with the web server and not with Internet connectivity between us.

Now if the problem is in Internet connectivity, we need to find out the path and the routers between your PC and the particular web server.  To do this execute the following command in cmd.exe window.
tracert -d <your_web_site_name_here>
and press enter key to execute the command. Now you will see the list of routers in between your PC and the web server of the specified web site. Also the ping time of each router is given before its IP address (routers are known by their IP address). Here timing is given in milliseconds and a star mentions request timed out. i.e. the packet was dropped in between.
Try tracing the route multiple times because results can vary. Please note that actually the packet would have been dropped by a router previous to the shown router. So do traceroute multiple times to confirm the router which is dropping packets.

Now try to ping the specific router individually using the following command in cmd.exe window :
ping <ip_address> -t
You can see the consistency of connectivity of your PC and that router here. If the router is not consistent, then try pinging the router located before the pinged router, and if the consistency is OK, then try pinging the router after the pinged router.

Now you have knowledge of the faulty router. If the router is at the beginning three to four hops, it may be your ISP's own router. Let me help you about recognising the IP addresses. the IP's beginning with 192 at the first hop is your own router (ADSL modem or other CPE) if you are on wireline broadband or similar connectivity, and IP addresses begining with 10.x.x.x at the initial hops are internal network of your service provider (particularly in case of mobile internet connectivity like gprs, edge and 3g). The best you can do further is contacting the service department of the owner of that router to get the problem solved. Better contact your Internet Service Provider with the results of the above tests.

MSPGCL Tenders as on 17/1/2024