KNOWLEDGE

AS / ASN / مسیریابی BGP — شناخت ستون فقرات اینترنت

اینترنت یک شبکه واحد نیست — بلکه از بیش از 87,000 سیستم خودمختار (AS) تشکیل شده که از طریق پروتکل BGP به هم متصل‌اند. شماره AS چیست؟ BGP چگونه کار می‌کند؟ نشت و ربایش مسیر چگونه رخ می‌دهد؟

خلاصه

«اینترنت» در واقع از بیش از 87,000 شبکه مستقل (AS، Autonomous System) تشکیل شده که به یکدیگر متصل‌اند و هر کدام شماره‌ای یکتا دارند (ASN، مثلاً AS13335 = Cloudflare). این ASها از طریق BGP مسیرها را با هم مبادله می‌کنند و اعلام می‌کنند «این بلوک‌های IP از طریق من در دسترس‌اند»؛ به این ترتیب جدول مسیریابی جهانی شکل می‌گیرد (حدود 1 میلیون پیشوند IPv4 و 200,000 پیشوند IPv6). یک بسته از خانه شما تا Google معمولاً از 4-15 AS عبور می‌کند. بیایید گام‌به‌گام آن را بررسی کنیم.

I. AS چیست — سیستم خودمختار (Autonomous System)

AS (سیستم خودمختار) شبکه یا گروهی از شبکه‌هاست که تحت یک سیاست مسیریابی اداری واحد قرار دارند. اینکه یک AS در داخل از چه پروتکل مسیریابی‌ای (OSPF / IS-IS) استفاده کند به خودش مربوط است، اما میان ASها از BGP برای اعلام عمومی پیشوندهای IP استفاده می‌شود.

  • هر ارائه‌دهنده اینترنت بزرگ خود یک AS است (China Telecom AS4134، China Unicom AS4837، China Mobile AS9808)
  • هر ارائه‌دهنده ابری بزرگ یک AS است (Google AS15169، Cloudflare AS13335، AWS AS16509)
  • دانشگاه‌ها، نهادهای دولتی و شرکت‌های بزرگ سازمانی می‌توانند AS خود را داشته باشند
  • IP یک کاربر عادی اینترنت خانگی از AS ارائه‌دهنده اینترنت او جدا می‌شود — کاربران نهایی به AS اختصاصی نیاز ندارند

1.1 چه کسی ASN تخصیص می‌دهد

ASNها (شماره‌های AS) توسط 5 مرجع ثبت منطقه‌ای اینترنت (RIR) مدیریت می‌شوند:

RIRمنطقهمحدوده رایج ASN
ARINآمریکای شمالیAS1-AS6655 + بخشی
RIPE NCCاروپا / خاورمیانهAS6656-AS9215 + بخشی
APNICآسیا-اقیانوسیهAS17676-AS18431 + بخشی
LACNICآمریکای لاتینAS27648-AS28671 + بخشی
AFRINICآفریقاAS36864-AS37887 + بخشی

ASNها در ابتدا 16 بیتی بودند (0-65535، که پس از 1996 رو به کمبود گذاشت)؛ امروزه 32 بیتی هستند (0-4294967295، RFC 6793). در حال حاضر حدود 120,000 ASN در سراسر جهان عملاً استفاده می‌شود.

1.2 نحوه خواندن ASN — قالب‌ها

AS13335 // قالب قدیمی (16 بیتی)
AS393227 // قالب جدید تمام‌عددی (32 بیتی)
AS6.10 // قالب نقطه‌ای قدیمی (= 6×65536+10 = 393226؛ RFC 5396 نگارش asplain را قالب ترجیحی تعیین کرده است)

امروزه همان قالب عددی ساده کافی است. پیشوند «AS» را می‌توان حذف کرد، اما نوشتن کامل آن روشن‌تر است.

II. BGP — «سیستم کد پستی» اینترنت

BGP (Border Gateway Protocol)، پروتکل دروازه مرزی (RFC 4271)، تنها پروتکل مسیریابی میان ASهاست. هر AS از طریق BGP به ASهای همسایه خود اعلام می‌کند: «من به این پیشوندهای IP دسترسی دارم و از طریق من می‌توانید به این ASهای بعدی برسید.»

