Re: [Idr] why has 4096 bytes limit on BGP messages size?
Danny McPherson <danny@tcb.net> Thu, 14 June 2007 22:37 UTC
Return-path: <idr-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HyxwD-00075r-Ai; Thu, 14 Jun 2007 18:37:09 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HyxwC-00075m-3g for idr@ietf.org; Thu, 14 Jun 2007 18:37:08 -0400
Received: from cat.tcb.net ([64.78.150.134] helo=dog.tcb.net) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HyxwA-0003tA-QM for idr@ietf.org; Thu, 14 Jun 2007 18:37:08 -0400
Received: from [192.168.1.7] (VDSL-151-118-149-96.DNVR.QWEST.NET [151.118.149.96]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by dog.tcb.net (Postfix) with ESMTP id 690E76434E; Thu, 14 Jun 2007 15:37:07 -0600 (MDT)
In-Reply-To: <77ead0ec0706141127i61017d2av74151c7dd4004044@mail.gmail.com>
References: <20070614105451.9C6C11140496@mail.zjgsu.edu.cn> <20070614135339.GA10519@scc.mi.org> <77ead0ec0706141127i61017d2av74151c7dd4004044@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <0D5A1AAC-03A5-468B-8D56-9FE5818BF5A0@tcb.net>
Content-Transfer-Encoding: 7bit
From: Danny McPherson <danny@tcb.net>
Subject: Re: [Idr] why has 4096 bytes limit on BGP messages size?
Date: Thu, 14 Jun 2007 16:36:52 -0600
To: idr <idr@ietf.org>
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7aafa0432175920a4b3e118e16c5cb64
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
Errors-To: idr-bounces@ietf.org
In RFC 1105 the maximum message size was 1024 octets. I suspect because RFC 1163 added the capability to support multiple prefixes (i.e., compression/update packing) they bumped the size to 4096. Note that RFC 1163's Appendix 2 states the UPDATE format was changed to support multiple "path attributes", when I think they actually meant multiple "prefixes". As for why it was constrained in the first place, RFC 1164 talks to this a bit in section 6.3. In particular, I suspect the size was constrained initially because of this: Due to the stream nature of TCP, all the data for received messages does not necessarily arrive at the same time [...] This can make it difficult to process the data as messages, especially on systems such as BSD Unix where it is not possible to determine how much data has been received but not yet processed. One might hypothesize that the selection of the original value of 1024 had something to the 4.2 BSD-derived systems TCP segment size common settings of 1024. RFC 1267 incorporated some of the RFC 1164 text directly, in section 5.2. Of course, I'm just a youngster compared to some of the old folk here, especially Yakov, so I'll happily defer ;-) -danny --- RFC 1267 5.2 Processing Messages on a Stream Protocol BGP uses TCP as a transport mechanism. Due to the stream nature of TCP, all the data for received messages does not necessarily arrive at the same time. This can make it difficult to process the data as messages, especially on systems such as BSD Unix where it is not possible to determine how much data has been received but not yet processed. One method that can be used in this situation is to first try to read just the message header. For the KEEPALIVE message type, this is a complete message; for other message types, the header should first be verified, in particular the total length. If all checks are successful, the specified length, minus the size of the message header is the amount of data left to read. An implementation that would "hang" the routing information process while trying to read from a peer could set up a message buffer (4096 bytes) per peer and fill it with data as available until a complete message has been received. _______________________________________________ Idr mailing list Idr@ietf.org https://www1.ietf.org/mailman/listinfo/idr
- [Idr] why has 4096 bytes limit on BGP messages si… Fenggen Jia
- Re: [Idr] why has 4096 bytes limit on BGP message… Tony Li
- Re: Re: [Idr] why has 4096 bytes limit on BGP mes… Fenggen Jia
- Re: Re: [Idr] why has 4096 bytes limit on BGP mes… Jeffrey Haas
- Re: [Idr] why has 4096 bytes limit on BGP message… Enke Chen
- Re: [Idr] why has 4096 bytes limit on BGP message… Pekka Savola
- Re: Re: [Idr] why has 4096 bytes limit on BGP mes… Vishwas Manral
- Re: [Idr] why has 4096 bytes limit on BGP message… Erblichs
- Re: [Idr] why has 4096 bytes limit on BGP message… Danny McPherson
- Re: [Idr] why has 4096 bytes limit on BGP message… Danny McPherson
- Re: [Idr] why has 4096 bytes limit on BGP message… Erblichs
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- Re: [Idr] why has 4096 bytes limit on BGP message… Pekka Savola
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- RE: [Idr] why has 4096 bytes limit on BGP message… Susan Hares
- RE: [Idr] why has 4096 bytes limit on BGP message… Susan Hares
- Re: Re: Re: [Idr] why has 4096 bytes limit on BGP… Fenggen Jia
- Re: [Idr] why has 4096 bytes limit on BGP message… Tony Li
- Re: [Idr] why has 4096 bytes limit on BGP message… Curtis Villamizar
- Re: [Idr] why has 4096 bytes limit on BGP message… Vishwas Manral
- RE: [Idr] why has 4096 bytes limit on BGP message… Bhatia, Manav (Manav)