EPP-Domain Extension RFC draft


近一年来书写了两篇RFC 草案。

在互联网标准的制定,IETF的权威应该是得到国内外的公认。工作的领域很多业务的实现必须要依从国际标准,依从国际标准的好处是显而易见的,但是弊端也有。国际上的标准,国内参与的较少,主要是国外人撰写的。有些标准在制定时由于没有国内技术人员的参与,导致很多业务逻辑并不太符合国内的流程。虽然IETF时隔民间组织,并且参与其中并没有实际上的物质收益,但是对推动中国的互联网行业及标准,有很多的好处。废话少说,draft原文地址:

http://tools.ietf.org/html/draft-kong-epp-cdn-mapping-00


文章目前处于收集互联网人士的意见过程,请您不吝提出宝贵建议。

Extensible Provisioning Protocol (EPP) Domain Name Mapping Extension for
                          Chinese Domain Names
                  
Abstract

   This document describes an extension of Extensible Provisioning
   Protocol (EPP) domain name mapping for the provisioning and
   management of Chinese Domain Names (CDNs), especially for variant
   CDNs.  Specified in XML, this extended mapping is applied to provide
   additional features required by CDNs Registration.

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 January 5, 2012.

Copyright Notice

   Copyright (c) 2011 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 Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Object Attributes  . . . . . . . . . . . . . . . . . . . . . .  4
     4.1.  OCDN Punycode Domain Name  . . . . . . . . . . . . . . . .  5
     4.2.  SCDN and SCDN Punycode Domain Name . . . . . . . . . . . .  5
     4.3.  TCDN and TCDN Punycode Domain Name . . . . . . . . . . . .  5
     4.4.  VCDN and VCDN Punycode Domain Name . . . . . . . . . . . .  5
   5.  EPP Command Mapping  . . . . . . . . . . . . . . . . . . . . .  5
     5.1.  EPP Query Commands . . . . . . . . . . . . . . . . . . . .  5
       5.1.1.  EPP <check> Command  . . . . . . . . . . . . . . . . .  6
       5.1.2.  EPP <info> Command . . . . . . . . . . . . . . . . . .  6
       5.1.3.  EPP <transfer> Query Command . . . . . . . . . . . . .  8
     5.2.  EPP Transform Commands . . . . . . . . . . . . . . . . . .  9
       5.2.1.  EPP <create> Command . . . . . . . . . . . . . . . . . 10
       5.2.2.  EPP <delete> Command . . . . . . . . . . . . . . . . . 11
       5.2.3.  EPP <renew> Command  . . . . . . . . . . . . . . . . . 12
       5.2.4.  EPP <transfer> Command . . . . . . . . . . . . . . . . 14
       5.2.5.  EPP <update> Command . . . . . . . . . . . . . . . . . 16
   6.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . . 19
   7.  Internationalization Considerations  . . . . . . . . . . . . . 21
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 22
   9.  Security considerations  . . . . . . . . . . . . . . . . . . . 22
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     11.1. Normative References . . . . . . . . . . . . . . . . . . . 23
     11.2. Informative References . . . . . . . . . . . . . . . . . . 24
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24


