mirror of
https://github.com/yarrick/iodine.git
synced 2024-11-28 20:45:12 +00:00
Second revision of protocol 800
This commit is contained in:
parent
917a6af7b8
commit
ce0c0dc03b
@ -169,10 +169,10 @@ Upstream data header:
|
|||||||
+-----+-----+--------+--------+----+
|
+-----+-----+--------+--------+----+
|
||||||
|
|
||||||
Downstream data header: |=> only if P(ing) bit set
|
Downstream data header: |=> only if P(ing) bit set
|
||||||
76543210 76543210 76543210 76543210 76543210
|
76543210 76543210 76543210 76543210 76543210 76543210 76543210
|
||||||
+--------+--------+--------+--------+--------+
|
+--------+--------+--------+--------+--------+--------+--------+
|
||||||
|DDDDDDDD|SSSSSSSS|00PCANFL|ZZZZZZZZ|WWWWWWWW|
|
|DDDDDDDD|SSSSSSSS|00PCANFL|ZZZZZZZZ|WWWWWWWW|XXXXXXXX|YYYYYYYY|
|
||||||
+--------+--------+--------+--------+--------+
|
+--------+--------+--------+--------+--------+--------+--------+
|
||||||
|
|
||||||
UUUU = Userid
|
UUUU = Userid
|
||||||
L = Last fragment flag
|
L = Last fragment flag
|
||||||
@ -185,6 +185,8 @@ SSSSSSSS = Upstream packet sequence number/ACK
|
|||||||
DDDDDDDD = Downstream packet sequence number/ACK
|
DDDDDDDD = Downstream packet sequence number/ACK
|
||||||
ZZZZZZZZ = Downstream window size
|
ZZZZZZZZ = Downstream window size
|
||||||
WWWWWWWW = Upstream window size
|
WWWWWWWW = Upstream window size
|
||||||
|
XXXXXXXX = Downstream window start seqID
|
||||||
|
YYYYYYYY = Upstream window start seqID
|
||||||
UDCMC = Upstream Data CMC char (actually base36 [a-z0-9]), case-insensitive
|
UDCMC = Upstream Data CMC char (actually base36 [a-z0-9]), case-insensitive
|
||||||
|
|
||||||
Upstream data packet starts with 1 byte ASCII hex coded user byte; then
|
Upstream data packet starts with 1 byte ASCII hex coded user byte; then
|
||||||
@ -192,11 +194,9 @@ Upstream data packet starts with 1 byte ASCII hex coded user byte; then
|
|||||||
data, encoded with the chosen upstream codec.
|
data, encoded with the chosen upstream codec.
|
||||||
|
|
||||||
Downstream data starts with 3 byte header. Then payload data, which may be
|
Downstream data starts with 3 byte header. Then payload data, which may be
|
||||||
compressed. If Ping flag is set, another 8 bits of downstream window size and
|
compressed. If Ping flag is set, another 4 bytes are appended to the header.
|
||||||
8 bits of upstream window size are appended to the header and the downstream or
|
This occurs either when the server wants to re-sync its window parameters or
|
||||||
upstream sequence IDs are the start of the remote windows. This occurs either
|
when the client has requested a ping response.
|
||||||
when the server wants to re-sync its window parameters or when the client has
|
|
||||||
requested a ping response.
|
|
||||||
|
|
||||||
In NULL and PRIVATE responses, downstream data is always raw. In all other
|
In NULL and PRIVATE responses, downstream data is always raw. In all other
|
||||||
response types, downstream data is encoded (see Options above).
|
response types, downstream data is encoded (see Options above).
|
||||||
@ -224,16 +224,20 @@ Client sends:
|
|||||||
First byte p or P
|
First byte p or P
|
||||||
Second byte CMC
|
Second byte CMC
|
||||||
Rest encoded with Base32:
|
Rest encoded with Base32:
|
||||||
76543 21076543 21076543 21076543 21076543 210
|
76543 21076543 21076543 21076543 21076543 21076543 21076543
|
||||||
+!----+!----!--+--!----!+----!---+-!----!-+--------+
|
+!----+!----!--+--!----!+----!---+-!----!-+--------+--------+
|
||||||
|0UUUU|DDDDDDDD|SSSSSSSS|WWWWWWWW|ZZZZZZZZ|0000000R|
|
|0UUUU|DDDDDDDD|WWWWWWWW|ZZZZZZZZ|XXXXXXXX|YYYYYYYY|00000ANR|
|
||||||
+-----+--------+--------+--------+--------+--------+
|
+-----+--------+--------+--------+--------+--------+--------+
|
||||||
4 bits Userid
|
4 bits Userid
|
||||||
1 byte Downstream seq ID of window start
|
1 byte Downstream seq ID ACK
|
||||||
1 byte upStream seq ID of window start
|
|
||||||
1 byte Window size (upstream)
|
1 byte Window size (upstream)
|
||||||
1 byte window siZe (downstream)
|
1 byte window siZe (downstream)
|
||||||
1 byte "Respond with ping" flag
|
1 byte window start (downstream)
|
||||||
|
1 bYte window start (upstream)
|
||||||
|
1 byte:
|
||||||
|
A = is ACKing downstream frag
|
||||||
|
N = is NACKing downstream frag (unused)
|
||||||
|
R = respond with a data/ping packet
|
||||||
2 bytes CMC
|
2 bytes CMC
|
||||||
|
|
||||||
The server response to Ping and Data packets is a DNS NULL/TXT/.. type response,
|
The server response to Ping and Data packets is a DNS NULL/TXT/.. type response,
|
||||||
|
Loading…
Reference in New Issue
Block a user