آدرس‌های آی‌پی (IP Address) یکی از ارکان اصلی شبکه‌های کامپیوتری و اینترنت محسوب می‌شوند. هر دستگاهی که در شبکه قرار دارد برای شناسایی و برقراری ارتباط با دیگر دستگاه‌ها نیازمند یک آدرس منحصربه‌فرد است.

در نسخه چهارم پروتکل اینترنت یا همان IPv4، آدرس‌های آی پی به صورت عددی ۳۲ بیتی نمایش داده می‌شوند و معمولاً به شکل چهار بخش اعشاری (مانند 192.168.1.1) قابل مشاهده هستند. از آنجایی که شبکه‌های مختلف به اندازه‌های متفاوتی از آدرس نیاز دارند، در طراحی اولیه IPv4، مفهوم کلاس‌بندی آدرس‌ها مطرح شد تا توزیع آدرس‌ها میان شبکه‌های کوچک، متوسط و بزرگ ساده‌تر شود.

مفهوم کلاس‌بندی آی‌پی

کلاس‌بندی آدرس‌های آی‌پی به معنای تقسیم‌بندی بازه‌ی کل آدرس‌های موجود به گروه‌های مشخص است که هرکدام ویژگی‌ها و کاربردهای خاص خود را دارند. این تقسیم‌بندی باعث شد تا سازمان‌ها و شرکت‌ها بر اساس اندازه‌ی شبکه‌ی مورد نیازشان بتوانند محدوده‌ی مناسب‌تری از آدرس‌ها را دریافت کنند. هر آدرس IPv4 از دو بخش تشکیل می‌شود:

  1. بخش شبکه (Network ID) که نشان‌دهنده‌ی هویت شبکه است.

  2. بخش میزبان (Host ID) که به دستگاه‌های موجود در آن شبکه اختصاص داده می‌شود.

نسبت طول این دو بخش در کلاس‌های مختلف متفاوت است و همین موضوع اندازه‌ی شبکه‌ها و تعداد میزبان‌های آن‌ها را تعیین می‌کند.

معرفی کلاس‌های مختلف آی‌پی

به طور سنتی، آدرس‌های IPv4 به پنج کلاس اصلی A تا E تقسیم شدند.

  • کلاس A: برای شبکه‌های بسیار بزرگ در نظر گرفته شده است. در این کلاس، تنها ۸ بیت برای بخش شبکه استفاده می‌شود و ۲۴ بیت باقی‌مانده برای میزبان‌هاست. این یعنی هر شبکه‌ی کلاس A می‌تواند میلیون‌ها دستگاه را در خود جای دهد. آدرس‌های این کلاس با عددی بین 0 تا 127 در بخش اول شروع می‌شوند.

  • کلاس B: گزینه‌ای متعادل‌تر برای شبکه‌های متوسط است. در اینجا ۱۶ بیت اول برای بخش شبکه و ۱۶ بیت بعدی برای میزبان‌ها استفاده می‌شود. آدرس‌های این کلاس از 128 تا 191 شروع می‌شوند.

  • کلاس C: برای شبکه‌های کوچک طراحی شده است. ۲۴ بیت ابتدایی بخش شبکه و تنها ۸ بیت آخر برای میزبان‌ها به کار می‌رود. این کلاس حداکثر 254 میزبان در هر شبکه را پشتیبانی می‌کند و معمولاً با اعداد 192 تا 223 آغاز می‌شود.

  • کلاس D: این کلاس برای آدرس‌دهی چندپخشی (Multicast) اختصاص داده شده است، نه برای ارتباط عادی بین میزبان‌ها. محدوده‌ی آن از 224 تا 239 است.

  • کلاس E: برای اهداف پژوهشی و آزمایشی رزرو شده و در شبکه‌های عمومی استفاده نمی‌شود. محدوده‌ی آن از 240 تا 255 است.

نقاط قوت و ضعف سیستم کلاس‌بندی

کلاس‌بندی آی‌پی در ابتدا باعث نظم‌دهی به توزیع آدرس‌ها شد، اما با رشد سریع اینترنت مشکلاتی نیز به وجود آمد. بسیاری از سازمان‌ها به تعداد بسیار زیادی آدرس در کلاس A یا B نیاز نداشتند، در حالی که تعداد محدودی آدرس در کلاس C برایشان کافی نبود. این عدم انعطاف‌پذیری منجر به هدررفت گسترده‌ی آدرس‌های آی‌پی شد.

برای رفع این مشکل، رویکردی به نام Classless Inter-Domain Routing (CIDR) معرفی شد که به جای محدود شدن به مرزهای ثابت کلاس‌ها، امکان تقسیم‌بندی انعطاف‌پذیرتر آدرس‌ها را فراهم کرد. CIDR عملاً سیستم کلاس‌بندی سنتی را کنار زد، هرچند هنوز در مباحث آموزشی و پایه‌ای، کلاس‌بندی آی‌پی برای درک بهتر ساختار آدرس‌ها آموزش داده می‌شود.

جمع‌بندی

کلاس‌بندی آی‌پی یکی از نخستین تلاش‌ها برای مدیریت و توزیع آدرس‌های IPv4 بود. این تقسیم‌بندی با ساده‌سازی درک ساختار آدرس‌ها به گسترش شبکه‌های کامپیوتری کمک کرد. با این حال، محدودیت‌های آن به مرور زمان آشکار شد و در نهایت روش‌های مدرن‌تری مانند CIDR جایگزین شدند. با وجود این، شناخت کلاس‌های آی‌پی هنوز اهمیت دارد، زیرا به درک مفاهیم پایه‌ی شبکه و تاریخچه‌ی اینترنت کمک شایانی می‌کند.


