RFC 5679 PROPOSED STANDARD DNS · MOBILITY · SERVICE DISCOVERY

802.21 DNS Discovery: Locating IEEE 802.21 Mobility Services Using DNS

How a mobile device uses DNS NAPTR and SRV records to find IEEE 802.21 handover servers.

On rfc-editor.org ↗
PUBLISHED
December 2009
AUTHORS
G. Bajko
STREAM
IETF
UPDATED BY
RFC 8553 — DNS Attrleaf Fixes
SERVICE IDENTIFIERS
MIHIS, MIHES and MIHCS
TRANSPORT LETTERS
M2U for UDP, M2T for TCP, M2S for SCTP
MANDATORY TRANSPORTS
UDP and TCP
REGISTRY ENTRIES
9 service field values
SRV QUERY NAMES
_MIHIS, _MIHES and _MIHCS
NAPTR REGEXP FIELD
must be empty and must not be used
DOI
10.17487/RFC5679

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                           G. Bajko
Request for Comments: 5679                                         Nokia
Category: Standards Track                                  December 2009


            Locating IEEE 802.21 Mobility Services Using DNS

Abstract

   This document defines application service tags that allow service
   location without relying on rigid domain naming conventions, and DNS
   procedures for discovering servers that provide IEEE 802.21-defined
   Mobility Services.  Such Mobility Services are used to assist a
   Mobile Node (MN) supporting IEEE 802.21, in handover preparation
   (network discovery) and handover decision (network selection).  The
   services addressed by this document are the Media Independent
   Handover Services defined in IEEE 802.21.

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the BSD License.

Table of Contents

   1. Introduction ....................................................2
      1.1. Conventions Used in This Document ..........................3
      1.2. Terminology ................................................3
   2. Discovering a Mobility Server ...................................3
      2.1. Selecting a Mobility Service ...............................5
      2.2. Selecting the Transport Protocol ...........................5
      2.3. Determining the IP Address and Port ........................6
   3. IANA Considerations .............................................7
   4. Security Considerations .........................................8
   5. Normative References ............................................8
   6. Informative References ..........................................9

1.  Introduction

   IEEE 802.21 [IEEE802.21] defines three distinct service types to
   facilitate link-layer handovers across heterogeneous technologies:

   a) MIH Information Service (MIHIS)
      IS provide a unified framework to the higher-layer entities across
      the heterogeneous network environment to facilitate discovery and
      selection of multiple types of networks existing within a
      geographical area, with the objective to help the higher-layer
      mobility protocols to acquire a global view of the heterogeneous
      networks and perform seamless handover across these networks.

   b) MIH Event Service (MIHES)
      Events may indicate changes in state and transmission behavior of
      the physical, data link and logical link layers, or predict state
      changes of these layers.  The Event Services may also be used to
      indicate management actions or command status on the part of the
      network or some management entity.

   c) MIH Command Service (MIHCS)
      The command service enables higher layers to control the physical,
      data link, and logical link layers.  The higher layers may control
      the reconfiguration or selection of an appropriate link through a
      set of handover commands.

   In IEEE terminology, these services are called Media Independent
   Handover (MIH) services.  While these services may be co-located, the
   different pattern and type of information they provide do not
   necessitate the co-location.

   "Service Management" service messages, i.e., MIH registration, MIH
   capability discovery and MIH event subscription messages, are
   considered as MIHES and MIHCS when transporting MIH messages over L3
   transport.

   A Mobile Node (MN) may make use of any of these MIH service types
   separately or any combination of them.

   It is anticipated that a Mobility Server will not necessarily host
   all three of these MIH services together, thus there is a need to
   discover the MIH service types separately.

   This document defines a number of application service tags that allow
   service location without relying on rigid domain naming conventions.

1.1.  Conventions Used in This Document

   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 [RFC2119].

1.2.  Terminology

   Mobility Services: composed of a set of different services provided
   by the network to mobile nodes to facilitate handover preparation and
   handover decision, as described in [IEEE802.21] and [RFC5164].

   Mobility Server: a network node providing IEEE 802.21 Mobility
   Services.

   MIH: Media Independent Handover, as defined in [IEEE802.21].

   Application service:  is a generic term for some type of application,
   independent of the protocol that may be used to offer it.  Each
   application service will be associated with an IANA-registered tag.

   Application protocol: is used to implement the application service.
   These are also associated with IANA-registered tags.

   Home domain: the DNS suffix of the operator with which the Mobile
   Node has a subscription service.  The suffix is usually stored in the
   Mobile Node as part of the subscription.

