فهرست محتوا
مقدمه:
در دنیای شبکههای کامپیوتری، یکی از مفاهیم بنیادین که پایهی طراحی، امنیت و مدیریت شبکه را شکل میدهد، Subnet یا شبکهی فرعی است. شاید در نگاه اول Subnet مفهومی پیچیده بهنظر برسد، اما در واقع یکی از کاربردیترین ابزارها برای سازماندهی و کنترل جریان دادهها در شبکه محسوب میشود. بدون Subnet، شبکهها خیلی زود دچار شلوغی، افت کارایی و مشکلات امنیتی میشوند.
وقتی تعداد دستگاهها در یک شبکه افزایش پیدا میکند، مدیریت آدرسدهی و کنترل ترافیک به چالشی جدی تبدیل میشود. در اینجا مفهوم Subnetting وارد عمل میشود تا شبکهی بزرگ را به بخشهای کوچکتر و منطقیتر تقسیم کند. هر Subnet مانند یک «جزیرهی کوچک» درون شبکهی بزرگتر عمل میکند که ارتباط داخلی خودش را دارد و در عین حال به کل شبکه متصل است. این ساختار باعث میشود کارایی افزایش پیدا کند، امنیت بالاتر رود و ترافیک غیرضروری بین سیستمها کاهش یابد.
برای درک بهتر Subnet، باید ابتدا چند اصطلاح کلیدی را بشناسیم:
-
IP Address (آدرس IP): شناسهی عددی هر دستگاه در شبکه که مسیر ارتباط را مشخص میکند.
-
Subnet Mask (ماسک شبکه فرعی): عددی است که تعیین میکند کدام بخش از آدرس IP مربوط به شبکه و کدام بخش مربوط به دستگاهها (Host) است.
-
Broadcast: روشی برای ارسال همزمان داده به همهی دستگاههای داخل یک Subnet است.
به زبان ساده، Subnet راهی است برای تقسیم هوشمندانهی شبکهها؛ تا هم عملکرد و هم امنیت افزایش پیدا کند. در ادامهی این مقاله، مرحلهبهمرحله یاد میگیریم Subnet دقیقاً چیست، چطور کار میکند و چگونه میتوانیم آن را در طراحی شبکهها بهکار بگیریم.
نحوه عملکرد Subnet
Subnet در واقع روشی هوشمندانه برای تقسیم یک شبکه بزرگ به چند شبکهی کوچکتر است. با این کار، هر بخش (یا همان Subnet) بهصورت مستقل مدیریت میشود و در عین حال میتواند با سایر Subnetها در ارتباط باشد. هدف از این کار، افزایش کارایی شبکه، کاهش ترافیک غیرضروری و بالا بردن امنیت است.
فرض کن یک سازمان بزرگ با صدها کامپیوتر دارد. اگر همهی آنها در یک شبکه واحد باشند، هر پیام یا Broadcast به تمام دستگاهها ارسال میشود و پهنای باند را اشغال میکند. اما اگر شبکه را به چند Subnet تقسیم کنیم، هر Subnet فقط با اعضای خودش در ارتباط خواهد بود و این یعنی سرعت و پایداری بیشتری به همراه خواهد داشت.
نحوه تقسیم IPها به Subnetهای کوچکتر
هر دستگاه در شبکه یک آدرس IP دارد؛ مثلاً:192.168.1.10
اما این آدرس بهتنهایی مشخص نمیکند که دستگاه در کدام Subnet قرار دارد. برای این کار، ما از Subnet Mask استفاده میکنیم تا مرز بین بخش شبکه (Network) و بخش دستگاهها (Host) را تعیین کنیم.
بهعنوان مثال:
IP Address: 192.168.1.10 Subnet Mask: 255.255.255.0
در این مثال، سه بخش اول (255.255.255) نشاندهندهی شبکه هستند و بخش آخر (0) برای دستگاهها استفاده میشود. یعنی:
-
بخش شبکه: 192.168.1
-
بخش میزبان (Host): 10
به این ترتیب، میتوان با تغییر Subnet Mask، شبکه را به چند بخش کوچکتر تقسیم کرد. مثلاً با ماسک 255.255.255.128، شبکه 192.168.1.0 به دو Subnet تبدیل میشود:
-
192.168.1.0 تا 192.168.1.127
-
192.168.1.128 تا 192.168.1.255
هر کدام از این دو محدوده، یک Subnet مجزا هستند که میتوانند برای دو دپارتمان مختلف استفاده شوند.
رابطه بین Subnet Mask و IP Address
Subnet Mask مانند فیلتر عمل میکند؛ به سیستم میگوید چه بخشی از IP مربوط به شبکه است و چه بخشی مربوط به میزبانها.
در زبان باینری، این موضوع دقیقتر مشخص میشود:
IP Address: 192.168.1.10 → 11000000.10101000.00000001.00001010 Subnet Mask: 255.255.255.0 → 11111111.11111111.11111111.00000000
بخشهایی که با عدد 1 در ماسک مشخص شدهاند، متعلق به Network هستند، و بخشهایی که صفرند، مربوط به Host میشوند.
به بیان سادهتر:
-
Subnet Mask تعیین میکند مرز بین شبکه و میزبانها کجاست.
-
هرچه تعداد بیتهای 1 در ماسک بیشتر باشد، سابنت کوچکتر اما تعداد سابنت ها بیشتر خواهد بود.
بخش Network و Host در IP
هر آدرس IP از دو بخش تشکیل شده است:
-
Network ID: بخشی که شناسهی شبکه را مشخص میکند.
-
Host ID: بخشی که دستگاه خاص در آن شبکه را معرفی میکند.
مثلاً در آدرس 192.168.1.10 با ماسک 255.255.255.0:
-
Network ID = 192.168.1
-
Host ID = 10
در نتیجه، اگر دو دستگاه Network ID یکسان داشته باشند، یعنی در یک سابنت قرار دارند. اگر Network ID متفاوت باشد، برای ارتباط باید از روتر (Router) استفاده کنند.
Subnet Mask و نحوه محاسبه آن
برای اینکه بفهمیم هر سابنت دقیقاً از چه محدودهای از IPها تشکیل شده، باید مفهوم Subnet Mask را بشناسیم.Subnet Mask در واقع خط مرزی میان بخش «شبکه» (Network) و بخش «دستگاهها» (Host) در آدرس IP است.
مفهوم Subnet Mask
هر آدرس IP از ۴ بخش ۸ بیتی (مجموعاً ۳۲ بیت) تشکیل شده است. این ۳۲ بیت به دو قسمت تقسیم میشود:
-
بخش اول برای Network ID
-
بخش دوم برای Host ID
حال، Subnet Mask مشخص میکند چند بیت از این ۳۲ بیت مربوط به شبکه و چند بیت مربوط به دستگاهها هستند.
مثلاً:
IP Address: 192.168.1.10 Subnet Mask: 255.255.255.0
بهصورت باینری:









