Cisco CCNA · 200-301 v2.0

VLSM و طراحی Address Plan

VLSM اجازه می‌دهد داخل یک شبکه والد، Subnetهایی با اندازه‌های متفاوت بسازیم تا هر بخش تقریباً به‌اندازه نیاز خودش فضا بگیرد. مهارت اصلی فقط محاسبه Prefix نیست؛ باید ترتیب تخصیص، مرزها، ظرفیت آینده و جلوگیری از Overlap را هم مدیریت کنی تا Address Plan واقعاً قابل اجرا باشد.

در پایان این درس باید بتوانی
  • نیاز Host را به Prefix مناسب تبدیل کنی
  • VLSM را از بزرگ‌ترین نیاز به کوچک‌ترین طراحی کنی
  • مرز درست هر Subnet را پیدا کنی
  • از Overlap بین Subnetها جلوگیری کنی
  • فضای رشد و آدرس‌های باقی‌مانده را مستند کنی
  • یک Address Plan مبتنی بر VLSM را کنترل نهایی کنی

VLSM و استفاده بهینه از فضای IPv4

VLSM مخفف Variable Length Subnet Mask است. یعنی در یک طرح آدرس‌دهی، همه Subnetها مجبور نیستند Prefix یکسان داشته باشند. یک بخش می‌تواند /25 باشد، بخش دیگر /27 و یک لینک کوچک /30. شرط اصلی این است که محدوده‌ها با هم هم‌پوشانی نداشته باشند. هدف VLSM استفاده بهتر از فضای IPv4 است. وقتی یک شبکه محدود در اختیار داری، دادن یک /25 به بخشی که فقط ۱۰ دستگاه دارد منطقی نیست. بهتر است ظرفیت هر Subnet را نزدیک به نیاز واقعی انتخاب کنی و مقداری هم برای رشد آینده در نظر بگیری. برای انتخاب Prefix، اول تعداد Host موردنیاز را می‌بینیم. باید کوچک‌ترین Subnetی را پیدا کنیم که ظرفیت کافی دارد. مثلاً برای 50 Host، /27 فقط 30 Host می‌دهد و کافی نیست. /26 برابر 62 Host می‌دهد، پس مناسب است.

چند ظرفیت رایج
/25 → 126 usable hosts
/26 → 62 usable hosts
/27 → 30 usable hosts
/28 → 14 usable hosts
/29 → 6 usable hosts
/30 → 2 usable hosts

این جدول را می‌توانی از تعداد Host bitها بسازی. حفظ کردنش سرعت کار را بالا می‌برد، ولی منطق اصلی همان ۲ به توان Host bit منهای دو است. VLSM مخفف Variable Length Subnet Mask است و اجازه می‌دهد داخل یک فضای آدرس، Subnetهایی با Prefixهای متفاوت داشته باشی. دلیل استفاده ساده است: نیاز همه قسمت‌های شبکه برابر نیست. یک VLAN کاربران ممکن است 100 Host بخواهد، VLAN دوربین‌ها 30 Host، بخش مدیریت 10 Host و یک لینک Router-to-Router فقط چند آدرس نیاز داشته باشد. اگر همه را هم‌اندازه بسازی، بخشی از فضای IPv4 بی‌دلیل خالی می‌ماند. VLSM خودش یک فرمول جدید جدا از Subnetting نیست. همان قواعد Network، Broadcast، Host Range و Prefix را استفاده می‌کنی، فقط اندازه Subnetها متفاوت می‌شود. چیزی که سخت‌تر می‌شود نظم تخصیص است: باید مطمئن شوی Subnetها روی مرز درست شروع می‌شوند و هیچ دو محدوده‌ای روی هم نمی‌افتند.

ترتیب طراحی و تخصیص Subnetها

در VLSM معمولاً نیازها را از بزرگ‌ترین به کوچک‌ترین مرتب می‌کنیم. دلیلش ساده است: Subnet بزرگ به مرز بزرگ‌تری نیاز دارد و اگر ابتدا Subnetهای کوچک را پراکنده تخصیص بدهی، ممکن است فضای پیوسته کافی برای بخش بزرگ باقی نماند. فرض کن 192.168.10.0/24 را داریم و چهار نیاز داریم: 100 Host، 50 Host، 20 Host و 10 Host. Prefix مناسب به ترتیب /25، /26، /27 و /28 است. حالا از ابتدای فضای /24 شروع می‌کنیم و هر Subnet را پشت سر قبلی قرار می‌دهیم.

