⁦Subnet Mask⁩ چیست؟ ماسک زیرشبکه و روش محاسبه آن

تاریخ انتشار:

15 دقیقه مطالعه

Acar Diveroli
نویسنده: Acar Diveroli
سه لایه روی هم: بیت‌های شبکه ⁦192.168.1.0⁩ به رنگ آبی در بالا، بیت‌های میزبان ⁦.37⁩ زیر آن و ماسکی با 24 بیت پر و 8 بیت خالی

جزئیات اتصال Wi-Fi خود را باز می‌کنید و سه عدد را کنار هم می‌بینید: یک آدرس آی‌پی مانند 192.168.1.37، یک آدرس روتر مانند 192.168.1.1 و میان آن‌ها یک ماسک زیرشبکه (subnet mask) با مقدار 255.255.255.0. دو تای آن‌ها شبیه آدرس‌اند. سومی چندان شبیه آدرس نیست، اما یک رقم اشتباه در آن می‌تواند ارتباط لپ‌تاپ را با چاپگر یا با اینترنت قطع کند.

در این نوشته توضیح می‌دهیم ماسک زیرشبکه چه کاری انجام می‌دهد، 255.255.255.0 و /24 را چگونه بخوانید و یک زیرشبکه را چگونه با یک مثال کامل در مبنای دو محاسبه کنید. سپس نشان می‌دهیم ماسک خود را در هر دستگاه کجا پیدا کنید، ماسک اشتباه چه چیزی را خراب می‌کند و چرا کاربران پروکسی از بلوک‌های /24 حرف می‌زنند.

ماسک زیرشبکه (Subnet Mask) چیست؟

ماسک زیرشبکه تنظیمی است که آدرس IPv4 را به دو بخش تقسیم می‌کند: بخش شبکه، که همه دستگاه‌های یک شبکه محلی در آن مشترک‌اند، و بخش میزبان (host)، که برای هر دستگاه فرق می‌کند. میزبان هر چیزی است که آدرس دارد: لپ‌تاپ، گوشی، چاپگر. راهنمای آدرس‌دهی و زیرشبکه‌بندی TCP/IP مایکروسافت هدف این تقسیم را هم می‌گوید: TCP/IP با ماسک تشخیص می‌دهد که میزبان دیگر در زیرشبکه محلی است یا در یک شبکه دور.

آدرس IPv4 از 32 بیت ساخته شده و به شکل چهار عدد از 0 تا 255 نوشته می‌شود؛ هر عدد یک اکتت است، یعنی هشت بیت. ماسک هم به همین شکل نوشته می‌شود، اما آدرس نیست: هیچ چیزی به آن فرستاده نمی‌شود. اگر خود مفهوم آدرس برایتان تازه است، از نوشته آدرس آی‌پی چیست؟ شروع کنید.

زیرشبکه (subnet) گروهی از آدرس‌هاست که بخش شبکه یکسانی دارند. اگر به نشانی پستی تشبیه کنیم، ماسک نشان می‌دهد نام خیابان کجا تمام می‌شود و پلاک خانه از کجا شروع می‌شود.

⁦255.255.255.0⁩ را چگونه بخوانیم؟

آن را در مبنای دو بخوانید. 255 برابر هشت یک (11111111) است و 0 برابر هشت صفر؛ پس 255.255.255.0 یعنی 24 یک و پس از آن 8 صفر. یک‌ها بخش شبکه را نشان می‌دهند و صفرها بخش میزبان را.

استاندارد CIDR الزام می‌کند که یک‌ها از سمت چپ پشت سر هم بیایند؛ به همین دلیل هر اکتت ماسک فقط می‌تواند یکی از این مقدارها باشد: 255، 254، 252، 248، 240، 224، 192، 128 یا 0، که به ترتیب از 8 تا 0 یک دارند. 255.255.255.192 معتبر است (⁦8 + 8 + 8 + 2 = 26⁩ یک)، اما 255.255.255.100 معتبر نیست.

⁦/24⁩ یعنی چه؟

