DevToys Web Pro iconDevToys Web Proوبلاگ
به ما امتیاز دهید:
افزونه مرورگر را امتحان کنید:

مولد IPv6 ULA

  • MAC
    شناسه زیرشبکه
    جزئیات فنی

    مولد ULA در IPv6 چگونه کار می‌کند

    این ابزار چه کاری انجام می‌دهد

    مولد ULA در IPv6 یک پیشوند /48 از نوع Unique Local Address تولید می‌کند که احتمال تداخل آن با هر سایت دیگری کم است و از الگوریتم RFC 4193 §3.2.2 پیروی می‌کند. یک آدرس MAC ارائه کنید (یا اجازه دهید ابزار یکی را به‌صورت تصادفی انتخاب کند) و ابزار یک Global ID ۴۰ بیتی را از SHA-1 مربوط به EUI-64 که با مهر زمانی فعلی NTP به‌هم چسبانده شده است مشتق می‌کند. خروجی شامل پیشوند /48، Global ID و Subnet ID و یک نمونه آدرس میزبان /64 است.

    موارد استفادهٔ رایج برای توسعه‌دهندگان

    مدیران شبکه از ULAها برای ساخت شبکه‌های خصوصی IPv6 استفاده می‌کنند که به فضای آدرس‌دهی قابل‌مسیریابی جهانی وابسته نیست. اپراتورهای آزمایشگاه و homelab یک‌بار برای هر سایت یک پیشوند ULA انتخاب می‌کنند و سپس آن را برای همهٔ VLANهای داخلی و شبکه‌های overlay دوباره استفاده می‌کنند. این‌ها همچنین برای VPCهای ابری، شبکه‌های کانتینری و محیط‌های air-gapped که در آن IPv6 جهانی در دسترس نیست یا مطلوب نیست مفید هستند.

    قالب‌ها، نوع‌ها یا گونه‌های داده

    ULAها در بلوک fc00::/7 قرار دارند. با تنظیم شدن بیت locally-assigned (L) روی 1، پیشوند عملی به fd00::/8 تبدیل می‌شود. چیدمان کامل /48 این است: پیشوند ۸ بیتی (fd) + Global ID ۴۰ بیتی + Subnet ID ۱۶ بیتی + Interface ID ۶۴ بیتی. Global ID کم‌ارزش‌ترین ۴۰ بیتِ SHA-1 روی EUI-64 ‖ مهر زمانی NTP است؛ این ابزار EUI-64 را از MAC ارائه‌شده با درج FFFE و برگرداندن بیت universal/local مشتق می‌کند.

    دام‌های رایج و حالت‌های لبه‌ای

    fd00:0:0::/48 یا یک پیشوند بدیهی دیگر را انتخاب نکنید — کل هدف این است که تصادفی‌سازی شود و احتمال تداخل کاهش یابد. نیمهٔ fc00::/8 (بیت L = 0) رزرو شده است و امروز نباید استفاده شود. ULAها روی اینترنت عمومی قابل مسیریابی نیستند؛ اگر به IPv6 قابل‌مسیریابی در اینترنت نیاز دارید، به‌جای آن از ISP یا RIR خود یک پیشوند Global Unicast درخواست کنید.

    چه زمانی از این ابزار استفاده کنیم در برابر کُد

    هنگام راه‌اندازی یک سایت جدید از ابزار مرورگری استفاده کنید تا یک پیشوند یک‌باره انتخاب کنید که برای همیشه دوباره استفاده خواهید کرد. در کد، کتابخانه‌هایی مانند ipaddress در Python، net/netip در Go یا ipnet در Rust می‌توانند ULAها را در کنار آدرس‌های Global Unicast با مدیریت خطای یکسان تولید یا اعتبارسنجی کنند.