<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.ripe.net/ripe/docs/current-ripe-documents/guidelines/RSS">
  <title>Guidelines</title>
  <link>http://www.ripe.net</link>

  <description>
    
      
    
  </description>

  

  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2011-09-29T10:10:10Z</syn:updateBase>
        

  <image rdf:resource="http://www.ripe.net/logo.png"/>

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-550"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-542"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-532"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-531"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-508"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-495"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-464"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-430"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-429"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-400"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-393"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-379"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-353"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-352"/>
      
      
        <rdf:li rdf:resource="http://www.ripe.net/ripe/docs/ripe-271"/>
      
    </rdf:Seq>
  </items>

</channel>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-550">
    <title>Final Report of the RIPE Meeting Task Force</title>
    <link>http://www.ripe.net/ripe/docs/ripe-550</link>
    <description>The RIPE Meeting Task Force (TF) was set up in 2010 with the purpose of looking at how RIPE Meetings were run, surveying the attendees and producing a range of suggestions on how the meetings could be improved. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>The RIPE Meeting Task Force (TF) was set up in 2010 with the purpose of looking at how RIPE Meetings were run, surveying the attendees and producing a range of suggestions on how the meetings could be improved. The first step was to work with the EOF Coordination group to introduce some new ideas directly to RIPE Meetings, while planning a survey for current and ex-RIPE Meeting attendees. <br /> <br /> At RIPE 61 in Rome, the first steps were taken with increased Birds of a Feather (BoF) and workshop material provided for the EOF. The TF was announced to the meeting and a call was made for input. Shortly after RIPE 61, the survey was launched. <br /> <br /> There were numerous outputs from the meeting survey but the following were considered highlights: <br /> - In general, those surveyed were very happy with the meetings<br /> - A call for more technical content at meetings <br /> - More BoFs, workshops and panel sessions<br /> - Submitting content needed to be easier <br /> - Meeting agendas needed to be available earlier <br /> <br /> This data was presented first to the RIPE Working Group (WG) Chairs and then to the community at RIPE 62. The largest part of the plan for the future was the creation of a formally structured RIPE Programme Committee (PC) to take over from the loose EOF Coordination collective and to organise content for the plenary section of the RIPE Meeting. <br /> <br /> This PC was put in place for RIPE 63 and proved to be a huge success, leading to a full charter and further formalisation of the structure leading to <a class="external-link" href="http://www.ripe.net/ripe/docs/ripe-531">RIPE document 531</a>. <br /> <br /> Other recommendations were made to the WG Chairs collective for their consideration such as whether WGs always need to meet, how many sessions each WG is allocated and justifying the number of slots. The TF also proposed there should be a formal process to periodically review each WG and, if necessary, wind it up. A procedure should be developed so that WG Chairs undergo some form of regular re-election or endorsement every 3-5 years. <br /> <br /> Given the completion of the survey and the introduction of the Programme Committee, along with a number of smaller changes to RIPE Meetings, it was decided that the TF had completed the work as initially scoped. It was acknowledged by the WG Chairs that further work would be required to address other issues, but that a new TF should be set up to handle this as it is not purely concerned with RIPE Meetings. <br /> <br /> The TF will formally close at RIPE 64.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Marita Phelan</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ripe task forces</dc:subject>
    
    <dc:date>2012-04-24T10:55:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-542">
    <title>Working Group Chair Job Description and Procedures</title>
    <link>http://www.ripe.net/ripe/docs/ripe-542</link>
    <description>ripe-542: Working Group Chair Job Description and Procedures</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } -->
<p><b>1. Introduction</b></p>
<p>The purpose of this document is to describe the role, responsibility and expectations associated with RIPE Working Group (WG) Chairs.</p>
<p> </p>
<p>The document is divided into the following sections:</p>
<ul>
<li>
<p>WG chairs and co-chairs</p>
</li>
<li>
<p>Creating WG charters</p>
</li>
<li>
<p>Updating WG charters</p>
</li>
<li>
<p>Policy Development Process (PDP) responsibilities</p>
</li>
<li>
<p>RIPE Meeting responsibilities</p>
</li>
</ul>
<p> </p>
<p><b>2. Working Group Chairs and Co-Chairs<br /></b></p>
<p>WG chairs and co-chairs should always make it clear whether they speak on behalf of themselves, the organisations they work for or the WG for which they are chair or co-chair.</p>
<p>RIPE WGs have two different ways of dividing up the responsibilities of the WG chair(s): WG Chair Model and Equal Co-Chair Model. The model that is used depends upon the specific needs, history and set-up of a particular WG.</p>
<p> </p>
<p>i) WG Chair Model</p>
<p>In this model, a WG chair has overall responsibility for the WG and can be supported by co-chairs. These co-chairs can assist with general WG support and can deputise for the WG chair if he/she is not able to attend a RIPE Meeting.</p>
<p> </p>
<p>ii) Equal Co-Chair Model</p>
<p>In this model, the co-chairs share the responsibility for RIPE Policy Development Process (PDP) and RIPE Meeting activities. The co-chairs act together to make any formal statements (for example on policy development) that are relevant to their WG. For each RIPE Meeting, one of the co-chairs serves as the primary contact for the WG and for session organisational matters.</p>
<p> </p>
<p>The number of chairs and co-chairs of each WG should not exceed three (3).</p>
<p> </p>
<p><b>3. Creating Working Group Charters</b></p>
<p>i) Working Group created from a Task Force</p>
<p>A WG usually emerges from a Task Force. In this case, the procedure for creating the WG Charter is as follows:</p>
<p>The head of the Task Force creates the charter for the new WG in consultation with other members of the Task Force. Once this has been agreed, and approved by the RIPE Chair, the charter for the new WG is officially recognised.</p>
<p> </p>
<p>ii) New Working Group Emerging from an Existing WG</p>
<p>If a new WG emerges from an existing WG, then the chairs and co-chairs of both the new and existing WG should draw up the charter for the new WG. Once this has been agreed, and approved by the RIPE Chair, the charter for the new WG is officially recognised.</p>
<p> </p>
<p><b>4. Updating Working Group Charters</b></p>
<p>If a WG Chair needs to update the WG charter, he/she needs to have the text approved by the WG co-chairs before presenting the revised charter to the WG for their approval via the WG mailing list and/or at a RIPE Meeting.</p>
<p> </p>
<p><b>5. Policy Development Process (PDP) Responsibilities</b></p>
<p>WG Chairs are expected to:</p>
<ul>
<li>
<p>Stay up-to-date with all phases of a policy proposal relevant to their WG</p>
</li>
<li>
<p>Follow discussions on the relevant WG mailing list(s)</p>
</li>
<li>
<p>Guide mailing list discussions as appropriate</p>
</li>
<li>
<p>Take charge of PDP milestone decisions relevant to their WG</p>
</li>
<li>
<p>Ensure PDP milestone decisions keep to the timeframe as described in the document <b>“Policy Development Process in RIPE” (ripe-500) </b></p>
</li>
<li>
<p>Make a collective, final decision supported by a reasonable level of awareness as to whether a particular policy proposal has received consensus</p>
</li>
<li>
<p>Inform the RIPE NCC when a policy proposal has received consensus and should become a RIPE Document</p>
</li>
</ul>
<p><i>Note – In a WG with an equal co-chair model [see 2(i)], these responsibilities are shared between the co-chairs.</i></p>
<p> </p>
<p><b>6. RIPE Meetings Responsibilities</b></p>
<p>i) General/Plenary</p>
<p>WG Chairs are expected to:</p>
<ul>
<li>
<p>Attend RIPE Meetings or <b>ensure that a co-chair attends the meeting</b></p>
</li>
<li>
<p>Lead a Plenary session as agreed in advance of the meeting and pass on any action points that are decided in this Plenary session to the relevant WG</p>
</li>
</ul>
<p><i>Note – In a WG with an equal co-chair model [see 2(i)], these responsibilities are shared between the co-chairs.</i></p>
<p> </p>
<p>ii) Working Group Specific</p>
<p>WG chairs are expected to:</p>
<ul>
<li>
<p>Solicit relevant presentations for the WG session</p>
</li>
<li>
<p>Post a draft agenda for their WG session (at least 2-3 weeks before a RIPE Meeting where possible)</p>
</li>
<li>
<p>Lead the WG session and encourage active participation</p>
</li>
<li>
<p>Review and approve the minutes from their WG session (4-6 weeks)</p>
</li>
<li>
<p>Attend WG chair lunches during RIPE Meetings</p>
</li>
<li>
<p>Attend WG chair meetings between RIPE Meetings</p>
</li>
<li>
<p>Update the action list of their WG after the RIPE Meeting</p>
</li>
<li>
<p>Approach the RIPE Chair and the EOF Coordinator with any requests to fund a speaker’s attendance at a RIPE Meeting. If the request for funding is deemed appropriate by the RIPE Chair and the EOF Coordinator, the RIPE Chair will request funding from the RIPE NCC Managing Director. The RIPE NCC Managing Director may or may not approve such a request at his own discretion.</p>
</li>
</ul>
<p><i>Note – In a WG with an equal co-chair model [see 2(i)], one co-chair takes overall responsibility for these activities at a particular RIPE Meeting.</i></p>
<p> </p>
<p><i><br /></i></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Marita Phelan</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-12-22T16:30:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-532">
    <title>RIPE Routing Working Group Recommendations on IPv6 Route Aggregation</title>
    <link>http://www.ripe.net/ripe/docs/ripe-532</link>
    <description>ripe-532: RIPE Routing Working Group Recommendations on IPv6 Route Aggregation</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { so-language: zxx } -->
<p>1. <a class="anchor-link" href="#----introduction">Introduction</a></p>
<p>2. <a class="anchor-link" href="#----background">Background</a></p>
<p>3. <a class="anchor-link" href="#----recommendation">Recommendation</a></p>
<p>4. <a class="anchor-link" href="#----discussion">Discussion</a></p>
<p> </p>
<p><b><a name="----introduction"></a>Introduction</b></p>
<p>Recent discussion has shown there is a limited requirement to be able to advertise more specific prefixes from an IPv6 Provider Aggregatable (PA) allocation where a Local Internet Registry (LIR) contains several networks which are not interconnected, or for traffic engineering purposes. This document recommends such advertisements are limited in both length and scope. It is intended to supplement the working group's Recommendations on Route Aggregation [<span><span><a href="http://www.ripe.net/ripe/docs/routing-recommendations">RIPE-399</a></span></span>].</p>
<p> </p>
<p><b><a name="----background"></a>Background</b></p>
<p>The IPv6 address allocation and assignment policy for the RIPE NCC Service Region [<span><span><a href="http://www.ripe.net/ripe/docs/ipv6-policies%20">V6-ALLOC</a></span></span>] only allows LIRs to obtain more than the minimum PA allocation if they can demonstrate address utilisation that requires it. This fits with the address space management principle of conservation. However, as understood in the RIPE Routing Working Group's Recommendations on Route Aggregation [RIPE-399], there are occasionally requirements for the advertisement of more specific routes from within an allocation. With a few ISPs currently filtering at the minimum PA allocation (/32) within the relevant address ranges, this can cause significant difficulties for some networks wishing to deploy IPv6.</p>
<p>Some reasons for wanting to advertise multiple prefixes from a PA allocation could be:</p>
<ul>
<li>
<p>The LIR has several networks that are not interconnected.</p>
</li>
<li>
<p>Traffic engineering: A single prefix that covers an LIR's entire customer base may attract too much traffic over a single peering link.</p>
</li>
</ul>
<p>This document is only concerned with IPv6 Provider Aggregatable (PA) allocations, and does not discuss Provider Independent (PI) prefixes which are unlikely to be divisible beyond the default assignment of /48.</p>
<p> </p>
<p><b><a name="----recommendation"></a>Recommendation</b></p>
<p>It is suggested that prefix filters allow for prudent subdivision of an IPv6 allocation. The operator community will ultimately decide what degree of subdivision is supportable, but the majority of ISPs accept prefixes up to a length of /48 within PA space.</p>
<p>Advertisement of more specific prefixes should not be used unless absolutely necessary and, where sensible, a covering aggregate should also be advertised. Further, LIRs should use BGP methods such as NO_EXPORT [<span><span><a href="http://www.rfc-editor.org/rfc/rfc1997.txt">RFC-1997</a></span></span>] and NOPEER [<span><span><a href="http://www.rfc-editor.org/rfc/rfc3765.txt">RFC-3765</a></span></span>] or provider-specific communities, as described in <span><span><a href="http://www.ripe.net/ripe/docs/routing-recommendations">RIPE-399</a></span></span> to limit the propagation of more specific prefixes in the routing table.</p>
<p>Operators should register appropriate "route6" objects in their preferred routing registry, or ROAs in the RPKI, to reflect any more specific advertisements.</p>
<p> </p>
<p><b><a name="----discussion"></a>Discussion</b></p>
<p>There is a valid need for some LIRs to advertise more than one IPv6 PA prefix. As either obtaining more address space and advertising more /32 prefixes, or advertising more specific prefixes within an already allocated /32 have the same impact on the routing table, it is suggested that the latter approach is taken to prevent address space wastage.</p>
<p>It is understood that this may not cover all possibilities. There may be circumstances where sites will have to consider the suitability of Provider Independent addresses, or LIRs may have to consider mechanisms of obtaining more than a /32 of Provider Aggregatable space.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Marita Phelan</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2011-11-07T11:55:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-531">
    <title>Charter of The RIPE Programme Committee</title>
    <link>http://www.ripe.net/ripe/docs/ripe-531</link>
    <description>ripe-531: Charter of The RIPE Programme Committee</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<!-- p { margin-bottom: 0.08in; } -->
<p>The RIPE Programme Committee (PC) is responsible for</p>
<ul>
<li>
<p>ensuring that the RIPE Meeting programme consists of interesting, relevant and inspiring content</p>
</li>
<li>
<p>planning and all content at RIPE Meetings other than RIPE Working Groups</p>
</li>
<li>
<p>the timely publication of the RIPE Meeting agenda</p>
</li>
</ul>
<p><br />The Programme Committee works by consensus.<br /><br /><b>Composition and Roles </b><br /><br />The PC will consist of up to eight appointed individuals:</p>
<ol>
<li>
<p>Four community representatives selected by participants at-large at RIPE Meetings;</p>
</li>
<li>
<p>One appointed by the RIPE WG Chairs;</p>
</li>
<li>
<p>One appointed by the MENOG Programme Committee;</p>
</li>
<li>
<p>One appointed by the ENOG Programme Committee;</p>
</li>
<li>
<p>One appointed by the local host, where appropriate.<br /><br />The member appointed by the RIPE WG Chairs act as the liaison between the RIPE WG Chairs, the RIPE PC and the RIPE Chairman.<br /><br />Those members appointed by the Network Operations Groups (NOGs) act as liaisons between their own Programme Committees and the RIPE PC, and also represent their region generally.<br /><br />A local host representative may be co-opted by the PC in consultation with the organisation hosting a RIPE Meeting. They should be well known to the local community and provide a liaison between them and the PC.<br /><br />In addition to the appointed members, the PC has the discretion to co-opt individuals whenever expert or local knowledge would help to plan the agenda for a RIPE Meeting. Such individuals co-opted on to the PC serve only until the meeting that required their co-option takes place.<br /><br />The PC members select a Chair who oversees the work of the PC: scheduling its meetings, issuing calls for papers, co-opting members, etc.<br /><br />The RIPE NCC appoints a permanent, non-voting observer to the PC to provide any co-ordination functions which may be required.<br /><br /><b>Appointment of and Terms of Service for Programme Committee Members </b><br /><br />Four members of the PC selected by participants at-large at RIPE Meetings (a above) serve a term of four consecutive RIPE Meetings. Each such member is elected for a four meeting term at each RIPE Meeting, through a deliberate process by attendees of the RIPE Meeting.<br /><br />Community-appointed members of the PC (a above) serve a maximum three consecutive terms. For these members appointed by the NOGs and WG Chairs (b-d above), each group will decide how it selects its PC appointee.</p>
</li>
</ol>
<p><br /><b>Responsibilities and Expectations for Programme Committee Members</b><br /><br />PC members are expected:</p>
<ul>
<li>
<p>To stay aware of the topics that address the needs and interests of the RIPE community.  This usually assumes regular attendance of RIPE Meetings and tracking issues discussed by the global technical community.</p>
</li>
<li>
<p>To actively seek content that is relevant and interesting to the RIPE community. This includes reaching out to presenters of interesting talks, people involved in projects, research or other activities that may be of interest to the community.</p>
</li>
<li>
<p>To actively participate in forming the plenary programme of the RIPE Meeting. This implies active participation in the PC activities (teleconferences, on-site meetings, reviews, etc.) and working towards reaching consensus on decision points.</p>
</li>
</ul>
<p><br />The RIPE Programme Committee can be contacted at: pc [at] ripe [dot] net.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>alix</dc:creator>
    <dc:rights></dc:rights>
    <dc:date>2012-01-23T13:40:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-508">
    <title>The RIPE Registry</title>
    <link>http://www.ripe.net/ripe/docs/ripe-508</link>
    <description>This document describes the RIPE Registry and its history.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Abstract</h2>
<p>This document describes the RIPE Registry and its history.</p>
<h2>Purpose of the RIPE Registry</h2>
<p>The RIPE NCC keeps a comprehensive record of all Internet number resources registered within the RIPE NCC service region to ensure that  each Resource Holder holds unique and legitimate Internet Protocol (IP)  address space and Autonomous System Numbers (ASNs). The collective of  this data is generally referred to as the "RIPE Registry".</p>
<h2>Historical Background</h2>
<p>Throughout the history of the Internet, the Internet Assigned Numbers  Authority (IANA) has been the primary authority to allocate and assign  numeric identifiers required for operation of the Internet. In 1990, the  term "Internet Registry (IR)" was defined by the Internet Engineering  Task Force (IETF) in [<a href="http://www.rfc-editor.org/rfc/rfc1174.txt">RFC 1174</a>]  as "the organisation which has the responsibility for gathering and  registering information about networks to which identifiers (network  numbers, autonomous system numbers) have been assigned by the IR".</p>
<p>At the time [<a href="http://www.rfc-editor.org/rfc/rfc1174.txt">RFC 1174</a>] was written, SRI International served as the sole IR for the IANA.</p>
<p><b>It was recommended in [<a class="external-link" href="http://www.rfc-editor.org/rfc/rfc1174.txt">RFC 1174</a>] that:</b></p>
<p style="padding-left: 30px; ">Under this proposal, the IR would be charged with the registration and administration of the Internet number space but not with the enforcement of policy. The IR should collect enough information to permit network administrators to make intelligent decisions as to the acceptability of traffic destined to or from each and every legitimate Internet number [...] At a later step, we anticipate that it will be desirable to distribute the IR function among multiple centres on different continents.</p>
<p>Shortly after the IETF identified the need to distribute the IR function, the RIPE community published [<a href="ftp://ftp.ripe.net/ripe/docs/ripe-019.txt">ripe-19</a>]  (16 September 1990), a document that proposed that a network  coordination centre be formally established to, among other things, take  on the role as Regional Internet Registry (RIR) in Europe. The RIPE  Network Coordination Centre's (NCC) first activity plan was published  the following year on 5 May 1991 [<a href="ftp://ftp.ripe.net/ripe/docs/ripe-035.txt">ripe-35</a>].</p>
<p>The following year, the IETF published [<a class="external-link" href="http://www.rfc-editor.org/rfc/rfc1366.txt">RFC 1366</a>], dated October  1992, proposing a plan for a systematic approach to allocate Internet number resources globally. It was in this document that the criteria for  a regional registry were established:</p>
<p>a) Networking authorities within the geographic area legitimise the organisation;</p>
<p>b) The organisation is well established and has legitimacy outside of the registry function;</p>
<p>c) The organisation will commit appropriate resources to provide stable, timely, and reliable service to the geographic region;</p>
<p>d) The commitment to allocate IP numbers according to the guidelines established by the IANA and the IR;</p>
<p>e) The commitment to coordinate with the IR to establish  qualifications and strategies for sub-allocations of the regional  allocation.</p>
<p>Having met the criteria to become an RIR, and with the endorsement of  the RIPE community, the RIPE NCC was authorised by the IANA to take on  this role in the service region of Europe, the Middle East, parts of  Central Asia and North Africa. The RIPE NCC service region was redefined  to exclude North Africa when AfriNIC, the fifth RIR, was formed in  2004.</p>
<p>The responsibility for record keeping covers Internet number resources allocated to the RIPE NCC by the IANA, as well as Internet number resources that were distributed in the RIPE NCC region by the  IANA prior to the RIPE NCC's existence. These resources are known as  Early Registration Transfers (ERX), or legacy space.</p>
<p>The base set of operational guidelines that Regional Internet Registries are required to follow is documented in [<a href="http://www.rfc-editor.org/rfc/rfc2050.txt">RFC 2050</a>], dated November 1996. These guidelines include:</p>
<p>Registration: Provision of a public registry documenting address  space allocation and assignment. This is necessary to ensure uniqueness  and to provide information for Internet trouble shooting at all levels.</p>
<h2>Data in the RIPE Registry</h2>
<p>The RIPE Registry contains a set of registration data for all  Internet number resources administered by the RIPE NCC. Information must  include:</p>
<ul>
<li>The number resource or range of number resources</li>
<li>Status of Internet number resource. This is one of:             
<ul>
<li>Allocated</li>
<li>Legacy </li>
<li>Unallocated </li>
<li>Reserved</li>
</ul>
</li>
<li>Date of last status change</li>
</ul>
<p>In case the Status is either "Allocated" or "Legacy", the following information is also mandatory:</p>
<ul>
<li>Full legal name of Resource Holder</li>
<li>Full address of Resource Holder</li>
<li>Contact information for matters of an administrative nature, and  for matters of a technical nature. This information consists of an email  address and a telephone number</li>
</ul>
<p>If the status is "Reserved", the reason for the reservation must be  noted in the Registration (e.g. a reference to a RIPE policy document).</p>
<p>As registration data may change over time, the RIPE NCC also keeps a history of changes in the Registry.</p>
<p>The RIPE Database provides access to the public data of the Registry.  Note that this database contains additional data that is not part of  the Registry, and is defined by separate RIPE policies.</p>
<h2>Responsibilities</h2>
<p>The RIPE NCC has the responsibility for keeping the Registry comprehensive, correct and up-to-date. To do this, the RIPE NCC relies on Resource Holders to supply data that pertains specifically to the Resource Holder, as documented in the RIPE NCC Standard Services Agreement [<a href="ripe-435.html">ripe-435</a>] and/or the Independent Assignment Request and Maintenance Agreement [<a href="ripe-462.html">ripe-462</a>]. For holders of legacy resources this responsibility is derived from the original allocation by the IANA Internet Registry.</p>
<h2>Terminology in this Document</h2>
<p><b>Internet number resources</b>: IPv4 addresses, IPv6 Addresses and Autonomous System Numbers.</p>
<p><b>Registration</b>: The documentation of Internet number resources within the RIPE NCC service region.</p>
<p><b>Resource Holder</b>: An organisation or individual that has been allocated Internet number resources in the RIPE NCC service region.</p>
<h2>Further Reading</h2>
<p>[<a class="internal-link" href="resolveuid/bbb27fc1d1245a374b7a6da73f309a66">ripe-495</a>] Blokzijl, R., Karrenberg, D., "Principles for Number Resource Registration Policies", July 2010.</p>
<h2><b>References</b></h2>
<p>[<a class="external-link" href="http://www.rfc-editor.org/rfc/rfc1174.txt">RFC 1174</a>] Cerf, V., "IAB Recommended Policy on Distributing Internet Identifier Assignment and IAB Recommended Policy Change to Internet 'Connected' Status", August 1990.</p>
<p>[<a class="internal-link" href="resolveuid/d33301e2f55bc610b1ef1aad5cec299c">ripe-19</a>]  Blokzijl, R., Devillers, Y., Karrenberg, D., Volk, R., "RIPE Network Coordination Centre", 16 September 1990.</p>
<p>[<a class="internal-link" href="resolveuid/288e9fdd31b85ad7d311cd8b4bd35dae">ripe-35</a>]  Blokzijl, R., "RIPE NCC Activity Plan", 5 May 1991.</p>
<p>[<a class="external-link" href="http://www.rfc-editor.org/rfc/rfc1366.txt">RFC 1366</a>] Gerich, E., "Guidelines for Management of IP Address Space", October 1992.</p>
<p>[<a class="external-link" href="http://www.rfc-editor.org/rfc/rfc2050.txt">RFC 2050</a>] Hubbard, K., Kosters, M., Conrad, D., Karrenberg, D., Postel, J., "Internet Registry IP Allocation Guidelines", November 1996.</p>
<p>[<a class="internal-link" href="resolveuid/e3064a690e682cd9690ffa141cfa42fd">ripe-435</a>] RIPE NCC, "RIPE NCC Standard Service Agreement", August 2008.</p>
<p>[<a class="internal-link" href="resolveuid/9d8aa346e5ac85ddbaf5c6187afae22e">ripe-462</a>] RIPE NCC, "End User Assignment Agreement", February 2009.<br /><br /></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>adrian</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ripe ncc</dc:subject>
    
    
      <dc:subject>ripe</dc:subject>
    
    <dc:date>2011-01-10T10:15:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-495">
    <title>Principles for Number Resource Registration Policies</title>
    <link>http://www.ripe.net/ripe/docs/ripe-495</link>
    <description>This document sets out the principles for IPv4 address registration after the unallocated pool of addresses has run out. The purpose of this document is to expose the thinking of the authors, and encourage a discussion in the community.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>1. Scope of This Document</h2>
<p>This document sets out the principles for IPv4 address registration after the unallocated pool of addresses has run out. The purpose of this document is to expose the thinking of the authors, and encourage a discussion in the community.</p>
<p>This is not a policy proposal. Once there is community consensus about these principles, the authors intend to instigate the development of appropriate policies.</p>
<h2>2. History</h2>
<p>From the very first RIPE Meeting in 1989 the need for a registry has been identified. In the early years of RIPE this consisted of documenting the use of IPv4 address space in the RIPE region on a voluntary basis. The actual address space was not distributed by RIPE.</p>
<p>From August 1992 the new RIPE NCC started distributing address space in the RIPE region. These allocations were done following rules agreed upon by the RIPE community. Over the years these rules - or policies as we now call them - have evolved based on the principle of distributing unallocated resources. While the vast majority of the policies deal with distribution of address space, some of them deal with registration.</p>
<p>Allocations made by the RIPE NCC have always been documented in the   registry by the RIPE NCC and the Local Internet Registries (LIRs).</p>
<p>In the foreseeable future there will be no more unallocated address   space. However, the authors believe that the need for an accurate   registry will remain.</p>
<h2>3. The Need for New Registration Policies</h2>
<p>Current registration policies are part of much wider distribution   policies. In the near future the unallocated pool will have run out.   Therefore the whole set of distribution policies will become historic.   However, the registry will still remain and the authors expect that the   community will still find it useful.</p>
<p>There will be a continued need for registration policies. Rather than changing the current policy documents by removing the parts relating to address space distribution, the authors suggest to produce a registration policy document that reflects the new situation.</p>
<h2>4. Purpose of the Registry</h2>
<p>At the root of any policy about the resource registry lies the purpose   of the registry. Therefore we briefly enumerate the diverse purposes of   the RIPE registry below.</p>
<p>The RIPE NCC address registry serves two purposes:</p>
<ol>
<li> A comprehensive public recording of the address space     for which the RIPE NCC has administrative responsibility.     This concerns both address space allocated by the RIPE NCC     and address space allocated by others and transferred to     the administrative responsibility of the RIPE NCC.<br /> <br /> </li>
<li> A comprehensive public recording of the current holders     of the address space.</li>
</ol>
<p> </p>
<p>Transparency and accountability about the administration of Internet   number resources has always been very important. Publication of the   registry is an essential element of this transparency and accountability.</p>
<p>The registry plays an important part in the operational coordination   between Internet operators.</p>
<p>Other applications of the registry are numerous and are not defined by   the RIPE NCC.</p>
<h2>5. Properties of the Registry</h2>
<p>In order to serve its purpose, the registry must have the following   properties:</p>
<ul>
<li> Comprehensive:   The registry has to cover all address space     the RIPE NCC is responsible for without exceptions.</li>
<li> Current:         The registry must be kept up to date.</li>
<li> Correct:       The registry must correctly document the holder of the address space.</li>
</ul>
<p>Note that we describe the properties of the registry and not possible services based upon the registry. One example of this would be a global look-up service across all RIRs.</p>
<h2>6. Incentives and Disincentives</h2>
<p>The registry can only serve its purpose with active participation of the   holders of Internet number resources - the registrants. Any policy must consider incentives and disincentives for registrants to participate.</p>
<p><b>Here are a few examples:</b></p>
<h3>Incentives:</h3>
<ul>
<li> Publicly document that the registrant is the rightful user.     This is one of the safeguards against hijacking.</li>
<li> All address space will be registered, irrespective of     current or past allocation policies.</li>
<li> The registry benefits the whole Internet community.</li>
</ul>
<h3>Disincentives:</h3>
<ul>
<li> Privacy concerns. Concerns about revealing too much personal     data in a publicly available registry need to be addressed.</li>
<li> Commercial confidentiality. Registrants may be concerned about     the registry revealing too much about their commercial activities. These concerns need to be addressed.</li>
<li> Cost. The cost should not be unreasonable in relation to the benefits for the Internet community.</li>
</ul>
<h2>7. What the Registry is Not</h2>
<p>The registry is an address registry. It does not constitute a directory   of Internet Service Providers (ISPs), neither does it license ISPs.</p>
<p>The registry is not the instrument to implement policies concerning   access to, and routing over, the Internet.</p>
<h2>8. Conclusion</h2>
<p>The authors believe that the RIPE community needs to develop   registration policies for the IPv4 address space. This document   presents some initial thoughts on the registry. We encourage RIPE to   discuss the principles for a registry.</p>
<p>Once the principles are clear and accepted, RIPE should develop policies   that define registration services.</p>
<p>Though this document has been developed with IPv4 addresses in mind, the   authors are of the opinion that in general a separation between   distribution and registration policies should be made for all Internet   number resources. Ideally, one registration policy should be applicable   to all resources.</p>
<h2>
<p> </p>
</h2>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ipv4 depletion</dc:subject>
    
    
      <dc:subject>ipv4</dc:subject>
    
    <dc:date>2010-07-08T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-464">
    <title>Report of the RIPE Enhanced Cooperation Task Force</title>
    <link>http://www.ripe.net/ripe/docs/ripe-464</link>
    <description>This document has been produced by the RIPE Enhanced Cooperation Task Force to explain how the existing structures of Internet governance evolved and why these structures are uniquely suited to facilitate ongoing development and innovation in the Internet</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2 align="left">Abstract</h2>