2.  Discovering a Mobility Server

   The Dynamic Delegation Discovery System (DDDS) [RFC3401] is used to
   implement lazy binding of strings to data, in order to support
   dynamically configured delegation systems.  The DDDS functions by
   mapping some unique string to data stored within a DDDS database by
   iteratively applying string transformation rules until a terminal
   condition is reached.  When DDDS uses DNS as a distributed database
   of rules, these rules are encoded using the Naming Authority Pointer
   (NAPTR) Resource Record (RR).  One of these rules is the First Well
   Known Rule, which says where the process starts.

   In current specifications, the First Well Known Rule in a DDDS
   application [RFC3403] is assumed to be fixed, i.e., the domain in the
   tree where the lookups are to be routed to, is known.  This document
   proposes the input to the First Well Known Rule to be dynamic, based
   on the search path the resolver discovers or is configured with.

   The search path of the resolver can either be pre-configured,
   discovered using DHCP, or learned from a previous MIH Information
   Services (IS) query [IEEE802.21] as described in [RFC5677].

   When the MN needs to discover Mobility Services in its home domain,
   the input to the First Well Known Rule MUST be the MN's home domain,
   which is assumed to be pre-configured in the MN.

   When the MN needs to discover Mobility Services in a local (visited)
   domain, it SHOULD use DHCP as described in [RFC5678] to discover the
   IP address of the server hosting the desired service, and contact it
   directly.  In some instances, the discovery may result in a per
   protocol/application list of domain names that are then used as
   starting points for the subsequent NAPTR lookups.  If neither the IP
   address or domain name can be discovered with the above procedure,
   the MN MAY request a domain search list, as described in [RFC3397]
   and [RFC3646], and use it as input to the DDDS application.

   The MN may also have a list of cached domain names of Service
   Providers, learned from a previous MIH Information Services (IS)
   query [IEEE802.21].  If the cache entries have not expired, they can
   be used as input to the DDDS application.

   When the MN does not find valid domain names using the procedures
   above, it MUST stop any attempt to discover MIH services.

   The dynamic rule described above SHOULD NOT be used for discovering
   services other than MIH services described in this document, unless
   stated otherwise by a future specification.

   The procedures defined here result in an IP address, port, and
   transport protocol where the MN can contact the Mobility Server that
   hosts the service the MN is looking for.

2.1.  Selecting a Mobility Service

   The MN should know the characteristics of the Mobility Services
   defined in [IEEE802.21], and based on that, it should be able to
   select the service it wants to use to facilitate its handover.  The
   services it can choose from are:
      - Information Services (MIHIS)
      - Event Services (MIHES)
      - Command Services (MIHCS)

   The service identifiers for the services are "MIHIS", "MIHES", and
   "MIHCS", respectively.  The server supporting any of the above
   services MUST support at least UDP and TCP as transport, as described
   in [RFC5677].  SCTP and other transport protocols MAY also be
   supported.

