Subject: RE: [External] Re: Questions about congestion control and version negotiation packet

From: Zhi Zhi2 Chang <[email-masked]>
Date: Tue, 4 Sep 2018 02:59:54 +0000

Hi, Ian

By reading the content of QUIC long header[1]. One question confused me a lot.

Version negotiation packet and establishment of 1-RTT keys packets are using long header, right ?

But in my GQUIC environment, I can't find any long header packets in version negotiation packets but short header packets.

[1]: https://tools.ietf.org/html/draft-ietf-quic-transport-14

From: Ian Swett [mailto:[email-masked]]
Sent: Friday, August 31, 2018 8:54 PM
To: Zhi Zhi2 Chang
Cc: [email-masked]
Subject: Re: [External] Re: Questions about congestion control and version negotiation packet

On Thu, Aug 30, 2018 at 10:14 PM Zhi Zhi2 Chang <[email-masked]<mailto:[email-masked]>> wrote:
Hi, Ian.

Thanks for your reply.

Yes, packet number 2 is a encrypted packet. In your opinion, this packet is a 0RTT request from client to server. But the question is the client doesn't know the server's certificate. Which certificate does client used for encrypting packets?

The key is from the server config obtained in a previous QUIC connection.

For the question 2, sorry, I don't know what you mean. Why do I use setsockopts for the TCP in Linux kernel? I want to QUIC which is based UDP. Is there any relationship between TCP in the Linux kernel and QUIC?

I was merely pointing out that both TCP and QUIC have the ability to change congestion control algorithms based on the app or whatever other criteria one wanted.

Hope for your reply.

Thanks
Zhi Chang

From: QUIC [mailto:[email-masked]<mailto:[email-masked]>] On Behalf Of Ian Swett
Sent: Thursday, August 30, 2018 8:34 PM
To: Zhi Zhi2 Chang
Cc: [email-masked]<mailto:[email-masked]>
Subject: [External] Re: Questions about congestion control and version negotiation packet

I can't access the cloudshark link without an account, but I suspect packet number 2 is a 0RTT request if it's encrypted and the client hasn't received anything from the server.
On Thu, Aug 30, 2018 at 1:49 AM Zhi Zhi2 Chang <[email-masked]<mailto:[email-masked]>> wrote:
Hi, all

I have servel questions about QUIC congestion control and version negotiation packet.

Here[1] is my GQUIC packets which are already uploaded into cloudshark. My client IP address is 10.116.47.192 and the server's IP address is 10.121.222.230.

Question 1: In No.1 packet, client send ClientHello packet to server. No.2 packet, client send encrypted packet to server immediately ? Client doesn't have the server's certificate info right now, does it? The server send certificate info to client in No.3 packet.
What is the encrypted packet ( No.2 packet ) used for?

Question 2: QUIC has flexible congestion control. Does it mean every QUIC connection can own its congestion control method ? We can use 10 congestion control method to manage 10 apps, can't we?

You could, but you could also do that for TCP in the Linux kernel by using setsockopts.  However, that could become a very complex deployment to manage and debug.

Could someone give me some advice?

Thanks
Zhi Chang

[1]: https://www..cloudshark.org/captures/11a8c6a1a1eb<http://cloudshark.org/captures/11a8c6a1a1eb>

---

From: Alexis La Goutte <[email-masked]>
Date: Tue, 4 Sep 2018 15:24:51 +0200

Hi Q035 don't follow QUIC transport draft

You need to use Q044 to have a support of QUIC transport draft (-13)

Cheers

On Tue, Sep 4, 2018 at 5:00 AM Zhi Zhi2 Chang <[email-masked]> wrote:

> But in my GQUIC environment, I can't find any long header packets in
> version negotiation packets but short header packets.
>
>
>
>
>
>
>
> *From:* Ian Swett [mailto:[email-masked]]
> *Sent:* Friday, August 31, 2018 8:54 PM
> *To:* Zhi Zhi2 Chang
> *Cc:* [email-masked]
> *Subject:* Re: [External] Re: Questions about congestion control and
> version negotiation packet
>
>
>
>
>
> On Thu, Aug 30, 2018 at 10:14 PM Zhi Zhi2 Chang <[email-masked]>
> wrote:
>
> Hi, Ian.
>
>
>
> Thanks for your reply.
>
>
>
> Yes, packet number 2 is a encrypted packet. In your opinion, this packet
> is a 0RTT request from client to server. But the question is the client
> doesn't know the server's certificate. Which certificate does client used
> for encrypting packets?
>
>
>
> For the question 2, sorry, I don't know what you mean. Why do I use
> setsockopts for the TCP in Linux kernel? I want to QUIC which is based UDP.
> Is there any relationship between TCP in the Linux kernel and QUIC?
>
>
>
> I was merely pointing out that both TCP and QUIC have the ability to
> change congestion control algorithms based on the app or whatever other
> criteria one wanted.
>
>
>
> Hope for your reply.
>
>
>
>
>
> Thanks
>
> Zhi Chang
>
>
>
>
>
> *From:* QUIC [mailto:[email-masked]] *On Behalf Of *Ian Swett
> *Sent:* Thursday, August 30, 2018 8:34 PM
> *To:* Zhi Zhi2 Chang
> *Cc:* [email-masked]
> *Subject:* [External] Re: Questions about congestion control and version
> negotiation packet
>
>
>
> I can't access the cloudshark link without an account, but I suspect
> packet number 2 is a 0RTT request if it's encrypted and the client hasn't
> received anything from the server.
>
> On Thu, Aug 30, 2018 at 1:49 AM Zhi Zhi2 Chang <[email-masked]>
> wrote:
>
> Hi, all
>
>
>
> Here[1] is my GQUIC packets which are already uploaded into cloudshark. My
> client IP address is 10.116.47.192 and the server's IP address is
> 10.121.222.230.
>
>
>
> Question 1: In No.1 packet, client send ClientHello packet to server. No.2
> packet, client send encrypted packet to server immediately ? Client doesn't
> have the server's certificate info right now, does it? The server send
> certificate info to client in No.3 packet.
>
> Question 2: QUIC has flexible congestion control. Does it mean every QUIC
> connection can own its congestion control method ? We can use 10 congestion
> control method to manage 10 apps, can't we?
>
>
>
> You could, but you could also do that for TCP in the Linux kernel by using
> setsockopts.  However, that could become a very complex deployment to
> manage and debug.
>
>
>
> [1]: https://www..cloudshark.org/captures/11a8c6a1a1eb
>
>

---

From: Zhi Zhi2 Chang <[email-masked]>
Date: Tue, 4 Sep 2018 13:29:52 +0000

Hi, which draft should I followed if I want to use Q035?

在 2018年9月4日，21:25，Alexis La Goutte <[email-masked]<mailto:[email-masked]>> 写道：

Cheers

On Tue, Sep 4, 2018 at 5:00 AM Zhi Zhi2 Chang <[email-masked]<mailto:[email-masked]>> wrote:
Hi, Ian

From: Ian Swett [mailto:[email-masked]<mailto:[email-masked]>]
Sent: Friday, August 31, 2018 8:54 PM
To: Zhi Zhi2 Chang
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [External] Re: Questions about congestion control and version negotiation packet

Thanks for your reply.

Hope for your reply.

Thanks
Zhi Chang

Thanks
Zhi Chang