Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitmap FIB speed
Iljitsch van Beijnum <iljitsch@muada.com> Thu, 19 July 2007 16:13 UTC
Return-path: <ram-bounces@iab.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com)
by megatron.ietf.org with esmtp (Exim 4.43)
id 1IBYcr-0006ho-Ha; Thu, 19 Jul 2007 12:13:13 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org)
by megatron.ietf.org with esmtp (Exim 4.43) id 1IBYcq-0006hS-4l
for ram@iab.org; Thu, 19 Jul 2007 12:13:12 -0400
Received: from sequoia.muada.com ([83.149.65.1])
by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1IBYco-0002lW-KV
for ram@iab.org; Thu, 19 Jul 2007 12:13:12 -0400
Received: from [82.192.90.28] (nirrti.muada.com [82.192.90.28])
(authenticated bits=0)
by sequoia.muada.com (8.13.3/8.13.3) with ESMTP id l6JG9wv2053523
(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO);
Thu, 19 Jul 2007 18:09:58 +0200 (CEST)
(envelope-from iljitsch@muada.com)
In-Reply-To: <469F5757.9040700@firstpr.com.au>
References: <469F5757.9040700@firstpr.com.au>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <BD76EE31-CA0F-4A96-B825-7254F84717C0@muada.com>
Content-Transfer-Encoding: 7bit
From: Iljitsch van Beijnum <iljitsch@muada.com>
Subject: Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitmap FIB speed
Date: Thu, 19 Jul 2007 18:11:48 +0200
To: Robin Whittle <rw@firstpr.com.au>
X-Mailer: Apple Mail (2.752.3)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Cc: ram@iab.org
X-BeenThere: ram@iab.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Routing and Addressing Mailing List <ram.iab.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ram>,
<mailto:ram-request@iab.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ram>
List-Post: <mailto:ram@iab.org>
List-Help: <mailto:ram-request@iab.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ram>,
<mailto:ram-request@iab.org?subject=subscribe>
Errors-To: ram-bounces@iab.org
On 19-jul-2007, at 14:21, Robin Whittle wrote: > If someone can help me with a few questions, I would really > Is there some formal or informal agreement not to accept > advertisements for prefixes longer than /48? There are currently 8 prefixes between /35 and /48 given out (not inclusive), 215 /48 and 6 /64. So I'd say that /48 is the new /24. However, don't forget that you need to carry more specifics internally, which could easily be very large numbers of customer / 56s. I'm assuming internal aggregation will keep the number of /64s in check. > I know > there is such a rule for IPv4 (/24) but am not sure if it is > formalised anywhere. It isn't, and in IPv6 things are still up in the air to a large degree. > I guess this means they can't split this prefix, for instance for > load balancing in a multihomed situation or for using with two > offices in different cities or countries which use different > providers. They'll try, but there's a good chance it won't work well enough to depend on it. > This would mean the end-user needs a separate /48 for > each physical office in a different city or country. Can someone > confirm this? As opposed to which situation? > In this > paper, the hardware reference design deals with the most > significant 8 bits of address in an on-chip RAM lookup table > (actually a 12 bit index). Then the rest of the address bits are > processed 6 at a time (stride of 6, in Figure 12). In IPv4 there is a good distribution over the first 8 bits but in IPv6 there isn't, lots of stuff is still in 2001::/16. I think you need to look at the first 24 bits or so if you want to do the same here. > I recognise that the actual CRS-1 algorithm may differ somewhat > from this, but still, it seems that to match a packet against a > /32 rule will probably take 4 external memory reads. For instance > ignore the first 3 bits which are always 001, then use an internal > RAM table for the next 11 bits and then the last 18 bits as a 3 * > 6 bit stride. Just 6 bits? > I find it impossible to think happily of such cumbersome > techniques, but as far as I know, strides beyond 6 bits have > various problems. Even if the stride was 12 bits, it would still > be 3 or 4 memory accesses per packet. > Is the future really this grim? TCAMs are fast but power-hungry > and a can of worms in other respects, such as worst-case update > time. The fact that Juniper and Cisco use trie-based techniques > indicates that TCAMs can't do the job - but these trie-based > approaches seem to be so slow. You can shuffle the bits a bit first so you start looking at the important ones and not the ones that are the same for all addresses first. Or do a hash-based system. It would also help to optimize the address assignment policies. For instance, leaving 7 /48s unused between two ones that are used so there is room for growth is really suboptimal here. Being able to see whether an address will match /32 or shorter or whether it will have to match a /48 could also be helpful. _______________________________________________ RAM mailing list RAM@iab.org https://www1.ietf.org/mailman/listinfo/ram
- [RAM] IPv6 /32 to /48 prefixes and Tree-Bitmap FI… Robin Whittle
- Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitma… Jeroen Massar
- Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitma… Iljitsch van Beijnum
- Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitma… Robin Whittle
- Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitma… Per Heldal
- Re: [RAM] IPv6 /32 to /48 prefixes and Tree-Bitma… Brian E Carpenter