IPv6 في الواقع: الخطة والعناوين التلقائية والتشغيل المزدوج
درس 3 من 4
36️⃣ IPv6 في الواقع: الخطة والعناوين التلقائية والتشغيل المزدوج
الصورة الكبيرةعناوين IPv4 نفدت منذ سنوات، والإنترنت يعيش على NAT. اليوم نحو نصف المستخدمين الذين يصلون إلى Google يصلون عبر IPv6، وشبكات الجوال الكبيرة تعمل به أولًا. مهندس الشبكات في المرحلة المتوسطة لا يكفيه أن يعرف شكل العنوان، بل يجب أن يخطط له ويشغّله ويحميه.
ماذا تشاهد في الرسم: الموجّه يعلن البادئة، والجهاز يضيف إليها 64 بتًا من عنده، ويتأكد أن لا أحد يستخدم العنوان، ثم يتكلم. لا خادم ولا بث.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
عنوان IPv4 مثل رقم شقة في مبنى مزدحم نفدت شققه، فصار الجيران يتشاركون صندوق بريد واحدًا (NAT). IPv6 مدينة جديدة فيها لكل بيت شارع كامل. والجديد أن الجهاز يكتب عنوانه بنفسه: الموجّه يقول «هذا اسم الشارع»، والجهاز يضيف رقم بيته ويسأل الجيران «هل يسكن أحد هنا؟». وخلال سنوات الانتقال يحمل كل جهاز العنوانين معًا، ويختار الأسرع.
أنواع مهمة: Global unicast من 2000::/3، وLink-local fe80::/10 على كل واجهة ويستخدمها الموجّه كعنوان قفزة تالية، وULA fd00::/8 للداخل، وMulticast ff00::/8، ولا بث إطلاقًا. NDP (RFC 4861) فوق ICMPv6: RS 133، وRA 134، وNS 135، وNA 136. SLAAC (RFC 4862) يبني العنوان من بادئة الـ RA وبعدها عناوين خصوصية عشوائية مؤقتة (RFC 8981)، مع DAD لكشف التكرار. علم M يقول «خذ العنوان من DHCPv6»، وعلم O يقول «خذ DNS وغيره من DHCPv6». التشغيل المزدوج مع Happy Eyeballs (RFC 8305) يجرّب IPv6 أولًا ويقفز لـ IPv4 خلال نحو 250 ملّي ثانية إن تأخر. وفي شبكات IPv6 فقط تصل للمواقع القديمة بـ NAT64/DNS64.
قبل أن تبدأ
📍العناوين
تعرف شكل عنوان IPv6 واختصاره.
✂️الشبكات الفرعية
تعرف معنى البادئة /n.
الفكرة الجوهرية
1خطة العناوين: بالحدود لا بالعدّ
في IPv4 كنت تحسب «كم جهازًا؟» لتختار القناع. في IPv6 لا تحسب: كل شبكة /64 مهما كان عدد أجهزتها، لأن SLAAC يحتاج 64 بتًا للجهاز. الموقع يأخذ عادة /48 (65,536 شبكة) أو /56 من المزوّد (256 شبكة). اجعل الأرقام تحمل معنى: رقم يدل على الموقع ورقم على نوع الشبكة، وقسّم على حدود الأرقام الست عشرية (كل 4 بتات) لتقرأها العين.
لاحظ: الرقم الرابع في العنوان يقول لك الموقع ونوع الشبكة من نظرة واحدة.
import ipaddress
company = ipaddress.ip_network("2001:db8:4a00::/48") # documentation prefix
sites = list(company.subnets(new_prefix=52)) # 16 sites, one hex digit each
kinds = {1: "staff", 2: "voice", 3: "guests", 0xA: "servers"}
for site_no, site in enumerate(sites[1:3], start=1): # keep 0 for the head office core
print(f"site {site_no}: {site}")
nets = list(site.subnets(new_prefix=64))
for kind, name in kinds.items():
print(f" {name:<8} {nets[kind]}")
print("networks per site:", 2 ** (64 - 52))
print("addresses in one /64:", f"{2 ** 64:,}")2001:db8::/32 محجوز للتوثيق والأمثلة (RFC 3849). استخدمه في المختبر والشرح، ولا تعلنه في شبكة حقيقية.2NDP: الجيران يتعارفون بلا ARP
لا يوجد بث في IPv6، فلا يوجد ARP. بدلًا منه NDP فوق ICMPv6: الجهاز يرسل NS إلى عنوان multicast خاص بالعنوان المطلوب، فيرد صاحبه بـ NA وفيه MAC. والموجّه يرسل RA دوريًا (أو عند طلب RS) ليعلن البادئة والبوابة. لهذا فإن حجب ICMPv6 كله يكسر IPv6: لا جيران ولا بوابة ولا اكتشاف لحجم الحزمة (Packet Too Big).
| الرسالة | النوع | من يرسلها | بدل ماذا في IPv4 |
|---|---|---|---|
| طلب موجّه RS | 133 | جهاز يبدأ | — |
| إعلان موجّه RA | 134 | الموجّه | جزء من DHCP (البوابة) |
| طلب جار NS | 135 | أي جهاز | طلب ARP |
| إعلان جار NA | 136 | صاحب العنوان | رد ARP |
| الحزمة كبيرة | 2 | موجّه في الطريق | ICMP fragmentation needed |
3من أين يأتي العنوان؟ SLAAC وDHCPv6
علمان في رسالة RA يحددان الطريقة. M=0, O=0: SLAAC فقط، والجهاز يبني عنوانه وحده (وDNS من خيار RDNSS في الـ RA). M=0, O=1: SLAAC للعنوان، وDHCPv6 «عديم الحالة» لـ DNS. M=1: DHCPv6 كامل الحالة يوزّع العناوين ويسجلها، وهو ما تحبه بعض الشركات للتتبع. انتبه: أجهزة Android لا تدعم DHCPv6 كامل الحالة، فلا تعتمد عليه وحده.
هكذا كانت تُبنى العناوين قديمًا من MAC. الأنظمة الحديثة تستخدم أرقامًا عشوائية بدلها كي لا يتتبعك أحد بعنوانك.
import ipaddress
def eui64(prefix, mac):
parts = [int(b, 16) for b in mac.split(":")]
parts[0] ^= 0b00000010 # flip the universal/local bit
eui = parts[:3] + [0xFF, 0xFE] + parts[3:] # 48-bit MAC -> 64-bit interface ID
host = int.from_bytes(bytes(eui), "big")
return ipaddress.IPv6Address(int(ipaddress.IPv6Address(prefix)) | host)
print(eui64("2001:db8:4a00:1001::", "00:1a:2b:3c:4d:5e"))
print(eui64("fe80::", "00:1a:2b:3c:4d:5e"), "(link-local)")4العيش مع IPv4، والأمن
أشيع خطة انتقال: تشغيل مزدوج، كل جهاز بالعنوانين، والمتصفح يختار بـ Happy Eyeballs. وشبكات الجوال الحديثة تعمل بـ IPv6 فقط وتصل لمواقع IPv4 عبر NAT64 مع DNS64 الذي يصنع عنوان IPv6 من عنوان IPv4. أمنيًا: كل جهاز يأخذ IPv6 تلقائيًا حتى لو لم تخطط له، فإن كان جدارك يفحص IPv4 فقط فقد فتحت بابًا لا تراه. فعّل RA Guard على منافذ الأجهزة ليمنع إعلانات موجّه مزيفة.
مثال محلول
المسألة: شركة أخذت 2001:db8:4a00::/48 ولها ثلاثة فروع، في كل فرع: موظفون وصوت وضيوف. اكتب الخطة وطريقة توزيع العناوين لكل شبكة.
الحل: /52 لكل فرع، والرقم الأول من المجموعة الرابعة يدل على الفرع: الفرع 1 2001:db8:4a00:1000::/52، والفرع 2 2001:db8:4a00:2000::/52، والفرع 3 2001:db8:4a00:3000::/52. داخل الفرع 1: الموظفون 2001:db8:4a00:1001::/64، والصوت 2001:db8:4a00:1002::/64، والضيوف 2001:db8:4a00:1003::/64. الموظفون والضيوف: SLAAC مع RDNSS (يعمل على Android). الصوت: DHCPv6 عديم الحالة لخيارات الهواتف. وعلى كل المنافذ RA Guard، وقواعد الجدار نفسها مكتوبة لـ IPv4 وIPv6.
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| IPv6 أكثر أمانًا تلقائيًا لأنه أحدث. | فيه هجمات خاصة به مثل إعلانات RA المزيفة، وأخطر شيء أن يعمل في شبكتك دون أن تراقبه. |
| شبكة فيها 10 أجهزة تأخذ /124 لتوفير العناوين. | /64 دائمًا. أقل منها يكسر SLAAC، والعناوين ليست نادرة. |
| NAT ضروري في IPv6 للحماية. | الحماية من الجدار وقاعدة «امنع الوارد غير المطلوب»، لا من NAT. |
أين تقابله في العمل
📱مشغلو الجوال
شبكات IPv6 فقط مع NAT64 لملايين الهواتف.
☁️السحابة
الشبكات الافتراضية في السحابة تدعم التشغيل المزدوج وتوفّر عناوين IPv4 العامة المكلفة.
🏢شبكة الشركة
خطة /48 مرتبة تجعل قراءة السجلات والجدران أسهل.
اختبر فهمك
ما حجم الشبكة الذي تعطيه لأي VLAN في IPv6؟
SLAAC يحتاج 64 بتًا للجهاز، فكل شبكة /64.
ما الذي يحل محل ARP في IPv6؟
NDP فوق ICMPv6 يسأل عن الجار بـ NS ويجيب بـ NA.
رسالة RA فيها M=0 وO=1. كيف يأخذ الجهاز عنوانه؟
M=0 تعني العنوان من SLAAC، وO=1 تعني الخيارات الأخرى من DHCPv6.
حجبت ICMPv6 كله، فصارت بعض المواقع تتعلق. لماذا؟
الموجّهات في IPv6 لا تجزّئ الحزم، فتعتمد على Packet Too Big لتخبر المرسل.
أي تقنية تجعل هاتفًا في شبكة IPv6 فقط يفتح موقعًا عنوانه IPv4 فقط؟
DNS64 يصنع عنوان IPv6 للموقع، وNAT64 يترجمه إلى IPv4.
بطاقات مراجعة سريعة
تحقق من فهمك
لماذا لا تحسب عدد الأجهزة لتختار حجم شبكة IPv6؟
لأن كل شبكة /64 ثابتة، والتخطيط يكون لعدد الشبكات والمواقع لا الأجهزة.
جدارك يفحص IPv4 فقط، والأجهزة تعمل بالعنوانين. ما الخطر؟
حركة IPv6 قد تمر بلا فحص، فيصير لك باب خلفي لا تراه.
ما الفرق بين fd00::/8 و2000::/3؟
الأول عناوين داخلية خاصة (ULA) لا تخرج للإنترنت، والثاني عناوين عامة قابلة للتوجيه عالميًا.
مصادر هذا الدرس
مرتّبة بالنوع. ابدأ بالتوثيق الرسمي إذا تبي المرجع الدقيق، وبالمقال أو الفيديو إذا تبي الشرح أولًا.
خلّصت الدرس؟
سجّل الدخول ليُحفظ تقدّمك.