Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id EF400130DD2
 for <quic-issues@ietfa.amsl.com>; Sun, 22 Jul 2018 19:28:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level: 
X-Spam-Status: No, score=-8.01 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1,
 RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01]
 autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=github.com
Received: from mail.ietf.org ([4.31.198.44])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LCtpIMfqMvkS for <quic-issues@ietfa.amsl.com>;
 Sun, 22 Jul 2018 19:28:51 -0700 (PDT)
Received: from out-2.smtp.github.com (out-2.smtp.github.com [192.30.252.193])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 86676130DC9
 for <quic-issues@ietf.org>; Sun, 22 Jul 2018 19:28:51 -0700 (PDT)
Date: Sun, 22 Jul 2018 19:28:50 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
 s=pf2014; t=1532312930;
 bh=YPHroUR+V1PCJARbZjIsZwhEIRaF2osG6V278b6dFBs=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID:
 List-Archive:List-Post:List-Unsubscribe:From;
 b=usd7lyQDYnsnzPfdgiulrc2q7ziGn520jSL6tPir4gsNRMG7lN457w9FljcCStd3J
 1q6yB3rutxcRJUqrsCz+FDmHG2n6JEXzbfq2/vBFFqlC8q+qspegt7eIcS9PGp50BA
 mf64GyVrk+oT2mNKbh+F+m+2Wt+OPZZIqGIlgoZ0=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+0166e4ab7fd7f281c78735fb237ff255479382a3a316055392cf00000001176cff6292a169ce13c7a591@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1443/406921495@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1443@github.com>
References: <quicwg/base-drafts/issues/1443@github.com>
Subject: Re: [quicwg/base-drafts] Stateless Reset Eternal Ping Pong (#1443)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5b553d62670b4_26703ff3770d45bc1970f8";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/rb-C2rVoqNMK0tOmVpXGN3cOPho>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.27
List-Id: Notification list for GitHub issues related to the QUIC WG
 <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Jul 2018 02:28:54 -0000


----==_mimepart_5b553d62670b4_26703ff3770d45bc1970f8
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

> I'm not trying to ensure a reset is sent in response to an ACK-only packet.

A misunderstanding then...

> I'm suggesting the reset packet attempt to look like an ACK-only packet 

Yes, but I think that you're missing the point that an ACK-only packet for ANY connection is potentially much bigger than an ACK-only packet for THIS connection.

Let's say that your peer chose no connection ID (this would be common for a server that sends a stateless reset).  Then a minimal ACK-only packet is 4 octets of ACK, 2 octets of short header, and 16 octets of authentication tag.  That's 22 octets.  4 octets of ACK is unlikely, but it is a size you might expect to see early in a connection.

Now if you don't know how long the connection ID of your peer is and you want to ensure that the packet you send is plausible, you have to assume that they used the maximum size.  That's 18 octets.  Then add the short header, a PING frame (which is smaller than the ACK), and authentication tag.  That leads to 37 octets - the number in the draft.

While it might be valid to send less than 37 octets, you can't be sure that it always will be.

-- 
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/1443#issuecomment-406921495
----==_mimepart_5b553d62670b4_26703ff3770d45bc1970f8
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<blockquote>
<p>I'm not trying to ensure a reset is sent in response to an ACK-only pa=
cket.</p>
</blockquote>
<p>A misunderstanding then...</p>
<blockquote>
<p>I'm suggesting the reset packet attempt to look like an ACK-only packe=
t</p>
</blockquote>
<p>Yes, but I think that you're missing the point that an ACK-only packet=
 for ANY connection is potentially much bigger than an ACK-only packet fo=
r THIS connection.</p>
<p>Let's say that your peer chose no connection ID (this would be common =
for a server that sends a stateless reset).  Then a minimal ACK-only pack=
et is 4 octets of ACK, 2 octets of short header, and 16 octets of authent=
ication tag.  That's 22 octets.  4 octets of ACK is unlikely, but it is a=
 size you might expect to see early in a connection.</p>
