Subject: [quicwg/base-drafts] Packet numbers and sequence numbers are too easily confused (#3725)

From: Baptiste Jonglez <[email-masked]>
Date: Thu, 04 Jun 2020 11:27:42 -0700

Reading version -27 of the transport draft, I was surprised to see something called "sequence numbers", until I understood that it had nothing to do with either TCP sequence numbers or QUIC packet numbers.

This is an unfortunate choice of words for two reasons: 1) people familiar with TCP may initially interpret "sequence numbers" in the TCP sense, causing confusion; 2) "packet numbers" and "sequence numbers" are too easily confused.

For instance, I found a single instance in the draft where "sequence numbers" is used to actually mean "packet numbers":

> [7.] The **sequence numbers** used by CRYPTO frames to ensure ordered delivery of cryptographic handshake data start from zero in each packet number space.

And another instance which uses a mix of both expressions:

> [12.3.] This enforces cryptographic separation between the data sent in the different **packet sequence number** spaces.

These instances can be easily fixed, but it would be beneficial to eliminate any source of confusion by renaming "sequence numbers" to something else. A simple suggestion: "connection ID counter".

Babel (RFC6126) has a similar notion of "sequence number", and it uses the unambiguous abbreviation "Seqno" throughout the text: this may be an alternative solution.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725

---

From: ianswett <[email-masked]>
Date: Thu, 04 Jun 2020 11:56:12 -0700

"Packet sequence number" is the full name, but "packet number" is the shorter term used throughout the documents.  I think we need to fix section 7 or anywhere else we use "sequence number".  I'm ok with us using "packet sequence number", but I think "packet number" is preferable.

I really do not want to rename packet number to something else.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639053484

---

From: Baptiste Jonglez <[email-masked]>
Date: Thu, 04 Jun 2020 13:04:17 -0700

@ianswett I agree that "packet number" should not be renamed, it's a central concept of the protocol.

I was suggesting renaming "sequence numbers" instead (as used to track connection IDs)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639086480

---

From: ianswett <[email-masked]>
Date: Thu, 04 Jun 2020 13:48:43 -0700

Sorry for my confusion.  I agree it'd be nice to rename "sequence numbers" in regards to CIDs as well.  Maybe "Connection ID Index"?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639108322

---

From: Martin Thomson <[email-masked]>
Date: Thu, 04 Jun 2020 16:31:21 -0700

So there are three things here:

1. The mention of sequence number in relation to CRYPTO frames is a mistake.  This should be "offset".

2. Packet numbers are just packet numbers.  Yes, it is a sequence number, but we don't use "sequence" here anywhere else, so that one instance is just a mistake.

3. Sequence numbers for connection IDs.  I'm not inclined to change these.  Using index/indices would be fine, but the risk involved in making a change isn't worth it in my opinion.  As this is sufficiently distinct from the TCP usage, I see no real risk of confusion either.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639170259

---

From: Kazuho Oku <[email-masked]>
Date: Thu, 04 Jun 2020 16:41:45 -0700

> Sequence numbers for connection IDs. I'm not inclined to change these. Using index/indices would be fine, but the risk involved in making a change isn't worth it in my opinion. As this is sufficiently distinct from the TCP usage, I see no real risk of confusion either.

+1. I agree that they are sufficiently distinct.

Also, I do not think we'd want to go down the path of changing the terms that are used in TCP to something else. To give an example, "FIN" in QUIC is different than that in TCP. Do we need to look for such cases and change all the names? I think making such changes could cause more confusion.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639173494

---

From: ekr <[email-masked]>
Date: Thu, 04 Jun 2020 17:25:30 -0700

On Thu, Jun 4, 2020 at 4:31 PM Martin Thomson <[email-masked]>
wrote:

>    1.
>    The mention of sequence number in relation to CRYPTO frames is a
>    mistake. This should be "offset".
>
>
Agreed. This is just wrong.

>    1.
>
>    Packet numbers are just packet numbers. Yes, it is a sequence number,
>    but we don't use "sequence" here anywhere else, so that one instance is
>    just a mistake.
>
> Agreed. I think it's quite likely this is the result of my simultaneously
trying to submit edits to (D)TLS and QUIC.

>    1.
>
>    Sequence numbers for connection IDs. I'm not inclined to change these.
>    Using index/indices would be fine, but the risk involved in making a change
>    isn't worth it in my opinion. As this is sufficiently distinct from the TCP
>    usage, I see no real risk of confusion either.
>
> +1

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#issuecomment-639188142

---

From: Jana Iyengar <[email-masked]>
Date: Fri, 05 Jun 2020 02:01:20 -0700

Closed #3725 via #3727.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3725#event-3410377851