Description | string | TopologyGraph is a general structure for representing network topologies. Often, a topology graph consists of a set of nodes and a set of edges which connect the nodes. The TopologyGraph structure is slightly different, in order to support multipoint links and to express the connectivity within what would normally be considered a 'node'. Multipoint links occur in entities such as IP subnets, where all of the IP endpoints on the subnet can communicate directly, and Ethernet links where all of the Ethernet interfaces on the shared media can communicate directly. An example of connectivity within a node is when the various endpoints/interfaces on a router are connected through the router's forwarding mechanism. There may be different groups of endpoints which communicate within their groups exclusively. This is modeled as a DeviceConnectivityCollection.
To represent these examples in a graph structure, TopologyGraph generalizes the node and edge structures of a typical graph. It is a collection of ConnectivityCollections, which can communicate with one another, and are at the same protocol layer. ConnectivityCollections are aggregated into Topology Graphs using the MemberOfCollection relationship.
The actual network topology encoded in TopologyGraph is extracted by connecting the ConnectivityCollection instances that share common ProtocolEndpoint instances. For example, if the graph contains three collections, defined as:
- Router1={PE1, PE2}, a DeviceConnectivityCollection
- Link1={PE2, PE3}, an IPConnectivitySubnet
- Router2={PE3, PE4}, a DeviceConnectivityCollection
then we can determine that the PE2 interface on Router1 is connected to the PE3 interface on Router2 via the subnet Link1. By finding all of the endpoints that are in multiple ConnectivityCollections within the graph, and connecting those Collections with common endpoints, we can construct the network topology. |