ماسک زیرشبکه (Subnet Mask) چیست؟ مثالها، کاربردها، مزایا و نحوه محاسبه
«ماسک زیرشبکه چیست؟» یکی از رایجترین سوالات برای مهندسان شبکه است. همه پیشکسوتان شبکه در برههای از زمان آن را تجربه کردهاند و همه ما نکات و ترفندهای خودمان را برای فهمیدن آن داریم.
اما، این درک اولیه معمولاً حاصل تلاش و کوششی طاقتفرسا است که شامل ترکیبی از برگههای تقلب، مبدلهای IP به دودویی، کتابها، مقالات و منابع آنلاین میشود.
بسیاری از متخصصان شبکه باتجربه به جای محاسبه دستی ماسک IP، از یک محاسبهگر ماسک IP استفاده میکنند.
با این حال، هنوز هم مفید است که درک کنیم ماسک زیرشبکه چیست، چگونه کار میکند و چرا مهم است، زیرا این به شما کمک میکند هنگام طراحی، پیکربندی و عیبیابی مشکلات شبکه، تصمیمات هوشمندانهای بگیرید.
برای کمک به شما در آسانتر کردن این کار، این مقاله به تفصیل به پاسخ این سوال که «ماسک زیرشبکه چیست» میپردازد، از جمله اطلاعات فنی، اصطلاحات کلیدی شبکه که باید بدانید و مزایای زیرشبکهها. ما در درجه اول بر زیرشبکهسازی IPv4 تمرکز خواهیم کرد، اما به IPv6 نیز خواهیم پرداخت.
ماسک زیرشبکه چیست؟
ماسک زیرشبکه یک بیتماسک ۳۲ بیتی است که یک آدرس IP را به بخشهای شبکه و میزبان تقسیم میکند تا تقسیمبندی شبکه IPv4 (که به آن زیرشبکهسازی نیز میگویند) را فعال کند.
در ادامه چند اصطلاح جدید معرفی خواهیم کرد، اما در پایان همه را به هم ربط خواهیم داد.
- ۳۲ بیتی به معنای واقعی کلمه به معنای ۳۲ صفر یا یک پشت سر هم است، مانند ۱۱۱۱۱۱۱۱۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰ (که آدرس دودویی ۲۵۵.۰.۰.۰ است). توجه داشته باشید که اعداد بین نقطهها در یک آدرس IPv4، اکتت (octets) نامیده میشوند زیرا نشاندهنده ۸ بیت هستند.
- آنها بیتهای شبکه یک آدرس IP را به ما میگویند.
- صفرها بیتهای میزبان یک آدرس IP را به ما میگویند.
- آدرس دودویی نام آن رشتههای ۳۲ بیتی از اعداد یک و صفر است. آنها مستقیماً به نمادگذاری نقطهای-دهدهی که شما میشناسید، مانند ۱۹۲.۰.۲.۱۱ (که معادل ۱۱۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۰۱۰۰۰۰۱۰۱۱ در حالت دودویی است) نگاشت میشوند.
- ماسک بیتی یک عدد دودویی است که میتوانید آن را روی یک عدد دودویی دیگر قرار دهید تا عملیات بیتی انجام شود.
عملگر بیتی AND، عملگر مربوط به زیرشبکهبندی IP است. با استفاده از ماسک زیرشبکه و آدرس IPv4 در قالب دودویی، یک عملگر بیتی AND آدرس شبکه را به شما میدهد. برای مثال، در اینجا نحوه محاسبه آدرس شبکه با توجه به آدرس IPv4 برابر با 192.0.2.11 (110000000000000000001000001011) و ماسک زیرشبکه برابر با 255.0.0 (111111100000000000000000000000000000000000000) آورده شده است. میتوانید نحوه عملکرد آن را در تصویر زیر مشاهده کنید:

