Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container Registry
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
The Tor Project
Core
Tor
Commits
c1cbb16e
Commit
c1cbb16e
authored
21 years ago
by
Roger Dingledine
Browse files
Options
Downloads
Patches
Plain Diff
add some informal performance statements
tighten the tex svn:r1021
parent
9df14792
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/tor-design.tex
+34
-27
34 additions, 27 deletions
doc/tor-design.tex
with
34 additions
and
27 deletions
doc/tor-design.tex
+
34
−
27
View file @
c1cbb16e
...
...
@@ -87,7 +87,7 @@ the circuit. Traffic flows down the circuit in fixed-size
\emph
{
cells
}
, which are unwrapped by a symmetric key at each node
(like the layers of an onion) and relayed downstream. The
Onion Routing project published several design and analysis
papers
~
\cite
{
or-ih96,or-jsac98,or-discex00,or-pet00
}
. While a wide area Onion
papers
\cite
{
or-ih96,or-jsac98,or-discex00,or-pet00
}
. While a wide area Onion
Routing network was deployed briefly, the only long-running
public implementation was a fragile
proof-of-concept that ran on a single machine. Even this simple deployment
...
...
@@ -243,8 +243,9 @@ design~\cite{chaum-mix}. Chaum
proposed hiding the correspondence between sender and recipient by
wrapping messages in layers of public-key cryptography, and relaying them
through a path composed of ``mixes.'' Each mix in turn
decrypts, delays, and re-orders messages, before relaying them toward
their destinations.
decrypts, delays, and re-orders messages, before relaying them
onward.
%toward their destinations.
Subsequent relay-based anonymity designs have diverged in two
main directions. Systems like
{
\bf
Babel
}
~
\cite
{
babel
}
,
...
...
@@ -1495,15 +1496,15 @@ in~\cite{mix-acc}.\\
\Section
{
Early experiences: Tor in the Wild
}
\label
{
sec:in-the-wild
}
As of mid-January 2004, the Tor network consists of 1
6
nodes
(1
4
in the US, 2 in Europe), and more are joining each week as the code
As of mid-January 2004, the Tor network consists of 1
7
nodes
(1
5
in the US, 2 in Europe), and more are joining each week as the code
matures.
\footnote
{
For comparison, the current remailer network
has about 30 reliable nodes. We haven't asked PlanetLab to provide
Tor nodes, since their AUP wouldn't allow exit nodes (see
also~
\cite
{
darkside
}
) and because we aim to build a long-term community of
node operators and developers.
}
Each node has at least a 768Kb/768Kb
connection, and
m
ost
have 10Mb. The number of users varies (and of course, it's hard to
m
any
have 10Mb. The number of users varies (and of course, it's hard to
tell for sure), but we sometimes have several hundred users---administrators at
several companies have begun sending their entire departments' web
traffic through Tor, to block other divisions of
...
...
@@ -1520,15 +1521,7 @@ experience, and assuming we can resolve the anonymity issues, we may
partition traffic into two relay cell sizes: one to handle
bulk traffic and one for interactive traffic.
%We haven't asked to use PlanetLab~\cite{planetlab} to provide more nodes,
%because their AUP excludes projects like Tor (see also \cite{darkside}).
% I'm confused. Why are we mentioning PlanetLab at all? Could we perhaps
% be more generic? -NM
%We have had no abuse issues since the network was deployed in October
%2003. Our default exit policy rejects SMTP requests, to proactively
%avoid spam issues.
Based in part on our restrictive default exit policy (we
% proactively chose to
reject SMTP requests) and our low profile, we have had no abuse
issues since the network was deployed in October
2003. Our slow growth rate gives us time to add features,
...
...
@@ -1538,19 +1531,38 @@ anonymity sets, we are not eager to attract the Kazaa or warez
communities---we feel that we must build a reputation for privacy, human
rights, research, and other socially laudable activities.
As for performance, profiling shows that
the Tor program itself
spends almost
As for performance, profiling shows that
Tor
spends almost
all its CPU time in AES, which is fast. Current latency is attributable
to two factors. First, network latency is critical: we are
intentionally bouncing traffic around the world several times. Second,
our end-to-end congestion control algorithm focuses on protecting
volunteer servers from accidental DoS rather than optimizing
performance. Right now the first
$
500
\times
500
\mbox
{
B
}
=
250
\mbox
{
KB
}$
of the stream arrives
quickly, and after that throughput depends on the rate that
\emph
{
relay
sendme
}
acknowledgments arrive. We can tweak the congestion control
performance.
% Right now the first $500 \times 500\mbox{B}=250\mbox{KB}$
%of the stream arrives
%quickly, and after that throughput depends on the rate that \emph{relay
%sendme} acknowledgments arrive.
For example, we did some informal tests using a test network of 4 nodes on
the same machine. We downloaded a 60 megabyte file from
{
\tt
debian.org
}
every 30 minutes for 2 days (100 sample points). It arrived in about
300 seconds on average, compared to 210s for a direct download. We ran
the same test on the main Tor network, pulling down the front page of
{
\tt
cnn.com
}
: while a direct download consistently took about 0.5s,
the performance through Tor was highly variable. Some downloads were
as fast as 0.6s, with others as slow as 25s (the average was 2.5s). It
seems that as the network expands, the chance of getting a slow circuit
(one that includes a slow or heavily loaded Tor node) is increasing. On
the other hand, we still have users, so this performance is good enough
for now.
%With the current network's topology and load, users can typically get 1-2
%megabits sustained transfer rate, which is good enough for now.
Indeed, the Tor
design aims foremost to provide a security research platform; performance
only needs to be sufficient to retain users~
\cite
{
econymics,back01
}
.
We can tweak the congestion control
parameters to provide faster throughput at the cost of
larger buffers at each node; adding the heuristics mentioned in
Section~
\ref
{
subsec:rate-limit
}
to
give better speed to
low-volume
Section~
\ref
{
subsec:rate-limit
}
to
favor
low-volume
streams may also help. More research remains to find the
right balance.
% We should say _HOW MUCH_ latency there is in these cases. -NM
...
...
@@ -1558,14 +1570,9 @@ right balance.
%performs badly on lossy networks. may need airhook or something else as
%transport alternative?
With the current network's topology and load, users can typically get 1-2
megabits sustained transfer rate, which is good enough for now. The Tor
design aims foremost to provide a security research platform; performance
only needs to be sufficient to retain users~
\cite
{
econymics,back01
}
.
Although Tor's clique topology and full-visibility directories present
scaling problems, we still expect the network to support a few hundred
nodes and
perhaps
10,000 users before we're forced to
make the network
nodes and
maybe
10,000 users before we're forced to
become
more distributed. With luck, the experience we gain running the current
topology will help us choose among alternatives when the time comes.
...
...
@@ -1781,7 +1788,7 @@ our overall usability.
\appendix
\Section
{
Rendezvous points and hidden services
: Specifics
}
\Section
{
Rendezvous points and hidden services
}
\label
{
sec:rendezvous-specifics
}
In this appendix we provide more specifics about the rendezvous points
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment