- Network Address و Broadcast Address را پیدا کنی
- Host Range قابل استفاده را محاسبه کنی
- Block Size را از Mask به دست بیاوری
- Subnet یک IP را در Octet سوم یا چهارم مشخص کنی
- Network یا Broadcast اشتباهی روی Host را تشخیص بدهی
- جواب Subnetting را با چند کنترل ساده اعتبارسنجی کنی
Network Address، Broadcast و Host Range
Network Address شناسه خود Subnet است. در این آدرس همه بیتهای Host برابر ۰ هستند. این آدرس را معمولاً روی یک کامپیوتر عادی تنظیم نمیکنیم، چون نماینده خود شبکه است.
نمونه ساده192.168.10.25/24
Network = 192.168.10.0
در /24 هشت بیت آخر Host هستند.
وقتی همه آنها ۰ شوند، Octet آخر ۰ میشود.برای Prefixهایی که مرزشان وسط یک Octet است، پیدا کردن Network کمی محاسبه میخواهد. در /26 اندازه هر Subnet برابر ۶۴ آدرس است، پس شروع شبکهها ۰، ۶۴، ۱۲۸ و ۱۹۲ است. IP برابر 192.168.10.70 داخل بازهای قرار میگیرد که از ۶۴ شروع شده، پس Network Address آن 192.168.10.64 است. Broadcast Address آخرین آدرس Subnet است و همه بیتهای Host در آن ۱ هستند. در IPv4، Broadcast برای فرستادن ترافیک به همه دستگاههای همان Broadcast Domain استفاده میشود. Routerها به طور معمول Broadcast محلی را به شبکه دیگر Forward نمیکنند.
نمونه /26Network: 192.168.10.64/26
Broadcast: 192.168.10.127
Subnet بعدی از 192.168.10.128 شروع میشود.یک روش سریع این است که شروع Subnet بعدی را پیدا کنی و یک عدد کم کنی. اگر Subnet فعلی از ۶۴ شروع شده و بعدی از ۱۲۸ شروع میشود، Broadcast فعلی ۱۲۷ است. در Subnetهای معمول، اولین آدرس بعد از Network Address اولین Host و یک آدرس قبل از Broadcast آخرین Host است. برای 192.168.10.64/26، اولین Host برابر 192.168.10.65 و آخرین Host برابر 192.168.10.126 است.
محدوده کاملNetwork: 192.168.10.64
First Host: 192.168.10.65
Last Host: 192.168.10.126
Broadcast: 192.168.10.127وقتی یک IP روی سیستم تنظیم میکنی، باید داخل Host Range همان Subnet باشد. استفاده از Network Address یا Broadcast Address برای Host معمولی باعث مشکل میشود. Network Address شناسه خود Subnet است و برای آدرسدهی معمول یک Host استفاده نمیشود. Broadcast Address آخرین آدرس Subnet است و برای ارسال Broadcast داخل همان Subnet به کار میرود. بین این دو، محدوده آدرسهایی قرار دارد که معمولاً میتوان به Interfaceهای Hostها، Routerها و سایر تجهیزات داد. اگر این سه مرز را دقیق پیدا کنی، بخش بزرگی از Subnetting قابل کنترل میشود. مثلاً در 192.168.10.64/26، اندازه Subnet برابر ۶۴ آدرس است. Network Address برابر .۶۴ و Subnet بعدی از .۱۲۸ شروع میشود؛ بنابراین آخرین آدرس Subnet فعلی یعنی .127 Broadcast است و Host Range از .۶۵ تا .۱۲۶ خواهد بود. روش پیدا کردن Broadcast با نگاه کردن به شروع Subnet بعدی بسیار قابل اعتماد است: یک عدد قبل از Network بعدی، Broadcast فعلی است.
اندازه Subnet و Block Size
اگر h تعداد Host bit باشد، تعداد کل آدرسهای Subnet برابر ۲ به توان h است. برای /26 شش Host bit داریم، پس ۲^۶ برابر ۶۴ آدرس است. در Subnetهای معمول دو آدرس برای Network و Broadcast کنار گذاشته میشوند، پس ۶۲ آدرس برای Host باقی میماند.
نمونه تعداد آدرس/24 → 8 Host bits → 256 total → 254 usable
/26 → 6 Host bits → 64 total → 62 usable
/28 → 4 Host bits → 16 total → 14 usableBlock Size فاصله بین شروع دو Subnet پشت سر هم است. وقتی Mask در Octet موردنظر مثلاً ۱۹۲ باشد، میتوانی ۲۵۶ - ۱۹۲ را حساب کنی. نتیجه ۶۴ است، یعنی Subnetها هر ۶۴ آدرس شروع میشوند.
نمونهMask: 255.255.255.192
256 - 192 = 64
Subnet starts:
0, 64, 128, 192برای Mask برابر ۲۲۴، Block Size میشود ۳۲. شروع Subnetها ۰، ۳۲، ۶۴، ۹۶، ۱۲۸، ۱۶۰، ۱۹۲ و ۲۲۴ است. پیدا کردن Block Size یکی از سریعترین روشهای محاسبه Subnet در ذهن است. Block Size فاصله بین Network Addressهای متوالی در Octetی است که Mask در آن کامل ۲۵۵ یا صفر نیست. برای /26، Mask در Octet چهارم ۱۹۲ است و Block Size از ۲۵۶ - ۱۹۲ برابر ۶۴ به دست میآید. پس مرزها ۰، ۶۴، ۱۲۸ و ۱۹۲ هستند. برای /28، Mask برابر ۲۴۰ و Block Size برابر ۱۶ است؛ مرزها ۰،۱۶،۳۲،۴۸ و همینطور ادامه پیدا میکنند. اندازه Subnet با تعداد Host قابل استفاده یکی نیست. /26 در مجموع ۶۴ آدرس دارد ولی در طراحی معمول 62 Host قابل استفاده میدهد. اگر بخشی از شرکت ۶۳ دستگاه نیاز داشته باشد، /26 کافی نیست؛ حتی اگر عدد ۶۴ در ذهن وسوسهکننده باشد. باید Network و Broadcast را هم حساب کنی و برای رشد آینده هم کمی فضا در نظر بگیری.
پیدا کردن شبکه یک IP
IP برابر 172.16.5.77/27 را بررسی کن. /27 یعنی Mask آخر ۲۲۴ و Block Size برابر ۳۲ است. شروع Subnetها در Octet آخر ۰، ۳۲، ۶۴، ۹۶ و ... هستند. عدد ۷۷ بین ۶۴ و ۹۵ قرار میگیرد. پس Network برابر 172.16.5.64 و Broadcast برابر 172.16.5.95 است. اولین Host میشود .۶۵ و آخرین Host .۹۴. بدون تبدیل کامل ۳۲ بیت به Binary توانستیم محدوده را پیدا کنیم. Binary پشت این محاسبه است، ولی Block Size سرعت کار را بالا میبرد. Block Size سریع است، اما بد نیست یکبار منطق اصلی Network Address را با بیت ببینی. Network Address از ترکیب IP و Subnet Mask به دست میآید. در هر موقعیت بیتی فقط وقتی نتیجه ۱ است که هم بیت IP و هم بیت Mask برابر ۱ باشند. این عمل در شبکه AND نام دارد.
نمونه سادهIP آخرین Octet: 77 = ۰۱۰۰۱۱۰۱
Mask آخرین Octet: 224 = ۱۱۱۰۰۰۰۰
AND = ۰۱۰۰۰۰۰۰ = ۶۴
Network = ...۶۴/۲۷لازم نیست برای هر سؤال تمام ۳۲ بیت را AND کنی. این مثال فقط نشان میدهد چرا Block Size جواب میدهد و Network Address از کجا میآید. برای پیدا کردن Subnet یک IP، اول Octet مهم را مشخص کن و بعد ببین مقدار IP بین کدام دو مرز Block Size قرار گرفته است. مثلاً 172.16.77.130/20 را بررسی کن. /20 یعنی Mask برابر 255.255.240.0 و Block Size در Octet سوم برابر ۱۶ است. مرزهای Octet سوم ۰،۱۶،۳۲،۴۸،۶۴،۸۰ و ... هستند. عدد ۷۷ بین ۶۴ و ۸۰ قرار دارد، پس Network برابر 172.16.64.0/20 است.
نمونه /20IP: 172.16.77.130/20
Mask: 255.255.240.0
Block: 16 در Octet سوم
۶۴ <= ۷۷ < ۸۰
Network: 172.16.64.0/20همین محاسبه را میتوانی با AND باینری هم انجام بدهی. Router در منطق اصلی با بیتها کار میکند: IP و Mask را بیتبهبیت AND میکند و نتیجه Network Address میشود. روش Block Size برای انسان سریعتر است، ولی دانستن AND کمک میکند بفهمی این محاسبه از کجا آمده و چرا قابل اعتماد است.
محاسبه Broadcast در Prefixهای مختلف
برای ساخت Broadcast، بیتهای Network همان مقدار Network Address را نگه میدارند و همه Host bitها ۱ میشوند. در /27 پنج Host bit داریم. عدد ۶۴ در Octet آخر ۰۱۰۰۰۰۰۰ است و با ۱ کردن پنج Host bit به ۰۱۰۱۱۱۱۱ میرسیم که Decimal آن ۹۵ است.
از Network تا BroadcastNetwork: 01000000 = 64
Broadcast: 01011111 = 95این روش وقتی میخواهی محاسبه را از پایه اثبات کنی مفید است. در کار روزمره پیدا کردن Subnet بعدی و کم کردن یک عدد معمولاً سریعتر است. همه محاسبات محدود به Octet چهارم نیستند. آدرس 172.16.34.20/20 را بررسی کن. Mask برابر 255.255.240.0 است و Block Size در Octet سوم برابر ۱۶ میشود. شروع شبکهها در Octet سوم ۰، ۱۶، ۳۲، ۴۸ و ... هستند. عدد ۳۴ بین ۳۲ و ۴۷ قرار میگیرد، پس Network برابر 172.16.32.0/20 است.
محدوده /20Network: 172.16.32.0
First Host: 172.16.32.1
Last Host: 172.16.47.254
Broadcast: 172.16.47.255این مثال نشان میدهد باید Octet مرزی را پیدا کنی. وقتی Prefix کمتر از /24 است، Block Size ممکن است در Octet سوم یا حتی دوم قرار بگیرد. بعد از پیدا کردن Network، Broadcast را از مرز Subnet بعدی به دست بیاور. در مثال 172.16.64.0/20، Subnet بعدی 172.16.80.0/20 است؛ بنابراین Broadcast شبکه فعلی 172.16.79.255 است. Host Range هم از 172.16.64.1 تا 172.16.79.254 خواهد بود. توجه کن که چون مرز در Octet سوم قرار دارد، Octet چهارم در داخل Subnet از ۰ تا ۲۵۵ تغییر میکند. برای Prefixهای کوچکتر مثل /30، همین منطق در Octet چهارم اجرا میشود. /30 چهار آدرس دارد: Network، دو Host و Broadcast. در لینکهای Point-to-Point قدیمی این اندازه خیلی رایج بوده است. بعداً با /31 هم آشنا میشوی، ولی برای تسلط روی محاسبات پایه ابتدا مدل معمول Network/Broadcast را درست یاد بگیر.
کنترل نتیجه و خطاهای Addressing
فرض کن یک Printer با IP برابر 192.168.40.64/26 تنظیم شده و کار نمیکند. محاسبه نشان میدهد 192.168.40.64 خود Network Address این Subnet است، نه Host Address. پس قبل از بررسی DNS یا کابل، خود IP Configuration مشکل دارد. یا ممکن است دو سیستم آدرسهای 10.1.1.30/27 و 10.1.1.62/27 داشته باشند. اولی در شبکه 10.1.1.0/27 و دومی در شبکه 10.1.1.32/27 است. ظاهر IPها نزدیک است، ولی Subnet متفاوت دارند. همین محاسبه مسیر عیبیابی را مشخص میکند. یکی از خطاهای رایج این است که Gateway یا Server روی آدرسی تنظیم شود که از نظر ظاهری عادی است ولی دقیقاً Network یا Broadcast همان Prefix است. این مشکل بیشتر وقتی رخ میدهد که Prefixهایی مثل /27 یا /28 استفاده شدهاند و فرد فقط به Octet آخر نگاه کرده است. برای هر Static IP مهم، بهتر است قبل از اعمال Configuration چهار مقدار Network، First Host، Last Host و Broadcast را کنار هم بنویسی. چند ثانیه محاسبه جلوی خطایی را میگیرد که بعداً ساعتها Troubleshooting ایجاد میکند. بعد از محاسبه، سه کنترل سریع انجام بده. IP اصلی باید بین Network و Broadcast قرار بگیرد. Broadcast باید درست یک آدرس قبل از Network بعدی باشد. Network Address هم باید روی یکی از مرزهای Block Size قرار گرفته باشد.
اگر یکی از این سه شرط برقرار نیست، محاسبه را دوباره ببین. این کنترل ساده مخصوصاً در آزمونهایی که زمان محدود است جلوی اشتباههای عددی را میگیرد. یکی از خطاهای جدی این است که Network Address یا Broadcast را روی Client تنظیم کنی. بعضی سیستمها ممکن است همان لحظه خطا بدهند و بعضی سناریوها رفتار متفاوتی نشان دهند، ولی از نظر طراحی معمول نباید این آدرسها را به Host بدهی. اگر کاربری IP دارد ولی هیچ ارتباطی برقرار نمیکند، حتماً بررسی کن IP روی مرز Network یا Broadcast نیفتاده باشد. کنترل جواب را عادت کن: Network باید مضربی از Block Size در Octet مربوط باشد، Broadcast باید درست قبل از Network بعدی باشد و IP موردنظر باید بین Network و Broadcast قرار بگیرد. اگر یکی از این سه شرط برقرار نیست، پاسخ اشتباه است. این کنترل چند ثانیهای در آزمون و محیط واقعی جلوی خطاهای زیادی را میگیرد.
برای IP برابر 192.168.50.150/28، Mask برابر 255.255.255.240 و Block Size برابر ۱۶ است. شروع Subnetها ...۱۲۸، ۱۴۴، ۱۶۰... هستند. عدد ۱۵۰ داخل Subnetی است که از ۱۴۴ شروع میشود. پس Network برابر 192.168.50.144، Broadcast برابر 192.168.50.159، First Host برابر ۱۴۵ و Last Host برابر ۱۵۸ است.
اشتباههای رایج در محدوده Subnet
- Network Address را به Host معمولی اختصاص نده
- Broadcast Address را آدرس عادی دستگاه در نظر نگیر
- Host Range را فقط از روی ظاهر IP حدس نزن
- برای پیدا کردن Broadcast، مرز Subnet بعدی را اشتباه نگیر
تمرین Network و Broadcast
- برای 192.168.1.77/26 محدوده کامل Subnet را حساب کن
- برای 10.10.20.190/27 Network، Broadcast و Host Range را پیدا کن
- برای /28 تعداد کل آدرس و Host قابل استفاده را حساب کن
- پنج IP بساز که یکی Network Address و یکی Broadcast Address باشد و بقیه Host معتبر باشند
نکتههایی که باید با خودت ببری
- Network Address همه Host bitها را ۰ دارد
- Broadcast Address همه Host bitها را ۱ دارد
- Host Range بین Network و Broadcast قرار میگیرد
- Block Size فاصله شروع Subnetهای پشت سر هم است
- محاسبه محدوده Subnet در عیبیابی IP ضروری است
محدوده Subnet را حساب کن
در 192.168.10.64/26 Broadcast چیست؟
۱۹۲.۱۶۸.۱۰.۱۲۷.
یک /28 چند آدرس کل و چند Host معمولی دارد؟
۱۶ آدرس کل و 14 Host قابل استفاده در Subnet معمول.
Block Size برای Mask 255.255.255.224 چقدر است؟
۳۲، چون ۲۵۶ - ۲۲۴ = ۳۲.
منابع مرجع این درس
برای ذخیره پیشرفت وارد حساب شو
حساب کاربری برای آزمون و ثبت مرحلهها استفاده میشود