I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Unverified Commit b18ddb7c authored by zzz's avatar zzz
Browse files

Prop. 159: More on retransmission

parent dba879a2
No related branches found
No related tags found
No related merge requests found
......@@ -5,9 +5,9 @@ SSU2
:author: eyedeekay, orignal, zlatinb, zzz
:created: 2021-09-12
:thread: http://zzz.i2p/topics/2612
:lastupdated: 2022-03-31
:lastupdated: 2022-04-01
:status: Open
:target: 0.9.55
:target: 0.9.56
.. contents::
......@@ -2901,6 +2901,22 @@ Data Packets are never retransmitted with the same packet number.
Any retransmission of packet contents (whether or not the contents remain the same)
must use the next unused packet number.
Retransmitting an unchanged whole packet as-is, with the same packet number,
is not allowed for several reasons. For background see QUIC [RFC-9000]_ section 12.3.
- It's inefficient to store packets for retransmission
- A new packet data looks different to an on-path observer, can't tell it's retransmitted
- A new packet gets an updated ack block sent with it, not the old ack block
- You only retransmit what's necessary. some fragments could have been already retransmitted once and been acked
- You can fit as much as you need into each retransmitted packet if more is pending
- Endpoints that track all individual packets for the purposes of
detecting duplicates are at risk of accumulating excessive state.
The data required for detecting duplicates can be limited by
maintaining a minimum packet number below which all packets are
immediately dropped.
- This scheme is much more flexible
New packets are used to carry information that is
determined to have been lost. In general, information is sent again
when a packet containing that information is determined to be lost,
......@@ -4730,6 +4746,7 @@ Each Noise payload contains zero or more "blocks".
This uses the same block format as defined in the [NTCP2]_ and [ECIES]_ specifications.
Individual block types are defined differently.
The equivalent term in QUIC [RFC-9000]_ is "frames".
There are concerns that encouraging implementers to share code
may lead to parsing issues. Implementers should carefully consider
......@@ -5691,6 +5708,7 @@ which are also set to 1.
After that, if there is room, one or more "ranges" specifying
the number of consectutive 0 bits and consecutive 1 bits
lower than that.
See QUIC [RFC-9000]_ section 13.2.3 for more background.
.. raw:: html
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment