0

I understand that QUIC has a unique id for each connection, that allows the participants to change their IP address (e.g. when moving from WIFI to mobile networks) but still send packets to each other, which can still be assigned to the correct connection.

But how do the recipients know the new IP address of each other to send packets to?

I've read through the spec, but I don't really understand how that works

Jonas
  • 97,987
  • 90
  • 271
  • 355
Jonas Wilms
  • 106,571
  • 13
  • 98
  • 120

1 Answers1

3

QUIC still uses IP underneath. So yes you need an IP address to send messages from and receive messages back to.

What QUIC connection migration saves you from is all the effort to set up a reliable, and secure connection.

Reliability is traditionally handled by TCP but that requires a three-way handshake to set up - which takes time and round trips, not to mention TCP slow start meaning it’s slow at the beginning.

Security is traditionally handled by TLS to create an HTTPS connection through which to send HTTP messages. That also takes time to negotiate the ciphers to use.

QUIC basically allows you to reuse the settings for those without having to start a connection from scratch.

So you send a message from IP address 1 and should expect to get the response back to that IP address. However if you move IP (e.g. from WIFI to Mobile) to IP address 2, then yes you might lose a few responses. Next time you talk to the QUIC endpoint using the same connection id, it will see you’re on a new IP and that there are some unacknowledged packets that have been sent so they will be resent.

Barry Pollard
  • 30,554
  • 4
  • 60
  • 77