2.2.  Selecting the Transport Protocol

   After the desired service has been chosen, the client selects the
   transport protocol it prefers to use.  Note that transport selection
   may impact the handover performance.

   The services relevant for the task of transport protocol selection
   are those with NAPTR service fields with values "ID+M2X", where ID is
   the service identifier defined in the previous section, and X is a
   letter that corresponds to a transport protocol supported by the
   domain.  This specification defines M2U for UDP, M2T for TCP and M2S
   for SCTP.  This document also establishes an IANA registry for
   mappings of NAPTR service name to transport protocol.

   These NAPTR [RFC3403] records provide a mapping from a domain to the
   SRV [RFC2782] record for contacting a server with the specific
   transport protocol in the NAPTR services field.  The resource record
   MUST contain an empty regular expression and a replacement value,
   which indicates the domain name where the SRV record for that
   particular transport protocol can be found.  If the server supports
   multiple transport protocols, there will be multiple NAPTR records,
   each with a different service value.  As per [RFC3403], the client
   discards any records whose services fields are not applicable.

   The MN MUST discard any service fields that identify a resolution
   service whose value is not "M2X", for values of X that indicate
   transport protocols supported by the client.  The NAPTR processing as
   described in RFC 3403 will result in the discovery of the most
   preferred transport protocol of the server that is supported by the
   client, as well as an SRV record for the server.

   As an example, consider a client that wishes to find MIHIS service in
   the example.com domain.  The client performs a NAPTR query for that
   domain, and the following NAPTR records are returned:

           Order Pref Flags  Service     Regexp       Replacement
   IN NAPTR  50   50   "s"  "MIHIS+M2T"    ""  _MIHIS._tcp.example.com
   IN NAPTR  90   50   "s"  "MIHIS+M2U"    ""  _MIHIS._udp.example.com

   This indicates that the domain does have a server providing MIHIS
   services over TCP and UDP, in that order of preference.  Since the
   client supports TCP and UDP, TCP will be used, targeted to a host
   determined by an SRV lookup of _MIHIS._tcp.example.com.  That lookup
   would return:

   ;;          Priority  Weight    Port        Target
        IN  SRV    0        1      XXXX   server1.example.com
        IN  SRV    0        2      XXXX   server2.example.com

   where XXXX represents the port number at which the service is
   reachable.

   If no NAPTR records are found, the client constructs SRV queries for
   those transport protocols it supports, and does a query for each.
   Queries are done using the service identifier "_MIHIS" for the MIH
   Information Service, "_MIHES" for the MIH Event Service and "_MIHCS"
   for the MIH Command Service.  A particular transport is supported if
   the query is successful.  The client MAY use any transport protocol
   it desires that is supported by the server.

   Note that the regexp field in the NAPTR example above is empty.  The
   regexp field MUST NOT be used when discovering MIH services, as its
   usage can be complex and error prone.  Also, the discovery of the MIH
   services does not require the flexibility provided by this field over
   a static target present in the TARGET field.

   If the client is already configured with the information about which
   transport protocol is used for a mobility service in a particular
   domain, it can directly perform an SRV query for that specific
   transport using the service identifier of the Mobility Service.  For
   example, if the client knows that it should be using TCP for MIHIS
   service, it can perform a SRV query directly for
   _MIHIS._tcp.example.com.

2.3.  Determining the IP Address and Port

   Once the server providing the desired service and the transport
   protocol has been determined, the next step is to determine the IP
   address and port.

   The response to the SRV DNS query contains the port number in the
   Port field of the SRV RDATA.

   According to the specification of SRV RRs in [RFC2782], the TARGET
   field is a fully qualified domain name (FQDN) that MUST have one or
   more address records; the FQDN must not be an alias, i.e., there MUST
   NOT be a CNAME or DNAME RR at this name.  Unless the SRV DNS query
   already has reported a sufficient number of these address records in
   the Additional Data section of the DNS response (as recommended by
   [RFC2782]), the MN needs to perform A and/or AAAA record lookup(s) of
   the domain name, as appropriate.  The result will be a list of IP
   addresses, each of which can be contacted using the transport
   protocol determined previously.

3.  IANA Considerations

   The usage of NAPTR records described here requires well-known values
   for the service fields for each transport supported by Mobility
   Services.  The table of mappings from service field values to
   transport protocols is to be maintained by IANA.

   The registration in the RFC MUST include the following information:

      Service Field: The service field being registered.

      Protocol: The specific transport protocol associated with that
      service field.  This MUST include the name and acronym for the
      protocol, along with reference to a document that describes the
      transport protocol.

      Name and Contact Information: The name, address, email address,
      and telephone number for the person performing the registration.

   The following values have been placed into the registry:

      Service Fields                    Protocol
         MIHIS+M2T                        TCP
         MIHIS+M2U                        UDP
         MIHIS+M2S                       SCTP
         MIHES+M2T                        TCP
         MIHES+M2U                        UDP
         MIHES+M2S                       SCTP
         MIHCS+M2T                        TCP
         MIHCS+M2U                        UDP
         MIHCS+M2S                       SCTP

   New Service Fields are to be added via Standards Action as defined in
   [RFC5226].

   New entries to the table that specify additional transport protocols
   for the existing Service Fields may similarly be registered by IANA
   through Standards Action [RFC5226].

   IANA is also requested to register MIHIS, MIHES, MIHCS as service
   names in the Protocol and Service Names registry.

