Re: [tcpm] 793bis: IP ID

David Borman <> Thu, 19 December 2019 17:21 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D8261120868 for <>; Thu, 19 Dec 2019 09:21:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id V0TmLGPH1bIy for <>; Thu, 19 Dec 2019 09:21:25 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 198C41207FC for <>; Thu, 19 Dec 2019 09:21:25 -0800 (PST)
Received: from ( []) (authenticated bits=0) by (8.14.7/8.14.7) with ESMTP id xBJHQjHc015923 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 19 Dec 2019 11:26:45 -0600
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: David Borman <>
In-Reply-To: <>
Date: Thu, 19 Dec 2019 11:21:24 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <>
To: "Wesley M. Eddy" <>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <>
Subject: Re: [tcpm] 793bis: IP ID
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 19 Dec 2019 17:21:27 -0000

This has to do with the fact that the IPID field is used to do fragmentation reassembly.  It is ok to reuse the same IPID when retransmitting, as long as the retransmitted packet is identical to the original packet, not just the TCP data, but also all the TCP headers.  If the two packets aren’t identical and they are fragmented, then using the same IPID could cause the receiver to not properly reassemble the packet.

What this also says is that, if a TCP implementation is such that it buffers up previously sent packets for possible retransmission and retransmits them verbatim, it doesn’t have to change the IPID just because it is a retransmission.  But if there are any differences between the original and the retransmitted packet, then the IPID must be updated.

			-David Borman

> On Dec 19, 2019, at 11:04 AM, Wesley Eddy <> wrote:
> While I think Gorry's comment below is pretty much correct, this is direct from RFC 1122's material on TCP.  I'm proposing not to change anything about this at the moment, since I don't think any harm is done by saying this.
> On 8/28/2019 11:39 AM, Gorry Fairhurst wrote:
>> Section 3.8.1
>> OLD:
>>    If a retransmitted packet is identical to the original packet (which
>>    implies not only that the data boundaries have not changed, but also
>>    that the window and acknowledgment fields of the header have not
>>    changed), then the same IP Identification field MAY be used (see
>>    Section of RFC 1122) (MAY-4).
>> - What is this MAY about? Is it about the IPv4 IPID field and is that really
>> important for a TCP spec? 
> _______________________________________________
> tcpm mailing list