<p align="left">This document has been produced by the RIPE Enhanced Cooperation Task Force to explain:</p>
<p align="left">- How the existing structures of Internet governance evolved<br /> - Why these structures are uniquely suited to facilitate ongoing development and innovation in the Internet</p>
<p align="left">With stakeholders outside the traditional Internet community, particularly in the public sector, taking an increasing interest in Internet governance, it is vital that these points be effectively communicated, and that we ensure that innovation and technical development continue. As the "Information Society" considers the future development of Internet governance, "enhanced cooperation" between the RIPE community and these new stakeholders must be a high priority for both the RIPE community and the RIPE NCC.</p>
<hr />
<h2 align="left">Contents</h2>
<h3 align="left">Part I: Introduction To Internet Addressing</h3>
<p align="left"><a href="#chapter1">Chapter 1: Internet Addressing Explained</a></p>
<blockquote>
<p align="left">What is an IP Address?	<br /> IP Addresses and the Domain Name System Distinguished	<br /> IP Addresses and Internet Routing</p>
</blockquote>
<p align="left"><a href="#chapter2">Chapter 2: Address Management Explained</a></p>
<blockquote>
<p align="left">Bottom-Up Coordination</p>
</blockquote>
<p align="left"><a href="#chapter3">Chapter 3: Mechanisms For Address Management </a></p>
<h3 align="left">Part II: How Internet Address Management Is Conducted in the RIPE NCC Service Region</h3>
<p align="left"><a href="#chapter4">Chapter 4: Organisational Structures </a></p>
<blockquote>
<p align="left">RIPE	<br /> RIPE Working Groups<br /> RIPE Task Forces	<br /> RIPE NCC	<br /> Global Coordination<br /> ICANN and IANA</p>
</blockquote>
<p align="left"><a href="#chapter5">Chapter 5: Policy Development And Implementation </a></p>
<blockquote>
<p align="left">Types of Policy	<br /> Address Allocation Policies	<br /> Database Policies	<br /> Best Practice Statements	<br /> The Limits of Addressing Policy	<br /> RIPE Policy Development Process	<br /> RIPE NCC Activity Plan</p>
</blockquote>
<h3 align="left">Part III: Enhanced Cooperation</h3>
<p align="left"><a href="#chapter6">Chapter 6: The Need For Enhanced Cooperation</a></p>
<p align="left"><a href="#chapter7">Chapter 7: Consultation Processes </a></p>
<blockquote>
<p align="left">RIPE Meetings <br /> RIPE NCC Government Relations <br /> RIPE NCC Government Roundtables <br /> Other Processes</p>
</blockquote>
<p align="left"><a href="#chapter8">Chapter 8: Learning Points</a></p>
<blockquote>
<p align="left">What Works <br /> What Doesn't Work <br /> What Is Not Yet Known <br /> Recommendations</p>
</blockquote>
<h2 align="left">Part I: Introduction To Internet Addressing</h2>
<h3 align="left"><a id="chapter1" name="chapter1"></a>Chapter 1: Internet Addressing Explained</h3>
<p align="left"><b>What is an IP Address?</b></p>
<p align="left">At the heart of how the Internet works is the Internet Protocol, the standard according to which different devices communicate. The genius of the Internet Protocol is that when devices use this standard they can connect to each other and exchange information, even if they are completely different kinds of device (such as a personal computer running Windows and a mobile phone), made by different manufacturers, owned by different users and are connected to different networks in different parts of the world. Using the Internet Protocol (also known as <i>IP</i>), truly global interoperability is achieved between highly diverse information processing systems.</p>
<p align="left">In order for one device, such as a PC, to send data to another, it must be possible to identify the destination and distinguish from alternative possible destinations. The Internet Protocol achieves this by saying that each device must have an address, known as an <i>IP address</i>. As the public Internet seeks to achieve global interoperability, each device must have an IP address that is distinct from that for every other device; its address must be <a href="#gu"><i>globally unique</i></a>. If the addresses were not unique (that is, if two or more devices use the same address) then data intended for one physical destination could be mistakenly sent to another. This would not merely result in a loss of confidentiality:  if data is sent randomly to several devices experiencing such an <i>address clash</i> it will generally result in a complete communications malfunction.</p>
<p align="left">Ensuring that each Internet-connected device is capable of being assigned a globally unique IP address is therefore a primary requirement for the successful operation of the Internet.</p>
<p align="left"><b>IP Addresses and the Domain Name System Distinguished</b></p>
<p align="left">IP addresses are the means by which machines identify themselves. In the case of IP version four (<i>IPv4</i>), each address represents a 32-bit number, which is actually displayed as a series of four numbers (each between zero and 255) separated by dots, such as 10.201.57.254. This format is not particularly memorable for humans.</p>
<p align="left">In order to identify a particular location on the Internet (such as a website), humans generally use a different addressing scheme called the <i>Domain Name System</i> (DNS). The DNS contains the addresses that are widely recognised, such as <i>www.example.com</i>. When a human uses a computer and seeks to contact a website using such an address, the computer must first translate the DNS address (which is understood by humans) into an IP address (which is understood my computers).  <i>www.example.com</i> becomes 10.201.57.254.</p>
<p align="left">Both IP addressing and the Domain Name System are critical Internet systems and present important issues for Internet governance. They are, however, quite different systems; they are managed separately and face different issues. This paper is concerned with the management of IP addresses only.</p>
<p align="left"><b>IP Addresses and Internet Routing</b></p>
<p align="left">A machine that accepts data from another device and passes it on towards its ultimate destination using the Internet Protocol is called a <i>router</i>. Internet networks consist of routers, which select paths or <i>routes</i> over which they transmit messages toward their destination.</p>
<p align="left">To transmit a communication across the Internet, the data is first split up into packets. This is true whether the communication is an e-mail or a web page, a voice call or a video stream, or any of the other myriad types of communication that occur on the Internet. Each packet is labelled with the destination IP address, and passed from one router to the next until it reaches its destination, at which point all the packets are reassembled into the format of the original communication. This means that routers do not need to understand the different kinds of higher-level communication that occur on the Internet – to a router, the packets that make up an e-mail appear no different from those that make up a video stream; routers simply need to know how to route Internet packets towards their destination.</p>
<p align="left">A router may be connected to a few or many other routers, but since the Internet spans the world, no router will be directly connected to every other router. It is not possible to be directly connected to more than a tiny proportion of all the routers that exist. An Internet packet will therefore commonly pass through a chain of routers as it moves progressively closer to its destination. The core function of a router is to choose the best nearby router to pass each packet to, so that the packet will reach its destination.</p>
<p align="left"><img alt="4641.gif" class="image-inline" height="112" src="resolveuid/f8ea5825dd84dbdf401c2ae52d38687f" width="370" /></p>
<p align="left">Each router <i>announces or advertises</i> a list of routes it can process, expressed as ranges of IP addresses for which it can provide routing service. Put simply, a router tells its peers, “If you have traffic intended for IP addresses in the range between 192.0.0.1 and 192.5.255.255 (for example), pass me those packets and I can route them onwards.”</p>
<p align="left"><img alt="4642.gif" class="image-inline" height="115" src="resolveuid/65b3502d290c3e498064225ff510082a" width="366" /></p>
<p align="left">This is something of an over-simplification: in practice, a router will often be directly connected to more than one other router capable of reaching a particular destination. There is therefore a communications protocol that routers use, called <i>Border Gateway Protocol</i> (or BGP), which assists routing decisions. This includes helping routers to determine which is the best (shortest) path for a packet to reach its destination.</p>
<p align="left"><img alt="4643.gif" class="image-inline" height="187" src="resolveuid/32b654a801f40f281fcdee3f81aea505" width="376" /></p>
<h3 align="left"><a id="chapter2" name="chapter2"></a>Chapter 2: Address Management Explained</h3>
<p align="left"><b> Bottom-Up Coordination</b></p>
<p align="left">As discussed in <a href="#chapter1">Chapter 1</a>, it is imperative that IP addresses are globally unique. However, IP addresses are just numbers that have been programmed into a computer or other network device as its address. How does the person configuring a new computer with an IP address know which address to use?</p>
<p align="left">In principle, a new device could select any unused IP address and use that. This is slightly complicated by the fact that the device must persuade the router to which it is connected to honour that choice of address, and to announce to its neighbours that it can now route traffic to this new address. And how does the router, or chain of routers, know whether to honour such a new address? In one sense, it doesn’t matter: one IP address is much like another; they’re just numbers and no one address is superior to any other. Accordingly, one might suppose that any such announcement should be honoured.</p>
<p align="left">However, if everyone simply selected their IP address at random, there would inevitably be clashes, and as explained earlier this would destroy the global interoperability of the Internet – data sent across the public Internet would no longer reliably reach its destination. There is therefore a need for IP address users to coordinate amongst themselves so that when configuring a new device they do not select an IP address that is already in use.</p>
<p align="left">The design of the coordination process is called a “bottom-up” process because it is based on the concept that all IP address users can make an active contribution to that process. Every user of IP addresses shares the same interest in ensuring that address conflicts do not occur, and so the community of IP address users comes together in various groups to organise, discuss and make decisions on how the process will work. This is distinguished from “top-down” hierarchies, such as governments or corporations, where an established and recognised authority has the right to determine a policy and to instruct others to carry it out.</p>
<p align="left">Within the geographic region comprising Europe, the Middle East and parts of Central Asia, the name given to the bottom-up community is RIPE (Réseaux IP Européens). The primary purpose of RIPE is to ensure the necessary administrative and technical coordination is achieved. The RIPE Network Coordination Centre (NCC) acts as secretariat to RIPE and carries out the administrative directives of the community.</p>
<p align="left">The RIPE community has determined that it needs to act collectively to prevent IP address space conflicts. This requires mechanisms to facilitate coordination, develop <i>policies</i> for the operation of those mechanisms, institutions to operate those mechanisms in a neutral fashion in accordance with the policy, and processes for the development of new policy and the governance of the institutions. The next chapter discusses these mechanisms, policies, processes and institutions, and explains how these are all derived from and closely tailored to support the requirement to prevent address space conflict.</p>
<h3 align="left"><a id="chapter3" name="chapter3"></a>Chapter 3: Mechanisms For Address Management</h3>
<p align="left">To satisfy the requirement that IP addresses be globally unique, the mechanisms for IP address management must be global in scale. As noted in <a href="#chapter2">Chapter 2</a>, bottom-up policy is coordinated in Europe, the Middle East and parts of Central Asia by RIPE, but there are similar organisations in other geographic regions that play similar roles. These other organisations are:</p>
<ul>
<li>
<div align="left">AfriNIC: Africa</div>
</li>
<li>
<div align="left">APNIC: Asia Pacific</div>
</li>
<li>
<div align="left">ARIN: North America</div>
</li>
<li>
<div align="left">LACNIC: Latin America and the Caribbean</div>
</li>
</ul>
<p align="left">As well as acting as a forum for policy decision-making, these organisations perform the function of <i>Regional Internet Registries</i> (RIRs). RIRs have two vital tasks:</p>
<ol>
<li>
<div align="left">To distribute IP addresses to their regional community according to the policies developed by that community</div>
</li>
<li>
<div align="left">To maintain a publicly available registry of which addresses have been allocated for use in that region, and to whom</div>
</li>
</ol>
<p align="left">Under the first task, RIRs are designated as the "gatekeepers" of IP addressing, though they act on the instruction of the community members to whom they distribute addresses.</p>
<p align="left">The second task is equally important, however, in providing the coordination to prevent address space conflict. Registries, known as "whois" databases, are maintained by each of the RIRs. The whois database maintained by the RIPE NCC is called the RIPE Network Management Database, which is generally shortened to the <i>RIPE Database</i>.</p>
<p align="left">As well as IP addresses, a whois database contains the names of organisations or customers to whom the addresses have been allocated, and related Points of Contact (POC). They also contain registration information for Autonomous System (AS) Numbers, a separate numbering system used in network-to-network routing.</p>
<p align="left">Coordinated IP address distribution and publicly available databases of address registration information are important factors in the effort to ensure global uniqueness of addresses. The bottom-up coordination of such infrastructure, however, involves a variety of organisational structures, which vary from region to region. Part II of this document looks at these structures and how they operate in the RIPE NCC service region.</p>
<h2 align="left">Part II: How Internet Address Management Is Conducted in the RIPE NCC Service Region</h2>
<h3 align="left"><a id="chapter4" name="chapter4"></a>Chapter 4: Organisational Structures</h3>
<p align="left">Implicit in the adoption of bottom-up coordination is the understanding that all members of the Internet community must have the opportunity to participate in the development of IP address management policies.</p>
<p align="left"><b>RIPE</b></p>
<p align="left">As discussed in <a href="#chapter2">Chapter 2</a>, the Internet community in Europe, the Middle East and parts of Central Asia is represented by RIPE, a collaborative forum open to all parties interested in wide area IP networks in the region and beyond. Importantly, there are no membership requirements for participation in RIPE, and no membership fees; its activities are performed on a voluntary basis, with decisions made by community consensus.</p>
<p align="left">RIPE conducts its coordination activities through a number of smaller bodies.</p>
<p align="left"><b>RIPE Working Groups</b></p>
<p align="left">The majority of work done under the auspices of the RIPE community is carried out in working groups. Each <i>working group</i> focuses on a specific topic or area of interest, and each has one or more mailing lists where relevant topics and questions are discussed. They also hold face-to-face meetings twice a year, as part of RIPE Meetings.</p>
<p align="left">As with RIPE generally, membership of these working groups is open and, for the most part, non-formal (though there are formally appointed Chairs and Co-chairs). New working groups can be formed with the consensus agreement of the RIPE community (or can close down if their area of interest ceases to be of relevance to the community), but they are designed to be ongoing forums for discussion.</p>
<p align="left"><b> RIPE Task Forces</b></p>
<p align="left">RIPE Task Forces, on the other hand, are designed to complete a specific task or set of tasks. A task force is established by the RIPE community and is given a specific directive and timeframe. At the conclusion of its task, a task force will generally disband.</p>
<p align="left">Anyone with an interest can volunteer, but the number of participants is usually limited, depending on the nature of the task. The outcome of a task force generally takes the form of a report with specific recommendations. These recommendations will be discussed by the RIPE community, and implemented if consensus can be reached.</p>
<p align="left"><b> RIPE NCC</b></p>
<p align="left">The decisions and policies of the RIPE community are enacted through its secretariat, the RIPE NCC, which is an independent, not-for-profit organisation. As discussed in <a href="#chapter3">Chapter 3</a>, the RIPE NCC also acts as the Regional Internet Registry (RIR), providing Internet resources (IPv4 and IPv6 addresses and AS Numbers) and related services to members in the RIPE NCC service region.</p>
<p align="left">The RIPE NCC is funded by its membership, which is a subset of the RIPE community, specifically those community members who have obtained resources from the RIPE NCC. These members are referred to as <i>Local Internet Registries</i> (LIRs) and they are generally Internet Service Providers (ISPs), telecommunication organisations and large corporations with significant presence in the region.</p>
<p align="left"><b> Global Coordination</b></p>
<p align="left">The nature of the Internet means that there are many challenges whose solutions require global coordination. The RIPE community and the RIPE NCC offer a channel through which global discussion can be conducted, and global agreements reached when necessary.</p>
<p align="left">These discussions happen in many ways, both formal and informal, and there are well-established processes within the RIR system for the development and implementation of global policies. Such policies require discussion and consensus agreement in all RIR service regions.</p>
<p align="left">All of the RIRs are also members of the <i>Number Resource Organization</i> (NRO), a body through which they formalise their cooperative efforts. This can be useful when communicating and coordinating with other Internet organisations, or when engaging parties outside the traditional Internet community (for instance, the NRO has participated in the <i>World Summit on the Information Society</i> (WSIS) and <i>Internet Governance Forum</i> (IGF) processes).</p>
<p align="left"><b>ICANN and IANA</b></p>
<p align="left">It is also through the RIRs (and sometimes the NRO) that the Internet community communicates with and participates in the "top level" of Internet coordination.</p>
<p align="left">The <i>Internet Assigned Numbers Authority</i> (IANA) is a high-level body responsible for coordinating some of the key elements of the global Internet. Its responsibilities relate to some aspects of domain names, number resources and protocol assignments. The IANA is currently operated as one of the activities of the <i>Internet Corporation for Assigned Names and Numbers</i> (ICANN), an internationally-organised non-profit organisation mainly responsible for the stability of the DNS.</p>
<p align="left">The IANA is responsible for the stewardship of the remaining pool of unallocated addresses. As such, the IANA distributes IP addresses to the RIRs. The global policies under which this distribution occurs are decided within the policy setting forums provided by ICANN, with input from a wide range of stakeholders. The RIRs in turn distribute those addresses to their communities.</p>
<p align="left">The RIRs contribute to these processes both through direct communication with ICANN and IANA representatives at meetings around the world and through more formal relationships. The <i>NRO Number Council</i>, a body made up of three community members from each RIR service region, also fulfils the role of the <i>Address Supporting Organization</i> (ASO) <i>Address Council</i>, whose main tasks include overseeing recommendations on global IP address policy and the appointment of several Directors to the ICANN Board of Directors.</p>
<h3 align="left"><a id="chapter5" name="chapter5"></a>Chapter 5: Policy Development And Implementation</h3>
<p align="left">While policies guiding the management of IP addressing are vital to the successful operation and development of the Internet, it does not follow that the same policies will be appropriate in all regions. Different economic, geographic and historical factors mean that the requirements of the Internet community in each region can be very different.</p>
<p align="left">For this reason, Internet policies of various kinds are agreed on at a regional level by the Internet community, and implemented by the RIRs. The broad definition of "Internet community", which includes ISPs, governments, regulatory bodies, network engineers, end users and anyone else with an interest, means that this system allows for all concerns to be addressed before a policy is agreed on.</p>
<p align="left"><b>Types of Policy</b></p>
<p align="left">The policies developed and agreed on by the RIPE community are expressed in RIPE Documents, and fall into several broad categories (though some policies may fall under more than one of these):</p>
<ul>
<li>
<div align="left">Documents relating to address policy and address management (including IPv6 documents)</div>
</li>
<li>
<div align="left">RIPE Database documents</div>
</li>
<li>
<div align="left">RIPE NCC organisational documents</div>
</li>
<li>
<div align="left">Information Services documents</div>
</li>
<li>
<div align="left">Request forms and supporting notes</div>
</li>
</ul>
<p align="left">All RIPE Documents are accessible to anyone on the RIPE website: <br /> <a href="http://www.ripe.net/ripe/docs/index.html">http://www.ripe.net/ripe/docs/index.html </a></p>
<p align="left"><b> Address Allocation Policies</b></p>
<p align="left">Policies governing the allocation and assignment of IP addresses and AS Numbers are central to the RIPE NCC's role as the Regional Internet Registry, and central to the overall goal of global uniqueness in addressing. These policies are created and implemented to fulfil four major requirements:</p>
<ul>
<li>
<div align="left">Uniqueness: All public IP addresses address worldwide must be unique. This is an absolute requirement guaranteeing that every host on the Internet can be uniquely identified.</div>
</li>
<li>
<div align="left">Aggregation: The distribution of IP addresses in a hierarchical manner permits the aggregation of routing information, which helps to ensure proper operation of Internet routing.</div>
</li>
<li>
<div align="left">Conservation: Public IP address space must be fairly distributed to organisations that operate networks and can demonstrate a legitimate need.</div>
</li>
<li>
<div align="left">Registration: The provision of a public registry documenting resource allocations and assignments must exist to ensure uniqueness and to provide information for Internet troubleshooting at all levels.</div>
</li>
</ul>
<p align="left">These goals will be represented variously in policies covering IPv4 addresses, IPv6 addresses and AS Numbers. Separate policies are necessary to meet the varying technical and operational needs of the different protocols.</p>
<p align="left"><b> Database Policies</b></p>
<p align="left">Responsibility for the RIPE Database is another central role of the RIPE NCC, and the community must agree on any substantive decisions about the operation of this database. A Database Working Group exists for discussion of database-related issues, and a RIPE Document relating to the database can be viewed at: <br /> <a href="http://www.ripe.net/ripe/docs/ripe-419.html">http://www.ripe.net/ripe/docs/ripe-419.html</a></p>
<p align="left"><b> Best Practice Statements</b></p>
<p align="left">Some RIPE Documents look at Current Best Practices in relation to various aspects of network operation. By helping to foster practices that are recognised as efficient and useful for network trouble-shooting, these statements are useful to the whole Internet community.</p>
<p align="left"><b> The Limits of Addressing Policy</b></p>
<p align="left">It is important to note the limits of IP addressing policy. As noted earlier, the fundamental design of the Internet means that anyone can at any point "announce" any address they choose to. IP addressing policies cannot change this fact, but at the same time it is in no one's (legitimate) interest to make the Internet unusable.</p>
<p align="left">IP addressing policy, as it is currently developed, can take into account the needs and concerns of all sectors of the Internet community. This results in policies that produce the best result for the Internet itself, and for the community at large.</p>
<p align="left"><b> RIPE Policy Development Process</b></p>
<p align="left">The RIPE community creates policy according to a well-defined process. This <i>Policy Development Process</i> (PDP) is laid out in a RIPE Document, and is available at: <br /> <a href="http://www.ripe.net/ripe/docs/pdp.html">http://www.ripe.net/ripe/docs/pdp.html </a></p>
<p align="left">The RIPE PDP is designed to allow all interested parties to have input into the decision making process, whether through the RIPE Meetings or working group mailing lists. A policy that has come through the PDP will have had a chance to be considered by all interested parties, meaning that the final result is widely regarded as being in the best interests of the broad Internet community.</p>
<p align="left"><b> RIPE NCC Activity Plan</b></p>
<p align="left">In its role of implementing the RIPE community policies, it is important that the RIPE NCC be seen to be fair, unbiased and transparent. The RIPE NCC Activity Plan is an important way in which this is demonstrated. It publicly lays out the plans and priorities for the RIPE NCC over the coming year, and all members of the RIPE community have the chance to comment on it. At the end of this process, the RIPE NCC Board, who are elected by RIPE NCC’s membership, will decide whether or not to approve the Activity Plan for the coming year.</p>
<h2 align="left">Part III: Enhanced Cooperation</h2>
<h3 align="left"><a id="chapter6" name="chapter6"></a>Chapter 6: The Need For Enhanced Cooperation</h3>
<p align="left">"Enhanced cooperation" is a term that was coined during the World Summit on the Information Society (WSIS) in 2005. It refers to the developing relationships between all stakeholders in the "Information Society", particularly between the private and public sectors. It is an issue that has taken on increased prominence in recent years, as the wider Internet community strives to ensure that all stakeholders' voices are heard and all interests served.</p>
<p align="left">As detailed in the first two parts of this document, the existing structures of Internet governance (including RIPE and the global RIR system) have evolved over the past decades to meet the very specific challenges that the Internet poses. While the RIPE community therefore welcomes the increased participation of all Information Society stakeholders, it is important that these new stakeholders participate with an understanding of the ramifications that even local IP addressing policy can have on the global Internet.</p>
<p align="left">For the RIPE community then, enhanced cooperation is an important opportunity to improve communication with those stakeholders in the Internet community who do not tend to participate in the standard RIPE forums. This especially includes government and regulatory bodies (the public sector), who in recent years have taken an increasing interest in issues of Internet governance.</p>
<p align="left">It is also a chance to educate these other stakeholders on the existing systems, and why we believe they should be maintained and strengthened. The reasons for this belief include the following points:</p>
<p align="left"><b>Provide Assurance of Operational Stability</b></p>
<p align="left">The RIR system emerged in part to address the need for a stable, reliable means of controlling IP address distribution and management globally. The structure of the Internet itself relies heavily on such stability and certainty. Factors such as the depletion of unallocated IPv4 address space and the increasing involvement of public sector organisations, however, mean that the Internet industry is facing a period of change.</p>
<p align="left">In this environment, the need for open and clear dialogue between all stakeholders, and especially between the public and private sectors, is vital to ensuring the ongoing operational stability of the Internet's infrastructure.</p>
<p align="left"><b>Provide Assurance of Good Policy</b></p>
<p align="left">While the RIR policy development system is designed to facilitate input from all interested parties, this goal can only be achieved when all parties are aware of the process. In the past, this has meant that some parties with an interest in Internet addressing policy have not taken part in policy development.</p>
<p align="left">One of the goals of enhanced cooperation is to increase awareness of and participation in the existing policy development processes, which is vital to the final goal of creating policies that are in the best interests of all parties. These processes allow for input from various stakeholders through a range of channels, not just RIR meetings.</p>
<p align="left"><b> Maintain Confidence in Institutions and Processes</b></p>
<p align="left">The RIPE community believes that the existing system of institutions and processes for Internet policy development has proved itself to be fair, open, flexible and efficient. As such, it is well positioned to meet the challenges of policy development in a rapidly changing industry.</p>
<p align="left">Enhanced cooperation is an important means of disseminating knowledge of the existing system, its institutions and processes, and of building confidence in that system's ability to meet the needs of all stakeholders. Confidence in these institutions and processes is vital to ensuring wider participation in the development of policy, and general respect for the policies produced.</p>
<h3 align="left"><a id="chapter7" name="chapter7"></a>Chapter 7: Consultation Processes</h3>
<p align="left">The RIPE NCC is already involved in a range of activities that fall under the description of enhanced cooperation. These include activities within the official policy development process, as well as outreach activities described in the Activity Plan.</p>
<p align="left"><b> RIPE Meetings</b></p>
<p align="left">RIPE Meetings are some of the biggest undertakings of the RIPE NCC, and happen twice a year. As well as playing a central role in the policy making process, the meetings are a chance for members of the Internet community to gather and meet. Most importantly, RIPE Meetings (like all RIR meetings) are open to everyone, and therefore offer a unique opportunity to further enhanced cooperation through face-to-face contact between all sectors of the Information Society.</p>
<p align="left"><b> RIPE NCC Government Relations</b></p>
<p align="left">The RIPE NCC is also taking an active role in reaching out to the public sector, including specific governments. With governments taking an increasing interest in Internet policy, this can often mean simply acting in an advisory role at government-organised events.</p>
<p align="left"><b> RIPE NCC Government Roundtables</b></p>
<p align="left">The RIPE NCC is also pro-actively engaging the public sector through Government Roundtable meetings, at which are discussed Internet management issues relevant to governments, regulators and industry partners. These events provide a chance for attendees to learn more about how to participate in IP address management policy-making. High-level discussions of IPv4/IPv6 address space and root name servers (one of which is operated by RIPE NCC) also provide attendees with an overview of the main elements involved in the technical coordination of the Internet.</p>
<p align="left"><b> Other Processes</b></p>
<p align="left">The process of enhanced cooperation is ongoing, and will include activities beyond those discussed here. Such activities are often spearheaded by the RIPE NCC, but may involve contributions from other members of the RIPE community.</p>
<p align="left">It is also important that the RIPE community be aware of the activities being undertaken in its name, and it is for this purpose that this Task Force recommends the formation of a Cooperation Working Group.</p>
<h3 align="left"><a id="chapter8" name="chapter8"></a>Chapter 8: Learning Points</h3>
<p align="left"><b> What Works</b></p>
<p align="left">Enhanced cooperation with the public sector has been a priority for the RIPE NCC since the lead-up to the WSIS events. This priority has been reflected in events such as RIPE NCC Government Roundtables and an increased presence at various government-organised events.</p>
<p align="left">From this experience, it is clear that the best results in this area are produced by targeted activities. This can mean engaging the public sector participants in their own forums, or it can mean organising specific events beyond the traditional RIR event schedule.</p>
<p align="left"><b> What Doesn't Work</b></p>
<p align="left">It is clear that the conventional channels and processes of the Internet community are not, of themselves, sufficient to meet the demands of enhanced cooperation. There is a range of reasons why interested parties outside the traditional RIPE community have not taken the opportunity to participate in forums such as the RIPE Meetings or mailing lists, but it is clear that if Internet policy is to have any authority, the policy development process must engage with these parties.</p>
<p align="left">"Business as usual" in this case will not work. With the addition of targeted outreach activities and a flexible approach, however, the existing processes and institutions can still meet the needs of enhanced cooperation.</p>
<p align="left"><b> What Is Not Yet Known</b></p>
<p align="left">At this point, the future of Internet addressing policy remains unclear. Enhanced cooperation is a broad strategy to ensure that as the Internet community adapts to the changes ahead, the needs of all stakeholders, both private and public sector, are recognised and reflected in Internet policy.</p>
<p align="left">At the same time, it is also vital that the evolving policy development processes not hinder the ongoing operation of the Internet and development and innovation in the Internet industry.</p>
<p align="left"><b> Recommendations</b></p>
<p align="left">This Task Force notes the ongoing importance of enhanced cooperation to the RIPE community and recommends that the RIPE community form a Cooperation Working Group, with the following charter:</p>
<p align="left"><i>The Cooperation Working Group is a forum for discussion focusing on cooperation between the private and public sectors on Internet matters. This kind of cooperation has taken on increased prominence in recent years, as the wider Internet community strives to ensure that all voices are heard and the interests of all parties are considered. Fostering more open dialogue between all stakeholders is vital to ensuring the continued stability of the Internet.</i></p>
<p align="left"><i>The working group discusses the following:</i></p>
<ol>
<li>
<div align="left"><i>The working group will primarily discuss outreach from the traditional RIPE community to everyone else, especially governments, regulators and NGOs, all of whom we are trying to bring into our community. Topics are not to duplicate issues discussed in other working groups. This working group should complement the other working groups and help participants engage in appropriate work.</i></div>
</li>
<li>
<div align="left"><i>The RIPE NCC's current outreach activities will be reported, and the RIPE NCC will seek advice and guidance on future activities. This is to make the discussions more focused - currently the only forum for these discussions is the ripe-list mailing list.</i></div>
</li>
<li>
<div align="left"><i>The working group will develop and clarify the RIPE community's position on issues that are of relevance to the public sector or on which a community position has been sought.</i></div>
</li>
<li>
<div align="left"><i>The working group will be responsible for maintenance of the RIPE Document produced by the Enhanced Cooperation Task Force, describing the RIPE community, existing policy development processes and outreach programs. The working group explicitly does not have change control over the RIPE Policy Development Process (PDP) itself.</i></div>
</li>
</ol>
<p align="left"><i>The working group is also an important channel through which the RIPE community can communicate with others in the Information Society. The Chairs are not to become special Ambassadors for RIPE. Their role is the same as other RIPE Working Group chairs, which implies they of course could be asked now and then what the status of the working group is. The process by which RIPE and RIPE NCC respectively coordinate with other bodies (such as the NRO) and communicate (mostly via RIPE NCC or the chair of RIPE) is not changed by creation and existence of this working group. </i></p>
<hr />
<h2 align="left">Footnote</h2>
<p align="left"><a id="gu" name="gu"></a><b><i>Globally Unique: </i></b></p>
<p align="left">The Internet Protocol can also be used to enable communications on private networks as well as the public Internet. The IP addresses of devices on a private network do not need to be globally unique, merely unique amongst the devices connected to that network. However, if such devices are also to communicate with the public Internet they must have a globally unique IP address, or else rely on some intermediary device that does. For details of strategies whereby many devices may share the use of such an intermediary, thereby reducing the number of IP addresses that are needed, see <i>Network Proxy</i> and <i>Network Address Translation</i>.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ripe task forces</dc:subject>
    
    <dc:date>2009-03-06T23:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-430">
    <title>Hosting A Sponsored RIPE NCC Test Traffic Measurement (TTM) node</title>
    <link>http://www.ripe.net/ripe/docs/ripe-430</link>
    <description>The TTM service relies on the support of paying customers to ensure that there are a large number of nodes on the network.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>The TTM service relies on the support of paying   customers to ensure that there are a large number of nodes on the network.   In order for TTM to be useful for a wide range of users, it is sometimes   necessary to place nodes in locations where there is no customer to fund   an installation. In these instances, and at its discretion, the RIPE   NCC will sponsor TTM nodes, either fully or partially. For more information   about the RIPE NCC TTM Service, please see:<br /> <a class="internal-link" href="resolveuid/8cd0262a77fa7bf18ff6dcc84c044962">http://www.ripe.net/ttm</a></p>
