<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
  <!ENTITY RFC1035  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml'>
  <!ENTITY RFC1112  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1112.xml'>
  <!ENTITY RFC2119  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
  <!ENTITY RFC2131  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2131.xml'>
  <!ENTITY RFC2251  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2251.xml'>
  <!ENTITY RFC3315  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315.xml'>
  <!ENTITY RFC3376  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3376.xml'>
  <!ENTITY RFC3492  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3492.xml'>
  <!ENTITY RFC3758  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3758.xml'>
  <!ENTITY RFC3810  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3810.xml'>
  <!ENTITY RFC3927  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3927.xml'>
  <!ENTITY RFC3931  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3931.xml'>
  <!ENTITY RFC4045  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4045.xml'>
  <!ENTITY RFC4120  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4120.xml'>
  <!ENTITY RFC4188  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4188.xml'>
  <!ENTITY RFC4291  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml'>
  <!ENTITY RFC4541  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4541.xml'>
  <!ENTITY RFC5198  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5198.xml'>
  <!ENTITY RFC5517  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5517.xml'>
  <!ENTITY RFC5895  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5895.xml'>
  <!ENTITY RFC6106  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6106.xml'>
  <!ENTITY RFC6165  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6165.xml'>
  <!ENTITY RFC6325  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6325.xml'>
  <!ENTITY RFC6762  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6762.xml'>
  <!ENTITY RFC6763  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6763.xml'>
  <!ENTITY RFC6951  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6951.xml'>
  ]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc toc="yes" ?>
