Skip to main content

Using PCP to update dynamic DNS
draft-deng-pcp-ddns-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 7393.
Expired & archived
Authors Xiaohong Deng , Mohamed Boucadair , Qin Zhao , Jing Huang
Last updated 2013-04-18 (Latest revision 2012-10-15)
RFC stream (None)
Formats
IETF conflict review conflict-review-deng-pcp-ddns, conflict-review-deng-pcp-ddns, conflict-review-deng-pcp-ddns, conflict-review-deng-pcp-ddns, conflict-review-deng-pcp-ddns, conflict-review-deng-pcp-ddns
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state Became RFC 7393 (Informational)
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-deng-pcp-ddns-02
Internet Engineering Task Force                                   X.Deng             
Internet Draft                                               M.Boucadair     
Intended status: Informational                            France Telecom 
Expires: April 16, 2013                                           Q.Zhao 
                                                                    BUPT 
                                                                 J.Huang 
                                                                  Huawei 
                                                        October 15, 2012 
                                     
                                     
                                     
                     Using PCP to update dynamic DNS 
                       draft-deng-pcp-ddns-02.txt 

Abstract 

    

  This document focuses on the problems encountered when using dynamic 
  DNS in address sharing contexts (e.g., DS-Lite, NAT64, A+P)during 
  IPv6 transition. Issues, possible solutions and preliminary  
  implementation and validation of one of the solutions are documented 
  in this memo.   

Status of this Memo 

  This Internet-Draft is submitted in full conformance with the  
  provisions of BCP 78 and BCP 79. 

  Internet-Drafts are working documents of the Internet Engineering   
  Task Force (IETF).  Note that other groups may also distribute   
  working documents as Internet-Drafts.  The list of current Internet-
  Drafts is at http://datatracker.ietf.org/drafts/current/. 

  Internet-Drafts are draft documents valid for a maximum of six months   
  and may be updated, replaced, or obsoleted by other documents at any 
  time.  It is inappropriate to use Internet-Drafts as reference 
  material or to cite them other than as "work in progress." 

  This Internet-Draft will expire on April 16, 2013. 

Copyright Notice 

  Copyright (c) 2012 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 

 
Deng, et al.           Expires April 16, 2013                 [Page 1] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  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 Simplified BSD License. 

Table of Contents 

   
  1. Problem statement ........................................... 2 
  2. Solution Space .............................................. 4 
     2.1. Locate a service port................................... 4 
     2.2. Detect the changes ..................................... 4 
  3. Implementation & Validation.................................. 6 
     3.1. Topology ............................................... 6 
     3.2. For web service ........................................ 7 
     3.3. For Non-web service .................................... 8 
  4. Additional Authors' Addresses............................... 10 
  5. Acknowledgments ............................................ 10 
  6. References ................................................. 10 
     6.1. Normative References................................... 10 
     6.2. Informative References................................. 11 
  7. Authors' Addresses ......................................... 12 
   
1. Problem statement 

    

  Dynamic DNS (DDNS) is a widely deployed service to facilitate hosting 
  servers (e.g., to host webcam and http server) at home premises. 
  There are a number of providers who offer a DDNS service, working in 
  a client and server mode, which mostly use a web-form based 
  communication. DDNS clients are generally implemented in the user's 
  router or computer, which once detects changes to its IP address it 
  automatically sends an update message to the DDNS server. The 
  communication between the client and the server is not standardised, 
  varying from one provider to another, although a few standard web-
  based methods of updating have emerged over time. 

  When the network architecture evolves towards an IPv4 sharing 
  architecture during IPv6 transition, the DDNS Client will have to not 
  only inform the IP address updates if any, but also to notify the 
  changes of external port on which the service is listening, because a 
  well know port numbers, e.g. port 80 will no longer be available to 
  every web server. It will also require the ability to configuring 
  corresponding port forwarding on CGN devices, so that incoming 
  communications initiated from outside can be routed to the 
  appropriate server behind the CGN.  

 
 
