<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>According to the Best Available Data on CAIDA</title>
    <link>https://www.caida.org/blog/</link>
    <description>Recent content in According to the Best Available Data on CAIDA</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>© Regents of the University of California</copyright><atom:link href="https://www.caida.org/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CAIDA&#39;s Annual 2024 Report</title>
      <link>https://www.caida.org/blog/caidas-annual-2024-report/</link>
      <pubDate>Fri, 15 Aug 2025 13:40:49 -0700</pubDate>
      <author>kc</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5535</guid>
      <description>The CAIDA annual report summarizes CAIDA&amp;rsquo;s activities for 2024 in the areas of research, infrastructure, data collection and analysis. The executive summary is excerpted below: In 2024 CAIDA continued to design, prototype, evaluate and implement a new generation of measurement and research  infrastructure for the …</description>
      <content:encoded>&lt;p&gt;The &lt;a href=&#34;https://www.caida.org/about/annualreports/2024/&#34;&gt;CAIDA annual report&lt;/a&gt; summarizes CAIDA&#39;s activities for 2024 in the areas of research, infrastructure, data collection and analysis. The executive summary is excerpted below:

&lt;/p&gt;

&lt;blockquote class=&#34;wp-block-quote&#34;&gt;

&lt;p&gt;In 2024 CAIDA continued to design, prototype, evaluate and implement a new generation of measurement and research &amp;nbsp;infrastructure for the Internet, which supports collection, curation, archiving, and expanded sharing of data and tools essential for understanding and strengthening the security, stability, and resilience of the Internet infrastructure.&lt;br&gt;&lt;br&gt;Our efforts focused &amp;nbsp;on five key infrastructure components: (1) Highly distributed network measurement and data acquisition infrastructure capable of capturing several types of data relevant to security research, as well as hosting new vetted experiments; (2) Data management infrastructure supporting data usability, curation, discovery and sharing; (3) Data analytics platforms that provide interactive access to strategic derived datasets that reveal vulnerabilities, risks, and crucial insights for strengthening resilience and mitigating threats to Internet infrastructure; &amp;nbsp;and (4) Infrastructure for outreach to engage a range of stakeholders in infrastructure development, use, evaluation and evolution, and in the process scaling up STEM workforce training.&lt;br&gt;&lt;br&gt;This annual report highlights our work on these key components — describing what we built, improved, and learned in 2024. &amp;nbsp;We include several metrics that reflect the scale and utility of our activities: the volume and diversity of data collected, the number of users and collaborators we support, the external publications based on CAIDA datasets, and our own research contributions. Together, these indicators help show where our infrastructure is being used, and where it is making a meaningful difference.

&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;For the full 2024 annual report, see &lt;a href=&#34;https://www.caida.org/about/annualreports/2024/&#34;&gt;https://www.caida.org/about/annualreports/2024/&lt;/a&gt;

&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>New Developments in 100 GB Anonymized Passive Traces</title>
      <link>https://www.caida.org/blog/new-developments-in-100-gb-anonymized-passive-traces/</link>
      <pubDate>Tue, 18 Mar 2025 17:09:56 -0700</pubDate>
      <author>Elena Yulaeva</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5500</guid>
      <description>We want to share important updates regarding our 100 GB anonymized passive trace initiative. The Los Angeles–San Jose link has been upgraded out of the range of this monitoring capability, so the monitor has transitioned to capture traffic traces on a different link. 1. Transition …</description>
      <content:encoded>&lt;p&gt;We want to share important updates regarding our 100 GB anonymized passive trace initiative. The Los Angeles–San Jose link has been upgraded out of the range of this monitoring capability, so the monitor has transitioned to capture traffic traces on a different link.&lt;/p&gt;

&lt;h4&gt;1. Transition to a New 100 GB Link

&lt;/h4&gt;

&lt;p class=&#34;&#34;&gt;Beginning in January 2025, we shifted our trace collection to a 100 GB link between Los Angeles and Dallas. This change opens up opportunities to study network dynamics across different infrastructures and geographies. For additional details, please visit &lt;a href=&#34;https://catalog.caida.org/dataset/passive_2025_pcap_100g&#34; target=&#34;_new&#34; rel=&#34;noopener&#34;&gt;https://catalog.caida.org/dataset/passive_2025_pcap_100g&lt;/a&gt;.

&lt;/p&gt;

&lt;h4&gt;2. Complementary Datasets Based on User Feedback

&lt;/h4&gt;

&lt;p class=&#34;&#34;&gt;Based on a survey of 100 GB anonymized trace users, we have created and shared two complementary datasets to better serve the research community (1) a compilation of metadata statistics about the trace; and (2) a smaller (5-second) subset of data, which is less than 1GB of data compared to the full one-hour capture of about 600GB.

&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Passive 100G Metadata Dataset: a compilation of statistics about the traffic trace&lt;/strong&gt;
This publicly available dataset provides key statistics for our restricted anonymized data. It includes:
trace date and time; trace duration (hours, minutes, and seconds); total packets and bytes captured; mean packet rate (packets per second); mean bit rate (bits per second); and mean link load as a fraction of the nominal maximum link capacity. You can access this dataset &lt;a href=&#34;https://www.caida.org/catalog/datasets/100g_trace_stats/&#34; target=&#34;_new&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.

&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Restricted Anonymized Two-Way Traffic Packet Header Traces Sampler&lt;/strong&gt;
Part of the 2024 Anonymized Traces 100 GB dataset, this resource consists of a 5-second snapshot of bidirectional traffic captured in November 2024. This dataset allows researchers to evaluate the usability of the data before committing to downloading larger volumes. The size of this sampler dataset is less than 1 GB, making it a lightweight option for quick assessments. This sampler dataset is available &lt;a href=&#34;https://catalog.caida.org/dataset/passive_100g_sampler&#34; target=&#34;_new&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;.

&lt;/li&gt;

