هر آدرس IPv4 در واقع از دو بخش ساخته شده است: شبکه (Network) که دستگاه در آن قرار دارد و شماره هاست (Host) که جایگاه دستگاه را داخل همان شبکه مشخص میکند. سابنت مسک (Subnet Mask) یا شکل کوتاهتر آن یعنی نمایش CIDR مثل /24 همان چیزی است که به دستگاه میگوید مرز این دو بخش کجاست. در این مقاله هر دو را از صفر توضیح میدهیم و یک جدول تقلب (Cheat Sheet) و یک مثال کامل میآوریم که میتوانید نتیجهاش را با محاسبهگر رایگان زیرشبکه Show-IP.ir کنترل کنید.
سابنت مسک چیست؟
سابنت مسک یک عدد ۳۲ بیتی است که مثل آدرس IP نوشته میشود، مثلاً 255.255.255.0. در مبنای دو، این عدد یک رشته از 1 و بعد یک رشته از 0 است:
255.255.255.0 = 11111111.11111111.11111111.00000000
هر بیت 1 یعنی آن بیت جزو بخش شبکه است و هر بیت 0 یعنی جزو بخش هاست. دستگاه برای پیدا کردن شبکهای که در آن قرار دارد، بین آدرس IP خودش و مسک یک عمل AND بیتی انجام میدهد. برای 192.168.1.10 با مسک 255.255.255.0 نتیجه 192.168.1.0 میشود؛ همان آدرس شبکه.
نمایش CIDR چیست؟
نوشتن مسک کامل هر بار دستوپاگیر است؛ برای همین تعداد بیتهای 1 را میشماریم و بعد از اسلش مینویسیم: 192.168.1.10/24 یعنی «۲۴ بیت اول مربوط به شبکه است». CIDR (Classless Inter-Domain Routing) در سال ۱۹۹۳ معرفی شد تا جای سیستم قدیمی کلاس A/B/C (فقط /8 و /16 و /24) را بگیرد که حجم زیادی از آدرسها را هدر میداد. با CIDR اندازه شبکه میتواند هر عددی از /0 تا /32 باشد.
جدول تقلب CIDR
هرچه بیتهای بخش شبکه بیشتر باشد، برای هاستها کمتر میماند. تعداد کل آدرسهای یک بلوک برابر 2(32 − prefix) است؛ دو آدرس (آدرس شبکه و آدرس برادکست) رزرو هستند و تعداد هاست قابل استفاده دو تا کمتر میشود.
| CIDR | سابنت مسک | کل آدرسها | هاست قابل استفاده |
|---|---|---|---|
/8 | 255.0.0.0 | 16,777,216 | 16,777,214 |
/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 |
مثال کامل: 192.168.10.77/26
میخواهیم همهچیز را درباره شبکهای که 192.168.10.77/26 در آن قرار دارد پیدا کنیم.
- مسک:
/26یعنی255.255.255.192. - اندازه بلوک: در اکتت مهم،
256 − 192 = 64. پس زیرشبکهها از ۰، ۶۴، ۱۲۸ و ۱۹۲ شروع میشوند. - عدد ۷۷ در کدام بلوک است؟ بلوکی که از ۶۴ شروع میشود (محدوده ۶۴ تا ۱۲۷).
- آدرس شبکه:
192.168.10.64 - آدرس برادکست: آخرین آدرس بلوک، یعنی
192.168.10.127 - محدوده قابل استفاده: از
192.168.10.65تا192.168.10.126؛ یعنی ۶۲ هاست.
همین آدرس و پیشوند را در محاسبهگر وارد کنید؛ دقیقاً همین مقادیر را میبینید و این روش خوبی برای تمرین است.
آدرس شبکه، برادکست و آدرسهای قابل استفاده
- آدرس شبکه (همه بیتهای هاست صفر) نام خود زیرشبکه است و به هیچ دستگاهی داده نمیشود.
- آدرس برادکست (همه بیتهای هاست یک) پیام را به همه هاستهای زیرشبکه میرساند و آن هم قابل تخصیص به دستگاه نیست.
- هر آدرس بین این دو قابل تخصیص است. دو حالت خاص:
/31روی لینکهای نقطهبهنقطه مجاز است (RFC 3021) و دو آدرس قابل استفاده دارد، و/32فقط یک هاست را نشان میدهد.
چرا در دنیای واقعی مهم است؟
- چه دستگاههایی مستقیم با هم صحبت میکنند: دو دستگاه داخل یک زیرشبکه مستقیم با هم ارتباط میگیرند؛ هر چیز بیرون از زیرشبکه از گیتوی پیشفرض (همان مودم/روتر) عبور میکند — برای ورود به آن این راهنما را ببینید.
- شبکههای خانگی تقریباً همیشه
192.168.x.0/24هستند که یکی از محدودههای آدرس خصوصی است. - قوانین فایروال و VPN با CIDR یک محدوده کامل را یکجا مجاز یا مسدود میکنند؛ مثلاً «اجازه به
10.0.0.0/8». - شبکههای ابری (VPC) از شما میخواهند زیرشبکهها را از قبل طراحی کنید؛ انتخاب بلوک بیشازحد کوچک بعداً اصلاحش سخت است.
- وایلدکارد مسک که در برخی ACLهای روتر استفاده میشود، فقط معکوس مسک است:
/24میشود0.0.0.255.
اشتباهات رایج
- مسک اشتباه روی یک دستگاه باعث میشود گیتوی را «جای دیگری» ببیند؛ نتیجه این است که به بعضی دستگاهها دسترسی دارد و به بعضی ندارد.
- همپوشانی زیرشبکهها (مثلاً
10.0.0.0/16و10.0.5.0/24در دو شعبه که با VPN به هم وصل شدهاند) باعث میشود مسیریابی بیصدا به مقصد اشتباه برود. - فراموش کردن دو آدرس رزرو شده هنگام اندازهگیری شبکه: برای ۳۰ دستگاه حداقل
/27لازم است و/27هیچ جایی برای رشد باقی نمیگذارد.
خودتان امتحان کنید
آدرس IP مودم یا کامپیوتر خودتان را بردارید، یک پیشوند مثل /24 یا /27 انتخاب کنید و در محاسبهگر زیرشبکه وارد کنید. اگر هنوز با مبانی راحت نیستید، اول آدرس IP چیست؟ و تفاوت IPv4 و IPv6 را بخوانید.
نکات کلیدی
- سابنت مسک آدرس IPv4 را به بخش شبکه (بیتهای ۱) و بخش هاست (بیتهای ۰) تقسیم میکند.
- CIDR (مثل
/24) فقط تعداد بیتهای ۱ را میشمارد؛ هاست قابل استفاده = 2(32−prefix) − 2. - برای پیدا کردن زیرشبکه: اندازه بلوک را حساب کنید (۲۵۶ منهای عدد مسک)، بلوکی را که آدرس در آن است پیدا کنید؛ اولین آدرس بلوک، آدرس شبکه و آخرین آدرس، برادکست است.
- دستگاههای یک زیرشبکه مستقیم با هم صحبت میکنند؛ بقیه ترافیک از گیتوی پیشفرض عبور میکند.