IPv6 Address:

فلسفه به وجود آمدن IPv6 ، بحث کمبود تعداد IPv4 در فضای Public ( فضای اینترنت ) است . به دلیل گسترش روز افزون اینترنت و بزرگ شدن آن ، IPv4 که تعداد آنها تقریباً نزدیک به 4 میلیارد است جوابگو مجموعه ها نیست . مجموعه ها اگر می خواهند اینترنت داشته باشند و اینترنت هم که روز به روز در حال بزرگ شدن است ، بنابراین نیازمند نوعی IP هستند که کمبودی در آن وجود نداشته باشد ، که این عدم کمبود در IPv6 وجود دارد .

مثال می زنیم :
تبلیغاتی را در تلویزیون مشاهده می کنید که ، از ما یخچال بخرید تا محتویات داخل یخچال را از محیط کار خورد ببینید یا مثلا ، از 10 دقیقه قبل از اینکه به خانه برسید کولر را روشن کنید . وقتی شما در مورد آنها تحقیق می کنید ، متوجه می شوید که داخل آنها یک کارت شبکه قرار دارد که به اینترنت خانه متصل است و یک IP هم گرفته است . حال این IP را در Web Browser تایپ می کنید و به آنها متصل می شوید .

اگر این شرایط ادامه پیدا کند ، فردا روز علاوه بر کامپیوتر ، لپ تاپ ، موبایل ، یخچال ها و کولر ها هم IP نیاز دارند . بنابراین IPv4 جوابگو نخواهد بود و ما نیازمند نوع دیگری از IP هستیم که کمبودی را حالا حالا در آن احساس نشود و آن IPv6 می باشد .

👈 نکته ای که در تصویر وجود دارد ، اینکه در اینترنت همه بزرگان آماده هستند . من و شما هم به عنوان کسانی که در دنیای شبکه قرار است کار کنیم ، باید بدانیم که نزدیک به چند دهه است که 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:

IPv6 شامل اعداد و حروف است و به دلیل طول بسیار زیادی که دارد ، حفظ کردن آن به مراتب از IPv4 سخت تر است . قائده خلاصه نویسی استفاده می شود که شما کمتر تایپ کنید .

قانون خلاصه نویسی بدین شرح است :

1 قانون می گوید اگر در IPv6 عدد ( 0 ) سمت چپ کاراکتر بود ، آن صفر بی ارزش و قابل حذف شدن است .

2 وجود 2 تا :: در کنار هم نشان دهنده این است که این وسط یک سری بیت تمام صفر حذف شده است و فرقی هم نمی کند که چند تا بوده است . طبق تصویر در مثال اول :
7 تا 16 بیتی تمام صفر داریم ، که می توانید 16 بیتی های تمام صفر را کلاً ننویسید و به جای آن از :: استفاده کنید .
12 بیت سمت چپ کارکتر قابل حذف شدن است که می توانید آن را حذف کنید . 👈 بنابراین کلاً 124 بیت حذف شد .

3 در ساختار IPv6 فقط 1 بار حق داریم از 2 تا :: استفاده کنید . بنابراین این روش اشتباه است . 👈 2001 :: 3210 :: 1234


 IPv6

سناریو :
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 )

👈 روند کار بدین شرح است . ( طبق تصویر )


 IPv6

💻 کاربر درخواست 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

ترافیک ها در 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 در ویندوز :

چیدمان محیط تنظیمات 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

نکاتی در بحث IPv6 :

فرض کنید سرویس DNS Server بر روی ویندوز Server فعال است و کامپیوتر ها را زیر مجموعه Hamed.Shiraz 👈 Zone قرار دادید ، بعد از تنظیم IPv6 بر روی سیستم ها رکورد های آنها به صورت Host(AAAA) در DNS Server قابل مشاهده است . ( ایول Dynamic Update )

جهت تست DNS ، در محیط خط فرمان ویندوز از دستور nslookup استفاده کنید ( مثلا ، در مورد رکورد Server1 در Hamed.Shiraz 👈 Zone )


 IPv6