<h2 class="western">Practicalities</h2>
<p>All sponsored hosts are responsible for the   provision of:</p>
<ul>
<li>Space in a data centre for the TTM equipment</li>
<li>Sufficient power and cooling</li>
<li>All of the infrastructure that is required to connect the node to the Internet</li>
<li>Remote hands support.</li>
</ul>
<p>The RIPE NCC will provide TTM equipment for   fully sponsored hosts. Partially sponsored hosts will need to provide server   hardware. The RIPE NCC will provide the necessary Global Positioning System   (GPS) antenna equipment to all sponsored hosts. No TTM service fees will   be charged to any sponsored host.</p>
<h2 class="western">Sponsorship Criteria</h2>
<p>This document lays out the criteria used to   select a site for sponsorship. Although these guidelines cover a range   of site/host requirements, fulfilling all these requirements does not automatically   entitle the host/site to receive a sponsored node. Similarly, those hosts/sites   not meeting all the requirements are not automatically excluded.</p>
<p>Preference will be given to neutral and independent   bodies, such as academic or not-for-profit organisations, and to those   organisations that work to support and promote the development of the Internet.   Commercial organisations are not normally considered as candidates for   sponsorship.</p>
<h2 class="western">Requirements</h2>
<p>1. TTM nodes should be located:</p>
<ul>
<li>Within a major Autonomous System (AS) or;</li>
<li>At a point where a large number of ASs peer, such as a major Internet Exchange or;</li>
<li>At any other point of significant interest, such in proximity to a root DNS server</li>
</ul>
<p>This is to ensure that the node serves as   a good reference point and so any conditions, such as bottlenecks, which   might distort the general connectivity overview, can be avoided.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ttm</dc:subject>
    
    <dc:date>2008-04-05T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-429">
    <title>DNS Monitoring Service For Infrastructure Domains</title>
    <link>http://www.ripe.net/ripe/docs/ripe-429</link>
    <description>Since 2004, DNSMON has provided a comprehensive and independent overview of the quality of the service provided by infrastructure-level Domain Name System (DNS) servers. The background and history of the service can be found in "RIPE 342" [1], which this document obsoletes.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Since 2004, DNSMON has provided a comprehensive and independent overview of the quality of the service provided by infrastructure-level Domain Name System (DNS) servers. The background and history of the service can be found in "RIPE 342" [1], which this document obsoletes.</p>
<p>DNSMON is built on top of the Test Traffic Monitoring (TTM) network [2], and it uses the same probes for its measurements. Measurements are carried out by sending normal DNS queries to monitored servers at regular intervals. All results are available to the public.</p>
<p>The RIPE NCC's DNSMON measurements benefit the entire Internet community by providing an objective and impartial global overview of TLD-level DNS operations. As part of this service, we monitor some interesting infrastructure domains, including the root, free of charge.</p>
<p>If requested by the operators, we will also configure monitoring for the DNS servers of:</p>
<ul>
<li>Any TLD (ccTLD, gTLD etc)</li>
<li>Any Tier-1 ENUM domain (for example, 1.3.e164.arpa)</li>
</ul>
<p>Fees are charged for this service on a cost-recovery basis. Subscribers receive additional benefits, which may change from time to time. These are documented within the DNSMON operational service documents [3].</p>
<p> </p>
<hr />
<p><a name="i"></a> [1] <a href="ftp://ftp.ripe.net/ripe/docs/ripe-342.pdf">ftp://ftp.ripe.net/ripe/docs/ripe-342.pdf</a><br /> [2] <a href="http://www.ripe.net/ttm">http://www.ripe.net/ttm</a><br /> [3] <a href="http://dnsmon.ripe.net/">http://dnsmon.ripe.net/</a></p>
<!--#include virtual="/ssi/ripefoot2.inc"-->]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>dnsmon</dc:subject>
    
    <dc:date>2008-04-16T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-400">
    <title>Measuring and Reporting on Reverse Tree DNS Lameness in the RIPE NCC Service Region</title>
    <link>http://www.ripe.net/ripe/docs/ripe-400</link>
    <description>A survey carried out in March 2006 revealed that around 11-13% of the nameservers listed in delegations from IANA to the RIPE NCC are 'lame', meaning they are not responding correctly. This document provides more information on the subject.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Abstract</h2>
<p>A survey carried out in March 2006 revealed that around 11-13% of the nameservers listed in delegations from IANA to the RIPE NCC are 'lame', meaning they are not responding correctly. This document provides more information on the subject.</p>
<hr noshade="noshade" size="1" />
<h2>Table of Contents</h2>
<ol>
<li><b><a href="#1">Background</a></b></li>
<li><b><a href="#2">Definition of Lameness</a></b></li>
<li><b><a href="#3">Lameness Checking and Reporting</a></b></li>
<li><b><a href="#4">Interaction with ns.ripe.net</a></b></li>
<li><b><a href="#5">Email to Maintainers</a></b></li>
</ol> 
<hr noshade="noshade" size="1" />
<h2><a id="1" name="1"></a> 1. Background</h2>
<p><a id="ranges" name="ranges"></a>The Internet Assigned Numbers Authority (IANA) has delegated the following zones to the RIPE NCC:</p>
<table class="grid listing" id="table4">
<tbody>
<tr>
<td colspan="2"><span>IPv4 </span></td>
<td colspan="2"><span>IPv6</span></td>
</tr>
<tr>
<td>62.in-addr.arpa<br /> 77.in-addr.arpa                         <br /> 78.in-addr.arpa <br /> 79.in-addr.arpa <br /> 80.in-addr.arpa<br /> 81.in-addr.arpa<br /> 82.in-addr.arpa<br /> 83.in-addr.arpa<br /> 84.in-addr.arpa<br /> 85.in-addr.arpa<br /> 86.in-addr.arpa<br /> 87.in-addr.arpa<br /> 88.in-addr.arpa<br /></td>
<td>89.in-addr.arpa<br /> 90.in-addr.arpa<br /> 91.in-addr.arpa<br /> 141.in-addr.arpa<br /> 145.in-addr.arpa<br /> 151.in-addr.arpa<br /> 188.in-addr.arpa<br /> 193.in-addr.arpa<br /> 194.in-addr.arpa<br /> 195.in-addr.arpa<br /> 212.in-addr.arpa<br /> 213.in-addr.arpa<br /> 217.in-addr.arpa<br /></td>
<td>a.0.1.0.0.2.ip6.arpa<br /> a.1.1.0.0.2.ip6.arpa<br /> a.4.1.0.0.2.ip6.arpa<br /> b.0.1.0.0.2.ip6.arpa<br /> b.1.1.0.0.2.ip6.arpa<br /> b.4.1.0.0.2.ip6.arpa<br /> c.4.1.0.0.2.ip6.arpa<br /> d.4.1.0.0.2.ip6.arpa<br /> 0.a.2.ip6.arpa<br /> 4.1.1.0.0.2.ip6.arpa<br /> 5.1.1.0.0.2.ip6.arpa<br /> 6.0.1.0.0.2.ip6.arpa<br /></td>
<td>6.1.1.0.0.2.ip6.arpa<br /> 7.0.1.0.0.2.ip6.arpa<br /> 7.1.1.0.0.2.ip6.arpa<br /> 8.0.1.0.0.2.ip6.arpa<br /> 9.0.1.0.0.2.ip6.arpa<br /></td>
</tr>
</tbody>
</table>
<ul>
<li><i>List of delegations was correct at publication date. </i></li>
<li><span>This table includes those parts of Early Registration Transfer (ERX) space that are under the control of the RIPE NCC</span>. </li>
<li> <a class="internal-link" href="resolveuid/747f296f33b7388f3ddd67610811b35a">ERX</a> was a project to take IP allocations made before the RIR System started and move them into management by Regional Internet Registries. </li>
</ul>
<hr noshade="noshade" size="1" />
<h2><a id="2" name="2"></a> 2.Definition of Lameness</h2>
<p>There are several <a class="external-link" href="http://www.faqs.org/rfcs/rfc1912.html" target="_blank">definitions of lameness</a> available. However, within the context of this document and these checks, a server will be regarded as lame if it does not satisfy the following test:</p>
<ul>
<li>The target of an NS RR must resolve into at least one address record RR (A or AAAA RR).</li>
<li> A standard DNS UDP query with RD=0 for an SOA RR in the IN class, with QNAME=zonename, must result in an authoritative response, sent from the same address the queries were targeted at with a single SOA RR for the QNAME in the answer section. </li>
<li>This testing will be network layer protocol independent.</li>
</ul>
<p><b>If a server fails this test it will be retried five times over a period of ten days (at varying times of day). After this time, it will be classed as lame.</b></p>
<ul>
<li>In the case of multihomed servers with multiple A (or AAAA) records, repeated failure of any of the designated A records will result in the server being classed as lame.</li>
<li>In the case of anycasted servers, only the server visible from the RIPE NCC premises in Amsterdam will be tested. If this project is successful, we may expand this test to cover different areas. </li>
</ul>
<h2><a id="3" name="3"></a>3. Lameness Checking and Reporting</h2>
<p>The RIPE NCC will run a lameness check once each month against all DNS servers listed as delegation points within the <a href="#ranges">RIPE NCC delegated zones</a>.</p>
<ul>
<li>Lameness will be checked over both IPv4 and IPv6, but reported separately.</li>
<li>Following the completion of this check, we will send an email (via SOA RNAME) to all operators with servers reported as lame.</li>
<li>We will send an email to the maintainer listed for the <span>domain</span> object in the RIPE Database.</li>
<li>We will send just one email for each lame server.</li>
<li>We will publish details and statistics of lameness levels on www.ripe.net.</li>
<li>We will periodically assess the effectiveness of these efforts by reviewing the published statistics.</li>
</ul>
<h2><a id="4" name="4"></a>4. Interaction with ns.ripe.net</h2>
<ul>
<li>As the server ns.ripe.net is a delegation target for all /16 IPv4 reverse delegations, we will check all of its zones automatically. </li>
<li>We will further investigate all zones reported as lame on this server to determine why and resolve the problem as soon as is possible, although this may also involve contact with third parties.</li>
</ul>
<h2><a id="5" name="5"></a><a id="mail" name="mail"></a>5. Email to Maintainers</h2>
<p>The sample text of the alert email that we will send to operators with servers reported as lame:</p>
<p style="padding-left: 30px; ">Dear administrator of [<span>server name</span>]</p>
<p style="padding-left: 30px; ">According to checks made on [<span>date</span>], your server, [<span>server name</span>], was lame for the following zone(s):</p>
<p style="padding-left: 30px; ">[<span>zonelist</span>]</p>
<p style="padding-left: 30px; ">For information about the checks that we made on your zone(s), please see: <br />http://www.ripe.net/ripe/docs/ripe-400.html</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>dns</dc:subject>
    
    <dc:date>2007-01-08T23:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-393">
    <title>Evaluating The Effects Of Anycast On DNS Root Nameservers</title>
    <link>http://www.ripe.net/ripe/docs/ripe-393</link>
    <description>The DNS root nameservers are a critical part of the Internet’s infrastructure, and anycasting is increasingly being used in their deployment.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2><b>Abstract </b></h2>
