Re: [Softwires] [BEHAVE] packet reordering in MAP

"Poscic, Kristian (Kristian)" <kristian.poscic@alcatel-lucent.com> Sun, 31 March 2013 12:48 UTC

Return-Path: <kristian.poscic@alcatel-lucent.com>
X-Original-To: softwires@ietfa.amsl.com
Delivered-To: softwires@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 157E121F8496; Sun, 31 Mar 2013 05:48:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tHsnDgsK9s1k; Sun, 31 Mar 2013 05:48:04 -0700 (PDT)
Received: from ihemail1.lucent.com (ihemail1.lucent.com [135.245.0.33]) by ietfa.amsl.com (Postfix) with ESMTP id 44FF921F845D; Sun, 31 Mar 2013 05:48:04 -0700 (PDT)
Received: from us70tusmtp1.zam.alcatel-lucent.com (h135-5-2-63.lucent.com [135.5.2.63]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id r2VCm2eO014977 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Sun, 31 Mar 2013 07:48:02 -0500 (CDT)
Received: from US70TWXCHHUB03.zam.alcatel-lucent.com (us70twxchhub03.zam.alcatel-lucent.com [135.5.2.35]) by us70tusmtp1.zam.alcatel-lucent.com (GMO) with ESMTP id r2VCm25U014225 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sun, 31 Mar 2013 08:48:02 -0400
Received: from US70UWXCHMBA06.zam.alcatel-lucent.com ([169.254.11.15]) by US70TWXCHHUB03.zam.alcatel-lucent.com ([135.5.2.35]) with mapi id 14.02.0247.003; Sun, 31 Mar 2013 08:48:02 -0400
From: "Poscic, Kristian (Kristian)" <kristian.poscic@alcatel-lucent.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Thread-Topic: [BEHAVE] packet reordering in MAP
Thread-Index: Ac4uB4uRFRGCdwgZTzy7vxCW8THBdQAJ4/sAAAhXG0A=
Date: Sun, 31 Mar 2013 12:48:01 +0000
Message-ID: <7921F977B17D5B49B8DCC955A339D2F02AA9B924@US70UWXCHMBA06.zam.alcatel-lucent.com>
References: <7921F977B17D5B49B8DCC955A339D2F02AA9B897@US70UWXCHMBA06.zam.alcatel-lucent.com> <51582FD6.9060503@gmail.com>
In-Reply-To: <51582FD6.9060503@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.17]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33
Cc: "softwires@ietf.org" <softwires@ietf.org>, "behave@ietf.org" <behave@ietf.org>
Subject: Re: [Softwires] [BEHAVE] packet reordering in MAP
X-BeenThere: softwires@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: softwires wg discussion list <softwires.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/softwires>, <mailto:softwires-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/softwires>
List-Post: <mailto:softwires@ietf.org>
List-Help: <mailto:softwires-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/softwires>, <mailto:softwires-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 31 Mar 2013 12:48:05 -0000

Ok, this is exactly what I was looking for. Let me take a look at this. Thanks!

-----Original Message-----
From: Brian E Carpenter [mailto:brian.e.carpenter@gmail.com] 
Sent: Sunday, March 31, 2013 5:45 AM
To: Poscic, Kristian (Kristian)
Cc: behave@ietf.org; softwires@ietf.org
Subject: Re: [BEHAVE] packet reordering in MAP

Have a look at section 3.1.8 in RFC 6250, and there is a reference:
Bennett, J., Partridge, C., and N. Shectman, "Packet reordering is not pathological network behavior", IEEE/ACM Transactions on Networking, Vol. 7, No. 6, December 1999.

A UDP application that cannot tolerate reordering is broken.

Since the Internet does not and cannot guarantee the order of delivery, I think the SHOULD is appropriate.

For example, if a translator is almost out of memory, surely it is better to send a packet out of order than to drop it?

   Brian

On 31/03/2013 13:21, Poscic, Kristian (Kristian) wrote:
> Can someone share some history and research backed data behind this statement at the very bottom of section 4 in RFC 6145 (IP/ICMP Translation Algorithm).
> 
> The translator SHOULD make sure that the packets belonging to the
>    same flow leave the translator in the same order in which they
>    arrived.
> 
> I'm wondering why would be acceptable for a box to reorder packets of the same flow (SHOULD vs MUST)?
> 
> While TCP can cope with reordering well (seq numbers plus TCP has MSS mechanism to avoid fragmentation all together if the nodes in the path also support MSS), I would think that (at least some)  apps using UDP transport would not tolerate packet reordering.
> So I was hoping that someone can offer some references of real research backed data rather than opinions  (I would like to her opinions as well but they often differ).
> Even if you have ECMP in the network and if all the nodes in the end-to-end path are performing per flow load balancing over ECMP links (which should be the norm), packet reordering should not happen.
> If nodes are performing per-packet load balancing over ECMP links then packet reordering can occur but I would consider this bad practice (I know that some old platforms would do per packet load balancing on ECMP links though).
> 
> The reason I ask this is in the context of implementing fragmentation/reassembly for MAP-E/T (although the issue extends beyond MAP).
> For example in distributed platforms it would make sense to implement MAP translation function in-line (in the forwarding cards) but the reassembly function in the service cards since the reassembly function adds additional complexity and buffering requirements (I understand that the fragmented traffic is small percentage of all traffic, but still...).
> Let say that a v6 packet arrives to a BR (from the CPE).
> The BR will process this packet in-line and send it out as v4.
> Then another number of fragmented packets of the same flow arrive -> the BR process those in service blades (not in-line).
> While service blade is processing the fragments (reassembling them), another non-fragmented packet of the same flow arrives on the BR.
> This packet is processed in-line and sent out before the previously received fragments are reassembled in service blade.
> Now the BR has caused packet re-ordering.
> Why is this, according to RFC 6145) acceptable?
> 
> Any feedback appreciated.
> Kris
> 
> 
> 
> 
> 
> ----------------------------------------------------------------------
> --
> 
> _______________________________________________
> Behave mailing list
> Behave@ietf.org
> https://www.ietf.org/mailman/listinfo/behave