تمثيل IPv4 داخل IPv6

الطرق الأربع لظهور عنوان IPv4 داخل IPv6 — ولماذا ليست أي منها «عنوان IPv6 الخاص بك».

جرّب 8.8.8.8 أو 192.168.1.1 أو 127.0.0.1.

لا يوجد مقابل بـ IPv6 لعنوان IPv4. عناوين IPv6 يخصّصها مزوّدك، ولا تُشتقّ مما لديك. وما يلي أربع صيغ مختلفة تضمّن عنوان IPv4، لكل منها غرضها — وليست أي منها عنوانًا تضعه في سجل DNS وتتوقّع أن يعمل.

مُسقَط من IPv4

حالي

::ffff:203.0.113.5

هكذا يمثّل مقبس ثنائي المكدّس نظيرًا يعمل بـ IPv4 أمام تطبيق لا يعرف سوى IPv6. ستراها في سجلات الخوادم على الأجهزة ثنائية المكدّس — سطر يقرأ ::ffff:203.0.113.5 هو اتصال IPv4 عادي، لا اتصال IPv6. ويُكتب أيضًا ::ffff:cb00:7105.

متوافق مع IPv4

مهجور

::203.0.113.5

آلية انتقال مبكرة، أبطلها RFC 4291 عام 2006 ولم تعد مُنفَّذة. أُدرجت لأنها ما زالت تظهر في التوثيق والملفات القديمة، حيث ينبغي التعامل معها كخطأ لا نسخها.

بادئة 6to4

مهجور

2002:cb00:7105::/48

نفق تلقائي كان يمنح أي مضيف لديه عنوان IPv4 عام نطاق /48 من فضاء IPv6. أبطلها RFC 7526 — إذ اعتمدت على مُرحِّلات عامة لا يضمن جودتها أحد، وأنتجت اتصالات تفشل بطرق يعجز المستخدم عن تشخيصها.

NAT64 / البادئة المعروفة

داخل شبكة NAT64 فقط

64:ff9b::203.0.113.5

بها يصل عميل لا يعرف سوى IPv6 إلى خادم لا يعرف سوى IPv4 عبر بوابة NAT64. آلية قائمة ومستعملة، لكنها لا تعني شيئًا إلا داخل شبكة تشغّل واحدة — أما على الإنترنت المفتوح فالعنوان بلا معنى.

العنوان نفسه

عشري منقّط
203.0.113.5
ست عشري
0xCB007105
عدد صحيح 32 بت
3,405,803,781
ثنائي
11001011.00000000.01110001.00000101

التوثيقTEST-NET ‏(RFC 5737) — محجوز للأمثلة. نشره آمن ولا يُوجَّه أبدًا.

المقدّمة عادةً خاطئة، ولا بأس بذلك

معظم من يبحث عن محوّل من IPv4 إلى IPv6 يبحث عن شيء غير موجود: دالّة تأخذ العنوان الذي يملكه فتُعيد عنوان IPv6 الذي ينبغي أن يستعمله. لا وجود لمثل هذه الدالّة. فعناوين IPv6 تُخصَّص — إذ يمنحك مزوّد خدمتك أو شركة استضافتك كتلةً من كتلة مُنحت لهم — ولا تُحسب من عنوان IPv4 تملكه سلفاً.

أما الموجود فعلاً فعدة صيغ تضع عنوان IPv4 داخل صياغة IPv6، وُضعت كل واحدة منها لمهمة بعينها. ومعرفة أيّها ما مفيدة حقاً، لأنك ستصادفها في السجلات وملفات الإعداد. أما معاملة أيٍّ منها على أنها «عنوان IPv6 الخاص بك» فليست كذلك.

الصيغة التي ستراها فعلاً

::ffff:203.0.113.5 — الصيغة المُسقَطة من IPv4 — تمثّل تقريباً كل ظهور واقعي لهذه الصيغ. وتظهر حين يستمع برنامج على مقبس IPv6 ويتصل به عميل عبر IPv4: فيقدّم نظام التشغيل النظير بهذه الصيغة كي لا يضطر التطبيق إلى التعامل إلا مع نوع عنوان واحد.

وتعضّ العاقبة العملية في موضعين. فتحليل السجلات الذي يتوقع أرباعاً مفصولة بنقاط لن يطابق هذه الأسطر. وقائمة سماح تقارن النصوص ستفشل في مطابقة ::ffff:203.0.113.5 مع 203.0.113.5 — قاعدة تبدو صحيحة، وتجتاز المراجعة، ولا تعمل أبداً في صمت. فوحِّد الصيغة قبل المقارنة.

وما هي البقية

الصيغة المتوافقة مع IPv4 (::203.0.113.5) كانت فكرة انتقالية مبكّرة، أُهملت في RFC 4291 سنة 2006 ولا يطبّقها شيء حديث. فإن وجدتها في ملف إعداد فتلك علّة لا اختيار.

6to4 (2002::/16) منح كل من يملك عنوان IPv4 عاماً كتلة ‎/48 من IPv6 تلقائياً، مُنفَّقةً عبر مُرحِّلات عامة. وقد أُهمل في RFC 7526 سنة 2015 — إذ لم يكن للمرحِّلات مشغّل مسؤول، وكانت أعطاله من أسوأ الأنواع: متقطعة وبطيئة ويستحيل على المستخدم تشخيصها.

