DevOps

Subnet Mask چیست؟ راهنمای عملی ساب‌نتینگ.

نویسنده: تیم noc724۳ دقیقه مطالعهبه‌روزرسانی: ۲۶ مهر ۱۴۰۵

هر آدرس IPv4 دو بخش داره: اینکه به کدوم شبکه تعلق داره، و اینکه کدوم دستگاه روی اون شبکه است. Subnet mask همون خطیه که این دو رو از هم جدا می‌کنه. وقتی خوندن ماسک رو یاد بگیرید، قانون‌های فایروال، جدول‌های مسیریابی و تنظیمات شبکه‌ی ابری دیگه شبیه جادو نیستن.

نکته‌های کلیدی

  • Subnet mask مشخص می‌کنه کدوم بیت‌های آدرس شبکه رو نشون می‌دن و کدوم‌ها میزبان رو.
  • نمادگذاری CIDR ماسک رو به‌شکل طول پیشوند می‌نویسه: 255.255.255.0 یعنی /24.
  • یه /24 شامل ۲۵۶ آدرس و ۲۵۴ میزبان قابل استفاده است؛ هر بیت اضافه‌ی پیشوند اندازه رو نصف می‌کنه.
  • اولین آدرس، آدرس شبکه و آخرین آدرس، آدرس broadcast است.
  • دو دستگاه فقط وقتی مستقیم با هم حرف می‌زنن که در یه زیرشبکه باشن؛ وگرنه ترافیک از روتر رد می‌شه.
قطعی پیش میاد. زود باخبر شید!

noc724 سایت، سرور و APIهای شما رو شبانه‌روز چک می‌کنه و همون لحظه‌ای که چیزی خراب شد با پیامک، تلگرام یا بله خبرتون می‌کنه.

ثبت‌نام رایگان

آدرس‌ها فقط ۳۲ بیت هستن

آدرس IPv4ای مثل 192.168.10.37 چهار عدد ۸ بیتیه (هر کدوم یه octet):

192      .168      .10       .37
11000000 .10101000 .00001010 .00100101

Subnet mask هم یه عدد ۳۲ بیتیه که از یه‌سری یک و بعد صفر ساخته شده. یک‌ها بخش شبکه و صفرها بخش میزبان رو می‌پوشونن:

255      .255      .255      .0
11111111 .11111111 .11111111 .00000000

نمادگذاری CIDR

شمردن یک‌ها طول پیشوند رو می‌ده. 255.255.255.0 بیست‌وچهار تا یک داره، پس 192.168.10.37/24 یعنی «این آدرس با بخش شبکه‌ی ۲۴ بیتی». نمادگذاری CIDR همونیه که توی کنسول‌های ابری، فایروال‌ها و جدول‌های مسیریابی می‌بینید.

آدرس شبکه، broadcast و میزبان‌های قابل استفاده

برای 192.168.10.37/24:

موردمقدار
آدرس شبکه (همه‌ی بیت‌های میزبان صفر)192.168.10.0
آدرس broadcast (همه‌ی بیت‌های میزبان یک)192.168.10.255
میزبان‌های قابل استفاده192.168.10.1 تا 192.168.10.254 (۲۵۴ آدرس)

فرمول تعداد میزبان قابل استفاده ۲ به توان (۳۲ منهای پیشوند)، منهای ۲ است. دو آدرس کم‌شده، آدرس شبکه و broadcast هستن.

ماسک‌های رایج

CIDRماسکتعداد آدرسمیزبان قابل استفاده
/32255.255.255.255۱۱ (یه میزبان تکی)
/30255.255.255.252۴۲ (لینک‌های نقطه‌به‌نقطه)
/29255.255.255.248۸۶
/28255.255.255.240۱۶۱۴
/27255.255.255.224۳۲۳۰
/26255.255.255.192۶۴۶۲
/24255.255.255.0۲۵۶۲۵۴
/22255.255.252.0۱٬۰۲۴۱٬۰۲۲
/16255.255.0.0۶۵٬۵۳۶۶۵٬۵۳۴
/8255.0.0.0۱۶٬۷۷۷٬۲۱۶۱۶٬۷۷۷٬۲۱۴

یه مثال حل‌شده: تقسیم یه /24

شبکه‌ی 10.20.30.0/24 رو دارید و چهار زیرشبکه‌ی هم‌اندازه لازم دارید. دو بیت از بخش میزبان قرض بگیرید (۲ به توان ۲ = ۴)؛ نتیجه زیرشبکه‌های /26 با ۶۴ آدرس هست:

زیرشبکهشبکهبازه‌ی قابل استفادهbroadcast
۱10.20.30.0/26.1 تا .62.63
۲10.20.30.64/26.65 تا .126.127
۳10.20.30.128/26.129 تا .190.191
۴10.20.30.192/26.193 تا .254.255

محاسبه‌گر Subnet این حساب‌وکتاب رو برای هر آدرس و پیشوندی انجام می‌ده.

دستگاه‌ها از ماسک چطور استفاده می‌کنن؟

وقتی یه کامپیوتر بسته‌ای می‌فرسته، ماسکش رو روی آدرس خودش و آدرس مقصد اعمال می‌کنه:

  • یه شبکه هستن؟ بسته رو مستقیم روی شبکه‌ی محلی تحویل می‌ده.
  • شبکه‌شون فرق داره؟ بسته رو به درگاه پیش‌فرض (روتر) می‌فرسته.

برای همین ماسک اشتباه باعث شبکه‌های نیمه‌کاره‌ی عجیب می‌شه: یه میزبان ممکنه بعضی همسایه‌ها رو مستقیم ببینه و بقیه رو از درگاه رد کنه یا اصلاً بهشون نرسه.

بازه‌های آدرس خصوصی

این بازه‌ها برای شبکه‌های داخلی رزرو شدن و روی اینترنت مسیریابی نمی‌شن:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

سرویس‌های مانیتورینگی که از اینترنت چک می‌کنن به این آدرس‌ها نمی‌رسن. برای مانیتور کردن سیستم‌های داخلی، چک‌ها رو از داخل شبکه اجرا کنید؛ مثلاً با یه لوکیشن خصوصی.

پرسش‌های پرتکرار

  • ۲۴ بیت اول آدرس، شبکه رو مشخص می‌کنه. یه شبکه‌ی /24 شامل ۲۵۶ آدرسه که ۲۵۴ تاش رو می‌شه به دستگاه‌ها داد.

  • آدرسی که همه‌ی بیت‌های میزبانش صفره اسم خود شبکه است و آدرسی که همه‌اش یکه، آدرس broadcast برای رسیدن به همه‌ی میزبان‌های اون شبکه است.

  • IPv6 از همین ایده‌ی پیشوند استفاده می‌کنه، ولی فقط به‌شکل CIDR مثل /64. قالب ماسک نقطه‌دار مخصوص IPv4 است.

اشتراک‌گذاری مقاله:ایکستلگراملینکدینفیسبوکردیت
noc724

نویسنده

تیم noc724

تیم فنی مانیتورینگ آپتایم

ما noc724 رو می‌سازیم و اداره می‌کنیم؛ سرویس مانیتورینگ آپتایمی که سایت، سرور و API رو از چند شهر ایران چک می‌کنه. این راهنماها از مشکل‌هایی میان که خودمون و کاربرهامون موقع آنلاین نگه داشتن سرویس‌ها باهاشون روبه‌رو می‌شیم.

تماس با تیم

تخصص:DevOps

سؤالی دارید؟تماس با پشتیبانی
پیشنهادی دارید؟بفرستید

تازه‌ترین مقاله‌ها