هر IP با توجه به ip class خود به دو بخش متفاوت به نام های Network ID و Host ID تقسیم بندی میگردد. چگونه میتوانید Octet های ثابت یک ای پی را یا به اصطلاح نتورک ID یک ادرس را از هاست ای دی ان تشخیص داد؟ برای پاسخ به این سوال باید شما را با netmask یا Subnet mask آشنا سازیم.
Netmask یا Subnet mask در واقع وظیفه تفکیک دو قسمت هاست و نتورک را از یکدیگر دارد و تمایز بین این دو بخش را ایجاد می نماید. ساب نت مسک یک رشته 32 بیتی میباشد که از چپ به راست دارای بیت های صفر و یک میباشد.بیت هایی که با ارزش “1” نمایش داده میشوند نتورک، و بیت هایی که با ارزش “0” نمایش داده میشوند هاست هستند. برای مثال در ای پی کلاس A که اکتت اول نتورک و 3 اکتت بعدی هاست هستند، نت مسک در نمایش Binary به صورت زیر است :
11111111 00000000 00000000 00000000
ساب نت مسک در نمایش Decimal برای این کلاس به شکل زیر است :
255.0.0.0
همانطور که متوجه شدید به زبان ساده تر به جای هر Octet ثابت و یا به عبارتی به جای هر Network ID عدد 255 قرار میگیرد. پس برای مثال با مشاهده Subnet mask با اعداد 255.255.255.0 به راحتی میتوان پی به این مطلب برد که ای پی کلاس C میباشد و 3 بخش اول ان ثابت بوده و نتورک نام دارد و بخش اخر متغیر است و هاست نامیده میشود.
Netmask یک “ماسک” 32 بیتی است که یک آدرس IP را به زیر شبکه ها تقسیم می کند و میزبان های موجود شبکه را مشخص می کند. در یک نت ماسک، دو بیت همیشه به طور خودکار اختصاص داده می شوند. به عنوان مثال، در 255.255.255.0، “0” آدرس شبکه اختصاص داده شده است. در 255.255.255.255، “255” آدرس پخش اختصاص داده شده است. 0 و 255 همیشه اختصاص داده می شوند و قابل استفاده نیستند.
خوب، در واقع، ما نمی توانیم بدانیم، مگر اینکه ماسک شبکه را داشته باشیم. چطور کار میکند؟ خوب، به یاد داشته باشید که همه این اعداد در واقع مکان نویسی مختصری برای الگوهای بیت باینری واقعی هستند. و همه چیز واقعاً با استفاده از باینری کار می کند.
10 = 00001010
1 = 00000001
7 = 00000111
129 = 10000001
و کاری که ما با آن اعداد انجام می دهیم این است که آنها را در برابر نقاب شبکه بپوشانیم. ماسک کردن اساساً راهی است برای تعیین اینکه چه بخشی از آدرس شبکه است – به عبارت دیگر، چیزهای شبکه در کدام شبکه هستند – و کدام قسمت میزبان است – آدرس واقعی دستگاه.
باید بدانیم که چون این دستگاه می تواند میزبان 1.7.129 در شبکه 10.0.0.0 باشد، یا می تواند میزبان 7.129 در شبکه 10.1.0.0 یا میزبان 129 در شبکه 10.1.7.0 یا میزبان 129 در 10.1 باشد. شبکه .7.128 دانه بندی حتی می تواند کوچکتر از آن باشد.
در هر مکانی که قرار است قسمت شبکه باشد یک عدد 1 و در هر مکانی که قسمت میزبان خواهد بود یک عدد 0 قرار می دهیم. خودشه. سپس یک تابع AND منطقی را در برابر دو عدد اجرا می کنیم. نمیدونی اون چیه؟ خوب، این یک تابع مقایسه کمی است. در اینجا نحوه عملکرد آن آمده است. ما دو بیت را با هم مقایسه می کنیم. اگر هر دوی آنها (این یکی و آن یکی) ۱ باشند، نتیجه 1 است. اگر نه، نتیجه 0 است.
بنابراین ماسک های شبکه ما مانند مجموعه های 1 و به دنبال آن مجموعه های 0 به نظر می رسند. بنابراین ماسکهای ما مانند255.0.0.0، 255.255.0.0، 255.255.255.0 یا 255.255.255.128 هستند، برای مثالهایی که در بالا آوردم.
Netmask تعیین میکند که یک شبکه چقدر “بزرگ” است، یا اگر در حال پیکربندی قانونی هستید که به یک آدرس IP و یک Netmask نیاز دارد، Netmask نشان میدهد که این قانون در چه محدودهای از شبکه اعمال میشود:
IP | ماسک شبکه | شرح |
---|---|---|
192.168.55.161 | 255.255.255.255 | فقط برای 192.168.55.161 اعمال می شود |
192.168.55.0 | 255.255.255.0 | برای IP هایی در محدوده 192.168.55.0– 192.168.55.255 اعمال می شود |
192.168.55.240 | 255.255.255.240 | 192.168.55.240- 192.168.55.255 |
192.168.55.161 | 255.255.255.0 | 192.168.55.0 – 192.168.55.255 |
192.168.0.0 | 255.255.0.0 | 192.168.0.0– 192.168.255.255 |
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 را تعریف می کند که در آن بخش سه رقمی اول یکسان است، اما سایر بخش ها می توانند هر کدام شامل یک عدد از 0 تا 255 باشند. در کلاس B، همان دو بخش اول دارای شماره یکسان و با کلاس C هستند. سه مورد اول است این بدان معناست که محدوده آدرس IP کلاس C ممکن است تا 256 آدرس داشته باشد.
((( Netmask یک مقدار 32 بیتی است که آدرس های IP را به بخش هایی تقسیم می کند. در حالی که یک ماسک شبکه کلاس C اغلب مانند “255.255.255.0” نوشته می شود، ممکن است به عنوان 11111111.11111111.11111111.00000000 نیز تعریف شود. نمایش آن به صورت دودویی نشان می دهد که 32 بیت (4 بخش 8 بیتی هر کدام) وجود دارد که ماسک شبکه را تشکیل می دهند.
همچنین نشان میدهد که چگونه netmask نام خود را به دست میآورد – آدرسهای IP درون آن را “ماسک کردن” میکند. بخش هایی با همه 1 ها از قبل تنظیم شده اند و بنابراین نمی توان آنها را تغییر داد، در حالی که بخش با همه 0 ها هر عددی بین 0 تا 255 را می دهد.))))
زیرشبکه چیست؟ در اینجا بخوانید.
برخی افراد میدانند که چطور میتوان به صورت دستی Subnet Mask را محاسبه کرد، اما اغلب افراد از محاسبهگرهای خاصی به این منظور یعنی بدست آوردن Subnet Mask بهره میگیرند. چندین نوع محاسبهگر وجود دارد. برخی از آنها بازه گستردهای از کارکردها را دارند و دامنه آنها وسیع است، اما برخی دیگر فقط کاربردهای مشخصی دارند. این ابزارها اطلاعاتی مانند بازه IP، نشانی IP، Subnet Mask و نشانی شبکه را ارائه میکنند.
ممکن است در جایی از اختصار subnet mask برای تعریف هر دو نشانی IP و زیرشبکه به طور ترکیبی استفاده شده باشد. در این حالت پس از نشانی IP تعداد بیتهای ماسک میآید. به عنوان مثال ۱۰٫۰٫۱٫۱/۲۴ و 216.202.192.66/32 به ترتیب معادل نشانی IP به شماره 10.0.1.1 با ماسک زیرشبکه 255.255.255.0 و همچنین نشانی IP به صورت 216.202.196.66 با ماسک زیرشبکه 255.255.252.0 هستند. با این حال توجه داشته باشید که شما نشانی IP را ماسک نمیکنید بلکه زیرشبکه را ماسک میکنید.
در این بخش با روش بدست آوردن Subnet Mask به صورت دستی آشنا میشویم. این فرایند در شش گام توضیح داده شده است.
گام اول: یافتن شماره Subnet
برای یافتن شماره Subnet باید عدد پیشوند را از 32 کم کنید:
32-29=3
برای بدست آوردن Subnet Mask به صورت زیر عمل میکنیم:
8 بیت – 3 بیت = 5 بیت (بیتهای شبکه که روشن شدهاند)
شاید بپرسید چرا از ۸ بیت کم کردیم، زیرا برای هر هشتتایی در نشانی به هشت بیت نیاز داریم:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
128 + | 64+ | 32+ | 16+ | 8 | = | 248 |
Subnet Mask = 255.255.255.248
برای یافتن اندازه زیرشبکه باید ۲ را به توان عددی که در بخش قبل به دست آوردیم برسانیم. برای نمونه در مثال فوقالذکر، اندازه زیرشبکه برابر با ۳^۲ است.
برای یافتن نشانی برادکست باید عدد ۱ را از اندازه زیرشبکه کم کنیم. بنابراین:
(2**n) – 1 = Broadcast Address
در مثال مورد بررسی، این مقدار برابر با (2**3) – 1 = (8-1) = 7 است.
به این منظور باید بلوک زیرشبکه را برای نشانی آیپی پیدا کنیم، یعنی نشانی IP ما در کدام وهله از افزایشهای 0 8 16 32 40 قرار میگیرد. چنان که میبینیم 13 بین 8 و 16 قرار دارد و از این رو این نشانی در بازههاست زیرشبکه 10.20.4.8/29 معتبر است.
2**n – 2 = Valid Host Range
در مثال مورد بررسی این مقدار به صورت زیر است:
2**3 – 2 = (8-2) = 6
Netmask (ماسک شبکه) یا Subnet Mask (ماسک زیرشبکه) یک عدد ۳۲ بیتی است که مشخص میکند کدام بخش از یک آدرس IP مربوط به شبکه (Network ID) و کدام بخش مربوط به هاست (Host ID) است.
در بسیاری از مواقع این دو واژه به جای هم استفاده میشوند. Netmask بیشتر به ماسک پیشفرض کلاسهای IP اشاره دارد (مثل 255.0.0.0 برای کلاس A)، در حالی که Subnet Mask اغلب در پیکربندیهای شبکه برای تقسیم IP به زیرشبکهها استفاده میشود.
بهتنهایی از روی IP نمیتوان Subnet Mask را تشخیص داد. باید همراه IP، مقدار Netmask یا Prefix Length (مثل /24) نیز داده شود تا بفهمیم کدام بخش از IP مربوط به شبکه و کدام بخش مربوط به هاست است.
آموزش جامع نصب Django روی اوبونتو مقدمه اگر به دنبال ساخت یک وبسایت یا اپلیکیشن…
آموزش گامبهگام حذف محدودیت Grace Period در Remote Desktop Services یکی از مشکلات رایج در…
پروتکل Remote Desktop Protocol (RDP) یکی از متداولترین روشها برای مدیریت سرورهای ویندوزی از راه…
شبکه های ارتباطی در طی چند دهه اخیر دچار تحولات بنیادینی شده اند. در آغاز،…
مایکروسافت با انتشار نسخه ی ویندوز سرور 2025، یک بار دیگر ثابت کرده که در…
حملات DDoS (Distributed Denial of Service) یکی از پیچیدهترین و مخربترین تهدیدات سایبری برای وبسایتها…