Understanding CircID

Sam Peterson peabody at freeshell.org
Fri Jan 8 19:57:45 UTC 2010


On Thu, Jan 7, 2010 at 2:01 PM, moris blues <moris at oleco.net> wrote:
> hi,
>
> When Aubau a connection is checked whether the path already exists. The CirID is
> compared, but with whom the CircID is compared, there is a table of who and how
> is it stored?
> Where is the table? On the Directory servers?

I'm not an expert (please someone correct me if any of the below is
wrong), but from how I have read the design paper for TOR and the
terminology used regarding CircID is that it's an identifier used on
each side of a link between two onion routers and is only known by the
two onion routers on that link.

For example, a client has created a circuit (client -> A -> B -> C).
The client and A have a unique CircID (we'll call it client2A).  A and
B have a unique CircID we'll call A2B.  The same principle applies to
the link between B and C.

Now, A knows that client2A and A2B are part of the same logical
circuit.  However, A doesn't know or care what the CircID between B
and C is.  It simply knows that if it receives a cell on  client2A it
should decrypt its layer of encryption on the cell and forward the
rest of the cell  out on A2B.

The "table" you mention is just an internal data structure of the Tor
program.  Above, A keeps its own table in memory which knows that
client2A and A2B are part of the same logical circuit.  Once the
circuit is torn down, that information is gone.

-- 
Sam Peterson
peabody at freeshell.org
peabodyenator at gmail.com
***********************************************************************
To unsubscribe, send an e-mail to majordomo at torproject.org with
unsubscribe or-talk    in the body. http://archives.seul.org/or/talk/



More information about the tor-talk mailing list