ProxynetProxynet

پروکسی IPv4 یا IPv6: کدام را انتخاب کنیم؟

تاریخ انتشار:

11 دقیقه مطالعه

Acar Diveroli
نویسنده: Acar Diveroli
مکعب کوتاه IPv4 کنار مکعب بلندتر IPv6 که با شبکه‌ای از آدرس‌ها پوشیده شده است

وقتی پلن‌های پروکسی را نگاه می‌کنید، یک ارائه‌دهنده اغلب هم IPv4 و هم IPv6 عرضه می‌کند و سمت IPv6 معمولاً آدرس‌های بسیار بیشتری دارد. این سخاوت دلیل دارد: آدرس IPv6 فراوان و آدرس IPv4 کمیاب است. اما آدرس بیشتر، IPv6 را برای هر کاری انتخاب درست نمی‌کند. پروکسی IPv6 نمی‌تواند به سایتی برسد که اصلاً اتصال IPv6 نمی‌پذیرد.

در این نوشته تفاوت اصلی دو پروتکل، اهمیت آن هنگام استفاده از پروکسی، روش آزمودن پشتیبانی سایت مقصد از IPv6 و اینکه چرا سایت‌ها هنگام مسدودسازی IPv6 به بلوک‌های آدرس نگاه می‌کنند نه به تک‌آدرس‌ها را بررسی می‌کنیم. در پایان جدولی برای انتخاب بر اساس نوع کار آمده است.

IPv4 و IPv6 چیستند؟

آدرس IP نشانی یک دستگاه در شبکه است. امروز دو نسخه از آن به کار می‌رود.

IPv4 آدرس‌های 32 بیتی دارد که به شکل چهار عدد جداشده با نقطه نوشته می‌شوند، مانند 203.0.113.25. سی‌ودو بیت یعنی 4,294,967,296 آدرس ممکن. این عدد هنگام طراحی اینترنت بسیار زیاد به نظر می‌رسید؛ امروز هیچ بلوک آزاد IPv4 برای واگذاری باقی نمانده است. ثبت فضای آدرس IPv4 در IANA نشان می‌دهد همه بلوک‌ها به ثبت‌کننده‌های منطقه‌ای واگذار شده‌اند. تقاضای تازه برای IPv4 اکنون با جابه‌جایی بلوک‌های موجود میان دارندگان تأمین می‌شود و همین آدرس IPv4 را به قلم هزینه تبدیل می‌کند.

IPv6 آدرس‌های 128 بیتی دارد که به شکل گروه‌هایی از رقم‌های شانزده‌شانزدهی جداشده با دونقطه نوشته می‌شوند، مانند 2001:db8:85a3::8a2e:370:7334. فضای 128 بیتی چنان بزرگ است که حتی یک اتصال خانگی می‌تواند بلوکی با میلیاردها آدرس بگیرد. خود پروتکل در ⁦RFC 8200⁩ تعریف شده است.

این دو پروتکل مستقیماً زبان یکدیگر را نمی‌فهمند. کلاینتی که فقط آدرس IPv4 دارد بدون مترجمی در میانه نمی‌تواند با سروری که فقط آدرس IPv6 دارد گفت‌وگو کند و برعکس. همین یک جمله توضیح می‌دهد چرا انتخاب پروکسی مهم است.

چرا IPv4 یا IPv6 بودن در پروکسی مهم است؟

وقتی از پروکسی استفاده می‌کنید، سایت مقصد آدرس IP خروجی پروکسی را می‌بیند نه آدرس شما را. اینکه این آدرس IPv4 باشد یا IPv6، سه چیز را تعیین می‌کند.

1. آیا به مقصد می‌رسید. اگر پروکسی از طریق IPv6 با مقصد حرف بزند، سایت مقصد هم باید آدرس IPv6 داشته باشد. اگر نداشته باشد، اتصالی برقرار نمی‌شود.

2. اندازه و هزینه مخزن آدرس. چون آدرس IPv4 کمیاب است، هر پروکسی IPv4 هزینه واقعی دارد. در IPv6 ارائه‌دهنده می‌تواند آدرس‌های فراوانی را از یک بلوک بزرگ با هزینه کم تخصیص دهد. با همان بودجه، در IPv6 آدرس‌های بسیار بیشتری به دست می‌آید.

3. سایت شما را چگونه گروه‌بندی می‌کند. سایت برای مسدود کردن ترافیک مخرب در IPv4 به یک آدرس یا بلوکی کوچک نگاه می‌کند. در IPv6 نگاه به یک آدرس بی‌معناست، چون حتی یک کاربر می‌تواند آدرس‌های بی‌شماری بسازد. به همین دلیل سایت‌ها IPv6 را بر اساس زیرشبکه ارزیابی می‌کنند. این موضوع را پایین‌تر در بخشی جداگانه باز می‌کنیم.