/24 شکل کوتاه همان ماسک است: یک‌ها را می‌شمارد. 192.168.1.37 با ماسک 255.255.255.0 به شکل 192.168.1.37/24 نوشته می‌شود. این نگارش از CIDR (⁦Classless Inter-Domain Routing⁩، مسیریابی بین‌دامنه‌ای بدون کلاس) می‌آید که امروز در ⁦RFC 4632⁩ تعریف شده است: یک آدرس، یک خط مورب و عددی از 0 تا 32 که تعداد بیت‌های معنادار را می‌گوید، یعنی طول پیشوند (prefix length).

پیش از CIDR، آدرس‌ها در کلاس‌هایی با ماسک ثابت دسته‌بندی می‌شدند: کلاس A از 255.0.0.0، کلاس B از 255.255.0.0 و کلاس C از 255.255.255.0 استفاده می‌کرد. ⁦RFC 4632⁩ کلاس‌ها را کنار گذاشت، اما جدول خودش هنوز /24 را اندازه کلاس C قدیمی می‌نامد؛ به همین دلیل هنوز می‌گویند «یک شبکه کلاس C».

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

پیش از هر ارسال آدرس‌ها را مقایسه می‌کند تا ببیند مقصد درون شبکه محلی است یا بیرون از آن:

  1. آدرس و ماسک خودش را می‌داند، برای نمونه 192.168.1.37 و 255.255.255.0، که معمولاً از راه DHCP از روتر گرفته است؛ DHCP سرویسی است که تنظیمات شبکه را خودکار پخش می‌کند.
  2. شبکه خودش را حساب می‌کند، با عملی به نام AND (و منطقی): هر بیت آدرس فقط جایی باقی می‌ماند که ماسک در آن 1 دارد. نتیجه 192.168.1.0 است.
  3. همین کار را با مقصد هم می‌کند. چاپگری در 192.168.1.200 هم 192.168.1.0 می‌دهد؛ سایتی در 203.0.113.25 نتیجه 203.0.113.0 را می‌دهد.
  4. شبکه یکسان: تحویل مستقیم. بسته مستقیم به چاپگر می‌رود.
  5. شبکه متفاوت: ارسال به دروازه. بسته سایت به روتر شما می‌رود و روتر آن را به سوی اینترنت جلو می‌فرستد.

زیرشبکه را از روی آدرس آی‌پی و ماسک چگونه محاسبه کنیم؟

آدرس را با ماسک AND کنید تا آدرس شبکه به دست آید، همه بیت‌های میزبان را 1 کنید تا آدرس همه‌پخشی به دست آید، و بیت‌های میزبان را بشمارید تا اندازه زیرشبکه معلوم شود. محاسبه کامل برای 192.168.1.37/24 در ادامه آمده و هر سطر آن را با یک اسکریپت کوتاه بررسی کرده‌ایم:

  1. آدرس را در مبنای دو بنویسید. 192 می‌شود 11000000، 168 می‌شود 10101000، 1 می‌شود 00000001 و 37 می‌شود 00100101 (⁦32 + 4 + 1⁩).
  2. ماسک را زیر آن بنویسید: 24 یک و سپس 8 صفر.
  3. دو سطر را AND کنید. جایی که ماسک 1 دارد، بیت آدرس را بنویسید؛ جایی که 0 دارد، 0 بنویسید. حاصل آدرس شبکه (network address) است.
  4. 8 بیت میزبان را 1 کنید. حاصل آدرس همه‌پخشی (broadcast address) است که در یک لحظه به همه دستگاه‌های زیرشبکه می‌رسد.
  5. بشمارید و کم کنید. هشت بیت میزبان ⁦2⁸ = 256⁩ آدرس می‌دهد. آدرس شبکه و آدرس همه‌پخشی را نمی‌توان به هیچ دستگاهی داد؛ پس 254 آدرس قابل‌استفاده باقی می‌ماند: از 192.168.1.1 تا 192.168.1.254.
text
                decimal          binary
IP address      192.168.1.37     11000000.10101000.00000001.00100101
Subnet mask     255.255.255.0    11111111.11111111.11111111.00000000
Network (AND)   192.168.1.0      11000000.10101000.00000001.00000000
Broadcast       192.168.1.255    11000000.10101000.00000001.11111111

