<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Anchors on Wirez</title>
    <link>https://wirez.top/tags/anchors/</link>
    <description>Recent content in Anchors on Wirez</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 02 Jul 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://wirez.top/tags/anchors/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>RPKI trust anchors: securing 375k&#43; routes today</title>
      <link>https://wirez.top/posts/rpki-trust-anchors-securing-375k-routes-today/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://wirez.top/posts/rpki-trust-anchors-securing-375k-routes-today/</guid>
      <description>&lt;!-- wp:html --&gt;&#xA;&lt;meta charset=&#34;utf-8&#34;&gt;&#xA;&lt;style&gt;&#xA;/* Platform CSS v3.0 */&#xA;:root {&#xA;  --primary-color: #4285f4;&#xA;  --primary-dark: #0057cc;&#xA;  --success-color: #34a853;&#xA;  --warning-color: #fbbc05;&#xA;  --error-color: #ea4335;&#xA;  --text-primary: #333333;&#xA;  --text-secondary: #666666;&#xA;  --text-light: #888888;&#xA;  --border-color: #e0e0e0;&#xA;  --background-light: #f8f9fa;&#xA;  --background-card: #ffffff;&#xA;  --background-code: #f5f5f5;&#xA;  --spacing-xs: 0.5rem;&#xA;  --spacing-sm: 1rem;&#xA;  --spacing-md: 1.5rem;&#xA;  --spacing-lg: 2rem;&#xA;  --border-radius: 8px;&#xA;  --border-radius-sm: 4px;&#xA;  --box-shadow: 0 2px 8px rgba(0,0,0,0.08);&#xA;  --box-shadow-hover: 0 4px 16px rgba(0,0,0,0.12);&#xA;}&#xA;.section-title {&#xA;  color: var(--text-primary);&#xA;  margin: var(--spacing-lg) 0 var(--spacing-sm);&#xA;  font-size: clamp(1.2rem, 3vw, 1.4rem);&#xA;  font-weight: 600;&#xA;  line-height: 1.3;&#xA;}&#xA;.subsection-title {&#xA;  color: var(--text-primary);&#xA;  margin: var(--spacing-md) 0 var(--spacing-xs);&#xA;  font-size: clamp(1.1rem, 2.5vw, 1.2rem);&#xA;  font-weight: 600;&#xA;}&#xA;.std-text {&#xA;  font-size: 1rem;&#xA;  line-height: 1.6;&#xA;  margin-bottom: var(--spacing-sm);&#xA;  color: var(--text-primary);&#xA;}&#xA;.card {&#xA;  border: 1px solid var(--border-color);&#xA;  padding: var(--spacing-sm);&#xA;  background: var(--background-card);&#xA;  border-radius: var(--border-radius);&#xA;  margin-bottom: var(--spacing-md);&#xA;  box-shadow: var(--box-shadow);&#xA;  transition: transform 0.2s ease, box-shadow 0.2s ease;&#xA;}&#xA;.card:hover {&#xA;  transform: translateY(-2px);&#xA;  box-shadow: var(--box-shadow-hover);&#xA;}&#xA;.emoji-list {&#xA;  font-size: 1rem;&#xA;  line-height: 1.7;&#xA;  margin-bottom: 0.8rem;&#xA;  padding: 0.8rem 0;&#xA;  border-bottom: 1px solid var(--border-color);&#xA;  color: var(--text-primary);&#xA;}&#xA;.emoji-list:last-child { border-bottom: none; }&#xA;.emoji-list strong { color: var(--primary-color); font-weight: 600; }&#xA;.table-container {&#xA;  width: 100%;&#xA;  overflow-x: auto;&#xA;  margin-bottom: var(--spacing-md);&#xA;  border-radius: var(--border-radius);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;.table-container + .table-container {&#xA;  margin-top: 1.5rem;&#xA;}&#xA;.data-table {&#xA;  width: 100%;&#xA;  min-width: 600px;&#xA;  border-collapse: collapse;&#xA;  background: white;&#xA;}&#xA;.data-table th, .data-table td {&#xA;  padding: var(--spacing-sm);&#xA;  border: 1px solid var(--border-color);&#xA;  font-size: 0.9rem;&#xA;  text-align: left;&#xA;}&#xA;.data-table th {&#xA;  background: var(--primary-color);&#xA;  color: white;&#xA;  font-weight: 700;&#xA;  white-space: nowrap;&#xA;}&#xA;.data-table td:first-child { font-weight: 700; }&#xA;.data-table tbody tr:nth-child(even) { background: #f8f9ff; }&#xA;.data-table tbody tr:nth-child(even) td { background: #f8f9ff !important; }&#xA;.data-table tbody tr:nth-child(odd) td { background: white !important; }&#xA;.data-table tr:hover td { background: #e8f0fe !important; }&#xA;.responsive-img {&#xA;  max-width: 100%;&#xA;  height: auto;&#xA;  border-radius: var(--border-radius);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;figure {&#xA;  margin: var(--spacing-lg) auto;&#xA;  text-align: center;&#xA;  width: 100%;&#xA;  max-width: 100%;&#xA;  display: block;&#xA;}&#xA;figure img { margin: 0 auto; display: block; max-width: 100%; height: auto; }&#xA;.img-caption {&#xA;  font-size: 0.9rem;&#xA;  color: var(--text-secondary);&#xA;  text-align: center;&#xA;  margin-top: var(--spacing-xs);&#xA;  font-style: italic;&#xA;}&#xA;.responsive-list {&#xA;  padding-left: 1.5rem;&#xA;  margin: var(--spacing-sm) 0;&#xA;  line-height: 1.7;&#xA;}&#xA;.responsive-list li { margin-bottom: var(--spacing-xs); padding-left: 0.5rem; }&#xA;.responsive-list a { color: var(--primary-color); text-decoration: none; font-weight: 600; }&#xA;.responsive-list a:hover { color: var(--primary-dark); text-decoration: underline; }&#xA;.callout { display:flex; gap:16px; padding:20px; border-radius:12px; margin:24px 0; border-left:4px solid; }&#xA;.callout-icon { font-size:24px; flex-shrink:0; }&#xA;.callout-content { flex:1; }&#xA;.callout-expert { background:#f0f7ff; border-color:#2563eb; }&#xA;.callout-info { background:#f0fdf4; border-color:#16a34a; }&#xA;.callout-warning { background:#fffbeb; border-color:#d97706; }&#xA;.faq-section {&#xA;  margin: var(--spacing-lg) 0;&#xA;  padding: var(--spacing-lg) 0;&#xA;  border-top: 2px solid var(--border-color);&#xA;}&#xA;.faq-section-title {&#xA;  color: var(--text-primary);&#xA;  font-size: clamp(1.2rem, 3vw, 1.4rem);&#xA;  font-weight: 700;&#xA;  margin-bottom: var(--spacing-lg);&#xA;  text-align: center;&#xA;}&#xA;.faq-item {&#xA;  background: var(--background-card);&#xA;  border: 1px solid var(--border-color);&#xA;  border-radius: var(--border-radius);&#xA;  margin-bottom: var(--spacing-sm);&#xA;  overflow: hidden;&#xA;  transition: all 0.3s ease;&#xA;}&#xA;.faq-item:hover {&#xA;  border-color: var(--primary-color);&#xA;  box-shadow: var(--box-shadow-hover);&#xA;  transform: translateY(-2px);&#xA;}&#xA;.faq-question {&#xA;  background: var(--background-light);&#xA;  padding: var(--spacing-sm) var(--spacing-md);&#xA;  cursor: pointer;&#xA;  position: relative;&#xA;  transition: all 0.3s ease;&#xA;  border: none;&#xA;  width: 100%;&#xA;  text-align: left;&#xA;  font-family: inherit;&#xA;}&#xA;.faq-question:hover { background: #e8f0fe; }&#xA;.faq-question-text {&#xA;  color: var(--text-primary);&#xA;  font-size: 1rem;&#xA;  font-weight: 600;&#xA;  line-height: 1.5;&#xA;  margin: 0;&#xA;  padding-right: 2rem;&#xA;}&#xA;.faq-answer {&#xA;  max-height: 0;&#xA;  overflow: hidden;&#xA;  transition: max-height 0.4s ease, padding 0.4s ease;&#xA;  padding: 0 var(--spacing-md);&#xA;}&#xA;.faq-item.active .faq-answer {&#xA;  max-height: 1000px;&#xA;  padding: 0 var(--spacing-md) var(--spacing-md);&#xA;}&#xA;.faq-answer-text {&#xA;  color: var(--text-secondary);&#xA;  font-size: 1rem;&#xA;  line-height: 1.7;&#xA;  margin: var(--spacing-sm) 0 0;&#xA;}&#xA;.about-section {&#xA;  background: var(--background-light);&#xA;  border-left: 4px solid var(--primary-color);&#xA;  border-radius: var(--border-radius);&#xA;  padding: var(--spacing-md) var(--spacing-lg);&#xA;  margin: var(--spacing-lg) 0;&#xA;}&#xA;.about-section .std-text {&#xA;  color: var(--text-secondary);&#xA;  font-size: 0.95rem;&#xA;  margin-bottom: 0;&#xA;}&#xA;.conclusion-section {&#xA;  border-top: 2px solid var(--border-color);&#xA;  padding-top: var(--spacing-lg);&#xA;  margin-top: var(--spacing-lg);&#xA;}&#xA;.conclusion-section .std-text {&#xA;  font-size: 1.05rem;&#xA;  line-height: 1.7;&#xA;}&#xA;@media (max-width: 768px) {&#xA;  .card { padding: 0.75rem; }&#xA;  .data-table { min-width: 100%; font-size: 0.8rem; }&#xA;  .data-table th, .data-table td { padding: 0.5rem 0.25rem; }&#xA;  .emoji-list { font-size: 0.95rem; }&#xA;}&#xA;@media (max-width: 480px) {&#xA;  .section-title { margin: var(--spacing-sm) 0 0.5rem; }&#xA;  .card { padding: 0.5rem; }&#xA;  .data-table th, .data-table td { padding: 0.4rem 0.2rem; font-size: 0.75rem; }&#xA;}&#xA;@media (prefers-reduced-motion: reduce) {&#xA;  *, *::before, *::after {&#xA;    animation-duration: 0.01ms !important;&#xA;    transition-duration: 0.01ms !important;&#xA;  }&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;!-- wp:html --&gt;&#xA;&lt;style&gt;&#xA;/* CSS переменные для единообразного стиля */&#xA;:root {&#xA;  --primary-color: #4285f4;&#xA;  --primary-dark: #0057cc;&#xA;  --success-color: #34a853;&#xA;  --warning-color: #fbbc05;&#xA;  --error-color: #ea4335;&#xA;  --text-primary: #333333;&#xA;  --text-secondary: #666666;&#xA;  --text-light: #888888;&#xA;  --border-color: #e0e0e0;&#xA;  --background-light: #f8f9fa;&#xA;  --background-card: #ffffff;&#xA;  --background-code: #f5f5f5;&#xA;  --warning-bg: #fff8f8;&#xA;  --spacing-xs: 0.5rem;&#xA;  --spacing-sm: 1rem;&#xA;  --spacing-md: 1.5rem;&#xA;  --spacing-lg: 2rem;&#xA;  --border-radius: 8px;&#xA;  --border-radius-sm: 4px;&#xA;  --box-shadow: 0 2px 8px rgba(0,0,0,0.08);&#xA;  --box-shadow-hover: 0 4px 16px rgba(0,0,0,0.12);&#xA;}&#xA;&#xA;/* Основные стили */&#xA;.article-marker {&#xA;  background: var(--primary-color);&#xA;  color: white;&#xA;  text-align: center;&#xA;  padding: var(--spacing-sm);&#xA;  margin: var(--spacing-lg) 0;&#xA;  font-size: 1rem;&#xA;  font-weight: 700;&#xA;  border-radius: var(--border-radius-sm);&#xA;  border: 2px dashed var(--primary-dark);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;&#xA;.main-title {&#xA;  margin-bottom: var(--spacing-md);&#xA;  font-size: clamp(1.5rem, 4vw, 2rem);&#xA;  font-weight: 700;&#xA;  color: var(--text-primary);&#xA;  line-height: 1.2;&#xA;}&#xA;&#xA;.section-title {&#xA;  color: var(--text-primary);&#xA;  margin: var(--spacing-lg) 0 var(--spacing-sm);&#xA;  font-size: clamp(1.2rem, 3vw, 1.4rem);&#xA;  font-weight: 600;&#xA;  line-height: 1.3;&#xA;}&#xA;&#xA;.subsection-title {&#xA;  color: var(--text-primary);&#xA;  margin: var(--spacing-md) 0 var(--spacing-xs);&#xA;  font-size: clamp(1.1rem, 2.5vw, 1.2rem);&#xA;  font-weight: 600;&#xA;}&#xA;&#xA;.std-text {&#xA;  font-size: 1rem;&#xA;  line-height: 1.6;&#xA;  margin-bottom: var(--spacing-sm);&#xA;  color: var(--text-primary);&#xA;}&#xA;&#xA;/* Улучшенные карточки */&#xA;.card {&#xA;  border: 1px solid var(--border-color);&#xA;  padding: var(--spacing-sm);&#xA;  background: var(--background-card);&#xA;  border-radius: var(--border-radius);&#xA;  margin-bottom: var(--spacing-md);&#xA;  box-shadow: var(--box-shadow);&#xA;  transition: transform 0.2s ease, box-shadow 0.2s ease;&#xA;}&#xA;&#xA;.card:hover {&#xA;  transform: translateY(-2px);&#xA;  box-shadow: var(--box-shadow-hover);&#xA;}&#xA;&#xA;.warning-box {&#xA;  border: 1px solid var(--error-color);&#xA;  padding: var(--spacing-sm);&#xA;  background: var(--warning-bg);&#xA;  border-radius: var(--border-radius);&#xA;  margin-bottom: var(--spacing-lg);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;&#xA;.warning-title {&#xA;  color: var(--error-color);&#xA;  margin-bottom: var(--spacing-xs);&#xA;  font-weight: 700;&#xA;  font-size: 1.1rem;&#xA;}&#xA;&#xA;/* Emoji списки с лучшими отступами */&#xA;.emoji-list {&#xA;  font-size: 1rem;&#xA;  line-height: 1.7;&#xA;  margin-bottom: 0.8rem;&#xA;  padding: 0.8rem 0;&#xA;  border-bottom: 1px solid var(--border-color);&#xA;  color: var(--text-primary);&#xA;  background: transparent;&#xA;}&#xA;&#xA;.emoji-list:last-child {&#xA;  border-bottom: none;&#xA;  margin-bottom: 0;&#xA;}&#xA;&#xA;.emoji-list strong {&#xA;  color: var(--primary-color);&#xA;  font-weight: 600;&#xA;}&#xA;&#xA;/* Адаптивные таблицы */&#xA;.table-container {&#xA;  width: 100%;&#xA;  overflow-x: auto;&#xA;  margin-bottom: var(--spacing-md);&#xA;  border-radius: var(--border-radius);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;&#xA;.data-table {&#xA;  width: 100%;&#xA;  min-width: 600px;&#xA;  border-collapse: collapse;&#xA;  background: white;&#xA;}&#xA;&#xA;.data-table th,&#xA;.data-table td {&#xA;  padding: var(--spacing-sm);&#xA;  border: 1px solid var(--border-color);&#xA;  font-size: 0.9rem;&#xA;  text-align: left;&#xA;}&#xA;&#xA;.data-table th {&#xA;  background: var(--primary-color);&#xA;  color: white;&#xA;  font-weight: 700;&#xA;  white-space: nowrap;&#xA;}&#xA;&#xA;.data-table td:first-child {&#xA;  font-weight: 700;&#xA;  font-size: 0.9rem;&#xA;}&#xA;&#xA;.data-table tbody tr:nth-child(even) {&#xA;  background: #f8f9ff;&#xA;}&#xA;&#xA;/* Убираем синий фон с первой строки tbody */&#xA;.data-table tbody tr:first-child {&#xA;  background: transparent !important;&#xA;  color: inherit !important;&#xA;}&#xA;&#xA;.data-table tbody tr:first-child td {&#xA;  background: transparent !important;&#xA;  color: inherit !important;&#xA;}&#xA;&#xA;/* Правильное чередование строк */&#xA;.data-table tbody tr:nth-child(even) td {&#xA;  background: #f8f9ff !important;&#xA;}&#xA;&#xA;.data-table tbody tr:nth-child(odd) td {&#xA;  background: white !important;&#xA;}&#xA;&#xA;.data-table tr:hover td {&#xA;  background: #e8f0fe;&#xA;}&#xA;&#xA;.data-table-caption {&#xA;  font-size: 0.9rem;&#xA;  color: var(--text-secondary);&#xA;  text-align: center;&#xA;  margin-top: var(--spacing-xs);&#xA;  font-style: italic;&#xA;}&#xA;&#xA;/* Улучшенные статус-теги */&#xA;.status-tag {&#xA;  display: inline-block;&#xA;  padding: 4px 8px;&#xA;  color: white;&#xA;  border-radius: 16px;&#xA;  font-size: 0.75rem;&#xA;  font-weight: 600;&#xA;  text-transform: uppercase;&#xA;  letter-spacing: 0.5px;&#xA;  box-shadow: 0 2px 4px rgba(0,0,0,0.2);&#xA;}&#xA;&#xA;.status-green { background: linear-gradient(135deg, var(--success-color), #2d8f47); }&#xA;.status-blue { background: linear-gradient(135deg, var(--primary-color), #3367d6); }&#xA;.status-yellow { background: linear-gradient(135deg, var(--warning-color), #f9ab00); color: #333; }&#xA;.status-red { background: linear-gradient(135deg, var(--error-color), #d33b2c); }&#xA;&#xA;/* Адаптивные блоки кода */&#xA;.code-block {&#xA;  font-family: &#39;Courier New&#39;, Consolas, Monaco, monospace;&#xA;  font-size: 0.85rem;&#xA;  background: var(--background-code);&#xA;  color: var(--text-primary);&#xA;  padding: var(--spacing-sm);&#xA;  border: 1px solid var(--border-color);&#xA;  border-radius: var(--border-radius);&#xA;  margin-bottom: var(--spacing-md);&#xA;  overflow-x: auto;&#xA;  line-height: 1.5;&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;&#xA;/* Адаптивные изображения */&#xA;.responsive-img {&#xA;  max-width: 100%;&#xA;  height: auto;&#xA;  border-radius: var(--border-radius);&#xA;  box-shadow: var(--box-shadow);&#xA;}&#xA;&#xA;.img-caption {&#xA;  font-size: 0.9rem;&#xA;  color: var(--text-secondary);&#xA;  text-align: center;&#xA;  margin-top: var(--spacing-xs);&#xA;  font-style: italic;&#xA;}&#xA;&#xA;/* Адаптивные списки */&#xA;.responsive-list {&#xA;  padding-left: 1.5rem;&#xA;  margin: var(--spacing-sm) 0;&#xA;  line-height: 1.7;&#xA;}&#xA;&#xA;.responsive-list li {&#xA;  margin-bottom: var(--spacing-xs);&#xA;  padding-left: 0.5rem;&#xA;}&#xA;&#xA;.responsive-list a {&#xA;  color: var(--primary-color);&#xA;  text-decoration: none;&#xA;  font-weight: 600;&#xA;  transition: color 0.2s ease;&#xA;}&#xA;&#xA;.responsive-list a:hover {&#xA;  color: var(--primary-dark);&#xA;  text-decoration: underline;&#xA;}&#xA;&#xA;/* Медиа-запросы для мобильных устройств */&#xA;@media (max-width: 768px) {&#xA;  .article-marker {&#xA;    font-size: 0.9rem;&#xA;    padding: 0.75rem;&#xA;    margin: var(--spacing-sm) 0;&#xA;  }&#xA;&#xA;  .card, .warning-box {&#xA;    padding: 0.75rem;&#xA;    margin-bottom: var(--spacing-sm);&#xA;  }&#xA;&#xA;  .data-table {&#xA;    min-width: 100%;&#xA;    font-size: 0.8rem;&#xA;  }&#xA;&#xA;  .data-table th,&#xA;  .data-table td {&#xA;    padding: 0.5rem 0.25rem;&#xA;  }&#xA;&#xA;  .status-tag {&#xA;    font-size: 0.7rem;&#xA;    padding: 3px 6px;&#xA;  }&#xA;&#xA;  .code-block {&#xA;    font-size: 0.8rem;&#xA;    padding: 0.75rem;&#xA;  }&#xA;&#xA;  .emoji-list {&#xA;    font-size: 0.95rem;&#xA;    line-height: 1.6;&#xA;  }&#xA;&#xA;  .responsive-list {&#xA;    padding-left: 1rem;&#xA;  }&#xA;}&#xA;&#xA;@media (max-width: 480px) {&#xA;  .section-title {&#xA;    margin: var(--spacing-sm) 0 0.5rem;&#xA;  }&#xA;&#xA;  .subsection-title {&#xA;    margin: var(--spacing-sm) 0 0.5rem;&#xA;  }&#xA;&#xA;  .card, .warning-box {&#xA;    padding: 0.5rem;&#xA;  }&#xA;&#xA;  .data-table th,&#xA;  .data-table td {&#xA;    padding: 0.4rem 0.2rem;&#xA;    font-size: 0.75rem;&#xA;  }&#xA;&#xA;  .code-block {&#xA;    font-size: 0.75rem;&#xA;    padding: 0.5rem;&#xA;  }&#xA;}&#xA;&#xA;/* Улучшение доступности */&#xA;@media (prefers-reduced-motion: reduce) {&#xA;  .card, .status-tag, .responsive-list a {&#xA;    transition: none;&#xA;  }&#xA;}&#xA;&lt;/style&gt;&#xA;&lt;!-- /wp:html --&gt;&#xA;&lt;style&gt;:root{--text-primary:var(--text,#333333);--background-card:var(--bg-card,#ffffff);--background-light:var(--bg-subtle,#f8f9fa);--background-code:var(--bg-subtle,#f5f5f5);--border-color:var(--border,#e0e0e0)}&lt;/style&gt;&#xA;&lt;!-- /wp:html --&gt;&#xA;&lt;!-- wp:html --&gt;&#xA;&lt;script type=&#34;application/ld+json&#34;&gt;&#xA;{&#xA;  &#34;@context&#34;: &#34;https://schema.org&#34;,&#xA;  &#34;@type&#34;: &#34;FAQPage&#34;,&#xA;  &#34;mainEntity&#34;: [&#xA;    {&#xA;      &#34;@type&#34;: &#34;Question&#34;,&#xA;      &#34;name&#34;: &#34;How many valid ROA objects secure the global routing table today?&#34;,&#xA;      &#34;acceptedAnswer&#34;: {&#xA;        &#34;@type&#34;: &#34;Answer&#34;,&#xA;        &#34;text&#34;: &#34;Over 375,000 valid ROA objects currently secure the global routing table. This volume proves adoption has moved beyond theory, allowing operators to replace fragile honor systems with cryptographic validation that definitively prevents prefix hijacks.&#34;&#xA;      }&#xA;    },&#xA;    {&#xA;      &#34;@type&#34;: &#34;Question&#34;,&#xA;      &#34;name&#34;: &#34;Why is manual route verification impossible for modern network operators?&#34;,&#xA;      &#34;acceptedAnswer&#34;: {&#xA;        &#34;@type&#34;: &#34;Answer&#34;,&#xA;        &#34;text&#34;: &#34;Manual verification is impossible because the global routing table contains over 800,000 routes. This sheer scale forces operators to automate trust using RPKI rather than hoping text-based registry entries remain accurate against malicious actors.&#34;&#xA;      }&#xA;    },&#xA;    {&#xA;      &#34;@type&#34;: &#34;Question&#34;,&#xA;      &#34;name&#34;: &#34;What happens to BGP announcements marked as Invalid during validation?&#34;,&#xA;      &#34;acceptedAnswer&#34;: {&#xA;        &#34;@type&#34;: &#34;Answer&#34;,&#xA;        &#34;text&#34;: &#34;Routers must drop Invalid announcements immediately to prevent traffic misdirection. This state indicates the prefix or length mismatches the authorized record, signaling a potential hijack or critical misconfiguration within the network path.&#34;&#xA;      }&#xA;    },&#xA;    {&#xA;      &#34;@type&#34;: &#34;Question&#34;,&#xA;      &#34;name&#34;: &#34;How do network operators maintain filtering during Trust Anchor outages?&#34;,&#xA;      &#34;acceptedAnswer&#34;: {&#xA;        &#34;@type&#34;: &#34;Answer&#34;,&#xA;        &#34;text&#34;: &#34;Operators must maintain local caches of Validated ROA Payloads to sustain filtering. These caches allow routers to continue validating announcements against cryptographic proofs even if a regional registry experiences temporary downtime.&#34;&#xA;      }&#xA;    },&#xA;    {&#xA;      &#34;@type&#34;: &#34;Question&#34;,&#xA;      &#34;name&#34;: &#34;What security gap remains after implementing basic route origin validation?&#34;,&#xA;      &#34;acceptedAnswer&#34;: {&#xA;        &#34;@type&#34;: &#34;Answer&#34;,&#xA;        &#34;text&#34;: &#34;Basic validation leaves the AS path unprotected against sophisticated insertion attacks. While Invalid routes get blocked, path manipulation remains possible without further extensions, meaning operators need additional layers for complete path security.&#34;&#xA;      }&#xA;    }&#xA;  ]&#xA;}&#xA;&lt;/script&gt;&#xA;&lt;!-- /wp:html --&gt;&#xA;&lt;!-- wp:html --&gt;&#xA;&lt;style&gt;&#xA;.faq-section { margin: 24px 0; padding: 24px 0; border-top: 2px solid #e5e7eb; }&#xA;.faq-section-title { color: #1a1a1a; font-size: clamp(1.2rem, 3vw, 1.4rem); font-weight: 700; margin-bottom: 24px; text-align: center; }&#xA;.faq-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 12px; overflow: hidden; transition: all 0.3s ease; }&#xA;.faq-item:hover { border-color: #2563eb; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transform: translateY(-2px); }&#xA;.faq-question { background: #f9fafb; padding: 12px 16px; cursor: pointer; position: relative; transition: all 0.3s ease; border: none; width: 100%; text-align: left; font-family: inherit; display: block; }&#xA;.faq-question:hover { background: #e8f0fe; }&#xA;.faq-question-text { color: #1a1a1a; font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0; padding-right: 2rem; display: inline-block; }&#xA;.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding: 0 16px; }&#xA;.faq-item.active .faq-answer { max-height: 1000px; padding: 0 16px 16px; }&#xA;.faq-answer-text { color: #4b5563; font-size: 1rem; line-height: 1.7; margin: 12px 0 0; }&#xA;&lt;/style&gt;&#xA;&lt;script&gt;&#xA;(function() {&#xA;  function initFAQ() {&#xA;    var qs = document.querySelectorAll(&#34;.faq-question&#34;);&#xA;    for (var i = 0; i &lt; qs.length; i++) {&#xA;      qs[i].addEventListener(&#34;click&#34;, function() {&#xA;        var item = this.closest(&#34;.faq-item&#34;);&#xA;        var wasActive = item.classList.contains(&#34;active&#34;);&#xA;        var allItems = document.querySelectorAll(&#34;.faq-item&#34;);&#xA;        for (var j = 0; j &lt; allItems.length; j++) { allItems[j].classList.remove(&#34;active&#34;); }&#xA;        if (!wasActive) item.classList.add(&#34;active&#34;);&#xA;        this.setAttribute(&#34;aria-expanded&#34;, String(!wasActive));&#xA;      });&#xA;    }&#xA;  }&#xA;  if (document.readyState === &#34;loading&#34;) {&#xA;    document.addEventListener(&#34;DOMContentLoaded&#34;, initFAQ);&#xA;  } else {&#xA;    initFAQ();&#xA;  }&#xA;})();&#xA;&lt;/script&gt;&#xA;&lt;!-- /wp:html --&gt;&#xA;&lt;!-- wp:html --&gt;&#xA;&lt;script type=&#34;application/ld+json&#34;&gt;&#xA;{&#xA;  &#34;@context&#34;: &#34;https://schema.org&#34;,&#xA;  &#34;@type&#34;: &#34;TechArticle&#34;,&#xA;  &#34;headline&#34;: &#34;The Role of RPKI and ROA Records in Modern BGP Security&#34;,&#xA;  &#34;description&#34;: &#34;Over 375,000 valid Route Origin Authorization objects now secure the global routing table as of June 2026, proving that RPKI adoption has moved beyond theore...&#34;,&#xA;  &#34;author&#34;: {&#xA;    &#34;@type&#34;: &#34;Person&#34;,&#xA;    &#34;name&#34;: &#34;Vladislava Shadrina&#34;&#xA;  },&#xA;  &#34;datePublished&#34;: &#34;2026-07-02T04:59:23.038Z&#34;,&#xA;  &#34;url&#34;: &#34;https://kb.kentik.com/docs/using-rpki&#34;,&#xA;  &#34;inLanguage&#34;: &#34;en&#34;,&#xA;  &#34;wordCount&#34;: 3353,&#xA;  &#34;publisher&#34;: {&#xA;    &#34;@type&#34;: &#34;Organization&#34;,&#xA;    &#34;name&#34;: &#34;InterLIR&#34;&#xA;  },&#xA;  &#34;speakable&#34;: {&#xA;    &#34;@type&#34;: &#34;SpeakableSpecification&#34;,&#xA;    &#34;cssSelector&#34;: [&#xA;      &#34;.article-intro&#34;,&#xA;      &#34;.faq-answer&#34;&#xA;    ]&#xA;  },&#xA;  &#34;about&#34;: [&#xA;    {&#xA;      &#34;@type&#34;: &#34;Thing&#34;,&#xA;      &#34;name&#34;: &#34;Resource Public Key Infrastructure (RPKI)&#34;&#xA;    }&#xA;  ]&#xA;}&#xA;&lt;/script&gt;&#xA;&lt;!-- /wp:html --&gt;&#xA;&lt;!-- wp:paragraph {&#34;className&#34;:&#34;std-text&#34;} --&gt;&#xA;&lt;!-- /wp:paragraph --&gt;&#xA;&lt;!-- wp:paragraph {&#34;className&#34;:&#34;std-text&#34;} --&gt;&#xA;&lt;p class=&#34;std-text&#34;&gt;Over 375,000 valid Route Origin Authorization objects now secure the global routing table as of June 2026, proving that &lt;strong&gt;&lt;a href=&#34;https://datatracker.ietf.org/doc/html/rfc6480&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RPKI&lt;/a&gt; adoption&lt;/strong&gt; has moved beyond theoretical necessity. The five Regional Internet Registries function as Trust Anchors, certifying route validity using public-key encryption standards set in IETF RFCs. This architecture allows operators to operationalize checks within Kentik, automatically filtering invalid announcements before they disrupt network traffic.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