معیارپروکسی IPv4پروکسی IPv6
طول آدرس32 بیت128 بیت
نمونه203.0.113.252001:db8::25
عرضه آدرسکمیاب، بلوک‌ها دست‌به‌دست می‌شوندبلوک‌های بسیار بزرگ
هزینهبیشتر برای هر آدرسکمتر برای هر آدرس
سازگاری با سایت‌هادر همه سایت‌ها کار می‌کندفقط در سایت‌های دارای IPv6
گروه‌بندی ترافیک توسط سایتتک‌آدرس یا بلوک کوچکمعمولاً بلوک /64 یا بزرگ‌تر
اثر مسدودسازیمعمولاً یک آدرسممکن است همه آدرس‌های همان بلوک
مناسب برایمقصدهای گوناگون، کارهای نیازمند سازگاریکارهای پرآدرس روی پلتفرم‌های بزرگ دارای IPv6
آزمون لازمنداردبررسی رکورد AAAA مقصد

آیا همه سایت‌ها اتصال IPv6 را می‌پذیرند؟

نه. برای اینکه سایتی از طریق IPv6 در دسترس باشد، دامنه آن باید در DNS رکورد AAAA داشته باشد و سرورش واقعاً روی آدرس IPv6 پاسخ دهد. موتورهای جست‌وجوی بزرگ، شبکه‌های اجتماعی و بسیاری از سایت‌های پشت CDN از IPv6 پشتیبانی می‌کنند. فروشگاه‌های اینترنتی کوچک‌تر، سایت‌های سازمانی با زیرساخت قدیمی، برخی بانک‌ها و خدمات عمومی فقط با IPv4 کار می‌کنند.

برای دیدن میزان پذیرش IPv6 بر اساس کشور و شبکه، می‌توانید صفحه آمار IPv6 گوگل را ببینید. این صفحه سمت کاربران را می‌سنجد؛ پشتیبانی سایت‌های مقصد را باید یکی‌یکی آزمود.

وقتی از طریق پروکسی IPv6 به سایتی بدون رکورد AAAA درخواست می‌فرستید، نتیجه به ساختار ارائه‌دهنده بستگی دارد:

  • اگر پروکسی فقط از IPv6 خارج شود، اتصالی برقرار نمی‌شود و کلاینت timeout یا خطایی از نوع 502 می‌بیند.
  • اگر پروکسی دوپشته (dual-stack) باشد، ممکن است از آدرس IPv4 به مقصد برود. اتصال کار می‌کند، اما سایت آدرس IPv4 پروکسی را می‌بیند نه IPv6. شما از مخزن آدرسی که برایش پول داده‌اید بهره نمی‌برید.

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

چگونه پشتیبانی از IPv6 را بیازماییم؟

آزمون دو مرحله دارد: آیا سایت مقصد آدرس IPv6 دارد، و آیا پروکسی از طریق IPv6 به آن می‌رسد.

1. آیا مقصد رکورد AAAA دارد؟ در لینوکس و macOS از dig و در ویندوز از nslookup استفاده کنید:

bash
# Linux / macOS
dig AAAA example.com +short

# Windows
nslookup -type=AAAA example.com

اگر فرمان یک یا چند آدرس IPv6 برگرداند، سایت از طریق IPv6 در دسترس است. اگر چیزی برنگرداند، پروکسی IPv6 برای این مقصد مناسب نیست.

2. آیا اتصال خود شما از IPv6 پشتیبانی می‌کند؟ گزینه -6 در cURL اتصال را فقط از طریق IPv6 برقرار می‌کند:

bash
curl -6 https://example.com -o /dev/null -s -w "%{http_code}\n"

3. پروکسی با کدام پروتکل خارج می‌شود؟ اتصال میان کلاینت و پروکسی اغلب IPv4 است؛ آنچه اهمیت دارد آدرسی است که پروکسی برای رسیدن به مقصد به کار می‌برد. برای دیدن آن از دو سرویس که آدرس خروجی را برمی‌گردانند استفاده کنید:

bash
# فقط آدرس IPv4 برمی‌گرداند
curl -x "http://user:pass@pr.proxynet.io:8000" https://api.ipify.org

# اگر باشد IPv6 و در غیر این صورت IPv4 برمی‌گرداند
curl -x "http://user:pass@pr.proxynet.io:8000" https://api64.ipify.org