برای ماسک‌های دیگر یک راه میان‌بر هست. در /26 (255.255.255.192) آخرین اکتت غیرصفر را از 256 کم کنید: ⁦256 − 192 = 64⁩؛ پس زیرشبکه‌ها از .0، .64، .128 و .192 شروع می‌شوند. آدرسی که به .100 ختم می‌شود در بلوک .64 قرار می‌گیرد: شبکه 192.168.1.64، آدرس همه‌پخشی 192.168.1.127 و آدرس‌های قابل‌استفاده از .65 تا .126. ماشین‌حساب‌های آنلاین زیرشبکه دقیقاً همین کار را انجام می‌دهند.

رایج‌ترین ماسک‌های زیرشبکه کدام‌اند؟

این‌ها ماسک‌هایی هستند که به احتمال زیاد با آن‌ها روبه‌رو می‌شوید.

پیشوندماسک زیرشبکهتعداد آدرسمیزبان قابل‌استفاده
/8255.0.0.016,777,21616,777,214
/16255.255.0.065,53665,534
/22255.255.252.01,0241,022
/23255.255.254.0512510
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242

هر یک واحد افزایش پیشوند، بلوک را نصف می‌کند. یک /30 برای اتصال میان دو روتر کافی است و یک /32 فقط یک آدرس است: در قاعده‌های فایروال، فهرست‌های مجاز و تنظیمات VPN به معنای «همین آدرس و نه هیچ آدرس دیگری» است.

ماسک زیرشبکه خود را چگونه پیدا کنیم؟

به جزئیات شبکه اتصالی که استفاده می‌کنید نگاه کنید؛ در ویندوز یک فرمان همه را نشان می‌دهد. نام گزینه‌های مک و آیفون را همان‌طور که در رابط انگلیسی دیده می‌شوند آورده‌ایم و ترجمه‌شان را در پرانتز نوشته‌ایم؛ برای اندروید برچسب‌های فارسی راهنمای گوگل را آورده‌ایم.

ویندوز

در منوی Start عبارت cmd را بنویسید، Command Prompt (خط فرمان) را باز کنید و این فرمان را اجرا کنید:

bash
ipconfig

این فرمان آدرس IPv4، ماسک زیرشبکه و دروازه پیش‌فرض همه آداپتورهای شبکه را فهرست می‌کند. خروجی زیر از رایانه آزمایشی ما با ویندوز 11 است؛ آن را کوتاه کرده‌ایم و آدرس‌ها را با مقدارهای مخصوص مستندسازی جایگزین کرده‌ایم (در خانه معمولاً 192.168.x.x می‌بینید). ویندوز با زبان دیگر ممکن است نام همین سطرها را ترجمه‌شده نشان دهد:

text
Ethernet adapter Ethernet:

   IPv4 Address. . . . . . . . . . . : 192.0.2.37
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.0.2.1

بلوک آداپتوری را که استفاده می‌کنید بخوانید؛ آداپتورهایی را که کنارشان Media disconnected (قطع) نوشته شده می‌توانید نادیده بگیرید.

مک

راهنمای تنظیمات TCP/IP اپل این مسیر را می‌دهد:

  1. ⁦Apple menu > System Settings⁩ (منوی اپل > تنظیمات سیستم) را انتخاب کنید، سپس در نوار کناری روی Network (شبکه) کلیک کنید.
  2. اتصالی را که استفاده می‌کنید، مثلاً Wi-Fi، انتخاب کنید و روی Details (جزئیات) کلیک کنید.
  3. روی TCP/IP کلیک کنید. این زبانه آدرس IPv4، ماسک زیرشبکه و روتر را نشان می‌دهد.

آیفون

  1. برنامه Settings (تنظیمات) را باز کنید و روی Wi-Fi ضربه بزنید.
  2. روی دکمه More Info (اطلاعات بیشتر) کنار شبکه‌ای که به آن وصل هستید ضربه بزنید.
  3. تا بخش آدرس IPv4 پایین بروید؛ آدرس آی‌پی، ماسک زیرشبکه و روتر در آنجا فهرست شده‌اند.

اندروید

