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

تصویر(1)
مزایای کاربردی زیرشبکه یا Subnet
از جمله کاربردهای استفاده از زیرشبکه می توان موارد زیر را نام برد:
-
مدیریت بهتر شبکه:
در شبکههای بزرگ اگر همه دستگاهها در یک شبکه قرار داشته باشند، مدیریت آن بسیار دشوار خواهد بود. Subnetکمک میکند شبکه به بخشهای منطقی تقسیم شود.
-
افزایش امنیت شبکه:
می توان با این روش دسترسی به بخش های مختلف شبکه را محدود کرد و هر subnet یا زیر شبکه به صورت جدا از زیرشبکه های دیگر فعالیت کند.
-
کاهش ترافیک شبکه:
تقسیم شبکه با subnet باعث می شود که ترافیک فقط در همان زیر شبکه باقی بماند.
-
استفاده بهینه از آدرس های ip:
subnet کمک میکند آدرسهای IP به شکل بهینهتری استفاده شوند. در غیر این صورت ممکن است تعداد زیادی IP بدون استفاده باقی بمانند.
-
توسعه شبکه ها بدون تداخل در آدرس دهی کلاینت ها:
اگر زیرشبکهها از همان ابتدای طراحی شبکه بهدرستی برنامهریزی شوند، در آینده امکان گسترش شبکه بسیار سادهتر خواهد بود. در چنین حالتی میتوان بخشها یا تجهیزات جدیدی را به شبکه اضافه کرد، بدون آنکه با مشکل همپوشانی یا تداخل در آدرسهای IP مواجه شد.
کاربرد Subnet در صنعت هاستینگ و میزبانی وب
کاربرد Subnet در هاستینگ و سرورهای ابری بسیار مهم است و یکی از روشهای اصلی برای مدیریت بهتر منابع شبکه محسوب میشود. در زیرساختهای میزبانی وب و محیطهای ابری، سرورها و کاربران مختلف معمولاً روی یک شبکه فیزیکی مشترک قرار دارند. برای جلوگیری از تداخل ترافیک و افزایش سطح امنیت، شبکه به چند زیرشبکه مجزا تقسیم میشود.
با استفاده از Subnet میتوان بخشهای مختلف یک زیرساخت ابری را از نظر شبکهای از یکدیگر جدا کرد. برای مثال ممکن است در یک پلتفرم ابری، هر کاربر یا هر سرویس در یک زیرشبکه اختصاصی قرار گیرد. این کار باعث میشود ترافیک شبکه هر کاربر از سایر کاربران جدا بماند و دسترسیها به شکل دقیقتری کنترل شود. در نتیجه احتمال بروز مشکلات امنیتی یا اختلال در ارتباطات شبکه به میزان قابل توجهی کاهش پیدا میکند.
در محیطهای سرور مجازی (VPS)و دیتاسنترها نیز سابنتینگ نقش مهمی در مدیریت آدرسهای IP دارد. مدیران شبکه میتوانند با تقسیم شبکه به چند زیرشبکه مختلف، ساختار آدرسدهی را منظمتر طراحی کنند. برای مثال می توان یک زیرشبکه برای سرورهای وب، زیرشبکهای دیگر برای پایگاه داده و زیرشبکهای جدا برای سیستمهای مدیریتی یا بکاپ در نظر گرفته شود.
این نوع تفکیک شبکه علاوه بر افزایش امنیت، باعث بهبود عملکرد شبکه نیز میشود؛ زیرا ترافیک داخلی هر بخش محدود به همان زیرشبکه باقی میماند و از انتشار ترافیک غیرضروری در کل شبکه جلوگیری میشود. به همین دلیل Subnet یکی از مفاهیم پایه در طراحی زیرساختهای حرفهای هاستینگ، دیتاسنترها و پلتفرمهای ابری به شمار میرود.

