Re: [icnrg] [EXT] ICN (NDN) auto-configuration and self-learning: best practices?
Dirk Kutscher <ietf@dkutscher.net> Thu, 21 July 2022 08:07 UTC
Return-Path: <ietf@dkutscher.net>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 90330C14CF18 for <icnrg@ietfa.amsl.com>; Thu, 21 Jul 2022 01:07:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XNLI2YL0f9jG for <icnrg@ietfa.amsl.com>; Thu, 21 Jul 2022 01:07:15 -0700 (PDT)
Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 73865C14F735 for <icnrg@irtf.org>; Thu, 21 Jul 2022 01:07:14 -0700 (PDT)
Received: from [192.168.1.50] ([95.91.46.226]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1N5n3t-1nQMoy2yL5-017CIh; Thu, 21 Jul 2022 10:07:07 +0200
From: Dirk Kutscher <ietf@dkutscher.net>
To: Teng Liang <philoliang@arizona.edu>
Cc: ICNRG <icnrg@irtf.org>
Date: Thu, 21 Jul 2022 10:07:05 +0200
X-Mailer: MailMate (1.14r5852)
Message-ID: <D0526561-47D7-4835-86EC-C07767F9EF4C@dkutscher.net>
In-Reply-To: <CACDkyYx6g8pHg8sRu5+H+9B+nOnj7ZF4t-dy3Kpkgasi5Qhp3A@mail.gmail.com>
References: <90EA4FFD-7CAB-4FFC-9EE0-855C06934F37@dkutscher.net> <CACDkyYx6g8pHg8sRu5+H+9B+nOnj7ZF4t-dy3Kpkgasi5Qhp3A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=_MailMate_DFF070BE-DDC9-4444-A810-0A20694DF4DF_="; micalg="pgp-sha1"; protocol="application/pgp-signature"
X-Provags-ID: V03:K1:dTlYMk9WBTLKed9PWKitt/gQP2Uk30szIB0NvFY+jO1nT9RwcNb irDX8v1X/3o0x8nKcjHIzjabh/rE8eNGT/tgM/aoXSrdveezw5EigdjlzgZMZN8DxaRLzsL snEUwYlRrGdTIiAFC3DpB6AeehKm7NoZZSOlPmGAd+VVxIRWOgTOk4nja1RAgnA3tpnKVpy cVZrsMpNLIJq/DTQRiUEQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:JqZZNMxFflE=:66LzpuC8RgeCsGd5/ZdjCB EmpIzL4jXb7ZFFEj5BcqeP78UB0TqAz3SI94wNOfcWgFIi8WSYv13MkhTgz3Y439zUCmRNVDV 3A3nH3PTxwetCo94vv6vMjLn7KMLIPrUTHqo3z5VLqAVhmuxObEfY1UW2JlNY5qrNz7t9sJX1 O4X2HDPDqL2WWXz2HFAqIhPaL2vF/Hqamqi0dcSYpuIzRFNzDHZoTm29ovYLTgVTMgm896aMh zf20pBG1v0qCnvX4AMLDrOkVkOKEA4CIKIIexiJOG0qdQ91Yiwf2LHXU0leJTRDYJMuzHghQL f/Nd2EddUBlphQJ8s8f3b7vIlc9d0fsmVtHWAJfzlKmcljq9qxMulT+b6+dhyovRJgf4+MQO2 WGGUS8G03acR6UG1F9bXCGZo4/81QjScHGmAPkTjzcEwfyxi+6EEO7uXtrcyZ4gVXvaI3LOD4 /z4BsRDEi3COSOKnxZ2JwxhGkwW30SEk+NmLvvNWHk/Oimi5VT4A+i2O/FtkxdTB4OgufGQW4 EQ4YriAY3JBTd5LRTSVzRIC8PhDy230in8lyLfV2fvi5LNUuKGQjCBxtDTSqpmdLd8khi5wQU dIZ3HW8mPjqGBsppnGDIsrh8WKC4kQ7D/8tmbxS6A9H99yUxGxT6P84AQdTeZ23GEoYb9z5x8 y30uSE7wGSlRUfg8ByWj2lAvXgYNvmWYp7M7Nfu2X5k44XBmzkPreJX5fZz1hfyJ/NeGyVxNs jHNC6/MvKSAAPYEERZZTq+YNloveokMwD5UStA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/icnrg/vqq6bGS7twZ3i8Vv0m2Mt04AWhA>
Subject: Re: [icnrg] [EXT] ICN (NDN) auto-configuration and self-learning: best practices?
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jul 2022 08:07:20 -0000
Hi Teng, thanks a lot! Best regards, Dirk On 21 Jul 2022, at 5:59, Teng Liang wrote: > Hi Dirk, > > Self-learning is implemented in NFD as a forwarding strategy. The current > official version (v1) supports interest broadcast and on-demand route setup > (i.e., add a route on data reception with prefix announcement attached). > Self-learning v2 plans to add unicast face setup, and better interest/NACK > handling. It is still under development, and an unofficial version can be > found here (https://github.com/philoL/NFD-out-of-the-box). > > To use self-learning strategy, one can either use "nfdc strategy" command, > or configure it in the nfd.config file, e.g., add an entry "/, > /localhost/nfd/strategy/self-learning" in the strategy_choice ( > https://github.com/named-data/NFD/blob/master/nfd.conf.sample.in#L71). > > This tutorial in ICN'20 may be helpful: > https://conferences.sigcomm.org/acm-icn/2020/tutorial-ndn.html. > > Best regards, > Teng > > On Wed, Jul 20, 2022 at 10:19 PM Dirk Kutscher <ietf@dkutscher.net> wrote: > >> Hello, >> >> I wanted to check in on the current state of auto-configuration >> (self-learning) in local networks (single broadcast domains) such as >> Ethernet networks. >> Background >> >> Auto-configuration in the data plane (self-learning through forwarding) >> without requiring additional control plane interactions (e.g., routing, >> configuration) has always been one of the advertized ICN features. >> >> For example, in an Ethernet (switched or not), ideally one would be using >> NDN with Ethernet (L2) faces. When you run NDN applications, what would be >> the best (reliable, efficient) way to learn about faces and routes to >> available data in the network? Ethernet broadcast/multicast (every node >> could have exactly one face) is an option that would surely work, but could >> incur overheads. >> Reactive Optimistic Name-based Routing >> >> Early work such as Reactive Optimistic Name-based Routing (RONR) for the >> IoT demonstrated the effectiveness of learning about forwarding options >> through flooding for discovery and then creating FIB entries based on the >> observed Data messages. >> On Broadcast-based Self-Learning >> >> The 2017 IFIP Networking paper On Broadcast-based Self-Learning in Named >> Data Networking [2] discusses several aspects such as prefix granularity, >> trust of announcements and data, self-learning on switched Ethernet and >> presented an approach that leverages flood-and-learn" and prefix >> announcements but includes some additional mechanisms for reducing overhead >> etc. >> What is a "Face" in Named Data Networking? >> >> Junxiao is discussing the related topics of "what is a face?" (interface >> vs. node adjacency) and multicast/broadcast in his blog posting [3], >> motivated by his thoughts on NDNts API Design that he also presented at a >> past ICNRG meeting [4]. >> >> He is also discussing ways to deal with L2 remote addresses and alludes to >> filtering NICs and name-based switching. >> Forwarder Implementations >> >> In the "Wireless Multicast" section in [3], Junxiao describes a model that >> could be used by consumer forwarders, without requiring name-based >> switching in the network nor special producer support. >> >> In 2020, another implementation attempt was made using two faces: the >> physical Ethernet adapter for broadcast, and an adjacency face between C >> and P for unicast. Forwarding logic should extract the unicast address of P >> in the first Data packet, dynamically create an adjacency face and setup a >> route, and then send subsequent Interests on that adjacency face. This >> would not fully insulate the forwarding plane from understanding >> EndpointId, but it would be limited to the logic that perform this face >> creation, and hopefully does not need to change everything else. >> >> This direction met challenges since the design stage. Generally, face >> creation and route updates are assumed to infrequent, but dynamic adjacency >> creation violates this assumption. NFD's architecture could allow the >> forwarding plane to create adjacency faces. However, the only way to >> perform a route update is sending a packet to the control plane running on >> a separate thread, and it isn't possible to send a new packet while >> processing another packet. Thus, this attempt never got past the design >> stage. >> >> Incidentally, I had used a similar design many years ago for implementing >> RFC 3259 (on L3 with UDP/IP multicast and unicast). >> >> I wondered whether this has been explored further or whether new designs >> have been tried. The approach outlined above is IMO relatively >> straight-forward, would rely on Ethernet Spanning Tree and on unicast >> addressing at the cost of having to creating many faces potentially. >> >> I understand that NFD constraints made this difficult to implement. Is >> this still the current situation? >> >> Are there other forwarders that implement this or other approaches? >> NDN Switch design >> >> The paper [2] and Junxiao's blog posting [3] also mention ideas and early >> work on switch designs that are based on name-based forwarding. In fact, >> Junxiao has an earlier implementation on OpenWrt [5]. I could imagine that >> a "production-grade" NDN switch could be quite useful in many scenarios, >> including the current effort on Big Data processing and distributed >> computing in NDN. >> >> Have there been new attempts, potentially leveraging NDN-DPDK or other >> modern forwarders? >> >> Any pointers, new ideas, feedback on any of these topics would be very >> welcome! >> >> Thanks, >> Dirk >> References >> >> 1. RONR <https://inet.haw-hamburg.de/papers/bmhsw-icnie-14.pdf> >> 2. On Broadcast-based Self-Learning in Named Data Networking >> <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8264832&tag=1> >> 3. What is a "Face" in Named Data Networking? >> <https://yoursunny.com/t/2021/NDN-face/> >> 4. NDNts API Design >> <https://datatracker.ietf.org/meeting/interim-2021-icnrg-01/materials/slides-interim-2021-icnrg-01-sessa-ndnts-api-junxiao-shi-00> >> 5. (NFD on OpenWrt Home Router)[ >> https://www.slideshare.net/yoursunny/nfd-luci] >> 6. (RFC 3259: A Message Bus for Local Coordination)[ >> https://www.rfc-editor.org/rfc/rfc3259.html] >> >> External Email >> >> _______________________________________________ >> icnrg mailing list >> icnrg@irtf.org >> https://www.irtf.org/mailman/listinfo/icnrg >>
- [icnrg] ICN (NDN) auto-configuration and self-lea… Dirk Kutscher
- Re: [icnrg] [EXT] ICN (NDN) auto-configuration an… Dirk Kutscher