Sigcomm 2008 paper DisCarte: A Disjunctive Internet Cartographer
Discarte is part of the sidecar package as of version 0.02: sidecar-0.2.tar.gz
Topologies in "adj" format
Adj file format desription
There are two types of lines, "LINK" lines and node lines. Link lines
Link S907_N_U:126.96.36.199 -- R1785_M_C:188.8.131.52 : RR
Saying there is a link from node "S907_N_U" on its 184.108.40.206
interface to node R1785_M_C on its 220.127.116.11 interface, and it was
inferred by RR.
The node identifiers have meaning. They are of the form
< nodetype>< unique id>< annotations> where annotations indidicate all
sorts of information including RR implementation type. The "nodetype"
is one of:
The "unique id" is just a number to assign to that node type.
- E: End-host (destination)
- H: Hidden (probably via MPLS)
- N: NAT
- R: Router
- S: Source (nodes that are both sources and end-hosts are non-deterministically assigned either source or endhost)
And there are many possible annotations, here is a partial key:
The last line of the Link statement (where it says "RR" in the
example above) is what technique was used to infer that link, and can be any of:
- A: Cisco/Departing RR type
- B: Juniper/Arriving RR type
- C: Linux/Mixed RR type
- M: inferred indirectly; direct probe missing, e.g., could be an anonymous router
- N: Not implemented RR type
- U: unknown type (but might be identified later)
There are also node statements for each "nodetype" that look like this:
- "RR": This link was infered from record route and traceroute together; outgoing and incoming IPs are specificed
- "TR": From TTL-limited probes (traceroute); lower confidence link; the IP addresses are the incoming interfaces of each router
- "STR": From record route alone (no traceroute information): the outgoing or loopback interface of each router is listed
- "UNKNOWN": Links that are listed as "UNKNOWN" do not actually exist and should be ignored. They are used for debugging purposes when a trace does not actually reach the intended destination, i.e., on a trace from S to D we learn r1,r2, r3, but after that we hit a firewall and don't know the path from r3 to D, we add a "UNKNOWN" link between r3 and D. All unknown links should be removed from published topologies (only listed here if we made a mistake).
Router R1540_A_U_NOTOFFBY1L_LAYER2 nAlly=2 18.104.22.168 22.214.171.124
This indicates node "R1540" has two aliases 126.96.36.199
188.8.131.52, and that it is of RR type Cisco ("A") and has
the NOTOFFBY1L and LAYER2 annotations.