4.  Security Considerations

   A list of known threats to services using DNS is documented in
   [RFC3833].  For most of those identified threats, the DNS Security
   Extensions [RFC4033] does provide protection.  It is therefore
   recommended to consider the usage of DNSSEC [RFC4033] and the aspects
   of DNSSEC Operational Practices [RFC4641] when deploying IEEE 802.21
   Mobility Services.

   In deployments where DNSSEC usage is not feasible, measures should be
   taken to protect against forged DNS responses and cache poisoning as
   much as possible.  Efforts in this direction are documented in
   [RFC5452].

   Where inputs to the procedure described in this document are fed via
   DHCP, DHCP vulnerabilities can also cause issues.  For instance, the
   inability to authenticate DHCP discovery results may lead to the
   mobility service results also being incorrect, even if the DNS
   process was secured.

5.  Normative References

   [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
                Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2782]    Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
                specifying the location of services (DNS SRV)", RFC
                2782, February 2000.

   [RFC3397]    Aboba, B. and S. Cheshire, "Dynamic Host Configuration
                Protocol (DHCP) Domain Search Option", RFC 3397,
                November 2002.

   [RFC3403]    Mealling, M., "Dynamic Delegation Discovery System
                (DDDS) Part Three: The Domain Name System (DNS)
                Database", RFC 3403, October 2002.

   [RFC3646]    Droms, R., Ed., "DNS Configuration options for Dynamic
                Host Configuration Protocol for IPv6 (DHCPv6)", RFC
                3646, December 2003.

   [RFC4033]    Arends, R., Austein, R., Larson, M., Massey, D., and S.
                Rose, "DNS Security Introduction and Requirements", RFC
                4033, March 2005.

   [RFC5226]    Narten, T. and H. Alvestrand, "Guidelines for Writing an
                IANA Considerations Section in RFCs", BCP 26, RFC 5226,
                May 2008.

   [RFC5677]    Melia, T., Ed., Bajko, G., Das, S., Golmie, N., and JC.
                Zuniga, "IEEE 802.21 Mobility Services Framework Design
                (MSFD)", RFC 5677, December 2009.

   [RFC5678]    Bajko, G. and S. Das, "Dynamic Host Configuration
                Protocol (DHCPv4 and DHCPv6) Options for IEEE 802.21
                Mobility Services (MoS) Discovery", RFC 5678, December
                2009.

6.  Informative References

   [IEEE802.21] "IEEE Standard for Local and Metropolitan Area Networks
                - Part 21: Media Independent Handover Services", IEEE
                LAN/MAN Std 802.21-2008, January 2009,
                http://www.ieee802.org/21/private/Published%20Spec/
                802.21-2008.pdf (access to the document requires
                membership).

   [RFC3401]    Mealling, M., "Dynamic Delegation Discovery System
                (DDDS) Part One: The Comprehensive DDDS", RFC 3401,
                October 2002.

   [RFC3833]    Atkins, D. and R. Austein, "Threat Analysis of the
                Domain Name System (DNS)", RFC 3833, August 2004.

   [RFC4641]    Kolkman, O. and R. Gieben, "DNSSEC Operational
                Practices", RFC 4641, September 2006.

   [RFC5164]    Melia, T., Ed., "Mobility Services Transport: Problem
                Statement", RFC 5164, March 2008.

   [RFC5452]    Hubert, A. and R. van Mook, "Measures for Making DNS
                More Resilient against Forged Answers", RFC 5452,
                January 2009.

Author's Address

   Gabor Bajko
   Nokia
   EMail: gabor.bajko@nokia.com

ISO Plain Language

On this page
PROBLEMA mobile node using IEEE 802.21 needs to find servers offering Media Independent Handover services, and a server may host only some of the three service types.
MECHANISMThe RFC defines service tags MIHIS, MIHES and MIHCS and a DNS procedure using NAPTR and SRV records, with the starting domain taken from the home domain, DHCP, a domain search list or a cache.
WHY IT MATTERSThe procedure yields an IP address, port and transport protocol for the wanted service. The RFC is a Proposed Standard and was later updated by RFC 8553.

