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

Brian E Carpenter <brian.e.carpenter@gmail.com> Sun, 31 March 2013 12:45 UTC

Return-Path: <brian.e.carpenter@gmail.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 3FB7021F845A; Sun, 31 Mar 2013 05:45:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.844
X-Spam-Level:
X-Spam-Status: No, score=-99.844 tagged_above=-999 required=5 tests=[AWL=-0.923, BAYES_00=-2.599, FH_HOST_EQ_D_D_D_D=0.765, RCVD_ILLEGAL_IP=1.908, RCVD_IN_PBL=0.905, RDNS_DYNAMIC=0.1, USER_IN_WHITELIST=-100]
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 MmQ-3agFUO0t; Sun, 31 Mar 2013 05:45:14 -0700 (PDT)
Received: from mail-wi0-x22e.google.com (mail-wi0-x22e.google.com [IPv6:2a00:1450:400c:c05::22e]) by ietfa.amsl.com (Postfix) with ESMTP id 4425821F8319; Sun, 31 Mar 2013 05:45:14 -0700 (PDT)
Received: by mail-wi0-f174.google.com with SMTP id hj8so935922wib.7 for <multiple recipients>; Sun, 31 Mar 2013 05:45:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:organization:user-agent :mime-version:to:cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=KrHuaBdGefY8jnl7bK3GNcL4kOxkxagqLh+CYltTv6M=; b=dC0R0/ZG9ZjUl9xjOwN9By7b0wHhsHv2bqPXBg/0PRNMPcPhf0AdRPd8pMOLk8DE1F gITZRc2VxAde78QgPX1RDoh8BhQQ3hKzGp8cxqrVqxAQ1XO1+F5s+U1EkoDHU27gAHm8 HmOj2yaHcd5PMtEeOjn9uQAeBAGEr3HIXVUYCEpNxtgBG0lEsdboYBXOTohfOK7S030X JKsPfrIvhNvjO5t5DjbdkNj3RPQnbj75IMlTEyNBdQ9zh5oeKWNovC4+0TeU6vZJHW3D PhyltyWMK4QqoR5A3IP8j/bYn03JD05lUAHzCwrHVPjrkLvdO2/zrXG8I88eXbjLex4D WiVw==
X-Received: by 10.180.92.229 with SMTP id cp5mr5731883wib.20.1364733913355; Sun, 31 Mar 2013 05:45:13 -0700 (PDT)
Received: from [192.168.1.65] (host-2-102-218-177.as13285.net. [2.102.218.177]) by mx.google.com with ESMTPS id dp5sm8178471wib.1.2013.03.31.05.45.11 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 31 Mar 2013 05:45:12 -0700 (PDT)
Message-ID: <51582FD6.9060503@gmail.com>
Date: Sun, 31 Mar 2013 13:45:10 +0100
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
MIME-Version: 1.0
To: "Poscic, Kristian (Kristian)" <kristian.poscic@alcatel-lucent.com>
References: <7921F977B17D5B49B8DCC955A339D2F02AA9B897@US70UWXCHMBA06.zam.alcatel-lucent.com>
In-Reply-To: <7921F977B17D5B49B8DCC955A339D2F02AA9B897@US70UWXCHMBA06.zam.alcatel-lucent.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
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:45:15 -0000

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