[Anima-signaling] GRASP and unicast UDP

Brian E Carpenter <brian.e.carpenter@gmail.com> Wed, 17 August 2016 04:42 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: anima-signaling@ietfa.amsl.com
Delivered-To: anima-signaling@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A2A5612B040 for <anima-signaling@ietfa.amsl.com>; Tue, 16 Aug 2016 21:42:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 gm_CmRr589Uc for <anima-signaling@ietfa.amsl.com>; Tue, 16 Aug 2016 21:42:38 -0700 (PDT)
Received: from mail-pa0-x235.google.com (mail-pa0-x235.google.com [IPv6:2607:f8b0:400e:c03::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5CEC712B057 for <anima-signaling@ietf.org>; Tue, 16 Aug 2016 21:42:38 -0700 (PDT)
Received: by mail-pa0-x235.google.com with SMTP id i5so32936771pat.2 for <anima-signaling@ietf.org>; Tue, 16 Aug 2016 21:42:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=to:from:subject:organization:message-id:date:user-agent :mime-version:content-transfer-encoding; bh=KFbiI3AEuCFgefVZueMX/DeC0GnguRkR+LDeQKvLjzs=; b=fnhFjS6GaJRQSIN2VQJJD9nnBxuMkgEPAq/tI3AtM9RI2I8SwTjw6+n2AGmdxjxqox Seoim9pJaQpM1ij4OvXrmWHdtkKdifJrVV4RMsimbMuoCTHTGgJjVmwx934RvHS1o/MX zvMVjXk8g3s7bhh5YwL4ZmpM6Sb7TcHyPsqPfm1AVD/+UTdreyPpQc8yT3muve12w955 PVYtCWVTViS3PhQc2Fitzzqb7jdHWpvioeo55bs1LMe7995qkeZV9KvICzOE6zAObkdS g0Dey41xWvhF47ftLsNTHztDL++JrW4e2UZuAbVic4o+Vu/eAN/HSLGCJGoGKKQiJ11O Dm+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:to:from:subject:organization:message-id:date :user-agent:mime-version:content-transfer-encoding; bh=KFbiI3AEuCFgefVZueMX/DeC0GnguRkR+LDeQKvLjzs=; b=DEUuFT4JURHvW9aWF0mzCXFUKN/y4k7HRl2EXpM7s2DQ1uhG/dBQkM8SkhmvPL0V0d aXliDwaC281jYZ9/Kt7/KEd5Vo6jbIF13bmbFgrxjbqw7ZELPSf/xKDUCkm43MBHvydj G+al+ZHFCCbqBxPDKpUBcTojSefdMAWF8e7DHFDLjeXbXgjldE0ByPBk64+9gupXlf4l 3FY2ZP8VYBgq24H6ZELlBfNKeVMSipKJkspHWF7FTQexT+dzNyS1JqQp7HtPcsxC6WW4 +gn1aU/k+LbI+3mmRVZh5eiZQJ4l1XZUsiA4mhW96y73bS8SKSUmV+Lxjvwn4hPFPk+L 9QSA==
X-Gm-Message-State: AEkooutkfGU1vmej7awn7f0pU0y7ksX3Ap9lYJsUVYrk9T9Dgru6LK3wrAfLk0gDJNJYtg==
X-Received: by 10.66.154.232 with SMTP id vr8mr9429491pab.104.1471408957754; Tue, 16 Aug 2016 21:42:37 -0700 (PDT)
Received: from ?IPv6:2406:e007:63aa:1:28cc:dc4c:9703:6781? ([2406:e007:63aa:1:28cc:dc4c:9703:6781]) by smtp.gmail.com with ESMTPSA id p64sm43042131pfd.11.2016.08.16.21.42.36 for <anima-signaling@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Aug 2016 21:42:37 -0700 (PDT)
To: Anima signaling DT <anima-signaling@ietf.org>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Organization: University of Auckland
Message-ID: <c4d6fc66-a95f-83e3-1f65-1e7aec1c2696@gmail.com>
Date: Wed, 17 Aug 2016 16:42:40 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima-signaling/UYYQBEcx5AyHiwnEJACSCAIc-IU>
Subject: [Anima-signaling] GRASP and unicast UDP
X-BeenThere: anima-signaling@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Mailing list for the signaling design team of the ANIMA WG <anima-signaling.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima-signaling/>
List-Post: <mailto:anima-signaling@ietf.org>
List-Help: <mailto:anima-signaling-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima-signaling>, <mailto:anima-signaling-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Aug 2016 04:42:40 -0000

To entertain myself while waiting for comments on other matters, I spent
quite some time (and swear words) on hacking the prototype GRASP to use
UDP instead of TCP for unicast operations (i.e. discovery responses,
synchronization responses, and negotiation).

My conclusion is that it's a fairly silly thing to do, except possibly
for discovery, which only involved a normal amount of debugging. I'm sure
this is something that DNS server developers are very familiar with:
writing a robust server handling things over UDP is a great deal harder
than doing it with TCP. In fact I gave up when I realised that for
the negotiation case (where there are an unpredictable number of messages
in both directions) I was basically going to have to rewrite half of TCP,
and still not have a robust solution. Without a lot more work, the UDP
solution is riddled with timing-dependent issues. (At one point, adding
a print statement for debugging fixed the bug, so that I simply couldn't
debug it...)

Of course, all this could be solved with more work, but I'm really not
sure we should recommend UDP at all, except for discovery responses.
I can't really imagine a real autonomic node that doesn't have TCP code.

Comments?

    Brian