§1Introduction and Terminology

IEEE 802.21 defines three distinct service types to facilitate link-layer handovers across heterogeneous technologies. The MIH Information Service provides a unified framework to the higher-layer entities across the heterogeneous network environment, to facilitate discovery and selection of multiple types of networks existing within a geographical area, with the objective of helping the higher-layer mobility protocols acquire a global view of the heterogeneous networks and perform seamless handover across them. The MIH Event Service carries events that indicate changes in state and transmission behaviour of the physical, data link and logical link layers, or predict state changes of these layers, and may also indicate management actions or command status on the part of the network or some management entity. The MIH Command Service enables higher layers to control the physical, data link and logical link layers, so that the higher layers may control the reconfiguration or selection of an appropriate link through a set of handover commands.

In IEEE terminology these services are called Media Independent Handover (MIH) services. While these services may be co-located, the different pattern and type of information they provide do not necessitate the co-location. The service management service messages, that is MIH registration, MIH capability discovery and MIH event subscription messages, are considered as MIHES and MIHCS when transporting MIH messages over L3 transport.

A Mobile Node may make use of any of these MIH service types separately, or any combination of them. It is anticipated that a Mobility Server will not necessarily host all three of these MIH services together, so there is a need to discover the MIH service types separately. This document defines a number of application service tags that allow service location without relying on rigid domain naming conventions.

IEEE 802.21 helps a device move from one network to another. It defines three services for that: one that lists the networks in the area, one that reports changes in the layers below, and one that lets the device control those layers. A server may offer only some of them, so the device has to find out which ones exist and where.

§2Discovering a Mobility Server

The Dynamic Delegation Discovery System (DDDS) is used to implement lazy binding of strings to data, to support dynamically configured delegation systems. It works by mapping some unique string to data stored within a DDDS database, by iteratively applying string transformation rules until a terminal condition is reached. When DDDS uses DNS as a distributed database of rules, those rules are encoded using the Naming Authority Pointer (NAPTR) resource record. One of these rules is the First Well Known Rule, which says where the process starts.

In current specifications, the First Well Known Rule in a DDDS application is assumed to be fixed, that is, the domain in the tree where the lookups are routed to is known. This document proposes the input to the First Well Known Rule to be dynamic, based on the search path the resolver discovers or is configured with. The search path of the resolver can be pre-configured, discovered using DHCP, or learned from a previous MIH Information Services query.

When the Mobile Node needs to discover Mobility Services in its home domain, the input to the First Well Known Rule MUST be the Mobile Node's home domain, which is assumed to be pre-configured in the node. When it needs to discover Mobility Services in a local, visited domain, it SHOULD use DHCP to discover the IP address of the server hosting the desired service, and contact it directly. In some instances the discovery may result in a per protocol or application list of domain names, which are then used as starting points for the subsequent NAPTR lookups. If neither the IP address nor a domain name can be discovered that way, the node MAY request a domain search list and use it as input to the DDDS application. The node may also have a list of cached domain names of Service Providers, learned from a previous MIH Information Services query; if the cache entries have not expired, they can be used as input. When the node does not find valid domain names using the procedures above, it MUST stop any attempt to discover MIH services.

The dynamic rule SHOULD NOT be used for discovering services other than the MIH services described in this document, unless stated otherwise by a future specification. The procedures defined here result in an IP address, port and transport protocol where the node can contact the Mobility Server that hosts the service it is looking for.

The node starts from a domain name and walks through DNS rules until it reaches the server. The starting domain is not fixed: it is the operator's own home domain, a name learned over DHCP, a domain search list, or a name cached from an earlier query. If none of those work, the node gives up rather than guessing.

THE THREE DNS LOOKUPS
Mobile NodeDNS
  1. NAPTR queryFor the starting domain, asking for the service and transport.
  2. NAPTR answersOne per transport the server supports, in preference order.
  3. SRV queryFor the service name of the chosen transport, such as _MIHIS._tcp.example.com.
  4. SRV answerGives the port and the target host name.
  5. A and AAAA lookupFor the target name, unless the SRV answer already carried the addresses.
  6. IP addressesEach address can be contacted over the chosen transport.