NAT64 (64:ff9b::/96) معمول به اليوم ويُستعمل يومياً. وبخاصةٍ مشغّلو الهاتف المحمول الذين يديرون شبكات IPv6 فقط ويترجمون عند الحافة، فيصل بذلك هاتف لا يملك سوى IPv6 إلى خدمات لا تملك سوى IPv4. وهو حقيقي، لكنه خاصية للشبكة التي أنت داخلها، لا عنواناً يمكنك أن تعطيه لأحد.

لماذا لا يستطيع البروتوكولان التخاطب ببساطة

سؤال وجيه بعد ثلاثين سنة من الانتقال. والجواب أن IPv6 ليس IPv4 بعناوين أطول — بل هو بروتوكول مختلف بترويسة مختلفة، والموجّه الذي يتعامل مع أحدهما لا سبيل لديه لتمرير حزمة من الآخر. فليس في ترويسة IPv4 موضع يتّسع لعنوان بطول 128 بتاً.

لذا يحتاج كل مسار بينهما إلى شيء في الوسط: مضيف مزدوج يشغّل الاثنين، أو مترجم مثل NAT64، أو وكيل ينهي اتصالاً وينشئ آخر. وهذا وحده سبب بطء الانتقال، وسبب أن الجواب العملي عن سؤال «كيف أدعم IPv6؟» يكون دائماً تقريباً «شغّل المكدّس المزدوج» لا «حوّل شيئاً ما».

ذات صلة

لمعرفة البروتوكول الذي تصل به إلى الإنترنت فعلاً، يبلّغ فاحص IP عن عائلة العناوين التي استعملها اتصالك. ولتقسيم العنوان الذي لديك إلى شبكات فرعية، تغطي حاسبة الشبكات الفرعية جانب IPv4.

أسئلة وُجدت هذه الصفحة للإجابة عنها

ما مقابل عنوان IPv4 الخاص بي في IPv6؟

لا يوجد مقابل، وهذه أهم فكرة في الصفحة. فعناوين IPv6 يخصّصها من يزوّدك بالاتصال — تأتيك من مزوّد خدمتك أو من شركة الاستضافة، من كتلة مخصّصة لهم. ولا يمكنك اشتقاق عنوان IPv6 من عنوان IPv4 تملكه، تماماً كما لا تشتق رقم هاتف من عنوان بريدي. أما ما تفعله الصيغ المعروضة هنا فهو تضمين عنوان IPv4 داخل صياغة IPv6 لأغراض تقنية بعينها، وذلك أمر مختلف.

لماذا يظهر في سجل خادمي ‎::ffff:203.0.113.5؟

لأن المقبس يستمع على IPv6 بينما وصل الاتصال عبر IPv4. فالمقبس المزدوج يعرض النظائر من نوع IPv4 على التطبيق بهذه الصيغة المُسقَطة كي لا تتعامل الشيفرة إلا مع نوع عنوان واحد. وهو اتصال IPv4 عادي. فإن كنت تحلّل السجلات أو تطابق العناوين مع قائمة سماح، فاحذف البادئة ‎::ffff: أولاً — إذ إن معاملته عنواناً مستقلاً سبب شائع لقواعد تكفّ عن المطابقة في صمت.

هل أستعمل عنوان 6to4؟

لا. كان 6to4 آلية أنفاق تلقائية تمنح أي مضيف يملك عنوان IPv4 عاماً كتلة ‎/48 من فضاء IPv6 عبر البادئة ‎2002::/16. وقد أُعلن إهماله رسمياً في RFC 7526 سنة 2015 لأنه كان يعتمد على موجّهات ترحيل عامة لا يتحمل أحد مسؤوليتها، فأنتج اتصالات بطيئة أو معطوبة بطرق يعجز المستخدم عن تشخيصها. فإن احتجت IPv6 فاحصل عليه من مزوّدك أو استعمل وسيط أنفاق له مشغّل مسؤول.

فيمَ يُستعمل ‎64:ff9b::؟

هو البادئة المعروفة لـ NAT64، المعرَّفة في RFC 6052. فالعميل الذي لا يملك سوى IPv6 ويحتاج الوصول إلى خادم لا يملك سوى IPv4 يرسل إلى ‎64:ff9b:: مع تضمين عنوان IPv4 في البتات الاثنتين والثلاثين الأخيرة؛ وتتولى بوابة NAT64 على المسار الترجمة. وهي آلية معمول بها اليوم ومنتشرة على نطاق واسع — وأبرز من ينشرها مشغّلو الهاتف المحمول الذين يديرون شبكات IPv6 فقط. غير أنها لا تعني شيئاً إلا داخل شبكة تشغّل بوابة كهذه؛ فالعنوان غير قابل للتوجيه على الإنترنت المفتوح.

هل يستطيع مضيفو IPv4 وIPv6 التخاطب مباشرةً؟

لا. فهما بروتوكولان منفصلان بصيغ حزم مختلفة، ولا تشغيل بينيّ مباشر بينهما — ولهذا بالذات استغرق الانتقال ثلاثين سنة. والتخاطب بينهما يحتاج دائماً إلى شيء في الوسط: مضيف مزدوج يتقن الاثنين، أو مترجم مثل NAT64، أو وكيل ينهي أحدهما وينشئ الآخر. ولهذا أيضاً فإن «حوِّل العنوان وحسب» ليس حلاً لأي شيء.

آخر مراجعة . وجدت شيئاً لم يعد محدَّثاً؟ أخبِرنا.