هر IP با توجه به ip class خود به دو بخش متفاوت به نام های Network ID و Host ID تقسیم بندی میگردد. چگونه میتوانید Octet های ثابت یک ای پی را یا به اصطلاح نتورک ID یک ادرس را از هاست ای دی ان تشخیص داد؟ برای پاسخ به این سوال باید شما را با netmask یا Subnet mask آشنا سازیم.
Netmask یا Subnet mask در واقع وظیفه تفکیک دو قسمت هاست و نتورک را از یکدیگر دارد و تمایز بین این دو بخش را ایجاد می نماید. ساب نت مسک یک رشته ۳۲ بیتی میباشد که از چپ به راست دارای بیت های صفر و یک میباشد.بیت هایی که با ارزش “۱” نمایش داده میشوند نتورک، و بیت هایی که با ارزش “۰” نمایش داده میشوند هاست هستند. برای مثال در ای پی کلاس A که اکتت اول نتورک و ۳ اکتت بعدی هاست هستند، نت مسک در نمایش Binary به صورت زیر است :
۱۱۱۱۱۱۱۱ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰ ۰۰۰۰۰۰۰۰
ساب نت مسک در نمایش Decimal برای این کلاس به شکل زیر است :
۲۵۵٫۰٫۰٫۰
همانطور که متوجه شدید به زبان ساده تر به جای هر Octet ثابت و یا به عبارتی به جای هر Network ID عدد ۲۵۵ قرار میگیرد. پس برای مثال با مشاهده Subnet mask با اعداد ۲۵۵٫۲۵۵٫۲۵۵٫۰ به راحتی میتوان پی به این مطلب برد که ای پی کلاس C میباشد و ۳ بخش اول ان ثابت بوده و نتورک نام دارد و بخش اخر متغیر است و هاست نامیده میشود.
به زبانی دیگر:
Netmask یک “ماسک” ۳۲ بیتی است که یک آدرس IP را به زیر شبکه ها تقسیم می کند و میزبان های موجود شبکه را مشخص می کند. در یک نت ماسک، دو بیت همیشه به طور خودکار اختصاص داده می شوند. به عنوان مثال، در ۲۵۵٫۲۵۵٫۲۲۵٫۰، “۰” آدرس شبکه اختصاص داده شده است. در ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵، “۲۵۵” آدرس پخش اختصاص داده شده است. ۰ و ۲۵۵ همیشه اختصاص داده می شوند و قابل استفاده نیستند.
اول از همه، netmask یک آدرس IP نیست:
این چیزی است که شبکه را تعریف می کند.
بنابراین بیایید ببینیم آدرس IP چیست.
بیایید از آدرس ۱۰٫۱٫۷٫۱۲۹ استفاده کنیم. چگونه بفهمیم که در کدام شبکه است؟
خوب، در واقع، ما نمی توانیم بدانیم، مگر اینکه ماسک شبکه را داشته باشیم. چطور کار میکند؟ خوب، به یاد داشته باشید که همه این اعداد در واقع مکان نویسی مختصری برای الگوهای بیت باینری واقعی هستند. و همه چیز واقعاً با استفاده از باینری کار می کند.
بنابراین آنچه ما ۱۰٫۱٫۷٫۱۲۹ می نامیم در واقع مجموعه ای نقطه چین از ۴ مجموعه اعداد باینری ۸ بیتی است.
۱۰= ۰۰۰۰۱۰۱۰ / ۱ = ۰۰۰۰۰۰۰۱ / ۷ = ۰۰۰۰۰۱۱۱ / ۱۲۹ = ۱۰۰۰۰۰۰۱ و کاری که ما با آن اعداد انجام می دهیم این است که آنها را در برابر نقاب شبکه بپوشانیم. ماسک کردن اساساً راهی است برای تعیین اینکه چه بخشی از آدرس شبکه است – به عبارت دیگر، چیزهای شبکه در کدام شبکه هستند – و کدام قسمت میزبان است – آدرس واقعی دستگاه.
باید بدانیم که چون این دستگاه می تواند میزبان ۱٫۷٫۱۲۹ در شبکه ۱۰٫۰٫۰٫۰ باشد، یا می تواند میزبان ۷٫۱۲۹ در شبکه ۱۰٫۱٫۰٫۰ یا میزبان ۱۲۹ در شبکه ۱۰٫۱٫۷٫۰ یا میزبان ۱۲۹ در ۱۰٫۱ باشد. شبکه .۷٫۱۲۸٫ دانه بندی حتی می تواند کوچکتر از آن باشد.
در هر مکانی که قرار است قسمت شبکه باشد یک عدد ۱ و در هر مکانی که قسمت میزبان خواهد بود یک عدد ۰ قرار می دهیم. خودشه. سپس یک تابع AND منطقی را در برابر دو عدد اجرا می کنیم. نمیدونی اون چیه؟ خوب، این یک تابع مقایسه کمی است. در اینجا نحوه عملکرد آن آمده است. ما دو بیت را با هم مقایسه می کنیم. اگر هر دوی آنها (این یکی و آن یکی) ۱ باشند، نتیجه ۱ است. اگر نه، نتیجه ۰ است.
بنابراین ماسک های شبکه ما مانند مجموعه های ۱ و به دنبال آن مجموعه های ۰ به نظر می رسند. بنابراین ماسکهای ما مانند ۲۵۵٫۰٫۰٫۰، ۲۵۵٫۲۵۵٫۰٫۰، ۲۵۵٫۲۵۵٫۲۵۵٫۰ یا ۲۵۵٫۲۵۵٫۲۵۵٫۱۲۸ هستند، برای مثالهایی که در بالا آوردم.
Netmask تعیین میکند که یک شبکه چقدر “بزرگ” است، یا اگر در حال پیکربندی قانونی هستید که به یک آدرس IP و یک Netmask نیاز دارد، Netmask نشان میدهد که این قانون در چه محدودهای از شبکه اعمال میشود:
IP | ماسک شبکه | شرح |
---|---|---|
۱۹۲٫۱۶۸٫۵۵٫۱۶۱ | ۲۵۵٫۲۵۵٫۲۵۵٫۲۵۵ | فقط برای ۱۹۲٫۱۶۸٫۵۵٫۱۶۱ اعمال می شود |
۱۹۲٫۱۶۸٫۵۵٫۰ | ۲۵۵٫۲۵۵٫۲۵۵٫۰ | برای IP هایی در محدوده ۱۹۲٫۱۶۸٫۵۵٫۰ – ۱۹۲٫۱۶۸٫۵۵٫۲۵۵ اعمال می شود |
۱۹۲٫۱۶۸٫۵۵٫۲۴۰ | ۲۵۵٫۲۵۵٫۲۵۵٫۲۴۰ | ۱۹۲٫۱۶۸٫۵۵٫۲۴۰ – ۱۹۲٫۱۶۸٫۵۵٫۲۵۵ |
۱۹۲٫۱۶۸٫۵۵٫۱۶۱ | ۲۵۵٫۲۵۵٫۲۵۵٫۰ | ۱۹۲٫۱۶۸٫۵۵٫۰ – ۱۹۲٫۱۶۸٫۵۵٫۲۵۵ |
۱۹۲٫۱۶۸٫۰٫۰ | ۲۵۵٫۲۵۵٫۰٫۰ | ۱۹۲٫۱۶۸٫۰٫۰ – ۱۹۲٫۱۶۸٫۲۵۵٫۲۵۵ |
______________________________________________________________
توضیحات تخصصی subnetmask/ netmask :
Netmask و subnet mask اغلب به گونهای استفاده میشوند که گویی یک چیز هستند، اما ماسکهای زیر شبکه بیشتر در پیکربندیهای شبکه استفاده میشوند، در حالی که ماسکهای شبکه اغلب به کلاسهایی از آدرسهای IP اشاره میکنند. آنها برای تعریف یک ran استفاده می شوند.
ge از آدرس های IP که یک ISP یا سازمان دیگری می تواند استفاده کند.
سه کلاس استاندارد از آدرسهای IP وجود دارد – A، B، و C – و دارای netmasks زیر هستند:
class A: 255.0.0.0
class B: 255.255.0.0
class C: 255.255.255.0
کلاس A محدوده ای از آدرس های IP را تعریف می کند که در آن بخش سه رقمی اول یکسان است، اما سایر بخش ها می توانند هر کدام شامل یک عدد از ۰ تا ۲۵۵ باشند. در کلاس B، همان دو بخش اول دارای شماره یکسان و با کلاس C هستند. سه مورد اول است این بدان معناست که محدوده آدرس IP کلاس C ممکن است تا ۲۵۶ آدرس داشته باشد.
((( Netmask یک مقدار ۳۲ بیتی است که آدرس های IP را به بخش هایی تقسیم می کند. در حالی که یک ماسک شبکه کلاس C اغلب مانند “۲۵۵٫۲۵۵٫۲۵۵٫۰” نوشته می شود، ممکن است به عنوان ۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۰۰۰۰۰۰۰۰ نیز تعریف شود. نمایش آن به صورت دودویی نشان می دهد که ۳۲ بیت (۴ بخش ۸ بیتی هر کدام) وجود دارد که ماسک شبکه را تشکیل می دهند.
همچنین نشان میدهد که چگونه netmask نام خود را به دست میآورد – آدرسهای IP درون آن را “ماسک کردن” میکند. بخش هایی با همه ۱ ها از قبل تنظیم شده اند و بنابراین نمی توان آنها را تغییر داد، در حالی که بخش با همه ۰ ها هر عددی بین ۰ تا ۲۵۵ را می دهد.))))
زیرشبکه چیست؟ در اینجا بخوانید.
محاسبهگر Subnet Mask چیست؟
برخی افراد میدانند که چطور میتوان به صورت دستی Subnet Mask را محاسبه کرد، اما اغلب افراد از محاسبهگرهای خاصی به این منظور یعنی بدست آوردن Subnet Mask بهره میگیرند. چندین نوع محاسبهگر وجود دارد. برخی از آنها بازه گستردهای از کارکردها را دارند و دامنه آنها وسیع است، اما برخی دیگر فقط کاربردهای مشخصی دارند. این ابزارها اطلاعاتی مانند بازه IP، نشانی IP، Subnet Mask و نشانی شبکه را ارائه میکنند.
در فهرست زیر برخی از رایجترین گونههای محاسبهگرهای بدست آوردن Subnet Mask را مشاهده میکنید.
- محاسبهگر IPv6 IP Subnet، زیرشبکههای سلسهمراتبی را نگاشت میکند.
- محاسبهگر/مبدل IPv4/IPv6 یک محاسبهگر ماسک آیپی است که از جایگزین IPv6 و فرمتهای فشرده پشتیبانی میکند. این محاسبهگر زیرشبکه ممکن است امکان تبدیل اعداد IP را از IPv4 به IPv6 نیز بدهید.
- محاسبهگر IPv4 CIDR یک ابزار تنظیم subnet mask و تبدیل Hex است.
- محاسبهگر IPv4 Wildcard با حساب کردن ماسک وایلدکارد نشانی آیپی نشان میدهد که کدام بخش از یک نشانی IP برای آزمایش آماده است.
- برای محاسبه اولین و آخرین نشانی زیرشبکه شامل نمادگذاری شانزدهشانزدهی نشانی multicast باید از محاسبهگر HEX Subnet استفاده کنید.
- محاسبهگر Subnet Mask ساده کوچکترین زیرشبکه و ماسک زیرشبکه موجود را محاسبه میکند.
- محاسبهگر Subnet Range/Address Range ابتدا و انتهای نشانیها را محاسبه میکند.
منظور از IP Mask چیست؟
ممکن است در جایی از اختصار subnet mask برای تعریف هر دو نشانی IP و زیرشبکه به طور ترکیبی استفاده شده باشد. در این حالت پس از نشانی IP تعداد بیتهای ماسک میآید. به عنوان مثال ۱۰٫۰٫۱٫۱/۲۴ و ۲۱۶٫۲۰۲٫۱۹۲٫۶۶/۲۲ به ترتیب معادل نشانی IP به شماره ۱۰٫۰٫۱٫۱ با ماسک زیرشبکه ۲۵۵٫۲۵۵٫۲۵۵٫۰ و همچنین نشانی IP به صورت ۲۱۶٫۲۰۲٫۱۹۶٫۶۶ با ماسک زیرشبکه ۲۵۵٫۲۵۵٫۲۵۲٫۰ هستند. با این حال توجه داشته باشید که شما نشانی IP را ماسک نمیکنید بلکه زیرشبکه را ماسک میکنید.
بدست آوردن Subnet Mask از روی نشانی IP
در این بخش با روش بدست آوردن Subnet Mask به صورت دستی آشنا میشویم. این فرایند در شش گام توضیح داده شده است.
فرض کنید یک نشانی IP به صورت ۱۰٫۲۰٫۴٫۱۳/۲۹ به شما داده شده و از شما خواسته میشود موارد زیر را پیدا کنید:
- نشانی Subnet
- نخستین نشانی معتبرهاست
- آخرین نشانی معتبرهاست
- نشانی برادکست
- Subnet Mask
روش گام به گام محاسبه موارد فوق:
گام اول: یافتن شماره Subnet
برای یافتن شماره Subnet باید عدد پیشوند را از ۳۲ کم کنید:
۳۲-۲۹=۳
برای بدست آوردن Subnet Mask به صورت زیر عمل میکنیم:
۸ بیت – ۳ بیت = ۵ بیت (بیتهای شبکه که روشن شدهاند)
شاید بپرسید چرا از ۸ بیت کم کردیم، زیرا برای هر هشتتایی در نشانی به هشت بیت نیاز داریم:
۱۲۸ | ۶۴ | ۳۲ | ۱۶ | ۸ | ۴ | ۲ | ۱ |
۱ | ۱ | ۱ | ۱ | ۱ | ۰ | ۰ | ۰ |
۱۲۸ + | ۶۴ + | ۳۲ + | ۱۶ + | ۸ | = | ۲۴۸ |
Subnet Mask = 255.255.255.248
گام دوم: یافتن اندازه Subnet
برای یافتن اندازه زیرشبکه باید ۲ را به توان عددی که در بخش قبل به دست آوردیم برسانیم. برای نمونه در مثال فوقالذکر، اندازه زیرشبکه برابر با ۳^۲ است.
گام سوم: یافتن نشانی برادکست
برای یافتن نشانی برادکست باید عدد ۱ را از اندازه زیرشبکه کم کنیم. بنابراین:
(۲**n) – ۱ = Broadcast Address
در مثال مورد بررسی، این مقدار برابر با (۲**۳) – ۱ = (۸-۱) = ۷ است.
گام چهارم: یافتن نشانی IP مربوط به Subnet
به این منظور باید بلوک زیرشبکه را برای نشانی آیپی پیدا کنیم، یعنی نشانی IP ما در کدام وهله از افزایشهای ۰ ۸ ۱۶ ۳۲ ۴۰ قرار میگیرد. چنان که میبینیم ۱۳ بین ۸ و ۱۶ قرار دارد و از این رو این نشانی در بازههاست زیرشبکه ۱۰٫۲۰٫۴٫۸/۲۹ معتبر است.
گام پنجم: محاسبه هاستهای معتبر
برای محاسبه میزبانهای معتبر درون زیرشبکه باید از فرمول زیر استفاده کنیم:
۲**n – ۲ = Valid Host Range
در مثال مورد بررسی این مقدار به صورت زیر است:
۲**۳ – ۲ = (۸-۲) = ۶