Cisco CCNA · 200-301 v2.0

Network Address، Broadcast و Host Range

هر Subnet چند مرز مهم دارد: Network Address، Broadcast Address و محدوده Hostهای قابل استفاده. تا وقتی این مرزها را سریع و مطمئن پیدا نکنی، تخصیص IP، طراحی DHCP و تشخیص اینکه یک Address معتبر است یا نه قابل اعتماد نخواهد بود. محاسبه‌ها را با Block Size و Binary طوری یاد می‌گیری که بتوانی جواب را هم کنترل کنی.

در پایان این درس باید بتوانی
  • 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 نمی‌کنند.

نمونه /26
Network:   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 usable

Block 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 است.

نمونه /20
IP:      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 تا Broadcast
Network:   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 است.

محدوده /20
Network:   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

  1. برای 192.168.1.77/26 محدوده کامل Subnet را حساب کن
  2. برای 10.10.20.190/27 Network، Broadcast و Host Range را پیدا کن
  3. برای /28 تعداد کل آدرس و Host قابل استفاده را حساب کن
  4. پنج 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 چقدر است؟

۳۲، چون ۲۵۶ - ۲۲۴ = ۳۲.

منابع رسمی

منابع مرجع این درس

مطالعه همیشه آزاد است

برای ذخیره پیشرفت وارد حساب شو

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

ورود یا ثبت‌نام