parent
f40ddfab2e
commit
20712dbf23
|
@ -380,8 +380,8 @@ which reveals the downstream node.
|
|||
Some time after receiving a create cell, an onion router completes
|
||||
the DH handshake, and replies with a CREATED cell, containing g^y
|
||||
as its [128 byte] payload. Upon receiving a CREATED cell, an onion
|
||||
router packs it payload into a CREATED relay cell (see section 5),
|
||||
and sends that cell up the circuit. Upon receiving the CREATED
|
||||
router packs it payload into an EXTENDED relay cell (see section 5),
|
||||
and sends that cell up the circuit. Upon receiving the EXTENDED
|
||||
relay cell, the OP can retrieve g^y.
|
||||
|
||||
(As an optimization, OR implementations may delay processing onions
|
||||
|
@ -423,11 +423,13 @@ which reveals the downstream node.
|
|||
'Back' relay cell (opposite direction from CREATE):
|
||||
Use Kb as key; decrypt.
|
||||
If the OR recognizes the stream ID on the cell (it is either the ID
|
||||
of an open stream or the signaling ID, zero), the OR processes the
|
||||
of an open stream or the signaling (zero) ID), the OR processes the
|
||||
contents of the relay cell. Otherwise, it passes the decrypted
|
||||
relay cell along the circuit. [What if the circuit doesn't go any
|
||||
farther?]
|
||||
|
||||
relay cell along the circuit if the circuit continues, or drops the
|
||||
cell if it's the end of the circuit. [Getting an unrecognized
|
||||
relay cell at the end of the circuit must be allowed for now;
|
||||
we can reexamine this once we've designed full tcp-style close
|
||||
handshakes. -RD]
|
||||
|
||||
Otherwise, if the data cell is coming from the OP edge of the
|
||||
circuit, the OP decrypts the length and payload fields with 3DES/OFB as
|
||||
|
@ -442,7 +444,7 @@ which reveals the downstream node.
|
|||
For I=N...1,
|
||||
Encrypt with Kb_I. If the stream ID is a recognized
|
||||
stream for R_I, or if the stream ID is the signaling
|
||||
ID, zero, then process the payload.
|
||||
ID (zero), then stop and process the payload.
|
||||
|
||||
For more information, see section 5 below.
|
||||
|
||||
|
@ -547,6 +549,9 @@ which reveals the downstream node.
|
|||
code as if RELAY_COMMAND_SENDME is now doing double duty for both
|
||||
stream flow control and circuit flow control. I thought we wanted
|
||||
two different notions of windows. -NM]
|
||||
[We do have two different 'levels' of windows. The relay sendme command
|
||||
is talking about a stream for non-zero stream id, and talking about
|
||||
the circuit for zero stream id. -RD]
|
||||
|
||||
Each edge node on a circuit sends a SENDME cell
|
||||
(with length=100) every time it has received 100 data cells on the
|
||||
|
|
Loading…
Reference in New Issue