درک مفاهیم پایهای شبکه، یکی از گامهای ضروری برای هر مدیر سرور، مهندس شبکه یا متخصص امنیت است. Netmask و Subnet دو عبارتی که حتی حرفهایها هم گاهی بهجای هم استفاده میکنند. این دو مفهوم در ظاهر مشابهاند، اما در عمل تفاوتهای مهمی دارند که دانستن آنها به شما کمک میکند شبکههای خود را دقیقتر طراحی، پیکربندی و مدیریت کنید.
در این مطلب به زبان ساده، تفاوت Netmask و Subnet را بررسی میکنیم و درک روشنی از نقش هرکدام در ساختار آدرسدهی IP به دست میآوریم.
Subnet چیست؟
کلمه Subnet از ترکیب دو واژه Sub (بهمعنای زیرمجموعه) و Network (شبکه) ساخته شده است.
در واقع Subnet یا زیرشبکه، بخشی از یک شبکه بزرگتر است که برای سازماندهی بهتر و کنترل ترافیک ایجاد میشود. فرض کنید یک شرکت بزرگ هزاران کامپیوتر دارد. اگر همه دستگاهها در یک شبکه باشند، مدیریت آنها بسیار دشوار خواهد بود. در چنین حالتی، مدیر شبکه تصمیم میگیرد شبکه را به چند بخش کوچکتر تقسیم کند، مثلا:
- زیرشبکه مخصوص واحد مالی
- زیرشبکه مخصوص واحد فنی
- زیرشبکه مخصوص واحد اداری
به این بخشهای کوچکتر از شبکه، Subnet گفته میشود که هر Subnet محدودهای از آیپی دارد و میتواند ترافیک مربوط به خودش را مدیریت کند.
Netmask چیست؟
Netmask یا (Subnet Mask) یک مقدار باینری است که مشخص میکند چه بخش از آدرس IP مربوط به شبکه و چه بخشی مربوط به هاست یا دستگاه است.
برای درک سادهتر، IP را مثل یک آدرس پستی تصور کنید:
- بخش «خیابان» نماینده شبکه است.
- بخش «شماره پلاک» نماینده دستگاه یا هاست است.
Netmask مشخص میکند تا کجای این آدرس متعلق به خیابان (شبکه) است و از کجا به بعد، مربوط به پلاک (دستگاه).
برای مثال:
IP: 192.168.1.10
Netmask: 255.255.255.0
در اینجا Netmask میگوید که سه بخش اول (۱۹۲.۱۶۸.۱) برای شبکه است و بخش آخر (.۱۰) برای دستگاهها در همان شبکه استفاده میشود.
ارتباط بین Subnet و Netmask
اگر بخواهیم دقیقتر بگوییم:
Subnet همان نتیجه تقسیم یک شبکه به چند بخش کوچکتر است.
Netmask همان ابزار یا قانون ریاضی است که این تقسیم را تعریف میکند.
به بیان دیگر:
Netmask توضیح میدهد که مرز بین شبکه و هاست کجاست
Subnet همان محدودهای است که با این مرز ایجاد میشود.
چرا به Subnet نیاز داریم؟
شبکههای بزرگ بدون تقسیمبندی، مشکلات متعددی خواهند داشت، از جمله:
- افزایش ترافیک Broadcast: همه دستگاهها پیامهای عمومی را دریافت میکنند و این موجب کندی میشود.
- سختی مدیریت: پیدا کردن آدرسهای تکراری یا کنترل دسترسیها دشوار میشود.
- ناامنی: تمام دستگاهها در معرض دید مستقیم یکدیگر هستند.
با استفاده از Subnet، میتوان شبکه را به بخشهای جداگانه تقسیم کرد تا هر بخش ترافیک و امنیت مخصوص خود را داشته باشد.
ساختار Netmask به زبان باینری
هر IPv4 شامل ۳۲ بیت است. Netmask هم یک عدد ۳۲ بیتی است که از ترکیبی از ۱ و ۰ تشکیل میشود:
- بیتهای ۱ مشخصکننده بخش شبکه
- بیتهای ۰ مشخصکننده بخش هاست
برای مثال:
Netmask: 255.255.255.0
Binary: 11111111.11111111.11111111.00000000
بنابراین در این مثال، ۲۴ بیت اول برای شبکه و ۸ بیت آخر برای هاست است.
نماد CIDR و ارتباط آن با Netmask
در استاندارد جدید آدرسدهی، معمولا بهجای نوشتن Netmask بهصورت کامل از CIDR notation استفاده میشود.
مانند ۱۹۲.۱۶۸.۱.۰/۲۴
عدد ۲۴/ نشان میدهد که ۲۴ بیت اول برای بخش شبکه استفاده شده است، که معادل Netmask 255.255.255.0 است.
نمونههای دیگر:
16/ → Netmask = 255.255.0.0
8/ → Netmask = 255.0.0.0
تفاوت فنی Netmask و Subnet در طراحی شبکه
در طراحی شبکه، Netmask و Subnet دو مفهوم نزدیک اما متفاوت هستند.
Netmask در واقع یک مقدار عددی است که برای جدا کردن بخش شبکه از بخش هاست در یک IP به کار میرود. این مفهوم جنبهای منطقی و محاسباتی دارد و معمولا هنگام پیکربندی IP استفاده میشود. بهعنوان مثال، Netmask برابر با ۲۵۵.۲۵۵.۲۵۵.۰ نشان میدهد که سه بخش اول آدرس IP مربوط به شبکه و بخش آخر مربوط به میزبان است.
در مقابل، Subnet یا زیرشبکه، یک بخش واقعی (فیزیکی یا منطقی) از یک شبکه بزرگتر است که برای بهبود مدیریت، امنیت و کارایی طراحی میشود. زیرشبکهها امکان تفکیک شبکه به بخشهای کوچکتر را فراهم میکنند تا ترافیک و دسترسیها بهتر کنترل شود. مثلا در آدرس ۱۹۲.۱۶۸.۱.۰/۲۴، عدد /۲۴ همان Netmask ۲۵۵.۲۵۵.۲۵۵.۰ را نشان میدهد و بیانگر یک Subnet مشخص است.
به طور خلاصه، Netmask ابزاری برای تعریف مرزهای یک Subnet است، در حالی که Subnet خود ساختاری عملی در شبکه محسوب میشود.
مثال کاربردی برای درک بهتر
فرض کنید سازمانی شبکهای با محدوده IP زیر دارد:
۱۰.۰.۰.۰ تا ۱۰.۰.۲۵۵.۲۵۵
این شبکه شامل بیش از ۶۵ هزار آدرس است.
اگر بخواهیم آن را به چند بخش کوچکتر تقسیم کنیم، میتوانیم از Netmaskهای متفاوت استفاده کنیم:
- با Netmask 255.255.255.0 هر Subnet شامل ۲۵۴ دستگاه میشود.
- با Netmask 255.255.0.0 هر Subnet شامل حدود ۶۵ هزار دستگاه است.
بنابراین انتخاب Netmask، اندازهی Subnet را تعیین میکند. هرچه تعداد بیتهای ۱ بیشتر باشد، Subnet کوچکتر میشود و تعداد هاستها کاهش مییابد.
اشتباه رایج بین Netmask و Subnet
بسیاری از افراد تازهکار تصور میکنند Netmask و Subnet دو واژه مترادفاند، در حالی که اینطور نیست.
مثلا اگر بگوییم:
شبکه من Netmask 255.255.255.0 دارد
این فقط به معنی نحوه تقسیمبندی آدرسهاست، نه خود زیرشبکه.
اما اگر بگوییم:
شبکه من Subnet 192.168.10.0/24 است
این یعنی یک زیرشبکه واقعی تعریف کردهایم که محدودهی آدرسهایش با آن Netmask مشخص شده است.
نقش Netmask در مسیریابی (Routing)
روترها برای تصمیمگیری در مورد ارسال بستهها (Packets)، از Netmask استفاده میکنند.
وقتی یک بستهی IP به روتر میرسد، روتر با بررسی Netmask متوجه میشود که مقصد در همان شبکه است یا باید آن را به مسیر دیگری بفرستد.
اگر Netmask بهدرستی تنظیم نشود، بستهها ممکن است به شبکهی اشتباه ارسال شوند یا اصلا به مقصد نرسند.
تفاوت Netmask در IPv4 و IPv6
در IPv6 دیگر از Netmask به شکل سنتی استفاده نمیشود، بلکه تنها از Prefix Length استفاده میشود مثل۶۴ / یا ۴۸/
با این حال مفهوم کلی یکی است: مشخص کردن بخش شبکه و بخش دستگاه.
در IPv6، به دلیل فضای بزرگ آدرسدهی، معمولا بخش هاست بسیار وسیعتر است و نیاز به Subnetting پیچیده کمتر احساس میشود.
چگونه Netmask مناسب انتخاب کنیم؟
انتخاب Netmask مناسب بستگی به نیازهای شبکه دارد:
- اگر شبکه کوچک است (زیر ۲۰۰ دستگاه)، Netmask مثل ۲۵۵.۲۵۵.۲۵۵.۰ مناسب است.
- اگر چندین VLAN یا بخش مجزا دارید، بهتر است Subnetهای جداگانه با Netmaskهای خاص تعریف کنید.
- برای زیرشبکههای WAN یا Point-to-Point، معمولا از Netmask بسیار کوچک (مثلا ۳۰/ یا ۳۱/) استفاده میشود.
جمعبندی
Netmask و Subnet هر دو از مفاهیم اساسی در طراحی و پیکربندی شبکه هستند، اما نقشهای متفاوتی دارند:
- Netmask ابزاری است برای مشخصکردن مرز بین شبکه و هاست در آیپی
- Subnet نتیجه استفاده از این ابزار برای تقسیم یک شبکه بزرگ به بخشهای کوچکتر است.
دانستن تفاوت این دو به شما کمک میکند شبکههای کارآمدتر، امنتر و مقیاسپذیرتری طراحی کنید. در نهایت، میتوان گفت بدون درک Netmask، Subnet معنایی ندارد و بدون Subnet، Netmask کاربردی نخواهد داشت.