Re: Where we stand and where we are going

Michael Mealling <> Thu, 27 June 2002 13:20 UTC

Return-Path: <>
Received: from by (PMDF V6.0-025 #44856) id <> (original mail from ; Thu, 27 Jun 2002 09:20:43 -0400 (EDT)
Received: from by (PMDF V6.0-025 #44856) id <> for (ORCPT; Thu, 27 Jun 2002 09:20:42 -0400 (EDT)
Received: from by (PMDF V6.0-025 #44856) id <> for (ORCPT; Thu, 27 Jun 2002 09:20:42 -0400 (EDT)
Received: from ( []) by (PMDF V6.0-025 #44856) with ESMTP id <> for; Thu, 27 Jun 2002 09:20:42 -0400 (EDT)
Received: from (localhost []) by (8.12.1/8.12.1) with ESMTP id g5RDJIuK003702; Thu, 27 Jun 2002 09:19:18 -0400 (EDT)
Received: (from michael@localhost) by (8.12.1/8.12.1/Submit) id g5RDJIwe003701; Thu, 27 Jun 2002 09:19:18 -0400 (EDT)
Date: Thu, 27 Jun 2002 09:19:17 -0400
From: Michael Mealling <>
Subject: Re: Where we stand and where we are going
In-reply-to: <>
To: Rob Austein <>
Reply-to: Michael Mealling <>
Message-id: <>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-disposition: inline
User-Agent: Mutt/
References: <> <> <>
List-Owner: <>
List-Post: <>
List-Subscribe: <>, <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Help: <>, <>
List-Id: <>

On Wed, Jun 26, 2002 at 04:42:15PM -0400, Rob Austein wrote:
> At Wed, 26 Jun 2002 10:36:41 -0400, Eric Brunner-Williams in Portland Maine wrote:
> > 
> > A move toward binary, UDP-friendly packet format is good.
> Just please, if we go down this road, let's put the UDP packet length
> negotiation junk into the initial rev of the protocol and not wire
> arbitrary length limits (other than those imposed by IP and UDP
> themselves) into the protocol the way that RFC 1035 did to DNS.
> Retrofitting this (EDNS0) has been an interesting learning experience,
> but it's one that I'd prefer not to have to repeat in this lifetime.

Ok, I've been doing a lot of thinking in this realm and talking to all
sorts of people and I keep hearing different things. Here's the FUD I 
keep hearing:

1) IP fragmentation on the Internet is awful so if you do UDP packets
larger than 1500 bytes you will probably loose one of the fragments
about 10 percent of the time

2) Attempts to do UDP fragementation at the application layer and not the
IP layer just means you're going to reinvent all of TCP over again so
why bother trying and just use TCP.

3) "Try with UDP and if it fails retry with TCP" is "good enough". <insert
all of your "good enough is the enemy of good" verbage here>

I have had two instances where the usage profile of a protocol suggests
that 99% of the responses will be less than 2K and the interaction is
stateless and connection-less. Inheriting the full session semantics of TCP
isn't required. But neither is the sad state of UDP packet size limitations.

My proposed solution is to limit UDP packet sizes to 512 bytes and put
packet sequence numbers on them. You still have a connectionless interaction
but it a) puts the packet size into a realm with a higher probability of
success and b) allows for a handful of those packets to get through. I'm
not sure if you need more than that. You can still do the "well if 
that didn't work I can always do TCP"...

I really would like to hear some definitive answers on this topic because
it keeps coming up and a solution would make a heck of a lot of sense.


Michael Mealling	|      Vote Libertarian!       | urn:pin:1      |                              |