<p>The DNS root nameservers are a critical part of the Internet’s infrastructure, and anycasting is increasingly being used in their deployment. However, while there is little doubt that anycasting improves resilience, its effects on other aspects of DNS service quality are not well understood. We present methodologies to study the quality of service provided by an anycast server cloud, combining analysis of packet traces and server logs with active measurements from both the client and the server side to evaluate both aggregate performance and the benefit of each individual anycast node. We apply the methodologies to the K-root server and, in contrast to other work, find that anycast is effective in decreasing latency and preserving node affinity, suggesting that the impact of anycast depends heavily on the type of deployment used. We also study the effects of K-root’s anycast deployment model on server load and routing, highlighting particular scenarios in which the model can lead to performance and reachability problems.</p>
<hr />
<h2>Table of Contents</h2>
<p><a href="#intro">1 Introduction</a><br /> <a href="#background">2 Background</a></p>
<div class="first-level-indent"><a href="#anycast">2.1 DNS Anycast</a></div>
<div class="first-level-indent"><a href="#goals">2.2 Goals of anycast</a></div>
<div class="second-level-indent"><a href="#resilience">2.2.1 Resilience</a></div>
<div class="second-level-indent"><a href="#performance">2.2.2 Performance</a></div>
<div class="second-level-indent"><a href="#reliability">2.2.3 Reliability</a></div>
<div class="first-level-indent"><a href="#anycast-topologie">2.3 Anycast topologies</a></div>
<div class="first-level-indent"><a href="#deployment">2.4 K-root deployment structure</a></div>
<p><a href="#methods">3 Measurement methodologies</a></p>
<div class="first-level-indent"><a href="#efficiency">3.1 Measuring anycast effeciency</a></div>
<div class="second-level-indent"><a href="#clientside">3.1.1 Client-side measurements</a></div>
<div class="second-level-indent"><a href="#serverside">3.1.2 Server-side measurements</a></div>
<div class="first-level-indent"><a href="#individual">3.2 Evaluating the benefit of individual nodes in the cloud</a></div>
<p><a href="#application">4 Application of our methods to K-root</a></p>
<div class="first-level-indent"><a href="#performance">4.1 Client-side performance</a></div>
<div class="second-level-indent"><a href="#methodology">4.1.1 Methodology</a></div>
<div class="second-level-indent"><a href="#results">4.1.2 Results</a></div>
<div class="second-level-indent"><a href="#effect">4.1.3 Effect of number of nodes on efficiency</a></div>
<div class="second-level-indent"><a href="#anycast-efficiency">4.1.4 Consistency of anycast effeciency over time</a></div>
<div class="second-level-indent"><a href="#comparison">4.1.5 Comparison with similar work</a></div>
<div class="first-level-indent"><a href="#ss-performance">4.2 Server-side performance</a></div>
<div class="second-level-indent"><a href="#ss-method">4.2.1 Methodology</a></div>
<div class="second-level-indent"><a href="#ss-results">4.2.2 Results</a></div>
<div class="first-level-indent"><a href="#impact">4.3 Impact of node switches</a></div>
<p><a href="#routing">5 Routing issues</a></p>
<div class="first-level-indent"><a href="#degradation">5.1 Performance degradation due to local nodes</a></div>
<div class="first-level-indent"><a href="#prepending">5.2 Performance degradation due to different prepending lengths</a></div>
<div class="first-level-indent"><a href="#conn-loss">5.3 Loss of connectivity due to no-export</a></div>
<p><a href="#anycast-load">6 Effect of anycast on server load</a></p>
<div class="first-level-indent"><a href="#logs">6.1 Analysis of server logs</a></div>
<div class="first-level-indent"><a href="#geo">6.2 Geographical distribution of queries by node</a></div>
<p><a href="#conclusions">7 Conclusions</a></p>
<p><a href="#ack">Acknowledgements</a></p>
<p><a href="#refs">References</a></p>
<hr />
<h2><b> <a name="intro"></a>1 Introduction </b></h2>
<p>The Domain Name System [<a href="#refs">16, 14, 15</a>] is a database of Internet names and addresses, which is used, for example, to translate Internet hostnames such as <span class="pre">www.ripe.net</span> to IP addresses such as <span class="pre">193.0.0.214</span> . It is a distributed database in which domain names are maintained in a hierarchical tree structure. The DNS <i>root nameservers </i>maintain the authoritative list of servers for top-level domains such as .com, .net and .org. Any DNS query, except for queries in a domain made to a DNS server that is authoritative for that domain, requires a response from a root server to be answered. The response may be cached, but if the root servers are not available, no names can be resolved once the caches expire.</p>
<p>As the root servers are such a critical part of the Internet infrastructure, anycasting [<a href="#refs">18</a>] is increasingly being used in global root server deployments. At least six of the 13 root servers (C, F, I, J, K, and M) have adopted anycast in some form, and some of these have deployed tens of nodes all over the world (for current status, see [<a href="#refs">23</a>]). However, while there is little doubt that anycast improves resilience, the effects of anycasting on other aspects of DNS service quality are not well understood. In this paper, we present methodologies to study the quality of service provided by an anycast DNS server and the results of their application to the K-root server. A brief list of the contributions of this paper is as follows:</p>
<ul>
<li>
<p>We present methodologies for evaluating the quality of service provided by an anycasted DNS server. By combining analysis of packet traces and server logs with active measurements on both the server and the client side, we are able to evaluate both the efficiency of the deployment as a whole and the benefit to clients of each individual anycast node. We show how these methods may be used to evaluate the location of a prospective new anycast node.</p>
</li>
<li>
<p>We apply the methodologies to the K-root DNS server, combining the results with geographical and operational data to provide what we believe is the most comprehensive analysis of the performance, client placement, and server load of an anycasted server to date.</p>
</li>
<li>
<p>We examine routing issues related to anycast, providing examples of non-obvious issues that can cause perfor-mance and reachability problems.</p>
</li>
</ul>
<p>The rest of the paper is organised as follows: <a href="#background">Section 2</a> provides background information on anycast, its goals, and the topologies used, and on the particular topology adopted by K-root. We present our methods in <a href="#methods">Section 3</a> and describe their application to the K-root server in <a href="#kroot">Section 4</a>. <a href="#routing">Section 5</a> discusses routing issues, and <a href="#load">Section 6</a> examines the effects of anycast on server load. We conclude and discuss future work in <a href="#conclusion">Section 7</a>.</p>
<h2><b> <a name="background"></a>2 Background </b></h2>
<p>In this section we provide background information on DNS anycast and its goals and provide an overview of the types of deployments used, citing the K-root server as an example.</p>
<h3><b><a name="anycast"></a>2.1 DNS Anycast </b></h3>
<p>We define DNS <i>anycast </i>as the practice of providing DNS service at the same IP address from multiple geographic or topological locations [<a href="#refs">9, 1</a>]. A <i>node </i>is a set of one or more DNS server machines and associated network equipment in a particular location; all nodes, regardless of location, answer DNS queries sent to the same IP address, which we name the <i>service IP address</i>. We name the set of all nodes the anycast <i>cloud</i>.</p>
<p>Every DNS query sent to the service IP address is routed to exactly one node, the <i>best </i>node, which is the closest node as determined by the routing protocol in use. At a given moment, different clients will in general have different best nodes according to their routing policies and metrics. A client making a DNS request does not usually know which node it is communicating with; however, most anycast deployments provide this information via a special DNS query, which returns the name of the node that answers it [<a href="#refs">27</a>].</p>
<p>The DNS server machines are typically also reachable using unicast IP addresses, which we name <i>internal ad-dresses</i>. Depending on the type of deployment, the the internal IP addresses may be routed in the same way as the service IP address; if so, then the path taken by DNS queries to the service IP address (except the portion of the path inside the node itself) will in general be the same as the path to the internal IP addresses of the best node.</p>
<h3><b><a name="goals"></a>2.2 Goals of anycast </b></h3>
<p>Anycast is deployed on root servers for various reasons, including increasing resilience, increasing performance, and providing a more stable service. Before describing the methodologies we propose to evaluate the quality of service of an anycast deployment, we briefly discuss these goals here.</p>
<p><b> <a name="resilience"></a>2.2.1 Resilience</b></p>
<p>One of the two goals of anycast stated in [<a href="#refs">1</a>] is to improve the resilience of the DNS infrastructure to denial-of-service attacks. This problem cannot be solved simply by increasing server performance, because in most current deployments the servers can already withstand higher attack loads than the networks that surround them, and during an attack it is network congestion rather than query load that renders the servers unresponsive. Denial-of-service attacks are mitigated both by local nodes, which act as local sinks for DOS attacks in their catchment area, and by global nodes, which spread the attack load over multiple servers and networks. We may assume that that anycast improves resilience: the more nodes deployed and the more widespread the deployment, the less likely that a node failure or an attack can cause widespread disruption of service. However, we did not attempt to measure the effect on anycast on resilience.</p>
<p><b> <a name="performance"></a>2.2.2 Performance </b></p>
<p>Another goal of anycasting is to improve performance. Deploying nodes topologically close to clients will decrease query times; however, network topology only loosely correlates with geography [<a href="#refs">10</a>] and therefore deploying nodes geographically close to clients is not necessarily an effective strategy for minimising query times. Furthermore, as we show in <a href="#routing">Section 5</a>, the presence of local nodes may complicate the situation and actually decrease performance.</p>
<p><b> <a name="reliability"></a>2.2.3 Reliability </b></p>
<p>Finally, anycast should increase the reliability of DNS service. Deploying nodes close to clients should increase reliability by decreasing the number of network elements that queries must traverse. However, although the vast majority of DNS queries are simple request-response transactions involving one UDP packet in each direction, some queries involve multiple packets (e.g. queries using TCP, or queries in which the UDP query packet is fragmented). If a client’s best node changes while the query is in progress, not all the packets will reach the same node and the query will fail. Therefore, as the number of deployed nodes increases, the number of routes competing in the routing table increases, and with it both routing churn and the probability of query failure in these cases.</p>
<p>The impact of this problem is not clear: for example, in a study of J-root [<a href="#refs">5</a>] the authors state that this is a serious problem and recommend that stateful services not be run on anycast at all. Other work has since concluded that the</p>
<div align="center">
<table class="grid listing">
<tbody>
<tr>
<td><b>Node</b></td>
<td><b>Code </b></td>
<td><b>Type </b></td>
<td><b>Date deployed</b></td>
</tr>
<tr>
<td>London, UK</td>
<td>linx</td>
<td>Global</td>
<td>1997-05-19</td>
</tr>
<tr>
<td>Amsterdam, Netherlands</td>
<td>ams-ix</td>
<td>Global</td>
<td>2003-07-31</td>
</tr>
<tr>
<td>Frankfurt, Germany</td>
<td>denic</td>
<td>Local</td>
<td>2004-01-27</td>
</tr>
<tr>
<td>Athens, Greece</td>
<td>grnet</td>
<td>Local</td>
<td>2004-04-27</td>
</tr>
<tr>
<td>Doha, Qatar</td>
<td>qtel</td>
<td>Local</td>
<td>2004-06-22</td>
</tr>
<tr>
<td>Milan, Italy</td>
<td>mix</td>
<td>Local</td>
<td>2004-08-10</td>
</tr>
<tr>
<td>Reykjavik, Iceland</td>
<td>isnic</td>
<td>Local</td>
<td>2004-10-18</td>
</tr>
<tr>
<td>Helsinki, Finland</td>
<td>ficix</td>
<td>Local</td>
<td>2004-10-28</td>
</tr>
<tr>
<td>Geneva, Switzerland</td>
<td>cern</td>
<td>Local</td>
<td>2004-10-28</td>
</tr>
<tr>
<td>Poznan, Poland</td>
<td>poznan</td>
<td>Local</td>
<td>2004-11-24</td>
</tr>
<tr>
<td>Budapest, Hungary</td>
<td>bix</td>
<td>Local</td>
<td>2004-11-24</td>
</tr>
<tr>
<td>Tokyo, Japan</td>
<td>tokyo</td>
<td>Global</td>
<td>2005-04-19</td>
</tr>
<tr>
<td>Abu Dhabi, UAE</td>
<td>emix</td>
<td>Local</td>
<td>2005-04-26</td>
</tr>
<tr>
<td>Brisbane, Australia</td>
<td>apnic</td>
<td>Local</td>
<td>2005-06-29</td>
</tr>
<tr>
<td>Miami, USA</td>
<td>nap</td>
<td>Global</td>
<td>2005-07-29</td>
</tr>
<tr>
<td>Delhi, India</td>
<td>delhi</td>
<td>Global</td>
<td>2005-08-26</td>
</tr>
<tr>
<td>Novosibirsk, Russia</td>
<td>nskix</td>
<td>Local</td>
<td>2005-12-21</td>
</tr>
</tbody>
</table>
<div class="small">Table 1: Current K-root nodes</div>
</div>
<p>impact of node switches is not significant enough to be a concern [<a href="#refs">6, 12</a>]. Our own results for K-root are presented in <a href="#impact">Section 4.3</a>.</p>
<h3><b><a name="topologies"></a>2.3 Anycast topologies </b></h3>
<p>In the following we shall consider BGP-based anycast mechanisms as described in [<a href="#refs">1</a>]. Each node announces to the routing system reachability information for the same network prefix (the <i>service prefix</i>), which contains the service IP address. The announcements from different nodes compete in the interdomain routing system, where they are propagated according to the usual BGP route selection process. Two types of anycast nodes are defined: <i>global nodes </i>and <i>local nodes</i>. Global nodes are intended to provide service to the entire Internet, and must have sufficient bandwidth and processing power to handle a global load of client requests. Local nodes are intended to provide service only to a limited area known as the node’s <i>catchment area</i>. The distinction between node types is accomplished by using BGP policy mechanisms: firstly, the paths announced by global nodes are artificially lengthened using AS-path prepending; since one of the most important metrics used by the BGP route selection algorithm is the length of the AS-path, this causes the paths announced by local nodes to be preferred. Secondly, the announced made by local nodes are tagged with the “no-export” community value [<a href="#refs">8</a>], which requests that their routing announcements not be propagated to other ASes.</p>
<p>Different root server operators use different deployment strategies. In the following, we term an anycast topology <i>flat </i>if it contains only global nodes, <i>hierarchical </i>if it contains a small number of global nodes close to each other and a large number of local nodes, and <i>hybrid </i>if it contains both a number of widely-distributed global nodes and a number of local nodes. Examples of flat, hierarchical, and hybrid topologies are J-root [<a href="#refs">5</a>], F-root [<a href="#refs">1</a>], and K-root respectively. A hierarchical deployment has both advantages and disadvantages with respect to a flat deployment. Since local nodes do not need to handle a global load of client requests, they may be deployed in areas with limited Internet connectivity and bandwidth; also, problems with a local node can at worst disrupt service in its catchment area. On the other hand, clients not in the catchment area of a local node will send queries to global nodes, and since the global nodes are concentrated in a small geographical area, this will result in high query latencies for distant clients. Finally, if an announcement from a local node is mistakenly propagated into the global routing table, the node and the surrounding network infrastructure may be overwhelmed by the resulting increase of requests.</p>
<h3><b><a name="deployment"></a>2.4 K-root deployment structure </b></h3>
<p>The K-root nameserver uses a hybrid topology which currently consists of 5 global nodes and 12 local nodes, as shown in Table 1. A node typically consists of two servers running the NSD nameserver software [<a href="#refs">17</a>], a monitoring server, routers and switches. Queries are distributed between the servers using OSPF load balancing [<a href="#refs">2</a>]. We name the network interface a server receives queries on its <i>service interface</i>; the service interface is reachable both through the service IP address, <span class="pre">193.0.14.129</span> , and an <i>internal IP address</i>, which is different for each server. Normally, the internal IP addresses are firewalled and queries sent to these addresses from the Internet are dropped. The prefix containing the node’s internal IP addresses, which we name the node’s <i>internal prefix</i>, is announced in the same way as the service prefix.</p>
<h2><b> <a name="methods"></a>3 Measurement methodologies </b></h2>
<p>In this section, we present our methodologies to evaluate the benefit of deploying anycast on a DNS server. We first discuss methods to evaluate the efficiency of the deployment as seen by a given client by using client-side and server-side measurements, and then present methods to evaluate the benefit of a given node in the cloud.</p>
<p>Our main performance metric will be query latency. Since our measurements on K-root hardware showed that response times are dominated by network latency, and that the capacity of a single node substantially exceeds both the typical network connectivity of a node and the total query load of the K-root server, in the following we shall neglect the effect of server load and focus only on network latency.</p>
<h3><b><a name="efficiency"></a>3.1 Measuring anycast efficiency </b></h3>
<p>Ideally, every DNS query sent to the service IP address should be routed to the node with the lowest latency. Therefore, for every client we may see whether anycast is choosing the node with the best performance by comparing the response time of the node chosen by the routing system with the response times of the other nodes in the cloud. The former may be measured simply by sending a query to the service IP address; the latter may be estimated by measuring the response time of the internal IP addresses of all the nodes in the cloud. Note that this assumes that each node announces its internal prefix in the same way as the service prefix. This assumption is not true in all anycast deployments, but it may be verified, for example, by examining the BGP or router-level paths to the two addresses. It also requires that the internal addresses of all the nodes respond to probe packets, which may not be the case (for our K-root measurements, the firewall was opened to allow queries to the internal addresses).</p>
<p>More formally, given a population of clients <span>P</span> and the set of server nodes <span>N</span> , for every client <span>c<sub>i</sub></span> we measure the latency <span>RTT <sup>i</sup></span> to the service IP address and compare it to the latencies <span>RTT <sup>i</sup><sub>n</sub></span> of the other nodes in <span>N</span> . If the deployment contains local nodes, a given client might not be able to reach all the servers in <span>N</span> , but it is obviously only interesting to measure the latencies to the set <span>N<sub>c</sub></span> of nodes that the client can actually reach. However, if we assume that routing is configured in such a way that local nodes are favoured (e.g. if the announcements of global nodes are prepended and the local nodes are announced with no-export), then <span>N<sub>c</sub> = N<sub>G</sub> ∩ A</span> , where <span>A</span> is the client’s best node<sup><a href="#sup1">1</a></sup> . We define the <i>anycast efficiency factor </i>of the client, <span>α<sub>i</sub></span> , as the RTT to the service IP address divided by the RTT of the closest global node:</p>
<div align="center">
<table>
<tbody>
<tr>
<td></td>
<td></td>
<td align="center"><span>RTT<sup>i</sup></span></td>
</tr>
<tr>
<td><i>α<sub>i</sub></i></td>
<td>=</td>
<td>
<hr noshade="noshade" size="1" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<div align="right"><span>min<sub>n</sub> RTT<sup>i</sup><sub>n</sub></span></div>
</td>
</tr>
</tbody>
</table>
</div>
<p>If <span>α<sub>i</sub></span> =1 , then the client’s best node is the node with the best performance. If <span>α<sub>i</sub></span> &gt; 1 , then the routing system is choosing a sub-optimal node. If <span>α<sub>i</sub></span>&lt; 1 , then the client’s best node is a local node.</p>
<p><b> <a name="clientside"></a>3.1.1 Client-side measurements </b></p>
<p>The anycast efficiency factor for a given client client expresses how well the routing system does in selecting the best node for a particular client. Therefore, by measuring α for a suitable client population, such as that provided by the TTM network [<a href="#refs">22</a>], Skitter probes [<a href="#refs">11</a>] or PlanetLab [<a href="#refs">19</a>] and aggregating the results, it is possible to obtain a general picture of how effective of an anycast deployment is in reaching its clients. Thus, client-side measurement allows us to obtain a fairly accurate picture of the efficiency of an anycast deployment in relatively little time.</p>
<p><b> <a name="serverside"></a>3.1.2 Server-side measurements </b></p>
<p>Due to the fact that measurements are made by a limited number of probes, the results results suffer from various limitations. Firstly, they do not provide a complete evaluation. Secondly, they are biased by probe location. Finally, the probes are not necessarily representative of the client population of the anycast cloud.</p>
<p>Another possible approach is that of measuring latency from the server nodes to the client population. This has the advantage that the data set is much larger (for K-root, the client population seen in one day is of the order of one million, which is three or four orders of magnitude greater than any network of measurement probes that we are aware of), and that the data set is representative of the actual client population. Furthermore, if data on the number of client queries is available in addition to the client population, it is possible to weigh the anycast efficiency factor of every client by the number of queries it makes in order to evaluate the performance seen by those clients that are most important. Measuring the RTT to a client from a server can be done by sending an ICMP echo request (ping) packet and measuring the time it takes for the client to reply. Note that many clients may not respond to pings because they</p>
<p><sup><a name="sup1"></a>1</sup> For simplicity, we are ignoring the case in which the AS of the client could reach more than one local node. In this case, we assume that the interior routing of the AS has picked the correct node.</p>
<p>are behind firewalls or for other reasons, which biases the results; data on the incidence of this problem in the K-root client population is presented in <a href="#ss-performance">Section 4.2</a>.</p>
<p>Note that if the RTTs obtained by server-side measurement are to be representative of the actual RTT of a DNS query, then the path followed by probe packets and responses must be representative of the path taken by DNS traffic. This implies that (a) probe packets must be sent out using the same route that DNS replies use to reach the client, and</p>
<p>(b) probe replies must reach the server by the same route as DNS requests from the client.</p>
<p>Requirement (a) can be satisfied simply by sending probe packets from the DNS server itself or from another host that uses the same next-hop router. However, requirement (b) is harder to satisfy. Probe packets cannot be sent by a node using the anycasted service IP address, because if they were, the replies would reach the client’s best node instead of reaching the node that sent the probes. Therefore, the source address must be a unicast address that is guaranteed to be routed to the node that sent the probe packet. Whether such an address is available depends on how routing announcements are made and on the internal structure of the node. As we have seen in <a href="#deployment">Section 2.4</a>, in the K-root deployment each node announces its internal prefix in the same way as the service prefix, so any IP address in the internal prefix may be used for this purpose.</p>
<h3><b> <a name="individual"></a>3.2 Evaluating the benefit of individual nodes in the cloud </b></h3>
<p>Measuring the latencies from the server nodes to the client population allows us to evaluate the benefit provided by each node in the anycast cloud. We may define the benefit provided by a given node to a given client as the increase of performance, if any, that the client experiences thanks to the existence of the node, or, equivalently, as the loss of performance that a client would see if the node did not exist. We may express this as the latency <span>RTT<sup>i</sup><sub>≠n</sub></span> that the</p>
<p>client would see if the node <span>n</span> did not exist divided by the RTT seen from the client <span>i</span> to the service IP address <span>RTT<sup>i</sup></span> . Because we cannot predict the effect of routing changes, the value of<span>RTT<sup>i</sup><sub>≠n</sub></span> is not known. However, if we assume</p>
<p>that routing is optimal, i.e. that every client selects the node with the lowest latency, then <span>RTT<sup>i</sup> =min<sub>n</sub> RTT<sup>i</sup><sub>n</sub> and RTT<sup>i</sup><sub>≠n</sub> =min<sub>j ≠n</sub> RTT<sup>i</sup></span><sub>j</sub> . Thus, for any client <span>i</span> and node <span>n</span> , we define the <i>loss factor </i> β<sup>i</sup><sub>n</sub> as follows:</p>
<div align="center">
<table>
<tbody>
<tr>
<td></td>
<td></td>
<td align="center"><span><span>min<sub>j ≠n</sub> </span> <span>RTT<sup>i</sup></span><sub>j</sub></span></td>
</tr>
<tr>
<td><i>β<sup>i</sup><sub>n</sub></i></td>
<td>=</td>
<td>
<hr noshade="noshade" size="1" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<div align="center"><span>RTT<sup>i</sup></span></div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<p>Since we assume optimal routing, <span>β<sup>i</sup><sub>n</sub></span> ≥ 1 . If <span>β<sup>i</sup><sub>n</sub></span> =1 , then the node provides no benefit to the client; if <span>β<sup>i</sup><sub>n</sub></span> =2 , then the presence of the node doubles the client’s performance, and so on. It may also be useful to evaluate the effect on performance of a set <span>S</span> of nodes at the same time. For example, evaluating the combined benefit of all the nodes in a particular geographic region gives an idea of how much redundancy the nodes introduce, and evaluating the combined benefit of all the nodes except the first node deployed gives an idea of how effective the anycast deployment as a whole is. This can be done trivially by calculating the sum in (2) over all nodes except all the nodes in <span>S</span> .</p>
<p>Of course, the assumption of optimal routing does not hold for all clients. For example, as can be seen in Fig-ure 5(a), α<sub>i</sub> ≈ 1 only for about 50% of the clients that responded to our ping probes. However, we believe it is a useful metric in order to evaluate how well the server nodes are placed in relation to the client population.</p>
<p>Once the benefit of a node to each client has been determined, we may calculate the total benefit of a node <span>B<sub>n</sub></span> simply by taking the weighted average of the benefit seen by every client, where the weights are proportional to the number of queries that the client sends to the server:</p>
<div align="center">
<table>
<tbody>
<tr>
<td></td>
<td></td>
<td align="center"><span><span>∑<sub>i</sub> β<sup>i</sup><sub>n</sub>Q<sub>i</sub></span></span></td>
</tr>
<tr>
<td><i>B<sub>n</sub></i></td>
<td>=</td>
<td>
<hr noshade="noshade" size="1" />
</td>
</tr>
<tr>
<td></td>
<td></td>
<td>
<div align="center"><span><span>∑<sub>i</sub> Q<sub>i</sub></span></span></div>
</td>
</tr>
</tbody>
</table>
</div>
<p>where <span>Q</span> i are the queries sent by the client <span>i</span> to the server in a given time interval. The higher the value of <span>B<sub>n</sub></span> , the more useful the node is; a node with <span>β<sub>n</sub></span> =1 provides no benefit to clients.</p>
<h2><b> <a name="application"></a> 4 Application of our methods to K-root </b></h2>
<p>In this section we describe the application of our methods to the K-root DNS server. First, we performed client-side measurements from the TTM network to obtain a picture of the efficiency factor, and examined the stability of the average efficiency factor over time. We then used server-side measurements to obtain a more representative view of the global client population. Finally, we used the results of the server-side measurements to determine the benefit of each individual node in the cloud, the two global nodes in Europe, and the total benefit of the anycast deployment.</p>
<p> </p>
<p><img alt="figure1.gif" class="image-inline" height="292" src="resolveuid/c4913329c53a181e808edf105d8770ab" usemap="#Map" width="700" /> 
<map name="Map">
<area alt="Click for larger image" coords="0,0,354,297" href="../../images/bgpchoice.ps.png/view" shape="rect" />
<area alt="Click for larger image" coords="357,1,702,292" href="../../images/bgpchoice-200604120000.ps.png/view" shape="rect" /> 
</map>
</p>
<p class="small">Figure 1: Efficiency factor α seen by TTM. (a) Two global nodes, April 2004; (b) Five global nodes, April 2005. <br /> Click the images for a larger version</p>
<p><b> <a name="methodology"></a>4.1.1 Methodology </b></p>
<p>Measurements were taken using the <span class="pre">dig</span> command to query for the <span class="pre">hostname.bind</span> record. Every test-box <span>i</span> performed a set of 5 queries to the service IP address, then a set of 5 queries to each of the two internal IP addresses of every global node. (Since the internal IP addresses are firewalled and do not respond to queries, to perform these measurements we had to temporarily open the firewall.) From each set we then calculated <span>α<sub>i</sub></span> as described in (1). As described in <a href="#clientside">Section 3.1.1</a>, if <span>α<sub>i</sub></span> =1 then the routing system is choosing the optimal node; if <span>α<sub>i</sub></span> &gt; 1 , then the routing system is choosing a sub-optimal node; and if <span>α<sub>i</sub></span>&lt; 1 , then test-box <span>i</span> is using a local node<sup><a href="#sup2">2</a></sup> .</p>
<p>As already discussed, our client-side measurement methodology assumes that the path to an internal IP address is the same as the path that would be taken to the node if that node were the node chosen by the routing system. In the case of K-root the internal IP addresses are announced in exactly the same way as the service IP address. However, the paths are still not guaranteed to be identical, since the service IP address and the internal IP addresses are in different prefixes, and BGP routing policies could in principle distinguish between announcements for the service prefix and for the internal prefixes, even though they come from the same source. However, we believe that current operational practices make this a rare occurrence; furthermore, querying the RIS [<a href="#refs">21</a>] showed that the the AS-path to the service IP address was the same as the AS-path to one of the internal IP addresses in almost every case.</p>
<p><b> <a name="results"></a>4.1.2 Results </b></p>
<p>Two example results are in Figures 1(a) and 2(a), which plot values of <span>α<sub>i</sub></span> measured on 2005-04-08 at 15:00 UTC and on 2006-04-12 at 00:00 UTC. As can be seen from the graph, most values of <span>α<sub>i</sub></span> are close to 1, indicating that the routing system is selecting the appropriate nodes in most cases. This is even more visible in Figures 1(b) and 2(b), which only shows data for test-boxes whose best node at the time of measurement was a global node.</p>
<p>Note that in each of the two graphs in Figure 1 there is a notable outlier. These are due to particular performance problems caused by K-root’s hybrid deployment and are analysed and explained in <a href="#conn-loss">Sections 5.3</a> and <a href="#prepending">5.2</a>.</p>
<p><b> <a name="effect"></a>4.1.3 Effect of number of nodes on efficiency </b></p>
<p>The graphs in Figures 1 and 2 show that the anycast efficiency seen by TTM did not significantly change between April 2005 and April 2006, even though the two data sets were collected about a year apart, and had substantially different deployments (in April 2005 K-root had two global nodes and nine local nodes, in April 2006 it had five global nodes and twelve local nodes). This suggests that K-root has not reached the point where there are too many</p>
<p><sup><a name="sup2"></a>2</sup> A result of <span>α<sub>i</sub></span>&lt; 1 could also be due to the path to the service IP address being different from, and slower than, the paths to every internal IP address. However, examining the query responses showed that in every case where <span>α<sub>i</sub></span>&lt; 1 , the node that replied was a local node.</p>
<div align="center"><img alt="moretables.png" class="image-inline" src="resolveuid/1984374d679f21c3eb8a66015fcc6d1f" usemap="#Map2" width="700" /> 
<map name="Map2">
<area alt="Click Image for larger version" coords="353,3,704,260" href="../../images/bgpchoice-200604120000-globalonly.ps.png" shape="rect" />
<area alt="Click imnage for a larger version" coords="1,1,348,266" href="../../images/bgpchoice-globalonly.ps.png" shape="rect" /> 
</map>
<div class="small">Figure 2: Efficiency factor α seen by TTM, only test-boxes whose best node was a global node (a) Two global nodes, April 2004; (b) Five global nodes, April 2005<br /> Click the images for a larger version  .</div>
</div>
<p>routing announcements competing in the global routing system for BGP to draw substantially wrong conclusions and that there is still room for more global nodes.</p>
<p><b> <a name="anycast-efficiency"></a>4.1.4 Consistency of anycast efficiency over time</b></p>
<div align="center"><img alt="alphaovertime.eps.png" class="image-inline" height="331" src="resolveuid/698f05bc09f95a6d436ea2ba9189f508" usemap="#Map3" width="464" /> 
<map name="Map3">
<area alt="Click image for a larger version" coords="-1,-4,466,333" href="../../images/alphaovertime.eps.png" shape="rect" /> 
</map>
<div class="small">Figure 3: Average value of α over all test-boxes except tt103 over a 7-week period.<br /> Click the image for a larger version</div>
</div>
<p>To determine whether the anycast efficiency factor is consistent over time, we repeated the measurements once every hour for the 7-week period between 8 March and 26 April 2006. For every hour, we averaged <span>α<sub>i</sub></span> over all the test-boxes except tt103 and plotted the results. The results are in Figure 3. As can be seen, the average value of α is fairly constant over time.</p>
<p><b> <a name="comparison"></a>4.1.5 Comparison with similar work </b></p>
<p>Our results show that the efficiency seen by TTM is quite good. This contrasts with existing work using similar methodologies which finds that BGP anycast has poor properties of locality [<a href="#refs">24, 4</a>]. In particular, [<a href="#refs">4</a>] examines the performance of the the J-root server, finding that that 40% of the clients used experienced values of α greater than 4. The authors suggest that the problem is due to to the fact that each J-root node is deployed in a POP of a different ISP and therefore the customers of each of those ISPs see as shortest path the node deployed in the POP of their ISP, regardless of their location. The same authors, in [<a href="#refs">3</a>], study the anycast deployments of F-root and of the AS 112 project [<a href="#refs">25</a>] with similar negative results. This suggest that the effects of anycast on latency are strongly dependent both on the type of anycast deployment used and on network topology and that further research is needed to model them.</p>
<div align="center"><img alt="maps.gif" class="image-inline" height="302" src="resolveuid/197802249431f59cf342b3e14927045d" width="500" />
<div class="small">Figure 4: Locations of TTM test-traffic boxes</div>
</div>
<h3><b> <a name="ss-performance"></a>4.2 Server-side performance </b></h3>
<p>The client-side results we have just described show that the K-root deployment is very effecient. However, the mea-surements taken by TTM are biased: firstly, the client population is limited to a few tens of nodes, and secondly, as can be seen in Figure 4, the positions of the test-traffic boxes are biased towards Europe. Therefore, we applied the methodologies described in <a href="#serverside">Section 3.1.2</a> in order to obtain a more complete picture of the quality of service provided to the client population as a whole.</p>
<p><b> <a name="ss-method"></a>4.2.1 Methodology </b></p>
<p>The global client population of K-root was obtained by analysing the packet traces of the global nodes. We examined 6 hours of data, for a total of 246,769,005 queries from 845,328 client IP addresses. From every node we then sent ping packets to these IP addresses using the custom <span class="pre">pinger</span> software developed by the authors<sup><a href="#sup3">3</a></sup> .</p>
<p>In order to avoid loading the DNS servers themselves, the pings were run from the monitoring server in each node; to ensure the paths taken by the packets to and from the client were as similar as possible to the paths to the DNS servers, <span class="pre">pinger</span> was configured to use the same gateway towards the Internet as the DNS servers and to send the ping packets from using a source IP address on the same subnet as the servers’ internal addresses.</p>
<p>In order to minimise the likelihood of routing changes affecting the RTTs to the clients, our goal was to to ping the whole client population in as little time as possible while limiting server load. Therefore, <span class="pre">pinger</span> was written to parallelise pings using a configurable number of threads; for our experiments we used 500 threads sending out one packet per second each. The measurement was performed on 18 April 2006 and lasted approximately two and a half hours, during which each client was pinged five times in consecutive seconds. As can be seen in Table 2, almost half of the IP addresses queried did not respond to our pings, possibly because they were behind firewalls.</p>
<div align="center">
<table class="grid listing">
<tbody>
<tr>
<td>
<div align="center"><span>Node</span></div>
</td>
<td>
<div align="center"><span>Total</span></div>
</td>
<td>
<div align="center"><span>Responded</span></div>
</td>
<td>
<div align="center"><span>%</span></div>
</td>
</tr>
<tr>
<td>
<div align="center">linx</div>
</td>
<td>
<div align="center">845328</div>
</td>
<td>
<div align="center">456631</div>
</td>
<td>
<div align="center">54.0</div>
</td>
</tr>
<tr>
<td>
<div align="center">ams-ix</div>
</td>
<td>
<div align="center">845328</div>
</td>
<td>
<div align="center">479018</div>
</td>
<td>
<div align="center">56.7</div>
</td>
</tr>
<tr>
<td>
<div align="center">tokyo</div>
</td>
<td>
<div align="center">845328</div>
</td>
<td>
<div align="center">457115</div>
</td>
<td>
<div align="center">54.1</div>
</td>
</tr>
<tr>
<td>
<div align="center">nap</div>
</td>
<td>
<div align="center">845328</div>
</td>
<td>
<div align="center">463380</div>
</td>
<td>
<div align="center">54.8</div>
</td>
</tr>
<tr>
<td>
<div align="center">delhi</div>
</td>
<td>
<div align="center">845328</div>
</td>
<td>
<div align="center">463751</div>
</td>
<td>
<div align="center">54.9</div>
</td>
</tr>
</tbody>
</table>
<div class="small">Table 2: Percentage of clients replying to ping requests</div>
</div>
<p><b> <a name="ss-results"></a>4.2.2 Results </b></p>
<p>The values of the anycast efficiency factor α are shown in Figure 5(a). As can be seen, only approximately 50% of clients choose the node with the lowest latency. These results are substantially worse than those observed by client-side measurements using the TTM network presented in Figures 1 and 2; this may be due to the fact that the TTM test-boxes are predominantly based in Europe, which is very well provisioned with two K-root global nodes.</p>
<p>The rightmost column of Figure 9 contains CDF plots of the loss factor <span>β<sup>i</sup><sub>n</sub></span>. The first two plots show that neither the LINX or AMS-IX nodes provide much benefit on their own. This result is surprising, because these are the busiest K-root nodes and the ones with the richest set of peering connections. The explanation for this is in Figure 5(b), which</p>
<p><a name="sup3"></a><sup>3</sup> The source code to <span class="pre">pinger</span> will be available on-line by the camera-ready deadline.</p>
<div align="center"><img alt="alpha.eps.png" class="image-inline" height="215" src="resolveuid/b1af4b2f5f2f4c70f6c1e86b3f552e3c" width="230" /><img alt="mergedeuropeknockout.eps.png" class="image-inline" height="215" src="resolveuid/1a658642e1c595fa27078af23e806b12" width="230" /><img alt="merged.eps.png" class="image-inline" height="215" src="resolveuid/55400dcc7b2f1f5f96dbdfbefb2bcaf4" width="230" />
<div class="small">Figure 5: Evaluating K-root performance using server-side measurements: (a) CDF plot of the anycast efficiency factor α; (b) Combined loss factor of the AMS-IX and LINX nodes, showing that each provides little benefit on its own, but taken together they are important; (c) Loss factor of all global nodes except LINX, showing that the deployment of anycast brings substantial benefits to clients.</div>
</div>
<p>plots the loss factor of both nodes taken together. The graph clearly shows that although neither node provides much benefit on its own, taken together they are important; the low benefit each node has reflects the fact that the nodes are very similar from the point of view of clients and thus are redundant. The remaining three plots show that the Miami node provides moderate benefit for some clients, that the Tokyo node is the best node for a small population of clients, but those clients are very poorly served by the other global nodes, and that the Delhi node only provides marginal benefit.</p>
<p>These results are consistent with the calculated benefit values <span>B<sub>n</sub></span> of each node, shown in Table 3. As can be seen, there is a wide variation: the node providing the most benefit, Tokyo, has <span>B</span> =14 . 1 , while the node providing the least benefit, Delhi, has <span>B</span> =1 . 01 and thus its presence is only marginally useful. Taken together, LINX and AMS-IX have a high benefit value of 23.1 .</p>
<div align="center">
<table class="grid listing">
<tbody>
<tr>
<td><b> Node </b></td>
<td><b> Benefit </b></td>
</tr>
<tr>
<td>linx</td>
<td>1.5</td>
</tr>
<tr>
<td>ams-ix</td>
<td>1.9</td>
</tr>
<tr>
<td>tokyo</td>
<td>14.1</td>
</tr>
<tr>
<td>nap</td>
<td>2.5</td>
</tr>
<tr>
<td>delhi</td>
<td>1.01</td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td>Europe</td>
<td>23.1</td>
</tr>
<tr>
<td>Anycast</td>
<td>18.8</td>
</tr>
</tbody>
</table>
<p class="small">Table 3: Percentage of clients replying to ping requests</p>
</div>
<p>The server-side measurements also allow us to evaluate the benefit of deploying anycast as opposed to keeping K-root in only one location (before anycast was deployed, K-root only had one node at LINX; see Table 1). Figure 5(c) shows the combined loss factor of all the global nodes except LINX. As can be seen, more than 80% of clients have a loss factor greater than 1. This is also reflected by the combined benefit value of all the other nodes, <span>B<sub>A</sub></span> =18 . 8 .</p>
<h3><b><a name="impact"></a>4.3 Impact of node switches </b></h3>
<p>To evaluate the effect of routing switches on queries, we analysed all the UDP queries seen by the global nodes of K-root in a given time period. We processed queries in chronological order, and for every query, we logged the client IP and which node it was sent to. If a given client IP was observed to query a different node from the one it had last queried, we logged a node switch.</p>
<p>We repeated the experiment twice, once in April 2005 and once in April 2006. The results are in Table 4. As can be seen, in these two samples node switches are fairly rare: the April 2006 results show only 150 , 938(0 . 06%) node switches; that is, 99 . 94% of all queries made were made to the same node as the querier had used for the previous query. Furthermore, of 845 , 328 client IP addresses seen, only 2 , 830(1 . 1%) switched node one or more times during the 24-hour period. These results are comparable with those in [<a href="#refs">12</a>], which studied all the anycasted root servers using DNSMON [<a href="#refs">20</a>] client-side probes and observed node switches in approximately 0 . 017% of queries. If we compare</p>
<div align="center">
<table class="grid listing">
<tbody>
<tr>
<td></td>
<td><b> April 2005<br /> </b> (2 Nodes)</td>
<td><b> April 2006<br /> </b> (5 nodes)</td>
</tr>
<tr>
<td>Interval</td>
<td>24 hours</td>
<td>5 hours</td>
</tr>
<tr>
<td>Queries</td>
<td>527,376,619</td>
<td>246,769,005</td>
</tr>
<tr>
<td>Switches</td>
<td>30,993 (0.006%)</td>
<td>150,938 (0.06%)</td>
</tr>
<tr>
<td>IPs seen</td>
<td>884,010</td>
<td>845,328</td>
</tr>
<tr>
<td>IPs switching</td>
<td>10,557 (1.1%)</td>
<td>2,830 (0.33%)</td>
</tr>
</tbody>
</table>
<p class="small">Table 4: Impact of node switches</p>
</div>
<p>the April 2005 data to the April 2006 data, we note a large increase in the percentage of node switches. This may be due to the larger number of routes competing in the global routing table leading to increased routing churn and more routing switches.</p>
<h2><b> <a name="routing"></a>5 Routing issues </b></h2>
<p>In this section, we examine various non-obvious routing issues that we observed during our analysis and that cause performance and reachability problems.</p>
<h3><b><a name="degradation"></a>5.1 Performance degradation due to local nodes </b></h3>
<p>Figure 2(a) shows that while local nodes can increase performance, they can also have the opposite effect. Of the 20 test-boxes whose best node is a local node, 16 (80%) have <span>α<sub>i</sub></span> &lt; 1 and thus benefit from the presence of the local node, but 4 (20%) have <span>α<sub>i</sub></span>&gt; 1 and therefore obtain worse performance by querying the local node than they would by querying the closest global node. The most obvious example of this behaviour is test-box tt89, whose performance is worse almost by a factor of 10. Queries from tt89, which is located in the UK, were being routed to the denic local node in Frankfurt, which had a response time of 28 ms, instead of the <span class="pre">linx</span> node in London, which had a response time of 3 ms (see Figure 6). When we analysed the results, the problem had been resolved and it was not possible to determine the cause of the problem with certainty. However, we believe the explanation is as follows: the path to the service prefix was announced by the Frankfurt node to an AS <span>A</span> which ignored the no-export community and propagated it to tt89’s AS <span>B</span> . AS <span>B</span> also received the announcement for the service prefix from the London node, but since this path was at least three ASes long due to prepending, it preferred the announcement it received from <span>A</span> and thus chose the Frankfurt node. Unfortunately, we note that in current operational practices it is not unusual for operators to propagate routes with the no-export attribute to their customers. We note that it is not the presence of the local node that is causing the problem here: rather, it is the use of prepending on the global nodes that is causing clients to query local nodes even when a global node is better connected. This is one of the disadvantages of the hybrid deployment adopted by K-root.</p>
<pre>193.0.14.129 k2.denic 29 k2.denic 30 k2.denic 29 k2.denic 30 k2.denic 29<br />193.0.16.1 k1.linx 4 k1.linx 3 k1.linx 3 k1.linx 3 k1.linx 3<br />193.0.16.2 k2.linx 3 k2.linx 3 k2.linx 3 k2.linx 3 k2.linx 4<br />193.0.17.1 k1.ams-ix 12 k1.ams-ix 11 k1.ams-ix 12 k1.ams-ix 13 k1.ams-ix 13<br />193.0.17.2 k2.ams-ix 12 k2.ams-ix 13 k2.ams-ix 11 k2.ams-ix 12 k2.ams-ix 13</pre>
<p class="small">Figure 6: Raw latency results from tt89 on 2005-04-08 (times in ms)</p>
<h3><b><a name="prepending"></a>5.2 Performance degradation due to different prepending lengths </b></h3>
<p>Due to the fact that AS-path length is a relatively coarse metric, announcing different prepending lengths from different nodes can lead to performance problems. The outlier in Figure 1(b), tt103, has an efficiency factor of 208. tt103 is in Yokohama, Japan, and reaches the Tokyo node in 2 ms. However, as shown in Figure 7, it is using the Delhi node, reaching it in over 400 ms. Subsequent traceroutes later showed that the path to Delhi was also very inefficient, going through Tokyo, Los Angeles and Hong Kong in order to reach India. Inspection of the BGP tables of tt103’s AS, AS2497, show that all the AS-paths to the Tokyo node seen by tt103’s AS, AS2497, are four ASes long, while the AS-path to the Delhi node, 2200 9430 25152 25152, is three ASes long. This is due to the Tokyo node announcing a non-optimal prepending length of four.</p>
<pre>193.0.14.129 k1.delhi 422 k1.delhi 416 k1.delhi 423 k1.delhi 428 k1.delhi 419<br />203.119.22.1 k1.tokyo 2 k1.tokyo 2 k1.tokyo 2 k1.tokyo 2 k1.tokyo 2<br />203.119.22.2 k2.tokyo 2 k2.tokyo 2 k2.tokyo 2 k2.tokyo 3 k2.tokyo 2<br />203.119.23.1 k1.delhi 422 k1.delhi 418 k1.delhi 421 k1.delhi 415 k1.delhi 426<br />203.119.23.2 k2.delhi 422 k2.delhi 428 k2.delhi 419 k2.delhi 417 k2.delhi 417<br /></pre>
<p class="small">Figure 7: Raw latency results from tt103 on 2006-04-12 (times in ms)</p>
<div align="center"><img alt="reachability.ps.png" class="image-inline" height="526" src="resolveuid/23f1e5fe96ad7c1a3a64724f70228f54" width="700" />
<div class="small">Figure 8: Reachability problems with no-export. ISP1 and ISP2 peer with local nodes of K-root, but the no-export community prevents them from reannouncing the route to Customer.</div>
</div>
<h3><b><a name="conn-loss"></a>5.3 Loss of connectivity due to no-export </b></h3>
<p>The use of the no-export community can lead to scenarios in which a client may not be able to reach K-root at all. This problem, first reported by Randy Bush on an operational mailing list [<a href="#refs">7</a>], is due to the problematic interaction of no-export with anycast. Consider Figure 8: the customer AS receives transit from two upstream providers, ISP1 and ISP2. If the two providers both peer with a local node of K-root and honour the no-export community, then their routers will be forbidden to announce the route to the customer AS. In this case, the customer AS will have no route to K-root and will be unable to reach it at all.</p>
<p>This problem was addressed in the K-root anycast deployment by announcing a less-specific prefix of the service prefix, the <i>covering prefix</i>, without no-export. If a BGP router has a route to the service prefix, it will use it, but if it does not, it will use the less-specific route to the covering prefix. This ensures that the service IP is reachable.</p>
<p>Note that the covering prefix announcement does not affect routing: once packets addressed to the service IP reach one of the upstreams, they will follow the route to the service prefix and will thus reach the local node seen by that upstream. Therefore, the covering prefix is announced from one node only (currently, the AMS-IX node).</p>
<h2><b> <a name="anycast-load"></a>6 Effect of anycast on server load </b></h2>
<p>In this section, we present operational data on the K-root deployment with a view to understanding the effects of anycast on server load. First, we analyse server logs order to study the effects of K-root’s hybrid topology on load-balancing between nodes. We then examine the geographical distribution of the clients seen by each node.</p>
<h3><b><a name="logs"></a>6.1 Analysis of server logs </b></h3>
<p>To determine the effects on server load of the deployment of new nodes, we analysed the server logs to obtain the daily average of the number of queries per second seen by each local node from January 2004 to April 2006. Our results are in Figure 10(a). As can be seen, deploying new local nodes does not decrease the number of queries processed, and thus the effectiveness, of existing local nodes. We would expect this to be the case: due to the small catchment areas of local nodes, the probability of a given network receiving announcements for more than one local node is very small. Note that we are assuming that the load offered to the K-root server is constant and independent of the nodes deployed, which is not strictly true due to the fact that many nameserver implementations select which server to query on the basis of past query latencies [<a href="#refs">26</a>]. However, the addition of one local node to a root server system which already consists of tens of nodes is not likely to cause large shifts in traffic.</p>
<div align="center"><br /> <img alt="fig9.gif" class="image-inline" height="852" src="resolveuid/a4a062f27f59912bd6f8946caaea8c18" width="674" />
<div class="small">
<p>Figure 9: Client distribution of K-root global nodes. From left to right: query map; latency (ms); node benefit.</p>
<p><img alt="globals.gif" class="image-inline" height="400" src="resolveuid/2755cbd892dae48b550dcbbc3de87342" width="800" /></p>
<p>Figure 10: Geographical distribution of global node clients.</p>
</div>
</div>
<div align="center">
<p><br /> <img alt="fig11.gif" class="image-inline" height="333" src="resolveuid/6509542e058cbd6b6a28140ba9ef4892" width="850" /></p>
<p> </p>
<div class="small">Figure 11: Queries per second to K-root nodes over time (daily average): (a) Breakdown of queries to local nodes; (b) Comparison of queries to local nodes and to global nodes.</div>
<p>Figure 11(a) also shows that there is a very wide variation in the number of queries processed by global and local nodes. For example, the difference between the daily number of queries processed by the denic and mix nodes is about two orders of magnitude. This shows that the location of a node has a large impact on the effectiveness of the node itself and thus care must be taken in local node placement. However, we also note that if the intent is to increase performance, a local node can be beneficial even if it serves few queries if the location is so topologically isolated that performance of the other root servers is very low.</p>
<p>Figure 11(b) compares the aggregate traffic volumes of local nodes and global nodes. As can be seen, local nodes account for only about 20-25 percent of total traffic. This shows that deploying local nodes is not an effective strategy to decrease the query load on global nodes: even the two largest local nodes, <span class="pre">denic</span> and <span class="pre">cern</span> , do not process more than about 10% of the total query load. Figure 10(b) also shows that an increase in local node traffic does not seem to cause a corresponding decrease in global node traffic. This suggests that when a new local node is deployed, traffic is subtracted more from the other root servers than from the other K-root nodes.</p>
</div>
<h3><b><a name="geo"></a>6.2 Geographical distribution of queries by node </b></h3>
<p>To discover the geographical distribution of K-root clients we extracted a list of IP addresses from approximately six hours of packet traces and used geolocation software to map them to geographical coordinates. The number of queries and clients seen by each node in this interval is in Table 5. The geolocation software used was the the free GeoLite [<a href="#prefs">13</a>], which is claimed to be approximately 97% accurate at the country level and 60% accurate at the city level.</p>
<div align="center">
<table class="grid listing">
<tbody>
<tr>
<td><b> Node </b></td>
<td><b> Queries </b></td>
<td><b> Hosts </b></td>
</tr>
<tr>
<td>linx</td>
<td>74300749</td>
<td>341337</td>
</tr>
<tr>
<td>ams-ix</td>
<td>38974255</td>
<td>221348</td>
</tr>
<tr>
<td>tokyo</td>
<td>24215868</td>
<td>93545</td>
</tr>
<tr>
<td>nap</td>
<td>34385634</td>
<td>167267</td>
</tr>
<tr>
<td>delhi</td>
<td>2761721</td>
<td>13131</td>
</tr>
</tbody>
</table>
<p class="small">Table 5: Queries used for geolocation</p>
</div>
<p>The results are in the left column of Figure 9 and aggregated in       Figure 10. Every location containing one or more clients is mapped to a dot on the maps; the more IP addresses in a given area, the larger the dot. As can be seen from the maps, the LINX node is the one with the farthest reach: clients are spread all over the world as far as Australia, South America, South Africa, and the Far East. The AMS-IX has a slightly lower reach but is more concentrated in Europe. The clients of the Miami node are heavily concentrated in the Americas; this can also be seen in loss factor distribution, which shows a moderate number of clients gaining a moderate benefit, and in the latency distribution, which shows a m. The Tokyo node is very concentrated in Japan, probably due to the non-optimal prepending configuration already observed in <a href="#prepending">Section 5.2</a>. Finally, the Delhi node has very high latencies to most clients and is not substantially queried even in India.</p>
<h2><b> <a name="conclusions"></a>7 Conclusions </b></h2>
<p>In this paper we have presented methodologies for evaluating the performance of an anycasted DNS server that com-bine the analysis of packet traces and server logs with active measurements to evaluate both the benefit to clients of the anycast cloud as a whole and the benefit provided by individual nodes in the cloud. We have applied the methodologies to the K-root DNS server, combining the results with operational and geographical to obtain a comprehensive picture of the performance of K-root.</p>
<p>Our results show that anycast has good effects on latency, especially in Europe, which is very well provisioned with two K-root nodes, and that node switches, which have been identified in other work, are not currently a serious problem for K-root. Furthermore, the comparison of data gathered in 2005 on a deployment with two global nodes with data gathered in 2006 on a deployment with five global nodes shows that the K-root deployment has not yet hit the point of diminishing returns and that the deployment of future nodes could increase performance. Our results also show better performance than that observed in other work, suggesting that the types of anycast deployment and topologies used have a large impact on the effects of anycast and that further research is needed for a more general model.</p>
<p>In the future we would like to apply our methodologies to other root server clouds in order to determine the effects of different topologies on performance and to determine which topologies, if any, are optimal. Other problems we intend to work on are determining the effects of prepending schemes on anycast performance and developing a methodology for choosing the most effective location for a new node in the cloud.</p>
<h3><b> <a name="ack"></a>Acknowledgements </b></h3>
<p>The authors would like to thank Walter Willinger for his guidance and insightful comments and Daniel Karrenberg, Rene Wilhelm and Robert Kisteleki for useful discussion. Thanks go to Randy Bush for pointing out the loss of reacha-bility caused by no-export and Randy Bush and with Matsuzaki Yoshinobu for helping investigate tt103’s performance problems.</p>
<h3><b> <a name="refs"></a>References </b></h3>
<p>[1] J. Abley. <a href="http://www.isc.org/pubs/tn/isc-tn-2003-1.html" target="_blank">Hierarchical anycast for global service distribution</a>. ISC technical note 2003-1, 2003.</p>
<p>[2] J. Abley.<a href="http://www.isc.org/pubs/tn/isc-tn-2004-1.html" target="_blank">A software approach to distributing requests for DNS service using GNU Zebra, ISC BIND 9 and FreeBSD</a>. ISC technical note 2004-1, Mar. 2004.</p>
<p>[3] H. Ballani and P. Francis. IP anycast measurement study. Unpublished manuscript.</p>
<p>[4] H. Ballani and P. Francis. <a href="http://delivery.acm.org/10.1145/1090000/1080127/p301-ballani.pdf?key1=1080127&amp;key2=1047655511&amp;coll=GUIDE&amp;dl=&amp;CFID=15151515&amp;CFTOKEN=6184618" target="_blank">Towards a global IP anycast service</a> <span class="small">(pdf)</span>. In <i>Proceedings of SIGCOMM ’05</i>, pages 301–312. ACM Press, Aug. 2005.</p>
<p>[5] P. Barber, M. Larson, M. Kosters, and P. Toscano.<a href="http://www.nanog.org/mtg-0410/kosters.html" target="_blank">Life and times of J-ROOT</a>. In <i>Proceedings of NANOG 32</i>, Oct. 2004.</p>
<p>[6] P. Boothe and R. Bush. <a href="http://rip.psg.com/%7Erandy/050223.anycast-apnic.pdf" target="_blank">DNS anycast stability: Some early results</a> <span class="small">(pdf)</span>. In <i>Proceedings of APNIC 19</i>, Feb. 2005.</p>
<p>[7] R. Bush. <a href="http://www.merit.edu/mail.archives/nanog/2005-10/msg01226.html" target="_blank">Oh K can you see</a>. NANOG mailing list archives, Oct. 2005.</p>
<p>[8] R. Chandra, P. Traina, and T. Li. <a href="ftp://ftp.ripe.net/rfc/rfc1997.txt">BGP communities attribute. RFC 1997</a>, Aug. 1996.</p>
<p>[9] T. Hardie. <a href="ftp://ftp.ripe.net/rfc/rfc3258.txt">Distributing authoritative nameservers via shared unicast addresses. RFC 3258</a>, Apr. 2002.</p>
<p>[10] B. Huffaker, M. Fomenkov, D. J. Plummer, D. Moore, and k claffy. <a href="http://www.caida.org/publications/papers/2002/Distance/" target="_blank">Distance metrics in the internet</a>. In <i>IEEE International Telecommunications Symposium (ITS)</i>, Sept. 2002.</p>
<p>[11] B. Huffaker, D. Plummer, D. Moore, and k claffy. <a href="http://www.caida.org/publications/papers/2002/SkitterOverview/" target="_blank">Topology discovery by active probing</a>. In <i>Symposium on Applications and the Internet (SAINT)</i>, Jan. 2002.</p>
<p>[12] D. Karrenberg. <a href="http://www.nanog.org/mtg-0505/karrenberg.html" target="_blank">DNS anycast stability</a>. In <i>Proceedings of NANOG 34</i>, May 2005.</p>
<p>[13] MaxMind LLC. GeoLite free country database. <a href="http://maxmind.com/" target="_blank">http://maxmind.com/</a> .</p>
<p>[14] P. Mockapetris. <a href="ftp://ftp.ripe.net/rfc/rfc1034.txt">Domain names - concepts and facilities. RFC 1034</a>, Nov. 1987.</p>
<p>[15] P. Mockapetris. <a href="ftp://ftp.ripe.net/rfc/rfc1035.txt">Domain names  -implementation and specification. RFC 1035</a>, Nov. 1987.</p>
<p>[16] P. Mockapetris and K. J. Dunlap. <a href="http://portal.acm.org/citation.cfm?id=52338" target="_blank">Development of the domain name system</a>. In <i>SIGCOMM ’88: Symposium proceedings on Communications architectures and protocols</i>, pages 123–133. ACM Press, 1988.</p>
<p>[17] NLNet Labs. NSD nameserver. <a href="http://www.nlnetlabs.nl/nsd/" target="_blank">http://www.nlnetlabs.nl/nsd/</a> .</p>
<p>[18] C. Partridge, T. Mendez, and W. Milliken. <a href="ftp://ftp.ripe.net/rfc/rfc1546.txt">Host anycasting service. RFC 1546</a>, Nov. 1993.</p>
<p>[19] Planetlab. <a href="http://www.planet-lab.org/" target="_blank">http://www.planet-lab.org/</a> .</p>
<p>[20] RIPE NCC. DNSMON project. <a href="http://dnsmon.ripe.net/">http://dnsmon.ripe.net/</a> .</p>
<p>[21] RIPE NCC. Routing Information Service. <a class="internal-link" href="resolveuid/8a43ee8217503fb22157ce62ffbab44c">http://www.ripe.net/ris/</a> .</p>
<p>[22] RIPE NCC. Test traffic measurements service.<a class="internal-link" href="resolveuid/8cd0262a77fa7bf18ff6dcc84c044962"> http://www.ripe.net/ttm/</a> .</p>
<p>[23] DNS root nameservers web site. <a href="http://www.root-servers.org/" target="_blank">http://www.root-servers.org/</a> .</p>
<p>[24] S. Sarat, S. Pappas, and A. Terzis. <a href="http://www.cs.jhu.edu/%7Esarat/AnycastPoster.pdf" target="_blank">On the use of anycast in DNS</a> <span class="small">(pdf)</span>. In <i>ACM SIGMETRICS 2005</i>, June 2005.</p>
<p>[25] P. Vixie. AS112 project. <a href="http://www.as112.net/" target="_blank">http://www.as112.net/</a> .</p>
<p>[26] D. Wessels. <a href="http://www.nanog.org/mtg-0310/wessels.html" target="_blank">Update on anomalous DNS behavior</a>. In <i>Proceedings of NANOG 29</i>, Oct. 2003.</p>
<p>[27] S. Woolf and D. Conrad. Identifying an authoritative nameserver. Work in progress.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>dns</dc:subject>
    
    <dc:date>2006-10-19T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-379">
    <title>RIPE "IP Anti-Spoofing" Task Force</title>
    <link>http://www.ripe.net/ripe/docs/ripe-379</link>
    <description>At RIPE 52  in Istanbul, RIPE established a task force that promotes deployment of ingress filtering at the network edge by raising awareness and provide indirect incentives for deployment.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2><a name="intro"></a>1. Introduction</h2>