نام منوها بسته به برند گوشی فرق می‌کند. راهنمای Wi-Fi اندروید در سایت گوگل مسیر استاندارد را می‌دهد:

  1. برنامه تنظیمات (Settings) را باز کنید و روی شبکه و اینترنت (Network & internet) و سپس اینترنت (Internet) ضربه بزنید.
  2. کنار شبکه‌ای که به آن وصل هستید، روی تنظیمات Wi-Fi (نماد چرخ‌دنده) ضربه بزنید.
  3. به پایین و بخش جزئیات شبکه بروید. بسیاری از گوشی‌ها ماسک زیرشبکه را آنجا نشان می‌دهند؛ برخی فقط آدرس و دروازه را.

برای آدرس ثابت، اندروید به‌جای ماسک Network prefix length (طول پیشوند شبکه) را می‌خواهد: 24 یعنی 255.255.255.0. صفحه مدیریت روتر هم ماسک کل شبکه خانگی را در تنظیمات LAN نشان می‌دهد.

ماسک زیرشبکه، آدرس آی‌پی و دروازه پیش‌فرض: چه تفاوتی دارند؟

آدرس آی‌پی دستگاه شما را مشخص می‌کند، ماسک زیرشبکه می‌گوید شبکه محلی تا کجا ادامه دارد، و دروازه پیش‌فرض روتری است که هر چیزی را که آن سوی این مرز است تحویل می‌گیرد.

تنظیمبه دستگاه شما چه می‌گویدمقدار معمول در خانه
آدرس آی‌پیآدرس خودش در شبکه192.168.1.37
ماسک زیرشبکهکدام آدرس‌ها محلی‌اند255.255.255.0
دروازه پیش‌فرضبقیه ترافیک را به کجا بفرستد192.168.1.1

این سه باید با هم جور باشند: دروازه باید درون بازه‌ای باشد که ماسک توصیف می‌کند. ماسک در همه دستگاه‌های یک شبکه یکسان است؛ آدرس آی‌پی برای هر دستگاه یکتاست. اینکه دروازه چگونه کار می‌کند و چگونه پیدا می‌شود در نوشته دروازه پیش‌فرض چیست؟ آمده است.

اگر ماسک زیرشبکه اشتباه باشد چه می‌شود؟

دستگاه مرز شبکه‌اش را در جای اشتباه می‌کشد؛ پس برخی دستگاه‌ها یا کل اینترنت پاسخ نمی‌دهند، در حالی که Wi-Fi همچنان اتصال را نشان می‌دهد. ماسک اشتباه از تنظیم دستی می‌آید؛ DHCP ماسک درست را پخش می‌کند.

  • ماسک خیلی تنگ. لپ‌تاپی با آدرس 192.168.1.37 و ماسک 255.255.255.128 (/25) گمان می‌کند شبکه‌اش در .127 تمام می‌شود؛ پس ترافیک مربوط به چاپگر .200 به روتر می‌رود و ممکن است به مقصد برسد یا نرسد. دستگاهی در .200 با همین ماسک بازه .128 تا .255 را در بر می‌گیرد؛ روتر در .1 بیرون از این بازه می‌افتد و اینترنت قطع می‌شود.
  • ماسک خیلی گشاد. با 255.255.0.0 (/16) لپ‌تاپ هر آدرس 192.168.x.x را محلی می‌شمارد. اگر روتر شما به دستگاه دومی با آدرس 192.168.0.1 وصل باشد، مثلاً مودمی که ارائه‌دهنده اینترنت داده است، لپ‌تاپ آن ترافیک را هرگز به دروازه نمی‌فرستد و صفحه آن دستگاه باز نمی‌شود. راهنمای مایکروسافت همین الگو را شرح می‌دهد: ارتباط با شبکه‌های نزدیک شکست می‌خورد، اما با شبکه‌های دور نه.
  • راه‌حل. اتصال را به حالت خودکار (DHCP) برگردانید، یا ماسک را از روتر یا از دستگاهی که درست کار می‌کند کپی کنید.

ماسک زیرشبکه در IPv6 چگونه است؟