§2.1Selecting a Mobility Service

The Mobile Node should know the characteristics of the Mobility Services defined in IEEE 802.21, and based on that it should be able to select the service it wants to use to facilitate its handover. The services it can choose from are Information Services (MIHIS), Event Services (MIHES) and Command Services (MIHCS).

The service identifiers for the services are MIHIS, MIHES and MIHCS respectively. The server supporting any of these services MUST support at least UDP and TCP as transport. SCTP and other transport protocols MAY also be supported.

The node picks the service it needs by name: MIHIS for finding networks, MIHES for change notifications and MIHCS for control. Whatever it picks, the server must offer it over UDP and over TCP, and may offer others.

THE THREE MOBILITY SERVICES
  • MIHISInformation Services: a unified framework to discover and select the networks in an area.
  • MIHESEvent Services: report changes in the state of the physical, data link and logical layers.
  • MIHCSCommand Services: let higher layers control and reconfigure the layers below.

§2.2Selecting the Transport Protocol

After the desired service has been chosen, the client selects the transport protocol it prefers to use. Transport selection may impact the handover performance. The services relevant for the task are those with NAPTR service fields with values ID+M2X, where ID is the service identifier and X is a letter that corresponds to a transport protocol supported by the domain. This specification defines M2U for UDP, M2T for TCP and M2S for SCTP, and establishes an IANA registry for mappings of NAPTR service name to transport protocol.

These NAPTR records provide a mapping from a domain to the SRV record for contacting a server with the specific transport protocol in the NAPTR services field. The resource record MUST contain an empty regular expression and a replacement value, which indicates the domain name where the SRV record for that particular transport protocol can be found. If the server supports multiple transport protocols, there will be multiple NAPTR records, each with a different service value, and the client discards any records whose services fields are not applicable.

The Mobile Node MUST discard any service fields that identify a resolution service whose value is not M2X, for values of X that indicate transport protocols supported by the client. The NAPTR processing results in the discovery of the most preferred transport protocol of the server that is supported by the client, as well as an SRV record for the server.

If no NAPTR records are found, the client constructs SRV queries for the transport protocols it supports, and does a query for each. Queries are done using the service identifier _MIHIS for the MIH Information Service, _MIHES for the MIH Event Service and _MIHCS for the MIH Command Service. A particular transport is supported if the query is successful. The regexp field in the NAPTR example MUST NOT be used when discovering MIH services, as its usage can be complex and error prone, and the discovery of the MIH services does not require the flexibility provided by this field over a static target present in the TARGET field. If the client is already configured with the information about which transport protocol is used for a mobility service in a particular domain, it can directly perform an SRV query for that specific transport using the service identifier of the Mobility Service.

The transport is chosen with a second lookup. A NAPTR record names the transport and points at an SRV name for it, and the first record in preference order that the node understands is the one used. The rewrite pattern in a NAPTR record must be left empty, because working it out by hand is easy to get wrong.

THE NINE REGISTERED NAPTR SERVICE FIELDS
  • MIHIS+M2TMIHIS over TCP — Information Services carried over TCP.
  • MIHIS+M2UMIHIS over UDP — Information Services carried over UDP.
  • MIHIS+M2SMIHIS over SCTP — Information Services carried over SCTP.
  • MIHES+M2TMIHES over TCP — Event Services carried over TCP.
  • MIHES+M2UMIHES over UDP — Event Services carried over UDP.
  • MIHES+M2SMIHES over SCTP — Event Services carried over SCTP.
  • MIHCS+M2TMIHCS over TCP — Command Services carried over TCP.
  • MIHCS+M2UMIHCS over UDP — Command Services carried over UDP.
  • MIHCS+M2SMIHCS over SCTP — Command Services carried over SCTP.
THE NAPTR AND SRV RECORDS OF THE EXAMPLE (RFC 5679, SECTION 2.2)
Finding MIHIS in the example.com domain
Order Pref Flags  Service     Regexp       Replacement
IN NAPTR  50   50   "s"  "MIHIS+M2T"    ""  _MIHIS._tcp.example.com
IN NAPTR  90   50   "s"  "MIHIS+M2U"    ""  _MIHIS._udp.example.com

