Skip to content

[EXTENSION] Replace TLS with QUIC #4

@punctuations

Description

@punctuations

Extension Kind

Other

Motivation

Using TLS, JTP will send chunked packets which get streamed over a TLS connection, if a packet gets stalled all other packtes have to wait in queue, even if the data is independent (i.e. two parallel packets are sent and packet A must wait longer than packet B. Packet A will stall the stream, given it appears earlier, and Packet B even if done will have to wait)

Proposed Wire Format

Instead of the current transport layer being:

+-----+
| JTP |
+-----+
   |
   V
+-----+
| TLS |
+-----+

It would be:

 +-----+
 | JTP |
 +-----+
    |
    V
+------+
| QUIC |
+------+

Semantics and Behaviour

a server MAY choose to use TCP or QUIC although with the significant improvements brough about by QUIC a server SHOULD use QUIC over TCP when possible

Backwards Compatibility

Purely additive — existing implementations can ignore it

Alternatives Considered

No response

Implementation Notes

A change would completely overhaul the TCP interaction in the rust implementation (in this repository)

Checklist

  • I have read the current RFC and this does not duplicate an existing feature.
  • I have considered the impact on resource limits (Section 11 of the RFC).
  • I have considered the security implications (Section 13 of the RFC).

Metadata

Metadata

Assignees

Labels

extensionAn extension to an existing component of JTP (either the protocol itself or any small component)needs-discussionThe issue or pull request needs more discussionprotocolA protocol change

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions