97 research outputs found
Performance-Driven Internet Path Selection
Internet routing can often be sub-optimal, with the chosen routes providing
worse performance than other available policy-compliant routes. This stems from
the lack of visibility into route performance at the network layer. While this
is an old problem, we argue that recent advances in programmable hardware
finally open up the possibility of performance-aware routing in a deployable,
BGP-compatible manner. We introduce ROUTESCOUT, a hybrid hardware/software
system supporting performance-based routing at ISP scale. In the data plane,
ROUTESCOUT leverages P4-enabled hardware to monitor performance across
policy-compliant route choices for each destination, at line-rate and with a
small memory footprint. ROUTESCOUT's control plane then asynchronously pulls
aggregated performance metrics to synthesize a performance-aware forwarding
policy. We show that ROUTESCOUT can monitor performance across most of an ISP's
traffic, using only 4 MB of memory. Further, its control can flexibly satisfy a
variety of operator objectives, with sub-second operating times
An Open Platform to Teach How the Internet Practically Works
Each year at ETH Zurich, around 100 students collectively build and operate
their very own Internet infrastructure composed of hundreds of routers and
dozens of Autonomous Systems (ASes). Their goal? Enabling Internet-wide
connectivity.
We find this class-wide project to be invaluable in teaching our students how
the Internet infrastructure practically works. Among others, our students have
a much deeper understanding of Internet operations alongside their pitfalls.
Besides students tend to love the project: clearly the fact that all of them
need to cooperate for the entire Internet to work is empowering.
In this paper, we describe the overall design of our teaching platform, how
we use it, and interesting lessons we have learnt over the years. We also make
our platform openly available.Comment: 6 pages, 8 figure
SABRE: Protecting Bitcoin against Routing Attacks
Routing attacks remain practically effective in the Internet today as
existing countermeasures either fail to provide protection guarantees or are
not easily deployable. Blockchain systems are particularly vulnerable to such
attacks as they rely on Internet-wide communication to reach consensus. In
particular, Bitcoin -the most widely-used cryptocurrency- can be split in half
by any AS-level adversary using BGP hijacking. In this paper, we present SABRE,
a secure and scalable Bitcoin relay network which relays blocks worldwide
through a set of connections that are resilient to routing attacks. SABRE runs
alongside the existing peer-to-peer network and is easily deployable. As a
critical system, SABRE design is highly resilient and can efficiently handle
high bandwidth loads, including Denial of Service attacks. We built SABRE
around two key technical insights. First, we leverage fundamental properties of
inter-domain routing (BGP) policies to host relay nodes: (i) in locations that
are inherently protected against routing attacks; and (ii) on paths that are
economically preferred by the majority of Bitcoin clients. These properties are
generic and can be used to protect other Blockchain-based systems. Second, we
leverage the fact that relaying blocks is communication-heavy, not
computation-heavy. This enables us to offload most of the relay operations to
programmable network hardware (using the P4 programming language). Thanks to
this hardware/software co-design, SABRE nodes operate seamlessly under high
load while mitigating the effects of malicious clients. We present a complete
implementation of SABRE together with an extensive evaluation. Our results
demonstrate that SABRE is effective at securing Bitcoin against routing
attacks, even with deployments as small as 6 nodes
RAPTOR: Routing Attacks on Privacy in Tor
The Tor network is a widely used system for anonymous communication. However,
Tor is known to be vulnerable to attackers who can observe traffic at both ends
of the communication path. In this paper, we show that prior attacks are just
the tip of the iceberg. We present a suite of new attacks, called Raptor, that
can be launched by Autonomous Systems (ASes) to compromise user anonymity.
First, AS-level adversaries can exploit the asymmetric nature of Internet
routing to increase the chance of observing at least one direction of user
traffic at both ends of the communication. Second, AS-level adversaries can
exploit natural churn in Internet routing to lie on the BGP paths for more
users over time. Third, strategic adversaries can manipulate Internet routing
via BGP hijacks (to discover the users using specific Tor guard nodes) and
interceptions (to perform traffic analysis). We demonstrate the feasibility of
Raptor attacks by analyzing historical BGP data and Traceroute data as well as
performing real-world attacks on the live Tor network, while ensuring that we
do not harm real users. In addition, we outline the design of two monitoring
frameworks to counter these attacks: BGP monitoring to detect control-plane
attacks, and Traceroute monitoring to detect data-plane anomalies. Overall, our
work motivates the design of anonymity systems that are aware of the dynamics
of Internet routing
Everything Matters in Programmable Packet Scheduling
Programmable packet scheduling allows the deployment of scheduling algorithms
into existing switches without need for hardware redesign. Scheduling
algorithms are programmed by tagging packets with ranks, indicating their
desired priority. Programmable schedulers then execute these algorithms by
serving packets in the order described in their ranks.
The ideal programmable scheduler is a Push-In First-Out (PIFO) queue, which
achieves perfect packet sorting by pushing packets into arbitrary positions in
the queue, while only draining packets from the head. Unfortunately,
implementing PIFO queues in hardware is challenging due to the need to
arbitrarily sort packets at line rate based on their ranks.
In the last years, various techniques have been proposed, approximating PIFO
behaviors using the available resources of existing data planes. While
promising, approaches to date only approximate one of the characteristic
behaviors of PIFO queues (i.e., its scheduling behavior, or its admission
control).
We propose PACKS, the first programmable scheduler that fully approximates
PIFO queues on all their behaviors. PACKS does so by smartly using a set of
strict-priority queues. It uses packet-rank information and queue-occupancy
levels at enqueue to decide: whether to admit packets to the scheduler, and how
to map admitted packets to the different queues.
We fully implement PACKS in P4 and evaluate it on real workloads. We show
that PACKS: better-approximates PIFO than state-of-the-art approaches and
scales. We also show that PACKS runs at line rate on existing hardware (Intel
Tofino).Comment: 12 pages, 12 figures (without references and appendices
Canary: Congestion-Aware In-Network Allreduce Using Dynamic Trees
The allreduce operation is an essential building block for many distributed
applications, ranging from the training of deep learning models to scientific
computing. In an allreduce operation, data from multiple hosts is aggregated
together and then broadcasted to each host participating in the operation.
Allreduce performance can be improved by a factor of two by aggregating the
data directly in the network. Switches aggregate data coming from multiple
ports before forwarding the partially aggregated result to the next hop. In all
existing solutions, each switch needs to know the ports from which it will
receive the data to aggregate. However, this forces packets to traverse a
predefined set of switches, making these solutions prone to congestion. For
this reason, we design Canary, the first congestion-aware in-network allreduce
algorithm. Canary uses load balancing algorithms to forward packets on the
least congested paths. Because switches do not know from which ports they will
receive the data to aggregate, they use timeouts to aggregate the data in a
best-effort way. We develop a P4 Canary prototype and evaluate it on a Tofino
switch. We then validate Canary through simulations on large networks, showing
performance improvements up to 40% compared to the state-of-the-art
Securing Internet Applications from Routing Attacks
Attacks on Internet routing are typically viewed through the lens of
availability and confidentiality, assuming an adversary that either discards
traffic or performs eavesdropping. Yet, a strategic adversary can use routing
attacks to compromise the security of critical Internet applications like Tor,
certificate authorities, and the bitcoin network. In this paper, we survey such
application-specific routing attacks and argue that both application-layer and
network-layer defenses are essential and urgently needed. While
application-layer defenses are easier to deploy in the short term, we hope that
our work serves to provide much needed momentum for the deployment of
network-layer defenses
- …