Re: [tcpm] 793bis: IP ID

Gorry Fairhurst <> Thu, 19 December 2019 17:32 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id ACB531202DD for <>; Thu, 19 Dec 2019 09:32:57 -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 QeQFmmGN_yuB for <>; Thu, 19 Dec 2019 09:32:55 -0800 (PST)
Received: from ( [IPv6:2001:630:42:150::2]) by (Postfix) with ESMTP id 7013C120072 for <>; Thu, 19 Dec 2019 09:32:55 -0800 (PST)
Received: from Gs-MacBook-Pro.local ( []) by (Postfix) with ESMTPSA id 457B31B000A6; Thu, 19 Dec 2019 17:32:51 +0000 (GMT)
Message-ID: <>
Date: Thu, 19 Dec 2019 17:32:50 +0000
From: Gorry Fairhurst <>
Organization: University of Aberdeen
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:12.0) Gecko/20120428 Thunderbird/12.0.1
MIME-Version: 1.0
To: David Borman <>
CC: "Wesley M. Eddy" <>,
References: <> <> <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
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:32:58 -0000

I get this - but if we keep this, I think it should expliclity say *all 
headers have not changed*.

I still think this is a terrible hack to say the transport touches 
something in the network layer - because I have no idea how this sits 
with using TSOpt to disam=biguate retransmissions and extension headers, 
should they be used.

Anyway, this is so very IPv4 centric, I think if we keep this, we should 
call IPv4 out explicitly.


On 19/12/2019, 17:21, David Borman wrote:
> 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
> _______________________________________________
> tcpm mailing list