1.  Introduction

   Many Chinese characters in common use have variants in Simplified
   Chinese (SC) form, Traditional Chinese (TC) form or other variant
   forms.  For example, the Chinese character "U+5B81" has 5 variants:
   "U+5B81" (SC form), "U+5BE7" (TC form), "U+21A34" , "U+5BDC" and
   "U+5BCD" (other variant forms).  For Chinese users, the variants of a
   Chinese character in SC form, TC form and other variant forms are
   regarded as the same.

   So most of Chinese Domain Names (CDNs) have different variant forms
   (SC form, TC form, and other variant forms) which are also regarded
   as the same by Chinese users.  According to a statistical result of
   CNNIC, 78.6% of registered CDNs have variant forms by the end of May
   2011.  The registration policy of CDNs is that a registrant can apply
   an original CDN in any forms (SC form, TC form, or other variant
   forms), then the corresponding variant CDN in SC form and that in TC
   form will also be delegated to the same registrant.  All the other
   forms for the CDN are reserved and forbidden to be applied by other
   registrants.  Moreover, any reserved variant CDN can be validated by
   the same registrant later.

   In order to meet above requirements of the CDNs registration, this
   document describes an extension of the Extensible Provisioning
   Protocol (EPP) domain name mapping [RFC5731] for the provisioning and
   management of CDNs, especially for variant CDNs.  This document is
   specified using the Extensible Markup Language (XML) 1.0 as described
   in [W3C.REC-xml-20040204] and XML Schema notation as described in
   [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028].

   The EPP core protocol specification [RFC5730] provides a complete
   description of EPP command and response structures.  A thorough
   understanding of the base protocol specification is necessary to
   understand the extension of mapping described in this document.

   This document uses lots of the concepts of the Internationalized
   Domain Names (IDNs) and unique features of CDN, so a thorough
   understanding of the IDNs for Application (IDNA, described in
   [RFC5890], [RFC5891], and [RFC5892]) and a thorough understanding of
   variant approach discussed in [RFC4290] and specifically for
   documents written in Chinese, Japanese, or Korean (CJK documents), in
   the so-called "JET Guidelines" [RFC3743] is required to understand
   the unique features of CDN described in this document.


2. Terminology


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

   "cdn-1.0" in this document is used as an abbreviation for
   urn:ietf:params:xml:ns:cdn-1.0.

   In examples, "C:" represents lines sent by a protocol client and "S:"
   represents lines returned by a protocol server.  Indentation and
   white space in examples are provided only to illustrate element
   relationships and are not a REQUIRED feature of this specification.

   XML is case sensitive.  Unless stated otherwise, XML specifications
   and examples provided in this document MUST be interpreted in the
   character case presented to develop a conforming implementation.


3. Definitions


   The following definitions are used in this document:

   o  Chinese Domain Name (CDN), represents the domain's label made up
      by Chinese characters which may be SC or TC, or other variants
      (the label may contain ASCII characters).

   o  Simplified Chinese Domain Name (SCDN), represents the domain's
      label only made up by simplified Chinese characters (the label may
      contain ASCII characters).

   o  Traditional Chinese Characters Domain Name (TCDN), represents the
      domain's label only made up by traditional Chinese characters (the
      label may contain ASCII characters).

   o  Original Chinese Domain Name (OCDN) represents the CDN that users
      submit for registration by the first time.

   o  Variant Chinese Domain Name (VCDN) represents the domain's label
      made up by Chinese characters which may be SC or TC, or other
      variants (the label may contain ASCII characters, but may not only
      contain simplified Chinese characters or traditional Chinese
      characters).


4. Object Attributes


   This extension defines following additional elements to the EPP
   domain name mapping [RFC5731].  All of these additional elements can
   be got from <domain:info> command.


4.1. OCDN Punycode Domain Name


   The OCDN Punycode domain name is a domain name in Punycode [RFC3492]
   which is converted from the corresponding OCDN.  In this document,
   its corresponding element is <cdn:OCDNPunycode>.

4.2. SCDN and SCDN Punycode Domain Name


   The corresponding element of SCDN is <cdn:SCDN>.

   The SCDN Punycode domain name is a domain name in Punycode [RFC3492]
   which is converted from the corresponding SCDN.  In this document,
   its corresponding element is <cdn:SCDNPunycode>.

4.3. TCDN and TCDN Punycode Domain Name


   The corresponding element of TCDN is <cdn:TCDN>.

   The TCDN Punycode domain name is a domain name in Punycode [RFC3492]
   which is converted from the corresponding TCDN.  In this document,
   its corresponding element is <cdn:TCDNPunycode>.

4.4. VCDN and VCDN Punycode Domain Name


   The corresponding element of VCDN is <cdn:VCDN>.

   The VCDN Punycode domain name is a domain name in Punycode [RFC3492]
   which is converted from the corresponding VCDN.  In this document,
   its corresponding element is <cdn:VCDNPunycode>.


5. EPP Command Mapping


   A detailed description of the EPP syntax and semantics can be found
   in the EPP core protocol specification [RFC5730].  The command
   mappings described here are specifically for use in provisioning and
   managing CDNs via EPP.

