Pathlet Routing
Pathlet Routing
∗
P. Brighten Godfrey† , Igor Ganichev‡ , Scott Shenker‡§ , and Ion Stoica‡
† University of Illinois at Urbana-Champaign ‡ UC Berkeley § ICSI
[email protected], {igor,shenker,istoica}@cs.berkeley.edu
in out v
w
in out
To mimic BGP’s export rules, in which routes are ex-
ported to only certain neighbors, there are two options.
First, the router may simply not announce certain path-
lets to its neighbors. This mimics BGP “too closely”, since
a neighbor could still use a prohibited path if, for example,
customers customers
it managed to guess the pathlet’s FID. (Similarly, in BGP,
AS vnode
a neighbor could send a packet even when there is no an-
destination vnode
nounced route for the destination IP.) A solution which is
pathlet better than BGP is to enforce policy in the forwarding tables
(tagged with IP prefix)
themselves. For the common valley-free export policy, this
Figure 2: Two ways to implement a local transit can be done with a small constant number of additional vn-
policy are to connect the appropriate ingress-egress odes and pathlets, similar to the LT construction of Fig. 2;
pairs (left), or to group neighbors into classes and we omit the details.
connect the appropriate classes (right). Here we
A BGP-policy router in a mixed setting. In the previ-
show the vnodes and pathlets in one AS to permit
ous example all routers used BGP-style policies. Now con-
valley-free routes.
sider a “mixed” network, where the leftmost router in the
previous example continues using BGP-style policies, but
One difficulty arises with class-based LT policies. If an the others use LT policies. It runs the same algorithm as
AS is internally partitioned, it may not be able to represent before, building a pathlet to each destination. However, it
reachability as a class-based LT policy, which implicitly as- may now have an exponentially large set of possible paths to
sumes that if the provider class can reach the customer class, each destination, rather than one path through each neigh-
then all providers can reach all customers. A solution is for bor. This necessitates a generalization of the BGP decision
the AS to advertise two sets of LT policies, one on each process to select the best path without constructing each op-
side of the partition, in the rare case that it becomes inter- tion explicitly. For example, it could run a least-cost path
nally partitioned. Alternately, the AS can simply continue algorithm, with large costs assigned to its provider links, less
announcing the pathlets; sources will realize that some path- cost on its peering links, and lowest cost on its customer
lets have failed and will switch to a different route, assuming links.
another is available. The resulting pathlet is also slightly different: instead of
adding one hop to a multihop pathlet, it is built by con-
4.2 Mixed Policies catenating multiple short pathlets from the LT nodes, high-
lighted below:
In this section we describe how pathlet routing supports
mixed policies, in particular with some ASes using tradi-
tional BGP-style policies, and some using LT-style. Mixed
policies are important because it allows ASes to make in-
dependent choices about their policies. Some may require The result is a single long pathlet:
restrictive BGP style policies; others may use LT-style poli-
cies, giving up some control but getting the benefit of small
forwarding tables and providing many possible paths. It is
unlikely that either choice would be preferred by all ASes.
We require no new protocol mechanisms to support mixed
policies; routers run the algorithms we have already de- An LT-policy router in a mixed setting. Due to lo-
scribed in Sections 2 and 3, constructing the pathlets ap- cality, an LT router’s pathlets do not depend on pathlets
propriately to match their routing policy. However, since constructed elsewhere. Therefore, it has the same number
we believe this is an important way of using pathlet routing, of pathlets originating from its vnodes, and hence the same
we illustrate the process here. small routing tables regardless of what other routers do.
However, it does have to deal with disseminating other
Emulating BGP. As a prelude, we illustrate the non-mixed routers’ pathlets in the control plane. If an LT node has δ
case when all ASes use BGP-style policies. To emulate BGP, neighbors using BGP-style policies, then it receives O(δn)
each AS constructs one vnode v from which all its pathlets pathlets for a network of size n, and all of these are reach-
originate, and which is its ingress vnode for all neighbors. If able from its ingress vnodes. The router would therefore
it owns an IP prefix, then it has a second vnode w tagged be happy to disseminate them all. In fact, a mixed setting
with the prefix, from which no pathlets depart. It then of BGP-style and LT policy routers could result in O(n2 )
constructs a pathlet from v to every destination it can reach, pathlets usable by LT nodes. However, our dissemination-
along its most-preferred available path. If the destination is limiting mechanisms from Sec. 3.3 will take effect, and only
at w, this is a one-hop pathlet; otherwise it is a multihop a small number of these will be propagated.
4.3 Quality of Service Pathlet routing
We discuss one final novel use of pathlet routing. Our
Feedback-based
protocol’s abstraction of the topology results in a convenient routing
MIRO NIRA
mechanism to set up multiple paths along the same physical
Routing
path. In particular, an AS can construct multiple “parallel” Loose
LISP Deflections,
source routing
pathlets, over the same sequence of vnodes. Packets can Path splicing
then be treated differently depending on which pathlet is
used. For example, an AS could provide better or worse Strict
BGP
source routing
throughput or delay, or more non-traditional services like
reliable packet delivery across that pathlet rather than a full Figure 3: Relative policy expressiveness of the data
end-to-end route, similar to new services proposed by Ford planes of routing protocols. P → Q indicates P can
and Iyengar [10]. To inform sources of these different types emulate the routing policies of Q.
of service, pathlet announcements can be tagged with labels,
or sources could discover performance by measurement or
by a third-party routing appraisal service, as discussed in the graph. Pathlet routing allows routing policies to be spec-
Section 2.5. ified as an arbitrary virtual graph, whose nodes are vnodes
This approach is more flexible and extensible than other and whose directed edges are pathlets.
approaches for several reasons. First, the service is selected
for a specific segment of a path, rather than for the entire
5.2 Definition of policy emulation
path. Thus, different combinations of services are possible Our analysis focuses on the data plane: the information
and an AS which is not involved in providing a particular carried in a packet and in the forwarding table, and forward-
type of service does not need to support that service or even ing operations. We found that considering only the data
be aware of what services a packet is using in other ASes. plane gives a much cleaner and more well-defined way of rea-
Second, the bits in the packet header are not tied to a small soning about protocols, compared with modeling both the
number of predetermined meanings (as in, for example, IP’s data and control planes. We will also discuss control plane
Type of Service bits). Instead, the header bits (FIDs) are differences between the protocols, leaving rigorous analysis
tied to a much more extensible control plane announcement of their control planes to future work.
by the AS providing the service. A configuration of a protocol is defined by an arrange-
One drawback is that the amount of routing state in- ment of forwarding table state at each router. Given a con-
creases as more types of service are offered. However, in figuration c1 from protocol P and a configuration c2 from
terms of forwarding plane state, this only affects the ASes protocol Q, we say that c1 covers c2 when
that are offering the service; and if an AS is using policies
• every end-to-end route which is allowed in c1 is also
like Local Transit policies, the amount of forwarding plane
allowed in c2 , and every end-to-end route which is pro-
state is quite small to begin with.
hibited in c1 is also prohibited in c2 ; and
5. POLICY EXPRESSIVENESS ANALYSIS • for each router i, |c1 (i)| = O(|c2 (i)|), where |cj (i)| de-
In this section, we develop a framework for comparing notes the amount of forwarding state for router i in
routing protocols. We show that pathlet routing’s data configuration j.
plane can emulate any policy expressible in the data plane
of several existing protocols using a similar amount of state, Finally, we say that protocol P can emulate Q if for every
even though these protocols have substantially different for- configuration c2 of Q, there is a configuration c1 of P such
warding architectures. Our goal is to support the claim that that c1 covers c2 . In other words, if P can emulate Q, then
pathlet routing is highly expressive, but we also believe this P can match every possible outcome of Q in terms of allowed
framework is of independent interest since it takes a step paths, prohibited paths, and forwarding table size.
towards making sense of the large number of proposed pro- This definition is limited. We have chosen not to incor-
tocols in this area. porate aspects of policy like the price of a route, visibility
We begin by discussing intuition for pathlet routing’s flex- of routes, misbehavior outside the rules of the protocol, or
ibility (§5.1). We then we define policy emulation (§5.2) and game-theoretic aspects like which outcomes might actually
discuss the protocols pathlet routing can emulate (§5.3) and arise under selfish behavior, or the control plane as discussed
those it cannot (§5.4), highlighting some limitations of our above. However, we believe that policy emulation provides
protocol. These results are summarized in Figure 3. a way to begin reasoning about the relative strengths of dif-
ferent protocols.
5.1 Intuition
Why does pathlet routing appear to be so flexible, gener-
5.3 Protocols pathlet routing can emulate
alizing multiple other routing protocols? One piece of the Due to space constraints, we only briefly describe some of
intuition is that many protocols incorporate some variant of the protocols and the emulation relationships between them.
tunneling. Our pathlet construct elevates the tunnel to be BGP [25]. We outlined how pathlet routing can emulate
a “first-class object” that can be advertised, concatenated, BGP (in both the data an control planes) in Section 4.2.
and source-routed. We will repeatedly use pathlets to emu-
late tunnel-like features of other protocols. However, this is NIRA [30] offers more choice to sources than BGP, while
only part of the story since we also utilize vnodes. simultaneously reducing control plane state. IP addresses
At a higher level, the following intuition is simple yet pow- are assigned so they encode a specific path between a router
erful. One of the most flexible and general abstractions is and the “core” of the Internet or a peering point. A source
and destination IP address together specify a full end-to- “tag” [31] or “splicing bits” [23] to specify which alternative
end route. The most challenging part of emulating NIRA is used at each step. The selected path is essentially a pseu-
is that an AS can allow or prohibit routes based on the up- dorandom function of the tag.
stream hops as far back as the core providers. In contrast, Pathlet routing cannot emulate these protocols due to the
in the usages of pathlet routing we have seen so far, policies handling of tags. In [31] the tag has too few bits to repre-
depend only on the immediately prior hop and any down- sent the set of all possible routes that the routers intended
stream hops. However, it is possible to construct vnodes to to permit, so the de facto set of allowed routes is a pseudo-
encode the packet’s upstream hops, using the same amount random subset of those—an effect which to the best of our
of state as NIRA. This requires some coordination of vnode knowledge pathlet routing cannot reproduce. One mode of
names in the control plane between neighbors, but no data operation in [23] behaves the same way. A second mode of
plane changes. operation in [23] uses a list of source-route bits to explicitly
The basic NIRA protocol is limited to valley-free routes, select the next hop at each router; pathlet routing would be
so it cannot emulate the other protocols we consider. An ex- able to emulate this version.
tension including a source-routing option is described in [29] But there is also a problem in the control plane. Even
but is not analyzed here. if pathlet routing can match the allowed paths in the data
plane, actually using the paths would require the senders to
Locator/ID Separation Protocol (LISP) [9] maps a know what FIDs to put in the packet header. Because [31,
topology-independent endpoint ID into an egress tunnel router. 23] allow per-destination policies as in BGP, this can result
BGP is used to tunnel a packet to its destination’s egress in a large amount of control plane state in pathlet rout-
tunnel router, which delivers it to the final destination us- ing. Routing deflections and path splicing avoid this control
ing the endpoint ID. This arrangement can reduce forward- plane state by not propagating alternate path information;
ing state since most routers need only know about egresses, the tradeoff is that the senders and ASes in those protocols
rather than all endpoints. Pathlet routing can emulate LISP cannot identify which end-to-end paths are being used.
by concatenating a pathlet representing the tunnel and a
pathlet representing the remainder of the route.
6. EXPERIMENTAL EVALUATION
IP strict source routing [8], IP loose source rout- We implemented pathlet routing as a custom software
ing [8] and MIRO [28]. Pathlet routing can emulate these router, and evaluated it in a cluster environment. We de-
protocols in a straightforward manner. The common thread scribe the structure of our implementation in Sec. 6.1, the
in these protocols and LISP is routing via waypoints or tun- evaluation scenarios in Sec. 6.2, and the results in Sec. 6.3.
nels, which we find can be emulated with MIRO’s data plane.
(Note, however, that MIRO’s data and control planes were 6.1 Implementation
intended for a significantly different usage scenario in which We implemented pathlet routing as a user-space software
most paths are set up via standard BGP and a relatively router, depicted in Fig. 4. Each router runs as a separate
small number of additional tunnels are constructed.) We process and connects to its neighbors using TCP connec-
omit a full description due to space constraints. tions, on which it sends both data and control traffic.
5.4 Protocols pathlet routing cannot emulate Our router contains three main modules: a vnode man-
ager, a disseminator, and a controller. Through the imple-
Feedback Based Routing (FBR) [32] is source routing mentation we found that it is possible to shield the core
at the AS level, with each link tagged with an access control policy module (the controller) from the details of pathlet
rule. A rule either whitelists or blacklists a packet based dissemination and vnode management, making it compact
on prefixes of its source or destination IP address. Pathlet and easy to tune to the specific needs an AS might have.
routing cannot emulate FBR for two reasons. First, it is We describe these three modules briefly.
difficult for pathlet routing to represent policies based on
upstream hops. Essentially, the only way to carry utilizable
information about a packet’s origin is to encode the origin Install/remove
into the vnodes the packet follows, which would increase the forwarding entries
Fraction of Samples
0.8 LT 0.8
Fraction of Samples
Figure 5: Forwarding table LT in Mixed PV in Mixed
0.6 PV in Mixed 0.6 PV
(FIB) size for the Internet-
0.4 PV 0.4
like topology (left) and the
random graph (right). 0.2 0.2
0.0 0.0
0 100 200 300 400 0 100 200 300 400
Number of Forwarding Table Entries Number of Forwarding Table Entries
Figure 6: Probability of disconnection for a varying number of link failures in the Internet-like topology (left)
and the random graph (center), and as a function of the number of LT nodes (right).
Internet-Like Random
1.0 1.0
0.8 0.8
Figure 7: CDF of the
Fraction of Samples
Fraction of Samples
0.0 0.0
100 101 102 103 100 101 102 103 104
Number of Messages Number of Messages
Average Number of Messages Received by a Router Average Maximum Control Memory at a Router During
During Initial Convergence. Convergence and Failure/Recovery of Each Link
3000 180
LT PV in MX
PV in MX 160 LT
2500 LT in MX LT in MX
140
Control Memory Size in KB
PV PV
Number of Messages
2000
Figure 8: Scaling of messag- 120
ing and control memory in 1500 100
the Internet-like graph, for
100, 200, 300, 400, and 500 80
1000
nodes. 60
500
40
0
100 150 200 250 300 350 400 450 500 20
100 150 200 250 300 350 400 450 500
Topology Size Topology Size
Internet-Like Random
1.0 1.0
0.8 0.8
Fraction of Samples
Fraction of Samples
Figure 9: CDF of the size of 0.6 PV 0.6 PV
the route field in the packet PV in Mixed PV in Mixed
header, for the Internet-like LT in Mixed LT in Mixed
0.4 LT 0.4 LT
topology (left) and the ran-
dom graph (right).
0.2 0.2
0.0 0.0
0 2 4 6 8 10 12 0 2 4 6 8 10 12
Maximum Header Size (bytes) Maximum Header Size (bytes)
decision process) cause it to switch back to paths using the of bits may vary as the packet travels along the route; we
recovered link. In contrast, in the LT case we need only report the maximum (which for LT policies occurs at the
advertise a single pathlet for the recovered link (see discus- source).
sion in Sec. 3.2). Second, according to our dissemination Header length scales with the path length. In our Internet-
algorithm (Sec. 3.3), many of those 5.19 pathlets are never like graph, the mean path length is 2.96 and headers average
disseminated to some parts of the network, because they are 4.21 bytes. An AS-level topology of the Internet mapped by
not reachable. CAIDA [5] from Jan 22 2009 has mean path length 3.77,
In the random graph topology, the second factor is not so we could therefore extrapolate that mean header length
true. Not only does every router learn all pathlets, but it would be about 27% greater in a full Internet topology, i.e.,
learns them from all of its neighbors. The result is 10.3× less than 6 bytes, assuming other characteristics of the topol-
as many messages as PV. However, this can be reduced if ogy remain constant. Even the maximum header length of
nodes simply advertise fewer pathlets, which is safe as long 12.5 bytes in our implementation would not add prohibitive
as the advertised pathlets reach every destination. The line overhead to packet headers.
“LT Tree” in Fig. 7 shows the case when we advertise only
a tree reaching all destinations (described in Sec. 3.3). This
reduces the messaging overhead to just 2.23×. The tradeoff 7. RELATED WORK
is that there are fewer choices of paths, and connectivity in We have compared the policy expressiveness of a num-
the face of failures is worsened, as shown in Fig. 6. ber of multipath routing protocols in Section 5. Here we
Fig. 8 plots the messaging cost for initial convergence as a compare other aspects of the protocols.
function of n, the number of nodes in the topology. LT and MIRO [28] uses BGP routes by default. Only those ASes
PV have similar scaling properties for this metric because which need an alternate path (say, to avoid routing through
both, like BGP, use a path vector dissemination algorithm one particularly undesirable AS) need to set up a path.
to announce objects; PV announces one object per node and But this increases the latency of constructing a path, and
LT announces O(δ) (where δ is the number of neighbors), increases forwarding plane state if there are many paths.
which is independent of n. MIRO is likely easier to deploy than pathlet routing in to-
day’s network of BGP routers.
Control plane memory. Since control plane memory use
NIRA [30] provides multiple paths and very small for-
is dependent on the implementation, we evaluate its scal-
warding and control state as long as all routers have short
ing properties. Asymptotically, if the n nodes each have δ
paths to the “core”; but for arbitrary networks, forwarding
neighbors and the mean path length is `, BGP and PV poli-
state may be exponentially large. The scheme requires a po-
cies need to store Θ(n) announcements of mean size Θ(`)
tentially complicated assignment of IP addresses, and works
from up to δ neighbors, for a total of Θ(nδ`) state in the
primarily for Internet-like topologies with valley-free routing
worst case. In a full LT deployment there are Θ(δn) path-
policies. Exceptions to these policies may be difficult.
lets; each announcement has size Θ(`) and is learned from
Routing deflections [31] and path splicing [23] permit poli-
up to d neighbors, for a total of Θ(nδ 2 `) in the worst case.
cies specified on a per-destination basis, while still providing
Fig. 8 shows the mean (over routers and over three trials)
many path choices with limited deviations from the primary
of the maximum (over time for each of trial) of the control
paths. However, sources are not aware of what paths they
plane state at each router. A trial consists of allowing the
are using, [31] has relatively limited choice of paths, and [23]
network to converge and then failing and recovering each
can encounter forwarding loops.
link once. The results confirm that PV and LT policies scale
IP’s strict source routing and loose source routing [8] pro-
similarly as a function of n. It is also apparent that with
vide source-controlled routing but have limited control for
the Internet-like topologies, we don’t reach the worst case
policies. For this reason and due to security concerns un-
in which LT is a factor δ worse than P V .
related to our setting, they are not widely used. They can
It may be possible to optimize our dissemination algo-
also result in long headers because each hop is specified as
rithm to reduce control state and messaging; see Sec. 8.
an IP address, unlike our compact forwarding identifiers.
Header size. Fig. 9 shows the CDF over source-destination Feedback based routing [32] suggested source-based route
pairs (X, Y ) of the number of bits in the route field of the quality monitoring that is likely to be a useful approach for
packet header for the shortest X ; Y route. The number pathlet routing.
Platypus [24] is similar to loose source routing except each 9. REFERENCES
waypoint can be used only by authorized sources to reach ei- [1] D. G. Andersen, H. Balakrishnan, M. F. Kaashoek, and
R. Morris. Resilient overlay networks. In Proc. 18th ACM
ther any destination, or a specified IP prefix. Pathlet routing SOSP, October 2001.
supports a different set of policies and enforces these using [2] Routing table report.
the presence or absence of forwarding tables, rather than http://thyme.apnic.net/ap-data/2009/01/05/0400/mail-global.
cryptography. [3] Avaya. Converged network analyzer.
http://www.avaya.com/master-usa/en-
R-BGP [18] adds a small number of backup paths that us/resource/assets/whitepapers/ef-lb2687.pdf.
ensure continuous connectivity under a single failure, with [4] B. Awerbuch, D. Holmer, H. Rubens, and R. Kleinberg.
relatively minimal changes to BGP. However, it somewhat Provably competitive adaptive routing. In INFOCOM, 2005.
increases forwarding plane state and is not a full multipath [5] CAIDA AS ranking. http://as-rank.caida.org/.
[6] D. Clark, J. Wroclawski, K. Sollins, and R. Braden. Tussle in
solution. For example, sources could not use alternate paths cyberspace: defining tomorrow’s Internet. In SIGCOMM, 2002.
to improve path quality. [7] X. Dimitropoulos, D. Krioukov, A. Vahdat, and G. Riley.
LISP [9] reduces forwarding state and provides multiple Graph annotations in modeling complex network topologies.
paths while remaining compatible with today’s Internet. Al- ACM Transactions on Modeling and Computer Simulation
(to appear), 2009.
though it can limit expansion of forwarding table size, LISP’s [8] J. P. (ed.). DARPA internet program protocol specification. In
forwarding tables would still scale with the size of the non- RFC791, September 1981.
stub Internet, as opposed to scaling with the number of [9] D. Farinacci, V. Fuller, D. Meyer, and D. Lewis. Locator/ID
neighbors as in our LT policies. separation protocol (LISP). In Internet-Draft, March 2009.
[10] B. Ford and J. Iyengar. Breaking up the transport logjam. In
MPLS [26] has tunnels and labels similar to our pathlets HOTNETS, 2008.
and FIDs. It also shares the high level design of having the [11] L. Gao and J. Rexford. Stable Internet routing without global
source or ingress router map an IP address to a sequence coordination. IEEE/ACM Transactions on Networking,
of labels forming a source route. However the common use 9(6):681–692, December 2001.
[12] P. B. Godfrey, M. Caesar, I. Haken, S. Shenker, and I. Stoica.
of these mechanisms is substantially different from pathlet Stable Internet route selection. In NANOG 40, June 2007.
routing: tunnels are not typically concatenated into new, [13] T. Griffin and J. Sobrinho. Metarouting. In ACM SIGCOMM,
longer tunnels, or inductively built by adding one hop at 2005.
a time. To the best of our knowledge MPLS has not been [14] K. P. Gummadi, H. V. Madhyastha, S. D. Gribble, H. M. Levy,
and D. Wetherall. Improving the reliability of internet paths
adapted to an interdomain policy-aware routing. with one-hop source routing. In Proc. OSDI, 2004.
Metarouting [13], like pathlet routing, generalizes routing [15] G. Huston. BGP routing table analysis reports, 2009.
protocols. It would be interesting to explore whether pathlet http://bgp.potaroo.net/.
routing can be represented in the language of [13]. [16] E. Karpilovsky and J. Rexford. Using forgetful routing to
control BGP table size. In CoNEXT, 2006.
[17] N. Kushman, S. Kandula, and D. Katabi. Can you hear me
8. CONCLUSION now?! it must be BGP. In Computer Communication Review,
2007.
Pathlet routing offers a novel routing architecture. Through [18] N. Kushman, S. Kandula, D. Katabi, and B. Maggs. R-BGP:
its building blocks of vnodes and pathlets, it supports com- Staying connected in a connected world. In NSDI, 2007.
plex BGP-style policies while enabling and incentivizing the [19] C. Labovitz, A. Ahuja, A. Bose, and F. Jahanian. Delayed
adoption of policies that yield small forwarding plane state Internet routing convergence. In ACM SIGCOMM, 2000.
[20] K. Lakshminarayanan, I. Stoica, S. Shenker, and J. Rexford.
and a high degree of path choice. We next briefly discuss Routing as a service. Technical Report UCB/EECS-2006-19,
some limitations and future directions. UC Berkeley, February 2006.
We suspect it is possible to optimize our path vector-based [21] Z. M. Mao, R. Bush, T. Griffin, and M. Roughan. BGP
pathlet dissemination algorithm. The techniques of [16] may beacons. In IMC, 2003.
[22] D. Meyer, L. Zhang, and K. Fall. Report from the iab workshop
be very easy to apply in our setting to reduce control plane on routing and addressing. In RFC2439, September 2007.
memory use from O(δ`) to O(`) per pathlet, where δ is the [23] M. Motiwala, M. Elmore, N. Feamster, and S. Vempala. Path
number of neighbors and ` is the mean path length. Routers splicing. In ACM SIGCOMM, 2008.
could also pick dissemination paths based on heuristics to [24] B. Raghavan and A. C. Snoeren. A system for authenticated
policy-compliant routing. In ACM SIGCOMM, 2004.
predict stability, which for common failure patterns can sig-
[25] Y. Rekhter, T. Li, and S. Hares. A border gateway protocol 4
nificantly reduce the number of update messages [12]. The (BGP-4). In RFC4271, January 2006.
more radical approach of [30] could also be used to dramat- [26] E. Rosen, A. Viswanathan, and R. Callon. Multiprotocol label
ically reduce state in Internet-like environments. switching architecture. In RFC3031, January 2001.
Traffic engineering is an important aspect of routing that [27] S. Savage, T. Anderson, A. Aggarwal, D. Becker, N. Cardwell,
A. Collins, E. Hoffman, J. Snell, A. Vahdat, G. Voelker, and
we have not evaluated. One common technique—advertising J. Zahorjan. Detour: Informed Internet routing and transport.
different IP to different neighbors to control inbound traffic— In IEEE Micro, January 1999.
is straightforward to do in our LT policies. But source- [28] W. Xu and J. Rexford. MIRO: Multi-path Interdomain
ROuting. In SIGCOMM, 2006.
controlled routing would dramatically change the nature of
[29] X. Yang. NIRA: a new Internet routing architecture. Technical
traffic engineering, potentially making it more difficult for Report Ph.D. Thesis, MIT-LCS-TR-967, Massachusetts
ISPs (since they have less control) and potentially making Institute of Technology, September 2004.
it easier (since sources can dynamically balance load). [30] X. Yang, D. Clark, and A. Berger. NIRA: a new inter-domain
routing architecture. IEEE/ACM Transactions on
Networking, 15(4):775–788, 2007.
Acknowledgements [31] X. Yang and D. Wetherall. Source selectable path diversity via
routing deflections. In ACM SIGCOMM, 2006.
We thank the authors of [7] for supplying the Internet-like [32] D. Zhu, M. Gritter, and D. Cheriton. Feedback based routing.
topologies. Computer Communication Review (CCR), 33(1):71–76, 2003.