IPv6 Address:
فلسفه به وجود آمدن IPv6 ، بحث کمبود تعداد IPv4 در فضای Public ( فضای اینترنت ) است . به دلیل گسترش روز افزون اینترنت و بزرگ شدن آن ، IPv4 که تعداد آنها تقریباً نزدیک به 4 میلیارد است جوابگو مجموعه ها نیست . مجموعه ها اگر می خواهند اینترنت داشته باشند و اینترنت هم که روز به روز در حال بزرگ شدن است ، بنابراین نیازمند نوعی IP هستند که کمبودی در آن وجود نداشته باشد ، که این عدم کمبود در IPv6 وجود دارد .
مثال می زنیم :
تبلیغاتی را در تلویزیون مشاهده می کنید که ، از ما یخچال بخرید تا محتویات داخل یخچال
را از محیط کار خورد ببینید یا مثلا ، از 10 دقیقه قبل از اینکه به خانه برسید کولر
را روشن کنید . وقتی شما در مورد آنها تحقیق می کنید ، متوجه می شوید که داخل آنها
یک کارت شبکه قرار دارد که به اینترنت خانه متصل است و یک IP هم گرفته است . حال این
IP را در Web Browser تایپ می کنید و به آنها متصل می شوید .
اگر این شرایط ادامه پیدا کند ، فردا روز علاوه بر کامپیوتر ، لپ تاپ ، موبایل ، یخچال ها و کولر ها هم IP نیاز دارند . بنابراین IPv4 جوابگو نخواهد بود و ما نیازمند نوع دیگری از IP هستیم که کمبودی را حالا حالا در آن احساس نشود و آن IPv6 می باشد .
👈 نکته ای که در تصویر وجود دارد ، اینکه در اینترنت همه بزرگان آماده هستند . من و شما هم به عنوان کسانی که در دنیای شبکه قرار است کار کنیم ، باید بدانیم که نزدیک به چند دهه است که IPv6 به بازار آمده است و به هر حال فضایی از اینترنت را به خودش اختصاص داده است . بنابراین من و شما باید بتوانیم بر روی IPv6 کار کنیم .
تفاوت های بین IPv4 و IPv6 :
✔️ اولین تفاوت بین آنها در
تعداد بیت ها و مبنا ها است :
IPv4 آدرس 32 بیتی
در مبنای 10
می باشد ، که نهایتا 4 میلیارد IP در آن وجود دارد . ( 32^2 )
IPv6 آدرس 128 بیتی
در مبنای 16
( در نگارش آن مخلوطی از اعداد و حروف ) می باشد ، که 340 میلیارد میلیارد IP در آن وجود دارد . ( 128^2 )
✔️ در IPv6 کلاس بندی ( A ، B ، C ) نداریم ، اما در IPv4 کلاسی بندی وجود دارد .
✔️
در IPv4 ، به عددی که با ( / ) ، پشت IP نوشته می شود Prefix می گویند . بنابراین
Prefix می شود تعداد کل بیت های (1) 👈 Subnet Mask و شامل :
Net ID
: آن قسمت از IP که Subnet Mask آن بیت 1 داشته باشد .
Host ID
: آن قسمتی از IP که Subnet Mask آن بیت 0 داشته باشد .
اما در IPv4 یک معادل به Subnet Mask وجود داشت ، که شما به این ترتیب می نوشتید .
در Prefix 👈 IPv6 وجود دارد ، اما معادلی ندارد ( Subnet Mask در کار نیست ) و
همه چیز را با Prefix
نشان می دهند . البته
Prefix همان معنای Net
ID و Host ID را می دهد .
Prefix پیش فرض 64 است ( Net ID = 64bit ، Host
ID = 64bit )
✔️ سیستم عاملی که هر 2 ورژن IP را پشتیبانی کند به ،
Dual Stack-Hosts
معروف است .
( یعنی اگر کسی با IPv4 صحبت کند با IPv4 جواب می دهد و اگر
کسی با IPv6 صحبت کند با IPv6 جواب می دهد )
فرمت IPv6 :
✔️ IPv6 آدرس 128 بیتی در مبنای 16 ( Hex ) که تشکیل شده از 8 قسمت 16 بیتی که به
( : ) از هم جدا شده اند .
✔️ در مبنای 16 ( Hex ) ، اعداد
0 تا 9 و حروف A تا F را
داریم ، بنابراین هر کارکتر 4 بیت حساب می شود . ( مثلا 2001 یعنی 16 بیت )
✔️ IPv6 به حروف کوچک و بزرگ حساس نیست .
قائده خلاصه نویسی در IPv6:
IPv6 شامل اعداد و حروف است و به دلیل طول بسیار زیادی که دارد ، حفظ کردن آن به مراتب از IPv4 سخت تر است . قائده خلاصه نویسی استفاده می شود که شما کمتر تایپ کنید .
قانون خلاصه نویسی بدین شرح است :
1
قانون می گوید اگر در IPv6 عدد (
0 ) سمت چپ کاراکتر بود
، آن صفر بی ارزش و قابل حذف شدن است .
2
وجود 2 تا ::
در کنار هم نشان دهنده این است که این وسط یک سری بیت تمام صفر حذف شده است و فرقی
هم نمی کند که چند تا بوده است . طبق تصویر در مثال اول
:
7 تا 16 بیتی تمام صفر داریم ، که می توانید 16 بیتی های تمام صفر را
کلاً ننویسید و به جای آن از :: استفاده کنید .
12 بیت سمت چپ کارکتر قابل حذف شدن است که می توانید آن را حذف کنید . 👈 بنابراین کلاً 124 بیت حذف شد .
3
در ساختار IPv6 فقط 1 بار حق داریم از 2 تا :: استفاده کنید . بنابراین این روش اشتباه است . 👈 2001 :: 3210 :: 1234
سناریو :
4 بازه
ی رنج IPv6 وجود دارد و قرار است 4 تا کامپیوتر را با یکدیگر شبکه کنید .
4A27 : A7 : B7 :: 1 /3
3A : 3 : 12 :: 3 /3
2BE1 : ABCD :: 5 /3
312A : 7 : A1B :: 1 /3
سوال :
آیا از این 4 بازه نوشته شده ، بازه هایی که در یک رنج باشند را می بینید ؟
اولاً این جور IP ها به هیچ عنوان از روی ظاهر آنها ، نمی توان تشخیص داد که آیا هم
شبکه ای هستند یا خیر.
نکته دیگر این است که ، Prefix تکلیف را مشخص کرده است . 👈
3/ ( هر کدام از IP ها
که ، 3 بیت اول آنها 001 است ، هم رنج یکدیگر هستند )
می دانیم در مبنای
16 هر کارکتر 4 بیت است . بنابراین باید این کارکتر ها را به مبنای 2 ببرید و 3
بیت از 4 بیت آن را با هم مقایسه کنید .
4A27 : A7 : B7 :: 1 👉 0100
3A : 3 : 12 :: 3 👉 0000
2BE1 : ABCD :: 5 👉 0010
312A : 7 : A1B :: 1 👉 0010
با توجه به این که Net ID ها با یکدیگر هم خوانی ندارند ، جهت اتصال این 4 تا
کامپیوتر به یکدیگر ، نیازمند یک Router با 3 تا Interface هستید .
( یک
Gateway 👈 Interface ، کامپیوتر های 3 و 4 ) ، ( یک Gateway 👈 Interface
کامپیوتر دوم ) و ( یک Gateway 👈 Interface ، کامپیوتر اول )
نتیجه ای که می توان از این سناریو گرفت ، جدول تغییرات باینری به Hex زمانی حائز اهمیت است که Prefix شما مضرب 4 نباشد . اگر مضرب 4 باشد ، یعنی کل 4 آیتم شرط است و از روی ظاهر آنها می توان تشخیص دارد ، اما وقتی مضرب 4 نیست شما مجبور هستید بیت ها را بشکافید و از روی بیت ها تشخیص دهید که آیا هم رنج هستند یا خیر .
قائده EUI-64 Bit:
این قائده به عملکرد DHCP در IPv6 بر می گردد . ( DHCP سرویسی است که به افراد به صورت اتوماتیک IP می دهد و افراد نیاز به تایپ IP به صورت دستی نیستند )
کارکرد DHCP در IPv4
بدین صورت است که ، افراد سراغ DHCP می آیند و یک IP شسته رُفته کامل دریافت کرده
و با آن کار می کردند . ( فقط همین یک حالت در IPv4 وجود دارد )
اما در IPv6 ، دو حالت وجود دارد :
Stateful DHCPv6 :
در این روش کاربر از DHCP ، یک IP کامل 128 بیتی دریافت می کرد و با آن
کار می کرد . ( روش سنتی )
Stateless DHCPv6 :
در حالت Stateless بخشی از IP به کاربر داده شده و بخشی دیگر را کاربر خودش
باید بسازد ، بنابراین کاربر در ساخت IP که دارد استفاده می کند ، دخیل است . ( قائده
EUI-64 Bit )
👈 روند کار بدین شرح است . ( طبق تصویر )
💻 کاربر درخواست IP می فرستد و این در خواست به Router می رسد .
🌐 Router به PC1 می گوید ، چی چیزی نیاز داری ؟
💻 من به Prefix ، IP و Gateway نیاز دارم .
🌐 Router می گوید ، ای PC1 این Gateway من است ، بنابراین آن را در بخش Gateway خودت
بنویس .
🌐 آیا قبول داری که من و تو هم شبکه ای هستیم ؟
💻 بله هم شبکه ای هستیم .
🌐 Prefix من 64 است ، بنابراین در بخش Prefix خودت عدد 64 را وارد کن .
💻 IP را چه کار کنم ؟
🌐 Prefix ما برابر 64 است ، یعنی 64 بیت مشترک داریم . این 64 بیت IP را داشته باش .
💻 64 بیت دوم کجا است ؟
🌐 روتو کم کن و بقیه را خودت بساز .
👈 سیستم تازه از اینجا بازیش شروع می شود . Gateway ، Prefix و نصف IP را در اختیار دارد و طبق قائده EUI-64 Bit ، شروع به ساخت 64 بیت دوم می کند .
قائده EUI-64 Bit می
گوید ، ای سیستم در خودت جستجو کن و یک آیتم پیدا کن ، که 2 شرط داشته باشد :
✔️مبنای آن با IPv6 یکی باشد . ( مبنای 16 ( Hex ) ) و آدرس آن منحصر به فرد
باشد .
سوال :
سیستم از MAC Address استفاده می کند که منحصر به فرد و در مبانی 16 است . اما MAC یک آدرس 48 بیتی است و 16 بیت کم دارد ، آن 16 بیت کمبود را چه کار کنیم ؟ 🤔
MAC Address را از وسط نصف کنید ، ( FFFE ) را وسط آن می گذارید و این FFFE در حقیقت 16 بیت کمبود شما را جبران می کند . حالا اینکه چرا وسط قرار می گیرد ، شاید خواسته است که 24 بیت اول که مربوط به کد کار خانه است دستکاری نشود .
تبصره :
بیت هفتم
از چپ به راست به باینری 0 یا 1 تبدیل کنید . ( حالا اینکه چرا ، باز هم می
توانیم به 24 بیت اول ، کد کار خانه ربط دهیم ، که کد کارخانه در IP نباشد )
ترافیک ها در IPv6 :
Unicast:
یک نوع ترافیک یک به یک است. یک نفر می فرستد و یک نفر می گیرد . معمول ترین و متداول
ترین ارتباط در شبکه های کامپیوتری است .
Anycast:
یعنی فرستادن به اولین ( نزدیکترین آدرس )
Multicast:
Multicast در IPv6 ، همان Broadcast در IPv4 است . یک نوع ارتباط یک به همه است . ترافیک مزاحمی است و از بین نمی رود . هدف آن تمامی دستگاه های داخل شبکه است .
دسته بندی IPv6 :
IP Public :
IP هایی که با 2 یا 3
شروع می شوند و در فضای اینترنت مورد استفاده قرار می گیرند.
IP Private :
IP هایی که با FD
شروع می شوند و در شبکه های داخلی قابل استفاده هستند .
IP Multicast :
IP هایی که با FF02
شروع می شوند ، Multicast ها هستند . ( Broadcast قدیم )
IP Link Local :
پیش فرض سیستم عامل است . در تنظیمات IP Addressing اگر تیک IPv6 را فعال کنید ، سیستم
به خودش IP می دهد ، که این IP ها با
FE8, FE9, FEA, FEB
شروع می شوند .
حتی اگر سیستم را مسلط به IPv6 کنید ، سیستم به
خودش IP Link Local را می دهد . ( برای زمانی است که اگر به سیستم IPv6 ندادید ، دستش
خالی نباشد و بتواند به ملت جواب بدهد )
تنظیمات IPv6 در ویندوز :
چیدمان محیط تنظیمات IPv6 ، معادل IPv4 است . فقط شاید نکته قابل تأمل آن آیتم Prefix باشد که به جای Subnet Mask نشسته است .
✔️ کلید windows + R
جهت باز کردن صفحه Run استفاده کنید .
✔️ استفاده از دستور ncpa.cpl
👈 این دستور شما را مستقیم به محیط کارت شبکه می برد و دیگر نیازی به گرفتن چند Propertise
نیست .
✔️ در مرحله بعد ، روی کارت شبکه مورد نظر ،
Propertise
بگیرید .
✔️ بعد از Propertise صفحه ای پیش روی ما باز می شود و در آنجا وارد بخش
IPv6
شوید .
✔️ در پنجره باز شده ، به صورت پیش فرض سیستم عامل تنظیمات صفحه IP Addressing را
برو روی Automatically قرار داده است . یعنی IP را از DHCP بگیر . ما که DHCP
نداریم ، بنابراین خودمان به صورت دستی به آن IP می دهیم . 👈 قائده IP Private
را رعایت کنید . IP Public هم کار می کنید اما اگر که به اینترنت متصل شویم،
مشکل ساز خواهد شد .
✔️ اگر کلید TAB را بزنید ، سیستم عامل به صورت پیش فرش Prefix کلاس IP را به
شما نشان می دهد .
✔️
برای اینکه به ویندوز Server بگوییم ، اگر برای خودت سوال پیش آمد از DNS Server خودت بپرسد ، IPv6 ویندوز سرور یا آدرس Loopback
را وارد کنید .
👈 نکته ای که حائز اهمیت است ، در Firewall ویندوز در در لیست Inbound Rules به دنبال ICMPv6 بگردید و Echo Request آن را حتماً آزاد کنید .
نکاتی در بحث IPv6 :
فرض کنید سرویس DNS Server بر روی ویندوز Server فعال است و کامپیوتر ها را زیر مجموعه Hamed.Shiraz 👈 Zone قرار دادید ، بعد از تنظیم IPv6 بر روی سیستم ها رکورد های آنها به صورت Host(AAAA) در DNS Server قابل مشاهده است . ( ایول Dynamic Update )
جهت تست DNS ، در محیط خط فرمان ویندوز از دستور nslookup استفاده کنید ( مثلا ، در مورد رکورد Server1 در Hamed.Shiraz 👈 Zone )