اگر از پروکسی IPv6 استفاده می‌کنید، فرمان دوم باید آدرسی با دونقطه برگرداند. اگر آدرس نقطه‌دار دیدید، پروکسی از طریق IPv4 به مقصد می‌رود. گزینه‌های دیگر پروکسی در cURL را در استفاده از پروکسی با cURL ببینید.

چرا سایت‌ها آدرس‌های IPv6 را بلوکی مسدود می‌کنند؟

در IPv4 یک اتصال خانگی معمولاً یک IP عمومی می‌گیرد و مسدود کردن آن آدرس یعنی مسدود کردن همان اتصال. IPv6 طور دیگری کار می‌کند. در روال استاندارد به هر شبکه محلی یک بلوک /64 داده می‌شود. همین یک بلوک بیش از 18 کوئینتیلیون آدرس دارد و دارنده اتصال می‌تواند هر لحظه از هر کدام استفاده کند.

پس مسدود کردن یک آدرس IPv6 نتیجه‌ای ندارد: طرف مسدودشده به‌سادگی آدرس دیگری از همان بلوک برمی‌دارد. از این رو سامانه‌هایی که محدودیت نرخ و مسدودسازی اعمال می‌کنند، ترافیک IPv6 را معمولاً در سطح /64 و گاهی در سطح‌های بزرگ‌تر /56 یا /48 گروه‌بندی می‌کنند.

برای کاربر پروکسی این یعنی:

  • صدها آدرس از یک بلوک /64 ممکن است برای سایت یک بازدیدکننده به نظر برسند. تعداد زیاد آدرس به این معنا نیست که درخواست‌ها را واقعاً میان منبع‌های متفاوت پخش کرده‌اید.
  • وقتی یک آدرس مسدود شود، ممکن است کل بلوک متأثر شود. آدرس‌های دیگر شما در همان بلوک هم ممکن است به محدودیت نرخ بخورند.
  • گرفتن آدرس از بلوک‌های متفاوت اهمیت دارد. هنگام انتخاب پروکسی IPv6 بپرسید ارائه‌دهنده آدرس‌ها را از یک بلوک /64 می‌دهد یا از بلوک‌های گوناگون.

به همین دلیل تعمیم‌هایی مانند «پروکسی IPv6 ناشناس‌تر است» یا «آدرس IPv6 مسدود نمی‌شود» نادرست‌اند. برتری IPv6 در عرضه آدرس و هزینه است؛ اینکه سایت شما را چگونه ارزیابی کند به ساختار بلوک‌ها بستگی دارد.

پروکسی IPv6 کجا برتری دارد؟

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

برای این سناریوها پلن‌های صفحه پروکسی IPv6 را ببینید.

پروکسی IPv4 کجا ضروری است؟

  • جمع‌آوری داده با فهرست مقصدهای گوناگون یا متغیر. اگر از پیش نمی‌دانید از کدام سایت‌ها داده می‌گیرید یا فهرست پیوسته تغییر می‌کند، IPv4 تنها گزینه‌ای است که در همه مقصدها کار می‌کند. ساختارهای اسکرپینگ در صفحه راه‌حل استخراج داده آمده است.
  • فروشگاه‌های اینترنتی محلی و مقایسه قیمت. بسیاری از فروشگاه‌های اینترنتی متوسط در ترکیه فقط با IPv4 کار می‌کنند.
  • سرورهای بازی و پروتکل‌های قدیمی. بخش بزرگی از سرورهای بازی و نرم‌افزارهای دسکتاپ قدیمی روی IPv4 کار می‌کنند.
  • محیط‌های کلاینت بدون اتصال IPv6. حتی اگر پروکسی از IPv6 خارج شود، اگر ابزار یا شبکه‌ای که استفاده می‌کنید از آدرس IPv6 پشتیبانی نکند مشکل پیش می‌آید.

اگر سازگاری در اولویت است، پلن‌های پروکسی IPv4 نقطه شروع درستی‌اند. برای آدرس‌های IPv4 سریع و ثابت، پروکسی دیتاسنتر را هم در نظر بگیرید.

اشتباهات رایج

  • خرید پلن IPv6 بدون بررسی رکورد AAAA مقصد. رایج‌ترین اشتباه همین است. چند ثانیه کار با dig از ابتدا جلوی آن را می‌گیرد.
  • متوجه نشدن بازگشت پروکسی دوپشته به IPv4. فقط چون اتصال کار می‌کند فرض نکنید از IPv6 خارج می‌شوید؛ آدرس خروجی را با سرویسی مانند api64.ipify.org تأیید کنید.
  • یکی دانستن تعداد آدرس با گوناگونی منبع. صد آدرس از یک بلوک /64 در محدودیت نرخ اغلب یک منبع به حساب می‌آیند.
  • نادیده گرفتن ناتوانی نرم‌افزار کلاینت در نحو آدرس IPv6. برخی ابزارهای قدیمی آدرس IPv6 داخل کروشه مانند [2001:db8::1]:8080 را درست تفسیر نمی‌کنند. اتصال به پروکسی با نام میزبان این مشکل را برطرف می‌کند.
  • دیدن IPv6 به‌عنوان لایه حریم خصوصی. نسخه پروتکل ناشناسی نمی‌آورد. اثر انگشت مرورگر، کوکی‌ها و داده‌های حساب در IPv6 هم همان‌طور کار می‌کنند که در IPv4.

