Switches and routers provide a broad set of troubleshooting tools and utilities such as, for example, ping, Layer 3 traceroute, Layer 2 traceroute, etc., that can be combined with the output of various commands to debug network connectivity problems.
However, debugging can become quite challenging for users who are not network specialists. Even for the most basic connectivity problems, it is necessary to go through a step by step process to validate the connectivity checks and isolate the problem.
A typical example of a connectivity problem is depicted in
Ping is a utility to determine whether a specific Internet Protocol (IP) address is accessible. It works by sending a packet to the specified address and waiting for a reply. Ping is used primarily to troubleshoot network connections. Traceroute utilities work by sending packets with low time-to-live (TTL) fields. The TTL value specifies how many hops the packet is allowed before it is returned. When a packet can not reach its destination because the TTL value is too low, the last host returns the packet and identifies itself. By sending a series of packets and incrementing the TTL value with each successive packet, traceroute finds out who all the intermediary hosts are.
These troubleshooting tools and utilities must be initiated at the client's computer because the connectivity problem occurs somewhere along the path taken by packets between the client and end station host server. This requires that the network administrator (the “Admin”) be physically present at the client computer to run the tests or remotely connect with the user to guide her through performing the steps on the client computer.
Thus, either the user is diverted from other tasks in order to assist the Admin or the Admin must move from computer to computer to debug connectivity problems.
The challenges in the field of network administration continue to increase with demands for more and better techniques having greater flexibility and adaptability. Therefore, a need has arisen for a new system and method for debugging connectivity problems between a client computer and an end station host server connected to a network.
Reference will now be made in detail to various embodiments of the invention. Examples of these embodiments are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that it is not intended to limit the invention to any embodiment. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. However, the present invention may be practiced without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
One embodiment of the invention is a simplified interface that helps in troubleshooting connectivity problems. The interface does not necessarily point to the root cause of the problem, but helps isolate the problem. In computer networks without well-qualified networking administration personnel to support the network, as is common in small medium businesses, this embodiment makes it easier to troubleshoot connectivity problems.
Referring again to
In existing networks the Admin must perform the various tests in the decision blocks of the flowchart from the client computer A. Alternatively, the Admin can guide the user of client computer A through the tests.
In order to ensure that the results are exactly those that would be encountered by the client PC, the switch must disable the client port, so that traffic from the client does not interfere with the tests. When the administrator requests this troubleshooting functionality, the following things happen on the switch;
The switch Instantiates the proxy_client module that proxies for the client PC. The proxy_client module has a logical interface on the VLAN on which the client is connected, and assigns the interface the same IP address and MAC address as the client PC. The IP address and MAC addresses are learned through snooping of DHCP or ARP packets involving the client PC. The switch must use the client IP and MAC addresses, and the logical interface in the same VLAN as the client. This will ensure that the packets originating from the switch will traverse the same path as if they had originated from the client, which is necessary to ensure that the test results will point out the problems encountered by the client.
In the flow chart of
The results of the tests can be put into can be put into three categories:
Accordingly, the switch can provide additional information for each of the following conditions:
In one embodiment, the switch_analysis module performs the following functions:
This capability of the switch_analysis module added to the proxy_client module not only performs tasks that the user would otherwise have been required to do at the client station, it also integrates the results of the tests with knowledge of the network present within the switch, and as seen by the switch, to help get to the root cause of the connectivity problems quicker.
The invention has now been described with reference to the preferred embodiments. Alternatives and substitutions will now be apparent to persons of skill in the art. Accordingly, it is not intended to limit the invention except as provided by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5825772 | Dobbins et al. | Oct 1998 | A |
5920699 | Bare | Jul 1999 | A |
5982753 | Pendleton et al. | Nov 1999 | A |
6188691 | Barkai et al. | Feb 2001 | B1 |
6515969 | Smith | Feb 2003 | B1 |
6625146 | Merchant et al. | Sep 2003 | B1 |
6678241 | Gai et al. | Jan 2004 | B1 |
6775290 | Merchant et al. | Aug 2004 | B1 |
7062595 | Lindsay et al. | Jun 2006 | B2 |
7286491 | Smith | Oct 2007 | B1 |
7428237 | Gai et al. | Sep 2008 | B1 |
7436832 | Gallatin et al. | Oct 2008 | B2 |
7451204 | Shiga et al. | Nov 2008 | B2 |
7463588 | Tanaka et al. | Dec 2008 | B1 |
7554997 | Schlichter et al. | Jun 2009 | B1 |
20020080800 | Lee et al. | Jun 2002 | A1 |
20020104039 | DeRolf et al. | Aug 2002 | A1 |
20020112076 | Rueda et al. | Aug 2002 | A1 |
20020118692 | Oberman et al. | Aug 2002 | A1 |
20040184401 | Nguyen et al. | Sep 2004 | A1 |
20040199627 | Frietsch | Oct 2004 | A1 |
20050108444 | Flauaus et al. | May 2005 | A1 |
20050240799 | Manfredi et al. | Oct 2005 | A1 |
20060031446 | Hamedi | Feb 2006 | A1 |
20060031488 | Swales | Feb 2006 | A1 |
20060098670 | Voit et al. | May 2006 | A1 |
20060133368 | Tolliver | Jun 2006 | A1 |
20060143344 | Lindsay et al. | Jun 2006 | A1 |
20060146823 | Ding | Jul 2006 | A1 |
20060168648 | Vank et al. | Jul 2006 | A1 |
20060248229 | Saunderson et al. | Nov 2006 | A1 |
20060251085 | Kalkunte et al. | Nov 2006 | A1 |
20070081541 | Umekage et al. | Apr 2007 | A1 |
20080001765 | Nguyen et al. | Jan 2008 | A1 |
20080089323 | Elias et al. | Apr 2008 | A1 |
20090052336 | Nguyen et al. | Feb 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20070255733 A1 | Nov 2007 | US |