5.1. EPP Query Commands


   EPP provides three commands to retrieve domain information: <check>
   to determine if a domain object can be provisioned within a
   repository, <info> to retrieve detailed information associated with a
   domain object, and <transfer> to retrieve domain-object transfer
   status information.


5.1.1. EPP <check> Command


   This extension does not add any element to the EPP <check> command or
   <check> response described in the EPP domain name mapping [RFC5731].
   When a domain name has not been registered, but the domain which the
   user submitted for check is in the VCDN list of a registered domain
   name, <check> response must contain explanation in the reason field
   to tell the user that this domain name is a VCDN of a registered
   domain name, and can be validated by the registrant by <update>
   command.

5.1.2. EPP <info> Command


   This extension does not add any element to the EPP <info> command
   described in the EPP domain mapping [RFC5731].  However, additional
   elements are defined for the <info> response.

   When an <info> command has been processed successfully, the EPP
   <resData> element MUST contain child elements as described in the EPP
   domain mapping [RFC5731].  In addition, the EPP <extension> element
   SHOULD contain a child <cdn:infData> element that identifies the
   extension namespace if the domain object has data associated with
   this extension and based on server policy.  The <cdn:infData> element
   contains the following child elements:

   o  An OPTIONAL <cdn:OCDNPunycode> element that contains the Punycode
      of the OCDN.

   o  An OPTIONAL <cdn:SCDN> element that contains the SCDN.

   o  An OPTIONAL <cdn:SCDNPunycode> element that contains the Punycode
      of the SCDN.

   o  An OPTIONAL <cdn:TCDN> element that contains the TCDN.

   o  An OPTIONAL <cdn:TCDNPunycode> element that contains the Punycode
      of the TCDN.

   o  An OPTIONAL <cdn:VCDNList> element that contains the following
      child elements:

      *  An OPTIONAL <cdn:VCDN> element that contains the VCDN.

      *  An OPTIONAL <cdn: VCDNPunycode> element that contains the
         Punycode of the VCDN.


   Example <info> Response for an authorized client:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:infData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</domain:name>
   S:        <domain:roid>58812678-domain</domain:roid>
   S:        <domain:status s="ok"/>
   S:        <domain:registrant>123</domain:registrant>
   S:        <domain:contact type="admin">123</domain:contact>
   S:        <domain:contact type="tech">123</domain:contact>
   S:        <domain:ns>
   S:          <domain:hostObj>ns1.example.cn</domain:hostObj>
   S:        </domain:ns>
   S:        <domain:clID>ClientX</domain:clID>
   S:        <domain:crID>ClientY</domain:crID>
   S:        <domain:crDate>2011-04-03T22:00:00.0Z</domain:crDate>
   S:        <domain:exDate>2012-04-03T22:00:00.0Z</domain:exDate>
   S:        <domain:authInfo>
   S:          <domain:pw>2fooBAR</domain:pw>
   S:        </domain:authInfo>
   S:      </domain:infData>
   S:    </resData>
   S:    <extension>
   S:      <cdn:infData
   S:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   S:        <cdn:OCDNPunycode>
   S:         xn--fsq270a.xn--fiqs8s</cdn:OCDNPunycode>
   S:        <cdn:SCDN>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</cdn:SCDN>
   S:        <cdn:SCDNPunycode>
   S:         xn--fsq270a.xn--fiqs8s</cdn:SCDNPunycode>
   S:        <cdn:TCDN>
   S:         "U+5BE6""U+4f8b"."U+4E2D""U+570B"</cdn:TCDN>
   S:        <cdn:TCDNPunycode>
   S:         xn--fsqz41a.xn--fiqz9s</cdn:TCDNPunycode>
   S:        <cdn:VCDNList>
   S:              <cdn:VCDN>
   S:       "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   S:              <cdn:VCDNPunycode>
   S:       xn--fsq470a.xn--fiqz9s</cdn:VCDNPunycode>
   S:        </cdn:VCDNList>
   S:      </cdn:infData>
   S:    </extension>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>

   <info> Response for the unauthorized client has not been changed,see
   [RFC5731] for detail.

   An EPP error response MUST be returned if an <info> command cannot be
   processed for any reason.