2.1 هسته اعلام BGP: پیشوند + AS-PATH

جدول مسیریابی BGP (بخشی از RIPE RIS)
Prefix                Next Hop          AS-PATH
104.16.0.0/13    203.0.113.1   AS3356 AS13335   ← از طریق Lumen به Cloudflare
104.16.0.0/13    198.51.100.5   AS6939 AS13335   ← از طریق HE.net به Cloudflare
8.8.8.0/24      203.0.113.1   AS3356 AS15169   ← به Google DNS
202.106.0.0/16  198.51.100.5   AS6939 AS4847 AS4134 ← به China Telecom پکن

AS-PATH همه ASهایی را فهرست می‌کند که مسیر از AS مبدأ (مالک پیشوند) تا روتر فعلی از آنها عبور می‌کند. آن را از راست به چپ بخوانید — راست‌ترین AS مبدأ است و چپ‌ترین، همسایه.

2.2 BGP چگونه بهترین مسیر را انتخاب می‌کند

وقتی برای یک پیشوند چند مسیر وجود دارد، BGP بر اساس این ترتیب اولویت یکی را انتخاب می‌کند (خلاصه):

  1. LOCAL_PREF: هرچه بالاتر، بهتر — ترجیح داخلی درون AS (کدام مسیر اول استفاده شود)
  2. AS-PATH کوتاه‌تر بهتر است — مسیری که از ASهای کمتری عبور کند برنده است
  3. Origin: IGP (داخلی) >؛ EGP >؛ Incomplete
  4. MED (Multi-Exit Discriminator): هرچه پایین‌تر، بهتر — راهنمایی که میان ASها منتقل می‌شود
  5. eBGP > iBGP
  6. هزینه IGP: هرچه پایین‌تر، بهتر
  7. Router ID: هرچه پایین‌تر، بهتر (معیار نهایی در حالت تساوی)

توجه: BGP لزوماً سریع‌ترین مسیر را انتخاب نمی‌کند. AS-PATH کوتاه‌تر به معنای تأخیر فیزیکی کمتر نیست. یک مسیر بین‌قاره‌ای که از 1 AS می‌گذرد می‌تواند از یک مسیر درون‌شهری که از 3 AS می‌گذرد کندتر باشد.

3. Tier 1 / Tier 2 / Tier 3 — سلسله‌مراتب ارائه‌دهندگان اینترنت

همه ASها بر اساس اینکه آیا باید برای ترانزیت بالادستی هزینه بپردازند یا نه، در سه لایه قرار می‌گیرند:

لایهتعریفنمونه‌های شاخص
Tier 1به هیچ‌کس هزینه نمی‌پردازد — تنها از طریق همتاسازی به کل جهان دسترسی داردAT&T AS7018، Verizon AS701، Lumen/Level3 AS3356، NTT AS2914، Telia AS1299، Tata AS6453، GTT AS3257، China Telecom AS4134 (طبق برخی تعریف‌ها)، China Unicom AS4837
Tier 2با چند Tier 1 همتاسازی دارد، اما برای بخشی از دسترسی هزینه می‌پردازدبیشتر ارائه‌دهندگان اینترنت ملی / ارائه‌دهندگان ابری بزرگ (Google AS15169، Microsoft AS8075، Cloudflare AS13335)
Tier 3برای دسترسی به شبکه‌های دیگر باید به ارائه‌دهنده بالادستی هزینه بپردازدارائه‌دهندگان اینترنت محلی کوچک / اپراتورهای دسترسی

مسیر معمول بسته در اینترنت خانگی: خانه شما ← ارائه‌دهنده اینترنت کوچک محلی (Tier 3) ← شبکه استانی / شهری (Tier 2) ← ستون فقرات China Telecom (Tier 1) ← Tier 1 خارجی ← شبکه مقصد.

4. خودتان آزمایش کنید — بین خانه و Google از کدام ASها عبور می‌شود

