Re: [bmwg] draft-lencse-bmwg-benchmarking-stateful

Łukasz Bromirski <lukasz@bromirski.net> Tue, 01 June 2021 06:56 UTC

Return-Path: <lukasz@bromirski.net>
X-Original-To: bmwg@ietfa.amsl.com
Delivered-To: bmwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D64DC3A1D43 for <bmwg@ietfa.amsl.com>; Mon, 31 May 2021 23:56:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OkkCLl4LoMPS for <bmwg@ietfa.amsl.com>; Mon, 31 May 2021 23:56:33 -0700 (PDT)
Received: from mail.bromirski.net (f019.rev.megiteam.pl [85.232.240.25]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD6F53A1D42 for <bmwg@ietf.org>; Mon, 31 May 2021 23:56:33 -0700 (PDT)
Received: by mail.bromirski.net (Postfix, from userid 58) id E1C516365C6; Tue, 1 Jun 2021 08:56:29 +0200 (CEST)
Received: from smtpclient.apple (user-5-173-132-95.play-internet.pl [5.173.132.95]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.bromirski.net (Postfix) with ESMTPSA id 076A5633432; Tue, 1 Jun 2021 08:56:28 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Łukasz Bromirski <lukasz@bromirski.net>
Mime-Version: 1.0 (1.0)
Date: Tue, 01 Jun 2021 08:53:56 +0200
Message-Id: <B7C434C0-2009-4B8F-A253-A801E85A88D0@bromirski.net>
References: <E304A8BD-62B7-4D05-B0E2-B0AEC4302499@wide.ad.jp>
Cc: Edwin Cordeiro <edwin@scordeiro.net>, bmwg@ietf.org
In-Reply-To: <E304A8BD-62B7-4D05-B0E2-B0AEC4302499@wide.ad.jp>
To: Keiichi SHIMA <shima@wide.ad.jp>
X-Mailer: iPhone Mail (18F72)
Archived-At: <https://mailarchive.ietf.org/arch/msg/bmwg/9QYXCWMl9ywMdUmKEuRswx1IvJU>
Subject: Re: [bmwg] draft-lencse-bmwg-benchmarking-stateful
X-BeenThere: bmwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Benchmarking Methodology Working Group <bmwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bmwg>, <mailto:bmwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bmwg/>
List-Post: <mailto:bmwg@ietf.org>
List-Help: <mailto:bmwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bmwg>, <mailto:bmwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Jun 2021 06:56:39 -0000

Keiichi,

There are two things we need to consider here.

First of all, with recent QUIC RFC, world will move slowly but surely to UDP as part of HTTP/3. We won’t see this happening massively this year, but so won’t IPv6 adoption.

However, until that, TCP stays major protocol used by essentially everything, including - recently to bigger degree - DNS (DNSSEC, DoT & DoH).

The issue with any middle box is that vendors typically optimize processing for specific protocol. While measuring performance for UDP is great for gaming and voice (typically), TCP brings additional processing overhead which will make the box (typically) perform slower.

As for the concerns on testing - we can introduce concept of „ramp up” during test, which is to lessen the impact of blasting DUT with maximum amount of flows at the same time, and instead ramp them up from baseline of X, with Y connections per second within next Z seconds (for example - 60 seconds). Of course, we could potentially recommend doing *both* of the tests, to show peak and nominal performance, so the lab test team would be able to asses results in wider spectrum of operating regimes.

-- 
./

> On 1 Jun 2021, at 05:35, Keiichi SHIMA <shima@wide.ad.jp> wrote:
> 
> Edwin
> 
> Thank you for your comments.
> 
> We need to decide which part of the performance measurement we are trying to achieve. draft-lencse-bmwg-benchmarking-stateful focuses on the forwarding performance of NATxy boxes. As you have pointed our in your response, there are difference between stateless and statefull NATxy boxes, that is connection state management.
> 
> I agree your opinion that we need to consider the difference.
> 
> I also think TCP performance is an important metrics, however, it should/can be done in a different context. There are many approaches to measure TCP performance out there, so I think we can leave that part to the existing methods. I believe it is a good approach to focus on the functions unique to stateful NATxy boxes in this draft.
> 
> In the current draft, we have already introduced connection state management consideration (in the draft, we call it as the preliminary phase test). As you say, it is focusing on the UDP-oriented state management.
> 
> We need to discuss if this is enough for the case of TCP or not, and if it is not, then we need to invent a method to measure TCP-oritented state management performance of a NATxy box.
> 
> Regards,
> 
> ---
> Keiichi SHIMA (島 慶一)
> WIDE project <shima@wide.ad.jp>
>    PGP: 9D95 8544 A5CE D530 9230  DF1C BB6E ABE1 D91F EDFC
> Research Laboratory, IIJ Innovation Institute, Inc <keiichi@iijlab.net>
>    PGP: 1B15 ACBC 1FB8 7325 B9BF  DCE6 B74D 1CFB 5173 3681
> 
> 
> 
> 
> 
> 
>> On May 26, 2021, at 19:56, Edwin Cordeiro <edwin@scordeiro.net> wrote:
>> 
>> I understand that previous testing recommended using UDP instead of TCP and it was not my intent to say we need to replace UDP with TCP.
>> 
>> But we have to consider if the goal of the new testing is just to have metrics to compare the transition techniques or do we want to also evaluate their scalability.
>> 
>> As I believe we also want to test the scalability, specially on the comparison between stateless versus stateful alternatives, testing with TCP seems necessary. To test scalability, we need to consider scenarios that are closer to the real usage of such techniques. Therefore I'm not suggesting we scrap UDP tests, but that we should add some TCP based tests to cover such scenarios.
>> 
>> When testing for scalability with TCP, we would target answering things like:
>> - Does the transition technique affect how fast the congestion window grows?
>> - Does it affect encryption protocols?
>> - Is it impacted by out of order or lost packets?
>> 
>> Best regards,
>> 
>> Edwin Cordeiro
>> 
>> 
>> On Tue, May 25, 2021 at 10:12 PM Gábor LENCSE <lencse@hit.bme.hu> wrote:
>> Dear Edwin Cordeiro,
>> 
>> Thank you very much for your review and support!
>> 
>> I would like to note regarding testing with TCP that all RFC 2544, RFC 5180 and also RFC 8219 recommends testing with UDP.
>> 
>> Additional testing with TCP seems to be feasible, but it requires some considerations and design decisions. For example, whereas you can simply send UDP datagrams as test traffic, but you need to establish a TCP connection first. The 3-way handshake may be done during the preliminary phase, and one can send TCP segments as test traffic in the real test phase.
>> However, it is does not seem trivial to me, how deeply the Tester should follow the TCP protocol.
>> On the one hand, perfectly implementing all the rules of the TCP protocol would impose a lot of limitations on the Tester, thus it would not be able to send test frames at the required rates. This would prohibit the execution of the benchmarking tests like throughput, frame loss rate, latency etc, :-(
>> On the other hand, normal routers do not look into the TCP protocol header, but NAT boxes do. Thus sending TCP segments with improper Sequence number, Acknowledgement number, etc. fields could result in different problems in the DUT depending on how deeply it follows the TCP protocol.
>> 
>> Best regards,
>> 
>> Gábor
>> 
>> 24/05/2021 13:51 keltezéssel, Edwin Cordeiro írta:
>>> Dear authors of draft-lencse-bmwg-benchmarking-stateful,
>>> 
>>> I agree with the motivation and ideas of the draft and I support its adoption.
>>> 
>>> I recommend that the TCP considerations for such benchmarking methodology should not be left for a future document, as TCP still is the most used protocol. So, the details on TCP difficulties and an extension of this benchmark to consider TCP, should be in the scope of this document.
>>> 
>>> Best regards,
>>> 
>>> Edwin Cordeiro
>>> 
>>> 
>>> _______________________________________________
>>> bmwg mailing list
>>> 
>>> bmwg@ietf.org
>>> https://www.ietf.org/mailman/listinfo/bmwg
>> 
>> _______________________________________________
>> bmwg mailing list
>> bmwg@ietf.org
>> https://www.ietf.org/mailman/listinfo/bmwg
>> _______________________________________________
>> bmwg mailing list
>> bmwg@ietf.org
>> https://www.ietf.org/mailman/listinfo/bmwg
> 
> _______________________________________________
> bmwg mailing list
> bmwg@ietf.org
> https://www.ietf.org/mailman/listinfo/bmwg