Subnetting چیست؟
یکی از موارد مهم در آدرسدهی IP با استفاده از آدرسهای کلاس A و B، طراحی سیستمی برای جلوگیری از هدر رفتن آدرسهای IP است. در شبکههایی که از TCP/IP استفاده میکنند، معمولاً حداکثر میتوان بین ۳۰۰ تا ۵۰۰ دستگاه را در یک Broadcast Domain قرار داد. اگر تعداد دستگاهها از این حد بیشتر شود، مشکلاتی مانند افزایش Broadcasting رخ میدهد.
برای حل این مشکل، میتوان از یک یا دو کلاس C برای آدرسدهی استفاده کرد. اما اگر از کلاس A بهره ببریم، با وجود کافی بودن یک کلاس A برای آدرسدهی این تعداد دستگاه، ۶۵۰۰۰ آدرس IP بیاستفاده باقی میماند.
روش Subnetting
برای حل مشکل هدررفت آدرسها از Subnetting یا تقسیم شبکه به زیرشبکههای کوچکتر استفاده میشود. این روش به این صورت است که تعدادی از بیتهای قسمت Host آدرس IP را به Subnet اختصاص میدهیم.
نکات کلیدی در Subnetting:
- بیتهای Host از راست به چپ چیده شدهاند. هرچه از راست به چپ حرکت کنیم، ارزش بیت افزایش مییابد.
- با تقسیم شبکه به زیرشبکههای کوچکتر، تعداد دستگاههای هر شبکه کاهش مییابد و مشکلات Broadcasting از بین میرود.
- در هر Subnet، ۲ آدرس (یکی برای Network و دیگری برای Directed Broadcast) رزرو شده و نمیتوان از آنها برای آدرسدهی دستگاهها استفاده کرد.
با وجود رزرو این آدرسها، مزایای Subnetting بر مشکلات آن غالب است.
مثال Subnetting در کلاس C
آدرسهای کلاس C شامل ۸ بیت در قسمت Host هستند که در مجموع ۲۵۶ آدرس تولید میکنند. از این تعداد، ۲۵۴ آدرس برای دستگاههای شبکه قابل استفاده است.
حال اگر یک بیت از قسمت Host را برای Subnetting برداریم، تعداد Subnetهای ایجادشده از فرمول زیر محاسبه میشود:
2N2^N2N
در این فرمول، N تعداد بیتهایی است که برای Subnetting از قسمت Host حذف شدهاند.
محاسبه تعداد Subnet و Host:
- اگر یک بیت تخصیص داده شود:
- تعداد Subnet = ۲
- تعداد آدرس در هر Subnet = ۱۲۸
- آدرسهای قابل استفاده در هر Subnet = ۱۲۶
مقایسه قبل و بعد از Subnetting:
- بدون Subnetting: ۲ آدرس در کل شبکه رزرو شده و به هدر میرود.
- با Subnetting: در هر Subnet ۲ آدرس رزرو میشود، و در مجموع ۴ آدرس هدر میرود. اما اکنون شبکه به ۲ زیرشبکه جداگانه تقسیم شده است.
مثال کاربردی Subnetting
فرض کنید دو شبکه دارید که هرکدام شامل ۱۰۰ دستگاه است:
- روش اول: تخصیص دو کلاس C جداگانه به هر شبکه.
- تعداد آدرسهای بلااستفاده در هر شبکه = ۱۵۴ آدرس
- روش دوم: استفاده از یک کلاس C و تقسیم آن به ۲ Subnet.
- تعداد آدرسهای مفید در هر Subnet = ۱۲۶
- تعداد آدرسهای هدررفته = بسیار کمتر از روش اول
این نشان میدهد که Subnetting روشی بهینه برای مدیریت آدرسها است و هدررفت آدرسها را به حداقل میرساند.