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 sidr@ietf.org https://www.ietf.org/mailman/listinfo/sidr