در علم شبکه، مفاهیم جدیدی به وجود آمده است که هدف همگی، کاهش ترافیک شبکه، افزایش بازدهی و بهبود عملکرد آن است. در شبکههای کامپیوتری که از اجزای مختلف در یک محیط اختصاصی تشکیل شدهاند، عملکرد کل شبکه به عملکرد تکتک اجزا وابسته است. بنابراین هرچه ابعاد شبکه بزرگتر باشد، کنترل و نظارت بر عملکرد تکتک اجزا دشوارتر خواهد شد و سیستمهای نظارتی پیچیدهتری مورد نیاز است. یکی از مفاهیم جدید در حوزه شبکهبندی کامپیوتر، مفهوم Subnet یا Subnetting است که هدف آن، تقسیم شبکههای بزرگتر به زیر شبکههای کوچکتر است. در این مقاله قصد داریم به این بپردازیم که Subnet چیست و چگونگی عملکرد آن، مزایا و معایب Subnetting، بخشهای تشکیلدهنده یک Subnet و سایر تعاریف مرتبط با آن را بررسی کنیم.
Subnet چیست؟
Subnet یا زیر شبکه (logically visible subdivision of an IP network) بخش منطقی قابل مشاهده از یک شبکه ی آی پی است. به طور خاص، Subnet ها یک پارتیشن از یک شبکه IP هستند که به چند بخش کوچکتر تقسیم شده است. پروتکل اینترنت (IP) روشی برای ارسال اطلاعات از یک کامپیوتر به کامپیوتر دیگر از طریق اینترنت است. هر کامپیوتر یا هاست در محیط شبکه حداقل یک آدرس IP به عنوان یک شناسه منحصربهفرد دارد.
سازمانها از Subnet برای تقسیم شبکههای بزرگ به زیر شبکههای کوچکتر و کارآمدتر استفاده میکنند. یکی از اهداف زیر شبکه این است که یک شبکه بزرگ را به گروهی از شبکههای کوچکتر و متصلبههم تقسیم کند تا ترافیک شبکه به حداقل برسد. به این ترتیب، ترافیک داده از مسیرهای غیرضروری جریان نیافته و سرعت شبکه بیشتر میشود. Subnet تقسیمبندی فضای آدرس شبکه و کارایی تخصیص آدرس را بهبود میبخشد. به زبان سادهتر، Subnet شبکهای در داخل یک شبکه بزرگتر است. از طریق Subnet ترافیک شبکه میتواند مسیر کوتاهتری را بدون عبور از روترهای غیرضروری برای رسیدن به مقصد طی کند.
شبکههای کامپیوتری زمانی کارآمدتر هستند که پیامها تا حد امکان به شکل مستقیم ارسال شوند. هنگامیکه یک شبکه بستههای داده را از شبکه دیگری دریافت میکند، آن بستهها را بر اساس Subnet مرتبسازی و مسیریابی کرده تا بستهها مسیر نامناسبی را برای رسیدن به مقصد خود طی نکنند. همچنین Subnetting سبب بهبود امنیت شبکه و کاهش اندازه دامنه توزیع دادهها خواهد شد.
Subnet چگونه کار میکند؟
هر Subnet به دستگاههای متصل خود اجازه میدهد تا با یکدیگر ارتباط برقرار کنند، درحالیکه از روترها برای ارتباط بین Subnet ها استفاده میشود. اندازه یک Subnet به الزامات اتصال و فناوری شبکه مورداستفاده بستگی دارد. یک Subnet نقطه به نقطه به دو دستگاه اجازه اتصال میدهد، درحالیکه یک Subnet مرکز داده برای اتصال دستگاههای بیشتری طراحی شده است. هر سازمان وظیفه تعیین تعداد و اندازه Subnet های لازم برای شبکه خود را، در محدوده فضای آدرس موجود بر عهده دارد. علاوه بر این، جزئیات تقسیمبندی Subnet در یک سازمان، به عنوان بخشی از اطلاعات محرمانه بهصورت محلی در خود سازمان نگهداری میشود.
یکی از مفاهیم مهم در بحث Subnetting، آدرس IP است. این آدرس یک شناسه منحصربهفرد برای هر یک از مؤلفههای شبکه و زیر شبکه است. آدرس IP به دو قسمت تقسیم میشود: یک پیشوند شبکه یا Network Prefix (که شناسه شبکه نیز نامیده میشود) و یک شناسههاست یا Host ID. تعیین پیشوند و شناسههاست بستگی به کلاس آدرس IP دارد. کلاسهای مختلفی برای آدرسهای IP قابلتعریف هستند شامل کلاس A، B یا C. شکل زیر یک آدرس IPv4 کلاس B، 172.16.37.5 را نشان میدهد. پیشوند شبکه در این کلاس 172.16.0.0 و شناسههاست 37.5 است.
مکانیزم Subnetting از بخشی از Host ID برای شناسایی زیر شبکههای جداگانه استفاده میکند. به عنوان مثال، شکل زیرگروه سوم از شبکهای با آدرس IP 172.16.0.0 را نشان میدهد که به عنوان شناسه Subnet استفاده میشود. ماسک Subnet اصطلاحی است که برای شناسایی آدرس که باید به عنوان شناسه Subnet استفاده شود، به کار میرود. ماسک Subnet با استفاده از عملیات باینری AND بر روی آدرس کامل شبکه اعمال میشود. عملیات AND با فرض اینکه یک خروجی «درست» باشد، تنها زمانی عمل میکند که هر دو ورودی «درست» باشند. در غیر این صورت، خروجی «نادرست» است. فقط زمانی که دو بیت ورودی هر دو 1 باشند، خروجی 1 خواهد بود. به کمک این عملیات، شناسه Subnet به دست میآید.
در مثال شکل بالا، شناسه Subnet به عنوان 172.16.2.0 شناسایی شده است و شناسههاست هم 5 است. در عمل، کارکنان شبکه معمولاً فقط با شناسه Subnet سروکار دارند. یعنی برای اشاره به یک Subnet در یک شبکه بزرگ، تنها کافی است شناسه آن را عنوان کنیم. همچنین شناسه Subnet توسط روترها برای تعیین بهترین مسیر بین Subnet ها استفاده میشود.
مزایای Subnet چیست؟
چرا شناسه Subnet مهم است؟ شناسه Subnet مزایای زیادی دارد که مهمترین آنها عبارتاند از:
- بهبود کارایی
Subnet ها شبکهها را کارآمدتر میکنند. Subnet باعث میشود که ترافیک داده، مسافت کوتاهتری را طی کند و نیازی به عبور از روترهای غیرضروری در طول مسیر نباشد. این کار با کاهش تراکم شبکه و افزایش سرعت ترافیک، عملکرد کل شبکه را بهبود میبخشد.
- تخصیص امتیازات انحصاری
Subnet گروهبندی دستگاههای مختلف را در یک شبکه آسانتر میکند. به عنوان مثال، یک شرکت ممکن است دارای بخش حسابداری با امتیازاتی ویژهای باشد که سایر بخشها از آن برخوردار نیستند. ایجاد یک Subnet که فقط شامل بخش حسابداری باشد، تضمین میکند که دستگاههای دیگر به شبکه حسابداری دسترسی نداشته باشند. این کار، عملکرد کلی سازمان را بهبود میبخشد و به شبکه اجازه میدهد تا امتیازات انحصاری هر دستگاه یا بخش را بهراحتی پیادهسازی کند.
- افزایش امنیت
از آنجایی که Subnet ها شبکههای کوچکتر را جدا و گروهبندی میکنند، جداسازی و شناسایی تهدیدهای امنیتی در یک شبکه آسانتر است. به عبارت دیگر، Subnet به مدیران شبکه این امکان را میدهد تا با قرنطینه کردن بخشهای آسیبدیده از شبکه و با ایجاد محدودیت برای تهدیدات خارجی، امنیت شبکه را بالا ببرند.
- تخصیص مجدد آدرس IP
هر کلاس دارای تعداد محدودی هاست است. به عنوان مثال، شبکههایی با بیش از 254 دستگاه نیاز به تخصیص کلاس B دارند. اگر مدیر شبکه با یک شبکه کلاس B یا C کار میکند و نیاز به تخصیص 150 هاست برای سه شبکه فیزیکی واقع در سه ناحیه مختلف داشته باشد، باید بلوکهای آدرس بیشتری را برای هر شبکه درخواست کند، یا شبکه را به Subnet های مختلف تقسیم کند. بنابراین با Subnetting میتوان از تعداد محدود آدرس IP بهصورت مجدد استفاده کرد و آنها را به هاست های مختلف در Subnet ها تخصیص داد.
- کاهش ازدحام شبکه
اگر قرار است بیشتر ترافیک یک سازمان به طور منظم بین مؤلفههای مختلف شبکه به اشتراک گذاشته شود، قرار دادن آنها در یک Subnet میتواند ترافیک شبکه را کاهش دهد. بدون Subnet، همه کامپیوترها و سرورهای شبکه بستههای داده را از مؤلفههای مختلفی دریافت میکنند که باعث افزایش ازدحام و بار ترافیک داده در شبکه میشود.
آشنایی با مفاهیم Subnet
در این بخش، با یک سری مفاهیم اساسی در Subnetting آشنا خواهیم شد:
Subnet Mask چیست؟
Subnet Mask یا ماسک زیر شبکه(number that "masks" an IP address, dividing it into a routing prefix and a host address)، یک آدرس 32 بیتی است که برای شناسایی و تمایز آدرس شبکه و آدرسهاست در یک آدرس IP مشخص، استفاده میشود. ماسک Subnet مشخص میکند که کدام قسمت از آدرس IP مختص آدرس شبکه و کدام بخش مربوط به آدرسهاست است. به زبان ساده ماسک Subnet مانند یک آدرس IP است، اما فقط برای استفاده داخلی در یک شبکه. روترها از ماسکهای Subnet برای هدایت بستههای داده به مکان مناسب در داخل شبکه استفاده میکنند.
برای مثال فرض کنید یک بسته IP به آدرس IP 192.0.2.15 داده شده است. این آدرس IP مربوط به یک شبکه کلاس C است، بنابراین شبکه با "192.0.2" (به طور دقیقتر، 192.0.2.0/24) شناسایی میشود. روترهای شبکه، بسته را به هاستی در شبکه که با "192.0.2" نشان داده شده است، ارسال میکند. دو نوع ماسک Subnet وجود دارند که عبارتاند از:
- ماسک پیشفرض: ماسک پیشفرض نشاندهنده تعداد بیتهایی است که توسط کلاس آدرس رزرو شده است. استفاده از ماسک پیشفرض، به شناسایی Subnet در کلاس آدرس مربوطه کمک میکند.
- ماسک سفارشی: این ماسک توسط یک مدیر تعریف میشود و قابلیتهای آن در شناسایی Subnet ها قابل تنظیم است.
IP Class چیست؟
هر آدرس IP دارای دو بخش است. قسمت اول نشان میدهد که آدرس متعلق به کدام شبکه است و قسمت دوم، دستگاه درون آن شبکه را مشخص میکند. طول بخش اول بسته به کلاس IP شبکه یا همان IP Class تغییر میکند. شبکهها به کلاسهای مختلفی دستهبندی میشوند که دارای برچسب A تا E هستند. شبکههای کلاس A میتوانند میلیونها دستگاه را به هم متصل کنند. شبکههای کلاس B و شبکههای کلاس C به ترتیب از نظر اندازه کوچکتر میشوند. (شبکههای کلاس D و کلاس E معمولاً استفاده نمیشوند.)
به عنوان مثال، بخشهای اول و دوم برای شناسایی شبکه و دستگاه را در IP Class های A تا C بررسی میکنیم:
- شبکه کلاس A: اولین بخش در آدرس IP نشاندهنده شبکه است و هر چیزی بعد از آن دستگاه را در شبکه مشخص میکند. مثلاً در مورد آدرس IP 203.0.113.112 شبکه با "203" و دستگاه با "0.113.112" نشان داده میشود.
- شبکه کلاس B: دو بخش اول در آدرس IP، نشاندهنده شبکه هستند و بخشهای بعد از آن، آدرس دستگاه را مشخص میکنند. در مورد آدرس 203.0.113.112 به عنوان مثال، "203.0" نشاندهنده شبکه و "113.112" نشاندهنده دستگاه موجود در آن شبکه است.
- شبکه کلاس C: در این IP Class، سه بخش اول نشاندهنده شبکه و باقی بخشهای آدرس، نشاندهنده آدرس دستگاه هستند. در همین مثال، "203.0.113" شبکه کلاس C را نشان میدهد و "112" دستگاه را نشان میدهد.
IP Octet چیست؟
اگر مفهوم آدرس IP را درک کرده باشید، شناخت مفهوم IP Octet کار سختی نخواهد بود. همانطور که قبلاً گفتیم، هر آدرس IP مربوط به Subnet یک آدرس 32 بیتی است. این آدرس از 4 بخش 8 بیتی تشکیل شده است که هر بخش را یک IP Octet مینامند. به عنوان مثال آدرس IP 11000000.10101000.01111011.10000100 را در نظر بگیرید. در این آدرس، چهار IP Octet وجود دارد که با علامت ویرگول از هم جدا شدهاند. تقسیمبندی آدرس IP به IP Octet ها به شناسایی آدرس شبکه و آدرس دستگاه کمک میکند. مثلاً در کلاس A، بیتهای IP Octet اول همان آدرس شبکه است و سه IP Octet مربوط به آدرس دستگاه موجود در شبکه هستند.
دلایل استفاده از Subnetting
در این بخش مهمترین دلایل استفاده از Subnetting را بررسی میکنیم:
- Subnetting به شما کمک میکند تا کارایی آدرسدهی IP را به حداکثر برسانید و عمر IPV4 را افزایش دهید.
- آدرسهای عمومی IPV4 به کمک Subnetting به حداقل میرسند.
- Subnetting ترافیک شبکه را با حذف ترافیک توزیع داده، کاهش میدهد و در نتیجه عملکرد کلی آن را بهبود میبخشد.
- Subnetting به مدیر شبکه اجازه میدهد تا سیاستهای امنیتی را در اتصال بین زیر شبکهها اعمال کند.
- عملکرد شبکه از نظر تخصیص IP بهینهتر میشود.
- گسترش فواصل جغرافیایی به کمک Subnetting تسهیل میشود.
- فرآیند Subnetting به تخصیص آدرسهای IP کمک کرده و از بلااستفاده ماندن تعداد زیادی آدرس شبکه IP جلوگیری میکند.
- Subnet ها معمولاً از نظر جغرافیایی برای دفاتر یا تیمهای خاص یک کسبوکار راهاندازی میشوند، بهصورتی که علی رقم وجود فواصل جغرافیایی، نمایندگیهای مختلف یک کسبوکار از یک شبکه واحد استفاده میکنند.
جمعبندی
در این مقاله بهطور کامل بررسی کردیم که Subnet چیست و مزایای Subnetting شامل چه مواردی است. همچنین برخی اصطلاحات مرتبط با Subnetting را توضیح دادیم.
به عنوان جمعبندی نهایی، میتوان موارد زیر را برشمرد:
- Subnetting IP عمل تقسیم یک شبکه به دو یا شبکههای کوچکتر است.
- Subnet به شما کمک میکند تا کارایی آدرسدهی IP را به حداکثر برسانید.
- ماسک Subnet یک آدرس 32 بیتی است که برای تمایز بین آدرس شبکه و آدرسهاست در آدرس IP استفاده میشود.
- ماسک Subnet توسط روتر برای شناسایی آدرس شبکه استفاده میشود. همچنین مشخص میکند که از کدام بیتها برای شناسایی Subnet استفاده میشود.
- کلاسهای مختلفی برای آدرس IP تعریف میشود که هر کلاس، بر اساس آدرس تخصیص یافته به شبکه و یا دستگاههای شبکه، تقسیمبندی میگردد.