<?rfc tocindent="yes" ?>
<?rfc tocdepth="2" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<rfc category="info" docName="draft-otis-dnssd-mdns-xlink-02" ipr="trust200902">
  <front>
    <title abbrev="mDNS xlinks"> mDNS X-link review</title>
    <author fullname="Douglas Otis" initials="D." surname="Otis">
      <organization>Trend Micro</organization>
      <address>
         <postal>
           <street>10101 N. De Anza Blvd</street>
           <city>Cupertino</city>
           <region>CA</region>
           <code>95014</code>
           <country>USA</country>
         </postal>
         <phone>+1.408.257-1500</phone>
         <email>doug_otis@trendmicro.com</email>
       </address>
    </author>
    <date day="14" month="February" year="2014"/>
    <area>Internet Area</area>
    <workgroup>dnssd</workgroup>
    <keyword>bonjour, link-local, utf-8, hostname, service-discovery, gateway, cross-link, xlink,
      rbridge, vlan</keyword>
    <abstract>
      <t>Multicast DNS will not normally extend beyond the MAC Bridge. Such limitations are
        problematic when desired services are beyond the reach of multicast mDNS. This document
        explores options for overcoming this limitation.</t>
    </abstract>
    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
        "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in
          <xref target="RFC2119"/>.</t>
    </note>
  </front>
  <middle>
    <section title="Introduction">
      <t>mDNS <xref target="RFC6762"/> normally allows MAC entities to make their services known on
        MAC Bridged LANs without use of centralized discovery services. Multicast limits the range
        of this publication to LANs able to forward mDNS frames. A Bridge is a mechanism transparent
        to end stations on LANs interconnected by Bridges designated to forward frames normally
        through participation in a Spanning Tree Algorithm.</t>

      <t>A Bridge forwards frames based on prior source MAC associations with incoming frames on
        different LAN ports. Source MAC and LAN port associations are recommended to expire in 300
        seconds. Frames containing source multicast MAC are silently discarded as invalid. Frames
        containing a destination MAC on the same LAN port already associated with the MAC are
        silently discarded. A valid incoming frame with a destination not previously associated with
        a different LAN port is forwarded (flooded) to all other LAN ports, otherwise when a MAC
        destination address is associated with a different LAN port from which the frame was
        received, the frame is selectively forwarded to this port. All broadcast and multicast MAC
        are flooded to all other LAN ports because the MAC does not represent a valid source.
        Flooding operation may create a storm of replicated frames having an unknown MAC destination
        whenever forwarding is enabled on LAN ports connected in a loop.</t>

      <t>In IEEE 802.11 wireless networks, multicast frames are transmitted at a low data rate
        supported by all receivers. Multicast on wireless networks may thereby lower overall network
        throughput. Some network administrators block multicast traffic or convert it to a series of
        link-layer unicast frames.</t>

      <t>Wireless links may be orders of magnitude less reliable than their wired counterparts. To
        improve transmission reliability, the IEEE 802.11 MAC requires positive acknowledgement of
        unicast frames. It does not, however, support positive acknowledgement of multicast frames.
        As a result, it is common to observe much higher loss of multicast frames on wireless
        compared against wired network technologies.</t>
    </section>

    <section title="Possible Solutions">
      <section title="Selective Forwarding based on IGMP or MLD snooping">
        <t>Internet Group Management Protocol (IGMP) <xref target="RFC3376"/> supports multicast on
          IPv4 networks. Multicast Listener Discovery (MLD) <xref target="RFC3810"/> supports
          multicast management on IPv6 networks using ICMPv6 messaging in contrast to IGMP's bare IP
          encapsulation. This management allows routers to announce their multicast membership to
          neighboring routers. To optimize which LANs receive forwarded multicast frames, IGMP or
          MLD snooping can be used to determine the presence of listeners as a means to permit
          selective forwarding of multicast frames.</t>
      </section>

      <section title="RBridge">
        <t>RBridges <xref target="RFC6325"/> are compatible with previous IEEE 802.1 customer
          bridges as well as IPv4 and IPv6 routers and end nodes. RBridges may support either IEEE
          802.3 or other link technologies. RBridges are invisible to current IP routers as bridges
          are and, like routers, terminate the Bridge spanning tree protocol. The RBridge design
          supports VLANs and optimization of the distribution of multi-destination frames based on
          VLAN ID or on IP-derived multicast groups. It also allows unicast forwarding tables at
          transit RBridges to be sized according to the number of RBridges (rather than the number
          of end nodes), which allows their forwarding tables to be substantially smaller than in
          conventional customer bridges.</t>
        <t><xref target="RFC3927"/> provides an overview of IPv4 address complexities related with
          dealing with multiple segments and interfaces. IPv6 introduces new paradigms in respect to
          interface address assignments which offer scoping as explained in <xref target="RFC4291"
          />. The use of RBridge has the capacity of greatly simplifying this environment while also
          eliminating bottlenecks imposed by a Spanning Tree Algorithm.</t>
        <t>If it can be determined an additional layer can be added within RBridge to implement
          selective multicast forwarding, input for this extension should be defined to assist with
          mDNS management.</t>
      </section>
      <section title="L2TP VPN">
        <t>L2TP VPN <xref target="RFC3931"/> with experimental <xref target="RFC4045"/> attempt to
          handle multicast by mitigating redundant traffic which remains fairly problematic.</t>
      </section>
      <section title="VLAN">
        <t>There are several products being introduced into the market that attempt to solve the
          problem stated in the charter. They normally use VLAN <xref target="RFC5517"/> to
          selectively extend multicast forwarding beyond Bridge limitations. This does not represent
          a general solution but can support specific services being offered by dynamic devices
          within a local IP address space.</t>
      </section>
      <section title="Convert mDNS to DNS">
        <t>Rather than using MAC as an exchange basis, IP addresses made visible by DNS <xref
            target="RFC1035"/> that conform with <xref target="RFC6763"/> can be used instead.
          Direct access to an IP address is better assured with a single DHCP <xref target="RFC2131"
          /> or <xref target="RFC3315"/> server for IPv4 and IPv6 respectively that responds to
          interconnected networks. In such a configuration, it is possible to have DHCP indicate
          which DNS server is to be used as a means to offer combined local and Internet
          namespace.</t>
        <t>Automation needed to populate the information published in DNS normally depends on
          Kerberos <xref target="RFC4120"/> and LDAP <xref target="RFC2251"/> servers supporting
          either a campus or corporate network.</t>
        <t>Automated conversion of mDNS into unicast DNS can be problematic from a security
          standpoint as can the propagation of multicast frames. mDNS only requires compliance with
            <xref target="RFC5198"/> rather than IDNA2008 <xref target="RFC5895"/>. This means mDNS
          does not ensure instances are visually unique and may contain spaces and punctuation not
          permitted by IDNA2008. mDNS also permits name compression of SRV target names that DNS
          currently does not ensure support.</t>
        <t>Public Suffix lists might help simplify the creation of A-Labels from UTF-8 user input by
          offering matching items for user selection. A Public Suffix list represents DNS domain
          names reserved for registrations by appropriate authorities. This still leaves the domain
          registered above the public suffix, but its validation should involve fewer
          transactions.</t>
        <t>Replacing ASCII punctuation and spaces in the label with the '_' character, except when
          located as the leftmost character, may reduce some handling issues related to end of
          string parsing, since labels in DNS normally do not contain spaces or punctuation.
          Nevertheless, DNS is able to handle such labels within sub-domains of registered
          domains.</t>
        <t>Services outside the ".local." domain may have applications obtaining domain search lists
          provided by DHCP (<xref target="RFC2131"/> and <xref target="RFC3315"/> for IPv4 and IPv6
          respectively or RA DNSSL <xref target="RFC6106"/> also for IPv6. Internet domains need to
          be published in DNS as A-Labels <xref target="RFC3492"/> because IDNA2008 compliance
          depends on A-label enforcement by registrars. Therefore A-Labels and not U-Labels must be
          published in DNS for Internet domains at this time. There is also a DNS extension to
          support the live browse feature found in mDNS.</t>
        <t>The SRV scheme used by mDNS has also been widely adopted in the Windows OS since it
          offered a functional replacement for Windows Internet Name Service (WINS) as their initial
          attempt which lacked sufficient name hierarchy.</t>

        <t>It is unknown whether sufficient filtering of mDNS to expose just those services likely
          needed will sufficiently protect wireless networks. The extent RBridge use and something
          analogous to IGMP or MLD for selective forwarding might help to mitigate otherwise
          spurious traffic is unknown.</t>

        <t>Open source of corporate server implementations based on a Debian distro are currently
          available with plug-ins able to support Windows and OS X.</t>

        <section title="Reliable Wireless Multicast">
          <t><xref target="RFC6951"/> transport protocol was designed to efficiently exchange frames
            rather than byte streams. It can operate with partial reliability <xref target="RFC3758"
            /> while still allowing receivers to detect and request specific lost frames. This might
            be possible while also using multicast MACs and IP Addresses. This protocol currently
            has not been structured to support multicast. This transport also extends the DNS 16 bit
            transactional nonce not even present in mDNS with an additional 32 bit random session
            ID.</t>
        </section>
      </section>
    </section>

    <section title="IANA Considerations">
      <t>This document requires no IANA consideration.</t>
    </section>

    <section title="Security Considerations">
      <t>Layer 2 Bridging that might be used to extend mDNS is not inherently secure. See <xref
          target="RFC6325"/> for a list of possible concerns and mitigation methods.</t>
      <t>Conveying both the MAC and IP address beyond the LAN may enable attacks that would have
        otherwise been prevented.</t>
      <t>Moving mDNS services into DNS MUST only publish services able to withstand this greater
        exposure.</t>
      <t>Any query for a name ending with ".local." MUST be resolved using mDNS.</t>
      <t>It is not uncommon for CPE equipment's DNS settings being maliously modified. Often this
        equipment does not create or retain settings logs, where a reset or power cycling removes
        evidence of tampering.</t>
      <t>Establishing ".local." as the first domain offered in a domain search list could ensure
        local services receive higher priority, but such a priority could also permit local spoofing
        of services otherwise resolved using DNS. A priority on local resolution may also result in
        a 3 second additional delay for global resolutions.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors wish to acknowledge valuable contributions from the following: Dave Rand,
        Michael Tuexen <vspace blankLines="5"/></t>
    </section>
  </middle>
  <back>
    <references title="References - Informative"> &RFC1035; &RFC2119; &RFC2131; &RFC2251; &RFC3315;
      &RFC3376; &RFC3492; &RFC3758; &RFC3810; &RFC3927; &RFC3931; &RFC4045; &RFC4120; &RFC4291;
      &RFC4541; &RFC5198; &RFC5517; &RFC5895; &RFC6106; &RFC6165; &RFC6325; &RFC6762; &RFC6763;
      &RFC6951; </references>
  </back>
</rfc>
