diff options
author | Nick Mathewson <nickm@torproject.org> | 2023-11-09 09:56:06 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2023-11-09 09:56:06 -0500 |
commit | 38fa996c1cd8691cbd57b8fab543e74b33501fe3 (patch) | |
tree | bc16460b062fff21ceca38363c228d2919b9cd4f /spec/intro/index.md | |
parent | adbb0115100a6413727e2a02c524c2f3ae050728 (diff) | |
download | torspec-38fa996c1cd8691cbd57b8fab543e74b33501fe3.tar.gz torspec-38fa996c1cd8691cbd57b8fab543e74b33501fe3.zip |
Fix links in introduction.
Diffstat (limited to 'spec/intro/index.md')
-rw-r--r-- | spec/intro/index.md | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/spec/intro/index.md b/spec/intro/index.md index f6f3d5d..894d7e0 100644 --- a/spec/intro/index.md +++ b/spec/intro/index.md @@ -19,14 +19,14 @@ it finds a cache by looking at a list of stable cache locations, distributed along with its source code.) > For more information on the directory subsystem, -> see the [directory protocol specification](./dir-spec). +> see the [directory protocol specification](../dir-spec). After the client knows the relays on the network, -it can pick a relay and open a [**channel**](./tor-spec/channels.md) +it can pick a relay and open a [**channel**](../tor-spec/channels.md) to one of these relays. A channel is an encrypted reliable non-anonymous transport between a client and a relay or a relay and a relay, -used to transmit messages called [**cells**](./tor-spec/cell-packet-format.md). +used to transmit messages called [**cells**](../tor-spec/cell-packet-format.md). (Under the hood, a channel is just a TLS connection over TCP, with a specified encoding for cells.) @@ -36,37 +36,37 @@ and opens a channel to the first relay on the path (if it does not already have a channel open to that relay). The client then uses that channel to build a multi-hop cryptographic structure -called a [**circuit**](./tor-spec/circuit-management.md). +called a [**circuit**](../tor-spec/circuit-management.md). A circuit is built over a sequence of relays (typically three). Every relay in the circuit knows its precessor and successor, but no other relays in the circuit. Many circuits can be multiplexed over a single channel. > For more information on how paths are selected, -> see the [path specification](./path-spec). +> see the [path specification](../path-spec). > The first hop on a path, > also called a **guard node**, > has complicated rules for its selection; -> for more on those, see the [guard specification](./guard-spec). +> for more on those, see the [guard specification](../guard-spec). Once a circuit exists, the client can use it to exchange fixed-length -[**relay cells**](./tor-spec/relay-cells.md) +[**relay cells**](../tor-spec/relay-cells.md) with any relay on the circuit. These relay cells are wrapped in multiple layers of encryption: as part of building the circuit, -the client [negotiates](./tor-spec/create-created-cells.md) +the client [negotiates](../tor-spec/create-created-cells.md) a separate set of symmetric keys with each relay on the circuit. Each relay removes (or adds) -a [single layer of encryption](./tor-spec/routing-relay-cells.md) +a [single layer of encryption](../tor-spec/routing-relay-cells.md) for each relay cell before passing it on. A client uses these relay cells -to exchange [**relay messages**](./tor-spec/relay-cells.md) with relays on a circuit. +to exchange [**relay messages**](../tor-spec/relay-cells.md) with relays on a circuit. These "relay messages" in turn are used to actually deliver traffic over the network. -In the [simplest use case](./tor-spec/opening-streams.md), +In the [simplest use case](../tor-spec/opening-streams.md), the client sends a `BEGIN` message to tell the last relay on the circuit (called the **exit node**) @@ -84,7 +84,7 @@ to represent the contents of the anonymized stream. > This is because, until recently, > there was a 1-to-1 relationship between the two: > every relay cell held a single relay message. -> As [proposal 340](proposals/340-packed-and-fragmented.md) is implemented, +> As [proposal 340](../proposals/340-packed-and-fragmented.md) is implemented, > we will revise the specifications > for improved clarify on this point. @@ -103,7 +103,7 @@ depending on capacity and performance. > For more on conflux, > which has been integrated into the C tor implementation, > but not yet (as of 2023) into this document, -> see [proposal 329](proposals/329-traffic-splitting.txt). +> see [proposal 329](../proposals/329-traffic-splitting.txt). ### Advanced topics: Onion services and responder anonymity {#onions} @@ -117,7 +117,7 @@ is called **onion services** in some older documentation). > For the details on onion services, -> see the [Tor Rendezvous Specification](./rend-spec). +> see the [Tor Rendezvous Specification](../rend-spec). ### Advanced topics: Censorship resistence {#anticensorship} @@ -129,12 +129,12 @@ and by blocking traffic that resembles Tor. To resist this censorship, some Tor relays, called **bridges**, are unlisted in the public directory: -their addresses are distributed by [other means](./bridgedb-spec.md). +their addresses are distributed by [other means](../bridgedb-spec.md). (To distinguish ordinary published relays from bridges, we sometimes call them **public relays**.) Additionally, Tor clients and bridges can use extension programs, -called [**pluggable transports**](./pt-spec), +called [**pluggable transports**](../pt-spec), that obfuscate their traffic to make it harder to detect. |