Re: [Hipsec] DNS considerations in draft-ietf-hip-native-nat-traversal

Jeff Ahrenholz <> Mon, 06 April 2020 13:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 882733A1067 for <>; Mon, 6 Apr 2020 06:44:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id x-MQozkYObUD for <>; Mon, 6 Apr 2020 06:44:23 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0ABF63A08FE for <>; Mon, 6 Apr 2020 06:44:22 -0700 (PDT)
Received: from ( by MBX081-W5-CO-1 ( with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 6 Apr 2020 06:44:22 -0700
Received: from ([]) by ([]) with mapi id 15.00.1497.006; Mon, 6 Apr 2020 06:44:22 -0700
From: Jeff Ahrenholz <>
To: Miika Komu <>, "" <>
Thread-Topic: [Hipsec] DNS considerations in draft-ietf-hip-native-nat-traversal
Thread-Index: AQHWDBl6+EF13lTjuk+JiMyOEPIlOg==
Date: Mon, 6 Apr 2020 13:44:22 +0000
Message-ID: <>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-ID: <>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Hipsec] DNS considerations in draft-ietf-hip-native-nat-traversal
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is the official IETF Mailing List for the HIP Working Group." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 06 Apr 2020 13:44:26 -0000

Looks good to me. I like how the distinction between RVS and Control Relay Server  is spelled out.

Just a couple of nits:
s/an HIP/ a HIP/
s/the the A/the A/


On 4/5/20, 6:20 AM, "Hipsec on behalf of Miika Komu" < on behalf of> wrote:

    during IESG review Magnus Westerlund asked about DNS support in draft-
    ietf-hip-native-nat-traversal, so I added the the text below to draft-
    ietf-hip-native-nat-traversal. Does it seem ok for the WG?
    Appendix E.  DNS Considerations
    [RFC5770] did not specify how an end-host can look up another end-
    host via DNS and initiate an UDP-based HIP base exchange with it, so
    this section makes an attempt to fill this gap.
    [RFC8005] specifies how an HIP end-host and its Rendezvous server is
    registered to DNS.  Essentially, the public key of the end-host is
    stored as HI record and its Rendezvous Server as A or AAAA record.
    This way, the Rendezvous Server can act as an intermediary for the
    end-host and forward packets to it based on the DNS configuration.
    Control Relay Server offers similar functionality as Rendezvous
    Server, with the difference that the Control Relay Server forwards
    all control messages, not just the first I1 message.
    Prior to this document, the A and AAAA records in the DNS refer
    either to the HIP end-host itself or a Rendezvous Server [RFC8005],
    and control and data plane communication with the associated host has
    been assumed to occur directly over IPv4 or IPv6.  However, this
    specification extends the records to be used for UDP-based
    Let us consider the case of a HIP Initiator with the default policy
    to employ UDP encapsulation and the extensions defined in this
    document.  The Initiator looks up the FQDN of a Responder, and
    retrieves its HI, A and AAAA records.  Since the default policy is to
    use UDP encapsulation, the Initiator MUST send the I1 message over
    UDP to destination port 10500 (either over IPv4 in the case of a A
    record or over IPv6 in the case of a AAAA record).  It MAY send an I1
    message both with and without UDP encapsulation in parallel.  In the
    case the Initiator receives R1 messages both with and without UDP
    encapsulation from the Responder, the Initiator SHOULD ignore the R1
    messages without UDP encapsulation.
    The UDP encapsulated I1 packet could be received by three different
    types of hosts:
    1.  HIP Control Relay Server: in this case the A/AAAA records refers
        to a Control Relay Server, and it will forward the packet to the
        corresponding Control Relay Client based on the destination HIT
        in the I1 packet.
    2.  HIP Responder supporting UDP encapsulation: in this case, the the
        A/AAAA records refers to the end-host.  Assuming the destination
        HIT belongs to the Responder, it receives and processes it
        according to the negotiated NAT traversal mechanism.  The support
        for the protocol defined in this document vs [RFC5770] is
        dynamically negotiated during the base exchange.  The details are
        specified in Section 4.3.
    3.  HIP Rendezvous Server: this entity is not listening to UDP port
        10500, so it will drop the I1 message.
    4.  HIP Responder not supporting UDP encapsulation: the targeted end-
           host is not listening to UDP port 10500, so it will drop the I1
    The A/AAAA-record MUST NOT be configured to refer to a Data Relay
    Server unless the host in question supports also Control Relay Server
    It also worth noting that SRV records are not employed in this
    specification.  While they could be used for more flexible UDP port
    selection, they are not suitable for end-host discovery but rather
    would be more suitable for the discovery of HIP-specific
    infrastructure.  Further extensions to this document may define SRV
    records for Control and Data Relay Server discovery within a DNS
    Hipsec mailing list