Re: [homenet] Understanding DNS-SD hybrid proxying [was: Firewall hole punching]

Markus Stenberg <markus.stenberg@iki.fi> Thu, 24 November 2016 05:43 UTC

Return-Path: <markus.stenberg@iki.fi>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 027481294FB for <homenet@ietfa.amsl.com>; Wed, 23 Nov 2016 21:43:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.821
X-Spam-Level:
X-Spam-Status: No, score=-1.821 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_NEUTRAL=0.779] 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 gNShn9dFZUJv for <homenet@ietfa.amsl.com>; Wed, 23 Nov 2016 21:43:51 -0800 (PST)
Received: from julia1.inet.fi (mta-out1.inet.fi [62.71.2.231]) by ietfa.amsl.com (Postfix) with ESMTP id 388471294AE for <homenet@ietf.org>; Wed, 23 Nov 2016 21:43:50 -0800 (PST)
Received: from poro.lan (80.220.131.63) by julia1.inet.fi (9.0.002.03-2-gbe5d057) (authenticated as stenma-47) id 5782991C03FC0524; Thu, 24 Nov 2016 07:41:25 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\))
From: Markus Stenberg <markus.stenberg@iki.fi>
In-Reply-To: <7i37iinfoa.wl-jch@irif.fr>
Date: Thu, 24 Nov 2016 07:43:43 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <DC6C69E2-5709-4AC2-BF16-2ADAB21177C0@iki.fi>
References: <871syc54d1.wl-jch@pps.univ-paris-diderot.fr> <CAPt1N1=eXRBh6UqGGqUSK9cH_jY5MvPcE4MFZUPe2Z48LF7bkA@mail.gmail.com> <87lgwj504t.wl-jch@irif.fr> <CAPt1N1kDCMDBEpt7QYhHtPYjaMJAzw8G81=2y2f=y0ZProeCPA@mail.gmail.com> <13675.1479346312@dooku.sandelman.ca> <3B35AF68-4792-4B2A-8277-A7B49206581F@google.com> <74143607-B81E-4D4C-89D3-4754E0DA7DE1@jisc.ac.uk> <790beb67-a62e-b7dc-b64e-a3fcecfbdb12@mtcc.com> <87zikrihl7.wl-jch@irif.fr> <2EEB3CCD-3C25-4844-95B5-DDE31F982EA2@iki.fi> <87oa17i9eq.wl-jch@irif.fr> <2DAA6FEB-8C87-42DA-9465-E740669C563A@iki.fi> <7i37iinfoa.wl-jch@irif.fr>
To: Juliusz Chroboczek <jch@irif.fr>
X-Mailer: Apple Mail (2.3251)
Archived-At: <https://mailarchive.ietf.org/arch/msg/homenet/O8gYmL1kzCXwnqzuvDuJzu-3M94>
Cc: homenet@ietf.org
Subject: Re: [homenet] Understanding DNS-SD hybrid proxying [was: Firewall hole punching]
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF Homenet WG mailing list <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/homenet/>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Nov 2016 05:43:54 -0000

On 23 Nov 2016, at 21.45, Juliusz Chroboczek <jch@irif.fr> wrote:
>>>> - ohybridproxy (only really scalable and sensible IPv6 rdns source that
>>>> I am aware of, given nodes talk mdns)
> 
>>> Noted, thanks for the opinion.  I still don't understand how it works (who
>>> gets port 53?  how are data from multiple links merged?), but I intend to
>>> do my homework.
> 
>> I give dnsmasq port 53, and then have it forward queries for .home
>> (chuckle) and my IPv4/IPv6 reverses in .arpa-land to 127.0.0.1:54 where
>> ohp listens on my routers.
> 
> Ok, makes sense (except for the choice of 54).  Two more questions:
> 
>  - who merges data from multiple links?  (I'd wish that the hybrid
>    proxies compute a minimal spanning tree and perform peer-to-peer
>    magic, but I suspect you're generating a config file dynamically
>    and restarting dnsmasq whenever the set of hybrid proxies changes.)

There is no need for merging, there are only few zones. They are all in DNS-SD browse/legacy browse path, and also in DNS search path. The configuration is actually static in my case. The benefit of merging is limited as there are only few subnets.

>  - who speaks mDNS?  The Hybrid proxies?  Or do they communicate with
>    a dedicated mDNS speaker?

ohybridproxy is not a mDNS implementation. I did one once ( https://github.com/fingon/hnet-core ) and later on decided it was a bad idea. ohp uses patched version of Apple’s mdnsd  ( https://github.com/fingon/mDNSResponder ) for heavy lifting.
I haven’t recently checked, but at least at the time Apple’s UNIX version of mDNSResponder was essentially broken but I fixed the few bugs that bothered me when developing ohp.

Cheers,

-Markus