;;          Priority  Weight    Port        Target
 IN  SRV    0        1      XXXX   server1.example.com
 IN  SRV    0        2      XXXX   server2.example.com

§2.3Determining the IP Address and Port

Once the server providing the desired service and the transport protocol have been determined, the next step is to determine the IP address and port. The response to the SRV DNS query contains the port number in the Port field of the SRV RDATA.

According to the specification of SRV records, the TARGET field is a fully qualified domain name that MUST have one or more address records, and the FQDN must not be an alias, that is, there MUST NOT be a CNAME or DNAME record at this name. Unless the SRV DNS query has already reported a sufficient number of these address records in the Additional Data section of the DNS response, the Mobile Node needs to perform A and or AAAA record lookups of the domain name, as appropriate. The result will be a list of IP addresses, each of which can be contacted using the transport protocol determined previously.

The SRV answer gives the port. The target name gives the host, and the node looks up its address records unless the answer already carried them. The target name must be a real host name, not an alias, so that the lookup always succeeds.

§3IANA Considerations

The usage of NAPTR records described here requires well-known values for the service fields for each transport supported by Mobility Services. The table of mappings from service field values to transport protocols is to be maintained by IANA. The registration must include the service field being registered, the specific transport protocol associated with it, which MUST include the name and acronym for the protocol along with a reference to a document that describes the transport protocol, and the name and contact information of the person performing the registration.

Nine values have been placed into the registry: MIHIS+M2T, MIHIS+M2U and MIHIS+M2S for TCP, UDP and SCTP; MIHES+M2T, MIHES+M2U and MIHES+M2S; and MIHCS+M2T, MIHCS+M2U and MIHCS+M2S. New service fields are to be added via Standards Action, and new entries specifying additional transport protocols for the existing service fields may similarly be registered by IANA through Standards Action. IANA is also requested to register MIHIS, MIHES and MIHCS as service names in the Protocol and Service Names registry.

The document registers nine NAPTR service names, three services by three transports, and asks IANA to register the three service names themselves. New entries follow the Standards Action process.

§4Security Considerations

A list of known threats to services using DNS is documented in RFC 3833. For most of those identified threats, the DNS Security Extensions do provide protection. It is therefore recommended to consider the usage of DNSSEC and the aspects of DNSSEC Operational Practices when deploying IEEE 802.21 Mobility Services.

In deployments where DNSSEC usage is not feasible, measures should be taken to protect against forged DNS responses and cache poisoning as much as possible. Where inputs to the procedure described in this document are fed via DHCP, DHCP vulnerabilities can also cause issues. For instance, the inability to authenticate DHCP discovery results may lead to the mobility service results also being incorrect, even if the DNS process was secured.

Signing the DNS answers with DNSSEC protects the lookup. Where that is not possible, the RFC asks for other measures against forged answers. And a weak link remains: if the domain name comes from DHCP and DHCP is not authenticated, the whole lookup can be steered to the wrong server.

§8References

[RFC2119]RFC 2119Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.March 1997[RFC2782]RFC 2782Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000.February 2000[RFC3397]RFC 3397Aboba, B. and S. Cheshire, "Dynamic Host Configuration Protocol (DHCP) Domain Search Option", RFC 3397, November 2002.November 2002[RFC3403]RFC 3403Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database", RFC 3403, October 2002.October 2002[RFC3646]RFC 3646Droms, R., Ed., "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, December 2003.December 2003[RFC4033]RFC 4033Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005.March 2005[RFC5677]RFC 5677Melia, T., Ed., Bajko, G., Das, S., Golmie, N., and J.C. Zuniga, "IEEE 802.21 Mobility Services Framework Design (MSFD)", RFC 5677, December 2009.December 2009[RFC5678]RFC 5678Bajko, G. and S. Das, "Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Options for IEEE 802.21 Mobility Services (MoS) Discovery", RFC 5678, December 2009.December 2009[RFC3401]RFC 3401Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part One: The Comprehensive DDDS", RFC 3401, October 2002.October 2002[RFC3833]RFC 3833Atkins, D. and R. Austein, "Threat Analysis of the Domain Name System (DNS)", RFC 3833, August 2004.August 2004[RFC4641]RFC 4641Kolkman, O. and R. Gieben, "DNSSEC Operational Practices", RFC 4641, September 2006.September 2006