Deng, et al.           Expires January 4, 2013                [Page 2] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  This document focuses on the problems encountered when using dynamic 
  DNS in address sharing contexts (e.g., DS-Lite, NAT64, A+P). Below 
  are listed the main challenges to us:  

  (1) 
     The DDNS service MUST be able to maintain an alternative port 
  number instead of the default port number.  

  (2) 
     Appropriate means to instantiate port mapping in the address 
  sharing device MUST be supported. 

  (3) 
     DDNS client MUST be triggered by the change of the external IP 
  address and the port number. Concretely, upon change of the external 
  IP address, the DDNS client MUST refresh the DNS records otherwise 
  the server won't be reachable from outside. This issue is event 
  exacerbated in the DS-Lite context because no IPv4 address is 
  assigned to the CPE.   

  This document describes solutions to counter the issues listed above 
  in the particular case of DS-Lite. 

  Note DDNS may be considered as an implementation of the Rendez-vous 
  service mentioned in [I-D.ietf-pcp-base]. 

  After creating a mapping for incoming connections, it is necessary to 
  inform remote computers about the IP address, protocol, and port for 
  the incoming connection to reach the services hosted behind a DS-Lite 
  CGN.  This is usually done in an application-specific manner.  For 
  example, a computer game might use a rendezvous server specific to 
  that game (or specific to that game developer), a SIP phone would use 
  a SIP proxy, and a client using DNS-Based Service Discovery [I-
  D.cheshire-dnsext-dns-sd] would use DNS Update [RFC2136][RFC3007].  
  PCP does not provide this rendezvous function. RFC6281 shows an good 
  example of how to use the DNS-Based Service Discovery to make the 
  service announcement available, in an application manner. The 
  rendezvous function may support IPv4, IPv6, or both.  Depending on 
  that support and the application's support of IPv4 or IPv6, the PCP 
  client may need an IPv4 mapping, an IPv6 mapping, or both. In the 
  implementation section, it gives an example how the DDNS server may 
  implement such service notification functionality if they want. 

   

  This document requires no changes to PCP protocol or dynamic updates 
  in the standard domain name system [RFC2136], but is rather an 
  operational document to make the current DDNS service providers be 
  aware of the impacts and issues that the IPv6 transitioning and IPv4 
  address sharing will bring to them, and gives solutions and 

 
 
Deng, et al.           Expires January 4, 2013                [Page 3] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  implementation examples to address the forthcoming issues. The 
  current DDNS service providers usually employs a web-based form to 
  maintain DDNS service registration and updates. For DNS-based Service 
  Discovery, or DNS-SD and updates, [I-D.cheshire-dnsext-dns-sd] 
  intensively describes how to use DNS resource records and standard 
  DNS queries to facilitate service discovery, and [RFC6281] elaborates 
  an implementation of it with an Apple's Back to My Mac (BTMM) 
  Service. 

   

2. Solution Space 

2.1. Locate a service port 

  At least two solutions can be used to associate a port number with a 
  service identified: 

  (1) 
     Use service URIs (e.g., FTP, SIP, HTTP) which embed an explicit 
     port number. Indeed, Uniform Resource Identifier (URI) defined in 
     [RFC3986] allows to carry port number in the syntax (e.g., 
     mydomain.example:15687) 

  (2) 
     Use SRV records. Unfortunately, the majority of browsers do not 
     support this record type.  

   

  DDNS client and server are to be updated so that an alternative port 
  number is also signalled and stored by the server. Requesting remote 
  hosts will be then notified with the IP address and port number to 
  use to reach the server.  

2.2. Detect the changes 

 
                                           
 
 
 
 
 
 
 
 
                                       +-----------------+ 
                                       |  DDNS Server    | 
                                       |                 | 
 
 
