Re: [BEHAVE] proprietary implementation v.s standardisedprotocols//re: draft-xu-behave-nat-state-sync-00

Reinaldo Penno <rpenno@juniper.net> Thu, 03 December 2009 21:45 UTC

Return-Path: <rpenno@juniper.net>
X-Original-To: behave@core3.amsl.com
Delivered-To: behave@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id CF2203A6A72 for <behave@core3.amsl.com>; Thu, 3 Dec 2009 13:45:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yVqaYFLJptw7 for <behave@core3.amsl.com>; Thu, 3 Dec 2009 13:45:37 -0800 (PST)
Received: from exprod7og126.obsmtp.com (exprod7og126.obsmtp.com [64.18.2.206]) by core3.amsl.com (Postfix) with ESMTP id 345CA3A696C for <behave@ietf.org>; Thu, 3 Dec 2009 13:45:34 -0800 (PST)
Received: from source ([66.129.224.36]) (using TLSv1) by exprod7ob126.postini.com ([64.18.6.12]) with SMTP ID DSNKSxgxdPGuYswJBcdHOwqAPORBvZ9gctQE@postini.com; Thu, 03 Dec 2009 13:45:28 PST
Received: from p-emfe02-wf.jnpr.net (172.28.145.25) by P-EMHUB01-HQ.jnpr.net (172.24.192.35) with Microsoft SMTP Server (TLS) id 8.1.393.1; Thu, 3 Dec 2009 13:43:32 -0800
Received: from EMBX01-WF.jnpr.net ([fe80::1914:3299:33d9:e43b]) by p-emfe02-wf.jnpr.net ([fe80::c126:c633:d2dc:8090%11]) with mapi; Thu, 3 Dec 2009 16:43:32 -0500
From: Reinaldo Penno <rpenno@juniper.net>
To: Simon Perreault <simon.perreault@viagenie.ca>, Cameron Byrne <cb.list6@gmail.com>
Date: Thu, 3 Dec 2009 16:43:29 -0500
Thread-Topic: [BEHAVE] proprietary implementation v.s standardisedprotocols//re: draft-xu-behave-nat-state-sync-00
Thread-Index: Acp0ElNWVlOr+wz4QOmh1Xee0QLqFgAT1NOw
Message-ID: <C73D7101.B623%rpenno@juniper.net>
In-Reply-To: <4B17ABE7.9020108@viagenie.ca>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-Entourage/13.0.0.090609
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "behave@ietf.org" <behave@ietf.org>, 'Xu Xiaohu' <xuxh@huawei.com>, Dan Wing <dwing@cisco.com>
Subject: Re: [BEHAVE] proprietary implementation v.s standardisedprotocols//re: draft-xu-behave-nat-state-sync-00
X-BeenThere: behave@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: mailing list of BEHAVE IETF WG <behave.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/behave>
List-Post: <mailto:behave@ietf.org>
List-Help: <mailto:behave-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/behave>, <mailto:behave-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Dec 2009 21:45:37 -0000

First of all you state that all NAT64 implementations will be the same
because the standard is new. Therefore  I did the following exercise:

I re-read a _single_ section of NAT64 (3.2.4.  ICMP Query Session Handling).
I found that developers have the following choices (and this does not go
into implementation details):

* Local Security Policy can drop ICMPv6 packets (yes/no)
* Local Security Policy can drop ICMPv6 packets configurable per
  interface/rule/etc (yes/no for each one)
* ICMPv6 lifetime can be configurable (yes/no)
* ICMPv6 lifetime can be configurable within a certain range (yes/no)
* ICMPv6 lifetime can be configurable with a granularity of ms/seconds/etc
  (yes/no)
* ICMPv4 message will be sent back to sender (yes/no/configurable)
* ICMPv4 message will be sent back to sender per configuration
  interface/nat rule/etc (yes/no each one)
* ICMPv4 message will be sent back to sender in case of filtering
  (yes/no/configurable)
* ICMPv4 message will be sent back to sender per configuration
  (interface/rule/etc)
* ICMPv4 lifetime can be configurable (yes/no)
* ICMPv4 lifetime can be configurable within a certain range (yes/no)
* ICMPv4 lifetime can be configurable with a granularity of ms/seconds/etc
  (yes/no)
 
And do not even get me started in generic address-filtering behavior which
is much more complex and have more implementation choices.

And this the way things are because different providers have different
networks and provider service to customer with different needs.

Second, you indicate that operational complexity is something on the side.

Providers are interested in Service Continuity as a solution. Operational
complexity cannot be dismissed off hand with 'This is an operational issue'.
Several people made this point clear in the list.

But, let's take this further:

Can you elaborate on which tests need to be done in order to guarantee that
this scenario will work between two different vendors?

Of course after the provider go through all the tests for this single and
only scenario, if NAT64-A or NAT64-B needs to be upgraded, it is not
guarantee that things will work again. Software from different vendors
evolve differently, are EOLed differently, change behavior differently.

Finally, If you pin down all specific behavior you need within all possible
permutations of different vendors, weigh the operational cost of a
multi-dimensional testing to find two boxes that can provide the High
Availability with the NAT behavior you need, I think you will find out that
NAT64-A and NAT64-B are made by the same vendor.


Thanks,


On 12/3/09 4:15 AM, "Simon Perreault" <simon.perreault@viagenie.ca> wrote:

> On 12/02/2009 10:14 PM, Reinaldo Penno wrote:
>> Let's assume you have NAT-A and NAT-B from different vendors. NAT-A is
>> processing packets for 3 NAT sessions and as master have synched these 3 NAT
>> sessions to NAT-B.
>> 
>> If NAT-A fails and NAT-B takes over, how can you guarantee that NAT-B will
>> be able to handle these sessions in terms of packets per second?
> 
> Assuming s/NAT/NAT64/g...
> 
> This is an operational issue. You just ensure that this will work when
> you buy and deploy A and B. Check spec sheets, chat with vendors,
> perform tests, etc.
> 
> What's your point?
> 
> Simon