5.1.3. EPP <transfer> Query Command


   This extension does not add any element to the EPP <transfer> command
   described in the EPP domain mapping [RFC5731].  However, additional
   elements are defined for the <transfer> response.

   When a <transfer> command has been processed successfully, the EPP
   <trnData> element MUST contain child elements as described in the EPP
   domain mapping [RFC5731].  In addition, the EPP <extension> element
   SHOULD contain a child <cdn:trnData> element that identifies the
   extension namespace if the domain object has data associated with
   this extension and based on server policy.  The <cdn:trnData> element
   contains the following child elements:

   o  An OPTIONAL <cdn:SCDN> element that contains the SCDN.

   o  An OPTIONAL <cdn:TCDN> element that contains the TCDN.

   o  An OPTIONAL <cdn:VCDNList> element that contains the following
      child element:

      *  An OPTIONAL <cdn:VCDN> element that contains the VCDN.

   Example <transfer> Response for an authorized client:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>
   S:         xn--fsq270a.xn--fiqs8s</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2010-06-06T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2011-06-11T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2012-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <extension>
   S:      <cdn:trnData
   S:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   S:        <cdn:SCDN>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</cdn:SCDN>
   S:        <cdn:TCDN>
   S:         "U+5BE6""U+4f8b"."U+4E2D""U+570B"</cdn:TCDN>
   S:        <cdn:VCDNList>
   S:              <cdn:VCDN>
   S:       "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   S:        </cdn:VCDNList>
   S:      </cdn:trnData>
   S:    </extension>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>

   An EPP error response MUST be returned if a <transfer> command cannot
   be processed for any reason.

5.2. EPP Transform Commands


   EPP provides five commands to transform domain objects: <create> to
   create an instance of a domain object, <delete> to delete an instance
   of a domain object, <renew> to extend the validity period of a domain
   object, <transfer> to manage domain object sponsorship changes, and
   <update> to change information associated with a domain object.

5.2.1. EPP <create> Command


   This extension defines additional elements to extend the EPP <create>
   command described in the EPP domain name mapping [RFC5731] for CDN
   registration.

   In addition to the EPP command elements described in the EPP domain
   mapping [RFC5731], the <create> command SHOULD contain an <extension>
   element.  The <extension> element SHOULD contain a child <cdn:create>
   element that identifies the CDN namespace and the location of the CDN
   schema.  The <cdn:create> element contains an OPTIONAL <cdn:VCDNList>
   element which contains the following child element:

   o  An OPTIONAL <cdn:VCDN> element is used to indicate is used to
      indicate a reserved VCDN which the user wants to validate.

   Example <create> command:

   C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   C:  <command>
   C:    <create>
   C:      <domain:create
   C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   C:        <domain:name>
   C:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</domain:name>
   C:        <domain:period unit="y">2</domain:period>
   C:        <domain:registrant>123</domain:registrant>
   C:        <domain:contact type="admin">123</domain:contact>
   C:        <domain:contact type="tech">123</domain:contact>
   C:        <domain:authInfo>
   C:          <domain:pw>2fooBAR</domain:pw>
   C:        </domain:authInfo>
   C:      </domain:create>
   C:    </create>
   C:    <extension:
   C:      <cdn:create
   C:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   C:        <cdn:VCDNList>
   C:             <cdn:VCDN>
   C:          "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   C:        </cdn:VCDNList>
   C:      </cdn:create>
   C:    </extension>
   C:    <clTRID>ABC-12345</clTRID>
   C:  </command>
   C:</epp>

   When an extended <create> command has been processed successfully,
   the EPP response is as described in the EPP domain mapping [RFC5731].