IPv6 ماسک نقطه‌دار ندارد: شبکه فقط به شکل «آدرس/طول پیشوند» نوشته می‌شود، همان قالبی که ⁦RFC 4291⁩ تعریف می‌کند و در آن عدد، بیت‌های سمت چپی را می‌شمارد که شبکه را می‌سازند. آدرس‌های معمولی IPv6 آخرین 64 بیت خود را برای شناسه رابط (interface ID) دستگاه نگه می‌دارند؛ به همین دلیل شبکه محلی معمولاً یک /64 است: نیمه اول شبکه را نام می‌برد و نیمه دوم دستگاه را.

چرا کاربران پروکسی به زیرشبکه‌های ⁦/24⁩ اهمیت می‌دهند؟

چون سایت‌ها و سامانه‌های اعتبارسنجی یک آدرس را تا حدی از روی همسایه‌هایش می‌سنجند، و کاربران پروکسی معمولاً این همسایگی را به شکل یک /24 اندازه می‌گیرند: 256 آدرسی که سه عدد اولشان یکی است. آدرس‌های پروکسی زیادی که از یک /24 بیایند کمتر شبیه کاربران بسیار و بیشتر شبیه یک منبع واحد به نظر می‌رسند.

برخی سرویس‌های امتیازدهی تقلب اعلام می‌کنند آنچه درباره یک آدرس یاد می‌گیرند به زیرشبکه و شبکه آن هم تعمیم داده می‌شود؛ پس اگر یک آدرس در یک /24 اسپم فرستاده باشد، همسایه‌هایش با امتیاز بدتری شروع می‌کنند. فهرست‌های پشت این امتیازها را در نوشته اعتبار آی‌پی چیست؟ توضیح داده‌ایم.

آدرس‌های مسکونی به اتصال‌های خانگی ارائه‌دهندگان اینترنت بسیاری تعلق دارند؛ پس استخر پروکسی مسکونی (رزیدنتال) به‌جای چند بلوک همسایه، روی بلوک‌های زیادی پخش است. با پروکسی مسکونی Proxynet کشور و شهر را انتخاب می‌کنید و می‌توانید یک شبکه را با ASN آن هم هدف بگیرید.

آدرس‌های دیتاسنتر معمولاً در دسته‌های پشت سر هم واگذار می‌شوند؛ پس چند آدرس پروکسی دیتاسنتر ممکن است در یک /24 قرار بگیرند و در اعتبار آن هم شریک باشند: مشکلی که یک پروژه ایجاد کند می‌تواند گریبان پروژه‌های دیگر همان بلوک را هم بگیرد.

تنوع بلوک راهی برای نادیده گرفتن قواعد یک سایت نیست. پخش کردن درخواست‌ها میان بلوک‌ها برای گذشتن از محدودیت نرخ یا مسدودسازی دقیقاً همان رفتاری است که سامانه‌های ضدسوءاستفاده برای گرفتنش ساخته شده‌اند؛ آدرس‌ها هر چه باشند، نرخ درخواست را معقول نگه دارید.

جاهایی که با ماسک زیرشبکه روبه‌رو می‌شوید

  • تنظیمات روتر: صفحه LAN ماسک و بازه‌ای را که DHCP پخش می‌کند نشان می‌دهد.
  • آدرس ثابت روی دستگاه‌ها: چاپگرها، دوربین‌ها و درایوهای NAS یک آدرس، یک ماسک و یک دروازه می‌خواهند.
  • شبکه‌های ابری و قاعده‌های فایروال: به شکل CIDR نوشته می‌شوند، مانند 10.0.0.0/16.

خطاهای رایج

  • ماسک را آدرس پنداشتن. ماسک یک بازه را توصیف می‌کند؛ چیزی برای ping کردن وجود ندارد.
  • خواندن /24 به معنای «24 دستگاه». یعنی 24 بیت شبکه، که 254 آدرس قابل‌استفاده باقی می‌گذارد.
  • دادن آدرس شبکه یا آدرس همه‌پخشی به یک دستگاه. در یک /24، .0 و .255 رزرو شده‌اند.
  • وارد کردن ماسکی که با روتر جور نیست. همه دستگاه‌های یک شبکه از یک ماسک استفاده می‌کنند.
  • انتظار اینکه ماسک آی‌پی عمومی، سرعت یا حریم خصوصی شما را تغییر دهد. ماسک فقط تعیین می‌کند چه چیزی محلی است.

