Method and apparatus for inferring network paths
First Claim
Patent Images
1. A method for inferring a path between a first endpoint node and a second endpoint node in a network comprising:
- obtaining a plurality of Border Gateway Protocol (BGP) routing tables;
generating a graph of the network topology based on the plurality of BGP tables, the graph of the network topology comprising a plurality of nodes and edges, each of the nodes associated with an autonomous system (AS) and each of the edges associated with a connection between two autonomous systems;
applying a stub removal procedure to generate a stubbed graph of the network topology, the stubbed graph removal procedure comprises removing from the graph of the network topology each of the plurality of nodes that is connected to a single edge;
inferring at a processor relationships between nodes in the network based on the plurality of BGP routing tables without having access to at least one of the first endpoint node and the second endpoint node, the relationships including customer-provider links, provider-customer links, and peering links, each of the relationships being associated with a respective routing policy;
identifying a point, wherein the point is a first hop autonomous system (AS) that a packet sent from the first endpoint node travels to before reaching the second endpoint node, wherein identifying a point comprises;
determining a first hop count from first endpoint node to the point, a second hop count from the point to the second endpoint node, and a third hop count from the first endpoint node to the second endpoint node; and
identifying the point as a transition point based on a comparison of the first hop count, the second hop count and the third hop count; and
determining at the processor the path between the first endpoint node and the second endpoint node, based on the transition point, the routing policies associated with the relationships and the stubbed graph of the network topology.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method and apparatus for inferring AS paths between two endpoint nodes communicating over a network having a plurality of nodes without having access to the endpoint nodes. The method and apparatus determine routing tables of at least some of the plurality of nodes. A relationship between each node is then inferred from the routing tables. The method and apparatus then determine a path between the two endpoint nodes from the relationship and the routing table determination.
82 Citations
8 Claims
-
1. A method for inferring a path between a first endpoint node and a second endpoint node in a network comprising:
-
obtaining a plurality of Border Gateway Protocol (BGP) routing tables; generating a graph of the network topology based on the plurality of BGP tables, the graph of the network topology comprising a plurality of nodes and edges, each of the nodes associated with an autonomous system (AS) and each of the edges associated with a connection between two autonomous systems; applying a stub removal procedure to generate a stubbed graph of the network topology, the stubbed graph removal procedure comprises removing from the graph of the network topology each of the plurality of nodes that is connected to a single edge; inferring at a processor relationships between nodes in the network based on the plurality of BGP routing tables without having access to at least one of the first endpoint node and the second endpoint node, the relationships including customer-provider links, provider-customer links, and peering links, each of the relationships being associated with a respective routing policy; identifying a point, wherein the point is a first hop autonomous system (AS) that a packet sent from the first endpoint node travels to before reaching the second endpoint node, wherein identifying a point comprises; determining a first hop count from first endpoint node to the point, a second hop count from the point to the second endpoint node, and a third hop count from the first endpoint node to the second endpoint node; and identifying the point as a transition point based on a comparison of the first hop count, the second hop count and the third hop count; and determining at the processor the path between the first endpoint node and the second endpoint node, based on the transition point, the routing policies associated with the relationships and the stubbed graph of the network topology. - View Dependent Claims (2, 3, 4)
-
-
5. A system for inferring a path between a first endpoint node and a second endpoint node in a network comprising:
-
means for obtaining a plurality of Border Gateway Protocol (BGP) routing tables; means for generating a graph of the network topology based on the plurality of BGP tables, the graph of the network topology comprising a plurality of nodes and edges, each of the nodes associated with an autonomous system (AS) and each of the edges associated with a connection between two autonomous systems; means for applying a stub removal procedure to generate a stubbed graph of the network topology, the stubbed graph removal procedure comprises removing from the graph of the network topology each of the plurality of nodes that is connected to a single edge; means for inferring relationships between nodes in the network based on the plurality of BGP routing tables without having access to at least one of the first endpoint node and the second endpoint node, the relationships including customer-provider links, provider-customer links, and peering links, each of the relationships being associated with a respective routing policy; means for identifying a point, wherein the point is a first hop autonomous system (AS) that a packet sent from the first endpoint node travels to before reaching the second endpoint node, wherein identifying a point comprises; means for determining a first hop count from first endpoint node to the point, a second hop count from the point to the second endpoint node, and a third hop count from the first endpoint node to the second endpoint node; and means for identifying the point as a transition point based on a comparison of the first hop count, the second hop count and the third hop count; and means for determining the path between the two endpoint nodes based on the routing policies associated with the relationships and the stubbed graph of the network topology. - View Dependent Claims (6, 7, 8)
-
Specification