5.2.2. EPP <delete> Command


   This extension does not add any element to the EPP <delete> command
   described in the EPP domain mapping [RFC5731].  However, additional
   elements are defined for the <delete> response.

   When a <delete> command has been processed successfully, the EPP
   <delData> element MUST contain child elements as described in the EPP
   domain mapping [RFC5731].  In addition, the EPP <extension> element
   SHOULD contain a child <cdn:delData> element that identifies the
   extension namespace if the domain object has data associated with
   this extension and based on server policy.  The <cdn:delData> element
   contains the following child elements:

   o  An OPTIONAL <cdn:SCDN> element that contains the SCDN.

   o  An OPTIONAL <cdn:TCDN> element that contains the TCDN.

   o  An OPTIONAL <cdn:VCDNList> element that contains the following
      child element:

      *  An OPTIONAL <cdn:VCDN> element that contains the VCDN.


   Example <delete> response:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <extension>
   S:      <cdn:delData
   S:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   S:        <cdn:SCDN>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</domain:name>
   S:        <cdn:TCDN>
   S:         "U+5BE6""U+4f8b"."U+4E2D""U+570B"</domain:name>
   S:        <cdn:VCDNList>
   S:              <cdn:VCDN>
   S:       "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   S:        </cdn:VCDNList>
   S:      </cdn:delData>
   S:    </extension>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54321-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>

   An EPP error response MUST be returned if a <delete> command cannot
   be processed for any reason.

5.2.3. EPP <renew> Command


   This extension does not add any element to the EPP <renew> command
   described in the EPP domain mapping [RFC5731].  However, additional
   elements are defined for the <renew> response.

   When a <renew> command has been processed successfully, the EPP
   <renData> element MUST contain child elements as described in the EPP
   domain mapping [RFC5731].  In addition, the EPP <extension> element
   SHOULD contain a child <cdn:renData> element that identifies the
   extension namespace if the domain object has data associated with
   this extension and based on server policy.  The <cdn:renData> element
   contains the following child elements:

   o  An OPTIONAL <cdn:SCDN> element that contains the SCDN.

   o  An OPTIONAL <cdn:TCDN> element that contains the TCDN.

   o  An OPTIONAL <cdn:VCDNList> element that contains the following
      child element:

      *  An OPTIONAL <cdn:VCDN> element that contains the VCDN.
   Example <renew> response:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:renData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>example.com</domain:name>
   S:        <domain:exDate>2012-04-03T22:00:00.0Z</domain:exDate>
   S:      </domain:renData>
   S:    </resData>
   S:    <extension>
   S:      <cdn:renData
   S:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   S:        <cdn:SCDN>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</cdn:SCDN>
   S:        <cdn:TCDN>
   S:         "U+5BE6""U+4f8b"."U+4E2D""U+570B"</cdn:TCDN>
   S:        <cdn:VCDNList>
   S:              <cdn:VCDN>
   S:       "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   S:        </cdn:VCDNList>
   S:      <cdn:renData>
   S:    </extension>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>

   An EPP error response MUST be returned if a <renew> command cannot be
   processed for any reason.

5.2.4. EPP <transfer> Command


   This extension does not add any element to the EPP <transfer> command
   described in the EPP domain mapping [RFC5731].  However, additional
   elements are defined for the <transfer> response.

   When a <transfer> command has been processed successfully, the EPP
   <trnData> element MUST contain child elements as described in the EPP
   domain mapping [RFC5731].  In addition, the EPP <extension> element
   SHOULD contain a child <cdn:trnData> element that identifies the
   extension namespace if the domain object has data associated with
   this extension and based on server policy.  The <cdn:trnData> element
   contains the following child elements:

   o  An OPTIONAL <cdn:SCDN> element that contains the SCDN.

   o  An OPTIONAL <cdn:TCDN> element that contains the TCDN.

   o  An OPTIONAL <cdn:VCDNList> element that contains the following
      child element:

      *  An OPTIONAL <cdn:VCDN> element that contains the VCDN.

   Example <transfer> Response for an authorized client:

   S:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   S:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
   S:  <response>
   S:    <result code="1000">
   S:      <msg>Command completed successfully</msg>
   S:    </result>
   S:    <resData>
   S:      <domain:trnData
   S:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
   S:        <domain:name>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</domain:name>
   S:        <domain:trStatus>pending</domain:trStatus>
   S:        <domain:reID>ClientX</domain:reID>
   S:        <domain:reDate>2010-06-06T22:00:00.0Z</domain:reDate>
   S:        <domain:acID>ClientY</domain:acID>
   S:        <domain:acDate>2011-06-11T22:00:00.0Z</domain:acDate>
   S:        <domain:exDate>2012-09-08T22:00:00.0Z</domain:exDate>
   S:      </domain:trnData>
   S:    </resData>
   S:    <extension>
   S:      <cdn:trnData
   S:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
   S:        <cdn:SCDN>
   S:         "U+5B9E""U+4f8b"."U+4E2D""U+56FD"</cdn:SCDN>
   S:        <cdn:TCDN>
   S:         "U+5BE6""U+4f8b"."U+4E2D""U+570B"</cdn:TCDN>
   S:        <cdn:VCDNList>
   S:              <cdn:VCDN>
   S:       "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
   S:        </cdn:VCDNList>
   S:      </cdn:trnData>
   S:    </extension>
   S:    <trID>
   S:      <clTRID>ABC-12345</clTRID>
   S:      <svTRID>54322-XYZ</svTRID>
   S:    </trID>
   S:  </response>
   S:</epp>

   An EPP error response MUST be returned if a <transfer> command cannot
   be processed for any reason.