نیازها
Sales: 100 hosts → /25
Finance: 50 hosts → /26
IT: 20 hosts → /27
Management: 10 hosts → /28
تخصیص
Sales:      192.168.10.0/25    (0-127)
Finance:    192.168.10.128/26  (128-191)
IT:         192.168.10.192/27  (192-223)
Management: 192.168.10.224/28  (224-239)

از ۲۴۰ تا ۲۵۵ هنوز آزاد است. می‌توانیم آن را برای رشد آینده یا Subnetهای بعدی نگه داریم. هیچ محدوده‌ای روی دیگری نیفتاده و هر بخش Prefix متناسب با نیازش دارد. قاعده عملی طراحی VLSM این است که نیازها را از بزرگ‌ترین به کوچک‌ترین مرتب کنی. دلیلش این است که Subnet بزرگ مرزهای محدودتری برای شروع دارد و اگر اول فضا را با Subnetهای کوچک تکه‌تکه کنی، ممکن است دیگر بلوک پیوسته مناسب برای نیاز بزرگ باقی نماند. Cisco هم در مثال‌های VLSM همین روش تخصیص از بزرگ‌ترین نیاز را نشان می‌دهد.

نمونه نیازها
Sales:      100 Host
Accounting: 50 Host
Cameras:    20 Host
Management: 10 Host
WAN Link:    2 Host

برای 100 Host، /25 با 126 Host قابل استفاده مناسب است. برای 50 Host، /26؛ برای 20 Host، /27؛ برای 10 Host، /28 و برای دو Host معمولاً /30. بعد از تعیین Prefixها، از ابتدای شبکه والد شروع می‌کنی و هر بلوک را روی مرز درست خودش قرار می‌دهی.

مرز Subnet و جلوگیری از Overlap

در VLSM نمی‌توانی هر عددی را به‌عنوان شروع Subnet انتخاب کنی. Network Address باید روی مرز همان Block Size قرار بگیرد. مثلاً /26 Block Size برابر ۶۴ دارد، پس شروع‌های معتبر در یک Octet 0، ۶۴، ۱۲۸ و ۱۹۲ هستند. شروع 192.168.10.100/26 از نظر Subnet Boundary درست نیست. این موضوع جلوی هم‌پوشانی را می‌گیرد. وقتی Prefix انتخاب شد، Network Address باید با اندازه آن Subnet هماهنگ باشد. ابزارهای Subnet Calculator هم همین قاعده را اجرا می‌کنند. بعد از تخصیص بزرگ‌ترین Subnet، آدرس شروع Subnet بعدی دقیقاً بعد از Broadcast قبلی قرار می‌گیرد، البته باید Boundary Prefix جدید هم معتبر باشد. اگر /25 اول از ۰ تا ۱۲۷ را گرفته، Subnet بعدی می‌تواند از ۱۲۸ شروع شود. اگر /26 باشد، ۱۲۸ مرز معتبر آن هم هست. این روش باعث می‌شود فضای آدرس مرتب بماند و بخش آزاد انتهای Range یک‌جا باقی بماند. پراکنده کردن Subnetهای کوچک در نقاط مختلف مدیریت آینده را سخت‌تر می‌کند.

فرض کن شبکه والد 192.168.10.0/24 است. اولین /25 می‌تواند از .۰ شروع شود و تا .۱۲۷ را مصرف کند. Subnet بعدی /26 باید روی یکی از مرزهای ۶۴تایی شروع شود؛ اولین فضای آزاد مناسب .۱۲۸ است و تا .۱۹۱ ادامه دارد. بعد /27 می‌تواند از .۱۹۲ تا .۲۲۳ باشد، /28 از .۲۲۴ تا .۲۳۹ و /30 از .۲۴۰ تا .۲۴۳. این ترتیب هم مرزها را رعایت می‌کند و هم Overlap ایجاد نمی‌کند.

نمونه VLSM
192.168.10.0/25    Sales       Hosts .1-.126
192.168.10.128/26  Accounting  Hosts .129-.190
192.168.10.192/27  Cameras     Hosts .193-.222
192.168.10.224/28  Management  Hosts .225-.238
192.168.10.240/30  WAN         Hosts .241-.242

Overlap یعنی دو Subnet بخشی از یک فضای آدرس مشترک را ادعا کنند. Router نمی‌تواند چنین طراحی‌ای را به‌عنوان دو شبکه مستقل روی Interfaceهای متصل بپذیرد. برای جلوگیری از Overlap، بعد از هر تخصیص Broadcast همان Subnet را مشخص کن و Subnet بعدی را فقط از بعد از آن شروع کن.