راهنمای انتخاب

نیاز شماپیشنهاد
سایت‌های مقصد را از پیش نمی‌دانیدIPv4
فروشگاه‌های اینترنتی متوسط در ترکیهIPv4
سرور بازی یا نرم‌افزار دسکتاپ قدیمیIPv4
حساب‌های فراوان روی پلتفرم‌های بزرگ دارای IPv6IPv6 با آدرس‌هایی از بلوک‌های متفاوت
مخزن آدرس بزرگ با همان بودجه، مقصدها دارای رکورد AAAAIPv6
آزمودن دسترسی‌پذیری IPv6 سایت خودتانIPv6
هم سازگاری و هم عرضه آدرسهر دو پروتکل را کنار هم به کار ببرید

پرسش‌های متداول

آیا پروکسی IPv6 می‌تواند به سایت‌های IPv4 وصل شود؟

پروکسی‌ای که فقط از IPv6 خارج می‌شود نمی‌تواند به سایتی که فقط آدرس IPv4 دارد وصل شود. برخی ارائه‌دهندگان دوپشته کار می‌کنند و در این حالت از IPv4 به مقصد می‌روند؛ اتصال کار می‌کند، اما سایت آدرس IPv6 شما را نمی‌بیند. با آزمون آدرس خروجی ببینید ارائه‌دهنده شما کدام ساختار را به کار می‌برد.

آیا پروکسی IPv6 سریع‌تر است؟

نسخه پروتکل به‌تنها تفاوت سرعت محسوسی ایجاد نمی‌کند. سرعت را موقعیت سرور پروکسی، کیفیت خط و فاصله تا مقصد تعیین می‌کنند. در برخی شبکه‌ها مسیر IPv6 از IPv4 کوتاه‌تر و در برخی بلندتر است.

آیا از مرورگر می‌توان فهمید سایتی از IPv6 پشتیبانی می‌کند؟

اگر مرورگر از هر دو پروتکل پشتیبانی کند، نشان نمی‌دهد از کدام استفاده می‌کند. مطمئن‌ترین راه، پرس‌وجوی رکورد AAAA دامنه با dig یا nslookup است.

بلوک /64 یعنی چه؟

گروهی از آدرس‌هاست که 64 بیت نخست آدرس IPv6 در آن ثابت و 64 بیت پایانی آزاد است. در روال استاندارد به هر شبکه محلی یک بلوک /64 داده می‌شود. سایت‌ها هنگام ارزیابی ترافیک IPv6 معمولاً این بلوک را یک منبع به حساب می‌آورند.

آیا IPv6 در ترکیه رایج است؟

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

آیا یک پروکسی می‌تواند هم IPv4 و هم IPv6 بدهد؟

بله، پروکسی‌های دوپشته می‌توانند از هر دو پروتکل خارج شوند. اینکه کدام پروتکل به کار رود معمولاً به رکوردهای DNS مقصد و تنظیمات ارائه‌دهنده بستگی دارد. گرفتن آدرس‌های IPv4 و IPv6 جداگانه متناسب با نیازتان، کنترل را در دست شما نگه می‌دارد.

خلاصه

IPv4 در همه سایت‌ها کار می‌کند اما آدرس‌هایش کمیاب و گران است؛ IPv6 مخزن آدرس بزرگ و اقتصادی می‌دهد، اما فقط در مقصدهایی سودمند است که از IPv6 پشتیبانی کنند. پیش از انتخاب، رکورد AAAA مقصدهایتان را بررسی کنید، مطمئن شوید پروکسی واقعاً از IPv6 خارج می‌شود و در نظر داشته باشید که سایت‌ها ترافیک IPv6 را بلوکی ارزیابی می‌کنند نه تک‌آدرسی. برای تصویر کلی انواع پروکسی سرور پروکسی چیست و چگونه کار می‌کند؟ و برای پلن‌ها صفحه‌های پروکسی IPv4 و پروکسی IPv6 را ببینید. اگر به آدرس اختصاصی نیاز دارید، پروکسی خصوصی هم کمک می‌کند.

پرسش از ChatGPTپرسش از Claude