Distributed Divide-And-Conquer Techniques For Effective Ddos Attack Defenses
Distributed Divide-And-Conquer Techniques For Effective Ddos Attack Defenses
M. Muthuprasanna
Google, Inc.
Mountain View, CA - 94043
[email protected]
G. Manimaran
Iowa State University
Ames, IA - 50011
[email protected]
Abstract
Distributed Denial-of-Service (DDoS) attacks have
emerged as a popular means of causing mass targeted
service disruptions, often for extended periods of time.
The relative ease and low costs of launching such attacks,
supplemented by the current woeful state of any viable
defense mechanism, have made them one of the top threats
to the Internet community today. While distributed packet
logging and/or packet marking have been explored in the
past for DDoS attack traceback/mitigation, we propose to
advance the state of the art by using a novel distributed
divide-and-conquer approach in designing a new data
dissemination architecture that efciently tracks attack
sources. The main focus of our work is to tackle the
three disjoint aspects of the problem, namely attack tree
construction, attack path frequency detection, and packet to
path association, independently and to use succinct recur-
rence relations to express their individual implementations.
We also evaluate the network trafc and storage overhead
induced by our proposed deployment on real-life Internet
topologies, supporting hundreds of victims each subject
to thousands of high-bandwidth ows simultaneously, and
conclude that we can truly achieve single packet traceback
guarantees with minimal overhead and high efciency.
1. Introduction
Denial-of-Service (DoS) attacks pose a signicant threat to
todays Internet. The rst widely reported attacks in early
2000, on Yahoo, Ebay, Amazon, etc. had seriously affected
Internet operations then. Subsequent attacks on root DNS
servers, and others motivated by political and economic
reasons on SCO, RIAA, 2Checkout, BlueSecurity, etc. have
established a disturbing trend. The growing sophistication
of the attacks and the increasing complexity of the Internet
architecture, have rendered many previous DDoS attack
defenses unviable. Nowadays, automatic attacking tools
p (p 1)
l
p 1
(2)
Mark
global
= l log
2
(n) 512 bits (3)
Mark
local
= l log
2
(d) 48 bits (4)
Mark
proposed
= log
2
(p) 32 bits (5)
The use of globally unique IP addresses (or their hash frag-
ments) as router identiers, leads to a large namespace scat-
ter as Internet end-hosts far outnumber the routers. Until
recently, we have used an ordered set union of all unique
intermediate router identiers to identify a routing path
(Eqn. 3). The recent use of multiple local small-worlds that
requires this unique mapping only within some closed do-
main by employing lazy path discovery [11], also ensures
unique routing path identication (Eqn. 4). We propose to
reduce the scope of the problem here by assigning unique
path identiers to only the different trafc sources or tree
leaves, as every routing path uniquely maps to some trafc
source (Eqn. 5), thereby achieving a high degree of com-
pactness. We thus obtain signicant gains by de-coupling
and addressing these different issues independently.
4. Proposed Approach
We now present our novel data dissemination architec-
ture consisting of three independent modules, namely at-
tack tree construction, attack path frequency detection, and
packet to path association. We additionally employ a dis-
tributed divide-and-conquer strategy to represent these dif-
ferent modules using simple recurrence relations. We also
discuss how the proposed architecture makes intelligent use
of the three different layers for data management, namely
out-of-band packet marking, in-band packet marking, and
network/router storage, for effective DDoS attack defense.
4.1. Attack Tree Construction
The attack tree rooted at the victim is essentially an
abstraction of the Internet router-level graph based on
instantaneous packet ows to the victim (where path
insertion needs to be immediate, but path removal can
possibly be lazy), and hence remains static over moderately
short intervals of time. Stated differently, it sufces to
refresh the attack tree either infrequently or in an interrupt-
driven fashion, where triggering happens only when some
critical structural modication occurs. Thus, overloading
in-band packet marking to handle attack tree construction,
would lead to unnecessary repetitive transmissions on a
per-packet basis. Additionally, the resulting packet size ex-
plosion would necessitate a fragmentation scheme, thereby
breaking any feasible single packet traceback guarantees.
Hence we propose to use out-of-band packet marking as
the preferred means of data transmission for the attack
tree. We also avoid the use of independent communication
channels between the victim and the intermediate routers
as in [7], as it is grossly inefcient not only due to possible
redundant transmissions, but also due to the inability of the
intermediate routers deploying tracers/lters to infer their
attack sub-trees without expensive computations.
Recursive Approach: We propose to use a distributed
divide-and-conquer approach by recursively breaking down
the problem at each router into multiple sub-problems, each
in turn handled by that routers neighbors (tree children)
respectively. The solutions to the sub-problems are then
combined and propagated up the attack tree from the trafc
sources to the victim. Thus we adopt a bottom-up approach
rather than the traditional top-down approach controlled by
the victim. If an intermediate router assigns unique labels
to all its immediate children, then the maximum value of
the local identier is at most its degree in the attack tree.
Each router then aggregates the attack sub-trees (T
R
i
) of its
neighbors (children), and forwards it to its immediate up-
stream neighbor. This when implemented by every router
in the attack tree, leads to an incremental attack tree evolu-
tion in a bottom-up yet distributed fashion.
Figure 1. Modular Path Tree
Logical Representation: Consider an abstraction of the at-
tack tree as shown in Fig. 1, showing the attack sub-tree of
some router R
1
, having 4 different tree children, namely
R
2
, R
3
, R
4
, and R
5
. The logical representation of this
sub-tree is then given by Eqn. 6, where D
R
i
and T
R
i
repre-
sent the degree and attack sub-tree of router R
i
respectively.
Eqn. 7 then generalizes this expression for every router in
the attack tree, thus representing the proposed distributed
divide-and-conquer approach as a succinct recurrence rela-
tion, where
R
i
represents the immediate children of R
i
.
T
R
1
= D
R
1
T
R
2
T
R
3
T
R
4
T
R
5
(6)
T
R
i
= D
R
i
R
j
R
i
T
R
j
(7)
Thus the proposed attack tree construction employing
distributed divide-and-conquer techniques, ensures that
each router not only performs minimal computation with
no redundant messaging, but also obtains a global view of
its entire attack sub-tree for (early) incremental ltering.
Physical Representation: The attack sub-tree of router R
1
is expressed as in Eqn. 8, where represents further recur-
sive expansion not shown due to abstraction. Interestingly,
if we tag every node in the attack tree with its degree, then
Eqn. 8 also represents the pre-order traversal (prex nota-
tion) of the attack tree. In [37], the authors discuss the stan-
dard technique used to reconstruct the original k-ary tree,
from its (prex) Polish Notation, if the arity of all the in-
termediate nodes are known. As every attack tree node is
tagged with its degree information, any intermediate router
(or victim) can thus easily reconstruct the unique attack sub-
tree structure from its pre-order traversal.
T
R
1
= 4 2 1 0 3 (8)
The power of this recurrence relation lies in its modularity.
Any structural modication to the attack tree thus supports
a simple plug-n-play design that can propagate up the tree
to the victim, without needing a complete re-computation
of the entire attack tree or affecting other independent
attack sub-trees, as shown by different shaded regions in
Fig. 1. Thus we can closely model the dynamic Internet
routing characteristics, by periodic or triggered update
messages containing only the attack sub-trees that have
been structurally modied. It is to be noted in this context,
that no other scheme in literature provides more robust and
explicit support for dynamic changes to the attack tree,
without complete re-transmission of the attack tree.
Tree Pruning: The maximum size of the attack tree rooted
at the victim is represented by Eqn. 9. For high trafc por-
tals such as Google, Yahoo, etc., the attack tree size can
potentially reach unmanageable levels. Hence, we propose
a tree pruning technique (Prune
R
i
) to dynamically reduce
the attack tree size to more manageable levels. As the tree
size grows linearly with n and hence with p, we choose to
limit the number of actively tracked trafc sources in the at-
tack tree, to bound its size to more practical limits. Eqn. 10
thus represents the new form of the recurrence relation with
pruning possibly supported at multiple intermediate routers
in the network. The distributed nature of the pruning mech-
anism enables individual service/network providers to use
independent custom strategies to ensure local optimality in
tree pruning. A few parameters that can potentially im-
pact its design include: active path frequency or utilization,
feedback from the victim (service subscribers), feedback
from distributed monitoring systems, round-robin dropping
of randomly chosen paths, white/black listing using local
signature databases, etc.
TreeSize
max
= n log
2
(d) (9)
T
R
i
= Prune
R
i
D
R
i
R
j
R
i
T
R
j
(10)
The deployment of tree pruning techniques is completely
optional and does not adversely affect the proposed attack
tree construction technique. However harnessing it provides
signicant gains, as the maximum tree size for monitoring
1 million packet (attack trafc) sources simultaneously, is
only 507KB. Note that p = 1, 000, 000 and l 16
+
unique paths,
(t + k) would lead to unnecessary namespace scatter and
potential size explosion due to inefcient utilization. Hence
optimal namespace utilization is achieved by translating k
to (t
H
R
i
R
j
R
i
T
R
j
(15)
The bottom-up path frequency computation thus helps us
infer tree edge frequencies at upstream routers, as mea-
sured by some downstream router in the attack tree. Thus
we achieve efcient frequency detection at each router with
far fewer path frequency counters, at the expense of minor
increase in the attack tree size, and minor perturbation in
inferred frequencies due to Huffman rounding. Thus the
proposed data dissemination architecture provides realistic
single packet traceback guarantees, with incremental attack
tracing/ltering and a truly distributed implementation.
5.3. Illustration
Figure 3. Sample Attack Tree
We now illustrate the working of the proposed scheme at
each of the intermediate routers in the attack tree. Consider
a sample attack tree as in Fig. 3, where the node and edge
Router Attack Path Tree Attack Path Frequency Tree
R
1
2 R
2
R
3
(()()) 12 R
2
R
3
R
2
0 ()
R
3
3 R
4
R
5
R
6
((()())()) 132 R
4
R
6
R
5
R
4
0 ()
R
5
1 R
7
(()) 1 R
7
R
6
2 R
8
R
9
(()()) 12 R
8
R
9
R
7
0 ()
R
8
0 ()
R
9
0 ()
Table 1. Path Tree & Path Frequency Tree
Path 2 Path 4
R
1
R
3
R
4
R
1
R
3
R
6
R
8
2 1 0 4 3 1 0
Table 2. Path Identiers
labels indicate the different intermediate routers and the ac-
tual trafc distribution respectively. The path labels are de-
rived based on the natural (say, sorted) ordering imposed by
any intermediate router on its immediate children. Table 1
illustrates the path tree and path frequency tree represen-
tations at each of the intermediate routers, while Table 2
illustrates the in-band path identiers as they evolve across
different depths, for packets along paths 2 and 4.
6. Performance Evaluation
We now evaluate the feasibility and the potential over-
head associated with an Internet-wide deployment of
the proposed approach, as measured on real-life Internet
topologies. We analyze the three different layers for data
management, namely out-of-band packet marking, in-band
packet marking, and network/router storage, by measuring
the attack path (frequency) tree size, the unique path
identier size, and the router lookup table size respectively
as the evaluation criteria in our analysis.
We evaluate multiple attack scenarios (Fig. 7) tracking
variable number of attack sources at each router, namely
different tree pruning limits of 1k, 2k, 4k, 8k, 16k, 32k,
64k, 128k and unlimited ows (packet sources) at each
tree depth. We also capture both the average (A) and
maximum (M) values for all the metrics at different tree
depths, as they realistically indicate the utilization and
provisioning requirements respectively. Finally, we dene
an attribute called estimate that shows the average value of
these metrics across all the different tree depths. We have
assumed, in this estimation, that an intermediate router has
an equal probability of being present at any of the different
tree depths, when viewed globally for all the potential
attack victims in the Internet. Although this assumption
might seem inaccurate, it helps us realistically estimate
different benchmarks for any router in todays Internet.
We now use two real-life Internet topologies for our per-
Figure 4. Degree Distribution Figure 5. Freq. Measure (L) Figure 6. Freq. Measure (S)
Figure 7. Attack Scenarios Figure 8. Freq. Infer (L) Figure 9. Freq. Infer (S)
formance evaluation: the datasets obtained from CAIDAs
Skitter [40] and Lumetas Internet Mapping projects [41].
Table 3 shows the statistics for the attack trees obtained
from these different sources. In Fig. 4, we show the aver-
age and maximum router degree at each depth in the attack
tree, for the two datasets. While characterizing the high
variability in the degree distribution, we also notice that the
Skitter dataset shows high clustering near the victim, while
the Lumeta dataset shows a more uniform distribution.
Topology Total Degree Total Depth
Source Routers (avg/max) Leaves (avg/max)
Lumeta 208332 1.78 / 1533 91294 13.33 / 34
Skitter 190112 1.67 / 896 76144 6.22 / 16
Table 3. Attack Tree Statistics
Out-of-band Trafc: Depending on the frequency detec-
tion model being used, Figs. 5, 6 represent the periodically
transmitted attack path tree size, while Figs. 8, 9 represent
the periodically transmitted attack path frequency tree size,
for the two topologies respectively. We see that the average
values at each tree depth closely model the maximum
values at each of those depths. We also notice the Long
Tail phenomenon, indicating the large number of packet
sources, and also the relative sparsity of routers at depths
closer to the packet source (rather than the victim). Also
distinctly visible is the effect of the different attack tree
pruning limits at multiple intermediate routers. While the
maximum attack tree size is 100 & 150KB (highest
at depth 0) for the two models respectively, its average
estimate for any router is a mere 15 & 25KB respectively.
Thus the average data transmission per router per victim in
every refresh interval, is a few kilobytes of control plane
trafc, for multiple gigabytes of data plane attack trafc.
In-band Trafc: We use in-band packet marking for
establishing unique packet to path association in our
proposed approach. Figs. 10, 11 suggest that the attack
tree is dense for the top one-third of its depth, and is
signicantly sparse for further depths from the victim.
An in-band packet marking eld of 17 bits thus sufces
to track 100k packet sources, while 20 bits could track
upward of a million sources, thereby realistically providing
single packet traceback guarantees in todays Internet. As
the different packet marking schemes in the literature use
varying number of packets each with different bit-sizes for
in-band marking, we propose to use the total number of bits
marked in all those packets for obtaining a certain attack
path detection probability [13], as our evaluation criterion.
Fig. 12 shows the total in-band data transmission for path
detection probabilities of 50% and 95%, for PPM [13],
FIT [16], EPM [17], TPM [11], Huffman [21], and our
proposed scheme. It is to be noted that both TPM and Huff-
man additionally require a pushback mechanism, while our
proposed scheme requires an out-of-band periodic (
1
100k
packets) transmission of the attack path (frequency) tree.
Thus we see that our proposed approach not only pro-
Figure 10. Packet Mark (L) Figure 11. Packet Mark (S) Figure 12. Packet Marking
Figure 13. Router Log (L) Figure 14. Router Log (S) Figure 15. Router Storage
vides single packet traceback guarantees with no false
positives/negatives, but also achieves multiple orders of
magnitude improvement with respect to network trafc
(aggregate of in-band and out-of-band) overhead, over
other well-known schemes in the literature.
Router Storage: We use a router hash lookup table for
namespace translation to ensure correctness of the unique
packet to path association. Figs. 13, 14 represent the router
lookup table size at each depth in the attack tree, for the two
topologies respectively. While the maximum lookup table
size is 4KB, its average estimate for any Internet router is
just 0.4KB. As any router needs to store both the lookup
table and the attack path (frequency) tree in local memory,
we now compare the total router storage requirements of
the proposed scheme with other well-known packet logging
schemes, namely HASH [8], RMS [9], Huffman [21]. In
Fig. 15, we notice that the router storage requirements for
the other schemes are dependent on the link speeds, and
also the duration for which they are cached. The proposed
scheme however depends only on the number of victims
being simultaneously supported (100k in Fig. 15) and the
individual tree pruning limits (8k and 32k in Fig. 15); thus
providing greater scalability and exibility by being link
speed and time agnostic, unlike other well-known schemes.
The above analysis defends 100k different victims each tar-
geted by 32k independent high-bandwidth DDoS attackers
simultaneously, and this far exceeds the maximum number
of parallel attack ows that other well-known schemes
can handle. We can further use statistical multiplexing of
the router storage across multiple victims, thereby easily
achieving more than an order of magnitude improvement
over other well-known defense strategies.
We thus see that our proposed approach employing sepa-
ration of duties, while using a bottom-up tree construction
mechanism with optional tree pruning, and utilizing both
packet marking and packet logging paradigms, provides
signicant improvement over other well-known schemes in
the literature. Most importantly, it realistically provides sin-
gle packet traceback guarantees in todays Internet.
7. Conclusions
The steady evolution of distributed denial-of-service
(DDoS) attacks as a vehicle for achieving political, eco-
nomic and commercial gains, and the relative ease, low
costs, and limited accountability in launching such attacks,
have rendered them one of the top threats to todays Inter-
net services. Although various independent DDoS attack
prevention, mitigation, and traceback techniques have been
proposed, their relative uptake has been minimal at best,
due to the lack of a robust, fool-proof, and universal DDoS
attack defense mechanism. In this paper, we propose a new
data dissemination architecture in advancing the state of the
art in DDoS attack traceback and mitigation. We look at the
problem of DDoS attack defense as three disjoint issues,
namely attack tree construction, attack path frequency de-
tection, and packet to path association, and address them in-
dependently in a locally optimal manner. We also propose a
novel distributed divide-and-conquer approach to represent
their individual implementations as succinct recurrence re-
lations. Using performance evaluation on real-life Internet
topologies, we show that we can realistically provide single
packet traceback guarantees for a large number of victims
under heavy trafc loads simultaneously, with very high ef-
ciency and practically no false positives/negatives.
8. Future Work
We now discuss a few critical issues that must be addressed
before the proposed approach can become practically viable
to deploy in todays Internet. Due to space constraints, we
limit our discussion to just a broad outline of the different
issues and our current approach in tackling these problems.
The issues of incremental deployment and scalability
determine the viability of any new technique, and we
propose to use the concept of black-holes in the attack tree
to address these concerns. The tree nodes that hide more
information than they actually reveal would be tagged as
black-holes. Any closed logical boundary of routers when
abstracted to form a single attack tree node (black-hole),
such that all internal routers are legacy routers while all the
peripheral routers support the proposed scheme, can easily
solve the incremental deployment problem. The attack tree
size explosion due to the growth of the Internet, can also
be addressed by dening multiple pseudo-victims in the
original attack tree, such that they appear as black-holes to
the original victim, while they launch their own internal
DDoS attack defense mechanism on their (black-holed)
attack sub-tree. Finally, the crucial black-hole placement
problem can be solved as a special instance of the lter
placement problem [4].
Although the proposed technique does adapt reasonably
well to frequently changing paths and unpredictable rout-
ing dynamics, we could potentially address this issue bet-
ter by temporarily black-holing every node under routing
transition to abstract out the dynamics momentarily. The
potential gains achieved due to this optimization need to
be studied more carefully. Various other performance re-
lated issues such as choosing optimal frequency encoding
and embedding techniques, avoiding repeated instances and
propagation of similar attack sub-trees due to Internet route
changes, etc. also need to be addressed independently.
References
[1] CERT Advisory CA-2000-01, Denial-of-Service developments,
http://www.cert.org/advisories/ca-2000-01.html, 2000.
[2] Joris Evers, Hacking for Dollars, http://news.zdnet.com/2100-1009 22-
5772238.html, 2005.
[3] R. Beverly, S. Bauer, The Spoofer Project: Inferring the extent of Source
Address Filtering on the Internet, USENIX SRUTI, 2005.
[4] Chun-Hsin Wang et.al., Tracers placement for IP Traceback against DDoS
Attacks, ACM IWCMC, 2006.
[5] H. Burch, B. Cheswick, Tracing Anonymous Packets to their approximate
source, USENIX LISA, 2000.
[6] R. Stone, CenterTrack: An IP overlay network for tracking DoS oods,
USENIX Security Symposium, 2000.
[7] S. M. Bellovin, ICMP Traceback Messages, Internet Draft: draft-bellovin-
itrace-00.txt, 2000.
[8] A. Snoeren et.al., Single-Packet IP Traceback, IEEE/ACM Trans. on Net-
working, 10(6), pp. 721-734, 2002.
[9] J. Li et.al., Large-Scale IP Traceback in High-Speed Internet, IEEE Symp.
on Security & Privacy, 2004.
[10] A. Belenky, N. Ansari, IP Traceback with Deterministic Packet Marking,
IEEE Communication Letters, vol. 7(4), 2003.
[11] B. Al-Duwairi, T. Daniels, Topology-based Packet Marking, ICCCN, 2004.
[12] M. Muthuprasanna, G. Manimaran, Space-Time Encoding Scheme for
DDoS Attack Traceback, IEEE GLOBECOM, 2005.
[13] S. Savage, D. Wetherall, A. Karlin, T. Anderson, Practical Network Support
for IP Traceback, ACM SIGCOMM, 2000.
[14] D. Song, A. Perrig, Advanced and Authenticated Marking Schemes for IP
Traceback, IEEE INFOCOM, 2001.
[15] D. Dean et.al., An Algebraic Approach to IP Traceback, ACMTISSEC, 5(2),
pp. 119-137, 2000.
[16] A. Yaar, A. Perrig, D. Song, FIT: Fast Internet Traceback, IEEE INFO-
COM, 2005.
[17] M. Goodrich, Efcient Packet Marking for Large-Scale IP Traceback, ACM
CCS, 2002.
[18] M. Adler, Tradeoffs in Probabilistic Packet Marking for IP Traceback,
STOC, pp. 407-418, 2002.
[19] M. Muthuprasanna, G. Manimaran, M. Alicherry, V. Kumar, Coloring the
Internet: IP Traceback, IEEE ICPADS, 2006.
[20] B. Al-Duwairi, G. Manimaran, Novel Hybrid Schemes employing Packet
Marking & Logging for Traceback, IEEE TPDS, vol. 17(5), 2005.
[21] K. H. Choi, H. K. Dai, A marking scheme using Huffman codes for IP Trace-
back, IEEE ISPAN, 2004.
[22] M. Walsh, M. Vutukuru, H. Balakrishnan, D. Karger, S. Shenker, DDoS
Defense by Offense, ACM SIGCOMM, 2006.
[23] M. Muthuprasanna, G. Manimaran, Z. Wang, Unied Defense against DDoS
Attacks, IFIP NETWORKING, 2007.
[24] P. Ferguson, D. Senie, Network ingress ltering: Defeating denial of service
attacks with employ source address spoong, RFC 2267, 1998.
[25] K. Park, H. Lee, On the Effectiveness of Route-Based Packet ltering for
DDoS Attack Prevention in Power-Law Internets, SIGCOMM, 2001.
[26] J. Li, J. Mirkovic, M. Wang, M. Reiher, L. Zhang, SAVE: Source address
validity enforcement protocol, IEEE INFOCOM, 2001.
[27] C. Jin, H. Wang, K. Shin, Hop-Count Filtering: An effective defense against
spoofed DDoS trafc, ACM CCS, 2003.
[28] A. Keromytis, V. Misra, D. Rubenstein, SOS: An architecture for mitigating
DDoS attacks, IEEE JSAC, vol. 22(1), 2004.
[29] A. Yaar et.al., StackPi: New Packet Marking Filtering Mechanisms for
DDoS & IP Spoong Defense, IEEE JSAC, pp. 1853-1863, 2006.
[30] Y. Kim et.al., PacketScore: A statistical-based overload control against
DDoS attacks, IEEE INFOCOM, 2004.
[31] T. Peng, C. Leckie, K. Ramamohanarao, Protection from DDoS attacks us-
ing history-based IP ltering, IEEE ICC, 2003.
[32] D. Yau, J. Lui, F. Liang, Defending against DDoS attacks with max-min fair
server-centric router throttles, IEEE IWQoS, 2002.
[33] J. Ioannidis, S. Bellovin, Implementing Pushback: Router-based defense
against DDoS attacks, NDSS, 2002.
[34] T. Peng et.al., Survey of Network-based Defense Mechanisms Countering
the DoS and DDoS Problems, ACM Computing Surveys, vol. 39(1), 2007.
[35] T. Cormen, C. Leiserson, R. Rivest, C. Stein, Introduction to Algorithms,
MIT Press, 2001.
[36] A. Fei, G. Pei, R. Liu, L. Zhang, Measurements on Delay and Hop-Count of
the Internet, IEEE GLOBECOM, 1998.
[37] C. Hamblin, Translation to and from Polish Notation, Computer Journal,
vol. 5, pp. 210-213, 1962.
[38] D. A. Huffman, A method for the construction of minimum redundancy
codes, IRE 40, vol. 10, pp. 1098-1101, 1952.
[39] V. Arya, T. Turletti, S. Kalyanaraman, Encodings of Multicast Trees, IFIP
Networking, 2005.
[40] CAIDA, Router-level Topology Measurements, http://www.caida.org/
tools/measurement/skitter/router topology/, 2003.
[41] Bill Cheswick, Internet Mapping Project, http://www.cheswick.com/ches/
map/index.html, 2000.