&lt;/ul&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Observing the DDoS Landscape Requires Collaboration</title>
      <link>https://www.caida.org/blog/observing-the-ddos-landscape-requires-collaboration/</link>
      <pubDate>Sat, 21 Dec 2024 12:03:08 -0800</pubDate>
      <author>Raphael Hiesgen</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5472</guid>
      <description>Distributed denial-of-service (DDoS) attacks are an ever-present phenomenon on the Internet. Over the years, many organizations and groups have undertaken efforts to reduce the feasibility and effectiveness of DDoS attacks, such as by disabling attack vectors (e.g., NTP&amp;rsquo;s get monlist ), deploying source address validation …</description>
      <content:encoded>&lt;p&gt;Distributed denial-of-service (DDoS) attacks are an ever-present phenomenon on the Internet. Over the years, many organizations and groups have undertaken efforts to reduce the feasibility and effectiveness of DDoS attacks, such as by disabling attack vectors (e.g., NTP&#39;s &lt;i&gt;get monlist&lt;/i&gt;), deploying source address validation (ingress &amp;amp; egress filtering), and enlisting law enforcement (booter takedowns). In addition, an industry of DDoS protection companies sells attack mitigation services. While these approaches have had some impact--who knows how dire the situation would be without such efforts?--DDoS remains a persistent threat.&lt;/p&gt;

&lt;p&gt;A clear understanding and view of the DDoS landscape is the basis for developing and improving countermeasures. Our recent study comparatively evaluated long-term DDoS trends in academia and industry to better understand the current limitations. We focused on two classes of DDoS attacks: direct-path (DP) attacks and reflection-amplification (RA) attacks. In a direct-path attack, packets are sent directly to the target of the attack. One group of DP attacks establishes connections to abuse application layer protocols, while others use randomly spoofed source addresses. In a reflection-amplification attack, requests are spoofed to contain the source address of the attack target and sent to a reflective third party service (e.g., DNS), which then sends the replies to the victim.&lt;/p&gt;

&lt;h2&gt;Collecting DDoS Datasets

&lt;/h2&gt;

&lt;p&gt;Our study analyzed longitudinal DDoS trends across academia and industry. We collected 10 datasets from seven observatories listed in Table 1. Each observatory shared 4.5 years of weekly attack counts for our long-term trend analysis. The observatories from academia additionally shared raw DDoS event data, which enabled us to analyze the visibility of targets across observatories. We further collected and analyzed 24 DDoS threat reports from 22 companies for the year 2022. We  published the detailed analysis as an artifact at &lt;a href=&#34;https://ddoscovery.github.io&#34;&gt;https://ddoscovery.github.io&lt;/a&gt;.&lt;br /&gt;
&lt;table class=&#34;tg&#34;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th class=&#34;tg-fymr&#34;&gt;Observatory&lt;/th&gt;
&lt;th class=&#34;tg-fymr&#34;&gt;Type&lt;/th&gt;
&lt;th class=&#34;tg-fymr&#34;&gt;Coverage&lt;/th&gt;
&lt;th class=&#34;tg-fymr&#34;&gt;DP Attack Trends&lt;/th&gt;
&lt;th class=&#34;tg-fymr&#34;&gt;RA Attack Trends&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;UCSD NT&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Network Telescope&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;12M IPs&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;color: #999999;&#34;&gt;(not applicable)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;ORION NT&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal;&#34;&gt;Network Telescope&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;500k IPs&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;color: #999999;&#34;&gt;(not applicable)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Netscout Atlas&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;On-path Network&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Proprietary&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal; text-decoration: none;&#34;&gt;Akamai Prolexic&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal;&#34;&gt;On-path Network&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Proprietary&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Neutral 🔴&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Neutral 🔴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal; text-decoration: none;&#34;&gt;IXP Blackholing&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal;&#34;&gt;On-path Network&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Proprietary&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Decrease 🔻&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal; text-decoration: none;&#34;&gt;AmpPot&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Honeypot&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;~30 IPs&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;color: #999999;&#34;&gt;(not applicable)&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Neutral 🔴&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal; text-decoration: none;&#34;&gt;Hopscotch&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;font-weight: 400; font-style: normal;&#34;&gt;Honeypot&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;65 IPs&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;&lt;span style=&#34;color: #999999;&#34;&gt;(not applicable)&lt;/span&gt;&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Decrease 🔻&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Industry Reports&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;PDF/website/etc.&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;22 Companies&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺&lt;/td&gt;
&lt;td class=&#34;tg-0pky&#34;&gt;Increase 🔺 and &lt;span style=&#34;font-weight: 400; font-style: normal;&#34;&gt;Decrease 🔻&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/p&gt;

&lt;h2&gt;Long-term Attack Trends Depend on the Viewpoint

&lt;/h2&gt;

&lt;p&gt;Our analysis of attack trends revealed that even observatories that agree on long-term trends (Table 1) exhibit many differences in short-term patterns, reflecting different views of the DDoS landscape. For the analysis, we normalized the weekly attack counts to the median of the first 15 weeks. We plot the exponentially weighted moving average (EWMA) with a 12-week window and linear regressions starting in 2019 and ending in 2022.&lt;/p&gt;

&lt;h3&gt;Direct-path Attack Trends

&lt;/h3&gt;

&lt;p&gt;Both network telescopes (Fig. 1) observed an increase in attacks during the measurement period. They repeatedly saw short peaks that at least tripled attack counts, but did not coincide across both observatories. ORION saw its largest peaks in 2022Q1 and Q2, with smaller peaks in 2019Q2 and mid-2021. In contrast, UCSD saw its largest peak in 2023, with small peaks in each year. While ORION observed a decline in 2023 compared to 2022, UCSD trends remained positive.&lt;/p&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/011-ucsd.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5473&#34; src=&#34;https://www.caida.org/blog/media/2024/12/011-ucsd.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 1 a): The long-term trends of (randomly-spoofed) direct-path attacks observed by UCSD NT.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/010-orion.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5474&#34; src=&#34;https://www.caida.org/blog/media/2024/12/010-orion.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 1 b): The long-term trends of (randomly-spoofed) direct-path attacks observed by ORION NT

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;p&gt;The time series from one of our industry observatories (Figure 2) did not show large peaks. Netscout Atlas (Fig. 2a) experienced stable growth, except in 2021. Akamai Prolexic (Fig. 2b) fluctuated around its baseline with a slight decrease in attacks overall. Both companies likely have stable customer bases and are less affected by sudden bursts in attacks. Both companies saw a rise in attacks in 2020, followed by a decline in 2021. Netscout saw a rise throughout 2022, while Akamai saw peaks in 2022 but no persistent increase. Both companies detected a rise in attacks in 2023.&lt;/p&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/012-netscout.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5475&#34; src=&#34;https://www.caida.org/blog/media/2024/12/012-netscout.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 2 a): Long-term trends of direct-path attacks observed by Netcout Atlas.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/013-akamai.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5476&#34; src=&#34;https://www.caida.org/blog/media/2024/12/013-akamai.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 2 b): Long-term trends of direct-path attacks observed by Akamai Prolexic.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;h3&gt;Reflection-amplification Attack Trends

&lt;/h3&gt;

&lt;p&gt;The honeypots in our study (Fig. 3) showed a significant increase in attacks in 2020 after a decline in 2019Q4. Hopscotch recorded most attacks early in 2020, while AmpPot saw its highest peaks later, coinciding with a decline in attack counts at Hopscotch. Both HPs detected a continued decline in 2021, aligning with industry efforts to deploy SAV (see discussion in the paper, Section 2.3). While both time series shared a peak in mid-2022, the peak was much more pronounced in the Hopscotch data.&lt;/p&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/020-hopscotch.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5477&#34; src=&#34;https://www.caida.org/blog/media/2024/12/020-hopscotch.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 3 a): Long-term trends of reflection-amplification attacks observed by Hopscotch. The red dashed lines mark DDoS takedown efforts by law enforcement.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/021-amppot.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5478&#34; src=&#34;https://www.caida.org/blog/media/2024/12/021-amppot.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 3 b): Long-term trends of reflection-amplification attacks observed by AmpPot. The red dashed lines mark DDoS takedown efforts by law enforcement.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;p&gt;Akamai Prolexic (Fig. 4 a) experienced only small variations in attacks until 2020Q3 before they surged above 2x its baseline in 2021Q1. This peak coincided with a peak in the IXP time series (Fig. 4 b). However, the IXP already saw a steep rise in attacks starting in 2019Q4, with peaks in 2021Q1 and Q2. Both time series declined until the end of 2022, with more pronounced peaks in the Akamai time series. They both detected an increase in attacks in 2023 but had a neutral to negative trend overall.&lt;/p&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/023-akamai.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5479&#34; src=&#34;https://www.caida.org/blog/media/2024/12/023-akamai.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 4 a): Long-term trends of reflection-amplification attacks observed by Akamai Prolexic. The red dashed lines mark DDoS takedown efforts by law enforcement.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;figure class=&#34;wp-caption alignnone&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/12/024-ixp.png&#34;&gt;&lt;img class=&#34;size-medium wp-image-5480&#34; src=&#34;https://www.caida.org/blog/media/2024/12/024-ixp.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;Figure 4 b): Long-term trends of reflection-amplification attacks observed in IXP Blackholing. The red dashed lines mark DDoS takedown efforts by law enforcement.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;p&gt;&lt;b&gt;Booter takedowns by law enforcement.&lt;/b&gt; We marked known booter takedowns by law enforcement with red dashed lines in Figures 3 and 4. Booters offer DDoS-as-a-service usually relying on reflection-amplification attacks. The first takedown in late 2022Q4 led to immediate, small valleys in all graphs. In contrast, the 2023Q2 takedown did not affect the AmpPot time series (Fig. 3 b). Instead, attack counts increased. While we do not know how trends would have evolved without interference, the impact on DDoS trends appears limited in our time series.&lt;/p&gt;

&lt;h3&gt;Why do Views on DDoS Differ?

&lt;/h3&gt;

&lt;p&gt;We investigated the cause of these differences by comparing DDoS targets across observatories (Section 7 in our paper). The analysis revealed that our four observatories from academia saw a substantial share of targets that were not seen by the other three. While the overlap among observatories of the same type, i.e., either honeypots or network telescopes, was considerable, each observatory provided a unique view into the DDoS attack landscape. This highlights the limitations of individual datasets and the root cause of different views of the DDoS landscape. Overlap between observatories from academia and industry was similarly limited. Thus, cooperation with industry partners is a valuable--and potentially necessary--source for improved visibility.&lt;/p&gt;

&lt;h2&gt;Recommendations

&lt;/h2&gt;

&lt;p&gt;Our analysis of 10 longitudinal datasets from 7 observatories revealed the limited view that researchers have as a basis for DDoS research. Without an accurate view we can neither accurately plan actions nor evaluate their outcome.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Advice for researchers:&lt;/b&gt; DDoS research tries to make global inferences based on local views. Accepting and acknowledging the limitations of available datasets is important for accurate interpretation and comparison. When possible, researchers should analyze multiple datasets, which generally requires collaboration with operators. In parallel, stakeholders across academia and industry need to converge on specific frameworks for data sharing to facilitate comparison. Unexplored details include the definition of incidents and their impact, data formats to accommodate comparisons, disclosure control technologies, and access policies to allow rigorous independent analyses.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Advice for threat-intelligence companies:&lt;/b&gt; Collaborate with researchers. Gathering reliable data on DDoS attacks is challenging. Getting additional data from different vantage points--especially those that academia usually has no access to--is invaluable for researchers. We found that many DDoS reports are only available after providing email addresses and are not archived for long-term access. Lowering the effort to read reports and archiving historical reports increases visibility and perspective on trends over time. Since language is often not consistent across companies and since vantage points and methodologies differ, comparisons to previous reports from the same company are especially relevant to analyze long-term changes in the DDoS landscape.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Advice for operators:&lt;/b&gt; Spoofing is an integral mechanism abused in many DDoS attacks, including all reflection-amplification attacks and a significant subset of direct-path attacks. Source address validation (SAV) is an effective tool to stop these attacks. Supporting ongoing research and extending measurement systems to quantify the deployment of SAV and reveal persistent sources of spoofed packets is a challenging but worthwhile undertaking.&lt;/p&gt;

&lt;p&gt;Let’s collaborate to achieve a comprehensive view of DDoS!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Paper Reference: &lt;/strong&gt;Raphael Hiesgen, Marcin Nawrocki, Marinho Barcellos, Daniel Kopp, Oliver Hohlfeld, Echo Chan, Roland Dobbins, Christian Doerr, Christian Rossow, Daniel R. Thomas, Mattijs Jonker, Ricky Mok, Xiapu Luo, John Kristoff, Thomas C. Schmidt, Matthias Wählisch, KC Claffy, The Age of DDoScovery: An Empirical Comparison of Industry and Academic DDoS Assessments, In: &lt;em&gt;Proc. of ACM Internet Measurement Conference (IMC)&lt;/em&gt;, p. 259–279, ACM : New York, 2024. &lt;a href=&#34;https://doi.org/10.1145/3646547.3688451&#34;&gt;https://doi.org/10.1145/3646547.3688451&lt;/a&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>AS Reachability Visualization</title>
      <link>https://www.caida.org/blog/as-reachability-visualization/</link>
      <pubDate>Wed, 04 Dec 2024 13:47:34 -0800</pubDate>
      <author>Bradley Huffaker</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5333</guid>
      <description>The AS Reach Visualization provides a geographic breakdown of the number of ASes reachable through an AS&amp;rsquo;s customer, peers, providers, or an unknown neighbor. The interactive interface to the visualization can be found at &lt;a href=&#34;https://www.caida.org/catalog/media/visualizations/as-reach/&#34;&gt;https://www.caida.org/catalog/media/visualizations/as-reach/&lt;/a&gt; Independent networks (Autonomous Systems, or ASes) engage in typically voluntary …</description>
      <content:encoded>&lt;p&gt;The AS Reach Visualization provides a geographic breakdown of the number of ASes reachable through an AS&#39;s customer, peers, providers, or an unknown neighbor. The interactive interface to the visualization can be found at &lt;a href=&#34;https://www.caida.org/catalog/media/visualizations/as-reach/&#34;&gt;https://www.caida.org/catalog/media/visualizations/as-reach/&lt;/a&gt;&lt;/p&gt;

&lt;div style=&#34;outline: 2px solid lightblue; outline-offset: 2px;&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/11/as-reach-3969.png&#34;&gt;&lt;img class=&#34;aligncenter size-full wp-image-5435&#34; src=&#34;https://www.caida.org/blog/media/2024/11/as-reach-3969.png&#34; alt=&#34;&#34; width=&#34;456&#34; height=&#34;293&#34; /&gt;&lt;/a&gt;

&lt;/div&gt;

&lt;p&gt;Independent networks (Autonomous Systems, or ASes) engage in typically voluntary bilateral interconnection (&#34;peering&#34;) agreements to provide reachability to each other for some subset of the Internet. The implementation of these agreements introduces a non-trivial set of constraints regarding paths over which Internet traffic can flow, with implications for network operations, research, and evolution. Realistic models of Internet topology, routing, workload, and performance&lt;br /&gt;
must account for the underlying economic dynamics.&lt;/p&gt;

&lt;p&gt;Although these business agreements between ISPs can be complicated, the original model introduced by Gao (&lt;a href=&#34;https://ieeexplore.ieee.org/abstract/document/974527&#34;&gt;On inferring autonomous system relationships in the Internet&lt;/a&gt;), abstracts business relationships into the following three most common types:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;b&gt;customer-to provider&lt;/b&gt;: in which a customer network gets access to the internet from a provider network

&lt;/li&gt;

&lt;li&gt;&lt;b&gt;provider-to-customer&lt;/b&gt;: the reverse of the customer-to-provider, the provider provides access to it&#39;s customer

&lt;/li&gt;

&lt;li&gt;&lt;b&gt;peer-to-peer&lt;/b&gt;: where both ASes exchange traffic between their customers

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;An AS&#39;s Reach is defined as the set of ASes the target AS can reach through its customers, peers, providers, or unknown. The Customer Reach is the set of ASes reachable through the AS&#39;s customers. The Peer Reach is the set of ASes that are not in the Customer Reach, but reachable through the AS&#39;s peers. The Provider Reach is the set of ASes not in the Customer or Peer Reach, but reachable through the AS&#39;s provider. The Unknown Reach is the set of ASes not in the Customer, Peer, or Provider Reach. More details at &lt;a href=&#34;https://www.caida.org/catalog/media/visualizations/as-reach&#34;&gt;https://www.caida.org/catalog/media/visualizations/as-reach/&lt;/a&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>CAIDA&#39;s 2023 Annual Report</title>
      <link>https://www.caida.org/blog/caidas-2023-annual-report/</link>
      <pubDate>Wed, 23 Oct 2024 08:12:49 -0700</pubDate>
      <author>kc</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5425</guid>
      <description>The CAIDA annual report (quite a bit later than usual this year due to an unprecedented level of activity in 2024 which we will report on earlier next year!) summarizes CAIDA&amp;rsquo;s activities for 2023 in the areas of research, infrastructure, data collection and analysis. The …</description>
      <content:encoded>&lt;p&gt;The &lt;a href=&#34;https://www.caida.org/about/annualreports/2023/&#34;&gt;CAIDA annual report&lt;/a&gt; (quite a bit later than usual this year due to an unprecedented level of activity in 2024 which we will report on earlier next year!) summarizes CAIDA&#39;s activities for 2023 in the areas of research, infrastructure, data collection and analysis. The executive summary is excerpted below:&lt;/p&gt;

&lt;blockquote&gt;&lt;strong&gt;Infrastructure Operations and Design.&lt;/strong&gt; Our research infrastructure funding from NSF, most notably the NSF mid-scale design project, allowed us to make significant progress in developing the next generation of Internet measurement infrastructure to enhance the security and utility of Internet measurements. We focused on creating innovative platforms and software tools for data collection, curation and utilization, particularly targeting data related to the security vulnerabilities within the packet carriage layer of the Internet, which often lead to significant harm. We enhanced infrastructure components that create data products or services requested by the community, including Archipelago (Ark), AS Rank, AS-to-Org mapping, DNS Zone Database (DZDB), Internet Topology Data Kit (ITDK), Facilitating Advances in Network Topology Analysis (FANTAIL), Periscope, Spoofer, and the UCSD Network Telescope. To support researchers trying to find and make use of the best available data from these and other infrastructures, we expanded and designed new functionality for our rich-context Resource Catalog for CAIDA Internet Data Science Resources, most notably data access via the catalog.

&lt;p&gt;We also initiated the design of new infrastructure components – BGP, passive traffic capture, and active measurement – to overcome scaling limitations of current systems. To facilitate scientific use of the data generated by these platforms, we explored current and potential approaches to data analysis and visualization, addressing the needs for standardization, interoperability, AI readiness of our data and platforms. We engaged with partners from industry, academia, and government to gain insights into measurement needs and data acquisition infrastructure design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Research.&lt;/strong&gt; Our research continued to focus on Internet cartography (mapping), security, resilience, and performance studies, in the following categories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internet cartography and security.&lt;/strong&gt; We developed and demonstrated new techniques for analyzing access-network topology to demonstrate the feasibility of of targeted attacks on access network infrastructure, and suggested possible mitigation approaches. We developed new metrics to identify and rank the most important networks from a connectivity perspective for countries around the world, with some case studies to illustrate the geopolitical insights provided by these metrics. We undertook two analyses related to the latest routing security techniques and their effectiveness, using global data sources. We completed the first phase of our effort to infer the semantics of BGP communities in the wild. Finally, we continued our DOD-funded research to build automated techniques to identify and avoid adversarial components of infrastructure paths and divert communications to safe paths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance.&lt;/strong&gt; We made progress on three projects related to Internet performance measurement. First, we designed and implemented a crowdsourcing-based platform (QUINCE) to measure the QoE of video streaming and video conferencing applications. Second, we are leveraging CloudBank resources to understand performance bottlenecks in commercial cloud connectivity. Finally, we began a new NSF-funded project to develop a new measurement toolkit to enable reproducible, comprehensive speed test infrastructure discovery and characterization, and consistent test parameters across platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Policy.&lt;/strong&gt; We proposed a new approach to routing security that achieves four design goals: improved incentive alignment to implement best practices; protection against path hijacks; expanded scope of such protection to customers of those engaged in the practices; and reliance on existing capabilities rather than needing complex new software in every participating router. We were motivated by the FCC’s Notice of Inquiry on Routing Security, and wanted to suggest an alternative to regulation, under which the industry can make practical, measurable progress against the threat of route hijacks in the short term by leveraging institutionalized cooperation rooted in transparency and accountability. We submitted our idea to the FCC public comment process.&lt;/p&gt;

&lt;p&gt;With four industry and 11 academic partners, we undertook a detailed analysis of Distributed Denial-of-Service (DDoS) attacks by integrating perspectives from both industry reports and academic research. We implemented a new approach to transparency with industry by aggregating target information (IPs) from academic sources and allowing industry players to join this data with their data sources revealing gaps in visibility and sharing results. This approach helped validate an industry-reported 2021-2022 drop in spoofed reflection-amplification attacks that increased again in 2023.&lt;/p&gt;

&lt;p&gt;We analyzed and summarized elements of the EU Digital Services Act intended to ensure that independent, third-party researchers such as academics have access to the data necessary to understand the nature of the harms and the effectiveness of the mitigations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everything Else.&lt;/strong&gt; As always, we engaged in a variety of tool development, data sharing, and outreach activities, including publishing 7 peer-reviewed papers, 5 blog entries, and 22 presentations, all indexed in &lt;a href=&#34;https://catalog.caida.org/&#34;&gt;CAIDA Resource Catalog&lt;/a&gt;. Our web site &lt;a href=&#34;https://www.caida.org&#34;&gt;www.caida.org&lt;/a&gt; attracted approximately 261,770 unique visitors, with an average of 1.84 visits per visitor, serving an average of 3.13 pages per visit. During 2023, CAIDA employed &lt;span class=&#34;staff-count&#34; data-type=&#34;staff&#34;&gt;17&lt;/span&gt; staff (researchers, programmers, data administrators, technical support staff), hosted &lt;span class=&#34;staff-count&#34; data-type=&#34;postdoc&#34;&gt;1&lt;/span&gt; postdoc, &lt;span class=&#34;staff-count&#34; data-type=&#34;phdStudent&#34;&gt;7&lt;/span&gt; PhD students, &lt;span class=&#34;staff-count&#34; data-type=&#34;mastersStudent&#34;&gt;12&lt;/span&gt; masters students, and &lt;span class=&#34;staff-count&#34; data-type=&#34;undergradStudent&#34;&gt;35&lt;/span&gt; undergraduate students. We provide select highlights in this report; details are available in papers, presentations, blog, and interactive resources on our web sites. We list and link to publications, tools and data sets shared. Finally, we offer a &lt;a href=&#34;https://www.caida.org/about/annualreports/2023/#caida-in-numbers-outreach-publications-funding&#34;&gt;CAIDA in numbers&lt;/a&gt; section: statistics on our performance, collaborators, finances and funding sources. We are still developing CAIDA’s program plan for 2025-2030. Please feel free to send comments or questions to info at caida dot org. Please note the link to donate to CAIDA at the top of our web site. UC San Diego charges no overhead on donations; it is tax-deductible and goes 100% to research (no university overhead)!&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;For the full 2023 annual report, see &lt;a href=&#34;https://www.caida.org/about/annualreports/2023/&#34;&gt;https://www.caida.org/about/annualreports/2023/&lt;/a&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Streamlining Access to BGP Routing Data</title>
      <link>https://www.caida.org/blog/streamlining-access-to-bgp-routing-data/</link>
      <pubDate>Mon, 07 Oct 2024 19:13:12 -0700</pubDate>
      <author>Elena Yulaeva</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5384</guid>
      <description>U sers can now request access to the CAIDA BGP2GO ( &lt;a href=&#34;https://bgp2go.caida.org&#34;&gt;https://bgp2go.caida.org&lt;/a&gt; ) platform. BGP2GO lets users find the MRT files that contain a specific resource and thus avoid the download and processing of unrelated data. Users can compile a customize list of relevant MRT …</description>
      <content:encoded>&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;U&lt;/span&gt;&lt;span data-contrast=&#34;auto&#34;&gt;sers can now request access to the CAIDA BGP2GO (&lt;/span&gt;&lt;a href=&#34;https://bgp2go.caida.org&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://bgp2go.caida.org&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt;) platform. BGP2GO lets users find the MRT files that contain a specific resource and thus avoid the download and processing of unrelated data. Users can compile a customize list of relevant MRT files, share that exact list with others, or stream the matching MRT files (e.g., using BGPStream).&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:240,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;h2 aria-level=&#34;2&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;Finding the needle in the haystack&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;Public BGP route collectors receive update messages from over 1,000 BGP routers worldwide. These updates are archived and made available for download and analysis. However, the data is organized in a way that often requires downloading vast amounts of unrelated information making it increasingly difficult to focus on the needles in the haystack.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:240}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;Imagine you&#39;re a network operator announcing a new prefix and you want to analyze its propagation. You may not know exactly which collector or MRT file contains the relevant data, forcing you to download and sift through unnecessary information.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:240}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;BGP2GO&lt;/span&gt;&lt;span data-contrast=&#34;auto&#34;&gt; solves this problem by allowing users to easily select only the files they need, saving significant time and effort.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:240}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;We have developed a comprehensive index of all prefixes, ASNs, and communities across RouteViews update files (&lt;/span&gt;&lt;a href=&#34;https://archive.routeviews.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://archive.routeviews.org&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt;), along with BGP2GO, a user interface that allows you to easily select the specific files you need (&lt;/span&gt;&lt;a href=&#34;https://bgp2go.caida.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://bgp2go.caida.org&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt;)&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:240}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;h2 aria-level=&#34;2&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;Use Case: Analyzing Prefix Propagation with PEERING Testbed, BGP2GO, and BGPStream&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;Let’s walk through a real-world example. Suppose you&#39;re a network operator advertising a prefix and want to examine how it propagates across RouteViews collectors. Using the PEERING testbed (&lt;/span&gt;&lt;a href=&#34;https://peering.ee.columbia.edu/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://peering.ee.columbia.edu/&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt;)&lt;/span&gt;&lt;span data-contrast=&#34;auto&#34;&gt;, we performed a controlled advertisement of the prefix &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;184.164.246.0/24&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt; during August 2024.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;h3 aria-level=&#34;3&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;Step 1: Looking up the prefix and setting filters&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;

&lt;/h3&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;In this case, we search for the prefix &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;184.164.246.0/24&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt; in BGP2GO, filtering for data from August 2024. The platform identifies &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;33,251 announcements and withdrawals&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;, spread across &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;746 files&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt; (2.32GB) from &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;26 collectors&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;. This curated selection lets us focus only on the data we need, saving time and resources.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:200,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-interface.png&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img class=&#34;aligncenter wp-image-5415&#34; src=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-interface.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p style=&#34;text-align: center;&#34;&gt;&lt;a href=&#34;https://bgp2go.caida.org/details?pre=184.164.246.0/24&amp;amp;years=2024&amp;amp;months=8&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://bgp2go.caida.org/details?pre=184.164.246.0/24&amp;amp;years=2024&amp;amp;months=8&lt;/a&gt;

&lt;/p&gt;

&lt;h3 aria-level=&#34;3&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;Step 2: Stream selected files in the terminal&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;

&lt;/h3&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;Once the relevant MRT files are selected, you can stream them for further processing using BGPStream. Clicking the &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;BGPSTREAM&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt; button in the top right corner, right above the “collectors” chart gives instructions on how to stream the files in your terminal.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-bgpstream-instructions.png&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img class=&#34;aligncenter wp-image-5416&#34; src=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-bgpstream-instructions.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;For this example, we use the following command (see step 4a above) in the terminal to process the relevant files:&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;pre style=&#34;text-align: center;&#34;&gt;&lt;span data-contrast=&#34;auto&#34;&gt;bgpreader -k 184.164.246.0/24 -d csvfile -o csv-file=&#34;bgp2go.csv&#34;&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;span data-contrast=&#34;auto&#34;&gt;This command leverages bgpreader to read the files and output the lines that pertain to the resource (prefix 184.164.246.0/24) . The following screenshot shows an excerpt of routes related to the prefix 184.164.246.0/24 extracted from all files that contain this prefix in August 2024.&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:2,&amp;quot;335551620&amp;quot;:2,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;a href=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-bgpreader-output.png&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;img class=&#34;aligncenter wp-image-5417&#34; src=&#34;https://www.caida.org/blog/media/2024/08/bgp2go-bgpreader-output.png&#34; alt=&#34;&#34; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;To learn more about the &lt;/span&gt;&lt;b&gt;&lt;span data-contrast=&#34;auto&#34;&gt;bgpreader&lt;/span&gt;&lt;/b&gt;&lt;span data-contrast=&#34;auto&#34;&gt; command and its options, visit the &lt;/span&gt;&lt;span data-contrast=&#34;none&#34;&gt;BGPStream website&lt;/span&gt;&lt;span data-contrast=&#34;auto&#34;&gt;  (&lt;a href=&#34;https://bgpstream.caida.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://bgpstream.caida.org/&lt;/a&gt;) .&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;

&lt;h2 aria-level=&#34;2&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;Getting Access to BGP2GO&lt;/span&gt;&lt;span data-ccp-props=&#34;{&amp;quot;134245418&amp;quot;:false,&amp;quot;134245529&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span data-contrast=&#34;auto&#34;&gt;To request access to the BGP2GO platform, a user should first create an account with the CAIDA Services Single Sign On (SSO) system ( &lt;/span&gt;&lt;a href=&#34;https://auth.caida.org/realms/CAIDA/account&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://auth.caida.org/realms/CAIDA/account&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt; ) by providing basic information and undergoing authentication via Keycloak. After authentication, a user can request access to the BGP2Go platform (which requires a CAIDA-authorized account with bgp2go-api:read role) by going to &lt;/span&gt;&lt;a href=&#34;https://bgp2go.caida.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;https://bgp2go.caida.org/&lt;/span&gt;&lt;/a&gt;&lt;span data-contrast=&#34;auto&#34;&gt; and filling out the request form.  If you have any questions or problems, please contact us at &lt;/span&gt;&lt;a href=&#34;mailto:data-info@caida.org&#34;&gt;&lt;span data-contrast=&#34;none&#34;&gt;data-info@caida.org&lt;/span&gt;&lt;/a&gt;&lt;span data-ccp-props=&#34;{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240,&amp;quot;335559740&amp;quot;:279}&#34;&gt; &lt;/span&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Seeking Beta Users for 100 GB link Anonymized  Passive Traces</title>
      <link>https://www.caida.org/blog/seeking-beta-users-for-100-gb-link-anonymized-passive-traces/</link>
      <pubDate>Sun, 11 Aug 2024 11:54:35 -0700</pubDate>
      <author>Elena Yulaeva</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5379</guid>
      <description>We are seeking beta users for our new Anonymized Two-Way Passive Trace dataset, captured on a 100 GB link between Los Angeles and San Jose. Beginning in April 2024, we have been capturing a one-hour trace each month. To protect privacy, we strip all packet …</description>
      <content:encoded>&lt;p&gt;We are seeking beta users for our new Anonymized Two-Way Passive Trace dataset, captured on a 100 GB link between Los Angeles and San Jose. Beginning in April 2024, we have been capturing a one-hour trace each month. To protect privacy, we strip all packet payloads after the layer 4 headers, and anonymize IP (v4 and v6) addresses with CryptoPan. The monthly data is provided in two separate files, one for each direction of traffic.&lt;/p&gt;

&lt;p&gt;This dataset includes the following metadata fields:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Monitor Name

&lt;/li&gt;

&lt;li&gt;Year and month (including a link to a graphical display of breakup by protocol, application, and country)

&lt;/li&gt;

&lt;li&gt;Start time of trace (UTC)

&lt;/li&gt;

&lt;li&gt;Stop time of trace (UTC)

&lt;/li&gt;

&lt;li&gt;Number of IPv4 packets

&lt;/li&gt;

&lt;li&gt;Number of IPv6 packets

&lt;/li&gt;

&lt;li&gt;Unknown packets (as a fraction of the total number of packets)

&lt;/li&gt;

&lt;li&gt;Transmission rate in packets per second

&lt;/li&gt;

&lt;li&gt;Transmission rate in bits per second

&lt;/li&gt;

&lt;li&gt;Link load (as a fraction of the nominal maximum load for a 100 GB link)

&lt;/li&gt;

&lt;li&gt;Average packet size (bytes) (including a link to a graph of the packet size distribution).

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;The data is stored in our Swift OpenStack object storage. Each one-directional anonymized pcap file captured monthly is approximately 1TB in size, so users will need more than 2TB of space to download the entire one-hour capture. For those without access to such storage and/or processing capacity, contact us and we will discuss other alternatives. We are also releasing statistical information for each hourly trace.&lt;/p&gt;

&lt;p&gt;Academic researchers can request access to the data by filling out and submitting the &lt;a href=&#34;https://www.caida.org/catalog/datasets/request_user_info_forms/passive_100g_dataset_request/&#34;&gt;request form.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will prioritize users who:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Have significant experience with network traffic analysis

&lt;/li&gt;

&lt;li&gt;Demonstrate a clear plan for how they will use the dataset

&lt;/li&gt;

&lt;li&gt;Can commit to regular feedback and participation throughout the beta testing period

&lt;/li&gt;

&lt;/ul&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Help CAIDA Refine and Enhance the FANTAIL Traceroute Analytics platform.</title>
      <link>https://www.caida.org/blog/help-caida-refine-and-enhance-the-fantail-platform/</link>
      <pubDate>Fri, 09 Aug 2024 12:37:44 -0700</pubDate>
      <author>Elena Yulaeva</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5388</guid>
      <description>We are excited to announce the beta testing phase of the Facilitating Advances in Network Topology Analysis (FANTAIL) platform ( &lt;a href=&#34;https://www.caida.org/projects/fantail/&#34;&gt;https://www.caida.org/projects/fantail/&lt;/a&gt; ), a cutting-edge topology query system designed to search vast archives of raw Internet end-to-end path (traceroute) measurement data. FANTAIL is poised to support …</description>
      <content:encoded>&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We are excited to announce the beta testing phase of the Facilitating Advances in Network Topology Analysis (FANTAIL) platform (&lt;/span&gt;&lt;a href=&#34;https://www.caida.org/projects/fantail/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;https://www.caida.org/projects/fantail/&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;), a cutting-edge topology query system designed to search vast archives of raw Internet end-to-end path (traceroute) measurement data. FANTAIL is poised to support and advance various research domains within the Computer and Information Science and Engineering (CISE) field that heavily rely on the emerging sub-discipline of Internet cartography. Key areas of focus include:&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Understanding the intricate ownership and interconnection structures and dynamics of Internet infrastructure.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Exploring methods for device identification and characterization within the digital landscape.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Enhancing the ability to detect and respond to network outages and route hijacking incidents.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Investigating network congestion patterns and their impact on data flow and quality of service.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Identifying and mitigating vulnerabilities within network topologies.&lt;/span&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;FANTAIL consists of four components:&lt;/span&gt;&lt;/p&gt;

&lt;ol&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Interactive Web Interface:&lt;/span&gt;&lt;a href=&#34;https://fantail.caida.org/&#34;&gt; &lt;span style=&#34;font-weight: 400&#34;&gt;FANTAIL Web Interface&lt;/span&gt;&lt;/a&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Application Programming Interface (API): Built on web standards (&lt;/span&gt;&lt;a href=&#34;https://www.caida.org/projects/fantail/docs/file-formats/&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;FANTAIL API Documentation&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;)&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Full-Text Search System&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Big Data Processing System&lt;/span&gt;

&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;The system&#39;s central data type is the traceroute path, representing the inferred IP-level Internet path that network traffic would take between two hosts, from the measurement vantage point to the destination, as determined with the traceroute technique by scamper (https://catalog.caida.org/software/scamper). FANTAIL leverages annotated and indexed data generated through the utilization of Spark, SQLite, and Elasticsearch, originating from CAIDA Internet traceroute probing data dating back to 2015.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Academic researchers interested in accessing the platform can request access by emailing &lt;strong&gt;fantail-info@caida.org&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;We will prioritize users who can commit to regular feedback and participation throughout the beta testing period. &lt;/span&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Understanding the deployment of public recursive resolvers</title>
      <link>https://www.caida.org/blog/understanding-the-deployment-of-public-recursive-resolvers/</link>
      <pubDate>Mon, 06 May 2024 17:14:16 -0700</pubDate>
      <author>Matthew Luckie</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5342</guid>
      <description>This is the third in a series of essays (two earlier blog posts [ 1 , 2 ]) about CAIDA&amp;rsquo;s new effort to reduce the barrier to performing a variety of Internet measurements. We were recently asked about running Trufflehunter , which infers the usage …</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;This is the third in a series of essays (two earlier blog posts [&lt;a href=&#34;https://www.caida.org/blog/towards-a-domain-specific-language-for-internet-active-measurement/&#34;&gt;1&lt;/a&gt;, &lt;a href=&#34;https://www.caida.org/blog/developing-software-locally-for-ark/&#34;&gt;2&lt;/a&gt;]) about CAIDA&#39;s new effort to reduce the barrier to performing a variety of Internet measurements.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We were recently asked about running &lt;a href=&#34;https://cseweb.ucsd.edu/~schulman/docs/imc20-trufflehunter.pdf&#34;&gt;Trufflehunter&lt;/a&gt;, which infers the usage properties of rare domain names on the Internet by cache snooping public recursive resolvers, on &lt;a href=&#34;https://www.caida.org/projects/ark/locations/&#34;&gt;Ark&lt;/a&gt;. The basic idea of Trufflehunter is to provide a lower bound of the use of a domain name by sampling caches of large recursive resolvers.  One component of Trufflehunter is to identify the anycast instances that would answer a given vantage point&#39;s DNS queries.   Trufflehunter uses a series of TXT queries to obtain the anycast instance of a given public recursive resolver, and considers four large public recursive resolvers: Cloudflare (1.1.1.1), Google (8.8.8.8), Quad9 (9.9.9.9), and OpenDNS (208.67.220.220).  The original paper describes the queries in section 4.1, which we summarize below, highlighting the interesting parts of each response with blue color.&lt;/p&gt;

&lt;p&gt;Cloudflare returns an airport code representing the anycast deployment location used by the VP:&lt;code&gt;&lt;br /&gt;
$ host -c ch -t txt id.server 1.1.1.1&lt;br /&gt;
id.server descriptive text &#34;&lt;span style=&#34;color: #3366ff;&#34;&gt;AKL&lt;/span&gt;&#34;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Google returns an IP address representing the anycast deployment used by the VP, which can be mapped to an anycast deployment location with a second query:&lt;br /&gt;
&lt;code&gt;$ host -t txt o-o.myaddr.l.google.com 8.8.8.8&lt;br /&gt;
o-o.myaddr.l.google.com descriptive text &#34;&lt;span style=&#34;color: #3366ff;&#34;&gt;172.253.218.133&lt;/span&gt;&#34;&lt;br /&gt;
o-o.myaddr.l.google.com descriptive text &#34;edns0-client-subnet &amp;lt;redacted&amp;gt;/24&#34;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;$ host -t txt locations.publicdns.goog&lt;br /&gt;
locations.publicdns.goog descriptive text &#34;34.64.0.0/24 icn &#34; ... &#34;&lt;span style=&#34;color: #3366ff;&#34;&gt;172.253.218.128/26 syd&lt;/span&gt; &#34; &#34;172.253.218.192/26 cbf &#34; ...&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Quad9 returns the hostname representing the resolver that provides the answer:&lt;br /&gt;
&lt;code&gt;$ host -c ch -t txt id.server 9.9.9.9&lt;br /&gt;
id.server descriptive text &#34;res100.&lt;span style=&#34;color: #3366ff;&#34;&gt;akl&lt;/span&gt;.rrdns.pch.net&#34;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;and finally, OpenDNS returns a bunch of information in a debugging query, which includes the server that handles the query:&lt;br /&gt;
&lt;code&gt;$ host -t txt debug.opendns.com 208.67.220.220&lt;br /&gt;
debug.opendns.com descriptive text &#34;server r2004.&lt;span style=&#34;color: #3366ff;&#34;&gt;syd&lt;/span&gt;&#34;&lt;br /&gt;
debug.opendns.com descriptive text &#34;flags 20040020 0 70 400180000000000000000007950800000000000000&#34;&lt;br /&gt;
debug.opendns.com descriptive text &#34;originid 0&#34;&lt;br /&gt;
debug.opendns.com descriptive text &#34;orgflags 2000000&#34;&lt;br /&gt;
debug.opendns.com descriptive text &#34;actype 0&#34;&lt;br /&gt;
debug.opendns.com descriptive text &#34;source &amp;lt;redacted&amp;gt;:42845&#34;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Each of these queries requires a slightly different approach to extract the location of the anycast instance.  Our suggestion is for experimenters to use our newly created &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/&#34;&gt;python library&lt;/a&gt;, which provides programmatic access to measurement capabilities of Ark VPs (described in two earlier blog posts [&lt;a href=&#34;https://www.caida.org/blog/towards-a-domain-specific-language-for-internet-active-measurement/&#34;&gt;1&lt;/a&gt;, &lt;a href=&#34;https://www.caida.org/blog/developing-software-locally-for-ark/&#34;&gt;2&lt;/a&gt;]).  The code for querying the recursive resolvers from all VPs is straight forward, and is shown below.  First, on lines 15-27, we get the Google mapping, so that we can translate the address returned to an anycast location.  This query requires TCP to complete, as the entry is larger than can fit in a UDP payload (the response is 9332 bytes at the time of writing this blog).  This query is synchronous (we wait for the answer before continuing, because the google queries that follow depend on the mapping) and is issued using a randomly selected Ark VP.  Then, on lines 29-38, we issue the four queries to each of the anycasted recursive resolvers from each VP.  These queries are asynchronous; we receive the answers as each Ark VP obtains a response.  On lines 40-82, we process the responses, storing the results in a multi-dimensional python dictionary, which associates each Ark VPs with their anycast recursive resolver location, as well as the RTT between asking the query and obtaining the response.  Finally, on lines 84-96, we dump the results out in a nicely formatted table that allows us to spot interesting patterns.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; argparse&lt;br /&gt;
02 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; datetime&lt;br /&gt;
03 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ipaddress&lt;br /&gt;
04 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; random&lt;br /&gt;
05 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; re&lt;br /&gt;
06 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; scamper &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
07&lt;br /&gt;
08 &lt;span style=&#34;color: #800080;&#34;&gt;def&lt;/span&gt; _main():&lt;br /&gt;
09   &lt;span style=&#34;color: #ff6600;&#34;&gt;parser&lt;/span&gt; = argparse.ArgumentParser(description=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;get public recursive locs&#39;&lt;/span&gt;)&lt;br /&gt;
10   parser.add_argument(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;sockets&#39;&lt;/span&gt;)&lt;br /&gt;
11   &lt;span style=&#34;color: #ff6600;&#34;&gt;args&lt;/span&gt; = parser.parse_args()&lt;br /&gt;
12&lt;br /&gt;
13   ctrl = ScamperCtrl(remote_dir=args.sockets)&lt;br /&gt;
14&lt;br /&gt;
15   &lt;span style=&#34;color: #ff0000;&#34;&gt;# pick an ark VP at random to issue the query that gets the mapping&lt;/span&gt;&lt;br /&gt;
16   &lt;span style=&#34;color: #ff0000;&#34;&gt;# of google recursive IP to location&lt;/span&gt;&lt;br /&gt;
17   &lt;span style=&#34;color: #ff6600;&#34;&gt;goog_nets&lt;/span&gt; = {}&lt;br /&gt;
18   &lt;span style=&#34;color: #ff6600;&#34;&gt;obj&lt;/span&gt; = ctrl.do_dns(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;locations.publicdns.goog&#39;&lt;/span&gt;,&lt;br /&gt;
19     inst=random.choice(ctrl.instances()),&lt;br /&gt;
20     qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;txt&#39;&lt;/span&gt;, tcp=True, sync=True)&lt;br /&gt;
21   &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; obj &lt;span style=&#34;color: #800080;&#34;&gt;is&lt;/span&gt; None &lt;span style=&#34;color: #800080;&#34;&gt;or&lt;/span&gt; len(obj.ans_txts()) == 0:&lt;br /&gt;
22     &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;could not get google mapping&#34;&lt;/span&gt;)&lt;br /&gt;
23     &lt;span style=&#34;color: #800080;&#34;&gt;return&lt;/span&gt;&lt;br /&gt;
24   &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; rr &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; obj.ans_txts():&lt;br /&gt;
25     &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; txt &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; rr.txt:&lt;br /&gt;
26       &lt;span style=&#34;color: #ff6600;&#34;&gt;net&lt;/span&gt;, &lt;span style=&#34;color: #ff6600;&#34;&gt;loc&lt;/span&gt; = txt.split()&lt;br /&gt;
27       &lt;span style=&#34;color: #ff6600;&#34;&gt;goog_nets&lt;/span&gt;[ipaddress.ip_network(net)] = loc&lt;br /&gt;
28&lt;br /&gt;
29   &lt;span style=&#34;color: #ff0000;&#34;&gt;# issue the magic queries to get the instance that answers the query&lt;/span&gt;&lt;br /&gt;
30   &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; inst &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.instances():&lt;br /&gt;
31     ctrl.do_dns(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;o-o.myaddr.l.google.com&#39;&lt;/span&gt;, server=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;8.8.8.8&#39;&lt;/span&gt;, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;txt&#39;&lt;/span&gt;,&lt;br /&gt;
32       attempts=2, wait_timeout=2, inst=inst)&lt;br /&gt;
33     ctrl.do_dns(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;id.server&#39;&lt;/span&gt;, server=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;1.1.1.1&#39;&lt;/span&gt;, qclass=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;ch&#39;&lt;/span&gt;, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;txt&#39;&lt;/span&gt;,&lt;br /&gt;
34       attempts=2, wait_timeout=2, inst=inst)&lt;br /&gt;
35     ctrl.do_dns(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;id.server&#39;&lt;/span&gt;, server=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;9.9.9.9&#39;&lt;/span&gt;, qclass=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;ch&#39;&lt;/span&gt;, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;txt&#39;&lt;/span&gt;,&lt;br /&gt;
36       attempts=2, wait_timeout=2, inst=inst)&lt;br /&gt;
37     ctrl.do_dns(&lt;span style=&#34;color: #993300;&#34;&gt;&#39;debug.opendns.com&#39;&lt;/span&gt;, server=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;208.67.220.220&#39;&lt;/span&gt;, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;txt&#39;&lt;/span&gt;,&lt;br /&gt;
38       attempts=2, wait_timeout=2, inst=inst)&lt;br /&gt;
39&lt;br /&gt;
40   &lt;span style=&#34;color: #ff0000;&#34;&gt;# collect the data&lt;/span&gt;&lt;br /&gt;
41   &lt;span style=&#34;color: #ff6600;&#34;&gt;data&lt;/span&gt; = {}&lt;br /&gt;
42   &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; obj &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.responses(timeout=datetime.timedelta(seconds=10)):&lt;br /&gt;
43     &lt;span style=&#34;color: #ff6600;&#34;&gt;vp&lt;/span&gt; = obj.inst.name&lt;br /&gt;
44     &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; vp &lt;span style=&#34;color: #800080;&#34;&gt;not in&lt;/span&gt; data:&lt;br /&gt;
45       data[vp] = {}&lt;br /&gt;
46     &lt;span style=&#34;color: #ff6600;&#34;&gt;dst&lt;/span&gt; = str(obj.dst)&lt;br /&gt;
47     &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; dst &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; data[vp]:&lt;br /&gt;
48       &lt;span style=&#34;color: #800080;&#34;&gt;continue&lt;/span&gt;&lt;br /&gt;
49     data[vp][dst] = {}&lt;br /&gt;
50     data[vp][dst][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;rtt&#39;&lt;/span&gt;] = obj.rtt&lt;br /&gt;
51&lt;br /&gt;
52     &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; rr &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; obj.ans_txts():&lt;br /&gt;
53       &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; txt &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; rr.txt:&lt;br /&gt;
54         &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; dst == &lt;span style=&#34;color: #993300;&#34;&gt;&#39;8.8.8.8&#39;&lt;/span&gt;:&lt;br /&gt;
55           &lt;span style=&#34;color: #ff0000;&#34;&gt;# google reports an IPv4 address that represents&lt;/span&gt;&lt;br /&gt;
56           &lt;span style=&#34;color: #ff0000;&#34;&gt;# the site that answers the query. we then map&lt;/span&gt;&lt;br /&gt;
57           &lt;span style=&#34;color: #ff0000;&#34;&gt;# that address to a location using the mapping&lt;/span&gt;&lt;br /&gt;
58           &lt;span style=&#34;color: #ff0000;&#34;&gt;# returned by the locations TCP query.&lt;/span&gt;&lt;br /&gt;
59           &lt;span style=&#34;color: #800080;&#34;&gt;try&lt;/span&gt;:&lt;br /&gt;
60             &lt;span style=&#34;color: #ff6600;&#34;&gt;addr&lt;/span&gt; = ipaddress.ip_address(txt)&lt;br /&gt;
61           &lt;span style=&#34;color: #800080;&#34;&gt;except&lt;/span&gt; ValueError:&lt;br /&gt;
62             &lt;span style=&#34;color: #800080;&#34;&gt;continue&lt;/span&gt;&lt;br /&gt;
63           &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; net, loc &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; goog_nets.items():&lt;br /&gt;
64             &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; addr &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; net:&lt;br /&gt;
65               data[vp][dst][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt;] = loc&lt;br /&gt;
66               &lt;span style=&#34;color: #800080;&#34;&gt;break&lt;/span&gt;&lt;br /&gt;
67         &lt;span style=&#34;color: #800080;&#34;&gt;elif&lt;/span&gt; dst == &lt;span style=&#34;color: #993300;&#34;&gt;&#39;1.1.1.1&#39;&lt;/span&gt;:&lt;br /&gt;
68           &lt;span style=&#34;color: #ff0000;&#34;&gt;# Cloudflare replies with a single TXT record&lt;/span&gt;&lt;br /&gt;
69           &lt;span style=&#34;color: #ff0000;&#34;&gt;# containing an airport code&lt;/span&gt;&lt;br /&gt;
70           data[vp][dst][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt;] = txt&lt;br /&gt;
71         &lt;span style=&#34;color: #800080;&#34;&gt;elif&lt;/span&gt; dst == &lt;span style=&#34;color: #993300;&#34;&gt;&#39;9.9.9.9&#39;&lt;/span&gt;:&lt;br /&gt;
72           &lt;span style=&#34;color: #ff0000;&#34;&gt;# Quad9 reports a hostname with an embedded&lt;/span&gt;&lt;br /&gt;
73           &lt;span style=&#34;color: #ff0000;&#34;&gt;# airport code.&lt;/span&gt;&lt;br /&gt;
74           &lt;span style=&#34;color: #ff6600;&#34;&gt;match&lt;/span&gt; = re.search(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;\\.(.+?)\\.rrdns\\.pch\\.net&#34;&lt;/span&gt;, txt)&lt;br /&gt;
75           &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; match:&lt;br /&gt;
76             data[vp][dst][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt;] = match.group(1)&lt;br /&gt;
77         &lt;span style=&#34;color: #800080;&#34;&gt;elif&lt;/span&gt; dst == &lt;span style=&#34;color: #993300;&#34;&gt;&#39;208.67.220.220&#39;&lt;/span&gt;:&lt;br /&gt;
78           &lt;span style=&#34;color: #ff0000;&#34;&gt;# opendns reports multiple TXT records; we want the one&lt;/span&gt;&lt;br /&gt;
79           &lt;span style=&#34;color: #ff0000;&#34;&gt;# that looks like &#34;server r2005.syd&#34;&lt;/span&gt;&lt;br /&gt;
80           &lt;span style=&#34;color: #ff6600;&#34;&gt;match&lt;/span&gt; = re.search(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;^server .+\\.(.+?)$&#34;&lt;/span&gt;, txt)&lt;br /&gt;
81           &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; match:&lt;br /&gt;
82             data[vp][dst][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt;] = match.group(1)&lt;br /&gt;
83&lt;br /&gt;
84   &lt;span style=&#34;color: #ff0000;&#34;&gt;# format the output&lt;/span&gt;&lt;br /&gt;
85   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{:15} {:&amp;gt;13} {:&amp;gt;13} {:&amp;gt;13} {:&amp;gt;13}&#34;&lt;/span&gt;.format(&lt;br /&gt;
86     &lt;span style=&#34;color: #993300;&#34;&gt;&#34;# vp&#34;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#34;google&#34;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#34;couldflare&#34;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#34;quad9&#34;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#34;opendns&#34;&lt;/span&gt;))&lt;br /&gt;
87   &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; vp, recs &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; sorted(data.items()):&lt;br /&gt;
88     &lt;span style=&#34;color: #ff6600;&#34;&gt;line&lt;/span&gt; = f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{vp:15}&#34;&lt;/span&gt;&lt;br /&gt;
89     &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; rec &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color: #993300;&#34;&gt;&#39;8.8.8.8&#39;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#39;1.1.1.1&#39;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#39;9.9.9.9&#39;&lt;/span&gt;, &lt;span style=&#34;color: #993300;&#34;&gt;&#39;208.67.220.220&#39;&lt;/span&gt;):&lt;br /&gt;
90       &lt;span style=&#34;color: #ff6600;&#34;&gt;cell&lt;/span&gt; = &lt;span style=&#34;color: #993300;&#34;&gt;&#34;&#34;&lt;/span&gt;&lt;br /&gt;
91       &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt; &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; recs[rec]:&lt;br /&gt;
92         &lt;span style=&#34;color: #ff6600;&#34;&gt;rtt&lt;/span&gt; = recs[rec][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;rtt&#39;&lt;/span&gt;]&lt;br /&gt;
93         &lt;span style=&#34;color: #ff6600;&#34;&gt;loc&lt;/span&gt; = recs[rec][&lt;span style=&#34;color: #993300;&#34;&gt;&#39;loc&#39;&lt;/span&gt;]&lt;br /&gt;
94         &lt;span style=&#34;color: #ff6600;&#34;&gt;cell&lt;/span&gt; = f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{loc} {rtt.total_seconds()*1000:5.1f}&#34;&lt;/span&gt;&lt;br /&gt;
95       &lt;span style=&#34;color: #ff6600;&#34;&gt;line&lt;/span&gt; += f&lt;span style=&#34;color: #993300;&#34;&gt;&#34; {cell:&amp;gt;13}&#34;&lt;/span&gt;&lt;br /&gt;
96     &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(line)&lt;br /&gt;
97&lt;br /&gt;
98 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; __name__ == &lt;span style=&#34;color: #993300;&#34;&gt;&#34;__main__&#34;&lt;/span&gt;:&lt;br /&gt;
99     _main()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The code runs quickly -- no longer than 10 seconds (if one of the VPs is slow to report back), illustrating the capabilities of the Ark platform.&lt;/p&gt;

&lt;p&gt;The output of running this program is shown below.  We have highlighted cells where the RTT was at least 50ms larger than the minimum RTT to any of the large recursive resolvers for the given VP.  These cells identify low-hanging fruit for operators, who could examine BGP routing policies with the goal of selecting better alternative paths.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# vp             google   couldflare         quad9      opendns&lt;br /&gt;
abz-uk.ark    lhr  24.4    LHR  16.5     lhr  16.9    lon  16.4&lt;br /&gt;
abz2-uk.ark   lhr  23.4    MAN   8.7     man   8.4   man1   8.5&lt;br /&gt;
acc-gh.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 246.7    JNB 167.3&lt;/span&gt;     acc   0.5   &lt;span style=&#34;color: #0000ff;&#34;&gt;cpt1 236.6&lt;/span&gt;&lt;br /&gt;
adl-au.ark    mel  28.1    ADL   5.5     syd  22.6   mel1  14.0&lt;br /&gt;
aep-ar.ark    scl  29.4    EZE   8.0   qaep2   4.6   sao1  34.0&lt;br /&gt;
aep2-ar.ark   scl  38.2    EZE   6.6   qaep2   5.7   sao1  42.5&lt;br /&gt;
akl-nz.ark    syd   26.9    AKL   2.6    akl2   4.0    syd  26.1&lt;br /&gt;
akl2-nz.ark   syd   29.2    AKL   4.9    akl2   4.0    syd  26.9&lt;br /&gt;
ams-gc.ark    grq   5.0    FRA   6.3     ams   0.8    ams   1.1&lt;br /&gt;
ams3-nl.ark   grq   6.0    AMS   2.1     ams   1.3    ams   1.9&lt;br /&gt;
ams5-nl.ark   grq   5.1    AMS   1.2     ams   1.9    ams   1.7&lt;br /&gt;
ams7-nl.ark   grq    6.0    AMS   2.4     ams   1.8    ams   2.3&lt;br /&gt;
ams8-nl.ark   grq  14.8    AMS  11.5     fra  17.7    ams  11.8&lt;br /&gt;
arn-se.ark    lpp   9.7    ARN   2.0     arn   0.8   cph1  10.5&lt;br /&gt;
asu-py.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;scl  55.4&lt;/span&gt;    EZE  22.6     asu   0.8   &lt;span style=&#34;color: #0000ff;&#34;&gt;sao1  57.0&lt;/span&gt;&lt;br /&gt;
atl2-us.ark   atl   9.8    DFW  23.6   qiad3  20.5   atl1   4.6&lt;br /&gt;
atl3-us.ark   atl  22.7    ATL  13.1     atl  17.0   atl1  19.7&lt;br /&gt;
aus-us.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;dfw  80.7&lt;/span&gt;    DFW  56.6     dfw  46.6    dfw  17.6&lt;br /&gt;
avv-au.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;mel 142.3&lt;/span&gt;    MEL   9.4     syd  22.6   mel1   8.5&lt;br /&gt;
bcn-es.ark    mad  38.0    BCN  13.3     bcn   0.5   mad1   9.8&lt;br /&gt;
bdl-us.ark    iad  13.3    EWR   5.0     lga   4.9    ash  10.6&lt;br /&gt;
bed-us.ark    iad  30.6    BOS  15.2     bos  13.5   bos1  19.8&lt;br /&gt;
beg-rs.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;mil  62.5&lt;/span&gt;    BEG   1.2     beg   0.7   otp1  12.9&lt;br /&gt;
bfi-us.ark    dls  11.7    SEA   3.8   &lt;span style=&#34;color: #0000ff;&#34;&gt;xsjc1  96.9&lt;/span&gt;    sea  10.5&lt;br /&gt;
bjl-gm.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;bru  87.5    CDG  71.1&lt;/span&gt;     bjl   6.7   &lt;span style=&#34;color: #0000ff;&#34;&gt;cdg1  73.4&lt;/span&gt;&lt;br /&gt;
bna-us.ark    atl  11.4    BNA   9.0     atl   9.5   atl1   9.3&lt;br /&gt;
bna2-us.ark   cbf  25.5    ORD  19.7     ord  12.8    chi  12.8&lt;br /&gt;
bos6-us.ark   iad  17.6    BOS   5.6   qiad3  15.5   bos1   5.7&lt;br /&gt;
bre-de.ark    grq  21.4    TXL  23.1     ber  17.2    ams  23.7&lt;br /&gt;
btr-us.ark    dfw  20.3    ORD  29.5     dfw  13.2    dfw  11.4&lt;br /&gt;
bwi2-us.ark   iad  12.7    IAD   4.4   qiad3   3.6   rst1   3.1&lt;br /&gt;
cdg-fr.ark    mil  24.9    MRS   1.5     mrs   1.0   mrs1  11.6&lt;br /&gt;
cdg3-fr.ark   bru   8.5    CDG   3.9     ams  13.7   cdg1   5.5&lt;br /&gt;
cgs-us.ark    iad   4.5    EWR   7.9     iad   2.2    ash   2.1&lt;br /&gt;
cjj-kr.ark    hkg  63.4                qhnd2  70.7    hkg  47.3&lt;br /&gt;
cld4-us.ark   lax  22.7    LAX  15.7     &lt;span style=&#34;color: #0000ff;&#34;&gt;bur 104.1&lt;/span&gt;    lax  14.3&lt;br /&gt;
cld5-us.ark   lax  52.6    LAX  20.7     &lt;span style=&#34;color: #0000ff;&#34;&gt;bur 103.1&lt;/span&gt;    lax  21.9&lt;br /&gt;
cld6-us.ark   lax  14.5    LAX   5.2   qlax1   7.0    lax   6.0&lt;br /&gt;
cos-us.ark    cbf  22.9    DEN   7.3     ord  36.0   den1  12.6&lt;br /&gt;
dar-tz.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 224.6&lt;/span&gt;    NBO  14.0     dar   1.0    jnb  51.1&lt;br /&gt;
dar2-tz.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 223.0&lt;/span&gt;    DAR   0.9     dar   0.9    jnb  48.0&lt;br /&gt;
dmk-th.ark    sin  32.2    SIN  28.0     bkk   2.4   &lt;span style=&#34;color: #0000ff;&#34;&gt;nrt2  95.0&lt;/span&gt;&lt;br /&gt;
dtw2-us.ark   cbf  18.1    DTW   4.6     dtw   4.2    chi  10.7&lt;br /&gt;
dub-ie.ark    lhr  18.9    DUB   1.2     dub   0.7   dub1   0.7&lt;br /&gt;
dub2-ie.ark   lhr  18.7    DUB   1.8     dub   1.1   dub1   1.2&lt;br /&gt;
dub3-ie.ark   lhr  35.5    ZRH  45.6     dub  16.9   dub1  11.6&lt;br /&gt;
ens-nl.ark    grq   9.3    AMS   5.2     ams   4.0    ams   4.9&lt;br /&gt;
eug-us.ark    dls  15.7    SJC  18.3     sea   6.5    sea   6.5&lt;br /&gt;
fra-gc.ark    fra   9.1    FRA   1.1     fra   1.1    fra   1.1&lt;br /&gt;
gig-br.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;gru 125.2&lt;/span&gt;    GIG   2.2   qrio1   1.4   rio1   1.1&lt;br /&gt;
gva-ch.ark                 ZRH   5.3     gva   1.0    fra  10.8&lt;br /&gt;
gye-ec.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;chs 128.7&lt;/span&gt;    MIA  66.8   quio2  10.7    &lt;span style=&#34;color: #0000ff;&#34;&gt;mia  77.1&lt;/span&gt;&lt;br /&gt;
ham-de.ark    grq  19.7    HAM   8.5     ber  11.0    fra  17.7&lt;br /&gt;
her2-gr.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;mil  64.9&lt;/span&gt;                  ath   7.5   mil1  32.6&lt;br /&gt;
hkg4-cn.ark   tpe  13.6    HKG   1.0   qhkg3   4.9    hkg   9.5&lt;br /&gt;
hkg5-cn.ark   hkg  16.3    HKG   2.6   qhkg3   3.9    hkg   3.6&lt;br /&gt;
hlz2-nz.ark   syd  40.9    AKL  16.9     akl  13.8    syd  38.2&lt;br /&gt;
hnd-jp.ark    nrt   6.5    NRT   3.4   &lt;span style=&#34;color: #0000ff;&#34;&gt;qhnd2  80.3&lt;/span&gt;    nrt   3.6&lt;br /&gt;
hnl-us.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;dls  82.3&lt;/span&gt;    HNL   1.1     &lt;span style=&#34;color: #0000ff;&#34;&gt;sea  75.2    sea  75.3&lt;/span&gt;&lt;br /&gt;
iev-ua.ark    waw  45.5    FRA  29.8   qwaw2  14.3   wrw1  14.9&lt;br /&gt;
igx2-us.ark   iad  16.1    EWR  16.9   qiad3  11.5   atl1  11.8&lt;br /&gt;
ind-us.ark    atl  25.1    IND   1.1     ord   8.5   atl1  11.0&lt;br /&gt;
ixc-in.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;del  78.8&lt;/span&gt;    DEL   0.8   qsin1   0.7   mum2   0.7&lt;br /&gt;
jfk-us.ark    iad   9.6    EWR   1.5     lga   0.6    nyc   1.0&lt;br /&gt;
kgl-rw.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 231.6&lt;/span&gt;    NBO  15.0     kgl   3.3    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb  73.6&lt;/span&gt;&lt;br /&gt;
ktm-np.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;del  98.6&lt;/span&gt;    DEL  30.4     ktm   7.6   &lt;span style=&#34;color: #0000ff;&#34;&gt;mum1  94.4&lt;/span&gt;&lt;br /&gt;
las-us.ark    lax  15.5    LAX   8.4     pao  15.9    lax   8.2&lt;br /&gt;
lax3-us.ark   lax  10.5    LAX   3.0     bur   2.0    lax   2.0&lt;br /&gt;
lcy2-uk.ark   lhr  11.5    MAN   7.4     lhr  11.2    lon   2.2&lt;br /&gt;
lej-de.ark    fra  21.2    FRA   9.7     fra  12.5    fra   9.6&lt;br /&gt;
lex-us.ark    iad  17.9    IAD  15.7     iad  17.3   atl1  25.9&lt;br /&gt;
lgw-uk.ark    lhr  31.3    LHR  24.2     lhr  24.6    lon  23.6&lt;br /&gt;
lhe2-pk.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;dia 195.0&lt;/span&gt;    KHI  35.0   &lt;span style=&#34;color: #0000ff;&#34;&gt;qsin4 113.1    sin 130.6&lt;/span&gt;&lt;br /&gt;
lis-pt.ark    mad  33.0    LIS   4.5     lis   3.9   mad1  18.0&lt;br /&gt;
lke2-us.ark   dls  21.7    SEA  21.4     sea  15.1    sea  11.7&lt;br /&gt;
lun-zm.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 189.9&lt;/span&gt;    JNB  32.2     jnb  23.3    jnb  23.3&lt;br /&gt;
lwc-us.ark    tul  18.0    MCI   1.4   &lt;span style=&#34;color: #0000ff;&#34;&gt;xsjc1 106.3&lt;/span&gt;    dfw  10.4&lt;br /&gt;
lwc2-us.ark   dfw  24.4    DFW  15.7   qlax1  46.9    dfw  16.5&lt;br /&gt;
mdw-us.ark    cbf  25.7    ORD   7.0     ord   3.4    chi   4.4&lt;br /&gt;
med2-co.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;mrn  96.4&lt;/span&gt;    MIA  50.7   qbog1  22.7    mia  48.9&lt;br /&gt;
mhg-de.ark    fra  30.7    FRA  19.1     fra  21.4    fra  18.4&lt;br /&gt;
mia-gc.ark    mrn  19.7    MIA   1.1     mia   1.0    mia   0.6&lt;br /&gt;
mnl-ph.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;hkg  87.9&lt;/span&gt;    MNL   1.8   qsin1  50.8    &lt;span style=&#34;color: #0000ff;&#34;&gt;hkg  75.8&lt;/span&gt;&lt;br /&gt;
mnz-us.ark    iad  13.4    IAD   5.8   qiad3   5.2   rst1   4.0&lt;br /&gt;
mru-mu.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 206.1&lt;/span&gt;    JNB  43.1     mru   1.0    jnb  43.3&lt;br /&gt;
msy-us.ark    dfw  34.4    DFW  21.9   qlax1  55.2    dfw  23.0&lt;br /&gt;
mty-mx.ark    tul  44.1    MFE   4.5   qiad3  39.6    dfw  16.7&lt;br /&gt;
muc-de.ark    fra  30.3    FRA   9.1     fra   8.8    fra   8.9&lt;br /&gt;
muc3-de.ark   zrh  25.9    MUC   6.1     fra  11.0    fra  12.2&lt;br /&gt;
nap2-it.ark   mil  37.8    MXP  19.8     fra  38.0   mil1  15.2&lt;br /&gt;
nbo-ke.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 220.5&lt;/span&gt;    NBO   2.4     nbo   2.2    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb  60.7&lt;/span&gt;&lt;br /&gt;
nic-cy.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;mil  61.3&lt;/span&gt;    LCA   1.0     mrs  35.2   mrs1  35.4&lt;br /&gt;
nrn-nl.ark    grq   8.6    AMS   5.5     ams   2.9    ams   3.1&lt;br /&gt;
nrt-jp.ark    nrt   4.8    NRT   1.2     &lt;span style=&#34;color: #0000ff;&#34;&gt;hkg 101.9&lt;/span&gt;   nrt2   1.0&lt;br /&gt;
nrt3-jp.ark   nrt   6.5    NRT   3.5     &lt;span style=&#34;color: #0000ff;&#34;&gt;pao 101.7&lt;/span&gt;   nrt2   3.5&lt;br /&gt;
oak5-us.ark   lax  19.3    SJC   5.9    sjc0   4.4    pao   4.4&lt;br /&gt;
okc-us.ark    dfw   9.6    MCI   9.6     dal   8.2    dfw   7.3&lt;br /&gt;
ord-us.ark    cbf  13.0    ORD   2.9     iad  19.0    chi   1.6&lt;br /&gt;
ory4-fr.ark   bru   6.5    CDG   2.0     cdg   1.4   cdg1   1.7&lt;br /&gt;
ory6-fr.ark   bru   6.4    LHR   8.8     lhr   8.4    lon   8.6&lt;br /&gt;
ory7-fr.ark   bru   7.7    CDG   4.0     cdg   5.0   cdg1   4.0&lt;br /&gt;
ory8-fr.ark   bru   6.3    CDG   2.0     lhr  25.7    lon   9.4&lt;br /&gt;
osl-no.ark    lpp  46.5    OSL   0.9     osl  25.8   sto1   9.0&lt;br /&gt;
pbh2-bt.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;bom 105.2&lt;/span&gt;    &lt;span style=&#34;color: #0000ff;&#34;&gt;MAA  92.0&lt;/span&gt;     pbh   1.8    &lt;span style=&#34;color: #0000ff;&#34;&gt;sin  91.7&lt;/span&gt;&lt;br /&gt;
per-au.ark    syd  48.9    PER   2.0     per   1.2    syd  45.3&lt;br /&gt;
per2-au.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;syd 140.0&lt;/span&gt;    PER   2.5     per   1.5    syd  44.9&lt;br /&gt;
phl-us.ark    iad  15.9                  iad  14.0   rst1  15.9&lt;br /&gt;
pna-es.ark    mad  33.9    BCN  13.5     bcn  13.3   mad1  19.3&lt;br /&gt;
prg-cz.ark    fra  16.9    PRG   1.1   qbts1   5.9   prg1   0.6&lt;br /&gt;
prg2-cz.ark   fra  29.8    PRG   1.7   qfra3  14.0   prg1   1.5&lt;br /&gt;
pry-za.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 167.3&lt;/span&gt;    JNB   1.2     jnb   0.6   cpt1  18.4&lt;br /&gt;
puw-ru.ark    lpp  18.2    DME   1.5     &lt;span style=&#34;color: #0000ff;&#34;&gt;beg  67.1&lt;/span&gt;    fra  34.3&lt;br /&gt;
pvu-us.ark    lax  25.2    SLC   3.8     slc   2.7    sea  18.4&lt;br /&gt;
rdu-us.ark    iad   9.5    IAD   8.1     iad   7.7    ash   8.6&lt;br /&gt;
rdu2-us.ark   iad  11.3    IAD   8.1     iad   8.5    ash   8.6&lt;br /&gt;
rdu3-us.ark   iad  27.5    IAD  18.6     iad  18.4   atl1  23.8&lt;br /&gt;
rkv-is.ark    lhr  49.0    KEF   2.0     kef   0.8   dub1  23.0&lt;br /&gt;
san-us.ark    lax  10.4    LAX   4.7     &lt;span style=&#34;color: #0000ff;&#34;&gt;bur  87.2&lt;/span&gt;    lax   3.1&lt;br /&gt;
san2-us.ark   lax  39.0    LAX   6.5   qlax1   7.5    lax   5.6&lt;br /&gt;
san4-us.ark   lax  26.6    LAX  20.2     &lt;span style=&#34;color: #0000ff;&#34;&gt;bur 106.8&lt;/span&gt;    lax  17.3&lt;br /&gt;
sao-br.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;gru 117.3&lt;/span&gt;    GRU   2.5   qgru1   1.3   rio1   9.6&lt;br /&gt;
scq-es.ark    mad  31.7    MAD  11.0     mad  10.8   mad1  11.3&lt;br /&gt;
sea3-us.ark   dls  10.1    SEA   3.9     pao  24.6    sea   3.0&lt;br /&gt;
sin-gc.ark    sin   4.0    SIN   1.5   &lt;span style=&#34;color: #0000ff;&#34;&gt;qsin1  93.5&lt;/span&gt;    sin   1.1&lt;br /&gt;
sin-sg.ark    sin   3.2    SIN   2.3   qsin1  12.2    sin   0.7&lt;br /&gt;
sjc2-us.ark   lax  15.2    SJC   1.4    sjc0   0.5    pao   2.1&lt;br /&gt;
sjj-ba.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;waw  71.1&lt;/span&gt;    BUD  57.5     &lt;span style=&#34;color: #0000ff;&#34;&gt;vie 213.3&lt;/span&gt;   mil1  89.4&lt;br /&gt;
sjo-cr.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;chs  63.0&lt;/span&gt;    SJO   2.2     mia  51.8    &lt;span style=&#34;color: #0000ff;&#34;&gt;mia  78.6&lt;/span&gt;&lt;br /&gt;
snn-ie.ark    lhr  20.4    DUB   4.4     dub   3.9   dub1   3.9&lt;br /&gt;
sql-us.ark    lax  19.6    SJC   2.2     pao   1.2    pao   0.9&lt;br /&gt;
stx-vi.ark    chs  38.3    MIA  26.4     mia  25.5    mia  25.1&lt;br /&gt;
svo2-ru.ark   lpp  22.4    DME   5.8     fra  41.1    fra  38.2&lt;br /&gt;
swu-kr.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;hkg  77.6&lt;/span&gt;    ICN   6.5   &lt;span style=&#34;color: #0000ff;&#34;&gt;qsin1  76.9&lt;/span&gt;   nrt2  38.5&lt;br /&gt;
syd3-au.ark   syd   4.8    SYD   0.9     syd   1.0    syd   0.5&lt;br /&gt;
tij-mx.ark    lax  15.8    LAX   6.6   qlax1   6.6    lax   5.6&lt;br /&gt;
tlv-il.ark    &lt;span style=&#34;color: #0000ff;&#34;&gt;mil  80.2&lt;/span&gt;    MRS  43.6     tlv   2.0   mil1  50.5&lt;br /&gt;
tlv3-il.ark   &lt;span style=&#34;color: #0000ff;&#34;&gt;mil  64.2&lt;/span&gt;    TLV   2.1     tlv   2.1   tlv1   3.0&lt;br /&gt;
tnr-mg.ark                 &lt;span style=&#34;color: #0000ff;&#34;&gt;JNB 215.7&lt;/span&gt;                  &lt;span style=&#34;color: #0000ff;&#34;&gt;jnb 199.1&lt;/span&gt;&lt;br /&gt;
tpe-tw.ark    tpe  10.3    TPE   5.2     tpe   3.1    &lt;span style=&#34;color: #0000ff;&#34;&gt;sin  74.4&lt;/span&gt;&lt;br /&gt;
vdp-dk.ark    lpp  21.9    CPH   5.6     arn  13.4   cph1   5.4&lt;br /&gt;
vie-at.ark    fra  22.5    FRA  13.8     vie   2.1   prg1   6.5&lt;br /&gt;
waw-pl.ark    waw  20.1    HAM  31.3   qwaw2   1.3   wrw1   0.9&lt;br /&gt;
wbu-us.ark    cbf  13.4    DEN   2.7     den   1.8   den1   1.5&lt;br /&gt;
wlg2-nz.ark   syd  35.3    AKL  17.0    akl2  16.5    syd  32.4&lt;br /&gt;
ygk-ca.ark    yyz  29.5    YYZ  16.7     iad  35.5    yyz  16.1&lt;br /&gt;
yyc-ca.ark    dls  26.5    YYC   4.6     sea  21.8    yvr  16.7&lt;br /&gt;
zrh-ch.ark    zrh  14.5    ZRH   1.1    zrh2   0.6   mil1   8.1&lt;br /&gt;
zrh2-ch.ark   zrh  16.2    ZRH   1.1    zrh2   1.0    fra   6.8&lt;br /&gt;
zrh4-ch.ark   zrh  15.8    ZRH   1.5    zrh2   0.8   mil1   9.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>ITDK 2024-02</title>
      <link>https://www.caida.org/blog/itdk-2024-02/</link>
      <pubDate>Tue, 23 Apr 2024 20:16:35 -0700</pubDate>
      <author>Matthew Luckie</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5321</guid>
      <description>CAIDA has released the 2024-02 Internet Topology Data Kit ( ITDK ), the 24th ITDK in a series published over the past 14 years. In the year since the 2023-03 release, CAIDA has expanded its Ark platform with both hardware and software vantage points (VPs) …</description>
      <content:encoded>&lt;p&gt;CAIDA has released the 2024-02 Internet Topology Data Kit (&lt;a href=&#34;https://www.caida.org/catalog/datasets/internet-topology-data-kit/&#34;&gt;ITDK&lt;/a&gt;), the 24th ITDK in a series published over the past 14 years. In the year since the &lt;a href=&#34;https://catalog.caida.org/dataset/ark_itdk/ITDK-2023-03_README.txt&#34;&gt;2023-03&lt;/a&gt; release, CAIDA has expanded its &lt;a href=&#34;https://www.caida.org/projects/ark/locations/&#34;&gt;Ark platform&lt;/a&gt; with both hardware and software vantage points (VPs), and re-architected the ITDK probing software. We have been busy modernizing the software to enable us to collect ITDK snapshots more regularly, as well as annotate the router-level Internet topology graph with more features.&lt;/p&gt;

&lt;p&gt;For IPv4, the ITDK probing software is based primarily around two reliable alias resolution techniques. The first, &lt;a href=&#34;https://www.caida.org/catalog/software/midar/&#34;&gt;MIDAR&lt;/a&gt;, probes for IPID behavior that suggests that responses from different IP addresses had IPID values derived from a single counter, and thus the addresses are assigned to the same router. This inference is challenging because of the sheer number of router addresses observed in macroscopic Internet topologies, and the IPID value is held in a 16-bit field, requiring sophisticated probing techniques to identify distinct counters.  The second, &lt;a href=&#34;https://www.caida.org/catalog/software/iffinder/&#34;&gt;iffinder&lt;/a&gt;, probes for common source IP addresses in responses to probes sent to different target IP addresses.&lt;/p&gt;

&lt;p&gt;In the past few months, we have replaced the MIDAR and iffinder probing component on the Ark VPs to use alias resolution primitives present in &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt; (specifically, the midarest, midardisc, and radargun primitives). We used the recently released &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/&#34;&gt;scamper python module&lt;/a&gt;, and 902 lines of python, which executes on a single machine at CAIDA to coordinate the probing from many VPs.&lt;/p&gt;

&lt;p&gt;The following table provides statistics illustrating the growth of the ITDK over the past year, driven by the expansion of Ark VPs. Overall, we increased the number of Ark VPs providing topology data from 93 to 142, the number of addresses probed from 2.6 to 3.6M, doubled the number of VPs that we use for alias resolution probing, and found aliases for 50% more addresses than a year ago.  Note that we use the term &#34;node&#34; to distinguish between our router inferences, and the actual routers themselves.  By definition all routers have at least two IP addresses; our &#34;nodes with at least two IPs&#34; are the subset of routers we were able to observe with that property.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;2023-03&lt;/td&gt;
&lt;td&gt;2024-02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Input:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of addresses probed:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;2.64M&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;3.58M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of ark VPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;93&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;142&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of countries:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;37&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;52&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Alias resolution:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of ark VPs for MIDAR:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;55&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;101&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of ark VPs for iffinder:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;46&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;101&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;MIDAR + iffinder Output:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;75,660&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;107,976&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Addresses in nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt; 284,479&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;425,964&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;MIDAR, iffinder, SNMP Output:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;124,857&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Addresses in nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt; -&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;515,524&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br /&gt;
For 2024-02, we also evaluated the gains provided by SNMPv3 probing, following a paper published in &lt;a href=&#34;https://dl.acm.org/doi/10.1145/3487552.3487848&#34;&gt;IMC 2021&lt;/a&gt; that showed many routers return a unique SNMP Engine ID in response to a SNMPv3 request; the basic idea is that different IP addresses returning the same SNMPv3 Engine ID are likely aliases.  Of the 3.58M addresses we probed, 672K returned an SNMPv3 response.  We inferred that IP addresses belonged to the same router when they return the same SNMP Engine ID, the size of the engine ID was at least 4 bytes, the number of engine boots was the same, and the router uptime was the same; we did not use the other filters in &lt;a href=&#34;https://dl.acm.org/doi/10.1145/3487552.3487848&#34;&gt;section 4.4 of the IMC paper&lt;/a&gt;.  This inferred 47,770 nodes with at least two IPs, many of which were shared with existing nodes found with MIDAR + iffinder. In total, when we combined MIDAR, iffinder, and SNMP probing, we obtained a graph with 124,857 nodes with at least two IPs, covering 515,524 addresses. We are including both the MIDAR + iffinder and MIDAR + iffinder + SNMP graphs in ITDK 2024-02.&lt;/p&gt;

&lt;p&gt;Our ITDK also includes an IPv6 graph derived from &lt;a href=&#34;https://www.caida.org/catalog/papers/2013_speedtrap/speedtrap.pdf&#34;&gt;speedtrap&lt;/a&gt;, which infers that IPv6 addresses belong to the same router if the IPID values in fragmented IPv6 responses appear to be derived from a single counter, and a graph derived from speedtrap and SNMP. For IPv6, the gains provided by SNMP are more significant, as the effectiveness of the IPv6 IPID as an alias inference vector wanes.  Of the 929K IPv6 addresses we probed, 68K returned an SNMPv3 response.&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;2023-03&lt;/td&gt;
&lt;td&gt;2024-02&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Input:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of addresses probed:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;592K&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;929K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of ark VPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;36&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;54&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of countries:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;18&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;25&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Speedtrap output:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;4,945&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;4,129&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Addresses in nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;12,638&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;10,886&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Speedtrap + SNMP output:&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;-&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;8,935&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Addresses in nodes with at least two IPs:&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt; -&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;35,164&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br /&gt;
Beyond the alias resolution, the nodes are also annotated with their &lt;a href=&#34;https://www.caida.org/catalog/papers/2018_pushing_boundaries_bdrmapit/pushing_boundaries_bdrmapit.pdf&#34;&gt;bdrmapIT&lt;/a&gt;-inferred operator (expressed as an ASN) as well as an inferred geolocation. We look up the PTR records of all router IP addresses with &lt;a href=&#34;https://github.com/zmap/zdns&#34;&gt;zdns&lt;/a&gt;, following CNAMEs where they exist, and provide these names as part of the ITDK.  For router geolocation, we used a combination of &lt;a href=&#34;https://www.caida.org/catalog/papers/2021_learning_extract_geographic_information/learning_extract_geographic_information.pdf&#34;&gt;DNS-based heuristics&lt;/a&gt;, &lt;a href=&#34;https://www.caida.org/catalog/datasets/ixps/&#34;&gt;IXP geolocation&lt;/a&gt; (routers connected to an IXP are likely located at that IXP), and &lt;a href=&#34;https://dev.maxmind.com/geoip&#34;&gt;Maxmind GeoLite2&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/02/example-ash.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-5208&#34; src=&#34;https://www.caida.org/blog/media/2023/02/example-ash.png&#34; alt=&#34;&#34; width=&#34;384&#34; height=&#34;284&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We inferred DNS-based geolocation heuristics using RTT measurements from 148 Ark VPs in 52 countries to constrain &lt;a href=&#34;https://www.caida.org/catalog/papers/2021_learning_extract_geographic_information/learning_extract_geographic_information.pdf&#34;&gt;Hoiho&lt;/a&gt;, which automatically infers naming conventions in PTR records as regular expressions, and covered 819 different suffixes (e.g.,  ^.+\.([a-z]+)\d+\.level3\.net$ and ^.+\.([a-z]{3})\d+\.[a-z\d]+\.cogentco\.com$ extract geolocation hints in hostnames for Level3 and Cogent in the above figure). There is no dominant source of geohint observed in these naming conventions; 443 (54.1%) embedded &lt;a href=&#34;https://en.wikipedia.org/wiki/IATA_airport_code&#34;&gt;IATA airport codes&lt;/a&gt; (e.g. IAD, WAS for the Washington D.C. area), 310 (37.9%) embedded &lt;a href=&#34;https://www.geonames.org/&#34;&gt;place names&lt;/a&gt; (e.g. Ashburn for Ashburn, VA, US), 87 (10.6%) embedded the first six characters of a &lt;a href=&#34;https://iconectiv.com/sites/default/files/2021-07/TruOps_Common_Language_Brochure_clli.pdf&#34;&gt;CLLI code&lt;/a&gt; (e.g. ASBNVA for Ashburn), and 12 (1.4%) embedded &lt;a href=&#34;https://unece.org/trade/uncefact/unlocode&#34;&gt;locodes&lt;/a&gt; (e.g. USQAS for Ashburn, VA, US). Interestingly, the operators that used CLLI and locodes had conventions that were more congruent with observed RTT values than operators that used IATA codes or place names.  For the nodes in the ITDK, hoiho provided a geolocation inference for 127K, IXP provided a geolocation inference for 14K, and maxmind covered the remainder.  The rules we inferred are usable via &lt;a href=&#34;https://api.hoiho.caida.org/&#34;&gt;CAIDA&#39;s Hoiho API&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;ITDKs older than one year are &lt;a href=&#34;https://www.caida.org/catalog/datasets/request_user_info_forms/ark/&#34;&gt;publicly available&lt;/a&gt;, and ITDK 2024-02 is available to researchers and CAIDA members, after completing a &lt;a href=&#34;https://www.caida.org/catalog/datasets/request_user_info_forms/topology_request/&#34;&gt;simple form for access&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Acknowledgment: We are grateful to all of the &lt;a href=&#34;https://www.caida.org/projects/ark/locations/&#34;&gt;Ark hosting sites&lt;/a&gt;, MaxMind&#39;s freely available &lt;a href=&#34;https://dev.maxmind.com/geoip/geolite2-free-geolocation-data&#34;&gt;geolocation database&lt;/a&gt;, and academic research access to &lt;a href=&#34;https://iconectiv.com/sites/default/files/2021-07/TruOps_Common_Language_Brochure_clli.pdf&#34;&gt;Iconectiv&#39;s CLLI database&lt;/a&gt; to support this work.&lt;/em&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>A First Look at Suspicious IRR Records</title>
      <link>https://www.caida.org/blog/a-first-look-at-suspicious-irr-records/</link>
      <pubDate>Thu, 15 Feb 2024 12:18:34 -0800</pubDate>
      <author>Ben Du</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5304</guid>
      <description>The Internet Routing Registry (IRR) is a set of distributed databases used by networks to register routing policy information and to validate messages received in the Border Gateway Protocol (BGP). First deployed in the 1990s, the IRR remains the most widely used database for routing …</description>
      <content:encoded>&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The &lt;/span&gt;&lt;a href=&#34;https://www.irr.net/&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Internet Routing Registry&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; (IRR) is a set of distributed databases used by networks to register routing policy information and to validate messages received in the Border Gateway Protocol (BGP). &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;First deployed in the 1990s, the IRR remains the most widely used database for routing security purposes, despite the existence of more recent and more secure alternatives such as the Resource Public Key Infrastructure (RPKI). Yet, the IRR lacks a strict validation standard and the limited coordination across different database providers can lead to inaccuracies. Moreover, it has been reported that attackers have begun to register false records in the IRR to bypass operators’ defenses when launching attacks on the Internet routing system, such as BGP hijacks. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;In our paper, &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_irregularities_in_internet_routing_registry/irregularities_in_internet_routing_registry.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;IRRegularities in the Internet Routing Registry&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;, we at CAIDA/UC San Diego, in collaboration with Georgia Tech and Stanford, proposed a workflow to identify suspicious IRR records. In this post, we succinctly describe how we quantified the inconsistencies across all IRR databases, identified likely suspicious IRR records, and validated our results against relevant studies.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Reported false IRR records&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Each IRR database is managed independently under different policies and registration processes. The five RIRs (RIPE, ARIN, APNIC, AFRINIC, and LACNIC) manage authoritative IRR databases. Routing information registered in those IRR databases undergoes a validation process against the address ownership information to ensure correctness. IRR databases operated by other institutions are non-authoritative IRR databases and are not strictly validated.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;To increase the likelihood of launching a successful BGP hijack attack, malicious actors may inject false records into non-authoritative IRR databases. There have been reported cases of successful BGP hijacking attempts that also abused the IRR.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;In one prominent case, an attacker successfully hijacked Amazon’s address space that was used to host Celer Network’s cryptocurrency exchange website. The attacker falsely registered objects in ALTDB using QuickHost.uk&#39;s AS number (AS209243) and pretended to be an upstream provider of AS16509 (Amazon). In a different case, attackers registered false IRR objects under AS207427 (GoHosted.eu) for 3 UCSD-announced prefixes and hijacked those prefixes in BGP for more than a month.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Workflow to identify suspicious IRR records&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Following the diagram in Figure 1, we consider an IRR record in a non-authoritative database suspicious if it satisfies the following conditions:&lt;/span&gt;&lt;/p&gt;

&lt;ol&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The IRR record conflicted with corresponding records (containing the same prefix but different origin) in the authoritative IRR database.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The prefix in the IRR record from step 1 was originated in BGP by multiple ASes, one of which is the AS in the IRR record.&lt;/span&gt;

&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We validate our inferred suspicious IRR records with the Resource Public Key Infrastructure (RPKI), a more recent and secure alternative of the IRR. We also check if the origin ASes in the suspicious IRR records were classified as serial hijacker ASes by &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2019_profiling_bgp_serial_hijackers/profiling_bgp_serial_hijackers.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Testart et al. published at IMC 2019.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/02/Screenshot-2024-02-14-at-6.58.24-PM.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5305 size-full&#34; src=&#34;https://www.caida.org/blog/media/2024/02/Screenshot-2024-02-14-at-6.58.24-PM-e1707966341713.png&#34; alt=&#34;&#34; width=&#34;700&#34; height=&#34;258&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 1. Workflow to identify suspicious IRR records (solid arrows) and methods to validate our results (dotted arrows).&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Baseline: Inconsistency across IRR databases&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We discuss the results of the first step in the workflow above. To understand the baseline characteristics of the IRR databases, we analyze the consistency between all pairs of IRR databases.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 2 shows the percentage of records with the same prefix but different origin ASes between pairs of IRRs. We found that most IRR databases have mismatching records with one another, consistent with &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_irr_hygiene_rpki_era/irr_hygiene_rpki_era.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;persistent neglect by IRR users and thus an increasing number of outdated entries&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;. We also noticed instances where a company registered records in multiple IRR databases, but only updated the records in one IRR database, causing inter-IRR inconsistency. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Most surprising were the mismatching records between pairs of authoritative IRR databases, since each RIR only allows registration of records containing address blocks managed by that RIR, which do not overlap with each other. We speculate that those mismatching records correspond to address space that was transferred across RIRs, and the address owner from the previous RIR did not remove the outdated object. As of January 2024, two months since our paper was published, the RIRs have removed all inconsistent IRR records in their authoritative databases. We provide the updated results on github &lt;/span&gt;&lt;a href=&#34;https://github.com/CAIDA/IRR-IRRegularities-Analysis&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;https://github.com/CAIDA/IRR-IRRegularities-Analysis&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/02/Screenshot-2024-02-14-at-7.05.02-PM.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5310 size-full&#34; src=&#34;https://www.caida.org/blog/media/2024/02/Screenshot-2024-02-14-at-7.05.02-PM-e1707966425704.png&#34; alt=&#34;&#34; width=&#34;700&#34; height=&#34;701&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 2. Fraction of inconsistent records in the IRR on the Y-axis with respect to the IRR on the X-axis. The denominators shown in Figure 1b in the &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_irregularities_in_internet_routing_registry/irregularities_in_internet_routing_registry.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;paper&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Suspicious records in RADB&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Out of 1.5 million RADB records (1.2 million unique prefixes), we identified 34,199 potentially suspicious records. We further checked the RPKI consistency of those records. Out of those 34,199 records, 4,082 records had a mismatching ASN, 144 had prefixes that were too specific, and 9,450 had no matching ROA in RPKI. To further narrow down the list of suspicious IRR records, we removed the ones whose AS appear in other RPKI-consistent records (assuming those ASes were unlikely to be malicious), leaving 6,373 suspicious records. Network operators who use IRR-based filtering should carefully consider those suspicious records.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We also compared our list of 34,199 suspicious records with the list of serial hijackers from &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2019_profiling_bgp_serial_hijackers/profiling_bgp_serial_hijackers.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Testart et al.&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;  and found 5,581 records registered by 168 serial hijacker ASes. We found one of those ASes to be a small US-based ISP with 10 customers according to CAIDA’s AS Rank. Another serial hijacker AS was a European hosting provider with more than 100 customers, which was also known to be exploited by attackers to abuse the DNS system. However, networks may have registered both suspicious and benign records, which can complicate the inference of suspicious IRR records.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Summary&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We provided a first look at inconsistencies across IRR databases and proposed an approach to infer suspicious activities in the IRR without external sources of ground truth. We found IRR databases prone to staleness and errors, confirming the importance of operators transitioning to RPKI-based filtering. We hope this work inspires new directions in automating the detection of abuse of IRRs, ideally in time to prevent or thwart an attacker’s ultimate objective. We publicly provide our analysis code on Github &lt;/span&gt;&lt;a href=&#34;https://github.com/CAIDA/IRR-IRRegularities-Analysis&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;https://github.com/CAIDA/IRR-IRRegularities-Analysis&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; with more recent sample data and results.&lt;/span&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Developing active Internet measurement software locally to run on Ark</title>
      <link>https://www.caida.org/blog/developing-software-locally-for-ark/</link>
      <pubDate>Wed, 24 Jan 2024 13:29:23 -0800</pubDate>
      <author>Matthew Luckie</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5289</guid>
      <description>In the first part of our blog series , we introduced our brand-new python module for scamper , the packet-prober underpinning much of Ark&amp;rsquo;s ongoing measurements . One aspect that we highlighted was the ability for potential users of Ark to develop their code locally …</description>
      <content:encoded>&lt;p&gt;In the &lt;a href=&#34;https://www.caida.org/blog/towards-a-domain-specific-language-for-internet-active-measurement/&#34;&gt;first part of our blog series&lt;/a&gt;, we introduced our brand-new python module for &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt;, the packet-prober underpinning much of &lt;a href=&#34;https://www.caida.org/projects/ark/&#34;&gt;Ark&#39;s ongoing measurements&lt;/a&gt;. One aspect that we highlighted was the ability for potential users of Ark to develop their code locally, before running it on the Ark platform. When I develop measurement applications, I use a couple of local Raspberry Pis and my own workstation to get the code correct, and then copy the code to the CAIDA system to run the experiment using available Ark vantage points. The goal of this blog article is to describe different ways to locally develop your measurement experiment code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example #1: Starting small with one scamper process.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The easiest way to begin is with one scamper process running on the same system where you develop your python code. With scamper installed (we recommend that you use a package listed on the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper website&lt;/a&gt;), start a scamper process, and make it available for measurement commands on a Unix domain socket. For example, you might run scamper as follows:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ scamper -U /tmp/scamper -p 100&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will create a Unix domain socket to drive scamper at /tmp/scamper, and tell scamper that it can probe at up to 100 packets/second. You can adjust these parameters to what is appropriate locally.&lt;/p&gt;

&lt;p&gt;You can then develop and debug your measurement code in Python. To use this scamper process, your Python code might begin as follows:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; scamper &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
02&lt;br /&gt;
03 # use the scamper process available at /tmp/scamper&lt;br /&gt;
04 &lt;span style=&#34;color: #ff6600;&#34;&gt;ctrl&lt;/span&gt; = ScamperCtrl(unix=&lt;span style=&#34;color: #993300;&#34;&gt;&#34;/tmp/scamper&#34;&lt;/span&gt;)&lt;br /&gt;
05&lt;br /&gt;
06 # do a simple ping to 8.8.8.8 and print the outcome&lt;br /&gt;
07 &lt;span style=&#34;color: #ff6600;&#34;&gt;o&lt;/span&gt; = ctrl.do_ping(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;8.8.8.8&#34;&lt;/span&gt;)&lt;br /&gt;
08 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; o.min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;:&lt;br /&gt;
09   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{o.min_rtt.total_seconds()*1000):.1f} ms&#34;&lt;/span&gt;)&lt;br /&gt;
10 &lt;span style=&#34;color: #800080;&#34;&gt;else&lt;/span&gt;:&lt;br /&gt;
11   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;no reply&#34;&lt;/span&gt;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example #2: Coordinating measurements among VPs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Once you are comfortable using the python module with a single local scamper instance, you might want to test your code with multiple scamper instances, each representing a distinct vantage point. The scamper software includes the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/man/sc_remoted.1.pdf&#34;&gt;sc_remoted&lt;/a&gt; interface to support that. sc_remoted has features for authenticating endpoints with TLS, but you might choose to initially operate endpoints without the complexity of TLS.&lt;/p&gt;

&lt;p&gt;sc_remoted listens on a port for inbound scamper connections, and makes Unix domain sockets -- one for each VP -- available in a nominated directory. The best idea is to create an empty directory for these sockets. You might run sc_remoted as follows:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ mkdir -p /path/to/remote-sockets&lt;br /&gt;
$ sc_remoted -U /path/to/remote-sockets -P 50265&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The first command creates the directory, because sc_remoted will not create that directory for you. The second command starts sc_remoted listening on port 50265 for incoming scamper connections, and will place Unix domain sockets in /path/to/remote-sockets as they arrive.  Note, we use &lt;a href=&#34;https://stackoverflow.com/questions/10932582/what-is-path-to&#34;&gt;/path/to as a placeholder&lt;/a&gt; to the actual path in your local file system that is appropriate for your environment; you might put these sockets in a directory somewhere in your home directory, for example.&lt;/p&gt;

&lt;p&gt;Then, on the systems that you want to act as vantage points, the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ scamper -p 100 -R 192.0.2.28:50265 -M foo.bar&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;will (1) start a scamper process, (2) tell it that it can probe at up to 100 packets-per-second, (3) connect it to the specified IP address and port to receive measurement commands from, and (4) tell it to identify itself as &#34;foo.bar&#34; to the remote controller. If you go into /path/to/remote-sockets, you might see the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ cd /path/to/remote-sockets&lt;br /&gt;
$ ls -l&lt;br /&gt;
total 0&lt;br /&gt;
srwx------ 1 mjl mjl 0 Jan 22 16:57 foo.bar-192.0.2.120:12369&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This socket represents the scamper process you just started. The filename begins with foo.bar, the parameter that you gave to scamper to identify itself. After the dash is the IP address and port number that the remote controller observed the remote system coming from. You can connect as many additional scamper instances as you like, and you will see them listed in the directory individually. You should name each differently with something meaningful to you (foo.bar, bar.baz, etc) so that you can identify them on the system on which you&#39;re writing your python code.&lt;/p&gt;

&lt;p&gt;The python code we wrote in Example #1 above might be modified as follows:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; sys&lt;br /&gt;
02 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; scamper &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
03&lt;br /&gt;
04 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; len(sys.argv) != 2:&lt;br /&gt;
05   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;specify path to unix domain socket&#34;&lt;/span&gt;)&lt;br /&gt;
06   sys.&lt;span style=&#34;color: #008080;&#34;&gt;exit&lt;/span&gt;(-1)&lt;br /&gt;
07&lt;br /&gt;
08 # use the remote scamper process available at the specified location&lt;br /&gt;
09 &lt;span style=&#34;color: #ff6600;&#34;&gt;ctrl&lt;/span&gt; = ScamperCtrl(remote=sys.argv[1])&lt;br /&gt;
10&lt;br /&gt;
11 # do a simple ping to 8.8.8.8 and print the outcome&lt;br /&gt;
12 &lt;span style=&#34;color: #ff6600;&#34;&gt;o&lt;/span&gt; = ctrl.do_ping(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;8.8.8.8&#34;&lt;/span&gt;)&lt;br /&gt;
13 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; o.min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;:&lt;br /&gt;
14   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{o.min_rtt.total_seconds()*1000):.1f} ms&#34;&lt;/span&gt;)&lt;br /&gt;
15 &lt;span style=&#34;color: #800080;&#34;&gt;else&lt;/span&gt;:&lt;br /&gt;
16   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;no reply&#34;&lt;/span&gt;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And run as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ python ping.py /path/to/remote-sockets/foo.bar-192.0.2.120\:12369&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you have multiple remote-sockets in the directory, you can &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/#scamper.ScamperCtrl.add_remote&#34;&gt;add them individually&lt;/a&gt;, or &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/#scamper.ScamperCtrl.add_remote_dir&#34;&gt;use all sockets in the directory&lt;/a&gt;. For example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; sys&lt;br /&gt;
02 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; timedelta&lt;br /&gt;
03 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; scamper &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
04&lt;br /&gt;
05 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; len(sys.argv) != 3:&lt;br /&gt;
06   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;usage: single-radius.py $dir $ip&#34;&lt;/span&gt;)&lt;br /&gt;
07   sys.&lt;span style=&#34;color: #008080;&#34;&gt;exit&lt;/span&gt;(-1)&lt;br /&gt;
08&lt;br /&gt;
09 &lt;span style=&#34;color: #ff6600;&#34;&gt;ctrl&lt;/span&gt; = ScamperCtrl(remote_dir=sys.argv[1])&lt;br /&gt;
10 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; i &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.instances():&lt;br /&gt;
11   ctrl.do_ping(sys.argv[2], inst=i)&lt;br /&gt;
12&lt;br /&gt;
13 &lt;span style=&#34;color: #ff6600;&#34;&gt;min_rtt&lt;/span&gt; = &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;&lt;br /&gt;
14 &lt;span style=&#34;color: #ff6600;&#34;&gt;min_vp&lt;/span&gt; = &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;&lt;br /&gt;
15 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; o &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.responses(timeout=timedelta(seconds=10)):&lt;br /&gt;
16   &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; o.min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #800080;&#34;&gt;and&lt;/span&gt; (min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #800080;&#34;&gt;or&lt;/span&gt; min_rtt &amp;gt; o.min_rtt):&lt;br /&gt;
17     &lt;span style=&#34;color: #ff6600;&#34;&gt;min_rtt&lt;/span&gt; = o.min_rtt&lt;br /&gt;
18     &lt;span style=&#34;color: #ff6600;&#34;&gt;min_vp&lt;/span&gt; = o.inst&lt;br /&gt;
19&lt;br /&gt;
20 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;:&lt;br /&gt;
21   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{min_vp.name} {(min_rtt.total_seconds()*1000):.1f} ms&#34;&lt;/span&gt;)&lt;br /&gt;
22 &lt;span style=&#34;color: #800080;&#34;&gt;else&lt;/span&gt;:&lt;br /&gt;
23   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;no responses for {sys.argv[2]}&#34;&lt;/span&gt;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;and run this command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ python single-radius.py /path/to/remote-sockets 8.8.8.8&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We encourage you to reach out via email if you have questions about using the module. In the first instance, you can email ark-info at caida.org.&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Towards a Domain Specific Language for Internet Active Measurement</title>
      <link>https://www.caida.org/blog/towards-a-domain-specific-language-for-internet-active-measurement/</link>
      <pubDate>Tue, 16 Jan 2024 22:38:02 -0800</pubDate>
      <author>Matthew Luckie</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5263</guid>
      <description>This is the first in a series of essays about CAIDA&amp;rsquo;s new effort to reduce the barrier to performing a variety of Internet measurements. Network operators and researchers often require the ability to conduct active measurements of networks from a specific location in order to …</description>
      <content:encoded>&lt;p&gt;&lt;em&gt;This is the first in a series of essays about CAIDA&#39;s new effort to reduce the barrier to performing a variety of Internet measurements.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Network operators and researchers often require the ability to conduct active measurements of networks from a specific location in order to understand some property of the network. However, obtaining access to a vantage point at a given location is challenging, as there can be significant trust barriers that prevent access: a platform operator has to provide vantage point hosts with guarantees about the activity that their vantage points will exhibit, and a platform operator has to trust that users will stay within those guarantees. Current access control to active measurement infrastructure has two extremes: access that allows for trusted users to run arbitrary code, and API access that allows arbitrary users to schedule a (limited) set of measurements, and obtain their results. Prior research thrusts in active measurement design have focused on interfaces that allow a user to request a host to send arbitrary packets, leaving the implementation of the measurement to the user. However, this design pattern limits the guarantees that a platform operator can provide a vantage point host regarding what their vantage point will actually do. A domain-specific language for conducting active measurements can alleviate these concerns because it (1) allows a platform operator to specify the measurements that a user can run, and communicate to the host what their vantage point will do, (2) provides users reference implementations of measurement applications that act as building blocks to more complex measurements.&lt;/p&gt;

&lt;p&gt;Over the past six months, in consultation with members of the active measurement community, CAIDA has been working towards a next-generation measurement infrastructure, built on the existing &lt;a href=&#34;https://www.caida.org/projects/ark/&#34;&gt;Archipelago (Ark) platform&lt;/a&gt;. One aspect of this platform is the notion of a researcher development environment that allows for complex, distributed, and reactive measurements built on a well-defined set of measurement primitives. In an effort to make the Ark platform easier to use for measurement researchers, while also providing important access control, CAIDA has developed the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/&#34;&gt;scamper python module&lt;/a&gt; that provides an interface to the measurement primitives available on each of the Ark nodes. Today, we are releasing the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;source code&lt;/a&gt; of that module, so that researchers can develop and test complex measurements locally, before running vetted experiments on Ark.&lt;/p&gt;

&lt;figure class=&#34;wp-caption aligncenter&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2024/01/scamper-architecture1.png&#34;&gt;&lt;img class=&#34;wp-image-5285 size-medium&#34; src=&#34;https://www.caida.org/blog/media/2024/01/scamper-architecture1.png&#34; alt=&#34;Scamper architecture chart&#34; /&gt;&lt;/a&gt;

&lt;figcaption class=&#34;wp-caption-text&#34;&gt;The architecture of scamper. Measurement tasks are supplied from one or more input sources, including from an input file, from the command line, or from a control socket.

&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;p&gt;The module provides user-friendly interfaces to existing &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt; functionality. We illustrate the module with some examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example #1: Implementation of RTT-based geolocation measurement&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The following is an implementation of the well-known &lt;a href=&#34;https://catalog.caida.org/paper/2020_ripe_ipmap_active_geolocation&#34;&gt;single-radius&lt;/a&gt; measurement, which conducts delay measurements to an IP address from a distributed set of vantage points, and reports the shortest of all the RTTs obtained with the name of the monitor, which on Ark, is derived from its location (e.g., lax-us, hlz2-nz, ams-nl, and so on). Researchers and operators might use this technique to understand approximately where a system is located, using the RTT constraint of the vantage point that reports the shortest delay.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #993366;&#34;&gt; import&lt;/span&gt; sys&lt;br /&gt;
02 &lt;span style=&#34;color: #993366;&#34;&gt; from&lt;/span&gt; datetime &lt;span style=&#34;color: #993366;&#34;&gt;import&lt;/span&gt; timedelta&lt;br /&gt;
03 &lt;span style=&#34;color: #993366;&#34;&gt; from&lt;/span&gt; scamper &lt;span style=&#34;color: #993366;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
04&lt;br /&gt;
05 &lt;span style=&#34;color: #993366;&#34;&gt; if&lt;/span&gt; len(sys.argv) != 3:&lt;br /&gt;
06   &lt;span style=&#34;color: #993366;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;usage: single-radius.py $dir $ip&#34;&lt;/span&gt;)&lt;br /&gt;
07   sys.&lt;span style=&#34;color: #008080;&#34;&gt;exit&lt;/span&gt;(-1)&lt;br /&gt;
08&lt;br /&gt;
09 &lt;span style=&#34;color: #ff6600;&#34;&gt; ctrl&lt;/span&gt; = ScamperCtrl(remote_dir=sys.argv[1])&lt;br /&gt;
10 &lt;span style=&#34;color: #993366;&#34;&gt; for&lt;/span&gt; i &lt;span style=&#34;color: #993366;&#34;&gt;in&lt;/span&gt; ctrl.instances():&lt;br /&gt;
11   ctrl.do_ping(sys.argv[2], inst=i)&lt;br /&gt;
12&lt;br /&gt;
13 &lt;span style=&#34;color: #ff6600;&#34;&gt; min_rtt&lt;/span&gt; = &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;&lt;br /&gt;
14 &lt;span style=&#34;color: #ff6600;&#34;&gt; min_vp&lt;/span&gt; = &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;&lt;br /&gt;
15 &lt;span style=&#34;color: #993366;&#34;&gt; for&lt;/span&gt; o &lt;span style=&#34;color: #993366;&#34;&gt;in&lt;/span&gt; ctrl.responses(timeout=timedelta(seconds=10)):&lt;br /&gt;
16   &lt;span style=&#34;color: #993366;&#34;&gt;if&lt;/span&gt; o.min_rtt &lt;span style=&#34;color: #993366;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #993366;&#34;&gt;and&lt;/span&gt; (min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #993366;&#34;&gt;or&lt;/span&gt; min_rtt &amp;gt; o.min_rtt):&lt;br /&gt;
17     &lt;span style=&#34;color: #ff6600;&#34;&gt;min_rtt&lt;/span&gt; = o.min_rtt&lt;br /&gt;
18     &lt;span style=&#34;color: #ff6600;&#34;&gt;min_vp&lt;/span&gt; = o.inst&lt;br /&gt;
19&lt;br /&gt;
20 &lt;span style=&#34;color: #993366;&#34;&gt; if&lt;/span&gt; min_rtt &lt;span style=&#34;color: #993366;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt;:&lt;br /&gt;
21   &lt;span style=&#34;color: #993366;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{min_vp.name} {(min_rtt.total_seconds()*1000):.1f} ms&#34;&lt;/span&gt;)&lt;br /&gt;
22 &lt;span style=&#34;color: #993366;&#34;&gt; else&lt;/span&gt;:&lt;br /&gt;
23   &lt;span style=&#34;color: #993366;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;no responses for {sys.argv[2]}&#34;&lt;/span&gt;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This implementation takes two parameters (lines 5-7) -- a directory that contains a set of unix domain sockets, each of which represents an interface to a single vantage point, and an IP address to probe. On line 9, we open an interface (represented by a ScamperCtrl object) that contains all of the vantage points in that directory. We then send a ping measurement to each of the vantage point instances (lines 10-11). These ping measurements operate in parallel -- the ping measurements on each of the nodes operate asynchronously. We then collect the results of the measurements (lines 13-18), noting the minimum observed RTT, and the vantage point where it came from. We pass a 10-second timeout on line 15, so that a vantage point that experiences an outage after we send the measurements does not hold up the whole experiment. Finally, on lines 20-23, we print the result of the measurement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example #2: RTTs to authoritative name servers of a specific domain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The next example shows a more complex measurement. Let&#39;s say we want to know the RTTs to the &lt;a href=&#34;https://blog.apnic.net/2019/08/16/recursive-resolver-authoritative-nameserver-selection/&#34;&gt;authoritative name servers for a zone&lt;/a&gt; from a single vantage point.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;01 &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; sys&lt;br /&gt;
02 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; datetime &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; timedelta&lt;br /&gt;
03 &lt;span style=&#34;color: #800080;&#34;&gt;from&lt;/span&gt; scamper &lt;span style=&#34;color: #800080;&#34;&gt;import&lt;/span&gt; ScamperCtrl&lt;br /&gt;
04&lt;br /&gt;
05 &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; len(sys.argv) != 3:&lt;br /&gt;
06   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(&lt;span style=&#34;color: #993300;&#34;&gt;&#34;usage: authns-delay.py $vp $zone&#34;&lt;/span&gt;)&lt;br /&gt;
07   sys.&lt;span style=&#34;color: #008080;&#34;&gt;exit&lt;/span&gt;(-1)&lt;br /&gt;
08&lt;br /&gt;
09 &lt;span style=&#34;color: #ff6600;&#34;&gt;ctrl&lt;/span&gt; = ScamperCtrl(remote=sys.argv[1])&lt;br /&gt;
10&lt;br /&gt;
11 &lt;span style=&#34;color: #ff0000;&#34;&gt;# get the list of NS for the zone&lt;/span&gt;&lt;br /&gt;
12 &lt;span style=&#34;color: #ff6600;&#34;&gt;o&lt;/span&gt; = ctrl.do_dns(sys.argv[2], qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;NS&#39;&lt;/span&gt;, wait_timeout=1, sync=&lt;span style=&#34;color: #008080;&#34;&gt;True&lt;/span&gt;)&lt;br /&gt;
13&lt;br /&gt;
14 &lt;span style=&#34;color: #ff0000;&#34;&gt;# issue queries for the IP addresses of the authoritative servers&lt;/span&gt;&lt;br /&gt;
15 &lt;span style=&#34;color: #ff6600;&#34;&gt;ns&lt;/span&gt; = {}&lt;br /&gt;
16 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; rr &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; o.ans():&lt;br /&gt;
17   &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; rr.ns &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #800080;&#34;&gt;and&lt;/span&gt; rr.ns &lt;span style=&#34;color: #800080;&#34;&gt;not in&lt;/span&gt; ns:&lt;br /&gt;
18     &lt;span style=&#34;color: #ff6600;&#34;&gt;ns&lt;/span&gt;[rr.ns] = 1&lt;br /&gt;
19     ctrl.do_dns(rr.ns, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;A&#39;&lt;/span&gt;, wait_timeout=1)&lt;br /&gt;
20     ctrl.do_dns(rr.ns, qtype=&lt;span style=&#34;color: #993300;&#34;&gt;&#39;AAAA&#39;&lt;/span&gt;, wait_timeout=1)&lt;br /&gt;
21&lt;br /&gt;
22 &lt;span style=&#34;color: #ff0000;&#34;&gt;# collect the unique addresses out of the address lookups&lt;/span&gt;&lt;br /&gt;
23 &lt;span style=&#34;color: #ff6600;&#34;&gt;addr&lt;/span&gt; = {}&lt;br /&gt;
24 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; o &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.responses(timeout=timedelta(seconds=3)):&lt;br /&gt;
25   &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; a &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; o.ans_addrs():&lt;br /&gt;
26     &lt;span style=&#34;color: #ff6600;&#34;&gt;addr&lt;/span&gt;[a] = o.qname&lt;br /&gt;
27&lt;br /&gt;
28 &lt;span style=&#34;color: #ff0000;&#34;&gt;# collect RTTs for the unique IP addresses&lt;/span&gt;&lt;br /&gt;
29 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; a &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; addr:&lt;br /&gt;
30   ctrl.do_ping(a)&lt;br /&gt;
31 &lt;span style=&#34;color: #800080;&#34;&gt;for&lt;/span&gt; o &lt;span style=&#34;color: #800080;&#34;&gt;in&lt;/span&gt; ctrl.responses(timeout=timedelta(seconds=10)):&lt;br /&gt;
32   &lt;span style=&#34;color: #800080;&#34;&gt;print&lt;/span&gt;(f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{addr[o.dst]} {o.dst} &#34;&lt;/span&gt; +&lt;br /&gt;
33         (f&lt;span style=&#34;color: #993300;&#34;&gt;&#34;{(o.min_rtt.total_seconds() * 1000):.1f}&#34;&lt;/span&gt;&lt;br /&gt;
34          &lt;span style=&#34;color: #800080;&#34;&gt;if&lt;/span&gt; o.min_rtt &lt;span style=&#34;color: #800080;&#34;&gt;is not&lt;/span&gt; &lt;span style=&#34;color: #008080;&#34;&gt;None&lt;/span&gt; &lt;span style=&#34;color: #800080;&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color: #993300;&#34;&gt;&#34;???&#34;&lt;/span&gt;))&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This implementation takes two parameters (lines 5-7) -- a single vantage point, and a zone name to study. As before, we open an interface to that VP on line 9, and then issue a DNS query for the authoritative name servers for the zone (line 12).&lt;/p&gt;

&lt;p&gt;There are a couple of interesting things to note about line 12. First, we do not pass a handle representing the VP instance to the do_dns method, as the ScamperCtrl interface only has a single instance associated with it -- it is smart enough to use that single instance for the measurement. Second, we pass sync=True to make the measurement synchronous -- the method does not return until it has the results of that single measurement. This is shorter (in lines of code) and more readable than issuing an asynchronous measurement and then collecting the single result. Then, we issue asynchronous queries for the IPv4 and IPv6 addresses for the name servers returned (lines 14-20) and send ping measurements for each of the addresses (lines 29-30). Finally, we print the names of the nameservers, their IP addresses, and the minimum RTT observed to each.&lt;/p&gt;

&lt;p&gt;The scamper python module supports most of the measurement primitives currently available in &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt;: ping, traceroute, DNS query, alias resolution, HTTP, and simple UDP probes. We&#39;ve used the module internally to: (1) reproduce the data collection methodology of a recent &lt;a href=&#34;https://snmpv3.io/&#34;&gt;router fingerprinting method&lt;/a&gt;; (2) study the deployment of Netflix fast.com speed test endpoints, (3) implement &lt;a href=&#34;https://www.caida.org/catalog/papers/2013_alias_resolution_midar/alias_resolution_midar.pdf&#34;&gt;MIDAR&lt;/a&gt;; (4) study anycast open resolvers, and (5) monitor serial number changes of zones amongst a set of nameservers authoritative for a zone. One important feature of our module is that it provides a python interface, which means that you can use our measurement module alongside existing python modules that parse JSON, etc. The documentation for the module is &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/&#34;&gt;publicly available&lt;/a&gt; and we will write additional blog entries in the coming days that show more of its features, in a digestible form.&lt;/p&gt;

&lt;p&gt;In the short term, measurement researchers can request access to the infrastructure to run vetted experiments by emailing ark-info at caida.org. Note: the access does not provide a login on any of the Ark nodes. Rather, it provides access to a system that can access the measurement primitives of the vantage points, as illustrated above. Again, we are releasing the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/python/&#34;&gt;python module&lt;/a&gt; to allow researchers to develop and debug experiments locally, before running them on Ark. We hope that this approach provides a convenient development lifecycle for researchers, as the CAIDA system you will have access to when running the experiments will not necessarily have the local development environment that you are accustomed to.&lt;/p&gt;

&lt;p&gt;The module itself is written in &lt;a href=&#34;https://cython.org/&#34;&gt;cython&lt;/a&gt;, providing a wrapper around two C libraries in &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt; that do much of the heavy lifting. You build and install the module using the instructions on the &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper website&lt;/a&gt;, install the module using the &lt;a href=&#34;https://launchpad.net/~matthewluckie/+archive/ubuntu/scamper&#34;&gt;Ubuntu PPA&lt;/a&gt; (preferred if you are using Ubuntu), or install the module using one of the packages available on other operating systems as these become available.&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>CAIDA contributions to ACM’s Internet Measurement Conference (IMC) 2023</title>
      <link>https://www.caida.org/blog/caida-contributions-to-acms-internet-measurement-conference-imc-2023/</link>
      <pubDate>Tue, 14 Nov 2023 23:05:05 -0800</pubDate>
      <author>CAIDA Webmaster</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5258</guid>
      <description>ACM&amp;rsquo;s Internet Measurement Conference (IMC) is an annual highly selective venue for the presentation of Internet measurement and analysis research. The average acceptance rate for papers is around 25%. CAIDA researchers co-authored three papers and one poster that was be presented at the IMC conference …</description>
      <content:encoded>&lt;p&gt;ACM&#39;s &lt;a href=&#34;https://conferences.sigcomm.org/imc/2022/&#34;&gt;Internet Measurement Conference&lt;/a&gt; (IMC) is an annual highly selective venue for the presentation of Internet measurement and analysis research. The average acceptance rate for papers is around 25%. CAIDA researchers co-authored three papers and one poster that was be presented at the IMC conference in Montreal, Quebec on October 26 - 28, 2023. We link to these publications below.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_on_importance_being_as/on_importance_being_as.pdf&#34;&gt;On the Importance of Being an AS: An Approach to Country-Level AS Rankings&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Bradley Huffaker, Alexander Marder, Romain Fontugne, kc claffy. ACM Internet Measurement Conference (IMC), 2023.&lt;br /&gt;
Recent geopolitical events demonstrate that control of Internet infrastructure in a region is critical to economic activity and defense against armed conflict. This geopolitical importance necessitates novel empirical techniques to assess which countries remain susceptible to degraded or severed Internet connectivity because they rely heavily on networks based in other nation states. Currently, two preeminent BGP-based methods exist to identify influential or market-dominant networks on a global scale-network-level customer cone size and path hegemony--but these metrics fail to capture regional or national differences.&lt;/p&gt;

&lt;p&gt;We adapt the two global metrics to capture country-specific differences by restricting the input data for a country-specific metric to destination prefixes in that country. Although conceptually simple, our study required tackling methodological challenges common to most Internet measurement research today, such as geolocation, incomplete data, vantage point access, and lack of ground truth. Restricting public routing data to individual countries requires substantial downsampling compared to global analysis, and we analyze the impact of downsampling on the robustness and stability of our country-specific metrics. As a measure of validation, we apply our country-specific metrics to case studies of Australia, Japan, Russia, Taiwan, and the United States, illuminating aspects of concentration and interdependence in telecommunications markets. To support reproducibility, we will share our code, inferences, and data sets with other researchers.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_irregularities_in_internet_routing_registry/irregularities_in_internet_routing_registry.pdf&#34;&gt;IRRegularities in the Internet Routing Registry&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Ben Du, Gautam Akiwate, Cecilia Testart, Alex C. Snoeren, kc claffy, Katherine Izhikevich, Sumanth Rao. ACM Internet Measurement Conference (IMC), 2023.&lt;br /&gt;
The Internet Routing Registry (IRR) is a set of distributed databases used by networks to register routing policy information and to validate messages received in the Border Gateway Protocol (BGP). First deployed in the 1990s, the IRR remains the most widely used database for routing security purposes, despite the existence of more recent and more secure alternatives. Yet, the IRR lacks a strict validation standard and the limited coordination across diferent database providers can lead to inaccuracies. Moreover, it has been reported that attackers have begun to register false records in the IRR to bypass operators&#39; defenses when launching attacks on the Internet routing system, such as BGP hijacks. In this paper, we provide a longitudinal analysis of the IRR over the span of 1.5 years. We develop a workflow to identify irregular IRR records that contain conflicting information compared to different routing data sources. We identify 34,199 irregular route objects out of 1,542,724 route objects from November 2021 to May 2023 in the largest IRR database and find 6,373 to be potentially suspicious.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_coarse_grained_inference_bgp/coarse_grained_inference_bgp.pdf&#34;&gt;Coarse-grained Inference of BGP Community Intent&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Thomas Krenc, Alexander Marder, Matthew Luckie, kc claffy. ACM Internet Measurement Conference (IMC), 2023.&lt;br /&gt;
BGP communities allow operators to influence routing decisions made by other networks (action communities) and to annotate their network&#39;s routing information with metadata such as where each route was learned or the relationship the network has with their neighbor (information communities). BGP communities also help researchers understand complex Internet routing behaviors. However, there is no standard convention for how operators assign community values, and significant efforts to scalably infer community meanings have ignored this high-level classification. We discovered that doing so comes at a significant cost in accuracy, of both inference and validation. To advance this narrow but powerful direction in Internet infrastructure research, we design and validate an algorithm to execute this first fundamental step: inferring whether a BGP community is action or information. We applied our method to 78,480 community values observed in public BGP data for May 2023. Validating our inferences (24,376 action and 54,104 informational communities) against available ground truth (6,259 communities) we find that our method classified 96.5% correctly. We found that the precision of a state-of-the-art location community inference method increased from 68.2% to 94.8% with our classifications. We publicly share our code, dictionaries, inferences, and datasets to enable the community to benefit from them.&lt;/p&gt;

&lt;p&gt;CAIDA also contributed to one extended abstract:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_empirically_testing_packetlab_model/empirically_testing_packetlab_model.pdf&#34;&gt;&lt;strong&gt;Empirically Testing the PacketLab Model&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;
Tzu-Bin Yan, Zesen Zhang, Bradley Huffaker, Ricky K. P. Mok, kc claffy, Kirill Levchenko. ACM Internet Measurement Conference (IMC) Poster, 2023.&lt;br /&gt;
PacketLab is a recently proposed model for accessing remote vantage points. The core design is for the vantage points to export low-level network operations that measurement researchers could rely on to construct more complex measurements. Motivating the model is the assumption that such an approach can overcome persistent challenges such as the operational cost and security concerns of vantage point sharing that researchers face in launching distributed active Internet measurement experiments. However, the limitations imposed by the core design merit a deeper analysis of the applicability of such model to real-world measurements of interest. We undertook this analysis based on a survey of recent Internet measurement studies, followed by an empirical comparison of PacketLab-based versus native implementations of common measurement methods. We showed that for several canonical measurement types common in past studies, PacketLab yielded similar results to native versions of the same measurements. Our results suggest that PacketLab could help reproduce or extend around 16.4% (28 out of 171) of all surveyed studies and accommodate a variety of measurements from latency, throughput, network path, to non-timing data.&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>A summary of the EU&#39;s Digital Services Act and the role of academic research</title>
      <link>https://www.caida.org/blog/the-eu-gets-serious-about-regulating-big-tech-and-protecting-consumers/</link>
      <pubDate>Tue, 29 Aug 2023 13:01:32 -0700</pubDate>
      <author>David Clark and kc claffy</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5239</guid>
      <description>A new working paper from the CAIDA GMI3S project summarizes key aspects of the European Union&amp;rsquo;s Digital Services Act (DSA) , providing insight into how the EU plans to regulate large online platforms and services. The DSA is intended to create a safer and more …</description>
      <content:encoded>&lt;p&gt;A new &lt;a href=&#34;https://www.caida.org/catalog/papers/2023_eu_digital_services_act/eu_digital_services_act.pdf&#34;&gt;working paper from the CAIDA GMI3S project&lt;/a&gt; summarizes key aspects of the &lt;a href=&#34;https://digital-strategy.ec.europa.eu/en/policies/digital-services-act-package&#34;&gt;European Union&#39;s Digital Services Act (DSA)&lt;/a&gt;, providing insight into how the EU plans to regulate large online platforms and services.&lt;/p&gt;

&lt;p&gt;The DSA is intended to create a safer and more transparent online environment for consumers by imposing new obligations and accountability on companies like Meta, Google, Apple, and Amazon. The regulations target issues like illegal content, disinformation, political manipulation, and harmful algorithms. Systemic societal risks, like disinformation and political influence campaigns, are a major focus of the regulations.&lt;/p&gt;

&lt;p&gt;Some key takeaways from the DSA overview:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;Very large online platforms and search engines face the most stringent requirements, like risk assessment audits, transparency reporting, and independent oversight.

&lt;/li&gt;

&lt;li&gt;The rules apply to any company offering services within the EU market, regardless of where they are based. This prevents tech giants from circumventing the law.

&lt;/li&gt;

&lt;li&gt;The Act establishes clear legal definitions and penalties around illegal content like hate speech, terrorist propaganda, and child sexual abuse material.

&lt;/li&gt;

&lt;li&gt;Covered platforms must assess and mitigate these and other systemic threats. They are expected to assess how the design and implementation of their service, and manipulation and use of it, including violations of terms of service, contribute to such risks.

&lt;/li&gt;

&lt;li&gt;Providers serving advertising must clearly identify its sponsor (who paid for it on and on whose behalf), and the main parameters used to its target audience, and where applicable, how to change them.

&lt;/li&gt;

&lt;li&gt;Providers of recommendation systems must provide the main parameters including the most important criteria determining what is recommended, and the reasons for the importance of these criteria.

&lt;/li&gt;

&lt;li&gt;A critical component is requiring platforms to provide access to data for vetted independent researchers studying &lt;em&gt;systemic risks&lt;/em&gt; and harms. This enables evidence-based analysis of problems and solutions.

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;The DSA signals that the EU is taking a hard line on enforcing accountability and responsible practices for dominant online platforms that have largely operated without oversight. The success of the regulations will depend on effective coordination and enforcement across the EU&#39;s member states. However the Act provides a potential model for balancing innovation and consumer protection in the digital marketplace. Consumers may benefit from transparency and accountability of manipulative algorithms, more control over data, and protections against online harms.&lt;/p&gt;

&lt;p&gt;Importantly, the data access mandate signals the EU&#39;s commitment to leveraging academic expertise in shaping a healthier digital ecosystem. Researchers will be able to investigate systemic issues like algorithmic bias, political polarization, misinformation dynamics, and the mental health impacts of social media.&lt;/p&gt;

&lt;p&gt;This DSA working paper provides valuable context on this ambitious attempt to regulate the digital economy.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;br /&gt;
To read further:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2023_eu_digital_services_act/eu_digital_services_act.pdf&#34;&gt;CAIDA&#39;s working paper from the CAIDA GMI3S project&lt;/a&gt;, summarizing points of the &lt;a href=&#34;https://digital-strategy.ec.europa.eu/en/policies/digital-services-act-package&#34;&gt;European Union&#39;s Digital Services Act (DSA)&lt;/a&gt; related to how academic research can support this emerging public policy landscape.

&lt;/li&gt;

&lt;li&gt;
&lt;a href=&#34;https://arstechnica.com/tech-policy/2023/08/big-tech-isnt-ready-for-landmark-eu-rules-that-take-effect-tomorrow/&#34;&gt;Ars Technica article&lt;/a&gt; suggesting that big tech companies do not appear ready to meet the DSA&#39;s transparency and compliance requirements.

&lt;/li&gt;

&lt;/ul&gt;
</content:encoded>
    </item>
    
    <item>
      <title>CAIDA&#39;s 2022 Annual Report</title>
      <link>https://www.caida.org/blog/caidas-2022-annual-report/</link>
      <pubDate>Mon, 10 Jul 2023 20:21:10 -0700</pubDate>
      <author>kc</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5230</guid>
      <description>The CAIDA annual report summarizes CAIDA&amp;rsquo;s activities for 2022 in the areas of research, infrastructure, data collection and analysis. The executive summary is excerpted below: Research. Our research primarily focused on security, resilience, and performance studies of the underlying transport systems of the Internet: forwarding …</description>
      <content:encoded>&lt;p&gt;The &lt;a href=&#34;https://www.caida.org/about/annualreports/2022/&#34;&gt;CAIDA annual report&lt;/a&gt; summarizes CAIDA&#39;s activities for 2022 in the areas of research, infrastructure, data collection and analysis.  The executive summary is excerpted below:&lt;/p&gt;

&lt;blockquote&gt;&lt;strong&gt;Research.&lt;/strong&gt; Our research primarily focused on security, resilience, and performance studies of the underlying transport systems of the Internet: forwarding, BGP routing, naming (DNS), and TLS certificates. Each of these systems has critical flaws that leave the Internet ecosystem vulnerable to a variety of attacks. Our research in these areas focused on independent assessment of the extent of the problem and effectiveness of mitigations.

&lt;p&gt;&lt;strong&gt;BGP Routing.&lt;/strong&gt; Focused on the routing system, we used cryptographically authenticated RPKI information to analyze the inaccuracy of Internet Route Registries databases which are still commonly used to support route filtering to protect against hijacks and route leaks. We also analyzed what public blacklists can tell us about the effectiveness of IRR/RPKI as a routing security mechanism. Finally, We provided the first independent look into the efficacy of collective action efforts to advance routing security, revealing significant room for improvement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DNS.&lt;/strong&gt; We took a similar approach with the DNS, undertaking four studies to ascertain what an independent party can analyze regarding DNS vulnerabilities and their exploitation. Each study required joining one or more DNS data sets with other diverse sources of data – Internet wide scans, darknet traffic data, TLS certificates, BGP data, AS metadata, and geolocation data. One study introduced a new approach to analyzing the impact of (Distributed) Denial of Service attacks against DNS infrastructure. Another study measured longitudinal changes in the makeup of naming, hosting and certificate issuance for domains in the Russian Federation since the hostilities in Ukraine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traffic Analysis.&lt;/strong&gt; We developed new collaborations to broaden the impact of our Network Telescope data, including collaborations that spanned industry, government, and academic stakeholders to compare phenomena seen with what is seen in industry honeypot data sources. The observations suggest a correlated high frequency concentration of suspicious sources that drifts on time scales of months. We began development of a new machine learning framework to scale event detection in this traffic data, and examined Internet-wide scan traffic through a reactive network telescope, finding that today’s scans are highly targeted and vary across regions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance.&lt;/strong&gt; We published a unified and configurable framework for facilitating automatic test execution and cross-layer analysis of test results for five major web-based speed test platforms, and applied it to investigate impediments to accuracy of latency measurements, which play a vital role in today’s speed tests. We also created a jitter-based congestion inference framework called Jitterbug, and applied it to a range of traffic scenarios to identify both recurrent and one-off congestion events.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Policy.&lt;/strong&gt; We participated in policy research and discussions related to these security issues. We published an analysis of the role of measurement in informing public policy about the Internet, including different stakeholders’ approaches to measurements and associated challenges.&lt;br /&gt;
We also published a taxonomy of harms at the Internet transport layer and measurements that currently inform their analysis. We participated in FCC’s Notice of Inquiry related to routing security, which continues into 2023.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Infrastructure Operations and Design.&lt;/strong&gt; Our NSF mid-scale design effort allowed us to make progress with our infrastructure, software development, and data sharing activities to support Internet research, both at CAIDA and around the world. We continued to support and enhance our infrastructure components that create data products in the most demand by the community, including Ark, AS Rank, AS-to-Org mapping, BGPStream, DNS Zone Database, Internet Topology Data Kit, MIDAR, Periscope, Spoofer, and the UCSD Network Telescope. We introduced new tools including an improved inference engine for hostname-based geolocation. We continued expanding our rich-context Resource Catalog for CAIDA Internet Data Science Resources. We engaged with partners from industry, academia, and government to gain insights into measurement needs and data acquisition infrastructure design.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everything Else.&lt;/strong&gt; As always, we engaged in a variety of tool development, data sharing, and outreach activities, including publishing 16 peer-reviewed papers. We provide select highlights in this report; details are available in papers, presentations, blog, and interactive resources on our web sites. We list and link to publications, tools and data sets shared. Finally, we offer a “CAIDA in numbers” section: statistics on our performance, collaborators, finances and funding sources.&lt;/p&gt;

&lt;p&gt;We are still developing CAIDA’s program plan for 2023-2027. Please feel free to send comments or questions to info at caida dot org. Please note the link to donate to CAIDA at the top of our web site. UC San Diego charges no overhead on donations; it is tax-deductible and goes 100% to research (no university overhead)!&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;For the full 2022 annual report, see &lt;a href=&#34;https://www.caida.org/about/annualreports/2022/&#34;&gt;https://www.caida.org/about/annualreports/2022/&lt;/a&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Hoiho API (Holistic Orthography of Internet Hostname Observations)</title>
      <link>https://www.caida.org/blog/hoiho-api-holistic-orthography-of-internet-hostname-observations/</link>
      <pubDate>Mon, 13 Feb 2023 17:32:39 -0800</pubDate>
      <author>Bradley Huffaker</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5194</guid>
      <description>In December 2021, CAIDA published a method and system to automatically learn rules that extract geographic annotations from router hostnames. This is a challenging problem, because operators use different conventions and different dictionaries when they annotate router hostnames. For example, in the following figure, operators …</description>
      <content:encoded>&lt;p&gt;In December 2021, CAIDA &lt;a href=&#34;https://catalog.caida.org/paper/2021_learning_extract_geographic_information&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;published a method and system&lt;/a&gt; to automatically learn rules that extract geographic annotations from router hostnames. This is a challenging problem, because operators use different conventions and different dictionaries when they annotate router hostnames. For example, in the following figure, operators have used IATA codes (&#34;iad&#34;, &#34;was&#34;), a CLLI prefix (&#34;asbnva&#34;), a UN/LOCODE (&#34;usqas&#34;), and even city names (&#34;ashburn&#34;, &#34;washington&#34;) to refer to routers in approximately the same location -- Ashburn, VA, US. Note that &#34;ash&#34; (router #4) is an IATA code for Nashua, NH, US, that the operators of he.net and seabone.net used to label routers in Ashburn, VA, US. Some operators also encoded the country (&#34;us&#34;) and state (&#34;va&#34;).&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/02/example-ash.png&#34;&gt;&lt;img class=&#34;aligncenter wp-image-5208&#34; src=&#34;https://www.caida.org/blog/media/2023/02/example-ash.png&#34; alt=&#34;&#34; width=&#34;384&#34; height=&#34;284&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our system, Hoiho, released as open-source as part of &lt;a href=&#34;https://www.caida.org/catalog/software/scamper/&#34;&gt;scamper&lt;/a&gt;, uses CAIDA&#39;s &lt;a href=&#34;https://www.caida.org/catalog/datasets/internet-topology-data-kit/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Macroscopic Internet Topology Data Kit&lt;/a&gt; (ITDK) and observed round trip times to infer regular expressions that extract these apparent geolocation hints from hostnames. The ITDK contains a large dataset of routers with annotated hostnames, which we used as input to Hoiho for it infer rules (encoded as regular expressions) that extract these annotations. CAIDA has released these inferred rulesets in recent ITDKs.&lt;/p&gt;

&lt;p&gt;Today, CAIDA is launching an API (&lt;a href=&#34;https://api.hoiho.caida.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;api.hoiho.caida.org&lt;/a&gt;) and web front end (&lt;a href=&#34;https://hoiho.caida.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;hoiho.caida.org&lt;/a&gt;) which returns extracted geographic locations from a user-provided list of DNS names. The API uses the rules that CAIDA infers with each ITDK. For embedded IATA, UN/LOCODE, and city names, the API returns the city name and a lat/long representing the location. For embedded CLLI codes, the API returns the CLLI code; please contact iconectiv for a dictionary that maps CLLI codes to locations.&lt;/p&gt;

&lt;p&gt;Try the API out, and let us know if you find it useful!&lt;/p&gt;

&lt;div&gt;[HOIHO] Luckie, M., Huffaker, B., Marder, A., Bischof, Z., Fletcher, M., and claffy, k., 2021. &#34;Learning to Extract Geographic Information from Internet Router Hostnames.&#34; ACM SIGCOMM Conference on emerging Networking EXperiments and Technologies (CoNEXT),
&lt;a href=&#34;https://catalog.caida.org/paper/2021_learning_extract_geographic_information&#34;&gt;https://catalog.caida.org/paper/2021_learning_extract_geographic_information&lt;/a&gt;

&lt;/div&gt;
</content:encoded>
    </item>
    
    <item>
      <title>Studying Conformance of MANRS Members</title>
      <link>https://www.caida.org/blog/studying-conformance-of-manrs-members/</link>
      <pubDate>Sat, 21 Jan 2023 15:47:15 -0800</pubDate>
      <author>Ben Du</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5171</guid>
      <description>In November 2022, 85% MANRS members were conformant to Action #1 and Action #4.   The Mutually Agreed Norms on Routing Security (MANRS) initiative is an industry-led effort to improve Internet routing security. MANRS encourages participating networks to implement a series of routing security practices …</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;In November 2022, 85% MANRS members were conformant to Action #1 and Action #4.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;The Mutually Agreed Norms on Routing Security (MANRS) initiative is an industry-led effort to improve Internet routing security. MANRS encourages participating networks to implement a series of routing security practices.  In our paper, &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_mind_your_manrs/mind_your_manrs.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Mind Your MANRS: Measuring the MANRS Routing Ecosystem&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;, we at CAIDA (UC San Diego), in collaboration with Georgia Tech, and IIJ Research Lab, provided the first independent look into the MANRS ecosystem by using publicly available data to analyze the routing behavior of participant networks. MANRS membership has increased significantly in recent years, but our research goal was to get more clarity on the impact of the MANRS initiative on the state of overall Internet routing security.   In this post, we summarize how we characterized the growth of MANRS members, explain our process of analyzing ISP conformance with the MANRS practices we studied, compare RPKI ROA registration status between MANRS and non-MANRS members, and reflect on implications of our analysis for the future of MANRS. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We first analyzed what types of networks have joined MANRS over time, and whether MANRS members are properly implementing the routing security practices (MANRS &lt;/span&gt;&lt;i&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;conformance&lt;/span&gt;&lt;/i&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;).  The two practices (which MANRS calls &lt;/span&gt;&lt;i&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;actions)&lt;/span&gt;&lt;/i&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; we focused on in our study are: &lt;/span&gt;&lt;/p&gt;

&lt;ol&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Participating ISPs will register their IP prefixes in a trusted routing database (either Resource Public Key Infrastructure (RPKI) or one of the databases of the Internet Routing Registry (IRR).   This practice is “MANRS Action #4”.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Participating ISPs will use such information to prevent propagation of invalid routing information. This practice is “MANRS Action #1”.&lt;/span&gt;

&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Our paper analyzed the MANRS ecosystem in May 2022. Since MANRS is a growing community, for this post we have updated our analysis using data collected in November 2022 to capture a more recent view of the MANRS ecosystem. We have also &lt;/span&gt;&lt;a href=&#34;https://github.com/CAIDA/MANRS_Data_Analysis&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;published our analysis code&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; here for interested readers to reproduce the analysis using the latest available data.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h3&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;MANRS growth&lt;/span&gt;

&lt;/h3&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We first downloaded a list of MANRS members. The Internet Society kindly provided us the dates when each MANRS participant joined the programs. We found that between 2015 and November 2022, 863 ASes joined MANRS. Over this 7-year period, an additional 12.1% of routed IPv4 address space was originated by MANRS ASes. Plotting growth by ASes and by address space (Figure 1) shows that most of these new ASes were based in the LACNIC region, but that those ASes originated little or no address space into BGP.   &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p1.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5173&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p1.png&#34; alt=&#34;&#34; width=&#34;338&#34; height=&#34;229&#34; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;(a)&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p2.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5174&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p2.png&#34; alt=&#34;&#34; width=&#34;331&#34; height=&#34;222&#34; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;(b)&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 1 – MANRS participation grew between 2015 and 2022, but the picture looks quite different if measured by number of ASes vs. % of routed address space. &lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;

&lt;/h3&gt;

&lt;h3&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;MANRS Conformance &lt;/span&gt;

&lt;/h3&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We examined whether MANRS (ISP and CDN) members properly implemented MANRS Action #4 and #1 according to the MANRS requirements:&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;To conform to Action #4, members must register &lt;/span&gt;&lt;b&gt;at least 90%&lt;/b&gt; &lt;b&gt;(100% for CDNs)&lt;/b&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; IP prefixes in IRR or RPKI.&lt;/span&gt;

&lt;/li&gt;

&lt;li style=&#34;font-weight: 400;&#34; aria-level=&#34;1&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;To conform to Action #1, members must filter out customer BGP announcements that do not match IRR or RPKI records.&lt;/span&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We downloaded BGP prefixes and their IRR/RPKI status from the Internet Health Report (IHR) maintained by IIJ Research Labs. We found that in November 2022, 893 (95.9%) of all 931 MANRS ASes conformed to MANRS Action #4 (prefix registration). Figure 2 shows that in November 2022, 3.7% of the address space originated by MANRS ASes was contained in prefixes that either were not registered or were incorrectly registered in IRR or RPKI. We also conducted case studies of non-conformant MANRS CDN members  and found that one large CDN was not conformant because one of their 7000+ prefixes was RPKI-invalid. Please refer to section 8.4 of &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_mind_your_manrs/mind_your_manrs.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;the paper&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; for more details. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p3.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-5175&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p3.png&#34; alt=&#34;&#34; width=&#34;261&#34; height=&#34;225&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(a)&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p4.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-5180&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p4.png&#34; alt=&#34;&#34; width=&#34;333&#34; height=&#34;225&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(b)&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 2 – Most ASes participating in MANRS conformed with Action #4, and correspondingly, most of the address space those ASes originated into BGP was IRR or RPKI valid, i.e., had records that matched observed BGP announcements. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;To evaluate whether MANRS members filtered out customer BGP announcements that do not match IRR or RPKI records (Action #1), we downloaded BGP prefixes, their IRR and RPKI statuses, and their upstream ASes from the &lt;/span&gt;&lt;a href=&#34;https://ihr-archive.iijlab.net/ihr/rov/&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Internet Health Report&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;. We then calculated the prevalence of IRR/RPKI Invalid prefixes propagated through each MANRS network. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 3 shows that in November 2022, 790 (84.9%) of 931 MANRS ASes conformed to the MANRS Action #1 . Figure 3 also shows that 141 (15.1%) MANRS ASes did not conform to Action #1. However, not all of the address space propagated by these ASes was incorrectly registered in RPKI or IRR.  In fact, those 141 ASes propagated 96.7% of the address space propagated by MANRS ASes, but only 1.5% of that total was incorrectly registered. In addition, we found that 25 out of 27 MANRS members that are large transit providers (i.e., had &amp;gt; 180 customer ASes) did not fully conform with MANRS Action #1, suggesting that conformance was hard to achieve for networks with complex routing relationships.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p5.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5179&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p5.png&#34; alt=&#34;&#34; width=&#34;297&#34; height=&#34;256&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(a)&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p6.png&#34;&gt;&lt;img class=&#34;alignnone wp-image-5178&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p6.png&#34; alt=&#34;&#34; width=&#34;352&#34; height=&#34;253&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(b)&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 3 – MANRS ASes that did not conform to MANRS Action #1 only propagated a small fraction of address space announced by MANRS ASes that was not IRR or RPKI Valid. (b) shows 95.2% of MANRS-propagated address space was IRR/RPKI Valid despite being propagated by Action #1 &lt;b&gt;non-conformant&lt;/b&gt; members.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Are MANRS members more likely to register in RPKI? &lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Our study found that, except for a few cases, MANRS organizations tended to conform with the two actions we studied. However, to estimate the impact of the MANRS initiative on the state of routing security, we compared the behavior of MANRS and non-MANRS ASes. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;We first compared these two subsets of ASes in terms of registration of RPKI ROAs of prefixes announced in BGP.  In November 2022, 60.1% of routed IPv4 address space originated by MANRS ASes was covered by RPKI ROAs, compared with only 38.8% of all routed IPv4 addresses covered by ROAs. Figure 5 shows that in November 2022, IPv4 address space originated by MANRS ASes was more likely to be registered in RPKI in all RIR regions except APNIC. In the APNIC region, we found significant RPKI registration by non-MANRS networks from JPNIC and TWNIC, possibly due to local RPKI outreach efforts.  Overall, this difference suggests a positive influence of MANRS members on the adoption of RPKI. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Similarly, changing the view from routed address space to the originating ASes, we found that in November 2022, MANRS members were more likely to originate at least 80% RPKI Valid prefixes in BGP compared to their non-MANRS counterparts in all RIR regions (Figure 6).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p7.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-5177&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p7.png&#34; alt=&#34;&#34; width=&#34;512&#34; height=&#34;256&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 5 – In November 2022, IPv4 address space originated by MANRS ASes was more likely to be registered in RPKI in all RIR regions except APNIC.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.caida.org/blog/media/2023/01/p8.png&#34;&gt;&lt;img class=&#34;alignnone size-full wp-image-5176&#34; src=&#34;https://www.caida.org/blog/media/2023/01/p8.png&#34; alt=&#34;&#34; width=&#34;512&#34; height=&#34;250&#34; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Figure 6 – In November 2022, MANRS ASes were more likely to originate RPKI Valid prefixes than non-MANRS ASes.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;h2&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;Future for MANRS&lt;/span&gt;

&lt;/h2&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;In November 2022, we found 71 MANRS ASes that registered their prefixes only in IRR but not RPKI. Registering only in an IRR database is less optimal than registering in RPKI, since some IRR databases may contain inaccurate records due to looser validation standards (See our paper &lt;/span&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_irr_hygiene_rpki_era/irr_hygiene_rpki_era.pdf&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;IRR Hygiene in the RPKI Era&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;). We recommend that in the future, MANRS  members register in RPKI in addition to IRR databases.  We also recommend that MANRS add a conformance checker to its existing observatory to further motivate its members to maintain good routing security practices. We have &lt;/span&gt;&lt;a href=&#34;https://github.com/CAIDA/MANRS_Data_Analysis&#34;&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt;published our analysis code&lt;/span&gt;&lt;/a&gt;&lt;span style=&#34;font-weight: 400;&#34;&gt; to facilitate such conformance checking. &lt;/span&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>New CAIDA Prefix-to-AS Mapping Data Set</title>
      <link>https://www.caida.org/blog/new-caida-prefix-to-as-mapping-data-set/</link>
      <pubDate>Mon, 14 Nov 2022 08:05:02 -0800</pubDate>
      <author>Bradley Huffaker</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5079</guid>
      <description>Since May 9th, 2005, CAIDA has produced a data set that maps IPv4 prefixes (and later also IPv6 prefixes) to the AS (Autonomous System) originating that prefix into the global BGP routing system, as observed via a single BGP data collector of the Route Views …</description>
      <content:encoded>&lt;p&gt;Since May 9th, 2005, CAIDA has produced a data set that maps IPv4 prefixes (and later also IPv6 prefixes) to the AS (Autonomous System) originating that prefix into the global BGP routing system, as observed via a single BGP data collector of the &lt;a href=&#34;http://www.routeviews.org/&#34;&gt;Route Views&lt;/a&gt; data collection system. We have called this data set &lt;a href=&#34;https://catalog.caida.org/details/dataset/routeviews_ipv4_prefix2as&#34;&gt;&#34;RouteViews Prefix to AS&#34;&lt;/a&gt;. We used CAIDA&#39;s &lt;a href=&#34;straighten_rv&#34;&gt;straighten_rv&lt;/a&gt; script to filter the &lt;a href=&#34;https://en.wikipedia.org/wiki/Routing_table&#34;&gt;RIB&lt;/a&gt; (routing information base file used as input data. We will discontinue this data set on December 31st, 2022 an replace it with a new more complete data set that we call &lt;a href=&#34;https://catalog.caida.org/details/dataset/caida_prefix2as&#34;&gt;CAIDA&#39;s Prefix-to-AS&lt;/a&gt; data set.&lt;/p&gt;

&lt;p&gt;CAIDA will use the &lt;a href=&#34;https://catalog.caida.org/details/software/bgpstream&#34;&gt;BGPStream&lt;/a&gt; software package (and in particular the &lt;a href=&#34;https://github.com/CAIDA/bgpview&#34;&gt;bgpview&lt;/a&gt; library) to include data from all available BGP collectors from both of the primary global publicly available collection systems: &lt;a href=&#34;http://www.routeviews.org/routeviews/index.php/collectors/&#34;&gt;Route Views&lt;/a&gt; and &lt;a href=&#34;https://www.ripe.net/publications/docs/ripe-200&#34;&gt;RIPE NCC Routing Information Service&lt;/a&gt;. We will backfill Prefix-to-AS data to 2000. As part of this transition, CAIDA will no longer use &lt;a href=&#34;https://www.caida.org/catalog/software/straighten_rv/&#34;&gt;&lt;em&gt;straighten_rv&lt;/em&gt;&lt;/a&gt; to preprocess AS paths. We will create two files: an annotated file with all the data observed in BGP, and a simple file that filters out data of no interest to many researchers as described below.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Annotated files.&lt;/b&gt; The annotated file will include information about the stability and visibility of prefixes by different peers and collectors. Individuals who wish to produce a more refined mapping can fairly easily filter this data. The table below compares the older &#34;Routeviews2&#34; (a single Route Views collector) and the new annotated CAIDA Prefix-to-AS dataset (all collectors from both RIPE RIS and Route Views) for 1 June 2022. Most (99.6%) ASes and (87.2%) prefixes appeared in both datasets. Note that multiple ASNs announced the prefix 0.0.0.0/0, we exclude it since it covers the entire IPv4 address space.&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;ASN&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th&gt;filtered&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;Routeviews2 only&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;Routeviews+RIPE&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;both&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;total&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;Multiorigin/set&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;128&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;4.10%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1552&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;49.73%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1441&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;46.17%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;3121&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;public&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;295&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.40%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;73294&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;99.60%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;73589&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;reserved&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;X&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1379&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;88.97%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;171&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;11.03%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1550&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th colspan=&#34;5&#34;&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Prefix&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th&gt;filtered&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;Routeviews2 only&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;Routeviews+RIPE&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;2&#34;&gt;both&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;total&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;larger then /8&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;X&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;100.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;private&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;X&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;504&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;84.85%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;90&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;15.15%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;594&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: right;&#34;&gt;public&lt;/th&gt;
&lt;td style=&#34;text-align: center;&#34;&gt;&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;0&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;0.00%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;138498&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;12.81%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;942469&lt;/td&gt;
&lt;td style=&#34;font-size: 70%%; font-color: grey; text-align: right;&#34;&gt;87.19%&lt;/td&gt;
&lt;td style=&#34;text-align: right;&#34;&gt;1080967&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br /&gt;
&lt;b&gt;Simple files.&lt;/b&gt; The simple file will exclude very large prefixes, e.g., with mask lengths &amp;lt; 8, private addresses (&lt;a href=&#34;https://www.rfc-editor.org/rfc/rfc1918.html&#34;&gt;RFC 1918&lt;/a&gt;), or prefixes announced exclusively by reserved ASNs (&lt;a href=&#34;https://www.iana.org/assignments/iana-as-numbers-special-registry/iana-as-numbers-special-registry.xhtml&#34;&gt;Special-Purpose ASN&lt;/a&gt;). The resulting simple prefix-to-ASN mapping covers 99.7% of the address space captured by the annotated file. In the table below (also reflecting 1 June 2022), 0.94% of prefixes and 0.42% of addresses had an additional origin AS that was not also observed in the Routeviews2-only dataset. This reflects the expanded visibility of more collectors and peer. 4.92% of CAIDA&#39;s prefixes and 1.82% of addresses were not covered by Routeviews2-only prefix2as. Overall the combined data set provides visibility of 5.86% of prefixes and 2.24% of addresses not covered by routeviews2-only.&lt;/p&gt;

&lt;p&gt;&lt;b&gt; CAIDA&#39;s Prefix to AS &#34;simple&#34; (99.7% of addresses observed in annotated files) &lt;/b&gt;&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th colspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;border: 1px; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;1&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;3&#34;&gt;ASN type&lt;/th&gt;
&lt;th style=&#34;border: 1px; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;1&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;5&#34;&gt;prefixes&lt;/th&gt;
&lt;th style=&#34;border: 1px; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;1&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34; colspan=&#34;5&#34;&gt;addressses&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;source&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th&gt;agreement&lt;/th&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34;&gt;Routeviews2
only&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th style=&#34;text-align: center;&#34;&gt;Routeviews
+ RIPE&lt;/th&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;4&#34;&gt;&lt;/th&gt;
&lt;th&gt;number&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;20&#34;&gt;&lt;/th&gt;
&lt;th&gt;group %&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;20&#34;&gt;&lt;/th&gt;
&lt;th&gt;all %&lt;/th&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;20&#34;&gt;&lt;/th&gt;
&lt;th&gt;number&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;20&#34;&gt;&lt;/th&gt;
&lt;th&gt;group %&lt;/th&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;20&#34;&gt;&lt;/th&gt;
&lt;th&gt;all %&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;both&lt;/td&gt;
&lt;td&gt;different&lt;/td&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;td&gt;626&lt;/td&gt;
&lt;td&gt;11.43%&lt;/td&gt;
&lt;td&gt;0.11%&lt;/td&gt;
&lt;td&gt;1241088&lt;/td&gt;
&lt;td&gt;9.65%&lt;/td&gt;
&lt;td&gt;0.04%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;td&gt;4816&lt;/td&gt;
&lt;td&gt;87.95%&lt;/td&gt;
&lt;td&gt;0.82%&lt;/td&gt;
&lt;td&gt;11442617&lt;/td&gt;
&lt;td&gt;88.93%&lt;/td&gt;
&lt;td&gt;0.37%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;set&lt;/td&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;0.62%&lt;/td&gt;
&lt;td&gt;0.01%&lt;/td&gt;
&lt;td&gt;183039&lt;/td&gt;
&lt;td&gt;1.42%&lt;/td&gt;
&lt;td&gt;0.01%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: left;&#34; colspan=&#34;8&#34;&gt;&lt;/th&gt;
&lt;td&gt;&lt;b&gt;5476&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;0.94%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;12866744&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;0.42%&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;both&lt;/td&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;same&lt;/td&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;9869&lt;/td&gt;
&lt;td&gt;1.79%&lt;/td&gt;
&lt;td&gt;1.69%&lt;/td&gt;
&lt;td&gt;12609229&lt;/td&gt;
&lt;td&gt;0.42%&lt;/td&gt;
&lt;td&gt;0.41%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;540032&lt;/td&gt;
&lt;td&gt;98.20%&lt;/td&gt;
&lt;td&gt;92.45%&lt;/td&gt;
&lt;td&gt;2988739528&lt;/td&gt;
&lt;td&gt;99.58%&lt;/td&gt;
&lt;td&gt;97.35%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;set&lt;/td&gt;
&lt;td&gt;set&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;9216&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: left;&#34; colspan=&#34;8&#34;&gt;&lt;/th&gt;
&lt;td&gt;&lt;b&gt;549909&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;94.14%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;3001357973&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;97.76%&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Routeviews+RIPE&lt;/td&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;&lt;/td&gt;
&lt;th style=&#34;border: 1px solid darkgrey; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;multiorigin&lt;/td&gt;
&lt;th style=&#34;border: 1px solid black; border-collapse: collapse; padding: 0; margin: 0;&#34; rowspan=&#34;3&#34;&gt;&lt;/th&gt;
&lt;td&gt;1884&lt;/td&gt;
&lt;td&gt;6.55%&lt;/td&gt;
&lt;td&gt;0.32%&lt;/td&gt;
&lt;td&gt;908601&lt;/td&gt;
&lt;td&gt;1.63%&lt;/td&gt;
&lt;td&gt;0.03%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;public&lt;/td&gt;
&lt;td&gt;26856&lt;/td&gt;
&lt;td&gt;93.44%&lt;/td&gt;
&lt;td&gt;4.60%&lt;/td&gt;
&lt;td&gt;54919321&lt;/td&gt;
&lt;td&gt;98.37%&lt;/td&gt;
&lt;td&gt;1.79%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;set&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;0.01%&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;td&gt;2816&lt;/td&gt;
&lt;td&gt;0.01%&lt;/td&gt;
&lt;td&gt;0.00%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align: left;&#34; colspan=&#34;8&#34;&gt;&lt;/th&gt;
&lt;td&gt;&lt;b&gt;28742&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;4.92%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;55830738&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;100.00%&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;1.82%&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;br /&gt;
You can find the new &lt;a href=&#34;https://catalog.caida.org/dataset/caida_prefix2as&#34;&gt;CAIDA Prefix-to-AS Mapping Data Set here&lt;/a&gt;.&lt;/p&gt;
</content:encoded>
    </item>
    
    <item>
      <title>CAIDA contributions to ACM&#39;s Internet Measurement Conference (IMC) 2022</title>
      <link>https://www.caida.org/blog/caida-contributions-to-acms-internet-measurement-conference-imc-2022/</link>
      <pubDate>Tue, 18 Oct 2022 11:04:59 -0700</pubDate>
      <author>Elena Yulaeva</author>
      <guid isPermaLink="false">https://blog.caida.org/best_available_data/?p=5146</guid>
      <description>ACM&amp;rsquo;s Internet Measurement Conference (IMC) is an annual highly selective venue for the presentation of Internet measurement and analysis research. The average acceptance rate for papers is around 25%. CAIDA researchers co-authored five papers and 3 posters that will be presented at this conference in …</description>
      <content:encoded>&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;ACM&#39;s &lt;a href=&#34;https://conferences.sigcomm.org/imc/2022/&#34;&gt;Internet Measurement Conference&lt;/a&gt; (IMC) is an annual highly selective venue for &lt;/span&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;the presentation of Internet measurement and analysis research. The average acceptance rate for papers is around 25%. CAIDA researchers co-authored five papers and 3 posters that will be presented at this conference in Nice, France on October 25 - 27, 2022. We link to these publications below.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_investigating_impact_ddos_attacks/investigating_impact_ddos_attacks.pdf&#34;&gt;Investigating the impact of DDoS attacks on DNS infrastructure&lt;/a&gt;. &lt;span style=&#34;font-weight: 400&#34;&gt;Rafaele Sommese, KC Claffy, Roland van Rijswijk-Deij, Arnab Chattopadhyay, Alberto Dainotti, Anna Sperotto, and Mattijs Jonker. 2022. &lt;/span&gt; &lt;/b&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;This paper describes a newly developed scalable method to map DDoS attacks targeting or affecting DNS infrastructure. The measurements reveal evidence that millions of domains experienced  DDoS attacks during the recent 17-month observation window. Most attacks did not observably harm DNS performance, but in some cases, a 100-fold increase in DNS resolution time was observed. This research corroborates the value of known best practices to improve DNS resilience to attacks, including the use of anycast and topological redundancy in nameserver infrastructure.&lt;/span&gt;&lt;/p&gt;

&lt;/p&gt;

&lt;p style=&#34;text-align: left&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_mind_your_manrs/mind_your_manrs.pdf&#34;&gt;Mind Your MANRS: Measuring the MANRS Ecosystem&lt;/a&gt;.&lt;/b&gt; Ben Du, Cecilia Testart, Romain Fontugne, Gautam Akiwate, Alex C. Snoeren, and kc claffy. 2022. &lt;/span&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Mutually Agreed on Norms on Routing Security (MANRS) is an industry-led initiative to improve Internet routing security by encouraging participating networks to implement a set of recommended actions. The goal of the paper is to evaluate the current state of the MANRS initiative in terms of its participants, their routing behavior, and its impact on the broader routing ecosystem, and discuss potential improvements. The findings confirm that MANRS participants are more likely to follow best practices than other similar networks on the Internet. However, within MANRS, not all networks take the MANRS mandate with the same rigor. This study demonstrates the need to continually assess the conformance of members for the prosperity of the MANRS initiative, and the challenges in automating such conformance checks.&lt;/span&gt;

&lt;/p&gt;

&lt;p style=&#34;text-align: left&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_retroactive_identification_targeted_dns/retroactive_identification_targeted_dns.pdf&#34;&gt;Retroactive Identification of Targeted DNS Infrastructure Hijacking&lt;/a&gt;. &lt;/b&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Gautam Akiwate, Rafaele Sommese, Mattijs Jonker, Zakir Durumeric, kc Claffy, Geofrey M. Voelker, and Stefan Savage. 2022. &lt;/span&gt;DNS infrastructure tampering attacks are particularly challenging to detect because they can be very short-lived, bypass the protections of TLS and DNSSEC, and are imperceptible to users. Identifying them retroactively is further complicated by the lack of fine-grained Internet-scale forensic data. This paper is the first attempt to make progress toward this latter goal. Combining a range of longitudinal data from Internet-wide scans, passive DNS records, and Certificate Transparency logs, we have constructed a methodology for identifying potential victims of sophisticated DNS infrastructure hijacking and have used it to identify a range of victims (primarily government agencies). The authors analyze possible best practices in terms of their measurability by third parties, including a review of DNS measurement studies and available data sets.&lt;/span&gt;

&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_stop_drop_roa/stop_drop_roa.pdf&#34;&gt;Stop, DROP, and ROA: Effectiveness of Defenses through the lens of DROP&lt;/a&gt;. &lt;span style=&#34;font-weight: 400&#34;&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;Leo Oliver, Gautam Akiwate, Matthew Luckie, Ben Du, and kc claffy. 2022. &lt;/span&gt;Malicious use of the Internet address space has been a persistent threat for decades. Multiple approaches to prevent and detect address space abuse include the use of blocklists and the validation against databases of address ownership such as the Internet Routing Registry (IRR) databases and the Resource Public Key Infrastructure (RPKI). The authors undertook a study of the effectiveness of these routing defenses through the lens of one of the most respected blocklists on the Internet: Spamhaus’ Don’t Route Or Peer (DROP) list. The authors show that attackers are subverting multiple defenses against malicious use of address space, including creating fraudulent Internet Routing Registry records for prefixes shortly before using them. Other attackers disguised their activities by announcing routes with spoofed origin ASes consistent with historic route announcements. The authors quantify the substantial and actively-exploited attack surface in unrouted address space, which warrants reconsideration of RPKI eligibility restrictions by RIRs, and reconsideration of AS0 policies by both operators and RIRs.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;b&gt;&lt;a href=&#34;https://www.caida.org/catalog/papers/2022_assessing_impact_conflict_russian/assessing_impact_conflict_russian.pdf&#34;&gt;Where .ru? Assessing the Impact of Conflict on Russian Domain Infrastructure&lt;/a&gt;. &lt;/b&gt;&lt;span style=&#34;font-weight: 400&#34;&gt; Mattijs Jonker, Gautam Akiwate, Antonia Afnito, kc claffy, Alessio Botta, Geofrey M. Voelker, Roland van Rijswijk-Deij, and Stefan Savage. 2022. &lt;/span&gt;The hostilities in Ukraine have driven unprecedented forces, both from third-party countries and in Russia, to create economic barriers. In the Internet, these manifest both as internal pressures on Russian sites to (re-)patriate the infrastructure they depend on (e.g., naming and hosting) and external pressures arising from Western providers disassociating from some or all Russian customers. This paper describes longitudinal changes in the makeup of naming, hosting, and certificate issuance for domains in the Russian Federation due to the war in Ukraine.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;CAIDa also contributed to three extended abstracts:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;a href=&#34;https://catalog.caida.org/paper/2022_observable_kindns_poster&#34;&gt;&lt;strong&gt;&#34;Observable KINDNS: Validating DNS Hygiene.&#34;&lt;/strong&gt;&lt;/a&gt; Sommese, Raffaele, Mattijs Jonker, kc claffy. ACM Internet Measurement Conference (IMC) Poster, 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;a href=&#34;https://catalog.caida.org/paper/2022_packetlab_poster&#34;&gt;&lt;strong&gt;&#34;PacketLab - Tools Alpha Release and Demo&lt;/strong&gt;.&lt;strong&gt;&#34;&lt;/strong&gt;&lt;/a&gt; Yan, Tzu-Bin, Yuxuan Chen, Anthea Chen, Zesen Zhang, Bradley Huffaker, Ricky K. P. Mok, Kirill Levchenko, kc claffy. ACM Internet Measurement Conference (IMC) Poster, 2022.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&#34;font-weight: 400&#34;&gt;&lt;a href=&#34;https://catalog.caida.org/paper/2022_scalable_network_event_detection_poster&#34;&gt;&lt;strong&gt;&#34;A Scalable Network Event Detection Framework for Darknet Traffic.&#34;&lt;/strong&gt;&lt;/a&gt;Gao, Max, Ricky K. P. Mok, kc claffy.  ACM Internet Measurement Conference (IMC) Poster, 2022.&lt;/span&gt;&lt;/p&gt;
</content:encoded>
    </item>
    
  </channel>
</rss>