5.2.5. EPP <update> Command


   This extension defines additional elements for the EPP <update>
   command described in the EPP domain mapping [RFC5731].  No additional
   elements are defined for the EPP <update> response.

   The EPP <update> command provides a transform operation that allows a
   client to modify the attributes of a domain object.  In addition to
   the EPP command elements described in the EPP domain mapping
   [RFC5731], the command SHOULD contain an <extension> element, and the
   <extension> element MUST contain a child <cdn:update> element that
   identifies the extension namespace if the client wants to update the
   domain object with data defined in this extension.  The <cdn:update>
   element contains a <cdn:add> element to add VCDN associate with the
   OCDN, a <cdn:rem> element to remove VCDN associate with the OCDN.  At
   least one <cdn:add>or <cdn:rem> MUST be provided.  The <cdn:update>
   element contains the following child elements:

   o  An OPTIONAL <cdn:rem> element that contains one or more <cdn:VCDN>
      elements.

   o  An OPTIONAL <cdn:add> element that contains one or more <cdn:VCDN>
      elements.

   Example <update> Command:

  C:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  C:<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  C:  <command>
  C:    <update>
  C:      <domain:update
  C:       xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
  C:        <domain:name>"U+5B9E""U+4f8b"."U+4E2D""U+56FD"</domain:name>
  C:        <domain:add>
  C:          <domain:ns>
  C:            <domain:hostObj>ns2.example.cn</domain:hostObj>
  C:          </domain:ns>
  C:          <domain:contact type="tech">234</domain:contact>
  C:          <domain:status s="clientHold"
  C:           lang="en">Payment overdue.</domain:status>
  C:        </domain:add>
  C:        <domain:rem>
  C:          <domain:ns>
  C:            <domain:hostObj>ns1.example.cn</domain:hostObj>
  C:          </domain:ns>
  C:          <domain:contact type="tech">123</domain:contact>
  C:          <domain:status s="clientUpdateProhibited"/>
  C:        </domain:rem>
  C:        <domain:chg>
  C:          <domain:registrant>234</domain:registrant>
  C:          <domain:authInfo>
  C:            <domain:pw>2BARfoo</domain:pw>
  C:          </domain:authInfo>
  C:        </domain:chg>
  C:      </domain:update>
  C:    </update>
  C:    <extension>
  C:      <cdn:update
  C:       xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0">
  C:         <cdn:add>
  C:           <cdn:VCDN>
  C:            "U+5B9F""U+4f8b"."U+4E2D""U+56FD"</cdn:VCDN>
  C:         </cdn:add>
  C:         <cdn:rem>
  C:           <cdn:VCDN>
  C:            "U+5B9F""U+4f8b"."U+4E2D""U+570B"</cdn:VCDN>
  C:         </cdn:rem>
  C:      </cdn:update>
  C:    </extension>
  C:    <clTRID>ABC-12345</clTRID>
  C:  </command>
  C:</epp>

   When an extended <update> command has been processed successfully,
   the EPP response is as described in the EPP domain name mapping
   [RFC5731].


