Hi all,
I mentioned in an earlier email that we have been preparing a rather major
revision to our initial sizing tech note. As we mentioned in this thread, and
in the tech note itself, we are very much interested in feedback,. To that
end, a number of comments from people (on and off list) were very helpful in
correcting some of our thinking, and informing some of our analyses, thank you!
With apologies for the protracted delay, the new tech note is now available at:
http://techreports.verisignlabs.com/tr-lookup.cgi?trid=1120005&rev=2
Some of the more substantial changes are:
- Our core formulation for estimating the number of objects changed according
to feedback from people on the list.
- We added a treatise on ``deadline'' scheduling (i.e. what do things look like
if RPKI crawls have to be done in $t$ seconds).
- We removed the x2 factor from our introduction and conclusions (as people on
the list felt that this was not well supported).
- We broach the almost doubling of time estimates that the RPKI will undergo
during algorithm rollover periods (``months or years'' in duration).
- We summarized our findings a bit more.
There are other changes throughout, but we continue to feel that a living
document like this one is critical to understanding the way in which a global
RPKI may be likely to perform, and informing the community.
Ultimately, with the measurements that we have seen today, we still calculate
crawl times taking between about 15 and 30 days. The section on deadline
scheduling essentially finds that if we are to be able to reliably count on
crawls from all RP caches (throughout the Internet) being done by 24 hours, the
average repository in the global RPKI has to be orders of magnitude faster than
the measurements we have seen.
Thanks,
Eric
PS - In the spirit of full transparency, I have attached the _incredibly_
complicated script that generated our Figure 1... ;)
#!/usr/bin/perl -w
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
use strict;
sub _usage
{
print("rpki-calc-2.pl <object count> <router object count> <Repo count[,<repo count2>[, <...> ] ]> <seconds / object> [ <graph file> ] | -h\n");
}
my $iObjCount = shift;
my $iRouterObjCount = shift;
my $sRepoCount = shift;
my $fSecObj = shift;
my $sPrint = shift;
if (!defined($iObjCount))
{
warn("No Object count specified.");
_usage();
}
elsif ("-h" eq $iObjCount)
{
_usage();
}
elsif (!defined($iRouterObjCount))
{
warn("No RouterObj count specified.");
_usage();
}
elsif (!defined($sRepoCount))
{
warn("No Repo count specified.");
_usage();
}
elsif (!defined($fSecObj))
{
warn("No seconds/obj defined");
_usage();
}
else
{
my $sTmpFile = "-";
if (defined($sPrint))
{
$sTmpFile = "./tmp-rpki-sizing-" . time() . ".out";
}
if (!open(OUT, "> $sTmpFile"))
{
warn("Unable to open output '$sTmpFile': $!");
}
else
{
my @lRepoCount = split(/,/, $sRepoCount);
foreach my $iRepoCount (@lRepoCount)
{
my $iTmpObjCount = $iObjCount + $iRepoCount;
my $iTime = ($iTmpObjCount + $iRepoCount) * $fSecObj;
my $fDays = $iTime / 86400;
print(OUT "$iRepoCount $iTmpObjCount $iTime $fDays ");
$iTmpObjCount += $iRouterObjCount;
$iTime = ($iTmpObjCount + $iRepoCount) * $fSecObj;
$fDays = $iTime / 86400;
print(OUT "$iTmpObjCount $iTime $fDays\n");
}
if ("-" ne $sTmpFile)
{
close(OUT);
my $sCmd = "
set term pdf fsize 9 linewidth 3.0
set out '$sPrint'
set key left top
set ylabel 'Days (without Router Certs)'
set y2label 'Days (with Router Certs)'
set xlabel 'Global Number of Repositories'
set grid
set y2tics
plot '$sTmpFile' u 1:4 title 'Without Router Certs' w lp lw 3,'' u 1:7 title 'With Router Certs' axes x1y2 w lp lw 3
";
system("echo \"$sCmd\" | gnuplot");
unlink($sTmpFile);
}
}
}
_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr