فرض کنید یک شبکه 192.168.1.0/24 دارید، اما نمیخواهید همه دستگاهها در یک شبکه قرار بگیرند؛ برای مثال، بخشی از شبکه برای کاربران، بخشی برای سرورها و بخشی برای تجهیزات مدیریتی در نظر گرفته شده است. در چنین شرایطی میتوان شبکه را به چند بخش کوچکتر تقسیم کرد.
سادهترین تعریف Subnetting این است که یک شبکه IP بزرگ را به چند شبکه منطقی کوچکتر تقسیم کنیم. این کار با تغییر Subnet Mask یا Prefix انجام میشود تا محدوده آدرسدهی شبکه به چند Subnet مجزا تقسیم شود.
در این مقاله از تجارت سرور پارسه، ابتدا با مفهوم Subnetting و دلیل استفاده از آن آشنا میشویم؛ سپس سراغ Subnet Mask و Prefix میرویم و در ادامه، نحوه محاسبه Network Address، Broadcast Address و محدوده IPهای قابل استفاده را با مثال بررسی میکنیم.
⏲ زمان تخمینی مطالعه: 15 دقیقه
| موضوع | خلاصه پاسخ |
|---|---|
| Subnetting چیست؟ | تقسیم یک شبکه IP بزرگ به چند شبکه یا Subnet کوچکتر برای مدیریت بهتر آدرسها و ساختار شبکه |
| چرا از Subnetting استفاده میکنیم؟ | استفاده بهینهتر از فضای IPv4، جداسازی منطقی بخشهای مختلف شبکه و محدود کردن Broadcast Domain |
| Subnet Mask چیست؟ | مشخص میکند کدام بخش IP مربوط به Network و کدام بخش مربوط به Host است |
| Prefix چیست؟ | عدد بعد از / که تعداد بیتهای اختصاصیافته به بخش Network را مشخص میکند؛ مانند /24 یا /26 |
| مثال اصلی مقاله | در 192.168.1.75/26، شبکه مربوطه از 192.168.1.64 شروع میشود |
| Subnet Mask در /26 | 255.255.255.192 |
| Block Size در /26 | 64 آدرس در هر Subnet |
| Network Address | 192.168.1.64 |
| Broadcast Address | 192.168.1.127 |
| Hostهای قابل استفاده | 192.168.1.65 تا 192.168.1.126؛ در مجموع 62 Host |
| فرمول تعداد Host | 2ⁿ – 2 در حالت معمول IPv4؛ n تعداد بیتهای Host است |
| VLSM چیست؟ | امکان استفاده از Prefixهای متفاوت برای Subnetهایی با تعداد Host متفاوت |
| ارتباط با VLAN | در بسیاری از طراحیهای شبکه، هر VLAN یک Subnet اختصاصی دارد و ارتباط بین Subnetهای مختلف از طریق Routing انجام میشود |
فهرست موضوعات
Subnetting چیست؟
Subnetting یا سابنتینگ به فرآیند تقسیم یک شبکه IP بزرگتر به چند شبکه منطقی کوچکتر گفته میشود. در این فرآیند، با تغییر Subnet Mask یا Prefix Length، بخشی از فضای آدرسدهی که برای Hostها در نظر گرفته شده است به بخش Network اختصاص پیدا میکند و در نتیجه میتوان یک محدوده IP را به چند Subnet مجزا تقسیم کرد.
به زبان ساده، اگر یک شبکه مانند 192.168.1.0/24 در اختیار داشته باشیم، میتوانیم با استفاده از Subnetting آن را به چند شبکه کوچکتر مانند /25، /26 یا /27 تقسیم کنیم. هر یک از این Subnetها محدوده آدرس، Network Address و Broadcast Address مخصوص خود را خواهند داشت.
برای مثال، شبکه 192.168.1.0/24 در حالت اولیه دارای 256 آدرس IP است که معمولاً 254 آدرس برای Hostها قابل استفاده است. اگر همین شبکه را به /26 تقسیم کنیم، به 4 Subnet با 64 آدرس در هر Subnet میرسیم که در هرکدام 62 آدرس برای Hostها قابل استفاده است.
بنابراین، Subnetting صرفاً تغییر یک عدد در Subnet Mask نیست؛ بلکه روشی برای سازماندهی و تقسیم فضای آدرسدهی IP متناسب با نیاز شبکه است. این تکنیک در طراحی شبکههای کوچک و بزرگ، مدیریت IP Addressها، کاهش اندازه Broadcast Domain و ایجاد ساختار منطقیتر در شبکه کاربرد دارد.
Subnet چیست؟
Subnet مخفف Subnetwork است و به یک بخش منطقی از یک شبکه IP گفته میشود که محدوده آدرسدهی مستقل خود را دارد.
برای درک بهتر، فرض کنید شبکه 192.168.1.0/24 را با استفاده از Subnetting به چهار شبکه کوچکتر تقسیم کردهایم. در این حالت، هر یک از محدودههای زیر یک Subnet محسوب میشوند:
- 168.1.0/26
- 168.1.64/26
- 168.1.128/26
- 168.1.192/26
بنابراین Subnet نتیجه فرآیند Subnetting است. Subnetting فرآیند تقسیم شبکه است و Subnet شبکه منطقیای است که در نتیجه این تقسیم ایجاد میشود.
هر Subnet دارای محدوده مشخصی از آدرسهای IP است و معمولاً شامل Network Address، آدرسهای قابل تخصیص به Hostها و Broadcast Address است.
Subnetting چه مشکلی را در شبکه حل میکند؟
فرض کنید در یک شرکت 200 دستگاه دارید و همه آنها در یک شبکه IP قرار گرفتهاند. هرچه تعداد دستگاهها و Broadcastها بیشتر شود، مدیریت چنین شبکهای سختتر خواهد شد. از طرف دیگر ممکن است نخواهید کامپیوترهای کاربران و سرورها دقیقا در یک محدوده شبکه قرار داشته باشند.
Subnetting این امکان را میدهد که همین شبکه را به چند محدوده کوچکتر تقسیم کنید. در نتیجه میتوان برای بخشهای مختلف شبکه Subnet های جداگانه در نظر گرفت و ساختار شبکه را سادهتر مدیریت کرد.
مطالعه پیشنهادی پارسه:
Dynamic ARP Inspection (DAI) چیست؟
چرا از Subnetting استفاده میکنیم؟
Subnetting به مدیر شبکه اجازه میدهد فضای آدرسدهی IP را متناسب با ساختار و نیاز واقعی شبکه تقسیم کند. مهمترین دلایل استفاده از Subnetting عبارتاند از:
استفاده بهینه از آدرسهای IP
در یک شبکه بزرگ، اختصاص دادن یک محدوده یکسان به تمام تجهیزات همیشه منطقی نیست. با Subnetting میتوان برای هر بخش، متناسب با تعداد تجهیزات موردنیاز، یک محدوده IP مناسب اختصاص داد.
کاهش Broadcast Domain
با تقسیم یک شبکه بزرگ به چند Subnet، Broadcastها در محدوده کوچکتری باقی میمانند. این موضوع میتواند به کاهش ترافیک غیرضروری Broadcast و مدیریت بهتر شبکه کمک کند.
سازماندهی بهتر شبکه
میتوان بخشهای مختلف یک سازمان مانند واحد مالی، منابع انسانی، فروش و مدیریت را در Subnetهای جداگانه قرار داد. این کار ساختار آدرسدهی و مدیریت شبکه را منظمتر میکند.
کمک به جداسازی منطقی شبکه
Subnetting میتواند در کنار تجهیزاتی مانند Router، Firewall و راهکارهای کنترل دسترسی، برای ایجاد مرزبندی منطقی میان بخشهای مختلف شبکه استفاده شود. البته خود Subnetting بهتنهایی یک مکانیزم امنیتی یا فایروال محسوب نمیشود.
مدیریت سادهتر آدرسهای IP
وقتی شبکه به Subnetهای مشخص تقسیم شود، شناسایی محدودههای IP و عیبیابی مشکلات شبکه سادهتر خواهد شد.
برای مثال، در یک شرکت میتوان یک Subnet را برای سیستمهای اداری، یک Subnet را برای سرورها و Subnet دیگری را برای تجهیزات مدیریتی در نظر گرفت. در این حالت، هر بخش محدوده آدرسدهی مشخصی خواهد داشت و مدیریت ساختار IP سادهتر میشود.
مطالعه پیشنهادی پارسه:
پروتکل HSRP چیست؟
چگونه Subnetting را محاسبه کنیم؟
برای دیدن روش محاسبه، IP 192.168.1.75/26 را بررسی کنیم. اینجا قرار نیست فقط چند فرمول را پشت سر هم اجرا کنیم، مهمتر این است که بفهمیم از روی Prefix و Subnet Mask چطور محدودهای را که IP داخل آن قرار دارد پیدا کنیم. وقتی این روش را یاد بگیرید، محاسبه Subnetهای مشابه هم راحتتر خواهد بود.
مرحله ۱؛ مشخص کردن تعداد Subnet یا Host موردنیاز
اگر هنوز Prefix را انتخاب نکردهایم، اول باید ببینیم چند دستگاه قرار است در شبکه قرار بگیرند یا چند Subnet لازم داریم. تعداد Hostهای موردنیاز تعیین میکند که چه Prefixی برای شبکه مناسب باشد.
در مثال 192.168.1.75/26، Prefix از قبل مشخص شده و مسئله ما پیدا کردن محدوده همین IP است، پس مستقیما سراغ Mask و مرزهای Subnet میرویم.
مرحله ۲؛ انتخاب Prefix و Subnet Mask
در مثال ما Prefix برابر /26 است. این عدد به ما میگوید 26 بیت برای Network و 6 بیت برای Host در نظر گرفته شده است. نمایش دهدهی Subnet Mask برای /26 برابر است با:
255.255.255.192
عدد 192 در اکتت آخر به ما کمک میکند فاصله بین Subnetها را پیدا کنیم.
مرحله ۳؛ محاسبه Block Size
از Mask به 255.255.255.192 رسیدیم. برای اینکه بفهمیم Subnetها در اکتت آخر با چه فاصلهای از هم قرار میگیرند، 192 را از 256 کم میکنیم:
256 – 192 = 64
پس هر Subnet با فاصله 64 آدرس شروع میشود. مرزهای شبکه در اکتت آخر عبارتاند از:
0، 64، 128، 192
حالا فقط کافی است ببینیم عدد 75 بین کدام دو مرز قرار گرفته است.
مرحله ۴؛ پیدا کردن Network Address
عدد آخر IP ما 75 است و مرزهای Subnet هم 0، 64، 128 و 192 هستند.
75 بین 64 و 128 قرار دارد. یعنی IP ما در Subnetی است که از 64 شروع میشود. سه بخش اول IP تغییری نمیکنند، بنابراین Network Address میشود:
192.168.1.64
مرحله ۵؛ پیدا کردن Broadcast Address
Subnet ما از 192.168.1.64 شروع میشود و Subnet بعدی از 192.168.1.128. آخرین آدرس قبل از شروع Subnet بعدی، Broadcast است.
پس:
192.168.1.128 – 1 = 192.168.1.127
Broadcast Address این Subnet برابر است با:
192.168.1.127
مرحله ۶؛ تعیین محدوده Hostها
حالا دو سر محدوده را داریم:
- Network: 192.168.1.64
- Broadcast: 192.168.1.127
این دو آدرس برای Hostهای معمولی قابل استفاده نیستند. آدرس بعد از Network ، اولین Host است و آدرس قبل از Broadcast، آخرین Host.
محدوده Hostهای قابل استفاده بنابراین میشود:
192.168.1.65 تا 192.168.1.126
از 64 آدرس این Subnet، دو آدرس برای Network و Broadcast کنار گذاشته میشود؛ در نتیجه 62 Host قابل استفاده داریم.
حالا کل محاسبه را یکجا ببینیم:
| مورد | نتیجه |
|---|---|
| IP Address | 192.168.1.75/26 |
| Subnet Mask | 255.255.255.192 |
| Block Size | 64 |
| Network Address | 192.168.1.64 |
| First Host | 192.168.1.65 |
| Last Host | 192.168.1.126 |
| Broadcast | 192.168.1.127 |
| Host قابل استفاده | 62 Host |
برای محاسبه تعداد Hostها نیز از این فرمول استفاده میکنیم:
تعداد Host قابل استفاده = 2ⁿ – 2
در /26، تعداد بیتهای Host برابر 6 است:
2⁶ – 2 = 64 – 2 = 62
دو آدرس کم میشوند چون در حالت معمول IPv4، یکی Network Address و دیگری Broadcast Address است.
مثالهای Subnetting برای Prefixهای پرکاربرد
شناخت /25 تا /28 برای بسیاری از محاسبات روزمره شبکه کافی است.
Mask این Prefix برابر 255.255.255.128 است و هر Subnet 128 آدرس دارد.
0 تا 127 و 128 تا 255 هستند. از 128 آدرس هر Subnet، دو آدرس Network و Broadcast هستند و 126 آدرس برای Hostهای معمولی باقی میماند.
0، 64، 128 و 192 قرار میگیرد. هر Subnet نیز 62 Host قابل استفاده دارد.
255.255.255.224 میرسد و Block Size برابر 32 خواهد بود.
مرزهای Subnet در اکتت آخر نیز 0، 32، 64، 96، 128، 160، 192 و 224 هستند.
Mask آن 255.255.255.240 است و Subnetها با فاصله 16 آدرس از یکدیگر شروع میشوند.
14 آدرس برای Hostهای معمولی باقی میماند.
خلاصه سریع مفاهیم Subnetting:
- IP Address: آدرس منطقی یک Interface در شبکه IP است؛ در IPv4 از 32 بیت تشکیل میشود.
- Subnet Mask: مشخص میکند کدام بخش IP مربوط به Network و کدام بخش مربوط به Host است.
- Prefix: عدد بعد از / است که تعداد بیتهای بخش Network را نشان میدهد؛ مانند /24 و /26.
- Network Address: آدرسی که خود Subnet را مشخص میکند و به Host اختصاص داده نمیشود.
- Broadcast Address: آخرین آدرس Subnet است و برای ارسال Broadcast در همان Subnet استفاده میشود.
- مثال /26: شبکهای با Prefix /26 دارای 64 آدرس و در حالت معمول 62 Host قابل استفاده است.
- VLSM: امکان ایجاد Subnetهایی با اندازههای متفاوت متناسب با تعداد Hostهای موردنیاز را فراهم میکند.
Subnetting چه کاربردی در شبکههای Cisco دارد؟
Subnetting بخش جداییناپذیر طراحی بسیاری از شبکههای مبتنی بر تجهیزات Cisco است. البته Subnetting خودش یک قابلیت مخصوص Cisco نیست و یک مفهوم عمومی در شبکههای IP محسوب میشود.
Subnetting و VLAN
در طراحی رایج شبکه، هر VLAN میتواند Subnet مخصوص خودش را داشته باشد. برای مثال VLAN کاربران ممکن است در 192.168.10.0/24 و VLAN سرورها در 192.168.20.0/24 قرار بگیرد.
این جداسازی باعث میشود Broadcast های دو VLAN از هم جدا باشند.
Subnetting و Routing
وقتی چند Subnet داشته باشیم، برای برقراری ارتباط بین آنها به Routing نیاز داریم.
برای مثال اگر کامپیوتری در Subnet 192.168.10.0/24 بخواهد با سروری در 192.168.20.0/24 ارتباط برقرار کند، ترافیک باید از یک دستگاه لایه 3 مانند Router یا Layer 3 Switch عبور کند.
Subnetting در روتر و سوئیچ لایه 3
Router و Layer 3 Switch میتوانند بین شبکهها یا Subnetهای مختلف مسیریابی انجام دهند. در طراحی شبکههای Cisco، شناخت دقیق Network Address و Prefix برای تعریف و مدیریت Subnetها ضروری است.
برای مثال در 192.168.1.64/26:
192.168.1.64 → Network
192.168.1.127 → Broadcast
2ⁿ – 2
/27 دارای 32 آدرس است، اما فقط 30 آدرس برای Hostهای معمولی قابل استفاده است.
/26
256 – 192 = 64
پس Block Size = 64
اگر 40 Host نیاز داشته باشیم، /27 مناسب نیست؛ چون فقط 30 Host قابل استفاده دارد.
در این شرایط /26 با 62 Host قابل استفاده انتخاب مناسبتری است.
جمعبندی
Subnetting یعنی تقسیم یک شبکه IP بزرگتر به چند Subnet کوچکتر. برای محاسبه Subnet، باید بدانیم IP Address، Prefix و Subnet Mask چه ارتباطی با تعداد بیتهای Host دارند.
در محاسبه Subnetting ابتدا نیاز شبکه و Prefix مناسب را مشخص میکنیم، سپس Subnet Mask و Block Size را به دست میآوریم. با استفاده از Block Size میتوان Network Address را پیدا کرد و از روی آن Broadcast و محدوده First Host تا Last Host را مشخص کرد.
این مفاهیم در طراحی شبکههای واقعی نیز کاربرد دارند. برای مثال میتوان برای VLANهای مختلف Subnetهای جدا در نظر گرفت و با استفاده از Routing ، ارتباط بین آنها را برقرار کرد. به همین دلیل یادگیری Subnetting برای کار با Router، Layer 3 Switch و بسیاری از سناریوهای شبکه Cisco یک مهارت پایه و ضروری است.
سوالات متداول درباره Subnetting
Subnetting چیست؟
Subnetting فرایند تقسیم یک شبکه IP به چند Subnet کوچکتر است. این کار با استفاده از Subnet Mask یا Prefix انجام میشود و به مدیریت بهتر IPها، جداسازی شبکهها و کنترل Broadcast کمک میکند.
Subnet Mask چه کاربردی دارد؟
Subnet Mask مشخص میکند کدام قسمت IP مربوط به Network و کدام قسمت مربوط به Host است. برای مثال، /26 معادل 255.255.255.192 است و 26 بیت را برای بخش Network در نظر میگیرد.
چگونه تعداد Hostهای یک Subnet را محاسبه کنیم؟
ابتدا تعداد بیتهای Host را مشخص کنید. سپس در حالت معمول IPv4 از فرمول 2ⁿ – 2 استفاده کنید. در این فرمول n تعداد بیتهای Host است. برای /26 شش بیت Host داریم و نتیجه برابر با 62 Host قابل استفاده است.
Block Size چیست؟
Block Size فاصله بین آدرس شروع Subnetهای متوالی را مشخص میکند. در اکتت متغیر از فرمول 256 – مقدار Mask استفاده میشود. برای /26 مقدار Mask برابر 192 است، بنابراین Block Size برابر 64 خواهد بود.
تفاوت Network Address و Broadcast Address چیست؟
Network Address اولین آدرس Subnet و شناسه آن شبکه است. Broadcast Address آخرین آدرس Subnet است و برای ارسال ترافیک Broadcast به Hostهای همان Broadcast Domain استفاده میشود. در حالت معمول هیچکدام به Host عادی اختصاص داده نمیشوند.
تفاوت VLSM و FLSM چیست؟
در FLSM، Subnetها اندازه یا Prefix یکسان دارند، اما در VLSM میتوان برای بخشهای مختلف شبکه Prefixهای متفاوت انتخاب کرد. VLSM زمانی مفید است که تعداد Hostهای موردنیاز در بخشهای مختلف یکسان نباشد.
Subnetting چه ارتباطی با VLAN دارد؟
در طراحی رایج شبکه، هر VLAN یک Subnet اختصاصی دارد. VLANها Broadcast Domainهای جدا ایجاد میکنند و برای برقراری ارتباط بین Subnetهای مختلف، Routing موردنیاز است.
