آدرس دهی IP و subnetting با مثال
طول پیشوند (/24، /26، …) یعنی چه، هر subnet چند آدرس دارد، آدرس شبکه و broadcast را چطور حساب کنیم، و چطور یک بازهی آدرس را بین VLANهای یک سازمان تقسیم کنیم.
در این صفحه
آدرس IPv4 ۳۲ بیت دارد. عددی که بعد از / میآید (طول پیشوند) میگوید چند بیت اول مربوط به شبکه است؛ بقیهی بیتها برای دستگاهها میماند. یک subnet با پیشوند /n در کل 2^(32−n) آدرس دارد و دو آدرس اول و آخر آن (آدرس شبکه و broadcast) به دستگاه داده نمیشوند. مثلاً /24 یعنی ۲۵۶ آدرس و ۲۵۴ دستگاه.
جدول پیشوندهای رایج
| پیشوند | subnet mask | کل آدرسها | دستگاه قابل استفاده |
|---|---|---|---|
| /16 | 255.255.0.0 | 65,536 | 65,534 |
| /20 | 255.255.240.0 | 4,096 | 4,094 |
| /22 | 255.255.252.0 | 1,024 | 1,022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2 (فقط لینک نقطه به نقطه) |
| /32 | 255.255.255.255 | 1 | 1 (یک دستگاه، مثل loopback) |
/31 یک استثناست: طبق RFC 3021 روی لینکهای نقطه به نقطه بین دو روتر، هر دو آدرس قابل استفادهاند و آدرس شبکه و broadcast ندارد.
روش سریع: اندازهی بلوک
برای پیدا کردن محدودهی یک subnet لازم نیست باینری حساب کنید:
- در subnet mask، اولین عددی را که ۲۵۵ نیست پیدا کنید (مثلاً در
/26، عدد ۱۹۲). - اندازهی بلوک = ۲۵۶ منهای آن عدد (۲۵۶ − ۱۹۲ = ۶۴).
- subnetها در همان octet از صفر و با گامهای اندازهی بلوک شروع میشوند: ۰، ۶۴، ۱۲۸، ۱۹۲.
مثال: آدرس 192.168.10.77/26
- اندازهی بلوک ۶۴ است و ۷۷ بین ۶۴ و ۱۲۸ قرار دارد.
- آدرس شبکه:
192.168.10.64 - broadcast:
192.168.10.127(یکی کمتر از شروع بلوک بعدی) - محدودهی دستگاهها:
192.168.10.65تا192.168.10.126
مثال: آدرس 10.20.5.200/22
- mask برابر
255.255.252.0است؛ اولین عدد غیر ۲۵۵ در octet سوم است: ۲۵۶ − ۲۵۲ = ۴. - بلوکها در octet سوم: ۰، ۴، ۸؛ عدد ۵ در بلوک ۴ تا ۷ است.
- آدرس شبکه:
10.20.4.0، broadcast:10.20.7.255، دستگاهها:10.20.4.1تا10.20.7.254.
آدرسهای خصوصی و رزروشده
| بازه | کاربرد |
|---|---|
10.0.0.0/8 |
خصوصی (RFC 1918) |
172.16.0.0/12 |
خصوصی (RFC 1918)؛ یعنی 172.16 تا 172.31 |
192.168.0.0/16 |
خصوصی (RFC 1918) |
100.64.0.0/10 |
CGNAT سرویس دهندههای اینترنت |
169.254.0.0/16 |
link-local؛ وقتی دستگاه از DHCP آدرس نمیگیرد |
127.0.0.0/8 |
loopback |
192.0.2.0/24، 198.51.100.0/24، 203.0.113.0/24 |
فقط برای مستندات و مثال |
تقسیم یک بازه بین VLANها (VLSM)
فرض کنید 10.20.0.0/22 (از 10.20.0.0 تا 10.20.3.255) برای یک دفتر در نظر گرفته شده است. نیازها را از بزرگ به کوچک مرتب کنید و به ترتیب جا بدهید:
| VLAN | نیاز | subnet | محدودهی دستگاهها | gateway |
|---|---|---|---|---|
| کاربران | ۲۰۰ دستگاه | 10.20.0.0/24 | 10.20.0.1 تا 10.20.0.254 | 10.20.0.1 |
| وای فای مهمان | ۲۰۰ دستگاه | 10.20.1.0/24 | 10.20.1.1 تا 10.20.1.254 | 10.20.1.1 |
| سرورها | ۱۰۰ دستگاه | 10.20.2.0/25 | 10.20.2.1 تا 10.20.2.126 | 10.20.2.1 |
| دوربینها | ۵۰ دستگاه | 10.20.2.128/26 | 10.20.2.129 تا 10.20.2.190 | 10.20.2.129 |
| مدیریت | ۲۰ دستگاه | 10.20.2.192/27 | 10.20.2.193 تا 10.20.2.222 | 10.20.2.193 |
10.20.2.224/27 و کل 10.20.3.0/24 برای رشد آینده خالی میمانند. شروع از بزرگترین subnet تضمین میکند هیچ subnetی از وسط یک بلوک شروع نشود. مفهوم VLAN را در VLAN چیست و چطور پیکربندی میشود و پیاده سازی چنین جدولی را روی روتر میکروتیک در VLAN در میکروتیک با bridge VLAN filtering ببینید.
خلاصه سازی (summarization)
دو یا چند subnet پشت سر هم را میشود با یک پیشوند کوتاهتر اعلام کرد. 10.20.0.0/24 و 10.20.1.0/24 با هم 10.20.0.0/23 هستند و کل برنامهی بالا 10.20.0.0/22. برای همین در طراحی چند شعبه، به هر شعبه یک بلوک پیوسته بدهید؛ جدول مسیریابی روتر مرکزی برای هر شعبه فقط یک خط خواهد داشت.
اشتباههای رایج
- دادن آدرس شبکه یا broadcast به دستگاه: در
/24آدرسهای.0و.255، ولی در/26مثلاً.64و.127هم همین حکم را دارند. - همپوشانی subnetها بین شعبهها: دو شعبه با
192.168.0.0/24را نمیشود بدون NAT با VPN به هم وصل کرد. - subnet خیلی کوچک: شبکهای که امروز ۵۰ دستگاه دارد را
/26نکنید؛ اضافه شدن چند دستگاه یعنی تغییر آدرس کل VLAN. - mask اشتباه روی یک دستگاه: دستگاهی با
/16در شبکهای که/24است، مقصدهای بیرون از subnet را محلی فرض میکند و به gateway نمیفرستد.
عیب یابی مشکلات شبکه لایه به لایه در مدل OSI و TCP/IP آمده است.
منابع
- RFC 1918 — Address Allocation for Private Internets www.rfc-editor.org
- RFC 4632 — Classless Inter-domain Routing (CIDR) www.rfc-editor.org
- RFC 3021 — Using 31-Bit Prefixes on IPv4 Point-to-Point Links www.rfc-editor.org