⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-ietf-dnsop-respsize-01.txt

📁 bind 9.3结合mysql数据库
💻 TXT
📖 第 1 页 / 共 2 页
字号:
   3.2. For longer query names, the number of address records supplied will   be lower.  Furthermore, it is only by using a common parent name (which   is GTLD-SERVERS.NET in this example) that all 13 addresses are able to   fit.  The following output from a response simulator demonstrates these   properties:      % perl respsize.pl 13 13 0        common name, average case: msg:303    nsaddr#13 (green)        common name,   worst case: msg:495    nsaddr# 1 (red)      uncommon name, average case: msg:457    nsaddr# 3 (orange)      uncommon name,   worst case: msg:649(*) nsaddr# 0 (red)      % perl respsize.pl 13 13 2        common name, average case: msg:303    nsaddr#11 (orange)        common name,   worst case: msg:495    nsaddr# 1 (red)      uncommon name, average case: msg:457    nsaddr# 2 (orange)      uncommon name,   worst case: msg:649(*) nsaddr# 0 (red)   (Note: The response simulator program is shown in Section 5.)   Here we use the term "green" if all address records could fit, or   "orange" if two or more could fit, or "red" if fewer than two could fit.   It's clear that without a common parent for nameserver names, much space   would be lost.   We're assuming an average query name size of 64 since that is the   typical average maximum size seen in trace data at the time of this   writing.  If Internationalized Domain Name (IDN) or any other technology   which results in larger query names be deployed significantly in advance   of EDNS, then more new measurements and new estimates will have to be   made.   4 - Conclusions   4.1. The current practice of giving all nameserver names a common parent   (such as GTLD-SERVERS.NET or ROOT-SERVERS.NET) saves space in DNS   responses and allows for more nameservers to be enumerated than would   otherwise be possible.  (Note that in this case it is wise to serve the   common parent domain's zone from the same servers that are named within   it, in order to limit external dependencies when all your eggs are in a   single basket.)   4.2. Thirteen (13) seems to be the effective maximum number of   nameserver names usable traditional (non-extended) DNS, assuming a   common parent domain name, and assuming that additional-data truncation   is undesirable in the average case.   Expires December 2004                                           [Page 5]   INTERNET-DRAFT                  June 2003                       RESPSIZE   4.3. Adding two to five IPv6 nameserver address records (AAAA RRs) to a   prototypical delegation that currently contains thirteen (13) IPv4   nameserver addresses (A RRs) for thirteen (13) nameserver names under a   common parent, would not have a significant negative operational impact   on the domain name system.   5 - Source Code   #!/usr/bin/perl -w   $asize = 2+2+2+4+2+4;   $aaaasize = 2+2+2+4+2+16;   ($nns, $na, $naaaa) = @ARGV;   test("common", "average", common_name_average($nns),        $na, $naaaa);   test("common", "worst", common_name_worst($nns),        $na, $naaaa);   test("uncommon", "average", uncommon_name_average($nns),        $na, $naaaa);   test("uncommon", "worst", uncommon_name_worst($nns),        $na, $naaaa);   exit 0;   sub test { my ($namekind, $casekind, $msg, $na, $naaaa) = @_;        my $nglue = numglue($msg, $na, $naaaa);        printf "%8s name, %7s case: msg:%3d%s nsaddr#%2d (%s)\n",             $namekind, $casekind,             $msg, ($msg > 512) ? "(*)" : "   ",             $nglue, ($nglue == $na + $naaaa) ? "green"                  : ($nglue >= 2) ? "orange"                       : "red";   }   sub pnum { my ($num, $tot) = @_;        return sprintf "%3d%s",   }   sub numglue { my ($msg, $na, $naaaa) = @_;        my $space = ($msg > 512) ? 0 : (512 - $msg);        my $num = 0;        while ($space && ($na || $naaaa )) {             if ($na) {                  if ($space >= $asize) {                       $space -= $asize;   Expires December 2004                                           [Page 6]   INTERNET-DRAFT                  June 2003                       RESPSIZE                       $num++;                  }                  $na--;             }             if ($naaaa) {                  if ($space >= $aaaasize) {                       $space -= $aaaasize;                       $num++;                  }                  $naaaa--;             }        }        return $num;   }   sub msgsize { my ($qname, $nns, $nsns) = @_;        return  12 +                            # header                $qname+2+2 +                    # query                0 +                             # answer                $nns * (4+2+2+4+2+$nsns);       # authority   }   sub average_case { my ($nns, $nsns) = @_;        return msgsize(64, $nns, $nsns);   }   sub worst_case { my ($nns, $nsns) = @_;        return msgsize(256, $nns, $nsns);   }   sub common_name_average { my ($nns) = @_;        return 15 + average_case($nns, 2);   }   sub common_name_worst { my ($nns) = @_;        return 15 + worst_case($nns, 2);   }   sub uncommon_name_average { my ($nns) = @_;        return average_case($nns, 15);   }   sub uncommon_name_worst { my ($nns) = @_;        return worst_case($nns, 15);   }   Expires December 2004                                           [Page 7]   INTERNET-DRAFT                  June 2003                       RESPSIZE   Security Considerations   The recommendations contained in this document have no known security   implications.   IANA Considerations   This document does not call for changes or additions to any IANA   registry.   IPR Statement   Copyright (C) The Internet Society (2003-2004).  This document is   subject to the rights, licenses and restrictions contained in BCP 78,   and except as set forth therein, the authors retain all their rights.   This document and the information contained herein are provided on an   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR   IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.   Authors' Addresses   Paul Vixie      950 Charter Street      Redwood City, CA 94063      +1 650 423 1301      vixie@isc.org   Akira Kato      University of Tokyo, Information Technology Center      2-11-16 Yayoi Bunkyo      Tokyo 113-8658, JAPAN      +81 3 5841 2750      kato@wide.ad.jp   Expires December 2004                                           [Page 8] 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -