<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC3597 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3597.xml">
<!ENTITY RFC6672 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6672.xml">
<!ENTITY RFC2181 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2181.xml">
<!ENTITY draft-aname SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-hunt-dnsop-aname-00.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='draft-zeng-dnsop-exclusive-rr-type-for-multi-cdn-00.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="bcp" docName="draft-zeng-dnsop-exclusive-rr-type-for-multi-cdn-00" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="CDNNAME RR type">Exclusive RR type for multi-CDN support</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Yu Zeng" initials="Y" 
            surname="Zeng">
      <organization>CNNIC</organization>

      <address>
        <postal>
          <street>4 South 4th Street,Zhongguancun,Haidian District</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100190</code>

          <country>China</country>
        </postal>

        <phone>+86 10 5881 3020</phone>

        <email>zengyu@cnnic.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
	
	<author fullname="Haikuo Zhang" initials="H" 
            surname="Zhang">
      <organization>CNNIC</organization>

      <address>
        <postal>
          <street>4 South 4th Street,Zhongguancun,Haidian District</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100190</code>

          <country>China</country>
        </postal>

        <phone>+86 10 5881 3163</phone>

        <email>zhanghaikuo@cnnic.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
	
	<author fullname="Nan Wang" initials="N" 
            surname="Wang">
      <organization>CNNIC</organization>

      <address>
        <postal>
          <street>4 South 4th Street,Zhongguancun,Haidian District</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100190</code>

          <country>China</country>
        </postal>

        <phone>+86 10 5881 3275</phone>

        <email>wangnan@cnnic.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
	
	<author fullname="Jiankang Yao" initials="J" 
            surname="Yao">
      <organization>CNNIC</organization>

      <address>
        <postal>
          <street>4 South 4th Street,Zhongguancun,Haidian District</street>

          <!-- Reorder these if your country does things differently -->

          <city>Beijing</city>

          <region>Beijing</region>

          <code>100190</code>

          <country>China</country>
        </postal>

        <phone>+86 10 5881 3007</phone>

        <email>yaojk@cnnic.cn</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <date month="May" year="2017" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Internet</area>

    <workgroup>Domain Name System Operations</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>exclusive RR type for Multi-CDN</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>With the boom of Multi-CDN services, more enterprises tend to apply
   Multi-CDN service to deliver better end user experience to online
   global audiences. However, the current Multi-CDN strategy has some
   defects. Different Multi-CDN providers have various implementations
   of CDN balancing, yet there is no such unified DNS protocol because
   that multiple CNAMEs violates DNS standards. Some Multi-CDN
   implementations MAY have extra lookups for CDN redirection which
   causes longer query latency. This document aims to provide an
   exclusive DNS RR type CDNNAME(CDN name) for Multi-CDN implementation.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
		<section title="What is Multi-CDN">
			<t>A Multi-CDN solution is an alternative to using a single CDN from one provider. Enterprises offering Multi-CDN solution distribute user traffic between CDN providers
				by certain CDN balancing technologies. With the CDN balancing technology, the fastest CDN provider is selected for the end user to maximize the web performance.</t>
		</section>
		
		<section title="Multi-CDN providers">
			<t>Companies like AWS route53, Cedexis, NS1, Dyn offer the Multi-CDN service with an integration of the DNS service needed to manage traffic 
			and a pool of performance data to base decisions on. The integration helps route traffic based on certain variables such as a web user's country of origin, 
			their ISP, or any other data source.</t>
			
			<t>Other companies like Catchpoint, Deepfield, New Relic and Dynatrace provide only monitoring services which can be used to evaluate the 
			performance of CDN providers.</t>
		</section>
		
		<section title="Multi-CDN users">
			<t>The multi-CDN strategy has been in play for only a few years, here are some Multi-CDN user examples mentioned in the report of Bizety Technologies:</t>
			<texttable anchor="table_example" title="Multi-CDN user examples">
			  <preamble></preamble>
			  <ttcol align="center">Company</ttcol>
			  <ttcol align="center">CDNs used</ttcol>
			  <c>Netflix</c>
			  <c>4 CDNs: Akamai, Level 3, EdgeCast and Limelight</c>
			  <c>Facebook</c>
			  <c>3 CDNs: Akamai + 2 others</c>
			  <c>LinkedIn</c>
			  <c>3 CDNs</c>
			  <c>Twitter</c>
			  <c>3 CDNs</c>
			  <c>World of Warcraft</c>
			  <c>3 CDNs: Akamai + 2 others</c>
			  <c>Hulu</c>
			  <c>2 CDNs</c>
			  <c>Overstock</c>
			  <c>2 CDNs</c>
			  <c>Walmart</c>
			  <c>2 CDNs</c>
			  <c>eBay</c>
			  <c>2 CDNs</c>
			  <c>Oracle</c>
			  <c>2 CDNs</c>
			  <c>SAP</c>
			  <c>2 CDNs</c>
			  <c>Microsoft</c>
			  <c>2 CDNs</c>
			  <c>AVG</c>
			  <c>2 CDNs</c>
			  <c>ESPN</c>
			  <c>2 CDNs</c>
			  <postamble></postamble>
			</texttable>
		</section>
		
		<section title="Cons of current Multi-CDN strategy">
			<section title="Extra query time">
				<t>Some Multi-CDN providers offer authoritative DNS service fully integrated performance and business logic based CDN balancing
				   traffic management, while other providers require combining services from separate vendors to create a solution that enables the 
				   Multi-CDN strategies in industry. The differences between them have an impact on performance. The multiple vendor solutions work as follows 
				  (see figure 1):</t>
			
				<figure align="center" anchor="xml_happy2" title="Complexity of multi-vendor solutions for Multi-CDN management">
					<preamble></preamble>
					<artwork align="left"><![CDATA[
    +-------+     +------+  www.example.com.? +------------+
    | CDN C |<----| user |------------------->|  resolver  |
    +-------+     |      |<-------------------|            |
                  +------+  address of CDN C  +------------+
    +-------+                                  | A  | A  | A
    | CDN A |                     +------------+ |  | |  | |  +-----------+          
    +-------+                     | +------------+  | |  | +--| Multi-CDN |
                                  V |               | |  +--->|  provider |
                            +-----------+           V |       +-----------+
    +-------+               | CDN C DNS |      +-------------+
    | CDN B |               +-----------+      | example.com.|
    +-------+                                  |     DNS     |
                                               +-------------+
											   
					]]></artwork>
					<postamble></postamble>
				</figure>
			
				<t>Customer creates a CNAME entry in their authoritative DNS pointing to the 3rd party Multi-CDN provider with traffic 
		monitoring solution. When an end user queries the address of www.example.com, the recursive server retrieves the answer from 
		example.com authoritative DNS server and is redirected to the DNS server for "Multicdn.service.com". Multicdn.service.com 
		DNS server receives the query, identifies the subscribing customer (example.com) and based on the traffic management 
		logic configured for example.com, determines which of the CDNs example.com is using will provide the best service 
		for the requesting end user. The answer is another CNAME, this time it is the CNAME of the CDN selected by 
		Multicdn.service.com. This results in another DNS lookup to find the actual A record (IP address) of the CDN. That 
		information is returned to the user's device and their browser makes the connection to the web page. In short, the 
		request for www.example.com requires 3 look-ups on 3 different authoritative DNS systems, run by 3 different 
		providers.</t>
		
				<t>This complexity has significant downsides. The extra DNS lookups take extra query time.</t>
			
				<t>The integrated approach avoids these complexities and response delays. Traffic management logic and performance data 
			associated with DNS records are integrated within the platform (see figure 2).</t>
				<figure align="center" anchor="xml_happy1" title="Complexity of integrated solutions for Multi-CDN management">
					<preamble></preamble>
					<artwork align="left"><![CDATA[
    +-------+     +------+  www.example.com.?   +------------+
    | CDN C |<----| user |--------------------->|  resolver  |
    +-------+     |      |<---------------------|            |
                  +------+  address of CDN C    +------------+
    +-------+                                   | A  | A  
    | CDN A |                     +-------------+ |  | |            
    +-------+                     | +-------------+  | |  
                                  V |                | |  
                            +-----------+            V |         
    +-------+               | CDN C DNS |      +-----------------------+
    | CDN B |               +-----------+      |   example.com. DNS    |
    +-------+                                  |    integrated CDN     |
                                               |      balancing        |
                                               +-----------------------+
											   
					]]></artwork>
					<postamble></postamble>
				</figure>
				<t>This reduces the number of DNS look-ups required to direct users to the optimal CDN. In some cases, the entire
			process can be reduced to just one look-up. This integrated approach not only reduces response time latency, it
			makes configuration, management and troubleshooting of a complex multi-CDN infrastructure far easier.</t>
		</section>
			
			<section title="Lack of protocol support">
				<t>From the analysis in the previous section, the Multi-CDN management integrates the authoritative DNS service with CDN balancing is a 
				better solution. However, the Multi-CDN management needs multiple CNAMEs to be configured in the DNS, while multiple CNAMEs violates current DNS
				standards, as described in <xref target="RFC2181"/> section 10.1:</t>
				<figure align="left">
					<artwork align="left"><![CDATA[
    ...The DNS CNAME ("canonical name") record exists to
    provide the canonical name associated with an alias
    name. There may be only one such canonical name for
    any one alias.
					]]></artwork>
				</figure>
				<t>In addition, DNS servers strictly enforce the CNAME rules. Since there is no such unified DNS standard protocol supporting multiple CNAMEs, Multi-CDN providers have their own implementations.</t>
			</section>
			<!--
			<t>This document aims to provide a RR type CDNNAME which is exclusively used for CDN service configuration in DNS. 
			</t>
			-->
		</section>
		
		<section title="Requirements Language">
		<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
			"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
			document are to be interpreted as described in <xref
			target="RFC2119">RFC 2119</xref>.</t>
		</section>
    </section>

    <section title="The CDNNAME Resource Record">
	  <t>The CDNNAME RR is exclusively used for CDN service implementation in DNS. Each CDNNAME RR indicates a CDN service of the RR owner, multiple
		CDNNAME RRs can be present at a DNS node for multi-CDN implementation. The CDNNAME supports integrated solutions of Multi-CDN management from DNS protocol standard level.</t>
		
      <t>The CDNNAME RR has mnemonic CDNNAME and type code [TBD]. It is
		CLASS-insensitive.</t>
		
	  <t>Its RDATA is comprised of a single field, &lt;target&gt;, which contains a
		fully qualified domain name that MUST be sent in uncompressed form
		<xref target="RFC1035"/> <xref target="RFC3597"/>. The &lt;target&gt; field MUST be present. The
		presentation format of &lt;target&gt; is that of a domain name <xref target="RFC1035"/>.
		The presentation format of the RR is as follows:</t>
		
      <figure align="left">
        <artwork align="left"><![CDATA[
    <owner> <ttl> <class> CDNNAME <target>
            ]]></artwork>
      </figure>
	  
	  
		
		<section title="Authoritative Server Behavior">
			<t>When a CDNNAME RRset is present at a DNS node and a query is received
		by an authoritative server for type CDNNAME, the authoritative server
		returns the CDNNAME RRset in the answer section.</t>
	  
	  <figure align="left">
		<artwork align="left"><![CDATA[
    ;;Zone cut:
    www.example.com.    IN    CDNNAME    cdn1.service.
                        IN    CDNNAME    cdn2.service.
                        IN    CDNNAME    cdn3.service.

    ;;Question
    www.example.com.    IN    CDNNAME

    ;;Answer
    www.example.com.    CDNNAME    cdn1.service.
                        CDNNAME    cdn2.service.
                        CDNNAME    cdn3.service.
            ]]></artwork>
     </figure>
	 
	 <t>When a CDNNAME RRset is present at a DNS node and a query is received
		by an authoritative server for type A or AAAA, the authoritative
		server returns a synthesized CNAME RR in the answer section.</t>
		
	<figure align="left">
		<artwork align="left"><![CDATA[
    ;;Zone cut:
    www.example.com.    IN    CDNNAME    cdn1.service.
                        IN    CDNNAME    cdn2.service.
                        IN    CDNNAME    cdn3.service.

    ;;Question
    www.example.com.    IN    A/AAAA

    ;;Answer
    www.example.com.    CNAME     cdn2.service.
            ]]></artwork>
    </figure>
	
	<t>To synthesize the CNAME RR in the answer section, authoritative server
   selects one CDNNAME RR randomly from CDNNAME RRset or according self-specified CDN balancing strategies.</t>
   
    <!--
    <t>If any address record already exists at the same node as a CDNNAME
   RRset, and a query is received by an authoritative server for type A
   or AAAA, the authoritative server returns a synthesized CNAME RR for
   CDNNAME type answer.</t>
   
    <figure align="left">
		<artwork align="left"><![CDATA[
    ;;Zone cut:
    www.example.com.    IN    CDNNAME    cdn1.service.
                        IN    CDNNAME    cdn2.service.
                        IN    CDNNAME    cdn3.service.
                        IN    A         1.1.1.1
                        IN    AAAA      ::1

    ;;Question
    www.example.com.    IN    A/AAAA

    ;;Answer
    www.example.com.    CNAME     cdn1.service.
            ]]></artwork>
    </figure>
	
	<t>CDNNAME MUST NOT coexist with CNAME. If records besides address
   type(A/AAAA) nor CNAME type exist at the same node as a CDNNAME
   RRset, the authoritative returns a normal answer for the question
   queried.</t>
    
	<figure align="left">
		<artwork align="left"><![CDATA[
    ;;Zone cut:
    www.example.com.    IN    CDNNAME    cdn1.service.
                        IN    CDNNAME    cdn2.service.
                        IN    CDNNAME    cdn3.service.
                        IN    MX        1 mail.example.com.
                        IN    AAAA      ::1

    ;;Question
    www.example.com.    IN    MX

    ;;Answer
    www.example.com.    MX     1 mail.example.com.
            ]]></artwork>
    </figure>
	-->
	<t>The owner of a CDNNAME record MAY, if DNSSEC is in use, have SIG, NXT, and KEY RRs, but MUST have no
   other type data.</t>
   
    <t>The use of CDNNAME in conjunction with wildcards is discouraged.
   Thus, records of the form "*.example.com CDNNAME cdn.service" SHOULD
   NOT be used. A server MAY give a warning that the behavior is
   unspecified if such a wildcarded CDNNAME is loaded. The server MAY
   refuse it, refuse to load the zone, or refuse dynamic updates.</t>
		</section>
		
		<section title="Recursive Server Behavior">
			<t>Recursive caching name servers can encounter both CNAME record and CDNNAME record at
           the same node, due to a change at the authoritative server where data from before and after the change resides in the cache.
		   This conflict situation is a transitional phase that ends when the old data times out. </t>
			<t>Recursive caching name servers MUST perform CNAME synthesis on behalf of clients.</t>
		</section>
		
		<section title="Other issues with CDNNAME">
			<t>There are several issues to be aware of about the use of CDNNAME.</t>
			<section title="Zone Transfer and CDNNAME">
				<t>When a zone containing CDNNAME records is transferred to a secondary
				server, the CDNNAME records are transferred; it is therefore
				RECOMMENDED that CDNNAME not be deployed in a zone unless all of the
				authoritative servers for that zone implement CDNNAME.</t>
			</section>
			<section title="Dynamic Update and CDNNAME">
				<t>CDNNAME records can be added, changed, and removed in a zone using 
				dynamic update transactions. Adding a CDNNAME RR to a domain node occludes 
				the CNAME RR that may exist under the node.</t>
				
				<t>If a dynamic update message attempts to add a CDNNAME with a given 
				owner name, but a CNAME is associated with that name, then the server 
				MUST ignore the CDNNAME. If a CDNNAME is already associated with that 
				name, add the CDNNAME. If a CNAME is added with a given owner name, but a DNAME is
				associated with that name, then the CNAME MUST be ignored.</t>
			</section>
			<!--
			<section title="DNSSEC and CDNNAME">
				<t>The following subsections specify the Behavior of implementations that understand both DNSSEC and CDNNAME (synthesis).</t>
				<section title="Signed CDNNAME, Unsigned Synthesized CNAME">
					<t>In any response, a signed CDNNAME RRset indicates the CDN services applied to the domain name. 
				  There might or might not be a server-synthesized CNAME in the answer section; if there is, the CNAME will 
				  never be signed. For a DNSSEC validator, verification of the CDNNAME RRset and then 
				  that the CNAME was properly synthesized is sufficient proof.</t>
				</section>
				<section title="CDNNAME Bit in NSEC Type Map">
					<t>In any negative response, the NSEC or NSEC3 [RFC5155] record type 
					bitmap SHOULD be checked to see that there was no CDNNAME that could 
					have been applied.</t>
				</section>
			</section>
			-->
		</section>
		
		<section title="IANA Considerations">
			<t>IANA is requested to assign a DNS RR data type value for the CDNNAME RR
			type under the "Resource Record (RR) TYPEs" sub-registry under the
			"Domain Name System (DNS) Parameters" registry.</t>
		</section>
		
		<section title="Security Considerations">
			<t>Both authoritative servers and resolvers that implement CDNNAME should
			carefully check for loops and treat them as an error condition.</t>
		</section>
    </section>
	<!--
	<section title="Pros of CDNNAME">
		<t></t>
	</section>
	
	<section title="Cons of CDNNAME">
		<t></t>
	</section>
	-->
	
	<section title="Implementation examples">
		<t>Taking one of the Multi-CDN providers Cedexis as an example:</t>
			
			
		<t>When we access any domain(ex: tags.tiqcdn.com.), the browser first checks its local cache for the result. If local cache does not 
			have the result, a query is sent to ISP's resolver to initiate a recursive query. The resolver queries "ns4.p08.dynect.net.", one of the name servers of
			domain "tiqcdn.com." depending on a number of factors, most importantly the shortest Round Trip Time(RTT):</t>
		<figure align="left">
				<artwork align="left"><![CDATA[
	@204.13.251.8:53[ns4.p08.dynect.net.]
	;;Question
	tags.tiqcdn.com.    IN    A
	
	;;Answer
	;;redirected to Multi-CDN provider Cedexis
	tags.tiqcdn.com.    IN    CNAME  2-01-2f1f-0001.cdx.cedexis.net. 
            ]]></artwork>
		</figure>
			
		<t>We can see that the domain "tags.tiqcdn.com." has been CNAMEd to the Multi-CDN provider "Cedexis". The resolver replaces the query name by "2-01-2f1f-0001.cdx.cedexis.net." 
			and restarts a recursive query. The resolver send the query to "flipd.cedexis.net.", one of the name servers of domain "cedexis.net."</t>

		<figure align="left">
		<artwork align="left"><![CDATA[
	@69.28.180.4:53[flipd.cedexis.net.]
	;;Question
	2-01-2f1f-0001.cdx.cedexis.net.    IN    A
	
	;;Answer
	;;redirected to Akamai CDN
	2-01-2f1f-0001.cdx.cedexis.net.    IN    CNAME  tags.tiqcdn.com.edgekey.net. 
        ]]></artwork>
		</figure>
			
		<t>The query is sent to the Multi-CDN host and this is where the Multi-CDN provider decides
			to which CDN the request should be route, based on some performance data produced by their monitoring system.
			The resolver will then go through the process of resolving the Akamai host until it reaches the edge server which 
			will eventually store the content.</t>
			
		<figure align="left">
		<artwork align="left"><![CDATA[
	;;Question
	2-01-2f1f-0001.cdx.cedexis.net.    IN    A
	
	;;Answer
	2-01-2f1f-0001.cdx.cedexis.net.    IN    CNAME  tags.tiqcdn.com.edgekey.net.
	tags.tiqcdn.com.edgekey.net.       IN    CNAME  e8091.b.akamaiedge.net.
	;;address of Akamai's edge server
	e8091.b.akamaiedge.net.            IN    A      184.28.15.181
            ]]></artwork>
			</figure>
			
			<t>The CDN decision can vary from one request to another, for a different scenario where
			the Multi-CDN provider redirects the request to a different CDN provider, Highwinds.</t>
			<figure align="left">
				<artwork align="left"><![CDATA[
	@69.28.180.4:53[flipd.cedexis.net.]
	;;Question
	2-01-2f1f-0001.cdx.cedexis.net.    IN    A
	
	;;Answer
	;;redirected to Highwinds CDN
	2-01-2f1f-0001.cdx.cedexis.net.    IN    CNAME  vip0x07f.ssl.hwcdn.net. 
            ]]></artwork>
			</figure>
			
			<t>With the CDNNAME RR type, the example can be configured at the authoritative DNS server side as following:</t>
			<figure align="left">
				<artwork align="left"><![CDATA[
    ;;Zone cut:
    tags.tiqcdn.com.    IN    CDNNAME    vip0x07f.ssl.hwcdn.net.
                        IN    CDNNAME    tags.tiqcdn.com.edgekey.net.
				]]></artwork>
			</figure>
			
    
	</section>
	
	
</middle>
  <!--  *****BACK MATTER ***** -->
  
  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC1035;
      
      &RFC3597;
	  
	  &RFC6672;
	  
	  &RFC2181;
	  
	  &draft-aname;
    </references>

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      &RFC2119;

    </references>

    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
 </rfc>