تصویر(2)
معایب استفاده از زیر شبکه
در برخی موارد استفاده از زیرشبکه ها می تواند معایبی را نیز به همراه داشته باشد که از مهمترین آنها می توان به موارد زیر اشاره نمود:
-
نیاز به دانش فنی بالا برای طراحی صحیح
طراحی و پیادهسازی زیرشبکهها نیازمند آشنایی دقیق با مفاهیمی مانند ساختار آدرسهای IP، Subnet Mask و نحوه مسیریابی در شبکه است. اگر این مرحله بهدرستی انجام نشود، ممکن است در ارتباط میان دستگاهها اختلال ایجاد شود و حتی عملکرد کلی شبکه تحت تأثیر قرار گیرد.
-
افزایش پیچیدگی در پیکربندی روترها و سوییچ ها
هر زیرشبکه معمولاً به پیکربندی جداگانه در تجهیزات شبکه نیاز دارد و همین موضوع میتواند تعداد تنظیمات موردنیاز را افزایش دهد. در نتیجه مدیریت و نگهداری تجهیزات شبکه در چنین ساختاری ممکن است پیچیدهتر شود و نیاز به دقت و برنامهریزی بیشتری داشته باشد.
-
احتمال خطا در محاصبه Subnet Mask
اگر محاسبه ماسک زیرشبکه بهدرستی انجام نشود، ممکن است محدوده آدرسهای IP با یکدیگر تداخل پیدا کنند یا ارتباط میان دستگاههای شبکه با مشکل مواجه شود. در چنین شرایطی برخی سیستمها قادر نخواهند بود با سایر بخشهای شبکه ارتباط برقرار کنند.
-
دشواری در مدیریت تعداد زیاد زیرشبکه ها در شبکه های بزرگ
با افزایش تعداد زیرشبکهها، فرآیند مدیریت شبکه نیز پیچیدهتر میشود و انجام کارهایی مانند نظارت بر عملکرد شبکه، بررسی مشکلات و عیبیابی زمان بیشتری خواهد گرفت. در ادامه، مزایا و معایب استفاده از زیرشبکهها بهصورت خلاصه در قالب یک جدول ارائه شده است.
نحوه عملکرد subnet
عملکرد Subnet بر اساس تفکیک آدرسهای IP با استفاده از مفهومی به نام Subnet Mask انجام میشود. زمانی که یک بسته داده در شبکه ارسال میشود، روتر ابتدا با بررسی Subnet Mask زیرشبکه را تشخیص میدهد که مقصد مورد نظر در همان محدوده شبکه قرار دارد یا در یک شبکه دیگر می باشد.
در صورتی که مقصد در همان زیرشبکه باشد، داده بدون واسطه مستقیماً به دستگاه مقصد ارسال میشود. اما اگر مقصد خارج از آن محدوده قرار داشته باشد، روتر بسته داده را از طریق مسیر مناسب به شبکه دیگری هدایت میکند. این شیوه مدیریت ترافیک باعث میشود حجم ارتباطات غیرضروری در شبکه کاهش پیدا کند، انتقال دادهها با سرعت بیشتری انجام شود و سطح امنیت ارتباطات نیز به شکل محسوسی افزایش یابد.
معرفی آدرس IP و انواع آن
آدرسIP شناسهای عددی و منحصربهفرد است که به هر دستگاه متصل به یک شبکه اختصاص داده میشود. این شناسه به شبکه امکان میدهد دستگاههایی که می خواهند در شبکه قرار بگیرند را شناسایی کند و مسیر صحیح انتقال دادهها را مشخص سازد. بدون وجود آدرسIP ، تبادل اطلاعات میان سیستمها امکانپذیر نخواهد بود؛ زیرا شبکه نمیتواند تشخیص دهد دادهها باید به کدام دستگاه مقصد ارسال شوند. به همین دلیل،IP در شبکههای کامپیوتری نقشی مشابه آدرس در سیستم پستی دارد که کمک میکند اطلاعات دقیقاً به مقصد مورد نظر برسند.
برای آدرس های IP دو نسخه وجود دارد که عبارتند از:
- IP نسخه 4 یا IPv4
- IP نسخه 6 یا IPv6

