بازگشت به وبلاگ

یک IP — هزاران نفر: چگونه CGNAT محدودیت‌های IP را شکسته می‌کند

حفاظت از وب‌سایت‌ها دهه‌ها بر این باور بود که یک IP یک پاسخ‌دهنده است. CGNAT این فرض را شکسته است: پشت آدرس اپراتور موبایل صدها مشترک زنده وجود دارد و مسدود کردن چنین آدرسی به یک عملیات هزینه‌بر تبدیل شده است. Cloudflare اثر را دیجیتالی کرده است و اعداد به طرز غیرمنتظره‌ای ظاهر شدند: محدودیت نرخ سه برابر بیشتر شده است و تشخیص CGNAT از استخرهای پروکسی با یک مدل جداگانه یاد گرفته شده است.

📅۲۵ مرداد ۱۴۰۵
یک IP — هزاران نفر: چگونه CGNAT محدودیت‌های IP را شکسته می‌کند
```html

یک و نیم دهه است که حفاظت از وب‌سایت‌ها بر اساس این فرض بنا شده است: یک آدرس IP — یک موجودیت است که می‌توان آن را مجازات کرد. مهندسان Cloudflare اندازه‌گیری کردند که این فرض تا چه حد شکسته شده است و اعداد را منتشر کردند. عدد اصلی غیرمنتظره است: آدرس‌هایی که پشت آن‌ها صدها نفر واقعی نشسته‌اند، سه برابر بیشتر از آدرس‌های معمولی محدودیت سرعت دریافت می‌کنند. بیایید بررسی کنیم CGNAT چیست، چرا پروکسی‌های موبایل از بقیه مقاوم‌تر هستند — و چرا «اثر جمعیت» دیگر مجوزی برای تخلف نیست.

چرا «فقط مسدود کردن IP» دیگر یک راه‌حل ارزان نیست

هر نوع حفاظتی در برابر اتوماسیون — لیست سیاه، محدودیت نرخ، تشخیص ناهنجاری — از این فرض ناشی می‌شود که پشت آدرس یک پاسخ‌دهنده مشخص وجود دارد. آدرس را مسدود کردید — متخلف را مجازات کردید. هزینه خطا در اینجا صفر در نظر گرفته می‌شود: خوب، یک ربات را راه ندادید.

این حساب فقط تا زمانی درست است که واقعاً یک کاربر پشت آدرس وجود داشته باشد. IP مرکز داده‌ها این‌گونه است: یک آدرس — یک موجودیت اجاره‌ای، و مسدود کردن آن برای وب‌سایت هیچ هزینه‌ای ندارد. برای ارائه‌دهنده خانگی — یک خانوار، که تقریباً صفر است. اما برای اپراتور موبایل، ممکن است یک منطقه کامل شهر پشت یک آدرس عمومی قرار داشته باشد. و در آنجا، مسدود کردن به یک عملیات هزینه‌بر تبدیل می‌شود: به همراه اسکرپر، وب‌سایت صدها مشتری واقعی را که هیچ تخلفی نکرده‌اند، خاموش می‌کند.

این عدم تقارن هزینه — و نه «جادوی IP‌های موبایل» — تعیین می‌کند که چه کسی به شدت مسدود می‌شود و چه کسی مورد لطف قرار می‌گیرد. و این یک نام فنی مشخص دارد.

CGNAT چیست و چرا در اپراتورها فراگیر است

CGNAT (Carrier-Grade NAT، همچنین LSN — Large Scale NAT) — این یک ترجمه آدرس در سطح اپراتور است، نه روتر خانگی. به‌طور رسمی، اساس آن در RFC 6598 (آوریل 2012) مستند شده است: برای نیازهای مترجم‌های اپراتوری، دامنه 100.64.0.0/10 — 4,194,304 آدرس که در شبکه جهانی مسیریابی نمی‌شوند و نباید مرز شبکه ارائه‌دهنده را عبور کنند، رزرو شده است.

انگیزه در متن RFC به‌طور مستقیم بیان شده است: فضای آدرس IPv4 تقریباً تمام شده است، اما ارائه‌دهندگان موظفند رشد مشتریان IPv4 را تا زمانی که IPv6 به‌طور کامل مستقر شود، حفظ کنند. بلوک /10 به‌عنوان حداقل اندازه انتخاب شده است که اجازه می‌دهد CGN به‌طور منطقه‌ای مستقر شود، بدون اینکه مترجم‌های تو در تو ساخته شود.

برای اپراتورهای موبایل، کمبود آدرس‌ها شدیدتر است: مشترکان — میلیون‌ها نفر، IPv4 عمومی — ده‌ها هزار. بنابراین CGNAT برای آن‌ها یک گزینه نیست، بلکه یک قاعده پیش‌فرض است. یک آدرس عمومی صدها و در ساعات اوج حتی هزاران جلسه را پشتیبانی می‌کند و آدرس مشترک به‌طور مداوم جابه‌جا می‌شود — هنگام جابه‌جایی بین دکل‌ها، هنگام دوباره‌اتصال جلسه، هنگام مدیریت پهنای باند.

از اینجا، تمام ارزش عملی پروکسی‌های موبایل ناشی می‌شود: شما یک IP «پاک» دریافت نمی‌کنید، بلکه آدرسی دریافت می‌کنید که وب‌سایت نمی‌تواند آن را بدون آسیب جانبی خاموش کند.

Cloudflare چه چیزی را اندازه‌گیری کرد

در تحقیق «یک آدرس IP، کاربران متعدد: تشخیص CGNAT برای کاهش اثرات جانبی» (واسیلیس گیوتاس و ماروان فاید، منتشر شده در 29 اکتبر 2025، به‌روزرسانی شده در 15 ژوئیه 2026) Cloudflare به حل یک مسئله معکوس می‌پردازد: یادگیری تمایز آدرس‌ها در پشت ترجمه اپراتوری، تا بتواند اقدامات ملایم‌تری را بر روی آن‌ها اعمال کند.

روش‌شناسی از چندین منبع مستقل جمع‌آوری شده است:

  • Traceroute توزیع‌شده از بیش از 9000 گره RIPE Atlas — برای شناسایی آدرس‌ها از 100.64.0.0/10 در مسیر؛
  • WHOIS و رکوردهای PTR — جستجوی نشانه‌های cgnat، cgn، lsn در نام‌ها و توضیحات؛
  • فهرست‌های عمومی ناشناس‌سازها — برای جمع‌آوری آدرس‌های VPN و پروکسی؛
  • مدل XGBoost بر اساس سیگنال‌های مشتری، رفتار در سطح حمل و نقل، حجم ترافیک و تنوع مسیرها، با تجمیع هم بر اساس IP و هم بر اساس زیرشبکه /24.

اندازه مجموعه آموزشی: 200 هزار آدرس CGNAT، 180 هزار آدرس VPN و پروکسی، 900 هزار آدرس معمولی، تقسیم‌بندی 70/30، اعتبارسنجی متقابل ده‌گانه. کیفیت اعلام‌شده — دقت 0.98، F1 وزنی 0.97، log loss 0.04، macro-AUC 0.9946.

یک جزئیات جداگانه که در صنعت به آن کم توجهی می‌شود: نسبت تعداد user-agentها به تعداد آدرس‌ها در آفریقا به‌طور قابل توجهی بالاتر از سایر مناطق است. توزیع تاریخی بلوک‌های بزرگ IPv4 به شمال آمریکا و اروپا دهه‌ها پیش تعلق گرفت — و امروز این به این معناست که کاربران مناطق در حال توسعه بیشتر تحت مجازات جمعی قرار می‌گیرند. Cloudflare این را偏差 اجتماعی-اقتصادی می‌نامد.

عدد اصلی: محدودیت نرخ سه برابر بیشتر

نتیجه کلیدی تحقیق به‌طور غیرمنتظره‌ای برای همه کسانی که به IP موبایل به‌عنوان «غیرقابل لمس» عادت کرده‌اند، به نظر می‌رسد: کاربران پشت CGNAT با محدودیت سرعت سه برابر بیشتر از کاربران خارج از CGNAT مواجه می‌شوند.

در اینجا تناقضی وجود ندارد — بلکه تقسیم‌بندی اقدامات بر اساس قیمت است. مسدود کردن سخت آدرس هزینه‌بر است، زیرا به کاربران واقعی آسیب می‌زند. اما محدودیت نرخ، چالش و کپچا — ارزان و قابل بازگشت هستند. بنابراین حفاظت این آدرس را خاموش نمی‌کند، بلکه آن را خفه می‌کند. علاوه بر این، خود مکانیزم به‌طور مکرر به دلیل یک دلیل ریاضی فعال می‌شود: ترافیک بسیاری از افراد مستقل بر روی یک آدرس عمومی جمع می‌شود و آستانه‌ها سریع‌تر انتخاب می‌شوند.

جفت دوم اعداد توضیح می‌دهد که چرا وب‌سایت‌ها اساساً آماده‌اند چنین آدرس‌هایی را تحمل کنند. سهم ربات‌ها در آدرس‌های CGNAT: میانه 4.8% در مقابل 4.7% برای سایرین — یعنی از نظر میانه تفاوت چندانی وجود ندارد. اما از نظر میانگین، تصویر تغییر می‌کند: 7% در CGNAT در مقابل 13.1% در غیر-CGNAT. این به این معناست که در میان آدرس‌های معمولی، یک دمی طولانی تقریباً به‌طور کامل خودکار وجود دارد — دامنه‌ای معمولی از مرکز داده که در آن هیچ انسان زنده‌ای وجود ندارد و این میانگین را به سمت بالا می‌کشد. اما در پشت ترجمه اپراتوری چنین دمی نمی‌تواند وجود داشته باشد: همیشه مشترکان زنده‌ای وجود دارند که هر نوع اتوماسیون را رقیق می‌کنند.

برای عمل‌گرا، نتیجه مستقیم است: پروکسی موبایل برای سرعت خریداری نمی‌شود، بلکه برای زنده‌مانی. شما احتمالاً ظرفیت یک آدرس را در آنجا بدتر از مرکز داده دریافت می‌کنید — اما آدرس بعد از اولین خطا برای همیشه سوخت نمی‌شود.

خبر بد: CGNAT و پروکسی‌ها یاد گرفته‌اند که تفاوت قائل شوند

نتیجه وسوسه‌انگیز «از آنجا که پشت یک آدرس عمومی افراد زیادی هستند، من خود را به‌عنوان یک آدرس عمومی جا می‌زنم» با طرح مسئله در خود تحقیق شکسته می‌شود. به ترکیب نمونه توجه کنید: آدرس‌های CGNAT و آدرس‌های VPN/پروکسی در آنجا — دو کلاس مختلف هستند و مدل برای تمایز آن‌ها آموزش دیده است، نه اینکه همه را در یک سبد «بسیاری از کاربران پشت یک IP» بریزد.

آن‌ها بر اساس ویژگی‌هایی که مستأجر آدرس کنترل نمی‌کند، متفاوت هستند:

  • توپولوژی. ترجمه اپراتوری در مسیر و در رکوردهای خدمات قابل مشاهده است — بر اساس دامنه 100.64.0.0/10، بر اساس PTR و WHOIS.
  • تنوع مسیرها. یک منطقه واقعی شهر به هزاران سرویس مختلف متصل می‌شود؛ گره تحت اسکرپینگ به ده‌ها، و اغلب به یک.
  • پروفایل زیرشبکه. تجمیع بر اساس /24 نشان می‌دهد که آیا بلوک آدرس همسایه به‌عنوان یک مشترک رفتار می‌کند یا به‌عنوان یک استخر اجاره‌ای.
  • سیگنال‌های مشتری. مجموعه دستگاه‌ها در پشت یک آدرس عمومی باید به‌عنوان یک جمعیت واقعی به نظر برسد، نه به‌عنوان یک استک که صد بار تکثیر شده است.

این موضوع مختص Cloudflare نیست: تأمین‌کنندگان اطلاعات IP مدت‌هاست که به‌جای یک پرچم باینری «پروکسی یا نه»، یک ارزیابی عددی ارائه می‌دهند — و تقسیم «آدرس مشترک» در مقابل «استخر اجاره‌ای» در آن از قبل گنجانده شده است.

سه نتیجه عملی

  1. بار را بر روی آدرس کاهش دهید، نه اینکه همزمانی را افزایش دهید. از آنجا که یک آدرس عمومی به‌طور طبیعی به آستانه محدودیت نرخ نزدیک‌تر است، استراتژی «حداکثر RPS را از یک IP استخراج کنید» بر روی آن سریع‌تر شکست می‌خورد. وظیفه را در زمان گسترش دهید و آن را بر روی آدرس‌ها توزیع کنید، نه بر روی جریان‌ها درون یک آدرس.
  2. جلسه را حفظ کنید. زنده‌مانی آدرس یک منبع است که شما در هنگام تغییر IP به‌طور تهاجمی از دست می‌دهید: هر آدرس جدید دوباره باید اعتبارسنجی شود. برای وظایف با مجوز و سبد خرید، یک جلسه چسبنده تقریباً همیشه از چرخش سودمندتر است — مرز کجا می‌گذرد، در راهنمای جلسات چسبنده بررسی شده است.
  3. آدرس‌ها را شمارش نکنید، بلکه پاسخ‌های موفق را شمارش کنید. استخر مرکز داده ارزان‌تر به ازای آدرس است و تقریباً همیشه برای درخواست موفق در جایی که حفاظت جدی وجود دارد، گران‌تر است. مقایسه انواع تنها بر اساس قیمت نتیجه معقول است: آدرس‌های مسکونی و موبایل دقیقاً در جایی که آدرس‌های مرکز داده به پاسخ نمی‌رسند، به صرفه هستند.

جایی که «اثر جمعیت» اصلاً کمک نمی‌کند

مهم است که منطق را فراتر از جایی که کار می‌کند، منتقل نکنید. حفاظت در برابر مجازات جمعی تنها در سطح آدرس شبکه عمل می‌کند. به محض اینکه پلتفرم به شناسه‌های دیگر منتقل می‌شود، مزیت از بین می‌رود:

  • مسدود کردن حساب. اگر عمل به حساب کاربری مرتبط باشد، کیفیت IP هیچ ارتباطی با تصمیم ندارد.
  • اثر انگشت دستگاه و مرورگر. سازگاری استک به‌طور مستقل از آدرس بررسی می‌شود — و معمولاً قبل از اینکه فیلتر IP فعال شود، از هم می‌پاشد.
  • پیوند حساب‌ها. پلتفرم‌ها به دنبال تداخل‌ها در زیرشبکه‌ها و تطابق‌های رفتاری هستند، نه فقط بر اساس آدرس دقیق.

یک عامل جداگانه در سال 2026 — پیشنهاد. در یک ماه، بازار دو ضربه به منابع آدرس‌های مسکونی را تجربه کرد: در ژوئیه، LG ممنوعیت پروکسی-SDK را اعلام کرد و متوجه شد که حدود 42% از برنامه‌ها در فروشگاه او تلویزیون را به شبکه پروکسی متصل می‌کنند، و 3 اوت 2026 سامسونگ ممنوعیت پلتفرمی بر روی پروکسی‌های مسکونی-SDK وضع کرد و ثبت‌نام برنامه‌های جدید با چنین عملکردی را محدود کرد. این کشف توسط هریسون ساند از Mnemonic نروژ توصیف شد؛ برنامه‌های جداگانه از نصب بر روی صدها میلیون تلویزیون خبر دادند. بررسی دقیق اولین موج — در مقاله‌ای درباره ممنوعیت پروکسی-SDK بر روی تلویزیون‌های LG. منابع کمتر آدرس‌های مسکونی — قیمت بالاتر، و بدین ترتیب شکاف بین آدرس ارزان و آدرسی که واقعاً به پاسخ می‌رسد، بیشتر می‌شود.

نتیجه‌گیری

CGNAT بنیادی‌ترین فرض حفاظت وب — «یک آدرس برابر با یک پاسخ‌دهنده است» — را شکسته است و حفاظت این را پذیرفته و دیجیتالی کرده است. اما این پذیرش به عفو منجر نشد، بلکه به بازسازی اقدامات منجر شد: آدرس‌های پشت ترجمه اپراتوری کمتر به‌طور دائمی خاموش می‌شوند و سه برابر بیشتر با محدودیت‌ها خفه می‌شوند، و تفاوت آن‌ها با استخرهای پروکسی به یک مسئله طبقه‌بندی جداگانه منتقل شده است.

معنای عملی برای کسی که از طریق پروکسی کار می‌کند، ساده است: نوع آدرس تعیین‌کننده «عبور خواهید کرد یا نه» نیست، بلکه به چه قیمتی وب‌سایت می‌تواند شما را متوقف کند. کار خود را بر اساس اقدامات ملایم بنا کنید — سرعت متعادل، جلسات طولانی، محاسبه صادقانه هزینه درخواست موفق — و نوع IP را بر اساس قیمت خطا انتخاب کنید، نه بر اساس قیمت گیگابایت.

```