Subject: Re: kernel ip_randomid() and libc randomid(3) still "broken"
To: Jun-ichiro itojun Hagino <itojun@itojun.org>
From: Matt Thomas <matt@3am-software.com>
List: tech-net
Date: 11/26/2003 12:03:25
On Nov 26, 2003, at 9:59 AM, Jun-ichiro itojun Hagino wrote:

>>   | 	so we can either:
>>   | 	- stop skipping random number of ids (n=0)
>>   | 	- reduce numbers on the manpage to 1/3
>>   | 	and then we are happpy.
>>
>> The problem with all of this is that in order to make it a bit more
>> difficult to suffer from a (fairly unlikely) DoS type attack, you're
>> proposing breaking IP.
>
> 	i don't.  you are asserting the old (and probably obsolete) meaning
> 	TTL all the time.  nowadays TTL field really means "hoplimit" (if
> 	there's any device that interprets TTL field as "seconds", please show
> 	me).  so i think your assertion and logic based on TTL = seconds no
> 	longer holds, and the # of packets that can be sent between ID
> 	recycling is no longer a concern.

Since the network is allowed to reorder packets, if you send two packets
with the same ip_id and network re-orders the fragments so that arrive
interspersed, you will end up with dropped packets (due to checksum 
failure)
or worse (checksum didn't fail but corrupted data).  That is 
unacceptable.

The only way to reduce or eliminate this risk to ensure the maximum 
delay
before reusing ip_id's.
-- 
Matt Thomas                     email: matt@3am-software.com
3am Software Foundry              www: http://3am-software.com/bio/matt/
Cupertino, CA              disclaimer: I avow all knowledge of this 
message.