Deng, et al.           Expires January 4, 2013                [Page 4] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
                                       +-----------------+  
                                              ^ 
                                              |  
                                              |3. DDNS updates 
                                              |  (if any) 
                                              | 
   +-----------------+                    +-----------------+ 
   |DDNS Client      |1. PCP MAP request  | CGN/PCP Server  |  
   |PCP Client/IWF ON|------------------->| (PCP mapping for 80:8080   +------+            
   |CPE or           |2. PCP MAP response | port forwarding)|<---------|Client|                    
   |the host itself  |<-------------------|                 |          |      |    
   |                 |3. DDNS updates     |                 |          +------+             
   |                 |     (if any)       |                 | 
   |                 |------------------->|                 | 
   +-----------------+                    +-----------------+ 
 
 
                          Figure 1 : Flow chat   

  First of all, PCP MUST be used to install the appropriate mapping in 
  the CGN so that incoming packets can be delivered to the appropriate 
  server.  

   

  In a network described in figure 1, DDNS Client/ PCP Client can 
  either be running on a Customer Premise Equipment (CPE) or be running 
  on the host that is hosting some services, itself.  There are 
  possible ways to address the problems stated in section 1. 

   

  (1) 
     If the DDNS client is enabled, the host issues periodically (e.g., 
  1h) PCP MAP requests (e.g., messages 1 and 2 in Figure 1) with short 
  lifetime (e.g., 30s) for the purpose of enquiring external IP address 
  and setting. If the purpose is to detect any change of external port, 
  the host must issues a PCP mapping to install a mapping for the 
  internal server. Upon change of the external IP address, the DDNS 
  client updates the records (e.g., message 3 in Figure 1).  

   

  (2) 
     If the DDNS client is enabled, it checks the local mapping table 
  maintained by the PCP client. This process is repeated periodically 
  (e.g., 5mn, 30mn, 1h). If there is no PCP mapping caused by PCP 
  client losing states for example, it issues a PCP MAP request (e.g., 
  messages 1 and 2 in Figure 1) for the purpose of enquiring external 
  IP address and setting up port forwarding mappings for incoming 

 
 
Deng, et al.           Expires January 4, 2013                [Page 5] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  connections. Upon change of the external IP address, the DDNS client 
  updates the records in the DDNS server, e.g., message 3 in Figure 1. 

 

    

3. Implementation & Validation                            

3.1. Topology 

  +--------------+   +--------+    +---------+   +--------+   +-------+ 
  | Service      |   |  DDNS  |    |  CGN&   |   | PCP    |   |Servers| 
  | User         |---|  Server|----|  PCP    |---| Client |---|       | 
  |              |   |        |    |  Server |   | /DDNS  |   |       | 
  |              |   |        |    |         |   | client |   |       |    
  +--------------+   +--------+    +---------+   +--------+   +-------+ 
  A user             DDNS Server      AFTR          B4(CPE)   A host                
  From Internet                                               behind B4  
                                     
                   Figure 2 : Implementation topology 

  Servers: Servers that are deployed in the DS-Lite network, or more 
  generally, an IP address sharing environment. They are usually 
  running on a host that has been assigned with a private IPv4 address. 
  Having created a proper mapping via PCP in AFTR, these services have 
  been made available to the internet users. The services may provide 
  Web, FTP, SIP and other services though these ones may not be able to 
  been seen as using a well known port from the outside anymore, in the 
  IP address sharing context. 

  B4 (CPE): An endpoint of IPv4-in-v6 tunnel. A PCP client together 
  with a DDNS client are running on it. After PCP client establishes a 
  mapping on the AFTR, an end uses may register its domain name and its 
  external IPv4 address plus port number to its DDNS service provider 
  (DDNS server), manually or automatically by DDNS client. Later, 
  likewise, end users may manually or let DDNS client on behalf of it, 
  to automatically announce IP and port changes to the DDNS server. 

  AFTR: Responsible for maintaining mappings between internal IPv4 
  Address plus port and external IPv4 address plus port.   

  DDNS server: Maintains a table linking a registered domain name and a 
  pair of registered host's external IPv4 address plus port number. 
  When being notified IP address and port number changes from DDNS 
  client, DDNS server then announces the updates to DNS servers on 
  behalf of end user. RFC 2136 and RFC 2137 may be used by DDNS server 

 
 