تصویر(3)
معرفی IP نسخه 4 یا IPv4
در نسخه IPv4، آدرس IP از چهار بخش عددی تشکیل شده است که این بخشها با نقطه از هم جدا میشوند. برای مثال:
|
192.168.1.5 |
- هر یک از این چهار قسمت میتواند عددی بین 0 تا 255 داشته باشد.
- اعداد 0 تا 255 در دستگاه باینری را با 8 بیت می توان نشان داد
- به هر کدام از این بخشها در شبکه Octet گفته میشود، زیرا هر قسمت مطابق نکته قبلی از ۸ بیت تشکیل شده است.
- در مجموع نیز یک آدرس IPv4 دارای ۳۲ بیت است.
معرفی IP نسخه 6 یا IPv6
با رشد شبکه ها و افزایش تعداد دستگاه های متصل به شبکه ، نسخه جدیدتری از آدرس های IP ارائه شد که به آن IPv6 گویند. در واقع این ورژن برای رفع محدودیت تعداد آدرسها در IPv4 معرفی شد. در مقاله "تفاوت IPV4 با IPV6" می توانید اطلاعات بیشتری در خصوص این دو نسخه به دست آورید. ساختار IP در نسخه 6 به شرح زیر است:
|
2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
- IPv6 از ۱۲۸ بیت استفاده میکند.
- هر بخش آن در قالب هگزادسیمال (شانزدهتایی) نمایش داده میشود.
- این نسخه امکان تخصیص تعداد بینهایت آدرس را فراهم کرده و از نظر امنیت و عملکرد نیز بهینهتر است.
ساختار آدرس IPv4
این آدرس به گونهای طراحی شده است که بتواند هم شبکه مورد نظر و هم دستگاه داخل آن شبکه را مشخص کند. به همین دلیل ساختار IP معمولاً از دو بخش اصلی تشکیل میشود.
- شناسه شبکه یا NetworkID: این بخش نشان میدهد دستگاه مورد نظر به کدام شبکه یا زیرشبکه تعلق دارد و در واقع محدوده شبکهای را مشخص میکند که دستگاه در آن قرار گرفته است.
- شناسه میزبان یا HostID: این قسمت برای شناسایی یک دستگاه خاص در همان شبکه استفاده میشود و مشخص میکند آدرس IP مربوط به کدام دستگاه یا تجهیز در آن شبکه است.