<p>IP source address spoofing is the practice of originating IP                    datagrams with source addresses other than those assigned to                    the host of origin. In simple words, the host pretends to be                    some other host.</p>
<p>This can be exploited in various ways, most notably to execute                    Denial of Service (DoS) amplification attacks that cause an                    amplifier host to send traffic to the spoofed address.</p>
<p>There are many recommendations to prevent IP spoofing by ingress                    filtering, e.g. checking source addresses of IP datagrams close                    to the network edge.</p>
<p>Most equipment vendors support ingress filtering in some form.</p>
<p>Yet recently, significant DoS amplification attacks have happened                    that would be impossible without spoofing.</p>
<p>This demonstrates that ingress filtering is definitely not                    deployed sufficiently. Unfortunately, there are no direct benefits                    to an Internet Service provider (ISP) that deploys ingress filtering.                    Also, there is a widely held belief that ingress filtering only                    helps when it is universally deployed.</p>
<p>At <a class="internal-link" href="resolveuid/ca3d060c2df5ba7891d7fc313ae1b17c">RIPE 52</a> in Istanbul,                    RIPE established a task force that promotes deployment of ingress                    filtering at the network edge by raising awareness and provide                    indirect incentives for deployment.</p>
<hr />
<h2><a name="charter"></a>2. Charter</h2>
<p>This task force shall</p>
<ul>
<li> raise awareness about this issue among network operators, </li>
<li>inform about operational methods to implement ingress filtering,</li>
<li>collect and channel requirements to equipment vendors where                      appropriate, </li>
</ul>
<p><i> and </i></p>
<ul>
<li>
<p>seek ways to provide incentives and benefits to operators                        that do implement ingress filtering.</p>
</li>
</ul>
<p>The task force shall have completed its task when</p>
<ul>
<li>
<p>network operators cannot reasonably claim not to be aware                        of the issue,</p>
</li>
<li>
<p>information about ways to deploy ingress filtering are                        readily available</p>
</li>
</ul>
<p><i> and</i></p>
<ul>
<li>
<p>any incentives that it may have devised have become available.</p>
</li>
</ul>
<p>The task force shall be disbanded when these tasks have been                    completed or when there is consensus within RIPE that completion                    of the tasks is no longer realistic.</p>
<hr />
<h2><a name="timeline"></a>3. Time-Line</h2>
<table>
<tbody>
<tr>
<td><b>RIPE 52:</b> <br /> <img height="1" src="../../images/spacer.gif" width="80" /></td>
<td>BoF and Establishment of Task                          Force<br /> Quickly draft and publish a RIPE recommendation citing                          existing work.<br /> Compile How-To with (pointers to) vendor documentation                          and operational experience reports.<br /> Establish liaison with <a href="http://spoofer.csail.mit.edu/" target="_blank">MIT                          ANA Spoofer Project</a> and promote their tools.<br /> Analyse Spoofer data for the RIPE region.</td>
</tr>
</tbody>
</table>
<p> </p>
<table>
<tbody>
<tr>
<td><b>RIPE 53:</b> <br /> <img height="1" src="../../images/spacer.gif" width="80" /></td>
<td>Published "RIPE Recommendation                        on Ingress Filtering".<br /> Published first edition of "Ingress Filtering How-To".<br /> Collect any critical requirements to be communicated to                        equipment vendors.<br /> First analysis of Spoofer data.<br /> Discuss possible incentive schemes.<br /> Revise and extend How-To.<br /> Devise possible incentive schemes like a "Source Address                        Clean" network logo, suitable RIPE Database attributes                        ...</td>
</tr>
</tbody>
</table>
<p> </p>
<table>
<tbody>
<tr>
<td><b>RIPE 54:</b> <br /> <img height="1" src="../../images/spacer.gif" width="80" /></td>
<td>Published second edition of "IP                        Source Address Filtering How-To".<br /> Further analysis of Spoofer data for the RIPE region.<br /> Launch of any incentive scheme.<br /> Implement incentive scheme.<br /> Monitor progress and effectiveness.</td>
</tr>
</tbody>
</table>
<p> </p>
<table>
<tbody>
<tr>
<td><b>RIPE 55:</b> <br /> <img height="1" src="../../images/spacer.gif" width="80" /></td>
<td>Evaluation and Disbanding of                        Task Force.</td>
</tr>
</tbody>
</table>
<hr />
<h2><a name="contacts"></a>4. Contacts</h2>
<p>The task force mailing list is &lt;spoofing-tf@ripe.net&gt;.<br /> The web interface for subscriptions and the archive are at<br /> <a href="http://www.ripe.net/mailman/listinfo/spoofing-tf">http://www.ripe.net/mailman/listinfo/spoofing-tf</a> .</p>
<p>The task force is co-chaired by Nina Hjorth Bargisen (NINA1-RIPE)                    and Daniel Karrenberg (DK58).</p>
<p>A web page detailing current activities will be set up.</p>
<hr />
<h2><a name="refs"></a>5. References</h2>
<p>RFC2827 aka BCP38<br /> Network Ingress Filtering: <br /> Defeating Denial of Service Attacks which employ IP Source Address                    Spoofing<br /> <a href="http://www.ietf.org/rfc/rfc2827.txt" target="_blank">http://www.ietf.org/rfc/rfc2827.txt</a></p>
<p>SSAC004<br /> Securing the Edge<br /> <a href="http://www.icann.org/committees/security/sac004.txt" target="_blank">http://www.icann.org/committees/security/sac004.txt</a></p>
<p>SSAC008<br /> DNS Distributed Denial of Service (DDoS) Attacks <br /> <a href="http://www.icann.org/committees/security/dns-ddos-advisory-31mar06.pdf" target="_blank">http://www.icann.org/committees/security/dns-ddos-advisory-31mar06.pdf</a></p>
<p>ripe-66<br /> RIPE Task Forces<br /> <a href="ftp://ftp.ripe.net/ripe/docs/ripe-066.txt">ftp://ftp.ripe.net/ripe/docs/ripe-066.txt</a></p>
<p>MIT Spoofer Project<br /> <a href="http://spoofer.csail.mit.edu/" target="_blank">http://spoofer.csail.mit.edu/</a></p>
<p>RFC3024 - Reverse Tunneling for Mobile IP, revised <br /> <a href="ftp://ftp.rfc-editor.org/in-notes/rfc3024.txt" target="_blank">ftp://ftp.rfc-editor.org/in-notes/rfc3024.txt</a></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>ripe task forces</dc:subject>
    
    <dc:date>2006-05-15T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-353">
    <title>ASN Missing In Action: A Comparison of RIR Statistics and RIS Reality</title>
    <link>http://www.ripe.net/ripe/docs/ripe-353</link>
    <description>ripe-353: In this paper, we look at Autonomous System Number (ASN) assignments by the Regional Internet Registries (RIRs) and the number of unique ASNs seen by routers on the Internet. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>In this paper, we look at Autonomous System Number (ASN) assignments by the Regional Internet Registries (RIRs) and the number of unique ASNs seen by routers on the Internet.</p>
<p>Due to heavy graphic use, this RIPE Document is best read in .pdf format.</p>
<p>On request, we will supply a .html version.</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>as numbers</dc:subject>
    
    
      <dc:subject>ris</dc:subject>
    
    <dc:date>2005-10-09T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-352">
    <title>Measuring The Resource Requirements Of DNSSEC</title>
    <link>http://www.ripe.net/ripe/docs/ripe-352</link>
    <description>We measured the effects of deploying DNSSEC on CPU, memory and bandwidth consumption of authoritative name servers. We did this by replaying query traces captured from ns-pri.ripe.net and k.root-servers.net in a controlled lab environment. </description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Executive Summary:</h2>