Address Plan و فضای رشد

Address Plan فقط فهرست IPها نیست. یک طرح خوب مشخص می‌کند هر Subnet برای چه کاربردی است، Prefix آن چیست، Gateway پیشنهادی کدام آدرس است، چه محدوده‌ای برای DHCP در نظر گرفته شده و چه آدرس‌هایی برای تجهیزات ثابت رزرو می‌شوند.

نمونه جدول ساده
Purpose      Network             Gateway
Sales        192.168.10.0/25     192.168.10.1
Finance      192.168.10.128/26   192.168.10.129
IT           192.168.10.192/27   192.168.10.193

Gateway لازم نیست همیشه اولین Host باشد، ولی انتخاب یک الگوی ثابت باعث می‌شود پشتیبانی ساده‌تر شود. مهم‌تر از عدد دقیق، مستندسازی و رعایت یک الگوی قابل پیش‌بینی است. VLSM نباید فقط نیاز امروز را پوشش دهد. اگر واحدی ۲۸ دستگاه دارد، /27 فقط 30 Host معمولی می‌دهد و تقریباً پر است. شاید /26 انتخاب بهتری باشد چون برای رشد جا می‌گذارد. استفاده بهینه از آدرس به معنی فشرده کردن بیش از حد نیست. در طراحی واقعی باید بین مصرف آدرس، رشد آینده، سادگی عملیات و محدودیت‌های شبکه تعادل برقرار کنی. CCNA بیشتر روی محاسبه و Troubleshooting تمرکز دارد، اما همین دید طراحی کمک می‌کند محاسبات معنی واقعی پیدا کنند. بعد از تخصیص Subnetها، فضای آزاد را هم مثل یک بخش واقعی از Address Plan ثبت کن. اگر مشخص نباشد کدام Range آزاد است، نفر بعد ممکن است Subnet جدیدی روی محدوده‌ای بسازد که قبلاً رزرو شده ولی در جدول دیده نمی‌شود. مثلاً اگر تخصیص‌ها تا 192.168.10.239 رسیده‌اند و ۲۴۰ تا ۲۵۵ آزاد مانده، دقیق بنویس این Range آزاد است یا برای کاربرد آینده رزرو شده. «فعلاً استفاده نشده» با «آزاد برای هر استفاده» یک معنی ندارد.

Address Plan فقط جواب محاسبات نیست؛ باید برای آینده قابل استفاده باشد. اگر واحدی الان 25 Host دارد ولی برنامه رشد تا 45 Host وجود دارد، /27 که فقط 30 Host قابل استفاده می‌دهد انتخاب خوبی نیست. /26 فضای بیشتری می‌دهد و از تغییر Prefix و Renumbering در آینده جلوگیری می‌کند. البته نباید آن‌قدر فضای زیاد رزرو کنی که کل طرح بی‌استفاده بماند؛ بین رشد و مصرف منطقی تعادل لازم است. فضای باقی‌مانده را هم مستند کن. در مثال قبلی بعد از /30 هنوز بخشی از 192.168.10.244 تا .۲۵۵ آزاد است، اما این بازه یک بلوک دلخواه برای هر Prefix نیست؛ باید ببینی چه Subnetهای معتبری روی مرزهای موجود جا می‌گیرند. فضای آزاد را به شکل «Free Pool» با Prefixهای ممکن ثبت کن تا تخصیص بعدی بدون شکستن طرح انجام شود.

کنترل نهایی طراحی VLSM

برای هر بخش فقط تعداد دستگاه‌های امروز را ننویس. Gateway، Server یا تجهیزاتی که داخل همان Subnet IP می‌گیرند هم Host محسوب می‌شوند. اگر واحدی 28 PC و یک Printer و یک Gateway دارد، نیاز واقعی حداقل ۳۰ آدرس Host است. /27 دقیقاً 30 Host می‌دهد و هیچ فضای رشد باقی نمی‌گذارد. اگر چند دستگاه دیگر احتمالاً اضافه می‌شوند، /26 انتخاب منطقی‌تری است. VLSM قرار نیست آدرس‌ها را تا آخرین عدد فشرده کند؛ قرار است اندازه هر Subnet با نیاز واقعی هماهنگ باشد. بعد از طراحی، برای تک‌تک Subnetها Network، Prefix، Broadcast و ظرفیت Host را دوباره حساب کن. سپس مطمئن شو Network بعدی بعد از Broadcast قبلی شروع می‌شود و هیچ دو محدوده‌ای روی هم قرار نمی‌گیرند. در آزمون ممکن است فقط یک جدول به تو داده شود و لازم باشد خطای آن را پیدا کنی. در محیط واقعی هم Address Plan قدیمی ممکن است اشتباه داشته باشد. محاسبه دستی باید بتواند صحت مستند را تایید کند، نه اینکه مستند را بدون بررسی درست فرض کنی. VLSM فقط برای /24 نیست. اگر 10.10.0.0/16 در اختیار داشته باشی، می‌توانی یک /20 برای کاربران یک سایت، یک /23 برای Wireless، چند /26 برای Serverها و Subnetهای کوچک‌تر برای تجهیزات مدیریتی بسازی. اصل همان است: هر Subnet باید داخل فضای والد قرار بگیرد و با بقیه overlap نداشته باشد.