با mtr -bz (در BSD: traceroute -A) می‌توانید شماره AS هر هاپ را ببینید:

mtr -bz www.google.com (Linux)
HOST: xxx                Loss%   Snt   Last  Avg   ASN
1.  192.168.1.1                0.0%   10   0.5  0.6   (شبکه خصوصی، بدون ASN)
2.  61.183.x.x                 0.0%   10   3.2  3.5   AS4134  China Telecom
3.  202.97.x.x                 0.0%   10   5.1  5.4   AS4134  ستون فقرات China Telecom
4.  202.97.x.x                 0.0%   10  15.2  16.1  AS4134
5.  202.97.x.x                 0.0%   10  45.3  46.0  AS4134  گره پیش از خروجی بین‌المللی
6.  211.95.x.x                 0.0%   10 156.4 158.2  AS4134  دروازه بین‌المللی
7.  72.14.215.x                0.0%   10 158.1 159.8  AS15169 شبکه Google
8.  142.250.x.x                0.0%   10 159.8 161.2  AS15169 Google
9.  142.250.x.x (www.google.com)  0.0%   10 160.2 162.0  AS15169

از این ردیابی mtr می‌توان دید:

  • خانه ← شبکه محلی China Telecom (AS4134، هاپ‌های 2-3): &lt؛ 10ms
  • ستون فقرات China Telecom (AS4134، هاپ‌های 4-6): 5-150ms
  • هاپ دروازه بین‌المللی به Google (AS15169، هاپ 7): جهش ناگهانی به 150+ms → تأخیر خروجی بین‌المللی
  • درون شبکه Google (AS15169، هاپ‌های 8-9): &lt؛ 5ms

مسیر از اینترنت خانگی در چین تا Google فقط از 2 AS عبور می‌کند — AS-PATH بسیار کوتاه — اما تأخیر فیزیکی بالاست. منظور ما از «طول مسیر BGP برابر با تأخیر فیزیکی نیست» دقیقاً همین است.

5. دو کابوس امنیتی BGP — نشت مسیر و ربایش مسیر

5.1 نشت مسیر (Route Leak)

یک AS به‌اشتباه مسیرهایی را که نباید به بالادستی برسند به بالادستی یا همسایه منتقل می‌کند و ترافیک جهانی به مسیر اشتباه هدایت می‌شود. نمونه کلاسیک: یک ارائه‌دهنده اینترنت مسیرهای مشتری را با مسیرهای خودش اشتباه می‌گیرد و آنها را به همه اعلام می‌کند.

رویداد شناخته‌شده: در نوامبر 2017، نشت مسیر Level3 (AS3356) شمار زیادی از مشتریان پایین‌دستی Comcast و Verizon را مختل کرد.

5.2 ربایش BGP (BGP Hijack)

یک AS مخرب پیشوندهای IP را که مالکشان نیست اعلام می‌کند. وقتی ASهای دیگر این اعلام را بپذیرند، ترافیک به سمت رباینده هدایت می‌شود و امکان حمله MITM، حمله منع سرویس یا مسموم‌سازی DNS فراهم می‌شود.

رویدادهای شناخته‌شده:

  • 2008: PTCL پاکستان پیشوند YouTube را اعلام کرد و ترافیک جهانی YouTube به مدت 2 ساعت به پاکستان هدایت شد
  • 2018: eNet (AS10297) پیشوندهای DNS سرویس Amazon Route 53 را اعلام کرد و ترافیک کاربران MyEtherWallet را حدود 2 ساعت ربود
  • 2022: RTCOMM روسیه برای مدت کوتاهی یک پیشوند Twitter را ربود

5.3 دفاع — RPKI مسیرها را امضا می‌کند

RPKI (Resource Public Key Infrastructure)، از مجموعه RFC 6480، به دارنده قانونی یک پیشوند IP اجازه می‌دهد به‌صورت رمزنگاری‌شده امضا کند که «این پیشوند فقط می‌تواند از این AS آغاز شود». روترهای BGP که از RPKI پشتیبانی می‌کنند، مسیرهای بدون امضا یا با امضای نادرست را کنار می‌گذارند.

