Difference between revisions of "Packet Accounting"
Cube Linden (talk | contribs) |
Cube Linden (talk | contribs) |
||
Line 1: | Line 1: | ||
== Packet Sequences == | == Packet Sequences == | ||
The packet sequence number is a 32 bit number created at the connection of any circuit. This number is stored | The packet sequence number is a 32 bit number created at the connection of any circuit. This number is stored in the [[Packet Layout#Header|packet header]], and incremented whenever a packet is sent from one end of the circuit to the other. | ||
== Packet Acknowledgment == | == Packet Acknowledgment == |
Revision as of 16:49, 28 December 2006
Packet Sequences
The packet sequence number is a 32 bit number created at the connection of any circuit. This number is stored in the packet header, and incremented whenever a packet is sent from one end of the circuit to the other.
Packet Acknowledgment
When NodeA sends a message that the "Reliable" parameter, the LL_RELIABLE_FLAG is set in the header of the Packet Layout, and the packet sequence number is stored into a set on NodeA's end. When NodeB receives the reliable packet, it attaches the packet number of the end of the next packet it sends, and sets the LL_ACK_FLAG bit of the returning packet to show acknowledgment of transfer to NodeA. Assuming NodeA receives the acknowledgment, it removes the acknowledged packet number from the reliable acknowledgment set. Otherwise, if the acknowledgment is not received in a predetermined amount of time (A minimum of 1 second, or a maximum determined by the average ping delay of the circuit), the packet is resent. If the packet is not acknowledged after 3 resends (default value), it is dropped.