وقتی Prefix والد بزرگ‌تر است، بهتر است ساختار را سلسله‌مراتبی نگه داری؛ مثلاً برای هر ساختمان یا Site یک بلوک مشخص رزرو کنی و بعد داخل آن VLSM انجام بدهی. این کار مستندسازی و Route Summary را در شبکه‌های بزرگ‌تر ساده‌تر می‌کند. Route Summary در مرحله Routing توضیح داده می‌شود. کنترل نهایی VLSM چهار مرحله دارد: ظرفیت هر Subnet را با نیاز Host مقایسه کن، مرز Networkها را بررسی کن، Overlap را رد کن و مطمئن شو همه Subnetها داخل شبکه والد باقی مانده‌اند. بعد Gateway و Rangeهای Static/DHCP را روی همان طرح قرار بده. اگر فقط محاسبه Prefix درست باشد ولی DHCP Pool وارد Subnet بعدی شود، Address Plan هنوز قابل اجرا نیست. در یک شبکه بزرگ‌تر مثل /20 یا /16 هم منطق تغییر نمی‌کند. فقط Block Size ممکن است در Octet سوم یا حتی دوم قرار بگیرد. مهارت واقعی VLSM این است که بدون وابستگی به یک /24 خاص، بتوانی محدوده هر Prefix را پیدا کنی و فضای بعدی را درست ادامه بدهی.

سناریوی عملی

یک /24 برای سه بخش با نیازهای ۷۰، ۳۰ و 12 Host داریم. بخش 70 Host به /25 نیاز دارد. بخش 30 Host دقیقاً با /27 قابل پوشش است و بخش 12 Host با /28. اگر از 10.10.50.0/24 شروع کنیم، می‌توانیم 10.10.50.0/25، بعد 10.10.50.128/27 و بعد 10.10.50.160/28 را تخصیص بدهیم. بقیه فضا برای آینده آزاد می‌ماند.

اشتباهات رایج

اشتباه‌های رایج در VLSM

  • تخصیص را از Subnetهای کوچک شروع نکن
  • Network Address را روی مرز نامعتبر انتخاب نکن
  • برای ظرفیت دقیق امروز بدون فضای رشد تصمیم نگیر
  • محدوده‌های رزروشده را بدون مستندات رها نکن
تمرین عملی

تمرین طراحی VLSM

  1. 192.168.50.0/24 را برای نیازهای ۸۰، ۴۰، ۲۰ و 8 Host طراحی کن
  2. برای هر بخش Network، Broadcast و Host Range را بنویس
  3. باقی‌مانده فضای آزاد را مشخص کن
  4. یک جدول Address Plan با ستون Purpose، Network و Gateway بساز

نکته‌هایی که باید با خودت ببری

  • VLSM یعنی استفاده از Prefixهای متفاوت در یک طرح آدرس‌دهی
  • نیازها بهتر است از بزرگ‌ترین به کوچک‌ترین تخصیص داده شوند
  • هر Subnet باید روی Boundary معتبر خودش شروع شود
  • Address Plan باید هدف، Prefix و Gateway را مستند کند
  • بهینه بودن با نداشتن فضای رشد یکی نیست
خودسنجی

VLSM را طراحی کن

برای 50 Host کوچک‌ترین Prefix معمول مناسب چیست؟

/26، چون 62 Host قابل استفاده دارد.

چرا در VLSM از بزرگ‌ترین نیاز شروع می‌کنیم؟

تا فضای پیوسته لازم برای Subnetهای بزرگ از بین نرود.

آیا 192.168.1.100/26 می‌تواند Network Address معتبر باشد؟

نه. مرزهای /26 در Octet آخر ۰، ۶۴، ۱۲۸ و ۱۹۲ هستند.

منابع رسمی

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

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

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

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

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