راهنمای انتخاب

نیاز شماچه باید کرد
دیدن ماسک در ویندوزipconfig را اجرا کنید و سطر Subnet Mask زیر آداپتور خود را بخوانید
دیدن آن در مک یا گوشیمک: ⁦Network > Details > TCP/IP⁩؛ آیفون: ⁦Wi-Fi > More Info⁩؛ اندروید: تنظیمات Wi-Fi
تنظیم آدرس ثابت روی چاپگرماسک و دروازه روتر را کپی کنید؛ آدرسی بیرون از بازه DHCP انتخاب کنید
دستگاه‌ها پس از یک تغییر دستی پاسخ نمی‌دهندبه DHCP برگردید یا ماسک روتر را کپی کنید
خروجی‌های پروکسی پخش‌شده روی بلوک‌های زیادپروکسی مسکونی

پرسش‌های متداول

ماسک زیرشبکه من چه باید باشد؟

همان ماسکی که بقیه شبکه شما دارد، که در خانه معمولاً 255.255.255.0 است. اگر دستگاه شما تنظیماتش را خودکار می‌گیرد، روتر آن را از قبل تنظیم کرده است. برای آدرس ثابت، ماسک را از روتر یا از کامپیوتری که درست کار می‌کند کپی کنید.

آیا 255.255.255.0 همان /24 است؟

بله. 255.255.255.0 هر 32 بیت را در چهار اکتت می‌نویسد و /24 می‌گوید 24 بیت ابتدای آن یک‌اند. هر دو یعنی 256 آدرس که 254 تای آن‌ها قابل‌استفاده‌اند.

آیا دو دستگاه می‌توانند ماسک زیرشبکه یکسانی داشته باشند؟

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

تفاوت 255.255.255.0 و 255.255.0.0 چیست؟

اندازه شبکه. 255.255.255.0 (/24) برای دستگاه‌ها 8 بیت باقی می‌گذارد، یعنی 254 آدرس قابل‌استفاده؛ 255.255.0.0 (/16) 16 بیت باقی می‌گذارد، یعنی 65,534 آدرس. روترهای خانگی معمولاً از اولی استفاده می‌کنند.

آیا می‌توان ماسک زیرشبکه را فقط از روی آدرس آی‌پی پیدا کرد؟

خیر. آدرس ماسکش را با خود ندارد: 192.168.1.37 می‌تواند در یک /24، یک /25 یا یک /16 باشد. به خود تنظیم نیاز دارید و آن را از دستگاه، از روتر یا از مدیر شبکه می‌گیرید.

آیا ماسک زیرشبکه روی سرعت اینترنت اثر دارد؟

خیر. ماسک فقط تعیین می‌کند که مقصد محلی است یا باید از روتر بگذرد. ماسک اشتباه اتصال را کند نمی‌کند، بلکه قطع می‌کند.

خلاصه

ماسک زیرشبکه آدرس IPv4 را به بخش شبکه و بخش میزبان تقسیم می‌کند: یک‌ها شبکه را نشان می‌دهند و صفرها دستگاه‌ها را. 255.255.255.0 و /24 یک ماسک‌اند، یعنی 256 آدرس که 254 تای آن قابل‌استفاده است، و دستگاه با آن تصمیم می‌گیرد بسته را مستقیم تحویل دهد یا از راه دروازه پیش‌فرض بفرستد. آدرس را با ماسک AND کنید و بیت‌های میزبان را 1 کنید تا آدرس شبکه و آدرس همه‌پخشی هر زیرشبکه‌ای را به دست آورید. بیشتر مشکلات ماسک با برگرداندن اتصال به DHCP برطرف می‌شود. اگر به آدرس‌های پروکسی پخش‌شده روی شبکه‌های زیاد نیاز دارید، گزینه‌ها را در صفحه محصولات پروکسی ما مقایسه کنید.

پرسش از ChatGPTپرسش از Claude