Just to answer my own question for any others.

I've played around with it a for a few days and it seems the intermediate ORs don't maintain windows, it's only the edge nodes, maintaining a circuit, and individual stream windows.

Hope someone can update the spec to be clearer on this to save others the effort.  The offending sentence is:

"The OP behaves identically, except that it must track a packaging window and a delivery window for every OR in the circuit."

Best
Gareth


On 1 July 2014 09:51, Gareth Owen <gareth.owen@port.ac.uk> wrote:
(sorry re-post - forgot subject)

Dear all

I'm working on a tor research project and am having difficulty understanding the SENDME cells.  The tor spec acknowledges that it isn't particularly clear so I would welcome some clarification please.

The spec says that all nodes in a circuit maintain a send and receive window, and that this window is decremented on each RELAY_DATA and incremented on each SENDME.  Cells that are neither of these do not affect the window size.  The problem I have understanding is, that only edge nodes will know whether a cell is a RELAY_DATA, the intermediate nodes only know that its a RELAY but not what type.  So, if only RELAY_DATA decrements the window size, and intermediate nodes cannot spot these, what point is there in intermediate nodes having a window?

Any help greatly appreciated.

Gareth

---
Dr Gareth Owen
Senior Lecturer
School of Computing, University of Portsmouth






--
Dr Gareth Owen
Senior Lecturer
School of Computing, University of Portsmouth

Tel: 02392 846423
Web: ghowen.me