Subnetting چیست؟

Subnetting چیست؟

یکی از مواردی که در آدرس دهی IP به وسیله آدرس های کلاس A و B مطرح می باشد, چگونگی طراحی سیستم آدرس دهی شبکه برای هدرنرفتن آدرس های IP است.در شبکه هایی که از TCP/IP استفاده می کنند حداکثر می توان ۳۰۰ تا ۵۰۰ عدد دستگاه را جای داد.اگر بیشتر از این تعداد دستگاه را در یک Broadcast domain قرار دهیم مشکلات مربوط به  Broadcasting رخ خواهد داد.این تعداد را می توان با به کار بردن یک یا دو کلاس C آدرس دهی کرد.اگر از کلاس A استفاده کنیم با اینکه فقط یک کلاس A را می توان برای آدرس دهی این تعداد به کار برد , ولی در این صورت تعداد ۶۵۰۰۰  عدد آدرس IP  به هدر خواهند رفت.

برای حل این مشکل از مکانیسم Subnetting یا تقسیم شبکه به زیر شبکه های کوچک تر استفاده می کنیم.روش کار بدین صورت می باشد که ازبین بیت های قسمت Host آدرس, با ارزشترین بیت یا بیت ها را برداشته و از آن بیت یا بیت ها برای ایجاد Subnet های خود استفاده می کنیم. (یادآوری اینکه بیت ها از راست به چپ و کم ارزش تا پردازش چیده شده اند. پس هرچقدر از راست به چپ می رویم ارزش بیت افزایش می یابد.)شبکه های ایجادی جدید از تعداد کمتری از دستگاه ها برخوردار بوده و بنابراین مشکلات Broadcasting برطرف خواهد شد.البته برای هر Subnet که ایجاد می گرددبه تعداد ۲ آدرس (آدرس های Network و Directed broadcast ) رزرو شده و نمی توان از آنها برای آدرس دهی دستگاه ها استفاده نمود.ولی این مسئله در مقابل منافعی که  Subnetting ارائه می دهد, قابل چشم پوشی است.

به یک مثال توجه فرمایید یک آدرس کلاس C دارای ۸ بیت در قسمت Host می باشد.این تعداد از بیت ها, ۲۵۶ عددآدرس را تولید می کنند.

که ۲۵۴ آدرس را می توان به دستگاه های شبکه اختصاص داد.حالا ما یک بیت که بالاترین ارزش را داشته باشد یعنی بیت هشتم را برداشته و از آن برای ایجاد Subnet بهره می بریم. تعداد Subnet ایجادی از فرمول زیر محاسبه می شود:

که حرف N نشان دهنده مقدار بیت هایی است که برای عمل Subnetting از بین بیت های قسمت Host حذف شده اند. دراین مثال , فقط یک بیت را برای این کار تخصیص داده ایم و بنابراین تعداد Subnet ایجادی برابر با ۲ خواهد بود. در هر کدام از این Subnetها ۱۲۸ آدرس موجود است که ۱۲۶ آدرس را می توان به Host های شبکه تخصیص داد. با بررسی کل مسئله متوجه خواهیم شد که در حالت اول , ۲ آدرس در کل شبکه به هدر می رفت. ولی در حالت دوم ۴ عدد آدرس به هدر خواهد رفت.(۲ عدد برای هر Subnet). در عوض حالا ما دارای دو عدد شبکه جداگانه هستیم.

به عنوان مثال بعدی فرض کنید که دو تا شبکه دارید که در هرکدام به تعداد ۱۰۰عدد دستگاه موجود می باشد. اولین راه حل برای آدرس دهی این است که برای هر کدام از شبکه ها , یک کلاس C آدرس IP تخصیص دهید. که در این صورت تعداد آدرس هایی که در هر شبکه بلااستفاده باقی می مانند برابر با ۱۵۴ آدرس خواهد بود.راه حل دوم این است که می توان از یک کلاس C استفاده نمود و با برداشتن یک بیت از قسمت Host آدرس مزبور, تعداد ۲ عدد Subnet ایجاد نمود که ظرفیت هر کدام از Subnetها  ۱۲۶ آدرس مفید برای آدرس دهی Hostها می باشد. متوجه شدید که در نوع دوم, تعداد آدرس هایی  که به هدر می روند خیلی کمتر از حالت اول است.