آی پی نسخه 4
فهرست مطالب
- شبکه رایانهای (به اختصار: شبکه)
- IP Addressing
- IP آدرس چیست و چه ساختاری دارد ؟
- Classful Addressing
- شناسای کلاسIP از طریق روش باینری
- شناسای کلاسIP از طریق روش دسیمال
- کلاس های IP و شناسایی شبکه و هاست (Netid and hostid)
- کلاس های ﺧﺎص
- Network ID & Broadcast address
- Subnet Mask
- Mask های پیش فرض در کلاس های IP
- CIDR (Classless Inter-Domain Routing)
- آدرس های Public / Private
- منابع
شبکه رایانهای (به اختصار: شبکه)
همانطور که از عنوان این مطلب نمایان است از به هم پیوستن و اتصال دو یا چند سیستم (مانند کامپیوتر، لپتاپ، و…) که قابلیت انتقال اطلاعات بین خود را دارند شبکه رایانهای بوجود می آید.
شبکه باعث تسهیل ارتباطات میان کاربران شده و اجازه میدهد کاربران منابع (فایل ها، پرینتر، پردازنده و …) خود را به اشتراک بگذارند.
IP Addressing
هر سیستم برای ارتباط با سایر سیستم ها در یک شبکه و نیز تبادل اطلاعات نیاز به یک آدرس یکتا و منحصر بفرد دارد که IP نامیده می شود.
IP هر سیستم در یک شبکه باید منحصر بفرد ( Unique ) باشد بعبارتی دو سیستم در یک شبکه نمی توانند آدرس یکسانی داشته باشند.
بنابراین هر کامپیوتر در شبکه با آدرسIP شناخته می شود.
IP آدرس چیست و چه ساختاری دارد ؟
یک IP آدرس متشکل از 32 بیت داده است که بصورت 4 بخش 8 بیتی که به آنها Octet گفته می شود از یکدیگر تفکیک شده اند.
01110101 10010101 00011101 11101010
Classful Addressing
ﻫﺮ آدرس ﺷﺎﻣﻞ دو ﺑﺨﺶ اﺳﺖ ﻗﺴﻤﺖ ﻣﺮﺑﻮط ﺑﻪ ﺷﺒﮑﻪ Network و ﻗﺴﻤﺖ مربوط به ﻣﯿﺰﺑﺎن Host
دﻗﯿﻘﺎ ﻣﺎﻧﻨﺪ ﻧﺎم و ﻧﺎم ﺧﺎﻧﻮادﮔﯽ در ﻧﺎم اﻓﺮاد
ﻣﺜﺎل: 192.168.1.16
به طور کلی کلاس های IP به 5 دسته تقسیم می شوند:
A, B, C, D, and E.
شناسای کلاسIP از طریق روش باینری
شناسای کلاسIP از طریق روش دسیمال
کلاس های IP و شناسایی شبکه و هاست (Netid and hostid)
کلاس های ﺧﺎص
آدرس Loopback ﮐﻪ ﺑﺎ 127 ﺷﺮوع ﺷﺪه و اﮐﺘﺖ اول آن ﺷﺎﻣﻞ 01111111 اﺳﺖ ﺑﺮاي آزمایش ﺧﻮد ﺳﯿﺴﺘﻢ رزرو ﺷﺪه است بعنوان ﻣﺜﺎل آدرس 127.0.0.1 آدرﺳﯽ ﺧﺎص اﺳﺖ و ﺑﻪ ﻣﻌﻨﯽ ﺧﻮدم Myself یا Local Host اﺳﺖ.
ﻫﻤﭽﻨﯿﻦ ﮐﻼسE ﮐﻪ از240 ﺷﺮوع ﺷﺪه و ﺗﺎ 254 اداﻣﻪ دارد و اﮐﺘﺖ اول آن ﺷﺎﻣﻞ 1111xxxx اﺳﺖ ﺟﻬﺖ ﻋﻤﻠﯿﺎت ﻣﺎلتی کستینگ رزرو ﺷﺪه است.
مثال: مشخص نمایید آدرس ﻫﺎي زیر جزو کدام کلاسIP هستند و آیا در ﯾﮏ ﺷﺒﮑﻪ وﺟﻮد دارﻧﺪ ؟
IP Address 1: 80.81.26.50
IP Address 2: 80.83.15.44
پاسخ: اﺑﺘﺪا ﻣﺸﺨﺺ ﻣﯽﮐﻨﯿﻢ ﮐﻪ در ﮐﺪام ﮐﻼس ﻫﺴﺘﻨﺪ ﭼﻮن ﻣﯽﺧﻮاﻫﯿﻢ ﺑﺨﺶNetwork و Host را از ﻫﻢ ﺟﺪا ﮐﻨﯿﻢ.
ﭼﻮن ﻗﺴﻤﺖ Network ID مانند یکدیگرهستند و در ﯾﮏ ﮐﻼس ﻗﺮار دارﻧﺪ ﭘﺲ در ﯾﮏ ﺷﺒﮑﻪ ﻫﺴﺘﻨﺪ ، همچنین چون اولین بیت اوکتت اول صفر میباشد کلاس A میباشد.
Network ID & Broadcast address
در ﻫﺮ Rang از آدرس ﻫﺎي درون ﯾﮏ ﺷﺒﮑﻪ دو آدرس ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮد وﺟﻮد دارد ﮐﻪ آﻧﻬﺎ را نمی توان ﺑﻪ ﻋﻨﻮان آدرس ﻣﻌﺘﺒﺮ ﺑﻪ ﻧﻮد ﻫﺎ اﺧﺘﺼﺎص داد ﮐﻪ ﻋﺒﺎرﺗﻨﺪ از: Network ID ﯾﺎ ﻫﻤﺎن ﻣﺸﺨﺼﻪ ﻣﻌﺮﻓﯽ ﮐﻨﻨﺪه ﺷﺒﮑﻪ اﺳﺖ.
Broadcast Address ﮐﻪ ﺑﺮاي دﺳﺘﺮﺳﯽ ﺑﻪ ﻫﻤﻪ ﻧﻮدﻫﺎي ﺷﺒﮑﻪ ﺑﮑﺎر ﻣﯽ رود.
ﺑﺮاي ﺑﻪ دﺳﺖ آوردنNetwork ID ﻫﻤﻪ ﺑﯿﺘﻬﺎي ﻗﺴﻤﺖHost را ﺻﻔﺮ ﻣﯽ ﮐﻨﯿﻢ و ﺑﺮاي ﺑﻪ دﺳﺖ آوردنbroadcast address ﻫﻤﻪ ﺑﯿﺘﻬﺎي ﻗﺴﻤﺖ host را 1 ﻣﯽ ﮐﻨﯿﻢ.
مثال: آدرس زیر را تحلیل کنید و Netid و Broadcast address آن را بیابید ؟
80.125.11.144
پاسخ: این آدرس از کلاس نوعA است بنابراین:
اولین آدرس این شبکه 80.0.0.1 و آخرین آدرس آن 80.255.255.254 می باشد.با توجه به مثال بالا می توان گفت آدرس های یک شبکه برابر است با:
که در آنn تعداد بیت های قسمتhost می باشد.
Subnet Mask
آﻣﻮﺧﺘﯿﻢ ﮐﻪ ﻫﺮ آدرس از دو ﺑﺨﺶ Network وHost ﺗﺸﮑﯿﻞ ﺷﺪه اﺳﺖ و اﯾﻦ دو ﻗﺴﻤﺖ ﻣﺸﺨﺺ ﻣﯽﮐﻨﻨﺪ ﮐﻪ دو آدرس ﻣﺘﻌﻠﻖ ﺑﻪ ﯾﮏ ﺷﺒﮑﻪ ﻫﺴﺘﻨﺪ ﯾﺎ ﺧﯿﺮ ﮐﺎﻣﭙﯿﻮﺗﺮ ﻫﺎ ﺑﺮای ﺗﻔﮑﯿﮏ اﯾﻦ دو ﺑﺨﺶ از ﯾﮏ دﯾﮕﺮ از ﻣﻔﻬﻮﻣﯽ ﺑﻪ ﻧﺎم Subnet Mask استفاده می کنند.
Subnet Mask نیز مانند IP از چهار Octet تشکیل با این تفاوت که به ازاء بیت های مربوط به Network در Subnet Mask عدد 1 را و Hostid را 0 جایگذاری می نماییم.
کامپیوتر برای محاسبه Netid از قانون AND منطقی استفاده می نماید بدین گونه که IP Address را با Subnet Mask ، And می نماید حاصل بدست آمده Netid میباشد.
مثال:
IP Address Class A: 80.122.11.55
01010000.01111010.00001011.00110111 And 11111111.00000000.00000000.00000000 = 01010000.00000000.00000000.00000000
در برخی موارد نیاز است یک کلاس آدرس بزرگ به تعداری کلاس کوچکتر شکسته شود این کار با قرض گرفتن تعدادی بیت از قسمتHost آن به قسمت Network صورت می گیرد.
برای این منظور اگر تعداد حداقلIP ها یعنی Host ها در هر شبکه مورد نظر ما باشد از فرمول زیر استفاده می کنیم:
H تعداد بیتهایی است که از سمت راست ازHost می شماریم و به بیت های Network قرض می دهیم.
اگر تعداد زیر شبکه مد نظر بود از فرمول زیر استفاده می کنیم:
n تعداد بیت هایی است که باید برایHost در نظر گرفت و الباقی بیت های Network می باشد.
مثال: شبکه 10.0.0.0 مربوط به شرکت ما می باشد ، آن را طوری Subnetting نمایید که حد اقل 5 زیر شبکه ایجاد نماید؟
جواب:
مثال: شبکه 127.16.0.0 را طوری Subnetting نمایید که حد اقل 300 IP قابل آدرس دهی داشته باشد ؟
Mask های پیش فرض در کلاس های IP
- Class A default mask is 255.0.0.0
- Class B default mask is 255.255.0.0
- Class C Default mask 255.255.255.0
CIDR (Classless Inter-Domain Routing)
با توجه به مفهوم Classful Addressing که در مطالب گذشته بررسی گردید مشخص شد چنانچه رنج آدرس دهی ما طبق طبقه بندی کلاس آدرس ها تعیین گردد مطابق با آن نیز از Subnet Mask معادل آن کلاس استفاده میشود یعنی :
255.0.0.0 (Class A)
255.255.0.0 (Class B)
255.255.255.0 (Class C)
از این روی چنانچه توسط Subnetting اقدام به آدرس دهی نموده باشید بطوری که از طبقه بندی Subnet Mask کلاس ها خارج شده باشد ، به این نوع آدرس دهی Classless Addressing می گویند به Subnet Mask زیر توجه نمایید:
IP: 192.168.1.1 – 192.168.1.255 (Class C)
Subnet Mask: 255.255.255.0 (Class C)
IP: 192.168.1.1 – 192.168.1.128 (Classless)
Subnet Mask: 255.255.255.128 (Classless)
به دلیل اینکه نمایش آدرس IP در رنج Classful و رنج Classless بدون ذکر Subnet Mask مشابه یکدیگر می باشند و اضافه نمودن Subnet Mask نیز فیلد زیادی به خود اختصاص میدهد از این روی روش CIDR ابداع شد ، در این روش تعداد بیت های مربوط به Netid با یک اسلش جدا کننده از آدرس IP تفکیک میگردد به عنوان مثال:
IP: 192.168.1.1
Subnet Mask: 255.255.255.128 (Classless)
IP:11000000.10101000.00000001.00000001
Subnet Mask: 11111111.11111111.11111111.10000000
CIDR: 192.168.1.1/25
Public / Private
آدرس های عمومی:
آدرس های عمومی توسط سازمانICANN صادر میشود و شامل شناسه های شبکه Network Ids کلاس بندی شده (دسته بندی قدیمی) و پیشوندهای آدرسی بر پایه روش CIDR روش مدرن می باشد. در مورد پیشوندهای آدرسی بر اساس روش مدرن CIDR، مقدارw اکتت اول در بازه های 1 تا 126 و 128 تا 223 میباشند. البته در این بین پیشوندهای آدرسی از جنس آدرس خصوصی private بصورت استثنا وجود دارند که در بخش آدرس های خصوصی به بیان آن ها می پردازیم.
هنگامی که آدرس های عمومی تخصیص داده شد، مسیرها به روترها (مسیریاب ها) ی اینترنتی اضافه میشوند؛ بنابراین ترافیک به آدرسی که با معادل آدرس عمومی آن تطبیق دارد ارسال میشود.
آدرس های خصوصی:
هر اینترفیسی به آدرسی احتیاج دارد تا در کل شبکه خاص و منحصربفرد باشد. اگر این شبکه اینترنت باشد، هر اینترفیس در یک زیر شبکه متصل به اینترنت به ادرسی احتیاج دارد که در کل اینترنت خاص و منحصربفرد باشد. همگام با رشد اینترنت، نیاز شرکت های متصل به اینترنت برای تخصیص آدرسIP به اینترفیس های موجود در اینترانت خود نیز بیشتر میشود. این موج از نیاز به اینترنت با رشد روز افزون خود ظرفیت تخصیص آدرس های عمومی را بخطر انداخته است.
با تحلیل آدرس های مورد نیاز شرکت ها، طراحان اینترنت به این نتیجه رسیده اند که در بسیاری از شرکت ها، بسیاری از هاست ها نیازی به ارتباط مستقیم به اینترنت ندارند. این دسته از سیستم ها که به مجموعه خاصی از سرویس های اینترنتی مثل دسترسی وب و ایمیل غالبا نیاز دارند، نوعا از طریق Gateway های موجود در لایه Application مثل سرورهای پروکسی و سرورهای ایمیل، سرویس های اینترنت خود را دریافت میکنند.
بسیاری از شرکت ها به بازه محدودی از آدرس های اینترنتی برای سرورهای پروکسی، سرورهای ایمیل، روترها، فایروال ها و سیستم هایNat کننده ارتباطات که مستقیما به اینترنت متصل هستند، نیاز دارند.
اما برای آدرس دهی هاست های موجود در شرکت که به دسترسی مستقیم به اینترنت نیازی ندارند، آدرس هایی نیاز هست که با آدرس های عمومی تخصیص یافته در اینترنت یکسان نباشند. برای حل مشکل آدرس دهی، طراحان اینترنتی بخشی از فضای آدرس دهی IPv4 را رزرو کرده اند و نام این محدوده از آدرس ها را فضای آدرس های خصوصی نامگذاری کرده اند. یک آدرس IPv4 در فضای آدرس خصوصی به هیچ عنوان تحت نام یک آدرس عمومی به دیوایسی در اینترنت اختصاص داده نمیشود. ادرس های IPv4 ای که در محدوده آدرس خصوصی قرار دارند به آدرس های خصوصی معروف هستند. به علت ان که آدرس های عمومی و خصوصی با یکدیگر همپوشانی ندارند، آدرس های خصوصی هر با آدرس های عمومی یکی نخواهند شد.
فضای آدرس خصوصی در RFC 1918 با پیشوندهای آدرسی زیر تعریف شده است:
Supernetting
دقیقا عمل عکس Subnetting است. یعنی چند شبکه کوچک را با هم ادغام نمود و یک یا چند شبکه بزرگ بوجو آورد ، نکته مهم این است که هر دو شبکه ای را نمی توان باهم Supernetting نماییم.
مثال: آدرسIP به دست آورید که نمایانگر چهارشبکه زیر باشد :
- 1.10.128.0.0/11
- 2.10.160.0.0/11
- 3.10.192.0.0/11
- 4.10.224.0.0/11
جواب:
ابتدا آدرس ها را به صورت باینری مینویسیم.
اگر به قسمت Network توجه کنید، هر 4 شبکه در 9 بیت اول مقدارشان مشترک است پس میتوان تعداد بیت هایNetwork را تبدیل به یک بیت از اکتت دوم نمود.
بنابراین Netid جدید را به دست می آوریم:
Netid: 00001010.10000000.00000000.00000000
Netid جدید می شود: 10.128.0.0
و Subnet mask جدید میشود: 255.128.0.0
و آدرس مورد نظر ما خواهد بود : 10.128.0.0/9
منابع
- Tanenbaum computer networks