DevOps

تفاوت IPv4 و IPv6: قالب آدرس، تفاوت‌ها و اثرش روی سرویس‌های شما.

نویسنده: تیم noc724۳ دقیقه مطالعهبه‌روزرسانی: ۲۶ مهر ۱۴۰۵

IPv4 از اوایل دهه‌ی ۱۹۸۰ بار اینترنت رو کشیده و حدود ۴٫۳ میلیارد آدرسش سال‌هاست تموم شده. IPv6 برای جایگزینی اون طراحی شد، ولی این دو تا مدت‌ها کنار هم کار می‌کنن. اگه سایت یا سرور اداره می‌کنید، دونستن تفاوت‌هاشون و چیزهایی که ممکنه خراب بشه به دردتون می‌خوره.

نکته‌های کلیدی

  • آدرس IPv4 سی‌ودو بیتیه (203.0.113.10) و آدرس IPv6 صدوبیست‌وهشت بیتی (2001:db8::10).
  • IPv6 نیاز به NAT رو از بین می‌بره و به هر دستگاه اجازه‌ی داشتن آدرس عمومی می‌ده.
  • میزبان‌ها معمولاً آدرس IPv6 رو خودکار (SLAAC) یا از طریق DHCPv6 می‌گیرن.
  • فایروال باید برای هر دو پروتکل تنظیم بشه؛ یه مسیر IPv6 باز، فراموشی رایجیه.
  • اگه رکورد AAAA منتشر می‌کنید، مسیر IPv6 رو جداگانه مانیتور کنید.
قطعی پیش میاد. زود باخبر شید!

noc724 سایت، سرور و APIهای شما رو شبانه‌روز چک می‌کنه و همون لحظه‌ای که چیزی خراب شد با پیامک، تلگرام یا بله خبرتون می‌کنه.

ثبت‌نام رایگان

قالب آدرس

IPv4IPv6
اندازه۳۲ بیت۱۲۸ بیت
مثال203.0.113.102001:db8:85a3::8a2e:370:7334
نمادگذاریچهار عدد دهدهیهشت گروه چهاررقمی هگز
کل آدرس‌هاحدود ۴٫۳ میلیاردحدود ۳٫۴ × ۱۰ به توان ۳۸
رکورد DNSAAAAA

کوتاه کردن آدرس‌های IPv6

دو قانون آدرس IPv6 رو خواناتر می‌کنه:

  1. صفرهای ابتدای هر گروه رو می‌شه حذف کرد: 0db8 می‌شه db8.
  2. یه رشته از گروه‌های تمام‌صفر رو می‌شه با :: جایگزین کرد.
2001:0db8:0000:0000:0000:0000:0000:0010
2001:db8::10

در آدرس‌های URL، IPv6 داخل کروشه میاد: https://[2001:db8::10]:8443/.

تفاوت‌های اصلی

نه کمبود آدرس، نه NAT

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

پیکربندی خودکار

میزبان‌های IPv6 می‌تونن از پیشوندی که روتر اعلام می‌کنه، آدرس خودشون رو بسازن (SLAAC). هر جا کنترل مرکزی لازم باشه، DHCPv6 هم هست.

هدر ساده‌تر، بدون قطعه‌قطعه کردن توسط روتر

هدر IPv6 اندازه‌ی ثابت داره و روترها هیچ‌وقت بسته‌ها رو قطعه‌قطعه نمی‌کنن؛ فرستنده خودش MTU مسیر رو پیدا می‌کنه. فایروال‌هایی که کل ICMPv6 رو می‌بندن این کشف رو خراب می‌کنن و باعث اتصال‌هایی می‌شن که روی پاسخ‌های بزرگ گیر می‌کنن.

ICMPv6 ضروریه

IPv6 برای کشف همسایه و MTU مسیر به ICMPv6 متکیه. بستن کاملش (عادت رایج در IPv4) چیزها رو خراب می‌کنه. به‌جاش انواع لازم رو باز بذارید.

اجرای سرویس روی هر دو (dual stack)

بیشتر سرورهای امروزی هر دو پروتکل رو اجرا می‌کنن. کلاینت‌هایی که IPv6 دارن معمولاً اول اون رو امتحان می‌کنن و بعد سراغ IPv4 میان (happy eyeballs). این یه حالت خرابی ایجاد می‌کنه که راحت از چشم می‌افته: سایت برای شما روی IPv4 کار می‌کنه در حالی که بعضی کاربرها به یه مسیر IPv6 خراب می‌رسن.

چک‌لیست سرویس‌های dual stack:

  1. وب‌سرور روی IPv6 هم گوش می‌ده (listen [::]:443; در nginx).
  2. فایروال قانون‌های IPv6 هم‌ارز داره؛ نه خیلی بسته، نه کاملاً باز.
  3. گواهی TLS و virtual hostها روی هر دو یکسان کار می‌کنن.
  4. رکورد AAAA به آدرس درست اشاره می‌کنه، یا اگه IPv6 آماده نیست وجود نداره.
  5. لاگ‌ها و محدودیت نرخ آدرس‌های IPv6 (و پیشوندهای /64) رو درست مدیریت می‌کنن.

مانیتورینگ IPv4 و IPv6

اگه هم رکورد A و هم AAAA منتشر می‌کنید، هر دو مسیر رو چک کنید. مانیتوری که نام میزبان رو resolve می‌کنه ممکنه هر کدوم از پروتکل‌ها رو انتخاب کنه، پس چک‌های جدا روی آدرس IPv4 و IPv6 بذارید، یا یه مانیتور DNS که تأیید کنه هر دو رکورد مقدار مورد انتظار رو دارن.

پرسش‌های پرتکرار

  • ذاتاً نه. کارایی به مسیری بستگی داره که هر پروتکل طی می‌کنه و این مسیرها ممکنه فرق کنن. گاهی IPv6 سریع‌تره و گاهی کندتر.

  • هنوز همه‌جا نه، ولی هر سال شبکه‌های موبایل و خونگی بیشتری اون رو ترجیح می‌دن. اگه رکورد AAAA منتشر می‌کنید، مطمئن بشید کار می‌کنه؛ مسیر IPv6 خراب از نداشتنش بدتره.

  • نه. دو پروتکل جدا هستن و بین میزبان فقط-IPv6 و فقط-IPv4 به سازوکارهای ترجمه مثل NAT64 نیاز هست.

اشتراک‌گذاری مقاله:ایکستلگراملینکدینفیسبوکردیت
noc724

نویسنده

تیم noc724

تیم فنی مانیتورینگ آپتایم

ما noc724 رو می‌سازیم و اداره می‌کنیم؛ سرویس مانیتورینگ آپتایمی که سایت، سرور و API رو از چند شهر ایران چک می‌کنه. این راهنماها از مشکل‌هایی میان که خودمون و کاربرهامون موقع آنلاین نگه داشتن سرویس‌ها باهاشون روبه‌رو می‌شیم.

تماس با تیم

تخصص:DevOps

سؤالی دارید؟تماس با پشتیبانی
پیشنهادی دارید؟بفرستید

تازه‌ترین مقاله‌ها