محوّل IPv4 ↔ IPv6
خصوصية بالتصميم — يعمل بالكامل في متصفحك
بدّل الاتجاه والصق IPv4 مثل 192.0.2.1 لرؤية الأشكال IPv4-mapped (::ffff:192.0.2.1)، والصيغة الموسّعة الكاملة، والصيغة IPv4-compatible. حوّل إلى IPv6 → IPv4 لاستخراج IPv4 المضمَّن من عنوان mapped، أو لمعاينة الصيغة المضغوطة والموسّعة لأي عنوان IPv6.
ثلاث طرق لتمثيل IPv4 داخل IPv6
تحدّد RFC 4291 طريقتين لحمل IPv4 داخل IPv6. الحالية هي IPv4-mapped: ::ffff:a.b.c.d. والقديمة IPv4-compatible: ::a.b.c.d مهجورة في الكود الجديد لكنها لا تزال تظهر في وثائق قديمة وبعض المكدّسات الموروثة. نوفّر أيضًا الصيغة الموسّعة الكاملة (ثماني مجموعات سداسية عشرية كل منها 16 بت بلا اختصار)، وهي ما تحتاجه عند تنفيذ grep على السجلات أو مقارنة العناوين بايتًا بايت.
الصيغة المضغوطة مقابل الموسّعة
يدعم IPv6 اختصارًا نصيًا: تستبدل أطول سلسلة متتالية من المجموعات الصفرية ذات 16 بت بـ :: واحدة فقط. تتحول 2001:db8:0:0:0:0:0:1 إلى 2001:db8::1. لا يُسمح بظهور :: أكثر من مرة في العنوان نفسه. تحدّد RFC 5952 القواعد: استخدام الأحرف السداسية الصغيرة، ضغط أطول سلسلة فقط، وحذف الأصفار البادئة في كل مجموعة. الصيغة المضغوطة هي التي تنشرها، بينما الموسّعة هي ما تحتاجه أدوات مثل ipset أو BPF.
لماذا تهم تصحيح أخطاء dual-stack
حين يستقبل خادم يعمل ضمن مكدّس مزدوج عملاء IPv4 عبر مقبس IPv6، يكشفهم نظام التشغيل كعناوين بصيغة ::ffff:. حينها تمتلئ سجلّات التطبيق بهذه الصيغة، ويفشل البحث في تلك السجلّات ضمن قوائم IPv4 المعتادة. مرّر العناوين عبر هذا المحوّل لتوحيد الصيغة قبل المقارنة، أو للتأكّد من أن نفقًا ينقل حركة IPv4 و IPv6 بين الطرفين بشكل سليم.
الأسئلة الشائعة
- ما هو عنوان IPv6 المُرتبط بـ IPv4 (mapped)؟
- يوجد في النطاق ::ffff:0:0/96 (RFC 4291). تكشف مقابس dual-stack عملاء IPv4 بصيغة mapped، فيتمكّن bind واحد من خدمة البروتوكولين معًا.
- لماذا توجد صيغتان بادئتان بأصفار؟
- ::a.b.c.d هي الصيغة IPv4-compatible التي هجرتها RFC 4291. أما ::ffff:a.b.c.d فهي صيغة IPv4-mapped المستخدمة حاليًا. نعرض الاثنتين لأن الأنظمة القديمة لا تزال تنتج الصيغة compatible.
- هل ::ffff:a.b.c.d مهجور؟
- لا — IPv4-mapped هو الأسلوب الموصى به اليوم لتمثيل نقاط نهاية IPv4 في كود dual-stack. المهجور هو الصيغة IPv4-compatible (بدون ffff).
- هل يمكن استخراج IPv4 من أي IPv6؟
- فقط حين يكون IPv6 ضمن نطاقَي mapped أو compatible. أما عنوان IPv6 عادي مثل 2001:db8::1 فلا يحتوي على IPv4 لاستخراجه؛ تعرض الأداة الصيغ الموسّعة والمضغوطة فقط.
- ما الفرق بين :: و 0:0:0:0:0:0:0:0؟
- 0:0:0:0:0:0:0:0 هو عنوان unspecified الصريح، و :: هو صيغته المضغوطة، وهي التمثيل المعياري في IPv6.
- هل يغادر عنواني هذه الصفحة؟
- لا. تجري عملية التحويل في JavaScript داخل علامة التبويب هذه، ولا نطّلع على العنوان المُدخل ولا نسجّله ولا نخزّنه.