اکنون تقریباً نیمی از همه پیشوندهای IPv4 جهان با RPKI امضا شده‌اند و این سهم همچنان در حال افزایش است. وقتی یک IP را در cleanip.io استعلام می‌کنید، کارت «اطلاعات AS» وضعیت RPKI آن را نشان می‌دهد: valid / invalid / not-found.

6. چگونه بفهمیم یک IP یا دامنه به کدام ASN تعلق دارد

6.1 استعلام مستقیم در cleanip.io

کافی است به https://cleanip.io/8.8.8.8 یا https://cleanip.io/AS15169 بروید — اطلاعات کامل ASN، تاریخ ثبت، محدوده‌های IP، بالادستی/پایین‌دستی و توزیع جغرافیایی را نشان می‌دهیم.

6.2 مصورسازی BGP در cleanip.io

/asn-graph توپولوژی BGP هر ASN را رسم می‌کند — از Origin تا Tier 2 و سپس Tier 1 — تا با یک نگاه ببینید چه کسی با چه کسی همتاسازی دارد.

/asn-history سابقه مالکیت یک IP / CIDR را نشان می‌دهد — اینکه یک CIDR در طول زمان به کدام ASها تعلق داشته و چه زمانی تغییر کرده است.

6.3 ابزارهای خط فرمان

terminal — ASN lookup
$ whois -h whois.cymru.com " -v 8.8.8.8"
AS      | IP        | BGP Prefix    | CC | Registry | Allocated  | AS Name
15169   | 8.8.8.8   | 8.8.8.0/24    | US | arin     | 1992-12-01 | GOOGLE, US

$ curl https://api.bgpview.io/ip/8.8.8.8 | jq
{
  "data": {
    "ip": "8.8.8.8",
    "prefixes": [{
      "asn": { "asn": 15169, "name": "Google LLC" },
      "prefix": "8.8.8.0/24"
    }]
  }
}

7. مرجع سریع ASNهای رایج

ASNنامنوع
AS13335CloudflareCDN / DNS
AS15169Googleابری / جست‌وجو
AS16509Amazon AWSابری
AS8075Microsoft / Azureابری
AS32934Facebook (Meta)شبکه اجتماعی
AS13414Twitter / Xشبکه اجتماعی
AS2906Netflixویدیو
AS4134China TelecomISP (تا حدی Tier 1)
AS4837China UnicomISP
AS9808China MobileISP
AS37963Alibaba / Alibaba Cloudابری
AS45102Alibaba Cloud بین‌المللیابری
AS132203Tencent Cloudابری
AS9009M247 (ستون فقرات اصلی ارائه‌دهندگان VPN)IDC
AS62371Proton AG (ProtonVPN)VPN
AS24940HetznerVPS آلمان
AS16276OVHVPS فرانسه
AS20473Choopa (Vultr)VPS
AS14061DigitalOceanVPS

8. چرا این دانسته‌ها برای کاربران عادی هم مهم است

  • سیستم‌های کنترل ریسک هنگام سنجش اعتبار IP به ASN نگاه می‌کنند — ASNهای دیتاسنتر (ارائه‌دهندگان ابری / VPN) معمولاً امتیاز پایین‌تری می‌گیرند؛ ASNهای اینترنت مسکونی (China Telecom / Unicom) امتیاز بالاتری دارند
  • هنگام انتخاب CDN برای ترافیک برون‌مرزی، فاصله AS میان ASN کاربران هدف و گره‌های CDN را بررسی کنید — cleanip.io با یک استعلام نشان می‌دهد هر IP به کدام AS تعلق دارد
  • هنگام حمله DDoS، ASN نخستین سرنخ برای ردیابی منبع است — مثلاً «بیشتر ترافیک حمله از دیتاسنتر AS46562 Performive آمده است»
  • هنگام انتخاب VPN، بررسی کنید روی ASN کدام IDC میزبانی می‌شود — جزئیات را در ردیابی VPN ببینید

مطالعه بیشتر

mimetic
mimetic
mimetic