Deng, et al.           Expires January 4, 2013                [Page 6] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  to send updates to DNS servers. In many current practices, DDNS 
  server provider usually announce its own IP address as the registered 
  Domain names of end users. When Http requests reach the DDNS server, 
  they may employ URL Forwarding or HTTP 301 redirection to redirect 
  the request to a proper registered end user by looking up the 
  maintained link table. 

  Service users: Users who wants to access services behind an IP 
  address sharing network. They send out standard DNS requires to 
  locate the request services, which, in our case, will lead them to a 
  DDNS server, provided that the requested services have been 
  registered to a DDNS service provider. Then the DDNS server will 
  handle the rest in the way as described before. 

   

   

3.2. For web service 

   
  While the current DDNS server implementations typically assume that 
  the end servers host web server on the default 80 port. In the DS-
  Lite context, they will have to taken in to account that external 
  port visible assigned by AFTR may be any the other numbers than 80, 
  in order to maintain proper corresponding between domain names and 
  external IP plus port. By doing such changes to implementation, the 
  HTTP request would be redirected to the AFTR which servers the 
  specific end host that are running servers. The following chat shows 
  how the messages reach the right server. 
   
   Web Visitor           DDNS server       AFTR          B4(CPE)  Web Server behind b4  
 
     | HTTP Get*             |                |               |               |   
     |---------------------->|                |               |               |  
     | ip_DDNS_server        |--------------->|               |               |  
     |                       | HTTP 301       |               |               |  
     |                       |<---------------|               |               |    
     | HTTP Get* ip_aftr:8001                 |               |               | 
     |--------------------------------------->|                               | 
     |                                        | HTTP Get* ip_websrv:8000      |  
     |                                        |------------------------------>|  
     |                                        |                               |       
     |                       HTTP response    | HTTP response                 | 
     |<---------------------------------------|-------------------------------|  
   

                     Figure 3 Http service messages  
 
 
Deng, et al.           Expires January 4, 2013                [Page 7] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  When a web user sends out a HTTP Get message to DDNS server after a 
  standard DNS query, DDNS server redirects the request to a registered 
  web server, in this case, by responding a HTTP 301 message. Then the 
  HTTP get message will be sent out to the AFTR, which will in turn 
  finds the proper hosts behind it. For simplicity, messages among AFTR, 
  B4 and web server behind b4 are not shown completely, for 
  communications among those nodes, please refer to [RFC6333]. 
   
3.3. For Non-web service 

  For non-web services, as mentioned in Section 2, other means will be 
  needed to inform the users about the service information.  

  [dns-sd] shows an good example of DNS based solution to do so, in 
  which case an application running in the end user's device will 
  retrieve service information via DNS SRV/TXT records, and list 
  available services. In a scenario where such application is not 
  applicable, following provides another means for a third party, e.g. 
  DDNS service provider, to disclose services to the Internet users.  

  A web portal can be used to list available services. DDNS server 
  maintains a web portal for each user FQDN, which provides a users 
  service links. In the figure below, it assumes websrv.myip.org is a 
  user's FQDN provided by a DDNS service provider. 

     

  +-------------+    +-------------+    +----------+ Internet +-------+ 
  |DDNS client /|----|DDNS server /|----|DNS server|----------|Visitor|  
  |  Web Server |    | web portal  |    |          |          |       | 
  +-------------+    +-------------+    +----------+          +-------+ 
      |      register       |                 |                    | 
      |<------------------> |                 |                    | 
      |   websrv.myip.org   |  update DNS     |                    | 
      |   100.1.1.2:2000    | <-------------> |                    | 
      |                     | websrv.myip.org |                    | 
      |                     |   portal's IP   |                    | 
      |              +-------------+          |                    | 
      |              |update portal|          |                    | 
      |              +-------------+          |  DNS resolve for   | 
      |                     |                 | <----------------> | 
      |                     |                 |  websrv.myip.org   | 
      |                     |                 |  get portal's IP   | 
      |                     |                 |                    | 
      |                     |   visit portal of websrv.myip.org    | 
      |                     | <----------------------------------> |                 
      |                     |                 |                    | 
      |                  visit http://100.1.1.2:2000               | 
      | <--------------------------------------------------------> | 
 
 