تصویر(4)
ساختار آدرس IPv6
در معماری IPv6 دیگر تقسیمبندی سنتیNetworkID وHostID که در IPv4 وجود داشت، به همان شکل استفاده نمیشود. در عوض، ساختار آدرس به دو بخش اصلی تقسیم میشود:
- Network Prefix: این قسمت محدوده شبکه را مشخص میکند و از نظر عملکرد شباهت زیادی به شناسه شبکه در IPv4 دارد.
- Interface ID: این بخش برای شناسایی یک دستگاه مشخص در همان شبکه استفاده میشود و نقشی مشابه Host ID در IPv4 دارد.
چنین ساختاری باعث میشود مدیریت آدرسها در شبکههای بزرگ انعطافپذیرتر باشد. علاوه بر این، IPv6 امکان پشتیبانی از تعداد بسیار بیشتری دستگاه را فراهم میکند و در بسیاری از موارد قابلیتهای بهتری برای مدیریت ترافیک و امنیت شبکه ارائه میدهد.
آشنایی با مفهوم Subnet Mask
Subnet Mask در IPv4 استفاده می شود. این عدد مجموعهای از مقادیر باینری است. این مقدار تعیین می کند که IP به چه صورتی به NetworkID و HostID تقسیم شود. بنابراین Subnet Mask یک مرز منطقی بین شبکه و دستگاه های درون آن ایجاد می کند.
در IPv4 برای مقدار Subnet Mask یک رشته 32 بیتی میباشد که از چپ به راست دارای بیت های صفر و یک میباشد. بیت هایی که با ارزش “1” نمایش داده میشوند مشخص کننده NetworkID می باشند و بیت هایی که با ارزش “0” نمایش داده میشوند مشخص کنند HostID هستند به طور مثال IP زیر را به همراه Subnet Mask آن در نظر بگیرید:
IP = 192.168.1.5
Subnet Mask = 255.255.255.0
مقدار Subnet Mak ذکر شده در بالا که در دستگاه دسیمال می باشد در باینری به شرح زیر می باشد:
|
Decimal = 255.255.255.0 binary = 11111111.11111111.11111111.00000000 |
حال همان طور که عنوان شد بیت هایی با ارزش "1" مشخص کننده NetworkID هستند و بیت هایی با ارزش "0" مشخص کننده HostID هستند و در این مثال سه Octet اول چون شامل "1" هستند پس NetworkID را نشان می دهند و Octet آخر مقدار HostID را نشان میدهد. بنابراین در این مثال، دستگاه های درون این شبکه رنج آدرس های ip آن ها از 192.168.1.0 تا 192.168.1.255 می باشد و آدرس 192.168.1.5 یکی از دستگاههای داخل آن محسوب میشود.
آشنایی با مفهوم CIDR
یکی دیگر از روش های تفکیک NetworkID با HostID علاوه بر استفاده از Subnet Mask در آدرس های IP استفاده از CIDR می باشد. در این روش ، آدرس IP به همراه عددی پس از علامت / نوشته میشود.
192.168.1.5 /24
این عدد نشان میدهد چه تعداد از بیتهای ابتدای آدرس IP به بخش شبکه اختصاص دارند. برای مثال در آدرس بالا عدد 24 بیان میکند که 24 بیت اول آدرس مربوط به شناسه شبکه است و بیتهای باقیمانده برای دستگاههای داخل آن شبکه استفاده میشوند.
هرچه این عدد بزرگتر باشد، تعداد آدرسهای قابل استفاده برای دستگاهها کمتر خواهد بود، زیرا بخش بیشتری از آدرس به شبکه اختصاص داده شده است.
نحوه ایجاد زیرشبکه یا Subnet
تا اینجا با مفاهیم IP و Subnet Mask در IPv4 آشنا شدید اما هم اکنون این مسئله را فراخواهید گرفت که چگونه می توان یک رنج IP که برای یک شبکه در نظر گرفته شده است را به چند رنج مختلف برای زیرشبکه ها یا Subnet های متخلف تقسیم نمود.
مرحله اول:
برای ایجاد Subnet ابتدا باید آدرس شبکه اصلی مشخص باشد. آدرس شبکه باید به همراه CIDR یا Subnet Mask نمایش داده شود. به طور مثال:
IP = 192.168.1.0 /24
Subnet Mask = 255.255.255.0
- عدد 24 نشان میدهد 24 بیت اول مربوط به شبکه است.
- این شبکه در مجموع 256 آدرس IP دارد.
- از این تعداد معمولاً 254 آدرس قابل استفاده برای دستگاهها هستند.
مرحله دوم:
در گام بعد باید مشخص شود که شبکه قرار است به چند زیرشبکه تقسیم شود. این تصمیم معمولاً بر اساس نیاز شبکه گرفته میشود. به طور مثال فرض کنید که باید رنج IP نام برده شده در مرحله اول به 4 زیر شبکه تقسیم شود سپس برای اینکه یک شبکه به چند زیرشبکه یا Subnet تقسیم شود می بایست از بیت های NetworkID استفاده کرد.
برای نحوه محاسبه تعداد بیت های موردنیاز باید از فرمول 2 به توان n استفاده نمایید.
در اینجا n تعداد بیت های موردنیازی است که باید از HostID گرفته شود و به NetworkID داده شود. حال در این مثال چون به 4 شبکه احتیاج است پس مقدار n برابر 2 می شود و باید دو بیت از HostID را به NetworkID اختصاص داد.
مرحله سوم:
پس از تعیین Subnet جدید، محدوده آدرسها برای هر زیرشبکه مشخص میشود یعنی اگر شبکه 192.168.1.0/24 است به /26 192.168.1.0 تبدیل شود، سپس چون HostID شامل 6 بیت می شود پس هر زیر شبکه دارای 64 آدرس خواهد شد بنابراین زیرشبکهها به شکل زیر خواهند بود:
- زیرشبکه اول در محدوده "192.168.1.0 – 192.168.1.63" می باشد
- زیرشبکه دوم در محدوده "192.168.1.64 – 192.168.1.127" می باشد
- زیرشبکه سوم در محدوده "192.168.1.128 – 192.168.1.191" می باشد
- زیرشبکه چهارم در محدوده "192.168.1.192 – 192.168.1.255" می باشد
مقایسه زیرشبکه یا Subnet با شبکه اصلی
شبکه اصلی یا Main Network شامل تمام آدرسهای IP موجود در یک کلاس از IP می باشد، در حالی که Subnet آن کلاس را به چند بخش یا محدوده تقسیم می کند تا بتواند از آن IP ها در شبکه های مختلف استفاده کند. در واقع، زیرشبکه یک بخش از شبکه اصلی است که عملکرد مستقل و جداگانه خواهد داشت.

تصویر(5)
جمع بندی
Subnet یا زیرشبکه یکی از مفاهیم پایه و بسیار مهم در شبکههای کامپیوتری است که امکان تقسیم یک شبکه بزرگ به بخشهای کوچکتر و قابل مدیریت را فراهم میکند. با استفاده از Subnet میتوان امنیت شبکه را افزایش داد، ترافیک شبکه را کاهش داد و از آدرسهای IP به شکل بهینهتری استفاده کرد. درک صحیح مفهوم Subnet برای مدیریت شبکه، راهاندازی سرورها و طراحی زیرساختهای اینترنتی اهمیت زیادی دارد. آشنایی با نحوه محاسبهSubnet Mask و ساختار CIDR نیز کمک میکند شبکهها به شکل حرفهایتر طراحی و مدیریت شوند.