Subnet چیست؟ زیرشبکه ای که از تقسیم یک بازه آدرس IP به بخش های کوچک تر ساخته می شود. هر شبکه شرکتی که چند بخش دارد، مثلاً کارمندان، سرورها، دوربین ها و مهمان ها، برای هر بخش یک subnet جدا تعریف می کند. این کار ترافیک را محدود می کند، قاعده نویسی فایروال را ممکن می سازد و مسیریابی را مرتب نگه می دارد. برای محاسبه آن لازم است معنی ماسک شبکه و نماد /24 را بدانید، که خوشبختانه چند قاعده ساده دارد.
آدرس IPv4 و ماسک
آدرس IPv4 یک عدد 32 بیتی است که برای خوانایی در چهار بخش 8 بیتی نوشته می شود، مثل 192.168.10.25. ماسک شبکه تعیین می کند چه بخشی از این 32 بیت «آدرس شبکه» است و چه بخشی «آدرس دستگاه»:
آدرس 192.168.10.25 = 11000000.10101000.00001010.00011001
ماسک 255.255.255.0 = 11111111.11111111.11111111.00000000
شبکه 192.168.10.0 (AND آدرس و ماسک)
بیت های 1 در ماسک بخش شبکه و بیت های 0 بخش دستگاه اند. به جای نوشتن 255.255.255.0 معمولاً فقط تعداد بیت های 1 را می نویسند: /24. به این نماد CIDR می گویند. پس 192.168.10.0/24 یعنی شبکه ای که 24 بیت اولش ثابت است و 8 بیت آخر برای دستگاه ها می ماند.
چند آدرس در هر subnet
تعداد آدرس هر زیرشبکه برابر 2 به توان تعداد بیت های دستگاه است. از آن، دو آدرس همیشه برای دستگاه قابل استفاده نیستند: اولین آدرس خود شبکه (network address) و آخرین آدرس broadcast.
| CIDR | ماسک | کل آدرس ها | دستگاه قابل استفاده |
|---|---|---|---|
| /30 | 255.255.255.252 | 4 | 2 |
| /29 | 255.255.255.248 | 8 | 6 |
| /28 | 255.255.255.240 | 16 | 14 |
| /27 | 255.255.255.224 | 32 | 30 |
| /26 | 255.255.255.192 | 64 | 62 |
| /25 | 255.255.255.128 | 128 | 126 |
| /24 | 255.255.255.0 | 256 | 254 |
| /23 | 255.255.254.0 | 512 | 510 |
| /22 | 255.255.252.0 | 1024 | 1022 |
هر بیتی که به ماسک اضافه می کنید، تعداد آدرس ها را نصف می کند. /30 با دو آدرس قابل استفاده برای لینک نقطه به نقطه بین دو روتر رایج است (مثل آدرس تونل VPN). برای دفتری با 40 کامپیوتر و رشد احتمالی، /26 با 62 دستگاه کافی است، ولی بیشتر شرکت ها ساده تر /24 را انتخاب می کنند.
تقسیم یک شبکه به چند زیرشبکه
فرض کنید 192.168.10.0/24 را می خواهید به چهار بخش مساوی تقسیم کنید. برای چهار بخش دو بیت از بخش دستگاه به شبکه اضافه می شود (2 به توان 2 برابر 4) و ماسک /26 می شود. هر بخش 64 آدرس دارد:
| زیرشبکه | آدرس شبکه | دستگاه ها | broadcast |
|---|---|---|---|
| 1 | 192.168.10.0/26 | .1 تا .62 | 192.168.10.63 |
| 2 | 192.168.10.64/26 | .65 تا .126 | 192.168.10.127 |
| 3 | 192.168.10.128/26 | .129 تا .190 | 192.168.10.191 |
| 4 | 192.168.10.192/26 | .193 تا .254 | 192.168.10.255 |
قاعده سریع: شروع هر زیرشبکه مضربی از اندازه بلوک است (برای /26 اندازه بلوک 64). اگر آدرسی داده شده و می خواهید بدانید در کدام زیرشبکه است، آن را بر اندازه بلوک تقسیم کنید و بخش صحیح را در اندازه بلوک ضرب کنید. مثلاً 192.168.10.100 در /26: 100 تقسیم بر 64 می شود 1، پس شبکه از 64 شروع می شود.
ابزار برای محاسبه
محاسبه دستی خوب است، ولی ابزارها خطا نمی کنند. در لینوکس:
sudo apt install ipcalc
ipcalc 192.168.10.100/26
خروجی آدرس شبکه، ماسک، broadcast و محدوده دستگاه ها را نشان می دهد. با پایتون، که معمولاً روی سرور هست:
python3 -c "import ipaddress; n = ipaddress.ip_network('192.168.10.0/24'); [print(s) for s in n.subnets(new_prefix=26)]"
این دستور همان چهار زیرشبکه جدول بالا را چاپ می کند. در ویندوز دستور ipconfig ماسک کامپیوتر را نشان می دهد و PowerShell هم Get-NetIPAddress با طول prefix دارد.
طراحی آدرس دهی برای شبکه شرکت
- برای هر VLAN یک subnet جدا بگذارید و شماره VLAN را با بخش سوم آدرس هماهنگ کنید (VLAN 20 برای 10.10.20.0/24). عیب یابی با دیدن آدرس سریع تر است.
- بازه هایی که پیش فرض مودم ها هستند (192.168.0.0/24 و 192.168.1.0/24) را برای شبکه شرکت انتخاب نکنید. وقتی بخواهید دو شعبه یا کارمند دور کار را با VPN وصل کنید، آدرس یکسان مشکل می سازد (VPN سازمانی چیست).
- بازه بزرگ تر از نیاز بگیرید. جابجایی آدرس شبکه بعداً کار پرهزینه ای است.
- بازه آدرس های ثابت (سرورها، چاپگر، تجهیزات) را از بازه DHCP جدا کنید (DHCP چیست).
- نقشه آدرس دهی را مستند کنید: کدام subnet، کدام VLAN، کدام گیت وی و کدام DHCP.
اشتباه های رایج
- دو subnet هم پوشان تعریف شده اند (مثلاً 10.10.0.0/16 و 10.10.20.0/24 روی دو جای مختلف)، و مسیریابی تصادفی کار می کند.
- ماسک دو دستگاه یک شبکه فرق دارد، پس یکی دیگری را داخل شبکه خودش نمی بیند و برای ارتباط به گیت وی می رود.
- آدرس شبکه یا broadcast به یک دستگاه داده شده (مثلاً 192.168.10.0 در /24).
- گیت وی خارج از subnet دستگاه است.
- شبکه آنقدر کوچک انتخاب شده که با اضافه شدن دستگاه ها پر می شود.
تقسیم نامساوی (VLSM)
در عمل زیرشبکه ها هم اندازه نیستند: یک بخش 100 دستگاه دارد، یکی 50 و یک لینک بین دو روتر فقط 2. VLSM (Variable Length Subnet Mask) اجازه می دهد برای هر بخش ماسک متفاوت بگیرید تا آدرس هدر نرود. روش کار: بخش ها را از بزرگ به کوچک مرتب کنید و به ترتیب از ابتدای بازه تخصیص دهید. برای بازه 192.168.10.0/24:
| بخش | دستگاه لازم | ماسک | شبکه |
|---|---|---|---|
| کارمندان | 100 | /25 (126 دستگاه) | 192.168.10.0/25 |
| سرورها و دوربین ها | 50 | /26 (62 دستگاه) | 192.168.10.128/26 |
| مهمان | 20 | /27 (30 دستگاه) | 192.168.10.192/27 |
| مدیریت تجهیزات | 10 | /28 (14 دستگاه) | 192.168.10.224/28 |
| لینک بین روترها | 2 | /30 (2 دستگاه) | 192.168.10.240/30 |
چون از بزرگ به کوچک تخصیص داده ایم، بخش ها هم پوشان نمی شوند و فضای خالی کوچکی می ماند. اگر کوچک ها را اول بدهید، ممکن است بخش بزرگ جای مناسب (تراز شده) پیدا نکند.
خلاصه سازی مسیر
برعکس تقسیم هم ممکن است: دو شبکه پشت سر هم را می شود در یک مسیر خلاصه جمع کرد. 192.168.0.0/24 و 192.168.1.0/24 را می توان با 192.168.0.0/23 نشان داد. این کار جدول مسیریابی روترها را کوچک می کند و در طراحی شعبه ها کاربرد دارد، به شرط اینکه آدرس ها پشت سر هم و تراز شده باشند. به همین دلیل بهتر است برای هر شعبه یک بلوک بزرگ و جدا (مثلاً یک /20 یا /22) رزرو کنید و داخلش زیرشبکه بسازید.
IPv6 و subnet
در IPv6 آدرس 128 بیتی است و قاعده متفاوت است: هر زیرشبکه معمولاً /64 است و آدرس ها آن قدر زیادند که صرفه جویی مطرح نیست. ارائه دهنده معمولاً یک بلوک (مثلاً /48 یا /56) می دهد و شما از آن زیرشبکه های /64 می سازید. محاسبه ماسک مثل IPv4 نیست، ولی اصل تفکیک شبکه، VLAN و فایروال یکی است.
برای تازه ترین نسل شبکه بی سیم، وای فای 6 را ببینید.
منابع و مستندات رسمی
- RFC 4632 درباره CIDR و تقسیم آدرس IPv4
- RFC 1918 درباره آدرس های خصوصی IPv4
- RFC 4291 درباره معماری آدرس دهی IPv6
نقشه آدرس دهی، VLAN و مسیریابی هنگام طراحی شبکه در نصب و راه اندازی شبکه مشخص می شود. اگر شبکه فعلی تان آدرس های درهم دارد، یک بازدید و مشاوره رایگان وضعیت را نشان می دهد.



