Re: [tcpm] RFC 793-bis comments

David Borman <dab@weston.borman.com> Wed, 15 October 2014 14:09 UTC

Return-Path: <dab@weston.borman.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D09C31A7009 for <tcpm@ietfa.amsl.com>; Wed, 15 Oct 2014 07:09:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 aaKP0KcnBL_s for <tcpm@ietfa.amsl.com>; Wed, 15 Oct 2014 07:09:47 -0700 (PDT)
Received: from frantic.weston.borman.com (frantic.weston.borman.com [70.57.156.33]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (112/168 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2E13F1A7020 for <tcpm@ietf.org>; Wed, 15 Oct 2014 07:09:47 -0700 (PDT)
Received: from [IPv6:::1] (frantic.weston.borman.com [70.57.156.33]) by frantic.weston.borman.com (8.14.7/8.14.7) with ESMTP id s9FE9e05002727; Wed, 15 Oct 2014 09:09:40 -0500 (CDT)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
From: David Borman <dab@weston.borman.com>
In-Reply-To: <BAY172-W77A2CE9EAF2454F1312AAB0AA0@phx.gbl>
Date: Wed, 15 Oct 2014 09:09:40 -0500
Content-Transfer-Encoding: quoted-printable
Message-Id: <52E5A6AC-6DFE-4599-996D-752BFE5667A3@weston.borman.com>
References: <BAY172-W77A2CE9EAF2454F1312AAB0AA0@phx.gbl>
To: Anthony Sabatini <tsabatini@hotmail.com>
X-Mailer: Apple Mail (2.1878.6)
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/C54azliR5sR-AvAA4bj2XZexwe0
Cc: tcpm <tcpm@ietf.org>
Subject: Re: [tcpm] RFC 793-bis comments
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Oct 2014 14:09:50 -0000

On Oct 14, 2014, at 10:49 PM, Anthony Sabatini <tsabatini@hotmail.com> wrote:

...

> Another area of concern is that the original RFC 793 document does not recognize the existence of devices that will relay messages and the standards for forwarding and discarding of messages in that class of device, as opposed to the behavior required of an end point device. The rules that require the discarding of a message by an end point device are not applicable to a transited device which must propagate all messages which it does not understand. It is crucial that the standard identify what conditions will be discarded by both devices and which shall be discarded by end point devices but forwarded by transited devices.  
> 
> One such condition is the setting of SYN and FIN in the same packet on an end point device where this combination is undefined the packet should be discarded, but on a transited device the packet must be forwarded since future standardization may, for example, define this combination as indicating a new TCP service such as a maintenance or traffic control message.

If only it were true that "transited device which must propagate all messages which it does not understand”, but that’s not the reality.
Though TCP is an end-to-end protocol, middle boxes delve into the TCP header and make decisions on whether or not a packet is acceptable, breaking the end-to-end nature of TCP.  It is sad that this has become the reality, and every proposed enhancement to TCP now has to consider how it will survive through middle boxes.

> The single biggest obstacle to improving TCP is the fact that the data offset field is both poorly defined and greatly limited. As currently defined half the possible values are invalid and the options area which it defines is too small to provide the necessary space to allow options to fulfill their full promise. Also being an offset it hard wires the size of a TCP header preventing the addition of header fields in a future standard. 
> 
> In the current standard the data offset field should be redefined as the length of the options field and values 0 - 7 should be defined as follows: "in normal use on an end point device a value of 0-7 should be discarded but on a transited device should be forwarded.  Values 0 -7 if present represent a TCP options area length of 32 - 60 bytes (8 - 15  32 bit words). Values 0 - 7 in current use can only be used by negotiation via the options field and thus cannot appear on a packet where a SYN is set" (subject to future standardization current end point devices should discard a packet with SYN and a value of 0 -7 transited devices should forward the packet).

Redefining the meaning of Data Offset values 0-4 (5-7 are valid) is not a new idea, see http://tools.ietf.org/html/draft-kohler-tcpm-extopt-00.  As with any proposal for expanding the TCP option space, the biggest challenge is trying to make use of it in the initial SYN and still maintain backwards compatibility.

			-David Borman