سابنتینگ (Subnetting) چیست؟

در شبکه‌های کامپیوتری، هر آدرس IP از دو بخش تشکیل شده است: بخش شبکه (Network ID) و بخش میزبان (Host ID). در روش سنتی کلاس‌بندی آی‌پی، طول این بخش‌ها به طور ثابت تعیین شده بود؛ مثلاً در کلاس C، ۲۴ بیت برای شبکه و ۸ بیت برای میزبان‌ها استفاده می‌شد. اما این روش انعطاف‌پذیری کمی داشت.

برای حل این مشکل، سابنتینگ معرفی شد. سابنتینگ به معنای تقسیم یک شبکه‌ی بزرگ به شبکه‌های کوچک‌تر (Subnet) است. این کار با "وام گرفتن" تعدادی از بیت‌های بخش میزبان و اضافه کردن آن‌ها به بخش شبکه انجام می‌شود. نتیجه این است که یک شبکه‌ی اصلی، به چندین شبکه‌ی فرعی تقسیم می‌شود که هرکدام میزبان‌های کمتری دارند، اما مدیریت و استفاده از آن‌ها بهینه‌تر خواهد بود.


چرا به سابنتینگ نیاز داریم؟

  1. بهینه‌سازی مصرف آدرس‌ها: بدون سابنتینگ، ممکن است به یک سازمان یک شبکه‌ی کلاس C با ۲۵۴ آدرس داده شود، در حالی که تنها به ۳۰ آدرس نیاز دارد. باقی آدرس‌ها هدر می‌روند. با سابنتینگ می‌توان این شبکه را به چندین بخش کوچک‌تر تقسیم کرد.

  2. افزایش امنیت و کنترل: تقسیم شبکه به زیرشبکه‌ها امکان اعمال سیاست‌های امنیتی جداگانه برای هر بخش را فراهم می‌کند.

  3. کاهش ترافیک و Broadcast: در یک شبکه‌ی بزرگ، پیام‌های Broadcast (که به همه‌ی دستگاه‌ها ارسال می‌شوند) باعث افزایش بار شبکه می‌شوند. با سابنتینگ، Broadcast به هر زیرشبکه محدود می‌شود.

  4. سازمان‌دهی بهتر شبکه‌ها: شبکه‌های بزرگ سازمانی (مثلاً در دانشگاه‌ها یا شرکت‌ها) می‌توانند بخش‌های مختلف خود را به صورت منطقی جدا کنند.


ماسک زیرشبکه (Subnet Mask)

ابزار اصلی در سابنتینگ، ماسک زیرشبکه است.
ماسک زیرشبکه عددی ۳۲ بیتی است که مشخص می‌کند چند بیت از آدرس IP مربوط به بخش شبکه و چند بیت مربوط به میزبان است.

به طور مثال:

  • آدرس کلاس C معمولی:

    192.168.1.0 Subnet Mask: 255.255.255.0 

    در اینجا ۲۴ بیت شبکه و ۸ بیت میزبان است.

  • اگر بخواهیم این شبکه را به ۴ بخش تقسیم کنیم، باید ۲ بیت از بخش میزبان را قرض بگیریم:

    
    Subnet Mask جدید: 255.255.255.192 (/26) 

    حالا هر زیرشبکه می‌تواند ۶۲ میزبان داشته باشد، و در عوض به جای یک شبکه‌ی بزرگ، چهار شبکه‌ی کوچک خواهیم داشت.


مثال کاربردی

فرض کنید یک شرکت ۱۰۰ کامپیوتر دارد و به آن‌ها یک شبکه کلاس C (192.168.1.0/24) اختصاص داده شده است.

  • اگر همان شبکه استفاده شود، همه‌ی ۲۵۴ آدرس قابل استفاده در یک بخش قرار می‌گیرند. پیام‌های Broadcast به همه می‌رسند و مدیریت آن دشوار خواهد شد.

  • اگر شبکه به ۴ زیرشبکه تقسیم شود (با ماسک /26):

    • 192.168.1.0/26 → میزبان‌های 1 تا 62

    • 192.168.1.64/26 → میزبان‌های 65 تا 126

    • 192.168.1.128/26 → میزبان‌های 129 تا 190

    • 192.168.1.192/26 → میزبان‌های 193 تا 254

به این ترتیب، می‌توان ۴ بخش مجزا در شبکه داشت که مدیریت، امنیت و کارایی را بهبود می‌دهد.


جمع‌بندی

سابنتینگ روشی برای تقسیم یک شبکه بزرگ به چند شبکه‌ی کوچک‌تر است. این روش بر پایه‌ی تغییر در ماسک زیرشبکه عمل می‌کند و باعث می‌شود آدرس‌های آی‌پی به شکل بهینه‌تری مصرف شوند. علاوه بر صرفه‌جویی در آدرس‌ها، سابنتینگ به کاهش ترافیک، افزایش امنیت، و سازمان‌دهی بهتر شبکه کمک می‌کند. امروزه در تمام شبکه‌های متوسط و بزرگ، طراحی سابنتینگ یکی از مراحل کلیدی راه‌اندازی محسوب می‌شود.

ماسک زیرشبکه (Subnet Mask) CIDR تعداد بیت شبکه تعداد میزبان (قابل استفاده) تعداد زیرشبکه‌ها (نسبت به کلاس C)
255.255.255.0 /24 24 254 1
255.255.255.128 /25 25 126 2
255.255.255.192 /26 26 62 4
255.255.255.224 /27 27 30 8
255.255.255.240 /28 28 14 16
255.255.255.248 /29 29 6 32
255.255.255.252 /30 30 2 64