Deng, et al.           Expires January 4, 2013                [Page 8] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
      |                     |                 |                    | 
 
                       Figure 4 Update Web Portal 

     

  The DDNS client registers the servers' information to the DDNS server, 
  including public IP address and port obtained via PCP, user's FQDN 
  and other necessary information. The DDNS server also works as portal 
  server, it registers its IP address and user's FQDN to the DNS system, 
  so that visitors can visit the web portal. 

  DDNS server also maintains a web portal for each user's FQDN, update 
  the portal according to registered information from DDNS client. When 
  a visitor visits websrv.myip.org, DNS query will resolve to portal 
  server's address, and the visitor will see the portal and the 
  available services. 

     

        +-------------------------------------------------------------+ 
        |                                                             | 
        |              Portal of websrv.myip.org                      | 
        |                                                             | 
        |    Service1: web server                                     | 
        |    Link:     http://100.1.1.2:2000                          | 
        |                                                             | 
        |    Service2: video                                          | 
        |    Link:     rtsp://100.1.1.2:8080/test.sdp                 | 
        |                                                             | 
        |    ......                                                   | 
        |                                                             | 
        +-------------------------------------------------------------+ 
     

                    Figure 5 An Example of Web Portal 

     

 
 
Deng, et al.           Expires January 4, 2013                [Page 9] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
  The web portal in the above figure show service links that are 
  available to be accessed. Multiple services is accessible per user's 
  FQDN. Some applications which are not http based can also be 
  supported via this solution. When user click a link, the registered 
  application in the OS will be invoked to handle the link. How this 
  can be achieved is out of the scope of this document. 
   
4. Additional Authors' Addresses 

  This work is made available also from additional authors' 
  contribution and work.  
   
  Xiaohong Huang 

  Beijing University of Posts and Telecommunications, China 
  Email: huangxh@bupt.edu.cn 
   
   
  Yan Ma 

  Beijing University of Posts and Telecommunications, China 
  Email: mayan@bupt.edu.cn 
   
5. Acknowledgments 

  Thanks to Stuart Cheshire for bringing up DNS-Based Service Discovery 
  and RFC6281 where covers DNS-based SD scenario and gives a good 
  example of how the application means of solution to address dynamic 
  DNS update, in this case, apple' BTMM, can be achieved.  
   

   
6. References 

6.1. Normative References 

  [RFC2136]  

            P. Vixie, et. al." Dynamic Updates in the Domain Name 
            System (DNS UPDATE)", April 1997. 

  [RFC3007] 

            B. Wellington, " Secure Domain Name System (DNS) Dynamic 
            Update", November 2000. 

  [RFC3986] 

 
 
Deng, et al.           Expires January 4, 2013               [Page 10] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
            T. Berners-Lee, et. al. " Uniform Resource Identifier (URI): 
            Generic Syntax", January 2005. 

  [RFC6281] 

            S. Cheshire, et. Al. " Understanding Apple's Back to My Mac 
            (BTMM) Service", June 2011. 

  [RFC6333]  

            A. Durand, et. Al. " Dual-Stack Lite Broadband Deployments 
            Following IPv4 Exhaustion", August 2011. 

   

   

6.2. Informative References   

  [I-D.ietf-pcp-base] 

            D. Wing, et. al. " Port Control Protocol (PCP)", October 2, 
            2012.  

  [I-D.cheshire-dnsext-dns-sd] 

             S. Cheshire, et. al. " DNS-Based Service Discovery ",  Dec              

             9, 2011 

   
   
   
   

 
 
Deng, et al.           Expires January 4, 2013               [Page 11] 

 
Internet-Draft            PCP DDNS updates                October 2012 
 
 
7. Authors' Addresses 

   Xiaohong Deng 
   France Telecom 
   Rennes,35000 France 
                        
   Email: dxhbupt@gmail.com 
   
   
   Mohamed BOUCADAIR 
   France Telecom 
   Rennes,35000 France 
   
   Email: mohamed.boucadair@orange.com 
   
   
   Qin Zhao 
   Beijing University of Posts and Telecommunications, China 
   Email: zhaoqin.bupt@gmail.com 
   
   
   
   James Huang 
   Huawei Technologies 
   Email:james.huang@huawei.com 
   
   
   
      
   
    
   
   
   
   
   
    

 
 
Deng, et al.           Expires January 4, 2013               [Page 12]