netty / netty-incubator-codec-http3

Experimental HTTP3 codec on top of QUIC
Apache License 2.0
165 stars 35 forks source link

Handshake delays #274

Closed poisonriver closed 5 days ago

poisonriver commented 7 months ago

Hi, I've been actively testing quic/http3 recently and noticed the following delays during the handshake phase:

  1. When a client sends initial Quic packet server replies with a handshake with a certificate(cert size is about 4.5K) , but it stops sending handshake frames after 3750 bytes and then when the client acks first crypto frames it continues with certificate handshake. qlog and a diagram are attached. Can you shed some light why does on this delay ?
  2. With 0-RTT enabled a client sends initial + 0-RTT (with http3 headers), server replies with NCI and ACKs, the client sends 'handshake done' and only after that packet server pushes a request into the pipeline. Wireshark screenshot is attached. Is it the way 0-RTT supposed to work? Looks like it takes more steps then it's suggested by the spec.

c3d3e273a1a87b3655098dae734a57d6c38e713a-5e9334e8.qlog.gz

image2023-12-21 19-45-28

Screenshot 2023-12-21 at 19 02 00
poisonriver commented 6 months ago

anyone could help?

normanmaurer commented 6 months ago

@poisonriver I wonder if this would better be asked in the quiche issue tracker as we just use quiche for QUIC.

normanmaurer commented 5 days ago

Let me close this for now