Claims
- 1. A method for determining network topology information in a network-based communication system, the method comprising the steps of:
generating at least one communication between a selected pair of endpoint devices each associated with a network, the communication being sent from a first one of the endpoint devices to a second one of the endpoint devices and returned from the second endpoint device to the first endpoint device; and processing information contained in the communication as received at the first endpoint device from the second endpoint device to determine network topology information characterizing at least a portion of the network.
- 2. The method of claim 1 wherein the network topology information comprises information characterizing nodes and edges of the network.
- 3. The method of claim 1 wherein the communication comprises at least one packet.
- 4. The method of claim 3 wherein the packet is transmitted with a record route option enabled.
- 5. The method of claim 3 wherein the packet is transmitted with a designated value in a Time To Live (TTL) field thereof.
- 6. The method of claim 3 wherein the packet comprises an Internet Protocol (IP) packet having encapsulated therein a Real-Time Transport Protocol (RTP) packet.
- 7. The method of claim 3 wherein the packet as received at the first endpoint device from the second endpoint device comprises a payload having a path field indicating a sequence of addresses along a path through the network from the first endpoint to the second endpoint, including one address for each network element in the path that recorded its address in a header of the packet as received at the second endpoint device from the first endpoint device.
- 8. The method of claim 3 wherein the packet as received at the first endpoint device from the second endpoint device comprises a payload having a path length field indicating a number of network elements in a path through the network that recorded their addresses in a header of the packet as received at the second endpoint device from the first endpoint device.
- 9. The method of claim 3 wherein the packet as received at the first endpoint device from the second endpoint device comprises a payload having a true path length field indicating a number of network elements in a path through the network as determined based at least in part on a Time To Live (TTL) field of the packet as received at the second endpoint device from the first endpoint device.
- 10. The method of claim 3 wherein upon receipt of the packet from the first endpoint, the second endpoint performs the following steps:
extracting from a header of the packet information characterizing a forward path from the first endpoint to the second endpoint; extracting a Time To Live (TTL) value from a TTL field of the packet; computing a true forward path length based on the extracted TTL value; inserting the computed true forward path length and at least a portion of the information characterizing the forward path into a payload of the packet; and returning the packet to the first endpoint.
- 11. The method of claim 3 wherein upon receipt of the packet from the second endpoint, the first endpoint performs the following steps:
extracting from a payload of the packet a computed true forward path length and information characterizing a forward path from the first endpoint to the second endpoint; extracting from a header of the packet information characterizing a reverse path from the second endpoint to the first endpoint; extracting a Time To Live (TTL) value from a TTL field of the packet; computing a true reverse path length based on the extracted TTL value; and determining the network topology information based at least in part on the computed true forward and reverse path lengths, the information characterizing the forward path and the information characterizing the reverse path.
- 12. The method of claim 1 further including the step of executing a merging algorithm that identifies in the network topology information addresses belonging to the same network element, and groups the identified addresses into an equivalence class, such that a set of equivalence classes is formed including one class for each of a plurality of network elements of the network.
- 13. The method of claim 3 further including the step of identifying in the network topology information any network element that is unable to enter its address into a record route space of the packet.
- 14. The method of claim 13 wherein a given network element that is unable to enter its address into a record route space of the packet is identified by sending probes with incrementally increasing Time To Live (TTL) values to previously identified network elements along a path from one of the endpoints to the other endpoint.
- 15. The method of claim 3 wherein one or more of the endpoints are each configured so as to be prevented from inserting a corresponding endpoint address into a record route space of the packet.
- 16. The method of claim 1 wherein the network topology information characterizing at least a portion of the network comprises information characterizing a load balancing process of the network.
- 17. The method of claim 1 wherein the network topology information characterizing at least a portion of the network comprises information utilizable in a distributed monitoring and analysis system for network traffic.
- 18. The method of claim 1 wherein at least one of the endpoint devices comprises a terminal node of the network.
- 19. The method of claim 1 wherein at least one of the endpoint devices comprises an internal node of the network.
- 20. An apparatus for use in determining network topology information in a network-based communication system, the apparatus comprising:
a first endpoint device having a processor coupled to a memory; the first endpoint device being connectable to a network, the network having at least a second endpoint device also connectable thereto; the first endpoint device being operative to generate at least one communication that is sent from the first endpoint device to the second endpoint device and returned from the second endpoint device to the first endpoint device, over the network; and the first endpoint device being further operative to process information contained in the communication as received at the first endpoint device from the second endpoint device to determine network topology information characterizing at least a portion of the network.
- 21. An article of manufacture comprising a machine-readable storage medium containing software code for use in determining network topology information in a network-based communication system, wherein the software code when executed implements the steps of:
generating at least one communication between a selected pair of endpoint devices each associated with a network, the communication being sent from a first one of the endpoint devices to a second one of the endpoint devices and returned from the second endpoint device to the first endpoint device; and processing information contained in the communication as received at the first endpoint device from the second endpoint device to determine network topology information characterizing at least a portion of the network.
RELATED APPLICATION(S)
[0001] The present application is related to U.S. Patent Application Attorney Docket No. 503015-A-01-US (Adhikari), filed concurrently herewith in the name of inventors A. Adhikari et al. and entitled “Distributed Monitoring and Analysis System for Network Traffic,” the disclosure of which is incorporated by reference herein.