6. Formal Syntax


   An EPP object name mapping extension for CDN is specified in XML
   Schema notation.  The formal syntax presented here is a complete
   schema representation of the object mapping suitable for automated
   validation of EPP XML instances.  The BEGIN and END tags are not part
   of the schema; they are used to note the beginning and ending of the
   schema for URI registration purposes.

   BEGIN
   <?xml version="1.0" encoding="UTF-8"?>

   <schema targetNamespace="urn:ietf:params:xml:ns:cdn-1.0"
        xmlns:cdn="urn:ietf:params:xml:ns:cdn-1.0"
        xmlns:epp="urn:iana:xml:ns:epp-1.0"
        xmlns:eppcom="urn:iana:xml:ns:eppcom-1.0"
        xmlns="http://www.w3.org/2001/XMLSchema"
        elementFormDefault="qualified">

   <!--
   Import common element types.
   -->
   <import namespace="urn:iana:xml:ns:eppcom-1.0"
   schemaLocation="eppcom-1.0.xsd"/>
   <import namespace="urn:iana:xml:ns:epp-1.0"
   schemaLocation="epp-1.0.xsd"/>

   <annotation>
     <documentation>
       Extensible Provisioning Protocol v1.0
       CNNIC Domain Extension Schema v1.0
     </documentation>
   </annotation>

   <!--
   Child elements found in EPP commands.
   -->
   <element name="create" type="cdn:trnDataType"/>
   <element name="update" type="cdn:updateType"/>

   <!--
   Child elements of the <cdn:update> command
   All elements must be present at time of creation
   -->
   <complexType name="updateType">
     <sequence>
       <element name="chg" type="cdn:chgType" minOccurs="0" />
       <element name="add" type="cdn:addRemType" minOccurs="0" />
       <element name="rem" type="cdn:addRemType" minOccurs="0" />
     </sequence>
   </complexType>

   <complexType name="chgType">
     <sequence>
       <element name="SCDN" type="eppcom:labelType" minOccurs="0" />
       <element name="TCDN" type="eppcom:labelType" minOccurs="0" />
     </sequence>
   </complexType>

   <complexType name="addRemType">
     <sequence>
       <element name="VCDN" type="eppcom:labelType"
        maxOccurs="unbounded" />
     </sequence>
   </complexType>

   <!--
   Child elements found in EPP commands.
   -->
   <element name="infData" type="cdn:infDataType"/>
   <element name="creData" type="cdn:creDataType"/>
   <element name="delData" type="cdn:trnDataType"/>
   <element name="renData" type="cdn:trnDataType"/>
   <element name="trnData" type="cdn:trnDataType"/>

   <!--
   Child elements of the <cdn:infData> command
   All elements must be present at time of creation
   -->
   <complexType name="infDataType">
     <all>
       <element name="OCDNPunycode" type="eppcom:labelType"
        minOccurs="0" />
       <element name="SCDN" type="eppcom:labelType" minOccurs="0" />
       <element name="SCDNPunycode" type="eppcom:labelType"
        minOccurs="0" />
       <element name="TCDN" type="eppcom:labelType" minOccurs="0" />
       <element name="TCDNPunycode" type="eppcom:labelType"
        minOccurs="0" />
       <element name="VCDNList" type="cdn:mVariantNameType"
        minOccurs="0" />
     </all>
   </complexType>

   <complexType name="mVariantNameType">
     <sequence>
       <element name="VCDN" type="eppcom:labelType"
        maxOccurs="unbounded" />
       <element name="VCDNPunycode" type="eppcom:labelType"
        maxOccurs="unbounded" />
     </sequence>
   </complexType>

   <!--
   <transfer> response elements.
   All elements must be present at time of poll query
   -->
   <complexType name="trnDataType">
     <sequence>
       <element name="SCDN" type="eppcom:labelType" minOccurs="0" />
       <element name="TCDN" type="eppcom:labelType" minOccurs="0" />
       <element name="VCDNList" type="cdn:VCDNListType"
        minOccurs="0" />
     </sequence>
   </complexType>

   <complexType name="VCDNListType">
     <sequence>
       <element name="VCDN" type="eppcom:labelType"
        maxOccurs="unbounded" />
     </sequence>
   </complexType>

   <!--
   End of schema.
   -->
   </schema>
   END