- آدرس شبکه اولین آدرس در یک شبکه است، نمیتوان آن را به یک میزبان خاص اختصاص داد و مهم است زیرا روترها و سایر دستگاههای شبکه از آن برای شناسایی منحصر به فرد شبکه (یا زیرشبکه) استفاده میکنند.
💡 نکتهی حرفهای: یکها (سمت چپ) و صفرها (سمت راست) در یک زیرشبکهی دودویی همیشه مجاور هم هستند. یعنی، یکهای متوالی را در سمت چپ و سپس صفرهای متوالی را در سمت راست خواهید دید. بنابراین، چیزی مانند ۱۱۰۰۰۰۰۰۰۰۰۱۱۰۰۰۰۰۰۰۰۰۱۰۰۰۰۱۰۱۱ یک زیرشبکهی معتبر نیست.
CIDR چیست؟
نمادگذاری CIDR (مسیریابی بین دامنهای بدون کلاس) روشی رایج برای نمایش تعداد بیتهای شبکه در یک ماسک زیرشبکه است. با CIDR، تعداد بیتهای شبکه بعد از یک اسلش اضافه میشود و کار تمام است.
برای مثال، یک زیرشبکه با ابعاد 255.0.0.0 در نمادگذاری اعشاری نقطهای، در نمادگذاری CIDR برابر با /8 است، زیرا دقیقاً 8 بیت شبکه در نمایش دودویی وجود دارد (11111111000000000000000000000000000000).
معمولاً، یک زیرشبکه CIDR را مشاهده خواهید کرد که به یک آدرس IP با اعشار نقطهای (مثلاً ۱۹۲.۰.۲.۰/۸) اضافه شده است.
ماسک زیرشبکه IP در مقابل خود زیرشبکه IP
اصطلاحات شبکه میتواند پیچیده باشد. توجه به این نکته مهم است که ماسک زیرشبکه همان زیرشبکه نیست.
یک ماسک زیرشبکه به شما کمک میکند تا بخشهای مختلف شبکه را تعریف و شناسایی کنید، در حالی که یک زیرشبکه نمونه خاصی از یکی از آن بخشها است. نمونههایی از نحوه نمایش یک ماسک زیرشبکه عبارتند از: 255.255.255.0 (دهدهی نقطهای)، /24 (CIDR)، 111111111111111111111000000000 (دودویی) یا 0xffffff00 (هگزادسیمال).
یک زیرشبکه خاص، یک زیرشبکه واقعی خواهد بود. برای مثال، فرض کنید یک شبکه 192.0.2.0/24 داریم که میخواهیم آن را به 4 زیرشبکه کوچکتر با اندازه مساوی تقسیم کنیم، بدون اینکه آدرسها بیجهت هدر بروند. زیرشبکههای IP حاصل در جدول زیر نشان داده شدهاند.

