[core] TCP, UDP, Proxy and Observe

Jim Schaad <ietf@augustcellars.com> Mon, 24 April 2017 16:29 UTC

Return-Path: <ietf@augustcellars.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C0579131817 for <core@ietfa.amsl.com>; Mon, 24 Apr 2017 09:29:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=augustcellars.com
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 DBsj3TmXgkjX for <core@ietfa.amsl.com>; Mon, 24 Apr 2017 09:29:47 -0700 (PDT)
Received: from mail4.augustcellars.com (augustcellars.com [50.45.239.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0274D131806 for <core@ietf.org>; Mon, 24 Apr 2017 09:29:47 -0700 (PDT)
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Language: en-us
DKIM-Signature: v=1; a=rsa-sha256; d=augustcellars.com; s=winery; c=simple/simple; t=1493051385; h=from:subject:to:date:message-id; bh=KgibsSomxFHbMCZq9P/1whZcGfT0JSubUdXe/7zny0A=; b=KwwJSJAb4T4xFaDlHnlJw06TUAlbrg+gWJSMYP6KgrM1Zc6AyHceHoTFm9wf8Br856bPG3XxzG2 iLxo8lWDvHgf1rt0/2VtHVW2s2LT+8vcFbs6WdIqJdb2+Q6bmoYq/GLqSnRaJxc+PghIoXVvqvE6D e2v4oHmYPCWAMHrx0Wdpjmrf+xEdq18WStADjEPgxuFhx2FN0/mrkt03fi3vbageu5oA7Ihfmslc3 FB0RQQwi7Z9DbP/mNAwcbQK3RKprxRdu7TqhiLTfLqr68dzMukKkxzNjB3zczrYZC0DK9G26s3MWq fTp9ylaSEvPKeWXBPFU5jBQVMc6MmQt4ka5g==
Received: from mail2.augustcellars.com (192.168.1.201) by mail4.augustcellars.com (192.168.1.153) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Mon, 24 Apr 2017 09:29:44 -0700
Received: from Hebrews (192.168.1.157) by mail2.augustcellars.com (192.168.1.201) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Mon, 24 Apr 2017 09:29:35 -0700
From: Jim Schaad <ietf@augustcellars.com>
To: 'Core' <core@ietf.org>
Date: Mon, 24 Apr 2017 09:19:17 -0700
Message-ID: <017601d2bd16$873ce1d0$95b6a570$@augustcellars.com>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdK9FTTNQqIDQxwSSBijDQvXYALUWA==
X-Originating-IP: [192.168.1.157]
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/8U4-KHE4X81989g3GoE4K0VY4TI>
Subject: [core] TCP, UDP, Proxy and Observe
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Apr 2017 16:29:49 -0000

I have been sketching out what my TCP/UDP and UDP/TCP proxy code would look
like and I am having a problem deciding what should be done for the observe
option.

If you have the case of Client->UDP->Proxy->UDP->Server, then dealing with
out of order observations can be dealt with in the following ways:

1. Pass them through unchanged or subtract a constant from the observer
value.  This pushes the problem of out of order observes onto the client.
The proxy would save the high water content.
2. Filter on observe value so that out of order transmissions are
suppressed.
3. Keep out of order items around for a while and see if the out of order
items show up and transmit them back as in order.  I missing items do not
show up until the time out, then suppress the out of order items.
4. Reorder the numbers so that things are seen in the wrong order by the
client.  (Obviously a wrong answer.)

I assumed that 1 was the correct answer and deal with things that way.

Now I come to the question of Client->TCP->Proxy->UDP->Server.  Since the
observe value is now to be ignored or removed, the first option above will
no longer work and I am not sure which the remaining options is the correct
one to do.  Does a reliable transmission protocol mean that we should
suppress items?

Jim