<p>Now if you don't know how long the connection ID of your peer is and y=
ou want to ensure that the packet you send is plausible, you have to assu=
me that they used the maximum size.  That's 18 octets.  Then add the shor=
t header, a PING frame (which is smaller than the ACK), and authenticatio=
n tag.  That leads to 37 octets - the number in the draft.</p>
<p>While it might be valid to send less than 37 octets, you can't be sure=
 that it always will be.</p>

<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />You are receiving this because you are subscribed to this thre=
ad.<br />Reply to this email directly, <a href=3D"https://github.com/quic=
wg/base-drafts/issues/1443#issuecomment-406921495">view it on GitHub</a>,=
 or <a href=3D"https://github.com/notifications/unsubscribe-auth/AWbkqzXE=
y-Lb5EFoDXdFcQrWZhZjteCEks5uJTTigaJpZM4Ulk0v">mute the thread</a>.<img sr=
c=3D"https://github.com/notifications/beacon/AWbkq5L1gqJ5Q188fyvLtE5RAO26=
nnlWks5uJTTigaJpZM4Ulk0v.gif" height=3D"1" width=3D"1" alt=3D"" /></p>
<script type=3D"application/json" data-scope=3D"inboxmarkup">{"api_versio=
n":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name"=
:"GitHub"},"entity":{"external_key":"github/quicwg/base-drafts","title":"=
quicwg/base-drafts","subtitle":"GitHub repository","main_image_url":"http=
s://assets-cdn.github.com/images/email/message_cards/header.png","avatar_=
image_url":"https://assets-cdn.github.com/images/email/message_cards/avat=
ar.png","action":{"name":"Open in GitHub","url":"https://github.com/quicw=
g/base-drafts"}},"updates":{"snippets":[{"icon":"PERSON","message":"@mart=
inthomson in #1443: \u003e I'm not trying to ensure a reset is sent in re=
sponse to an ACK-only packet.\r\n\r\nA misunderstanding then...\r\n\r\n\u=
003e I'm suggesting the reset packet attempt to look like an ACK-only pac=
ket \r\n\r\nYes, but I think that you're missing the point that an ACK-on=
ly packet for ANY connection is potentially much bigger than an ACK-only =
packet for THIS connection.\r\n\r\nLet's say that your peer chose no conn=
ection ID (this would be common for a server that sends a stateless reset=
).  Then a minimal ACK-only packet is 4 octets of ACK, 2 octets of short =
header, and 16 octets of authentication tag.  That's 22 octets.  4 octets=
 of ACK is unlikely, but it is a size you might expect to see early in a =
connection.\r\n\r\nNow if you don't know how long the connection ID of yo=
ur peer is and you want to ensure that the packet you send is plausible, =
you have to assume that they used the maximum size.  That's 18 octets.  T=
hen add the short header, a PING frame (which is smaller than the ACK), a=
nd authentication tag.  That leads to 37 octets - the number in the draft=
.\r\n\r\nWhile it might be valid to send less than 37 octets, you can't b=
e sure that it always will be."}],"action":{"name":"View Issue","url":"ht=
tps://github.com/quicwg/base-drafts/issues/1443#issuecomment-406921495"}}=
}</script>
<script type=3D"application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/quicwg/base-drafts/issues/1443#issuecomment=
-406921495",
"url": "https://github.com/quicwg/base-drafts/issues/1443#issuecomment-40=
6921495",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [quicwg/base-drafts] Stateless Reset Eternal Ping Pong (#14=
43)",
"sections": [
{
"text": "",
"activityTitle": "**Martin Thomson**",
"activityImage": "https://assets-cdn.github.com/images/email/message_card=
s/avatar.png",
"activitySubtitle": "@martinthomson",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \=
"quicwg/base-drafts\",\n\"issueId\": 1443,\n\"IssueComment\": \"{{IssueCo=
mment.value}}\"\n}"
}
]
},
{
"name": "Close issue",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueClose\",\n\"repositoryFullName\": \"q=
uicwg/base-drafts\",\n\"issueId\": 1443\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/quicwg/base-drafts/issues/1443#issuecomment-40=
6921495"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 3453944=
79\n}"
}
],
"themeColor": "26292E"
}
]</script>=

----==_mimepart_5b553d62670b4_26703ff3770d45bc1970f8--