توجه داشته باشید که پس از تقسیم زیرشبکهها، در نهایت ۲۴۸ آدرس میزبان قابل استفاده خواهیم داشت که ۶ آدرس کمتر از ۲۵۴ آدرسی است که با ۱۹۲.۰.۲.۰/۲۴ داشتیم. دلیلش این است که برای هر زیرشبکه جدیدی که ایجاد میکنیم، یک آدرس شبکه و آدرس پخش (BroadCast) جدید دریافت میکنیم که نمیتوان آنها را به یک میزبان اختصاص داد.
در مورد ماسکهای زیرشبکه IPv6 چطور؟
اندازه آدرسهای IPv6 (۱۲۸ بیت) و تعداد آدرسهای IPv6 موجود ( از نظر تئوری ۲ به توان ۱۲۸ یا 340 تریلیون تریلیون آدرس IPv6)، زیرشبکهبندی IPv6 را کمی متفاوت میکند.
اگرچه در این مقاله روی ماسکهای زیرشبکه IPv4 تمرکز داریم، اما اگر بحث زیرشبکه IPv6 پیش آمد، مطالب کافی برای بحث در مورد آن وجود دارد:
- آدرسهای IPv6 معمولاً به صورت هگزادسیمال نمایش داده میشوند (مثلاً 2001:DB8::9cff:4c9b:955d:9064:eb27).
- یک آدرس IPv6 با طول ۱۲۸ بیت به ۳ بخش کلیدی تقسیم میشود: پیشوند شبکه، شناسه زیرشبکه و شناسه رابط
- پیشوند شبکه ۴۸ بیتی، یک شبکه IPv6 منحصر به فرد را در اینترنت مشخص میکند.
- شناسه زیرشبکه ۱۶ بیتی امکان ایجاد زیرشبکهها را فراهم میکند.
- شناسه رابط ۶۴ بیتی به طور منحصر به فرد یک رابط خاص را مشخص میکند. این شناسه معمولاً از یک آدرس MAC مشتق میشود، اما میتواند به صورت دستی نیز اختصاص داده شود یا با استفاده از مکانیسم دیگری تولید شود.
- اگرچه استثنائاتی وجود دارد، اما اندازه زیرشبکههای IPv6 معمولاً بین /48 تا /64 است. /48، /56 و /64 ماسکهای زیرشبکهای هستند که اغلب در عمل استفاده میشوند.
برای بررسی عمیقتر ماسکهای زیرشبکه IPv6، به سوال متداول زیرشبکهبندی IPv6 در ServerFault مراجعه کنید.
بیشتر بخوانید:
زیرشبکهسازی چگونه کار میکند؟
زیرشبکهسازی با تقسیم طیف وسیعی از آدرسهای IP به گروههای کوچکتری از آدرسها کار میکند. هر دستگاه در همان زیرشبکه میتواند بدون نیاز به استفاده از دستگاه مسیریابی (مثلاً روتر یا سوئیچ لایه ۳ ) با سایر دستگاههای موجود در آن زیرشبکه ارتباط برقرار کند.
برای مثال، فرض کنید ترکیب ماسک زیرشبکه IP من به صورت زیر است:
- آدرس IPv4: 192.0.2.5 که معادل عدد دودویی 1100000000000000000001000000101 است.
- ماسک زیرشبکه: /26 در CIDR، که معادل 255.255.255.192 در سیستم اعشاری نقطهای است، که معادل 1111111.1111111.1111111.11000000 در سیستم دودویی است.
از آنجا، میتوانیم به عقب برگردیم تا مشخص کنیم که آدرس شبکه ما ۱۹۲.۰.۲.۰، آدرس پخش ما ۱۹۲.۰.۲.۶۳ و آدرسهای IP میزبان قابل استفاده ما ۱۹۲.۰.۲.۱-۱۹۲.۰.۲.۶۲ هستند. این بدان معناست که هر رایانه شخصی، چاپگر، دستگاههای IoT یا سایر تجهیزات دارای IPv4 که در آن محدوده قرار دارند و به شبکه من متصل هستند، باید مستقیماً از رایانه من قابل دسترسی باشند.
هر چیزی که خارج از آن محدوده باشد، کامپیوتر من باید ترافیک را به یک دستگاه مسیریابی که معمولاً دروازه پیشفرض نامیده میشود، ارسال کند.
چرا زیرشبکهسازی مهم است؟
زیرشبکهسازی یک مفهوم اساسی شبکهسازی IPv4 است که امکان طراحی بهتر شبکه ، سادهسازی عیبیابی و افزایش کارایی شبکهها را فراهم میکند.
۳ مزیت کلیدی زیرشبکهسازی
برای درک اهمیت زیرشبکهبندی، بیایید ۳ مزیت کلیدی زیرشبکهبندی را بررسی کنیم:
- شبکههای کارآمدتر : تقسیم یک شبکه به زیرشبکههای کوچکتر، میزان پیامهای پخششده و نویزهایی را که میتوانند عملکرد شبکه را کاهش دهند، کاهش میدهد. علاوه بر این، زیرشبکهسازی، مدیریت آدرس IP (IPAM) را بهبود میبخشد و مدیران شبکه را قادر میسازد تا آدرسهای IPv4 را به طور کارآمد اختصاص دهند.
- مدیریت بهتر شبکه : جداسازی منطقی زیرشبکهها برای عملکردهای مختلف تجاری – مانند حسابداری، منابع انسانی، مالی، پشتیبانی، مهندسی و فروش – یا سایر گروهبندیها میتواند مدیریت یک شبکه تجاری را آسانتر کند.
- امنیت بهبود یافته: تقسیم یک شبکه به زیرشبکهها، آنها را به صورت منطقی ایزوله میکند و از طریق تقسیمبندی شبکه، امنیت قویتری را فراهم میکند.
آدرسهای IP و ماسکهای زیرشبکه
ماسکهای زیرشبکه و آدرسهای IP دو روی یک سکه هستند زیرا ماسکهای زیرشبکه، شبکهای از آدرسهای IP را تعریف میکنند.
کلید فهم این رابطه در دو مفهوم خلاصه میشود:
- بیتهای میزبان در مقابل بیتهای شبکه در یک زیرشبکه
- عملیات بیتی AND برای تعیین آدرس شبکه
یک ماسک زیرشبکه مانند 255.255.255.0 را میتوان به صورت دودویی به صورت 1111111.1111111.1111111.00000000 نمایش داد. تمام یکهای موجود در ماسک، بیتهای شبکه هستند که بخش شبکه یک آدرس IPv4 را نشان میدهند. تمام صفرهای موجود در ماسک، بیتهای میزبان هستند که میتوانند برای میزبانهای منفرد در یک شبکه استفاده شوند. به همین دلیل است که متوجه خواهید شد که آدرسهای IP در یک زیرشبکه یکسان همیشه با اعداد یکسان شروع میشوند.
عملیات بیتی AND که قبلاً در مورد آن صحبت کردیم، شما را قادر میسازد تا آدرس شبکه را از ترکیب IP و زیرشبکه استخراج کنید. از آنجایی که شما از قبل بیتهای شبکه در زیرشبکه را میدانید، میتوانید آدرس پخش، آدرسهای میزبان موجود و محدوده آدرس IP موجود را نیز استخراج کنید.
کلاسهای IP و ماسکهای زیرشبکه
امروزه، شبکهها از آدرسدهی بدون کلاس استفاده میکنند و از آدرسهای ماسک زیرشبکه با طول متغیر (VLSM) پشتیبانی میکنند، اما درک کلاسهای آدرس IPv4 مفید است زیرا هنوز هم اغلب مورد استفاده قرار میگیرند. آدرسدهی با کلاس سه زیرشبکه پیشفرض داشت و اجازه نمیداد که آنها به خارج از آن محدودههای پیشفرض تقسیم شوند. به عبارت ساده، این امر باعث شد که کلاسفول انعطافپذیری کمتری نسبت به آنچه صنعت نیاز داشت، داشته باشد و آدرسدهی بدون کلاس و VLSM به عنوان راهحل پدیدار شدند.
در اینجا به طور خلاصه سه زیرشبکه پیشفرض classful را بررسی میکنیم. توجه داشته باشید که شبکههای موجود در این محدودهها حتی امروزه نیز اغلب شبکههای «کلاس A»، «کلاس B» یا «کلاس C» نامیده میشوند. کلاس A میزبانهای زیادی را مجاز میدانست در حالی که کلاس C زیرشبکههای زیادی را مجاز میدانست.