<div>We measured the effects of deploying DNSSEC on CPU, memory                    and bandwidth consumption of authoritative name servers. We                    did this by replaying query traces captured from <tt>ns-pri.ripe.net</tt> and <tt>k.root-servers.net</tt> in a controlled lab environment.
<p>We concluded that deploying DNSSEC on <tt>k.root-servers.net</tt> can easily be done with the currently deployed systems. In                      fact using the implementation today, the total increase in                      memory footprint is less than 5%. CPU usage would grow from                      4 to 5% and the increase in bandwidth usage is around 10%.</p>
<p>Deployment of DNSSEC with all zones on <tt>ns-pri.ripe.net</tt> would cause a significantly higher consumption of memory and                      bandwidth usage while CPU would increase slightly. But growth                      is also well within the boundaries set by specifications of                      the currently deployed systems. The difference in bandwidth                      consumption between the <tt>k.root-server.net</tt> and <tt>ns-pri.ripe.net</tt> experiment was mainly due to the difference in the fraction                      of packets that requested DNSSEC information.</p>
<p>For <tt>k.root-servers.net</tt>, we also examined what the                      upper level of bandwidth consumption would be (<i>i.e.</i> what would happen if each request caused DNSSEC processing).                      The amount of bandwidth needed to answer the queries increased                      by 2 or 3 times, depending on some implementation properties.                      This growth is also within boundaries of currently deployed                      systems.</p>
<p>We recommend an implementation choice to minimise bandwidth                      consumption.</p>
<p>Increase of DNSSEC key sizes does not increase the amount                      of answers with the truncation (TC) bit set.</p>
</div>
<hr />
<h2><a id="SECTION00010000000000000000" name="SECTION00010000000000000000"></a> <a id="sec:introduction" name="sec:introduction"></a> Introduction</h2>
<p>DNSSEC [<a href="#RFC4033">RFC 4033</a>,<a href="#RFC4034">RFC 4034</a>,<a href="#RFC4035">RFC 4035</a>] provides authentication                    and integrity checking to the domain name system. DNS Resource                    Records (RR) are signed using private keys. The signatures are                    published in the DNS as RRSIG resource records. The public keys                    that are needed to validate the signatures are published as                    DNSKEY resource records.</p>
<p>In addition to the DNSKEY and RRSIG RRs, DNSSEC introduces                    the NSEC RR that is used to prove the non-existence of data,                    and the DS RR that is used to delegate signing authority from                    one zone to another.</p>
<p>The introduction of these records causes zones to grow significantly.                    It is expected that this growth would have an effect on disks,                    memory and bandwidth usage. Besides DNSSEC aware servers have                    to do special processing to include the appropriate DNSSEC data.                    This might increase CPU load.</p>
<p>In this paper, we have set out to address the following question:                    <i>What would be the immediate and initial effect on memory,                    CPU and bandwidth resources if we were to deploy DNSSEC on k.root-servers.net                    and ns-pri.ripe.net?</i></p>
<p>We performed a number of experiments in a test lab. Focusing                    on the immediate effects we used packet traces captured from                    the <tt>ns-pri.ripe.net</tt> and <tt>k.root-servers.net</tt> production servers. These traces were replayed --mimicking real-time                    behaviour-- in the lab. The name server answering the queries                    carried zones that were signed with various sized keys. We measured                    memory consumption, packet counts and performed bandwidth measurements.                    These metrics in addition to some observations about the data                    contained in the traces provided enough information for provisioning                    the server infrastructure for DNSSEC.</p>
<p>In section <a href="#sec:testsetup">2</a> we describe                    the lab environment. In section <a href="#sec:queries">3</a> we perform an analysis of the query traces that were used in                    the experiment. The EDNS0 properties[<a href="#RFC2671">rfc2671</a>] of these traces is an important                    factor in the final bandwidth usage.</p>
<p>In section <a href="#sec:memload">4</a> we describe the                    impact of loading signed zones on the memory usage of the name                    servers and provide the parameters that can be used to estimate                    memory increase when loading signed zones.</p>
<p>In section <a href="#sec:cpu">5</a> we assess the impact                    on CPU load when serving secured zones. Section <a href="#sec:iostats">6</a> focuses on the bandwidth and the packet statistics for the various                    measurement configurations.</p>
<p>In section <a href="#sec:Discussion">7</a> we discuss                    the results and provide recommendations.</p>
<p>Appendix <a href="#sec:reply-analysis">B</a> provides                    a somewhat academic taxonomy of the replies for some of the                    experiments. We look at size distribution and discuss some of                    the phenomena that can be observed in these size distributions.                    This section contains the count of replies with the TC bit.</p>
<p>The paper by [<a href="#AGER_overhead">ADF05</a>] contains a similar analysis.                    Their experiments were more extended. They involved a caching                    forwarding name server. Their analysis used traces for which                    all the queries had been modified to include the EDNS0 OPT RR                    with the DO bit set. They measured the 'per packet' overhead.                    In this paper we will divert into a similar measurement -- not                    through the modifications of the query but through the modification                    of the name servers. We also measure bandwidth increase instead                    of per packet increase.</p>
<p>We assume the reader is familiar with DNS and DNSSEC jargon.</p>
<p>The figures and graphs are clearest when viewed in colour.</p>
<hr />
<h2><a id="SECTION00020000000000000000" name="SECTION00020000000000000000"></a> <a id="sec:testsetup" name="sec:testsetup"></a> The Test Setup</h2>
<p> </p>
<h3><a id="SECTION00021000000000000000" name="SECTION00021000000000000000"></a> <a id="sec:lab" name="sec:lab"></a> The DISTEL Lab</h3>
<p>The tests are performed on the Domain Name Server testing                    lab "DISTEL" test lab [<a href="#DISTEL_slides">KYLK02</a>]. This lab was designed                    and implemented by the RIPE NCC to perform regression tests                    during the development of NSD. It is currently maintained by                    NLnet Labs.</p>
<p>The lab (Figure <a href="#fig:lab">1</a>) consists of                    three identical machines containing AMD Athlon(TM) XP 2000+                    (1670.46-MHz 686-class) CPUs. Two machines, labelled <tt>player</tt> and <tt>recorder</tt> contain 256 MB of memory. One machine,                    labelled <tt>server</tt>, contains 1.5GB of memory and acts                    as DNS name server. All machines run FreeBSD 6.0-CURRENT (13                    June 2005).</p>
<p>The machines are connected through a 100baseT full duplex                    Ethernet network. The interfaces on that network are configured                    with RFC1918 addresses. The experiment is controlled through                    the player.</p>
<p> </p>
<div><a id="fig:lab" name="fig:lab"></a><a id="54" name="54"></a> 
<table>
<caption align="bottom" class="small"> <b>Figure 1:</b> The DISTEL Test Lab </caption> 
<tbody>
<tr>
<td>
<div><img align="bottom" alt="img1.png" class="image-inline" height="246" src="resolveuid/be3ccc072baf26fad488c1ffbc6297d2" width="445" /></div>
</td>
</tr>
</tbody>
</table>
</div>
<p>The <tt>DNS server</tt> has a host route configured for the                    <tt>player</tt> and has its default route configured to <tt>recorder</tt>.                    <tt>recorder</tt> has host routes for the other two machines                    and a default route to <tt>/dev/null</tt>.</p>
<p>Experiments are performed by taking <tt>libpcap</tt> traces                    from the production machines. After modifying the destination                    IP and MAC addresses to be those of the <tt>server</tt> the                    traces were replayed using a modified version of <tt>tcpreplay</tt>.                    The modifications to <tt>tcpreplay</tt> were done to avoid packet                    burst caused by problems with <tt>usleep</tt> having limited                    resolution and sometimes skipping a beat. See [<a href="#DISTEL_slides">KYLK02</a>] for details.</p>
<p>Because of the default route configured on <tt>server</tt> the answers end up at <tt>recorder</tt> on which a <tt>tcpdump</tt> is collecting the answers before they end up at <tt>/dev/null</tt>.</p>
<p>In this setup, we can only study the effects of UDP traffic.                    The server used in the experiment has slightly lower hardware                    specifications, and runs a different operating system from the                    <tt>ns-pri.ripe.net</tt> and <tt>k.root-servers.net</tt> production                    systems.</p>
<p> </p>
<h3><a id="SECTION00022000000000000000" name="SECTION00022000000000000000"> The Server Software</a></h3>
<p>For these experiments, the <tt>DNS sever</tt> ran BIND 9.3.1[<a href="#BIND">BIND</a>] and NSD 2.3.0 [<a href="#NSD">NSD</a>]. BIND was compiled with open-ssl                    and without multi threading<a href="#foot78" id="tex2html3" name="tex2html3"> <sup> <i>FN</i></sup></a>, NSD 2.3.0                    was compiled with the default options.</p>
<p>As well as the stock version of these name servers we used                    modified versions of both of the servers for a subset of the                    experiments. The modifications were designed to make the servers                    behave as if every query that had an EDNS0 option without the                    DO bit set actually had the DO bit set. It also acted as if                    every query without EDNS0 options actually contained an EDNS0                    packet advertising 2048 UDP defragmentation capabilities of                    the query and with the DO bit set.</p>
<p><tt>named</tt> was configured without recursion or any logging<a href="#foot358" id="tex2html4" name="tex2html4"> <sup> <i>FN</i></sup></a>.</p>
<p> </p>
<h3><a id="SECTION00023000000000000000" name="SECTION00023000000000000000"></a> <a id="sec:zones" name="sec:zones"></a> The Zone Configuration</h3>
<p>We performed the experiment on two configurations. One configuration<br /> [4]<tt>ns-pri.ripe.net</tt> and one that was to mimic <tt>k.root-server.net</tt>.</p>
<p>For the <tt>ns-pri.ripe.net</tt> type experiments, we used                    the configuration from 15 June 2005. At this date <tt>ns-pri.ripe.net</tt> was authoritative for zones like 193.in-addr.arpa (/8 reverse                    zones), 000.193.in-addr.arpa (/16 reverse zones) and their IPv6                    variants whose content is dominated by delegation NS RRs 3.94                    * 10<sup>5</sup> in total). Besides these 'delegation-only domains'                    there are a number of /24 reverse zones and a couple of small                    forward zones that relate to the RIPE NCC infrastructure. These                    account for about 0.05*10<sup>5</sup> RRs roughly equally spread between                    PTR, CNAME, A and other resource records.</p>
<p>For the <tt>k.root-servers.net</tt> type experiments, we created                    a configuration where the server was authoritative for the root                    zone with SOA serial 2005070400. The server was not authoritative                    for other zones like the 'arpa' and 'root-servers.net' that                    are normally hosted by <tt>k.root-servers.net</tt>.</p>
<p> </p>
<h3><a id="SECTION00024000000000000000" name="SECTION00024000000000000000"></a> <a id="sec:signatures" name="sec:signatures"></a><br /> Zone Signing</h3>
<p>We created a 2048 bits RSASHA1 key signing key (KSK) and two                    zone signing keys (ZSK) varying from 512 to 2048 bits. The ZSKs                    and KSK were included in the zone before it was signed with                    one ZSK and one KSK, using <tt>dnssec-signzone</tt> from the                    BIND 9.3.1 distribution. In the signed zone all RR sets are                    signed with one ZSK. Only the DNSKEY RR set is signed with two                    keys - the KSK and one ZSK.</p>
<p>Having two ZSKs in the DNSKEY RR set is expected to be a common                    situation for pre-publish zone signing key rollovers as in section                    4.2.1 from [<a href="#draft-ietf-dnsop-dnssec-operational-practices">KG05</a>].                    In the pre-publish ZSK rollover model, the DNSKEY RRset grows                    during a ZSK rollover while the number of signatures over the                    RR sets in the zone remains constant.</p>
<hr />
<h2><a id="SECTION00030000000000000000" name="SECTION00030000000000000000"></a> <a id="sec:queries" name="sec:queries"></a> Properties of the                    Query Traces</h2>
<p>To perform the experiment, we obtained traces from the production                    servers. The traces we used contained UDP packets directed at                    port 53 of the server machines. The amount of data was roughly                    equivalent to about 10 minutes elapsed time and was taken at                    a random time for which the query stream did not seem to show                    anomalous behaviour.</p>
<p>We used two traces. One trace from <tt>ns-pri.ripe.net</tt> and one from<br /> [4]<tt>k.root-servers.net</tt>. Table <a href="#tab:traceprop">1</a> summarises the properties of the traces.</p>
<p>The first column of the table lists the identifier used for                    the trace during the experiment. The second column lists the                    time we started recording the trace. The 3rd column the amount                    of UDP packets to port 53 contained in the trace. The 4th column                    lists the amount of DNS packets that the analysis script interprets                    as DNS packets. The packets that have their opcode set to "QUERY"                    and have not been truncated and do not have their query response                    flag set are probably bona-fide queries. We analysed those remaining                    packets on their EDNS0 content. The results are in Table <a href="#tab:queryEDNS0">2</a> and the pie charts in Figure <a href="#fig:pie">2</a>.</p>
<p>The left pie charts show the distribution between queries                    without the EDNS0 extensions, with the EDNS0 extension but without                    the DO-bit set and with the EDNS0 extension and with the DO                    bit set. The middle pie charts show the UDP defragmentation                    sizes advertised by the clients in the set of packets with an                    EDNS0 extension. The pie charts at the right show the sizes                    for those EDNS0 packets with the DO bit set.</p>
<p>The EDNS0 size distributions clearly differ for the query                    streams against the <tt>k.root.servers.net</tt> (top) and <tt>ns-pri.ripe.net</tt> (bottom). While the contribution of the "4096" size to the total                    of EDNS0 packets is roughly one third for all traces there is                    a distinct difference between the ratio of 1280 versus 2048                    EDNS0 sizes. EDNS0 size 1280 makes up for almost 15% of the                    EDNS0 packets for the k.root trace while for the ns-pri traces,                    the contribution is less than 1 %. The EDNS0 size distribution                    is not the same for the queries with and without the DO bit                    set. EDNS0 size 1280 is not present for these queries.</p>
<p>The properties of the query streams clearly demonstrate selection                    effects. We have not investigated what causes the difference                    between the properties of the queries to <tt>k.root-servers.net</tt> and <tt>ns-pri.ripe.net</tt>. If we were to undertake such investigation,                    our working hypothesis would be that most of the queries to                    <tt>ns-pri.ripe.net</tt> are targeted to sub-domains of<tt>in-addr.arpa</tt> and that those queries originate from environments where there                    is a preference for certain name server implementations. <b><a id="tab:traceprop" name="tab:traceprop"></a></b></p>
<div><a id="111" name="111"></a> 
<table>
<caption class="small"> <b>Table 1:</b> Trace Properties </caption> 
<tbody>
<tr>
<td>
<div>
<table class="grid listing">
<tbody>
<tr>
<td align="left">Trace ID</td>
<td align="left">Trace                                  times</td>
<td align="center">DNS</td>
<td align="center">OPCODE</td>
<td align="center">TC</td>
<td align="center">QR</td>
<td align="center">Remaining</td>
</tr>
<tr>
<td align="left"></td>
<td align="left"></td>
<td align="center">packets</td>
<td align="center">QUERY</td>
<td align="center">set</td>
<td align="center">set</td>
<td align="center">DNS packets</td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="left">04/05/2005                                  5</td>
<td align="center">2241766</td>
<td align="center">2239638</td>
<td align="center">6</td>
<td align="center">37</td>
<td align="center">2239598</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">23:57:54.338923</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td align="left"></td>
<td align="left">00:08:20.165730</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td align="left">ns-pri</td>
<td align="left">06/15/2005</td>
<td align="center">1711346</td>
<td align="center">1705551</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1705551</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">11:39:21.592356</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
<tr>
<td align="left"></td>
<td align="left">11:49:09.123635</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="138" name="138"></a> 
<table>
<caption class="small"> <b>Table 2:</b> EDNS0 Properties of the Traces </caption> 
<tbody>
<tr>
<td>
<div>
<table class="grid listing">
<tbody>
<tr>
<td align="center">ID</td>
<td align="left"></td>
<td align="left">Number</td>
<td align="left">Fraction</td>
<td align="center" colspan="8">EDNS0 size distribution</td>
</tr>
<tr>
<td align="center"></td>
<td align="left"></td>
<td align="left"></td>
<td align="left">of total</td>
<td align="left">512</td>
<td align="left">1024</td>
<td align="left">1280</td>
<td align="left">1500</td>
<td align="left">2048</td>
<td align="left">4000</td>
<td align="left">4096</td>
<td align="left">16384</td>
</tr>
<tr>
<td align="center">k.root</td>
<td align="left">E:</td>
<td align="left">742275</td>
<td align="left">34.5%</td>
<td align="left">215</td>
<td align="left">2</td>
<td align="left">109000</td>
<td align="left">0</td>
<td align="left">330591</td>
<td align="left">372</td>
<td align="left">302088</td>
<td align="left">7</td>
</tr>
<tr>
<td align="center"></td>
<td align="left">D:</td>
<td align="left">227283</td>
<td align="left">10.1%</td>
<td align="left">141</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">89114</td>
<td align="left">372</td>
<td align="left">137655</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">ns-pri</td>
<td align="left">E:</td>
<td align="left">1202885</td>
<td align="left">70.5%</td>
<td align="left">1259</td>
<td align="left">4</td>
<td align="left">8353</td>
<td align="left">9</td>
<td align="left">745270</td>
<td align="left">0</td>
<td align="left">447990</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center"></td>
<td align="left">D:</td>
<td align="left">476504</td>
<td align="left">27.8%</td>
<td align="left">538</td>
<td align="left">0</td>
<td align="left">0</td>
<td align="left">9</td>
<td align="left">234074</td>
<td align="left">0</td>
<td align="left">242062</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left" colspan="12"></td>
</tr>
<tr>
<td align="left" colspan="12">The                                  rows marked 'E:' show the statistics for the DNS                                  packets with an EDNS0 OPT RR.</td>
</tr>
<tr>
<td align="left" colspan="12">The                                  rows marked 'D:' show the statistics for the DNS                                  packets that have the DO bit set.</td>
</tr>
</tbody>
</table>
<a id="tab:queryEDNS0" name="tab:queryEDNS0"></a></div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<p> </p>
<p>We were also interested in the scenario for which all                    queries have the DO bit set. We simulated this by modifying                    the NSD code, to cheat the server into believing that queries                    with EDNS0 but without the DO bit had their DO bit set, and                    that queries without the EDNS0 extension had an EDNS0 section                    with the DO bit set and an EDNS0 size of 2048. [<a href="#AGER_overhead">ADF05</a>] chose to use the minimum                    value of 1220 octets. We use 2048 because that is the minimum                    value that we've seen in the captured queries that have the                    DO bit set.). We only performed measurements with this modified                    name server using the <tt>k.root-servers.net</tt> configuration.                    These experiments are marked ``k.modified'' and referred to                    as experiments on the ``modified server''.</p>
<p><br /><br /></p>
<div><a id="fig:pie" name="fig:pie"></a><a id="146" name="146"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 2:</b> EDNS0 Properties for the k.root (top) and ns-pri Traces     (bottom). </caption> 
<tbody>
<tr>
<td><img alt="img4.png" class="image-inline" height="586" src="resolveuid/1baca0643cb38e6ea127056a8160dbf7" width="990" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td>
<h2><a id="sec:memload" name="sec:memload"></a><br /> 
<hr />
Memory Load</h2>
<p>To assess the effect of introducing DNSSEC on the memory load of              the servers, we created 100 configuration files that contained mixtures              of different fractions of signed as opposed to unsigned zones. This              allowed us to measure memory usage from the <tt>named</tt> process              for different numbers of NSEC and RRSIG records.</p>
<p>We loaded these configurations and measured the virtual memory size              (VSZ) as reported by <tt>ps</tt>. We repeated the experiment for different              sizes of zone signing keys and for two different operating systems.</p>
<p> </p>
<ul>
<li>FreeBSD 6.0 on the server system described in Section <a href="#sec:lab">2.1</a>. </li>
<li>Linux 2.6.10-5-686-smp (Ubuntu distribution) on a Intel P4/Xeon                3Ghz machine with 1GB of memory. </li>
</ul>
<p>The results are shown in Figure <a href="#fig:mempar">3</a> in which the VSZ is plotted against the number of signatures in the              zones loaded. The increase in zone size is a function of the number              of RRSIGs and the number of NSEC RRs introduced during the signing.              Because the content of our zone files (mostly delegation records)              the ratio of NSEC to RRSIG records is reasonably constant when it              reaches a large number of RRSIGs.</p>
<p>It is clear from the graphs that memory consumption is depended              on OS and implementation.</p>
<p>For the FreeBSD system there is no difference in BIND's memory consumption              for ZSKs between 512 and 1280 bits, and for ZSKs between 1596 and              2058 bits. The step function in memory load for BIND on FreeBSD is              most probably caused by different alignment properties of the various              implementations of <tt>malloc</tt>.</p>
<p>Because we did not have both operating systems available in our                    lab, we did not investigate any performance differences when                    running the servers on different operating systems. <br /> <br /></p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:mempar" name="fig:mempar"></a><a id="361" name="361"></a> 
<table>
<caption align="bottom" class="small"> <b>Figure:</b> VMS for Different Key Sizes<br /> Left column on FreeBSD. Right     column on Linux 2.6.10, top row measurements for <tt>named</tt> 9.3.1 and bottom row measurements for <tt>nsd</tt>.</caption> 
<tbody>
<tr>
<td><img alt="img5.png" class="image-inline" height="708" src="resolveuid/5bc91c00f156ca4c648d87602edb76a2" width="1029" /></td>
</tr>
</tbody>
</table>
</div>
<p><a name="220"></a></p>
<table>
<tbody>
<tr>
<td><br /><br /> 
<table>
<caption><b>Table 3:</b> Memory Usage Parameters</caption> 
<tbody>
<tr>
<td>
<div align="center"><span class="small"> </span> 
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="10"><span class="small"><tt>named</tt> 9.3.1 on Linux 2.6.10</span></td>
</tr>
<tr>
<td align="center"><span class="small"> ZSK </span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
</tr>
<tr>
<td align="center"><span class="small"> size </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 512 </span></td>
<td align="center"><span class="small"> 0.114 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">12.2 </span></td>
<td align="center"><span class="small"> 0.105 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">13.6 </span></td>
<td align="center"><span class="small"> 2.905e+04 </span></td>
<td align="center"><span class="small">7 </span></td>
<td align="center"><span class="small">0.024 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 768 </span></td>
<td align="center"><span class="small"> 0.161 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">10.0 </span></td>
<td align="center"><span class="small"> 0.091 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">18.1 </span></td>
<td align="center"><span class="small"> 2.898e+04 </span></td>
<td align="center"><span class="small">8 </span></td>
<td align="center"><span class="small">0.028 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1024 </span></td>
<td align="center"><span class="small"> 0.211 </span></td>
<td align="center"><span class="small">0.013 </span></td>
<td align="center"><span class="small">6.4 </span></td>
<td align="center"><span class="small"> 0.070 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">19.8 </span></td>
<td align="center"><span class="small"> 2.904e+04 </span></td>
<td align="center"><span class="small">7 </span></td>
<td align="center"><span class="small">0.023 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1280 </span></td>
<td align="center"><span class="small"> 0.230 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">6.8 </span></td>
<td align="center"><span class="small"> 0.082 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">19.5 </span></td>
<td align="center"><span class="small"> 2.903e+04 </span></td>
<td align="center"><span class="small">8 </span></td>
<td align="center"><span class="small">0.027 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1536 </span></td>
<td align="center"><span class="small"> 0.292 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">5.3 </span></td>
<td align="center"><span class="small"> 0.052 </span></td>
<td align="center"><span class="small">0.016 </span></td>
<td align="center"><span class="small">30.8 </span></td>
<td align="center"><span class="small"> 2.901e+04 </span></td>
<td align="center"><span class="small">8 </span></td>
<td align="center"><span class="small">0.027 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1792 </span></td>
<td align="center"><span class="small"> 0.280 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">5.0 </span></td>
<td align="center"><span class="small"> 0.096 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">15.0 </span></td>
<td align="center"><span class="small"> 2.905e+04 </span></td>
<td align="center"><span class="small">7 </span></td>
<td align="center"><span class="small">0.024 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 2048 </span></td>
<td align="center"><span class="small"> 0.326 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">4.3 </span></td>
<td align="center"><span class="small"> 0.081 </span></td>
<td align="center"><span class="small">0.014 </span></td>
<td align="center"><span class="small">17.5 </span></td>
<td align="center"><span class="small"> 2.904e+04 </span></td>
<td align="center"><span class="small">7 </span></td>
<td align="center"><span class="small">0.024 </span></td>
</tr>
<tr>
<td align="center" colspan="10"><span class="small"><tt>named</tt> 9.3.1 on Freebsd 6.0</span></td>
</tr>
<tr>
<td align="center"><span class="small"> ZSK </span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
</tr>
<tr>
<td align="center"><span class="small"> size </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 512 </span></td>
<td align="center"><span class="small"> 0.236 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">1.6 </span></td>
<td align="center"><span class="small"> 0.143 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">2.7 </span></td>
<td align="center"><span class="small"> 3.888e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 768 </span></td>
<td align="center"><span class="small"> 0.237 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">1.6 </span></td>
<td align="center"><span class="small"> 0.142 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">2.8 </span></td>
<td align="center"><span class="small"> 3.887e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1024 </span></td>
<td align="center"><span class="small"> 0.242 </span></td>
<td align="center"><span class="small">0.005 </span></td>
<td align="center"><span class="small">2.0 </span></td>
<td align="center"><span class="small"> 0.137 </span></td>
<td align="center"><span class="small">0.005 </span></td>
<td align="center"><span class="small">3.6 </span></td>
<td align="center"><span class="small"> 3.887e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.006 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1280 </span></td>
<td align="center"><span class="small"> 0.244 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">1.5 </span></td>
<td align="center"><span class="small"> 0.135 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">2.9 </span></td>
<td align="center"><span class="small"> 3.887e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1536 </span></td>
<td align="center"><span class="small"> 0.494 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">0.8 </span></td>
<td align="center"><span class="small"> 0.137 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">3.0 </span></td>
<td align="center"><span class="small"> 3.888e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1792 </span></td>
<td align="center"><span class="small"> 0.494 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">0.8 </span></td>
<td align="center"><span class="small"> 0.137 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">3.1 </span></td>
<td align="center"><span class="small"> 3.888e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 2048 </span></td>
<td align="center"><span class="small"> 0.494 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">0.8 </span></td>
<td align="center"><span class="small"> 0.137 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">3.0 </span></td>
<td align="center"><span class="small"> 3.888e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center" colspan="10"><span class="small"><tt>nsd</tt> 2.3.0 on Linux 2.6.10</span></td>
</tr>
<tr>
<td align="center"><span class="small"> ZSK </span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
</tr>
<tr>
<td align="center"><span class="small"> size </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 512 </span></td>
<td align="center"><span class="small"> 0.177 </span></td>
<td align="center"><span class="small">0.009 </span></td>
<td align="center"><span class="small">4.9 </span></td>
<td align="center"><span class="small"> 0.055 </span></td>
<td align="center"><span class="small">0.009 </span></td>
<td align="center"><span class="small">16.2 </span></td>
<td align="center"><span class="small"> 3.100e+04 </span></td>
<td align="center"><span class="small">5 </span></td>
<td align="center"><span class="small">0.015 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 768 </span></td>
<td align="center"><span class="small"> 0.214 </span></td>
<td align="center"><span class="small">0.008 </span></td>
<td align="center"><span class="small">4.0 </span></td>
<td align="center"><span class="small"> 0.050 </span></td>
<td align="center"><span class="small">0.009 </span></td>
<td align="center"><span class="small">17.5 </span></td>
<td align="center"><span class="small"> 3.099e+04 </span></td>
<td align="center"><span class="small">4 </span></td>
<td align="center"><span class="small">0.014 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1024 </span></td>
<td align="center"><span class="small"> 0.219 </span></td>
<td align="center"><span class="small">0.006 </span></td>
<td align="center"><span class="small">2.9 </span></td>
<td align="center"><span class="small"> 0.081 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">8.2 </span></td>
<td align="center"><span class="small"> 3.100e+04 </span></td>
<td align="center"><span class="small">3 </span></td>
<td align="center"><span class="small">0.011 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1280 </span></td>
<td align="center"><span class="small"> 0.254 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">2.8 </span></td>
<td align="center"><span class="small"> 0.082 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">9.0 </span></td>
<td align="center"><span class="small"> 3.098e+04 </span></td>
<td align="center"><span class="small">4 </span></td>
<td align="center"><span class="small">0.012 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1536 </span></td>
<td align="center"><span class="small"> 0.292 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">2.4 </span></td>
<td align="center"><span class="small"> 0.069 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">10.4 </span></td>
<td align="center"><span class="small"> 3.099e+04 </span></td>
<td align="center"><span class="small">4 </span></td>
<td align="center"><span class="small">0.012 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1792 </span></td>
<td align="center"><span class="small"> 0.318 </span></td>
<td align="center"><span class="small">0.006 </span></td>
<td align="center"><span class="small">2.0 </span></td>
<td align="center"><span class="small"> 0.079 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">8.4 </span></td>
<td align="center"><span class="small"> 3.097e+04 </span></td>
<td align="center"><span class="small">3 </span></td>
<td align="center"><span class="small">0.011 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 2048 </span></td>
<td align="center"><span class="small"> 0.350 </span></td>
<td align="center"><span class="small">0.007 </span></td>
<td align="center"><span class="small">2.1 </span></td>
<td align="center"><span class="small"> 0.085 </span></td>
<td align="center"><span class="small">0.008 </span></td>
<td align="center"><span class="small">9.1 </span></td>
<td align="center"><span class="small"> 3.097e+04 </span></td>
<td align="center"><span class="small">4 </span></td>
<td align="center"><span class="small">0.013 </span></td>
</tr>
<tr>
<td align="center" colspan="10"><span class="small"><tt>nsd</tt> 2.3.0 on Freebsd 6.0</span></td>
</tr>
<tr>
<td align="center"><span class="small"> ZSK </span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
<td align="center" colspan="3"><span class="small"> <br /></span></td>
</tr>
<tr>
<td align="center"><span class="small"> size </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
<td align="center"><span class="small"> value </span></td>
<td align="center"><span class="small"> +/- </span></td>
<td align="center"><span class="small"> % </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 512 </span></td>
<td align="center"><span class="small"> 0.167 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.6 </span></td>
<td align="center"><span class="small"> 0.066 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">4.1 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">1 </span></td>
<td align="center"><span class="small">0.004 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 768 </span></td>
<td align="center"><span class="small"> 0.199 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.4 </span></td>
<td align="center"><span class="small"> 0.065 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">4.5 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">1 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1024 </span></td>
<td align="center"><span class="small"> 0.231 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.1 </span></td>
<td align="center"><span class="small"> 0.069 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">3.9 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">1 </span></td>
<td align="center"><span class="small">0.004 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1280 </span></td>
<td align="center"><span class="small"> 0.254 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.2 </span></td>
<td align="center"><span class="small"> 0.082 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">3.9 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1536 </span></td>
<td align="center"><span class="small"> 0.295 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.1 </span></td>
<td align="center"><span class="small"> 0.066 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">4.8 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 1792 </span></td>
<td align="center"><span class="small"> 0.321 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.0 </span></td>
<td align="center"><span class="small"> 0.075 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">4.3 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.005 </span></td>
</tr>
<tr>
<td align="center"><span class="small"> 2048 </span></td>
<td align="center"><span class="small"> 0.348 </span></td>
<td align="center"><span class="small">0.003 </span></td>
<td align="center"><span class="small">1.0 </span></td>
<td align="center"><span class="small"> 0.086 </span></td>
<td align="center"><span class="small">0.004 </span></td>
<td align="center"><span class="small">4.2 </span></td>
<td align="center"><span class="small"> 3.091e+04 </span></td>
<td align="center"><span class="small">2 </span></td>
<td align="center"><span class="small">0.006 </span></td>
</tr>
</tbody>
</table>
<span class="small"> <a id="tab:mempar" name="tab:mempar"></a> </span></div>
</td>
</tr>
</tbody>
</table>
<p> </p>
<br />
<p>Assuming linear increase of the memory usage as function of                    the number of NSECs and RRSIGs loaded by <tt>named</tt> we have                    performed a least square fit to the following function:                    <!-- MATH  $VSZ(NSEC,RRIG)=A*RRSIG+B*NSEC+C$  --></p>
<p><i>VSZ (NSEC, RRIG) = A * RRSIG + B * NSEC + C</i></p>
<p>The results for BIND are tabulated in table <a href="#tab:mempar">3</a>. The                    units for the parameters are kilo bytes (1024bit).</p>
<p>The values from these tables can be used for                    estimates of the zone size increase<a href="#foot366" id="tex2html10" name="tex2html10"> <sup> <i>FN</i></sup></a>.</p>
<p>The memory increase after signing the root                    zone was measured to be about 156 KB for <tt>named</tt> 9.3.1                    on FreeBSD 6.0. This is exactly what would be expected from                    using the table above with 262 NSEC RRs (one for the apex and                    one for each delegation) and 267 RRSIGs (over the apex RRs and                    over each NSEC).</p>
<p> </p>
<p> </p>
<hr />
<h2><a id="SECTION00050000000000000000" name="SECTION00050000000000000000"></a> <a id="sec:cpu" name="sec:cpu"></a><br /> CPU load</h2>
<p>CPU load was measured by reading the weighted                    CPU from <tt>top</tt> after the value had flattened out, a couple                    of minutes after the start and the initial increase in the load                    due to the loading of zones of the experiment. The variation                    of the CPU throughout the experiment was typically 2-3% for                    BIND and about 1% for NSD.</p>
<p>We did not see significant between the CPU                    load between serving signed and unsigned zones.</p>
<p> </p>
<p> </p>
<div><a id="243" name="243"></a> 
<table>
<caption class="small"> <b>Table 4:</b> CPU Usage on FreeBSD 6.0 </caption> 
<tbody>
<tr>
<td>
<div>
<hr />
<table class="grid listing">
<tbody>
<tr>
<td align="left">trace</td>
<td align="center">server</td>
<td align="center">ZSK size</td>
<td align="left">WCPU</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">ns-pri</td>
<td align="center"><tt>named</tt> 9.3.1</td>
<td align="center">0000</td>
<td align="left">ca 14%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">ns-pri</td>
<td align="center"><tt>named</tt> 9.3.1</td>
<td align="center">2048</td>
<td align="left">ca 18%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>named</tt> 9.3.1</td>
<td align="center">0000</td>
<td align="left">ca 38%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>named</tt> 9.3.1</td>
<td align="center">2048</td>
<td align="left">ca 42%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>named</tt> 9.3.1</td>
<td align="center">2048</td>
<td align="left">ca 50%</td>
<td align="left">(modified server)</td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>nsd</tt> 2.3.0</td>
<td align="center">0000</td>
<td align="left">ca 4%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>nsd</tt> 2.3.0</td>
<td align="center">2048</td>
<td align="left">ca 4%</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">k.root</td>
<td align="center"><tt>nsd</tt> 2.3.0</td>
<td align="center">2048</td>
<td align="left">ca 5%</td>
<td align="left">(modified server)</td>
</tr>
</tbody>
</table>
<a id="tab:cpu-bsd" name="tab:cpu-bsd"></a></div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<br />
<p>CPU load does not seem to be a function                    of the zone signing key size. For <tt>named</tt>, the CPU load                    does seem to correlate with the amount of packets for which                    DNSSEC processing needs to be done (as simulated by the modified                    server). For <tt>nsd</tt> the differences between the CPU load                    for the server with and without modifications to perform DNSSEC                    processing for all queries was too small to lead to any conclusions.</p>
<p> </p>
<hr />
<h2><a id="SECTION00060000000000000000" name="SECTION00060000000000000000"></a> <a id="sec:iostats" name="sec:iostats"></a><br /> Bandwidth and Packet Counts</h2>
<p>To collect bandwidth statistics, we ran the                    <tt>iostat</tt> command on the server machine while the query                    stream was replayed. As a side result we obtained egress packet                    counts.</p>
<p>The <tt>iostat</tt> program was started shortly                    before the query stream was replayed therefore there might be                    small offsets on the time-axis in the plots presented in this                    section.</p>
<p> </p>
<h3><a id="SECTION00061000000000000000" name="SECTION00061000000000000000"> ns-pri traces</a></h3>
Figure <a href="#fig:bw-pri-1">4</a> indicates                  that the egress bandwidth for measurements with the ns-pri traces                  against <tt>named</tt> doubles for small and triples for larger                  zone signing keys. If we look at the packet counts in Figure <a href="#fig:pc-pri-1">5</a>,                  we see that that the amount of Ethernet packets sent out for 512                  ZSK signed zones is the same as for unsigned zones. The amount                  of packets needed for 768 to 2048 bit ZSK signed zones is about                  10% more. This is an indication for IP fragmentation. And confirms                  the what we saw in section <a href="#sec:size-dist">B.1</a>.
<p> </p>
</td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<div><a id="fig:bw-pri-1" name="fig:bw-pri-1"></a><a id="260" name="260"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 4:</b> Bandwidth as Function of Key Size for Trace ns-pri</caption> 
<tbody>
<tr>
<td><img alt="img12.png" class="image-inline" height="617" src="resolveuid/9a5decfa5e3740ac58f611a6e13aa855" width="858" /><br /><br /></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="fig:pc-pri-1" name="fig:pc-pri-1"></a><a id="266" name="266"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 5:</b> Packet Counts  as Function of Key Size For Trace ns-pri</caption> 
<tbody>
<tr>
<td><img alt="img13.png" class="image-inline" height="617" src="resolveuid/109b2b1ef63546189235b8ce6c08ca97" width="858" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td><br /><br />
<h3><a id="SECTION00062000000000000000" name="SECTION00062000000000000000"> K.root Traces</a></h3>
<div><a id="fig:bandwidth-named" name="fig:bandwidth-named"></a><a id="367" name="367"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 6:</b> Bandwidth Increase as Function of Key Size for the k.root     Trace Against <tt>named</tt> 9.3.1 and  Modified <tt>named</tt> 9.3.1</caption> 
<tbody>
<tr>
<td><br /><br /><img alt="img14.png" class="image-inline" height="354" src="resolveuid/026bd9bd6cfbc7fb25e87d2d4282e7c4" width="1017" /></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="fig:bandwidth-nsd" name="fig:bandwidth-nsd"></a><a id="368" name="368"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 7:</b> Bandwidth Increase as Function of Key Size for the k.root     Trace Against <tt>nsd</tt> 2.3.0 and  Modified <tt>nsd</tt> 2.3.0</caption> 
<tbody>
<tr>
<td><br /><br /><img alt="img16.png" class="image-inline" height="354" src="resolveuid/b4d992073dd40e22db51b4dde17df2f1" width="1017" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td>
<p> </p>
<p>Bandwidth increase due to zone signing                        for the root is shown in Figures <a href="#fig:bandwidth-named">6</a> and <a href="#fig:bandwidth-nsd">7</a>.</p>
<p>The egress packet counts are plotted in                        Figures <a href="#fig:pc-knamed">8</a>, and <a href="#fig:pc-knsd">9</a>.                        What can be observed from these plots is that the packet                        counts on the unmodified versions do not show significant                        offsets. All lines overlap.</p>
<p>The response packets from the modified                        <tt>named</tt>, in the left graph of Figure <a href="#fig:pc-knamed">8</a>,                        grow above the Ethernet MTU. This shows through the offsets                        in the packet counts.</p>
<p>All response packets from the modified                        <tt>nsd</tt> have sizes lower than the Ethernet MTU therefore                        all lines in Figure <a href="#fig:pc-knsd">9</a> overlap.                        <br /><br /></p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:pc-knamed" name="fig:pc-knamed"></a><a id="369" name="369"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 8:</b> Packet counts as function of key size for trace k.root     against <tt>named</tt> 9.3.1 and modified <tt>named</tt> 9.3.1</caption> 
<tbody>
<tr>
<td><br /><br /> <img alt="img19.png" class="image-inline" height="354" src="resolveuid/57f4aac014e472485629c0483966209d" width="1017" /></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="fig:pc-knsd" name="fig:pc-knsd"></a><a id="370" name="370"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 9:</b> Packet counts  as function of key size for trace k.root against <tt>nsd</tt> 2.3.0 and modified <tt>nsd</tt> 2.3.0</caption> 
<tbody>
<tr>
<td><img alt="img16.png" class="image-inline" height="354" src="resolveuid/b4d992073dd40e22db51b4dde17df2f1" width="1016" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td><br /><br /> 
<hr />
<h2><a id="SECTION00070000000000000000" name="SECTION00070000000000000000"></a> <a id="sec:Discussion" name="sec:Discussion"></a><br /> Discussion</h2>
<p>Because the number of packets with the ``DO'' bit set is relatively    low, there would be no significant impact on the bandwidth consumption for<br /> <tt>k.root-servers.net</tt> if a signed root zone were to be served today. Even    in a worst-case scenario, when all queries to the root would have the ``DO''    bit set, the bandwidth usage would only grow by a factor 2 to 3 depending on    key size and implementation used.</p>
<p>For <tt>ns-pri.ripe.net</tt> signing all its zones would increase    bandwidth use by a factor 2 to 3 depending on the key size. The increase in    CPU and memory usage will not cause problems on the production system.</p>
<p>It is safe to conclude that the impact of DNSSEC deployment    on CPU load is of no concern. The impact of memory consumption can easily be    estimated from the zone content. The growth in memory consumption is significant,    but we do not think that the total amount of memory needed will be an issue    for most authoritative servers running on commodity hardware; when serving of    the order of 10<sup>6</sup> resource records the four gigabyte limit on 32bit Intel architectures    may become a barrier.</p>
<p>The impact on bandwidth usage is much harder to estimate.</p>
<p> </p>
<h3><a id="SECTION00071000000000000000" name="SECTION00071000000000000000"> Estimating                        Bandwidth Usage</a></h3>
<p>The effects of enabling DNSSEC is depends on many variables.    These are, roughly in order of significance:</p>
<ul>
<li>the fractions of queries with the ``DO'' bit set;
<p> </p>
</li>
<li>the inclusion of a DNSKEY RRs in the additional section; (See   the recommendation below.)
<p> </p>
</li>
<li>the amount of queries for existent and non-existent domain   names; (The size difference between an unsigned Name Error packet and   a signed Name Error packet is significant, also see   [<a href="#AGER_overhead">ADF05</a>].)
<p> </p>
</li>
<li>the size of the ZSK and KSK. The effect of the size of the KSK   is not measured here, but it makes up a significant fraction of the   DNSKEY RR set and its signatures;
<p> </p>
</li>
<li>the amount of KSKs and ZKSs in the DNSKEY RRset; (Depending on   the rollover scheme used there can be multiple DNSKEY RRs in the   zone and multiple RRSIGs over these keys. If multiple algorithms are   used, which could be the case when a transition from RSASHA1 to ECC   is made, the size of these RR sets can grow quite significantly.)
<p> </p>
</li>
<li>the label depth of the records in the zone and therefore the   need to include a second NSEC RR, with corresponding RRSIG, to prove   the non existence of wildcards;
<p> </p>
</li>
</ul>
<p>Because of these variables, there is no easy method to determine    the impact of signing zones in generic environments.</p>
<p>The two configurations we tested were biased towards ``delegation    only'' zones. For a delegation, two RRs are added to positive responses when    serving a signed zone, an NSEC or DS RR and a RRSIG. When serving ``end-node''    data only a RRSIG is added for positive responses.</p>
<p>When estimating the impact of DNSSEC deployment, you should    first look at the fractions of queries that have the DO bit set. If that fraction    is small the impact of DNSSEC deployment will not be significant.</p>
<p> </p>
<h3><a id="SECTION00072000000000000000" name="SECTION00072000000000000000"></a> <a id="sec:notmeas" name="sec:notmeas"></a><br /> Effects Not Measured</h3>
These experiments only provide insight to the first order effects. We do not know what happens on the Internet when DNSSEC answers are returned to the clients.
<p>The following scenarios seem likely:</p>
<p> </p>
<dl> <dt></dt> <dd>Scenario A - A client behind a middle box (e.g. a   firewall) sets the DO bit. The query crosses the middle box and   is answered by the server. The answer that contains DNSSEC   information does not cross the middle box, simply because the   middle box does not implement DNSSEC or is not configured to deal   with fragmented UDP on port 53.
<p> </p>
</dd> <dt></dt> <dd>scenario B - The Client sets the DO bit, but does not know what to   do with the DNSSEC information in the answer and continues to query.
<p> </p>
</dd> </dl>
<p>Scenario A is most likely. The EDNS0 specifications [<a href="#RFC2671">rfc2671</a>] do not demand that a resolver    should retry without EDNS0 when there has not been an answer from an EDNS0 query.    However, BIND developers have explained that BIND9 will re-query without EDNS0    and will cache the EDNS0 capability of the server. In other words, BIND9 resolvers    will fall back to non-EDNS0 behaviour, resend their query without the DO-bit    and receive non-DNSSEC answers<a href="#foot325" id="tex2html18" name="tex2html18"> <sup> <i>FN</i></sup></a></p>
<p>We are not aware of any clients that set the DO bit and would    not know how to process the DNSSEC replies.</p>
<p>Appendix <a href="#sec:implementations">A</a> provides    an overview of which type of clients queried k.root-servers.net. Most of the    DO queries are being sent by BIND servers. Only an analysis of query patterns    of deployment on signed zones on the Internet can tell us if we should worry    about non-linear effects.</p>
<p> </p>
<h3><a id="SECTION00073000000000000000" name="SECTION00073000000000000000"> Recommendation</a></h3>
<p>The distinct difference between <tt>named</tt> and <tt>nsd</tt> is that the latter does not add DNSKEY RRs and related RRSIGs in the additional    section for a Name Error response. Both servers comply to the specification    since <i>a security-aware authoritative name server [...] MAY return the zone    apex DNSKEY RRset in the Additional section</i> (section 3.2.1 [<a href="#RFC4035">rfc4035</a>]). This different behaviour    is the main cause for the difference in bandwidth consumption between the two    implementations.</p>
<p>It can be argued that at the start of DNSSEC deployment, while    the amount of validation DNS clients is small, there is little need to add the    DNSKEY RR set to the additional section. Most DNS clients that set the DO bit    will not use the information anyway and the minority of clients that do need    the key information can afford the extra query. Our recommendation is to make    the inclusion of DNSKEY RRs in the additional section, a configurable option,    at least during early deployment of DNSSEC.</p>
<p>Stripping the RRSIG RR set from the additional section without    stripping the DNSKEY RRs increases bandwidth consumption, while validators that    need the DNSKEY RRs for validation will still need to re-query to obtain the    missing signatures.</p>
<p> </p>
<h2><a id="SECTION00080000000000000000" name="SECTION00080000000000000000"> Conclusion</a></h2>
<p>Serving signed zones has little impact on CPU resource use.    The impact on memory usage is predictable and well within the specification    of the production machines that are authoritative for the zones we used in this    experiment.</p>
<p>Bandwidth usage increase can be significant, an increase by    a factor of 2 to 3 was measured. To reduce the impact of bandwidth consumption,    we recommend configuring your name server to not include DNSKEY RRs in the additional    section.</p>
<p> </p>
<h2><a id="SECTION01000000000000000000" name="SECTION01000000000000000000"> Appendices</a></h2>
<p> </p>
<h2><a id="SECTION01010000000000000000" name="SECTION01010000000000000000"></a> <a id="sec:implementations" name="sec:implementations"></a><br /> DNS Clients</h2>
<p>We took a sample of 3927 unique IP addresses from the traces    and used a DNS fingerprinting tool [<a href="#FPDNS">AS</a>] to see what type of clients set    the DO-flag. We could determine the client type for 2373 of the IP addresses.</p>
<p> </p>
<div><a id="341" name="341"></a> 
<table>
<caption class="small"><b>Table 5:</b> Implementations Setting the DO Bit</caption> 
<tbody>
<tr>
<td>
<div>
<table class="grid listing">
<tbody>
<tr>
<td align="left">Client implementation</td>
<td align="left">no.</td>
</tr>
<tr>
<td align="left">ATOS Stargate ADSL</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">BIND 8.3.0-RC1 - 8.4.4</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">BIND 8.3.0-RC1 - 8.4.4 [recursion enabled]</td>
<td align="left">8</td>
</tr>
<tr>
<td align="left">BIND 8.3.0-RC1 - 8.4.4 [recursion local]</td>
<td align="left">4</td>
</tr>
<tr>
<td align="left">BIND 9.0.0b5 - 9.1.3 [recursion local]</td>
<td align="left">3</td>
</tr>
<tr>
<td align="left">BIND 9.1.0 - 9.1.3</td>
<td align="left">17</td>
</tr>
<tr>
<td align="left">BIND 9.1.0 - 9.1.3 [recursion enabled]</td>
<td align="left">71</td>
</tr>
<tr>
<td align="left">BIND 9.2.0a1 - 9.2.0rc3 [recursion enabled]</td>
<td align="left">4</td>
</tr>
<tr>
<td align="left">BIND 9.2.0a1 - 9.2.2-P3 [recursion enabled]</td>
<td align="left">29</td>
</tr>
<tr>
<td align="left">BIND 9.2.0a1 - 9.2.2-P3 [recursion local]</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">BIND 9.2.0rc4 - 9.2.2-P3 [recursion enabled]</td>
<td align="left">7</td>
</tr>
<tr>
<td align="left">BIND 9.2.0rc7 - 9.2.2-P3</td>
<td align="left">173</td>
</tr>
<tr>
<td align="left">BIND 9.2.0rc7 - 9.2.2-P3 [recursion enabled]</td>
<td align="left">836</td>
</tr>
<tr>
<td align="left">BIND 9.2.0rc7 - 9.2.2-P3 [recursion local]</td>
<td align="left">47</td>
</tr>
<tr>
<td align="left">BIND 9.2.3rc1 - 9.4.0a0 [recursion enabled]</td>
<td align="left">828</td>
</tr>
<tr>
<td align="left">ISC BIND 9.2.3rc1 - 9.4.0a0</td>
<td align="left">309</td>
</tr>
<tr>
<td align="left">Microsoft Windows 2000</td>
<td align="left">3</td>
</tr>
<tr>
<td align="left">Microsoft Windows 2003</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">Microsoft Windows NT4</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">MyDNS</td>
<td align="left">18</td>
</tr>
<tr>
<td align="left">PowerDNS 2.9.4 - 2.9.11</td>
<td align="left">4</td>
</tr>
<tr>
<td align="left">Runtop Implementation</td>
<td align="left">3</td>
</tr>
<tr>
<td align="left">TinyDNS 1.05</td>
<td align="left">2</td>
</tr>
<tr>
<td align="left">totd</td>
<td align="left">1</td>
</tr>
<tr>
<td align="left">No match found</td>
<td align="left">325</td>
</tr>
<tr>
<td align="left">TIMEOUT</td>
<td align="left">1229</td>
</tr>
</tbody>
</table>
<a id="tab:implementations" name="tab:implementations"></a></div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<p>This table only provides an indication of the resolvers that    queried the root server. The fingerprinting was done at a different time to    when we made the original query. This could explain the appearance of implementations    that, as far as we know, do not have a DNSSEC support.</p>
<p>We performed a visual inspection on the queries sent by implementations    other than BIND. These packets were all valid DNS packets with EDNS0 OPT RRs    in the additional section that were 'properly' formatted <i>i.e.</i> they had    no other flags than the DO-flag set, advertised 2048 or 4096 sizes, etc.</p>
<p>As mentioned in <a href="#sec:notmeas">7.2</a> the behaviour    of BIND9 in situations where middle boxes drop replies is well understood.</p>
<p> </p>
<h2><a id="SECTION01020000000000000000" name="SECTION01020000000000000000"></a> <a id="sec:reply-analysis" name="sec:reply-analysis"></a><br /> Analysis of the Recorded Replies</h2>
<p>The replies recorded by the <tt>recorder</tt> contain much    information. Since we tried to limit the scope of this paper and because of    the lack of dedicated tools, we did not correlate the queries that were sent    with the answers received. Neither did we investigate the variations in response    times for different key sizes.</p>
<p>In Table <a href="#tab:tctable">6</a>, we present the    core parameters of the recorded reply traces. In the second column of each of    the four sub-tables we list the amount of DNS packets we counted in the reply    trace. The third column lists how big a fraction this is from the number of    DNS packets that we've listed in the third column of Table <a href="#tab:traceprop">1</a>.</p>
<p>The decreasing percentage of DNS packets received for growing    key sizes is not caused by the servers dropping packets. The analysis script,    that was written to measure <i>first order effects</i>, does its own IP packet    defragmentation. It is likely that it fails to to do defragmentation in all    cases where IP fragmentation has occurred.</p>
<p>The fourth column indicates the amount of packets with the    truncated (TC) bit set. What can be seen from this table is that the introduction    of DNSSEC will cause packet truncation for about one packet each second. Wider    application of EDNS0 would reduce truncations for unsigned zones (e.g. the <tt>k.modified</tt> query has 0 truncated packets compared to 0.5k packets truncated for replies    from the unmodified server.)</p>
<p>The fifth column presents a count of the number of packets    that had at least one RRSIG resource record in any of the sections of the packet.</p>
<p> </p>
<div><a id="836" name="836"></a> 
<table>
<caption class="small"><b>Table 6:</b> Core Characteristics of the Recorded Response Traces</caption> 
<tbody>
<tr>
<td>
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="4">ns-pri against named 9.3.1</td>
</tr>
<tr>
<td align="center">ZSK</td>
<td align="left">DNS</td>
<td align="left">TC</td>
<td align="left">with</td>
</tr>
<tr>
<td align="center">size</td>
<td align="left">packets</td>
<td align="left">set</td>
<td align="left">RRSIGs</td>
</tr>
<tr>
<td align="center">0000</td>
<td align="left">1703986 (99.91%)</td>
<td align="left">0</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">0512</td>
<td align="left">1703993 (99.91%)</td>
<td align="left">199</td>
<td align="left">475803</td>
</tr>
<tr>
<td align="center">0768</td>
<td align="left">1703972 (99.91%)</td>
<td align="left">199</td>
<td align="left">475837</td>
</tr>
<tr>
<td align="center">1024</td>
<td align="left">1703837 (99.90%)</td>
<td align="left">199</td>
<td align="left">475786</td>
</tr>
<tr>
<td align="center">1280</td>
<td align="left">1704008 (99.91%)</td>
<td align="left">205</td>
<td align="left">475828</td>
</tr>
<tr>
<td align="center">1536</td>
<td align="left">1703957 (99.91%)</td>
<td align="left">205</td>
<td align="left">475829</td>
</tr>
<tr>
<td align="center">1792</td>
<td align="left">1704119 (99.92%)</td>
<td align="left">205</td>
<td align="left">475843</td>
</tr>
<tr>
<td align="center">2048</td>
<td align="left">1703858 (99.90%)</td>
<td align="left">209</td>
<td align="left">475771</td>
</tr>
</tbody>
</table>
<p> </p>
<div>
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="4">k.root against named 9.3.1</td>
</tr>
<tr>
<td align="center">ZSK</td>
<td align="left">DNS</td>
<td align="left">TC</td>
<td align="left">with</td>
</tr>
<tr>
<td align="center">size</td>
<td align="left">packets</td>
<td align="left">set</td>
<td align="left">RRSIGs</td>
</tr>
<tr>
<td align="center">0000</td>
<td align="left">2235229 (99.80%)</td>
<td align="left">0</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">0512</td>
<td align="left">2233248 (99.71%)</td>
<td align="left">518</td>
<td align="left">226756</td>
</tr>
<tr>
<td align="center">0768</td>
<td align="left">2228432 (99.50%)</td>
<td align="left">548</td>
<td align="left">226208</td>
</tr>
<tr>
<td align="center">1024</td>
<td align="left">2230825 (99.61%)</td>
<td align="left">550</td>
<td align="left">226496</td>
</tr>
<tr>
<td align="center">1280</td>
<td align="left">2228756 (99.51%)</td>
<td align="left">583</td>
<td align="left">226189</td>
</tr>
<tr>
<td align="center">1536</td>
<td align="left">2229255 (99.54%)</td>
<td align="left">603</td>
<td align="left">226192</td>
</tr>
<tr>
<td align="center">1792</td>
<td align="left">2227160 (99.44%)</td>
<td align="left">603</td>
<td align="left">225811</td>
</tr>
<tr>
<td align="center">2048</td>
<td align="left">2230531 (99.59%)</td>
<td align="left">628</td>
<td align="left">226218</td>
</tr>
</tbody>
</table>
<p> </p>
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="4">k.root against modified named 9.3.1</td>
</tr>
<tr>
<td align="center">ZSK</td>
<td align="left">DNS</td>
<td align="left">TC</td>
<td align="left">with</td>
</tr>
<tr>
<td align="center">size</td>
<td align="left">packets</td>
<td align="left">set</td>
<td align="left">RRSIGs</td>
</tr>
<tr>
<td align="center">0000</td>
<td align="left">2234747 (99.78%)</td>
<td align="left">0</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">0512</td>
<td align="left">2231873 (99.65%)</td>
<td align="left">1</td>
<td align="left">2227936</td>
</tr>
<tr>
<td align="center">0768</td>
<td align="left">2229299 (99.54%)</td>
<td align="left">68</td>
<td align="left">2225284</td>
</tr>
<tr>
<td align="center">1024</td>
<td align="left">2227767 (99.47%)</td>
<td align="left">75</td>
<td align="left">2223773</td>
</tr>
<tr>
<td align="center">1280</td>
<td align="left">2227267 (99.45%)</td>
<td align="left">119</td>
<td align="left">2223217</td>
</tr>
<tr>
<td align="center">1536</td>
<td align="left">2225612 (99.37%)</td>
<td align="left">648</td>
<td align="left">2221042</td>
</tr>
<tr>
<td align="center">1792</td>
<td align="left">2226255 (99.40%)</td>
<td align="left">684</td>
<td align="left">2221640</td>
</tr>
<tr>
<td align="center">2048</td>
<td align="left">2225794 (99.38%)</td>
<td align="left">705</td>
<td align="left">2221160</td>
</tr>
</tbody>
</table>
<p> </p>
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="4">k.root against nsd 2.3.0</td>
</tr>
<tr>
<td align="center">ZSK</td>
<td align="left">DNS</td>
<td align="left">TC</td>
<td align="left">with</td>
</tr>
<tr>
<td align="center">size</td>
<td align="left">packets</td>
<td align="left">set</td>
<td align="left">RRSIGs</td>
</tr>
<tr>
<td align="center">0000</td>
<td align="left">2239770 (100.01%)</td>
<td align="left">518</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">0512</td>
<td align="left">2236494 (99.86%)</td>
<td align="left">520</td>
<td align="left">226882</td>
</tr>
<tr>
<td align="center">0768</td>
<td align="left">2235973 (99.84%)</td>
<td align="left">549</td>
<td align="left">226730</td>
</tr>
<tr>
<td align="center">1024</td>
<td align="left">2237481 (99.90%)</td>
<td align="left">550</td>
<td align="left">226853</td>
</tr>
<tr>
<td align="center">1280</td>
<td align="left">2237250 (99.89%)</td>
<td align="left">585</td>
<td align="left">226796</td>
</tr>
<tr>
<td align="center">1536</td>
<td align="left">2237242 (99.89%)</td>
<td align="left">606</td>
<td align="left">226809</td>
</tr>
<tr>
<td align="center">1792</td>
<td align="left">2236459 (99.86%)</td>
<td align="left">610</td>
<td align="left">226782</td>
</tr>
<tr>
<td align="center">2048</td>
<td align="left">2237055 (99.88%)</td>
<td align="left">634</td>
<td align="left">226749</td>
</tr>
</tbody>
</table>
<p> </p>
<table class="grid listing">
<tbody>
<tr>
<td align="center" colspan="4">k.root against modified nsd 2.3.0</td>
</tr>
<tr>
<td align="center">ZSK</td>
<td align="left">DNS</td>
<td align="left">TC</td>
<td align="left">with</td>
</tr>
<tr>
<td align="center">size</td>
<td align="left">packets</td>
<td align="left">set</td>
<td align="left">RRSIGs</td>
</tr>
<tr>
<td align="center">0000</td>
<td align="left">2240141 (100.02%)</td>
<td align="left">0</td>
<td align="left">0</td>
</tr>
<tr>
<td align="center">0512</td>
<td align="left">2238062 (99.93%)</td>
<td align="left">0</td>
<td align="left">2234120</td>
</tr>
<tr>
<td align="center">0768</td>
<td align="left">2238556 (99.95%)</td>
<td align="left">0</td>
<td align="left">2234612</td>
</tr>
<tr>
<td align="center">1024</td>
<td align="left">2238696 (99.96%)</td>
<td align="left">0</td>
<td align="left">2234752</td>
</tr>
<tr>
<td align="center">1280</td>
<td align="left">2237768 (99.92%)</td>
<td align="left">0</td>
<td align="left">2233825</td>
</tr>
<tr>
<td align="center">1536</td>
<td align="left">2236664 (99.87%)</td>
<td align="left">519</td>
<td align="left">2232201</td>
</tr>
<tr>
<td align="center">1792</td>
<td align="left">2235883 (99.83%)</td>
<td align="left">519</td>
<td align="left">2231424</td>
</tr>
<tr>
<td align="center">2048</td>
<td align="left">2234545 (99.77%)</td>
<td align="left">517</td>
<td align="left">2230096</td>
</tr>
</tbody>
</table>
<a id="tab:tctable" name="tab:tctable"></a></div>
</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<h3><a id="SECTION01021000000000000000" name="SECTION01021000000000000000"></a> <a id="sec:size-dist" name="sec:size-dist"></a> Size Distribution</h3>
<p>We measured the sizes of the packets in the response traces    which had OPCODE QUERY and did not have the TC bit set in the header.</p>
<p> </p>
<h3><a id="SECTION01021100000000000000" name="SECTION01021100000000000000"> Size Distributions for ns-pri Experiment</a></h3>
<p>Figure <a href="#fig:ns-pri-sizes">10</a> shows the size    distribution of four different key sizes on a linear scale. In this plot, you    can distinguish distinct peaks that we will refer to as <i>harmonics</i>. To    study these more closely, we created a plot with a logarithmic scale in Figure <a href="#fig:ns-pri-log">11</a>.    In this plot, we marked a number of the <i>harmonics</i>. The properties of    these <i>harmonics</i>, that are specific for the ns-pri setup are described    below. These <i>harmonics</i> are defined by observed peaks. The amount of responses    (the <i>signal</i>) in these peaks is determined by zone content and query distributions    and are therefore specific to the system under observation.</p>
<p> </p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:ns-pri-sizes" name="fig:ns-pri-sizes"></a><a id="1026" name="1026"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 10:</b> DNS Packet Size Distributions for ns-pri Traces Against     <tt>named</tt> 9.3.1</caption> 
<tbody>
<tr>
<td><img alt="img19.png" class="image-inline" height="496" src="resolveuid/57f4aac014e472485629c0483966209d" width="698" /></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="fig:ns-pri-log" name="fig:ns-pri-log"></a><a id="1027" name="1027"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 11:</b> Logarithmic DNS Packet Size Distributions for ns-pri Traces Against     <tt>named</tt> 9.3.1</caption> 
<tbody>
<tr>
<td><img alt="img20.png" class="image-inline" height="496" src="resolveuid/b07e17650d5f3627a3b25dfbbf74eb38" width="698" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td><br /><br />
<div><a id="1028" name="1028"></a> 
<table>
<caption class="small"><b>Table 7:</b> <i>Harmonics</i> Found in the Signed Responses for the ns-pri Trace. Also see Figure <a href="#fig:ns-pri-log">11</a></caption> 
<tbody>
<tr>
<td>
<div>
<table align="center" class="grid listing">
<tbody>
<tr>
<td align="left">id</td>
<td align="center">512</td>
<td align="center">1024</td>
<td align="center">1536</td>
<td align="center">2048</td>
</tr>
<tr>
<td align="left">1</td>
<td align="center">289</td>
<td align="center">353</td>
<td align="center">385</td>
<td align="center">449</td>
</tr>
<tr>
<td align="left">2</td>
<td align="center">530</td>
<td align="center">733</td>
<td align="center">925</td>
<td align="center">1117</td>
</tr>
<tr>
<td align="left">3</td>
<td align="center">1233</td>
<td align="center">1536</td>
<td align="center">1837</td>
<td align="center">2193</td>
</tr>
<tr>
<td align="left">4</td>
<td align="center">1380</td>
<td align="center">1764</td>
<td align="center">2158</td>
<td align="center">2542</td>
</tr>
<tr>
<td align="left">a</td>
<td align="center"></td>
<td align="center"></td>
<td align="center">1619</td>
<td align="center">1939</td>
</tr>
<tr>
<td align="left">b</td>
<td align="center"></td>
<td align="center"></td>
<td align="center"></td>
<td align="center">1590</td>
</tr>
</tbody>
</table>
</div>
<a id="tab:ns-pri-harmonics" name="tab:ns-pri-harmonics"></a></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<br />
<p>Below we describe the properties of some of the <i>harmonics</i> found in the ns-pri replies.</p>
<p> </p>
<dl> <dt><b><i>Harmonic 1</i></b></dt> <dd>is caused by packets that contain   delegations in reverse address space that contain two NS, one NSEC   and one RRSIG resource record in the authority section and have an   empty answer and additional section.
<p> </p>
</dd> <dt><b><i>Harmonic 2</i></b></dt> <dd>is caused by by packets that contain   a delegation for a /16 in-addr.arpa zone for which ns-pri is an   authoritative server. So, in addition to the two NS one NSEC and one   RRSIG resource records in the authority section the additional   section contains an A and AAAA RR for ns-pri.ripe.net plus the   RRSIGs over those records.
<p> </p>
</dd> <dt><b><i>Harmonic 3</i></b></dt> <dd>is caused by Name Error responses   (NXDOMAIN). These packets contain a SOA, an NSEC and their RRSIG   Resource records in the authority section and the DNSKEY RR set   (containing three keys) with its RRSIGs (one with the KSK and one with   the ZSK).
<p> </p>
</dd> <dt><b><i>Harmonic 4</i></b></dt> <dd>is also caused by Name Error responses.   These include the SOA and two NSEC RRs with their RRSIGs in the   authority section, and the DNSKEY RRs with RRSIGs in the additional   section. The inclusion of two NSEC RRs is needed to deny the   existence of wildcards.
<p> </p>
</dd> <dt><b><i>Harmonic A</i></b></dt> <dd>is  a <i>harmonic 4</i> type   packet with the RRSIGs over the DNSKEY RR set in the additional   section removed.
<p> </p>
</dd> <dt><b><i>Harmonic B</i></b></dt> <dd>is a  <i>harmonic 3</i> type   packet with the RRSIGs over the DNSKEY RR set in the additional   section removed.
<p> </p>
</dd> </dl>
<p>The difference between <i>Harmonic 3</i> and <i>4</i> is that    <i>Harmonic</i> 3 contains a NSEC RR that immediately proves the non existence    of a 'closer encloser' like in</p>
<pre>;; QUESTION SECTION (1 record)<br />;; 215.103.43.84.in-addr.arpa.  IN      PTR<br />(...)<br />9.42.84.in-addr.arpa. 7200  IN      NSEC    128.43.84.in-addr.arpa (<br />                                            NS NSEC RRSIG )<br /></pre>
while <i>Harmonic</i> 4 packets need two NSECs for such proof as in
<pre>;; QUESTION SECTION (1 record)<br />;; 47.112.102.80.in-addr.arpa.  IN      PTR<br />(...)<br />80.in-addr.arpa.      7200  IN      NSEC    0.80.in-addr.arpa (<br />                                            DNSKEY NS NSEC RRSIG SOA )<br />100.80.in-addr.arpa.  7200  IN      NSEC    104.80.in-addr.arpa (<br />                                            NS NSEC RRSIG )<br /></pre>
See section 3.1.3.2 of [<a href="#RFC4035">rfc4035</a>] for details.
<p>The <i>harmonics</i> do not always contain the same amount of packets. As    soon as the size of packets of a given <i>harmonic</i> become larger than that    advertised by a significant fraction of the clients, some of the <i>signal</i> from that <i>harmonic</i> is transferred to another one. For instance, at ZSK    size 1536 <i>signal</i> from <i>Harmonic 4</i> is transferred to <i>Harmonic    A</i> since the <i>harmonic</i> occurs at a size larger than 2048. On the other    hand there is no sign of an equivalent to <i>harmonic b</i> since <i>harmonic    3</i> is still below the 2048 size limit.</p>
<p>Since the amount of signal is hard to judge from these logarithmic plots,    we show the fraction of the total amount of packets that is smaller than a given    size for the different ZSK sizes in Figure <a href="#fig:ns-pri-cum">12</a>.    In this kind of plot, the <i>harmonics</i> can be identified by the steep rises    in the curves. You can clearly see the transfer of <i>signal</i> for ZSK sizes    of 1536 bits and larger. The last step in the graph corresponds to <i>Harmonic    4</i>. For smaller keys this <i>harmonic</i> accounts for slightly less than    10% while for larger keys some about half of these packets are moved to <i>Harmonic    A</i>. <br /><br /></p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:ns-pri-cum" name="fig:ns-pri-cum"></a><a id="1029" name="1029"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 12:</b> Cumulative DNS Packet Size Distributions for ns-pri Traces Against     <tt>named</tt> 9.3.1</caption> 
<tbody>
<tr>
<td><img alt="img21.png" class="image-inline" height="496" src="resolveuid/82797b4b03eb00e759606cc2ff83b645" width="705" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td>
<p> </p>
<h3><a id="SECTION01021200000000000000" name="SECTION01021200000000000000"> Size Distributions for k.root Experiments</a></h3>
<p>For each of the four experiments we performed using the k.root trace we created    the various size distribution plots (Figure <a href="#fig:egress-k">13</a>,    <a href="#fig:egress-k-log">14</a> and <a href="#fig:cum-kroot">15</a>).    In these plots, the left column presents the measurements for the <tt>named</tt> 9.3.1 and the right column the measurements for <tt>nsd</tt> 2.3.1. The top    row shows the effect of replaying the k.root trace as it stands, the bottom    row shows the effects of replaying the trace against the modified versions of    the server.</p>
<p>Since the fraction of packets in the k.root trace with the DO bit set is roughly    10%, the effects of signing are not as extreme as for the ns-pri trace.</p>
<p>To study the effect of signing on packet content, we use the output of the    modified <tt>named</tt> server and define a number of <i>harmonics</i>. These    <i>harmonics</i> are listed in Table <a href="#tab:k-harmonics">8</a> and    indicated in the bottom left plot of Figure <a href="#fig:egress-k-log">14</a>.</p>
<p> </p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:egress-k" name="fig:egress-k"></a><a id="1030" name="1030"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 13:</b> Size Distribution for Different ZSKs of Response Packets     after Playing the k.root Trace Against <tt>named</tt> 9.3.1 (top     left), <tt>nsd</tt> 2.3.0 (top right), Modified <tt>named</tt> 9.3.1 (bottom left) and Modified <tt>nsd</tt> 2.3.0 (bottom         right).</caption> 
<tbody>
<tr>
<td><img alt="img22.png" class="image-inline" height="693" src="resolveuid/328e245ab6db1032d6d89a3d0abf4bb0" width="1002" /></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div><a id="fig:egress-k-log" name="fig:egress-k-log"></a><a id="1031" name="1031"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 14:</b> Logarithmic Size Distribution of Response Packets after Playing the k.root Trace Against <tt>named</tt> 9.3.1 (top left), <tt>nsd</tt> 2.3.0 (top right), Modified <tt>named</tt> 9.3.1 (bottom left) and Modified <tt>nsd</tt> 2.3.0 (bottom right).</caption> 
<tbody>
<tr>
<td><img alt="img23.png" class="image-inline" height="693" src="resolveuid/5dda5c4c62e49707c1db8ae91ba58d62" width="991" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td>
<p> </p>
<div><a id="1032" name="1032"></a> 
<table>
<caption class="small"><b>Table 8:</b> <i>Harmonics</i> Found in the Signed Responses for the k.root Trace Against the Modified <tt>named</tt> 9.3.1 name server. Also see Figure <a href="#fig:egress-k-log">14</a></caption> 
<tbody>
<tr>
<td>
<div>
<table align="center" class="grid listing">
<tbody>
<tr>
<td align="left">id</td>
<td align="center">512</td>
<td align="center">1024</td>
<td align="center">1536</td>
<td align="center">2048</td>
</tr>
<tr>
<td align="left">1</td>
<td align="center">573</td>
<td align="center">630</td>
<td align="center">702</td>
<td align="center">768</td>
</tr>
<tr>
<td align="left">2</td>
<td align="center">653</td>
<td align="center">717</td>
<td align="center">781</td>
<td align="center">845</td>
</tr>
<tr>
<td align="left">3</td>
<td align="center">901</td>
<td align="center">1215</td>
<td align="center">1546</td>
<td align="center">1847</td>
</tr>
<tr>
<td align="left">4</td>
<td align="center">1130</td>
<td align="center">1464</td>
<td align="center">1770</td>
<td align="center">2104</td>
</tr>
<tr>
<td align="left">5</td>
<td align="center">1256</td>
<td align="center">1645</td>
<td align="center">2054</td>
<td align="center">2408</td>
</tr>
<tr>
<td align="left">a</td>
<td align="center">--</td>
<td align="center">960</td>
<td align="center">1152</td>
<td align="center">--</td>
</tr>
<tr>
<td align="left">b</td>
<td align="center">--</td>
<td align="center">1020</td>
<td align="center">1272</td>
<td align="center">1518</td>
</tr>
<tr>
<td align="left">x</td>
<td align="center">--</td>
<td align="center">--</td>
<td align="center">--</td>
<td align="center">1036</td>
</tr>
</tbody>
</table>
</div>
<a id="tab:k-harmonics" name="tab:k-harmonics"></a></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<br />
<p>Below we describe the properties of some of the <i>harmonics</i> found in    the replies from the modified <tt>named</tt> 9.3.1 server.</p>
<p> </p>
<dl> <dt><b><i>Harmonic 1</i></b></dt> <dd>are delegations to the arpa domain containing   12 NS RRs, on NSEC and one RRSIG over the NSEC in the authority   section and 12 A type glue RRs in the additional section.
<p>This <i>harmonic</i> would not occur on the production system as<br /> [4]<tt>k.root-servers.net</tt> is authoritative for the 'arpa' domain. It        would return a delegation to the relevant subsequent domain or return a        name error.</p>
<p> </p>
</dd> <dt><b><i>Harmonic 2</i></b></dt> <dd>are delegations to the gtld-servers. The   authority section contains 13 name servers, one NSEC and one RRSIG.   The additional section contains 13 A type glue RRs and 2 AAAA type   glue RRs.
<p> </p>
</dd> <dt><b><i>Harmonic 3</i></b></dt> <dd>are typically Name Error responses.
<p>They contains the root's SOA, two NSEC RR and their RRSIGs in the authority        section and the signed DNSKEY RR <i>without</i> a RRSIG RR set in the additional        section.</p>
<p>The two NSEC RRs are needed to prove non-existence of the exact match        (pointing from NR. to NU.) and one to prove non existence of a wildcard.</p>
<p>If the RRSIGs had been included, these packets would be included in <i>Harmonic        5</i></p>
<p>This <i>harmonic</i> can not be distinguished in the responses from <tt>nsd</tt> (bottom right plot). <tt>nsd</tt> does not include the DNSKEY RR set and        the data remains hidden between the majority of queries in the band around        500 octets size.</p>
<p>This <i>harmonic</i> can also not be distinguished in the responses from        the unmodified name server for 512 bit ZSK (see the plot on the top left).        They are significant in plot for the modified server. The <i>third harmonic</i> in the 512 ZSK measurements is mostly caused by queries for <br /> [4] <tt>_ldap._tcp.dc._msdcs.ntserver. IN SRV</tt>.</p>
<p>This harmonic appears because on the modified server the original EDNS0        size is honoured and a significant fraction of the clients advertise that        they can handle 1280 sized responses.</p>
<p> </p>
</dd> <dt><b><i>Harmonic 4</i></b></dt> <dd>are typically responses to <tt>. IN A</tt> queries. The responses typically contain the SOA and an NSEC RR   (owned by `.')  and their RRSIGs in the authority section and the   signed DNSKEY RR set in the additional section.
<p> </p>
</dd> <dt><b><i>Harmonic 5</i></b></dt> <dd>are typically Name Error responses that   contain the root's SOA, two NSEC RR and their RRSIGs in the   authority section and the signed DNSKEY RR with their RRSIG RRs in   the additional section.
<p> </p>
</dd> <dt><b><i>Harmonic A</i></b></dt> <dd>only occurs in the plots for ZSKs 1024 and   1596.
<p>Packets in this <i>harmonic</i> are typically responses to the priming query        <tt>. IN NS</tt>. With the roots NS RRset and its RRSIG in the answer section        and a DNSKEY RR set <i>without</i> RRSIG in the additional section.</p>
<p>This <i>harmonic</i> appears and disappears because it is a by-product        of the 1280 size honoured by the modified server.</p>
<p> </p>
</dd> <dt><b><i>Harmonic B</i></b></dt> <dd>are typically Name Error responses to   queries for records in numerical top level domains with only one   NSEC RR and corresponding RRSIG in the authority section. (The NSEC   that denies existence of numerical TLDs also denies the existence of   the `*') for ZSK 2048 <i>Harmonic B</i> also includes the packets   from <i>Harmonic 4</i> with their signatures stripped.
<p> </p>
</dd> <dt><b><i>Harmonic X</i></b></dt> <dd>only occurs responses from the zone signed   with a 2048 bit ZSK.
<p>These packets typically contain a Name Error response. It has a two NSEC RRs        proof for non existence in the authority section. It does not have DNSKEYs        in the additional section. These are the packets that did not fit in <i>Harmonic        3</i>.</p>
<p>It is <i>Harmonic X</i> that shows the distinct peak in packet distribution        for 2048 ZSK zones served by the modified <tt>nsd</tt> 2.3.0 server (bottom        right plot of figure <a href="#fig:egress-k-log">14</a>. For smaller        key sizes this harmonic is convolved with other harmonics.</p>
<p> </p>
</dd> </dl>
<p>In the figures for the modified <tt>nsd</tt> responses there is one distinct    peak at 1625 and 2009 octets for the 512 and 1024 bits ZSK distributions(Figure <a href="#fig:egress-k-log">14</a>,    bottom left plot, second and third frame from the bottom).</p>
<p>Those peaks are caused by responses to the <tt>. IN ANY</tt> query. The amplitude    of the peak is 518 packets. The reason for this peak not to occur for the 1592    bits ZSK responses is that these responses do not fit and the packets are truncated.    This is confirmed in Table <a href="#tab:tctable">6</a> where these packets    show up as being truncated.</p>
<p>The peak also shows in the 512 ZSK graph (at 1852 octets) and occurs at 1801    octets in the 1024 ZSK graph for <tt>named</tt>. The content - or the sizes    - of the responses to the ANY query are different. The <tt>named</tt> comes    with an empty additional section while <tt>nsd</tt> adds A glue records to the    additional section.</p>
<p>These peaks do not occur in the unsigned zone either. We did not include the    DNSKEY RRset in the the unsigned version of the zone. The response to the ANY    query then only measures 296 octets for <tt>named</tt> and 493 octets for <tt>nsd</tt>,    the latter including glue.</p>
<p>The distributions for the unsigned zones differ slightly between the unmodified    and modified servers (compare the bottom frames of the same row). This is caused    by the fact that the modified treats all clients as if they are able to deal    with responses of 1280 bytes or more. The unmodified server will need to honour    the 512 byte size limit for the 65.5% of the queries that do not have the EDNS0    extension. <br /><br /></p>
</td>
</tr>
</tbody>
</table>
<div><a id="fig:cum-kroot" name="fig:cum-kroot"></a><a id="1007" name="1007"></a> 
<table>
<caption align="bottom" class="small"><b>Figure 15:</b> Cumulative Packet Sizes for Replies From the k.root Traces</caption> 
<tbody>
<tr>
<td><img alt="img24.png" class="image-inline" height="693" src="resolveuid/56d6ec797464f964c27e5d974084b7c6" width="995" /></td>
</tr>
</tbody>
</table>
</div>
<table>
<tbody>
<tr>
<td><br /><br />
<p>Figure <a href="#fig:cum-kroot">15</a> shows the cumulative size distributions.</p>
<p>The graphs indicate that the amount of signal in the <i>harmonics</i> is rearranged    for larger key sizes.</p>
<p>The most important conclusion that can be drawn from the graph is that when    the DNSKEY RRs with their signatures are not included in the responses, the    <tt>nsd</tt> behaviour packet sizes will not grow beyond 1259 octets, well beyond    the MTU on Ethernet networks.</p>
<p> </p>
<h2><a id="SECTION01030000000000000000" name="SECTION01030000000000000000"></a> <a id="sec:ack" name="sec:ack"></a><br /> Acknowledgements</h2>
<p>Thanks Daniel Karrenberg for the design and implementation of the DISTEL lab,    proofreading of the manuscript and the <i>Vlaai</i><a href="#foot1016" id="tex2html29" name="tex2html29"> <sup> <i>FN</i></sup></a> during his    instructions on how to operate the lab. Erik Rozendaal for coding the modifications    to NSD. Mark Andrews for explaining the EDNS0 behaviour for BIND. People that    helped me by asking clever questions or suggesting directions are Joao Damas,    Lorenzo Colitti and Mark Santcroos. Adrian Bedford and Jaap Akkerhuis for proofreading    the manuscript.</p>
<p>Most of this work was done while I was employed by the RIPE NCC.</p>
<p> </p>
<h3><a id="SECTION02000000000000000000" name="SECTION02000000000000000000"> Bibliography</a></h3>
<dl compact="compact"> <dd>
<p> </p>
</dd> <dt><a id="AGER_overhead" name="AGER_overhead">ADF05</a> </dt> <dd> Bernhard Ager, Holger Dreger, and Anja Feldmann. <br /> <i>Exploring the Overhead of DNSSEC</i>, April 2005. <br /> <tt><span>http://www.net.informatik.tu-muenchen.de/~anja/feldmann/papers/dnssec05.pdf</span></tt>,                          Work in progress.
<p> </p>
</dd> <dt><a id="FPDNS" name="FPDNS">AS</a> </dt> <dd> Roy Arends and Jakob Schlyter. <br /> <i>fpdns - Fingerprinting DNS servers</i>. <br /> FPDNS webpages. <br /> <tt><span>http://www.rfc.se/fpdns/</span></tt>.
<p> </p>
</dd> <dt><a id="BIND" name="BIND">BIND</a> </dt> <dd> ISC BIND nameserver webpage. <br /> <tt><a href="http://www.isc.org/index.pl?/sw/bind/" id="tex2html32" name="tex2html32">http://www.isc.org/index.pl?/sw/bind/</a></tt>.
<p> </p>
</dd> <dt><a id="draft-ietf-dnsop-dnssec-operational-practices" name="draft-ietf-dnsop-dnssec-operational-practices">KG05</a> </dt> <dd> Olaf Kolkman and Miek Gieben. <br /> <i>DNSSEC Operational Practices &lt;draft-ietf-dnsop-dnssec-operational-practices-05.txt&gt;</i>,                          September 2005. <br /> <tt><a class="external-link" href="ftp://ftp.ietf.org/internet-drafts/draft-ietf-dnsop-dnssec-operational-practices-05" id="tex2html33" name="tex2html33" target="_blank"></a></tt><a class="external-link" href="http://tools.ietf.org/html/draft-ietf-dnsop-dnssec-operational-practices-05" id="tex2html33" name="tex2html33" target="_blank">http://tools.ietf.org/html/draft-ietf-dnsop-dnssec-operational-practices-05</a><tt><a class="external-link" href="ftp://ftp.ietf.org/internet-drafts/draft-ietf-dnsop-dnssec-operational-practices-05" id="tex2html33" name="tex2html33" target="_blank"></a></tt>,                          DNSOP WG Internet draft, drafts are subject to change                          and have a limited lifetime. See also <a href="https://datatracker.ietf.org/public/idindex.cgi?%20command=do_search_id&amp;filename=draft-ietf-dnsop-dnssec-operational-practices&amp;id_tracker_state_id=-1&amp;wg_id=0&amp;other_group=&amp;status_id=0&amp;last_name=&amp;first_name=" target="_blank">the                          Internet-Drafts Database Interface</a>
<p> </p>
</dd> <dt><a id="DISTEL_slides" name="DISTEL_slides">KYLK02</a> </dt> <dd> Daniel Karrenberg, Alexis Yushin, Ted Lindreen, and                          Olaf Kolkman. <br /> <i>DISTELDomain Name Server Testing Lab</i>, November                          2002. <br /> <tt><a href="http://www.ripe.net/ripe/meetings/ripe-43/presentations/ripe43-dnr-distel/" id="tex2html34" name="tex2html34">http://www.ripe.net/ripe/meetings/ripe-43/presentations/ripe43-dnr-distel/</a></tt>.
<p> </p>
</dd> <dt><a id="NSD" name="NSD">NSD</a> </dt> <dd> NLnet Labs NSD nameserver webpage. <br /> <tt><a href="http://www.nlnetlabs.nl/nsd/" id="tex2html35" name="tex2html35">http://www.nlnetlabs.nl/nsd/</a></tt>.
<p> </p>
</dd> <dt><a id="RFC2671" name="RFC2671">rfc2671</a> </dt> <dd> P. Vixie. <br /> <i>RFC 2671: Extension Mechanisms for DNS (EDNS0)</i>.                          <br /> IETF, August 1999. <br /> <tt><a href="ftp://ftp.ietf.org/rfc/rfc2671.txt" id="tex2html36" name="tex2html36">ftp://ftp.ietf.org/rfc/rfc2671.txt</a></tt>.
<p> </p>
</dd> <dt><a id="RFC4033" name="RFC4033">rfc4033</a> </dt> <dd> R. Arends, R. Austein, M. Larson, D. Massey,                          and S. Rose. <br /> <i>RFC4033: DNS Security Introduction and Requirements</i>.                          <br /> IETF, March 2005. <br /> <tt><a href="ftp://ftp.ietf.org/rfc/rfc4033.txt" id="tex2html37" name="tex2html37">ftp://ftp.ietf.org/rfc/rfc4033.txt</a></tt>.
<p> </p>
</dd> <dt><a id="RFC4034" name="RFC4034">rfc4034</a> </dt> <dd> R. Arends, R. Austein, M. Larson, D. Massey,                          and S. Rose. <br /> <i>RFC4034: Resource Records for the DNS Security Extensions</i>.                          <br /> IETF, March 2005. <br /> <tt><a href="ftp://ftp.ietf.org/rfc/rfc4034.txt" id="tex2html38" name="tex2html38">ftp://ftp.ietf.org/rfc/rfc4034.txt</a></tt>.
<p> </p>
</dd> <dt><a id="RFC4035" name="RFC4035">rfc4035</a> </dt> <dd> R. Arends, R. Austein, M. Larson, D. Massey,                          and S. Rose. <br /> <i>RFC4035: Protocol Modifications for the DNS Security                          Extensions</i>. <br /> IETF, March 2005. <br /> <tt><a href="ftp://ftp.ietf.org/rfc/rfc4035.txt" id="tex2html39" name="tex2html39">ftp://ftp.ietf.org/rfc/rfc4035.txt</a></tt>.                          Note: URLs may be subject to change.</dd> </dl>
<p>Document history: This RIPE document is based on <img align="bottom" alt="img27.png" class="image-inline" height="15" src="resolveuid/0bdda777bd576ba436d789cad560211f" width="106" /> of the manuscript source.</p>
<p> </p>
<hr />
<h4>Footnotes</h4>
<dl> <dt><a id="foot356" name="foot356">... Kolkman</a><a href="#tex2html1"></a></dt> <dd> (olaf@nlnetlabs.nl)mailto:olaf@nlnetlabs.nl </dd> <dt><a id="foot78" name="foot78">... threading</a><a href="#tex2html3"></a></dt> <dd>BIND 9.3.1 that came with FreeBSD 6.0 CURRENT was compiled with multi-threading and that showed a clear performance limit at 3000 packets per second answer rate. </dd> <dt><a id="foot358" name="foot358">... logging</a><a href="#tex2html4"></a></dt> <dd>During the preparations of experiments we noticed   performance problems that were caused by having the <tt>default</tt> logging category logged to a channel that was configured with   severity <tt>debug 6</tt>. </dd> <dt><a id="foot366" name="foot366">... increase</a><a href="#tex2html10"></a></dt> <dd>The fits shows very different results for the amount of memory consumed      per NSEC (the B parameter in Table <a href="#tab:mempar">3</a>). We do      not expect that parameter to change between the various fits. The cause is      that the number of NSEC RRs and the number of RRSIGs is not completely independent.      The number of NSEC RRs is never larger than the number of RRSIG RRs, and the      ratio for the zones for which ns-pri.ripe.net is authoritative is between      1:1 and 1:2. As a result we are trying to fit a plane to an almost straight      line in the      <!-- MATH  $(VSZ,NSEC,RRSIG)$  --> <img align="middle" alt="img10.png" class="image-inline" height="36" src="resolveuid/a0daad351638ca7fd5085a3a5673a54e" width="187" /> space and there are to little data points away from      the line to reliably determine <img align="bottom" alt="img11.png" class="image-inline" height="15" src="resolveuid/4451004969512235396de9e8086de02c" width="59" />. </dd> <dt><a id="foot325" name="foot325">... answers</a><a href="#tex2html18"></a></dt> <dd>As soon as these client   configure a trust-anchors they will see validation failures and will   not be able to resolve signed zones at all. </dd> <dt><a id="foot1016" name="foot1016">...Vlaai</a><a href="#tex2html29"></a></dt> <dd>A treat from the province of Limburg </dd> </dl> 
<hr />
<address> Olaf Kolkman 2005-09-28 </address></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>mark</dc:creator>
    <dc:rights></dc:rights>
    
      <dc:subject>dnssec</dc:subject>
    
    <dc:date>2005-10-08T22:00:00Z</dc:date>
    
    <dc:type>RIPE Document</dc:type>
  </item>


  <item rdf:about="http://www.ripe.net/ripe/docs/ripe-271">
    <title>RIPE NCC Hostcount in the 21st Century</title>
    <link>http://www.ripe.net/ripe/docs/ripe-271</link>
    <description>This memo proposes a new direction for how the RIPE NCC collects data and published statistics.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<h2>Table of Contents</h2>
<ol>
<li><a href="#intro">Introduction</a></li>
<li><a href="#why">Why Measurements</a></li>
<li><a href="#strengths">Strengths</a></li>
<li><a href="#weaknesses">Weaknesses</a></li>
<li><a href="#forward">The Way Forward</a></li>
<li><a href="#support">Membership Support</a></li>
<li><a href="#summary">Summary</a></li>
</ol>
<p><a name="intro"></a></p>
<h3>1. Introduction</h3>
<p>The RIPE NCC has collected data and published statistics form  its inception.          In fact the hostcount has even started before the RIPE NCC began  operations.          Other measurement and data collection activities have been added  later,          most notably Test Traffic Measurements (TTM) and the Routing  Information          Service (RIS).</p>
<p>After more than 10 years it is time to re-visit this area and  adjust          the direction based on input from the RIPE community and the NCC  membership.          This memo proposes the new direction and seeks to establish  consensus          among the RIPE NCC membership.</p>
<p><a name="why"></a></p>
<h3>2. Why Measurements</h3>
<p>Besides satisfying the curiosity of the RIPE community and  fostering          academic research there are a number of reasons for collecting  and publishing          measurements:</p>
<p>Statistics such as address space usage and routing table  growth are          vital for the development of address space policies and RIPE  operational          recommendations. Data such as the usage history of address space  and routing          identifiers is used extensively by the NCC in daily operations,  so is          monitoring data on the quality of the DNS root service.</p>
<p>The NCC also produces measurement products for use by the  membership          in both short term operations and long term planning. TTM gives  test-box          hosts both minute-to-minute information and long term trends.  RIS can          be used to get a global picture of inter-domain routing from a  single          source and is unique in providing this information not only for  the present          but also for user selectable time intervals in the past.</p>
<p>Last but not least RIPE NCC statistics are also aimed at  telecomms regulators          and government bodies that look after public interest concerns  in our          industry. To them we provide a neutral and unbiased view on  developments          that goes a bit deeper than some ad-hoc measurements that are  published          to further specific agendas. This area has become increasingly  important          over the last few years.</p>
<p><a name="strengths"></a></p>
<h3>3. Strengths</h3>
<p>The biggest strength of the RIPE NCC in the area of  measurements is          its proven neutrality and impartiality. We have developed this  over the          years and earned the trust of all players. The NCC staff doing  the work          have a very high degree of professionalism and experience in the  area;          this results in very high quality data that is used widely. We  are not          doing any passive measurements on production traffic in order to  avoid          privacy concerns. Because of our long history of measurement  activities          we have a number of very long time series of well defined  measurements          which can be used to analyse long-term trends.</p>
<p><a name="weaknesses"></a></p>
<h3>4. Weaknesses</h3>
<p>The emphasis on producing high-quality well defined data has  lead us          to take a somewhat academic attitude towards measurements. Our  products          are very detailed and need considerable time to use effectively  and to          learn how-to use in the first place. We have not developed  enough easy          to use and immediately useful products for the RIPE NCC  membership and          the RIPE community at large.</p>
<p>We have developed TTM as closed user group service. Only those  who participate          and pay have access to the data. We assumed that the user group  would          grow to a significant part of the RIPE NCC membership as the  benefits          became obvious. This has not happened for a number of reasons  one of which          is certainly that it has become very easy and cheap just to add  capacity.          Consequently TTM today serves only a very small minority of the  NCC membership      