The present invention is directed toward a method of IP address de-aliasing, and, more specifically, toward a method of IP address de-aliasing based on a relationship between a packet sending order and a packet return order of packets sent to pairs of the IP addresses.
Knowledge of network topology is useful for network diagnostics, performance tuning and monitoring. One method of obtaining information about network topology is to use traceroute. However, traceroute creates a list of IP addresses that correspond to the interfaces of the routers used from source to destination. These routers have multiple interfaces and there is, a priori, no way to tell that two IP addresses are interfaces on the same router.
To illustrate the difference between a topology based on network interfaces and a topology based on devices we can compare
Going from the topology of
Standard methods for IP de-aliasing include DNS, SNMP and TELNET. Each of these methods, however, has shortcomings that render them difficult to apply consistently and automatically on a large network. SNMP and TELNET, for example, require the knowledge of device passwords. Even with the proper authentication, which might be possible to obtain on a private network, information uncovered by these methods is often entered by humans and thus potentially out-of-date or inaccurate. Another obstacle to using SNMP effectively is that there is no standard SNMP variable that uniquely identifies a device.
Alternative methods that do not suffer these shortcomings rely on data collected by endpoints distributed throughout a network. The idea behind these approaches is that an endpoint is a vantage from which a quantitative view of the network topology, made up of devices (and their associated IP addresses), can be obtained. This approach reveals device identities by considering how an endpoint interacts with the devices. Typical interactions include responses such as: 1) round trip times; 2) IP time stamps; 3) IP packet IDs; 4) IP Record Routes. If two IP addresses belong to the same device, then measurements taken at the same time from an endpoint to these two IP addresses should be similar in round trip time, identical in time stamps, sequential in packet ID values, and finally, IP Recorded Routes to the two IP address should be identical. Unfortunately, except for the first test, the rest of the tests all require strong assumptions about the network. For response 2, it must be the case that the network time protocol (NTP) is not running since it interferes with IP time stamps. For response 3 devices need to use sequentially increasing packet IDs on a per device basis, rather than on a per interface basis as many devices do. Response 4 is based on the assumption that network paths have less than 9 hops, because IP Record Route is limited to 9 hops.
It would therefore be desirable to provide a method for IP address de-aliasing that is useful on private networks, that does not require strong assumptions about the underlying network, and that can address the de-aliasing problem and provide an accurate representation of the topology of a network.
These problems and others are addressed by embodiments of the present invention, a first aspect of which comprises a method of internet protocol (IP) address de-aliasing that involves obtaining IP addresses from devices in a network and selecting a first pair of IP addresses, comprising a first IP address and a second IP address, from the obtained IP addresses. The method further involves pinging the first IP address and pinging the second IP address in a first order, and receiving a first ping response from the first IP address and receiving a second ping response from the second IP address. A second order is determined that comprises an order of the first and second ping responses. The pinging and receiving is repeated a plurality of times, and a relationship is determined between the first order and the second order. Whether the first and second IP addresses are aliases of the same network device is determined based on the relationship.
Another aspect of the present invention comprises a method of internet protocol (IP) address de-aliasing that includes obtaining IP addresses from devices in a network, pinging pairs of the IP addresses by sending packets to pairs of the IP addresses, obtaining ping response orders for the packets, and determining whether the pairs of IP addresses are aliases of the same network device based on the obtained ping response orders.
A further aspect of the invention comprises a computer readable recording medium storing instructions for causing a computer to obtain IP addresses from devices in a network, obtain ping response orders for packets sent to pairs of the IP addresses, and determine whether the pairs of IP addresses are aliases of the same network device based on the obtained ping response orders.
Still another aspect of the invention comprises a computer readable recording medium storing instructions for causing a computer to perform a method of a) obtaining IP addresses from devices in a network, b) selecting a first pair of IP addresses, comprising a first IP address and a second IP address, from the obtained IP addresses, c) pinging the first IP address and pinging the second IP address in a first order, d) receiving a first ping response from the first IP address and receiving a second ping response from the second IP address, e) determining a second order comprising an order of the first and second ping responses, f) repeating c-e a plurality of times, g) determining a relationship between the first order and the second order, and h) determining whether the first and second IP addresses are aliases of the same network device based on the relationship.
These aspects of the invention and others will be better understood after a reading of the following detailed description in connection with the attached drawings wherein:
a is a graph illustrating ping round trip times for a plurality of IP addresses in the network of
b is an expanded portion of the graph of
Reference is now made to the drawings, wherein the showings are for the purpose of illustrating presently preferred embodiments of the invention only and not for the purpose of limiting same. The below discussion is based on two networks. The first network is an actual corporate network illustrated in
A second or “laboratory” network, was constructed expressly for testing the method disclosed herein. The physical structure of this network is illustrated in
The method of an embodiment of the present invention is an automated way of obtaining accurate information about the physical structure of a network without the inaccuracies produced by the use of raw traceroute data and without the significant amount of physical labor required for a manual verification of the actual physical structure of a network.
It is first noted that ping round trip time is a basic measurement that can be reliably obtained in most network environments. A straightforward method for IP de-aliasing would simply involve clustering round trip measurements into groups. This is in fact a very efficient and reliable strategy for grouping IP addresses coarsely into individual LANs.
Coarsely separating IP addresses into LANs in this manner, however, beneficially reduces the number of tests that are needed in carrying out the method according to an embodiment of the present invention we need to perform. With a set of n IP addresses, it is typically necessary to carry out C(n, 2) pair-wise tests for de-aliasing. By first bucketing the IP addresses into LANs of sizes ni (i is the LAN index), and then testing only pairs of addresses within a LAN, the number of tests is reduced to ΣC (ni, 2). This reduction can be quite substantial.
After a network is coarsely divided into a number of separate LAN's, the IP addresses in each LAN are tested to determine which are aliases of the same device. Because devices in the LAN are connected via much faster links than the WAN links between the LAN's, IP alias resolution generally must be accomplished in some way other than a mere comparison of round trip ping times. The difficulty with relying on round trip ping times was illustrated in
The above figures show that it is not sufficient to compare ping round trip times directly for within LAN de-aliasing. Rather, one must also consider the manner in which IP addresses respond to the ping requests.
To this end, the present inventors propose a method of IP de-aliasing that involves testing pairs of the IP addresses to determine whether both addresses belong to the same network device. From an endpoint, each IP address of the pair of IP addresses is sent a ping packet. If these two IP addresses are aliased, then the ping packets are more likely to be returned in an order that is dependent on the order in which they were sent. The order may be the same as or opposite to the order in which they were sent. In contrast, if two IP addresses are not aliases of each other, the receiving order should be constant and independent of sending order. This is because network delay along paths to non-aliased addresses would be much greater than the effect of the small difference in the initial sending timing of the ping requests.
The method of an embodiment of the present invention involves a pair-wise test of sending m pairs of ping requests to two addresses, ip1 and ip2. The two packets within each pair are separated by d ms. Ideally, d will be equal to 0, i.e., the two packets are sent back-to-back with little or no separation. When d is greater than 0, as is often the case, an adjustment term is applied when determining whether the second packet to be sent arrived first or second. The adjustment term helps account for the “head start” that the first ping request receives in a device that cannot send first and second ping requests with no separation therebetween.
The adjustment term may be a constant related to a typical delay between sending two packets. For example, if the delay is determined to be 0.1 milliseconds, the response to the second ping request will be considered to arrive first if it arrives less than 0.1 milliseconds after the response to the first ping response. Alternately, the precise sending times of the first and second packets can be measured using a process such as kernel time stamping, discussed in detail in U.S. Pat. No. 7,313,098, the entire contents of which are hereby incorporated by reference. In such a case, the delay between the sending of the first ping request and the sending of the second ping request is readily calculated, and this known delay can be used as an adjustment term to remove the “head start” of the first ping request when determining which ping response was received first. Since d is either substantially equal to 0 or may be corrected to be substantially equal to 0, for ease of explanation the following discussion will treat d as being equal to 0. Packet ordering is randomized (ip1, ip2 or ip2, ip1). Subsequent test pairs are delayed by w ms to minimize device effects. The general metric of interest is the number of times ping replies are returned in the same order as requests were sent.
In contrast, in
While the order of ping response was strongly related to the order in which the packets were sent, the packets sent second consistently came back first. This is somewhat counter-intuitive. One explanation may involve the subtleties of router operation: the second packet may return faster because the first packet has prepared the router for handling subsequent ping requests. In any event, the logic of test is well illustrated: if the order in which test packets are sent influences the order in which packets are received, it is likely that the IP addresses in the pair are aliased.
Many test statistics can be constructed based on m pair-wise round trip measurements, from simple correlations to distributional comparisons to tests of differences in regression coefficients. The inventors have developed the following statistic which is simple to calculate and which seems to accurately distinguish aliased from non-aliased addresses. To understand this approach, for an IP pair ip1 and ip2, let A be the percentage of packets that were sent to ip1 first and that also came back first. Let B be percentage of packets that were sent to ip2 first and that also came back first. It is then possible to define a statistic, “SABBA” as ABBA=A×B−(1−A)×(1−B).
When ip1 and ip2 are on the same device, in the idealized case, the test packet sending order completely controls the order in which the packets are returned. Thus, A will equal 1 or B will equal 1, or, occasionally, these numbers will be reversed and A and B will both be equal to 0. Therefore, in the idealized case, SABBA will always have a value of 1 or −1. When ip1 and ip2 are on separate devices, in the idealized case, packets sent to one address will nearly always return first, regardless of sending order, so A and B will have opposite values, either 0 and 1 or 1 and 0, respectively, producing a SABBA of 0.
Several aspects of these results warrant further comments. There are two significant parameters that control how the tests were carried out. These are m, the number of pairs of ping packets delivered, and w, the delay in milliseconds between test-packets. For the corporate network of
The panels representing best performance are in the third, fourth and fifth rows. From those panels, the inventors recommend a setting of w=200 ms and m=200 with a cut point about 0.45. These selections reduced the test cycle time on the corporate network to about 18 hours.
Finally, to study the effect of network conditions, we rely on time-of-day as a proxy for network congestion, assuming the corporate network carries more traffic during business hours. Network congestion had little effect on the accuracy of the disclosed test method, as evidenced by
The present invention has been described herein in terms of a preferred embodiment. However, additions and variations to this embodiment will become apparent to those of ordinary skill in the relevant arts upon a reading of the foregoing description. It is intended that all such additions and variations comprise a part of the present invention to the extent they fall within the scope of the several claims appended hereto.
The present application claims the benefit of U.S. Provisional Patent Application No. 60/941,645, filed Jun. 1, 2007, the entire contents of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
6556540 | Mawhinney et al. | Apr 2003 | B1 |
6639900 | Anstey et al. | Oct 2003 | B1 |
7289454 | Bovo et al. | Oct 2007 | B2 |
7313098 | Bearden et al. | Dec 2007 | B2 |
7379475 | Minami et al. | May 2008 | B2 |
7689686 | Gunawardena et al. | Mar 2010 | B2 |
20020049762 | Shah et al. | Apr 2002 | A1 |
20020116154 | Nowak et al. | Aug 2002 | A1 |
20020198993 | Cudd et al. | Dec 2002 | A1 |
20030196148 | Harrisville-Wolff et al. | Oct 2003 | A1 |
20030210698 | Rouleau | Nov 2003 | A1 |
20040059830 | Brown | Mar 2004 | A1 |
20040063438 | Hsu et al. | Apr 2004 | A1 |
20040210632 | Carlson et al. | Oct 2004 | A1 |
20050021737 | Ellison et al. | Jan 2005 | A1 |
20050123003 | Bordonaro et al. | Jun 2005 | A1 |
20060015596 | Mar et al. | Jan 2006 | A1 |
20060159025 | Abdo et al. | Jul 2006 | A1 |
20060182034 | Klinker et al. | Aug 2006 | A1 |
20060253488 | Akaiwa | Nov 2006 | A1 |
20070041386 | Mar et al. | Feb 2007 | A1 |
20070101044 | Sudheer | May 2007 | A1 |
20080155093 | Dharmistan | Jun 2008 | A1 |
20090274114 | Jun et al. | Nov 2009 | A1 |
20100011120 | Kommula | Jan 2010 | A1 |
20110122771 | Joshi | May 2011 | A1 |
Entry |
---|
Spring et al, “Measuring ISP Topologies with Rocketfuel”, Proceedings of IEEE/ACM Transactions on Networking, vol. 12, Feb. 2004. |
Gunes, M. H. and Sarac, K. “Resolving IP Aliases in Building Traceroute-Based Internet Maps”, Proceedings of the 7th ACM SIGCOMM Conference on Internet Measurement, San Diego, California, USA 2007. |
Gunes, M. H. and Sarac, K. “Importance of IP Alias Resolution in Sampling Internet Topologies,” Proc. IEEE Global Internet, 2006. |
Pansiot, J., and Grad, D., “On Routes and Multicast Trees in the Internet,” ACM Computuer Communication Review, vol. 28, pp. 41-50, Jan. 1998. |
Spring, N., Mahajan, R., and Wetherall, D., “Measuring ISP Topologies with Rocketfuel,” Proceedings of IEEE/ACM Transactions on Networking, vol. 12, Feb. 2004. |
Tangmunarunkit, H., Govindan, R., Jamin, S., Shenker, S., and Willinger, W., Network Topology Generators: Degree-Based vs. Structural*, ACM SIGCOMM Computer Communication Review vol. 32 , Issue 4 (Oct. 2002). |
Govindan, R., and Tangmunarunkit, H., “Heuristics for Internet Map Discovery,” IEEE Infocom 2000, pp. 1371-1380, Tel Aviv, Israel, Mar. 2000. |
Gunes, M. H. and Sarac, K. “Analytical IP Alias Resolution” International Conference on Communication, General Symposium, Jun. 2006. |
Number | Date | Country | |
---|---|---|---|
20080301271 A1 | Dec 2008 | US |
Number | Date | Country | |
---|---|---|---|
60941645 | Jun 2007 | US |