7. Internationalization Considerations


   EPP is represented in XML, which provides native support for encoding
   information using the Unicode character set and its more compact
   representations including UTF-8.  Conformant XML processors recognize
   both UTF-8 and UTF-16.  Though XML includes provisions to identify
   and use other character encodings through use of an "encoding"
   attribute in an <?xml?> declaration, use of UTF-8 is RECOMMENDED.
   As an extension of the EPP domain name mapping, the elements, element
   content described in this document MUST inherit the
   internationalization conventions used to represent higher-layer
   domain and core protocol structures present in an XML instance that
   includes this extension.


8. IANA Considerations


   This document uses URNs to describe XML namespaces and XML schemas
   conforming to a registry mechanism described in [RFC3688].  IANA is
   requested to assignment the following two URI.

   Registration request for the CDN namespace:

   o  URI: urn:ietf:params:xml:ns:cdn-1.0

   o  Registrant Contact: See the "Author's Address" section of this
      document.

   o  XML: None.  Namespace URI does not represent an XML specification.

   Registration request for the CDN XML schema:

   o  URI: urn:ietf:params:xml:schema:cdn-1.0

   o  Registrant Contact: See the "Author's Address" section of this
      document.

   o  XML: See the "Formal Syntax" section of this document.


9. Security considerations


   The object mapping extension described in this document does not
   provide any other security services or introduce any additional
   considerations beyond those described by [RFC5730] or those caused by
   the protocol layers used by EPP.


10. Acknowledgements


   The authors especially thanks the authors of [RFC5730] and [RFC5731],
   Yan Wang and Sean Shen (the main authers of
   draft-wang-epp-extension-cdn-00) and the following ones of CNNIC:
   Hongtao Li, Haikuo Zhang, Zhiping Li, Chao Qi.

11. References


11.1. Normative References


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

   [RFC3492]  Costello, A., "Punycode: A Bootstring encoding of Unicode
              for Internationalized Domain Names in Applications
              (IDNA)", RFC 3492, March 2003.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              January 2004.

   [RFC5730]  Hollenbeck, S., "Extensible Provisioning Protocol (EPP)",
              STD 69, RFC 5730, August 2009.

   [RFC5731]  Hollenbeck, S., "Extensible Provisioning Protocol (EPP)
              Domain Name Mapping", STD 69, RFC 5731, August 2009.

   [RFC5890]  Klensin, J., "Internationalized Domain Names for
              Applications (IDNA): Definitions and Document Framework",
              RFC 5890, August 2010.

   [RFC5891]  Klensin, J., "Internationalized Domain Names in
              Applications (IDNA): Protocol", RFC 5891, August 2010.

   [RFC5892]  Faltstrom, P., "The Unicode Code Points and
              Internationalized Domain Names for Applications (IDNA)",
              RFC 5892, August 2010.

   [W3C.REC-xml-20040204]
              Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., and
              F. Yergeau, ""Extensible Markup Language (XML) 1.0 (Third
              Edition)",  World Wide Web Consortium FirstEdition REC-
              xml-20040204", February 2004,
              <http://www.w3.org/TR/2004/REC-xml-20040204>.

   [W3C.REC-xmlschema-1-20041028]
              Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
              ""XML Schema Part 1: Structures Second Edition", World
              Wide  Web Consortium Recommendation REC-xmlschema-1-
              20041028", October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028>.

   [W3C.REC-xmlschema-2-20041028]
              Biron, P. and A. Malhotra, ""XML Schema Part 2: Datatypes
              Second Edition", World Wide  Web Consortium Recommendation
              REC-xmlschema-2-20041028", October 2004,
              <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.

11.2. Informative References


   [RFC3743]  Konishi, K., Huang, K., Qian, H., and Y. Ko, "Joint
              Engineering Team (JET) Guidelines for Internationalized
              Domain Names (IDN) Registration and Administration for
              Chinese, Japanese, and Korean", RFC 3743, April 2004.

   [RFC4290]  Klensin, J., "Suggested Practices for Registration of
              Internationalized Domain Names (IDN)", RFC 4290,
              December 2005.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值