آدرس شبکه و ماسکهای زیرشبکه
آدرس شبکه، اولین آدرس در محدوده یک زیرشبکه است. همانطور که در بالا دیدیم، میتوانید از یک آدرس IPv4 و ماسک IP آن برای استخراج آدرس شبکه با استفاده از عملگر بیتی AND استفاده کنید. ممکن است پیچیده به نظر برسد، اما وقتی با آن آشنا شوید، ساده خواهد بود.
در اینجا مروری بر این فرآیند ارائه شده است:
- آدرس IP و زیرشبکه خود را به دودویی تبدیل کنید.
- قطعات را کنار هم ردیف کنید.
- هر جایی که هم در آدرس IP و هم در زیرشبکه عدد ۱ وجود داشته باشد، در آدرس شبکه عدد ۱ قرار دهید؛ هر بیت در میان ۰ میشود.
- عدد دودویی حاصل، آدرس شبکه شماست.
محاسبهگر ماسک زیرشبکه چیست؟
یک متخصص شبکه باتجربه، پس از اینکه سختیهای فهمیدن نحوهی کار دستی را تحمل کرد، از یک محاسبهگر ماسک زیرشبکه برای محاسبهی زیرشبکهها استفاده میکند.
صادقانه بگوییم، عملیتر این است که اجازه دهیم یک ابزار کار انجام این محاسبات را انجام دهد. به جای انجام دستی محاسبات ریاضی برای تبدیل به/از دودویی، استخراج میزبانهای موجود، تعیین CIDR یا نمادگذاری نقطهای-دهدهی، میتوانید به سادگی برخی از ورودیهای یک ابزار را تغییر دهید و جزئیات مورد نیاز خود را دریافت کنید.
خلاصه
دانستن اصول اولیه ماسکهای زیرشبکه IP عالی است، اما بهکارگیری این دانش در عمل مهم است. وقتی فهمیدید که موتور چگونه در زیر کاپوت کار میکند (امیدواریم این مقاله مفید بوده باشد)، استفاده از ابزاری مانند ماشین حساب ماسک IP برای محاسبه اعداد خاص منطقی است.
وقتی با این مباحث راحت شدید، میتوانید به مباحث پیشرفتهتری مانند پیکربندی دستگاههای شبکه، VLSM، ماسکهای wildcard و زیرشبکهبندی IPv6 بپردازید.