عاطفه حسین زاده
متخصص شبکه های سیسکو

آموزش VLSM : چگونه Variable Length Subnet Masking انجام دهیم؟

دوستانی که آشنایی محدودی هم از دنیای شبکه داشته باشند حتما با مفاهیم Subnetting و Supernetting و VLSM تا حدودی آشنایی دارند. در این مقاله قصد دارم با استفاده از چند مثال ساده VLSM را برای دوستان عزیزم توضیح بدم امیدوارم که مورد توجه قرار بگیرد.VLSM در استاندارد RFC 1812 تعریف شده و اجازه استفاده از Subnet Maskهای با اندازه مختلف در خلال یک آدرس با کلاس استاندارد را به ما می دهد.به بیان ساده : استفاده بهینه از فضای آدرسی که در اختیارمان قرار داده شده است.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

فرض کنید که دو سگمنت را در شبکه ایجاد کرده ایم که یکی شامل 2 دستگاه بوده و دیگری یک شبکه LAN با دستگاههای زیاد می باشد. در اینصورت یک Subnet Mask مناسب برای یک ارتباط نظیر به نظیر یا Point-to-Point می تواند به صورت 255.255.255.252 باشد که تعداد 2 آدرس را برای دو دستگاه موجود در اختیار ما قرار می دهد.

همچنین یک Subnet Mask مناسب برای آن شبکه LAN می تواند به صورت 255.255.255.192 باشد که تعداد 62 آدرس را برای هر شبکه در اختیار ما قرار می دهد. به کار بردن 255.255.255.252 به علت تعداد آدرس کمی که ارائه میدهد برای یک شبکه LAN مناسب نبوده و به همین شکل بکار بردن 255.255.255.192 در یک ارتباط نظیر به نظیر، جایی که ما فقط نیاز به دو آدرس داریم، باعث هدر رفتن مقدار زیادی از آدرسها خواهد شد.

یک راه حل برای این مشکل این است که Subnet Mask را در حد وسط قرار دهیم و از هدر رفتن بیشتر آدرسها جلوگیری کنیم.اما این کار نیز دارای اشکال است زیرا که از طرف دیگر باعث کم شدن مقدار آدرسهای موجود برای شبکه LAN خواهد شد. VLSM راه حل مناسب تری را برای حل این مشکل ارائه می دهد. با استفاده از این خاصیت می توان MASKهای با اندازه مختلف را در شبکه ای که از یک آدرس IP با کلاس استاندارد استفاده می کند بکار برد.

خصوصیات VLSM

VLSM ما را قادر به بکارگیری MASKهای با اندازه مختلف برای یک کلاس استاندارد آدرس IP می نماید. پروتکل هایی که در زمره پروتکل های Classful قرار میگیرند یعنی پروتکل های RIP 1 و IGRP، از ایده VLSM پشتیبانی نمی کنند. برای همین هم برای استفاده از مزیت هایی که VLSM ارائه می دهد نیاز به بکارگیری پروتکل های Classless مانند BGP، EIGRP، IS-IS، OSPF، RIP 2 داریم.

مزیت های VLSM شامل دو مورد مهم زیر است :

  •  استفاده هر چه بهتر از فضای آدرسی که در اختیار ما قرار گرفته است.
  •  استفاده از خصوصیت Route Summarization

همانطوریکه مورد اول اشاره کرد، با استفاده از VLSM می توان از فضای آدرسی که در اختیار ما قرار داده می شود به بهترین شکل استفاده کرد. این شکل مثال ساده ای را قبل و بعد از VLSM نشان می دهد.

وب سایت توسینسو
وب سایت توسینسو

در این مثال یک روتر در داخل شبکه خودی وجود دارد (روتر A) که توسط اتصالات WAN به روترهای دیگر (B,C,D) در جاهای دیگر وصل شده است. در هر یک از این سایت ها حداکثر تعداد 50 عدد دستگاه وجود دارد و بنابراین subnet mask را برابر با /26 انتخاب نمودیم . در قسمت بالای شکل که از VLSM استفاده نشده است. فقط می توان یک MASK که برابر با 255.255.255.192 بوده و حداکثر 62 آدرس برای هریک از شبکه ها ارائه می دهد را در کل شبکه بکار برد. بخاطر تعداد شبکه ها یا Subnetهای مورد استفاده باید از دو آدرس در کلاس C استفاده نمائیم که در این صورت آدرسهای زیادی در شبکه WAN به هدر خواهند رفت.

در قسمت بعدی آدرس دهی شبکه را با استفاده از VLSM انجام داده ایم. در این مثال شبکه های دور (Remote) از 26 و شبکه خودی از 30 به عنوان ماسک استفاده می کنند و بدین صورت فقط یک آدرس در کلاس C برای آدرس دهی کل دستگاههای شبکه مورد نیاز خواهد بود و در نتیجه از به هدر رفتن آدرسهای زیادی در اتصالات WAN جلوگیری به عمل خواهد آمد.

برای آدرس دهی با روش VLSM مراحل زیر را به ترتیب باید طی نمود :

  • 1- آن شبکه یا سگمنتی را که دارای بیشترین تعداد دستگاه خواهد بود مشخص می کنیم.
  • 2- بهترین ماسک ممکن را برای بزرگترین شبکه تعیین می نماییم.
  • 3- سپس شروع به نوشتن شبکه های ایجادی به وسیله ماسک تعیین شده می کنیم.
  • 4- برای شبکه های که دارای تعداد دستگاه کمتری هستند، یکی از شبکه های ایجادی را تخصیص داده و متناسب با مقدار دستگاه موجود در آن شبکه، ماسک مناسب را تعیین می کنیم.
  • 5- دوباره اقدام به نوشتن شبکه های ایجادی با استفاده از ماسک نعیین شده جدید می کنیم.
  • 6- برای هر یک از شبکه های کوچکتر بعدی، مراحل 4 به بعد را تکرار می نمائیم.

عملیات انجام گرفته، در واقع تقسیم کردن شبکه ای که خود تقسیم شده است، به شبکه های کوچکتر و در صورت لزوم تقسیم بندی مجدد آنها می باشد و بدین صورت است که از فضای آدرسی که در اختیار ما گذاشته شده است می توان به مناسبترین حالت بهره لازم را برد.برای مثال فرض کنید که آدرسی در کلاس C و به صورت 192.168.1.0 تحویل گرفته ایم و سه شبکه LAN که به ترتیب دارای تعداد 120 دستگاه، 60 دستگاه و 30 عدد دستگاه هستند نیز در اختیار داریم. بر طبق مراحل گفته شده (1 و 2) بزرگترین شبکه ما دارای 120 عدد دستگاه بوده که با توجه به آدرس داده شده، ماسک مناسب به صورت 192.168.1.0/25 خواهد بود که 128 عدد آدرس را ارئه می دهد. در مرحله 3 شروع به نوشتن شبکه های ایجادی با استفاده از ماسک جدید می کنیم :

192.168.1.128/25 - 192.168.1.0/25

فرض کنید که آدرس 192.168.1.025 را به این شبکه که دارای 128 عدد دستگاه است تخصیص داده ایم. حالا ما دارای دو شبکه باقیمانده هستیم که یکی دارای 60 عدد و دیگری دارای 30 عدد دستگاه می باشد. در مرحله بعدی دوباره اقدام به انتخاب بزرگترین شبکه موجود خواهیم کرد.

بنابراین شبکه ای که دراری 60 دستگاه می باشد را برگزیده و سپس مراحل 4 به بعد را بار دیگر در مورد این شبکه نیز تکرار می کنیم. فکر می کنید کدام ماسک بهترین انتخاب برای شبکه ای با 60 عدد دستگاه باشد ؟ اگر حدس شما 26 می باشد، بهترین گزینه را انتخاب نموده اید که در این صورت تعداد 62 آدرس در اختیار خواهید داشت. سپس شبکه های ایجادی را با استفاده از ماسک جدید دوباره می نویسیم :

192.168.1.128/26 – 192.168.1.192/26

در این شرایط نیز ما 192.168.1.12826 را به این شبکه که دارای 60 دستگاه می باشد تخصیص داده و سراغ شبکه ای که دارای 30 دستاه می باشد می رویم. همانطوریکه می بینید ما دارای یک فضای آدرس دهی اضافی با 62 آدرس هستیم که می توان آن را به شبکه دارای 30 دستگاه تخصیص داد.

اما باز هم می توان از به هدر رفتن آدرس های بیشتر در این مرحله نیز جلوگیری به عمل آورد. بنابراین به مرحله 4 رفته و بار دیگر ماسک مناسب برای 30 عدد دستگاه را به صورت 27 خواهد بود تعیین می کنیم. اگر شبکه های ایجادی جدید را به وسیله این ماسک جدید بنویسیم، دو شبکه جدید خواهیم داشت :

192.168.1.192/27 – 192.168.1.224/27

اگر مورد اولی را به شبکه مزبور اختصاص دهیم، باز هم مورد دوم باقی می ماند که می توان برای رشد بیشتر شرکت در آینده از آن استفاده نمود.همانطوریکه مشاهده کردید به وسیله استفاده از VLSM می توانید بهترین شرایط را در هنگام بکارگیری آدرسهای IP خلق نمائید.توصیه می گردد که در هر شبکه، تعدادی آدرس را نیز برای دستگاههای دیگری که ممکن است در آینده در آن شبکه تعبیه شوند به صورت رزرو شده نگه دارید.

برای نمونه در مثالی که زده شد، به وسیله بکار بردن ماسک /27 دو شبکه جدید که هرکدام 30 عدد آدرس را ارائه می دهند در اختیار خواهیم داشت. اگر در آینده بخواهید چند دستگاه را در این شبکه اضافه نمایید، باید به عقب برگشته و سیستم آدرس دهی خود را در کل شبکه تغییر دهیم تا بتوان فضای بیشتری را برای ورود دستگاههای جدید تعبیه نمود که کاری ناشیانه و در عین حال وقت گیر می باشد.

  • مثال اول : بعد از اینکه شما یک نگرش کلی در مورد VLSM پیدا کردید، نوبت به طرح مثال هایی پیچیده تر در این زمینه می رسد.شبکه ی زیر را در نظر بگیرید. در این مثال آدرس 192.168.2.0/24 در اختیار ما قرار داده شده است که حداکثر تعداد 30 دستگاه در شبکه های دور از سایت مرکزی (Remote) قرار خواهند گرفت. همچنین اتصالات بین سایت اصلی و سایت های دیگر یا Remote از نوع point-to-point می باشد.
وب سایت توسینسو

اولین مرحله ای که انجام خواهد گرفت، انتخاب بزرگترین شبکه موجود در کل شبکه می باشد که همان سایت های Remote بوده که دارای 30 عدد دستگاه خواهند بود. بنابراین ماسکی که بتواند تعداد 30 عدد دستگاه را آدرس دهی نماید به صورت /27 یا 255.255.255.224 خواهد بود. شبکه هایی که به وسیله این ماسک بوجود خواهند آمد به صورت زیر هستند :

192.168.2.0/27 – 192.168.2.32/27 – 192.168.2.64/27 – 192.168.2.96/27 – 192.168.2.128/27 – 192.168.2.160/27 –  
 192.168.2.192/27 - 192.168.2.224/27

همانطوریکه مشاهده فرمودید با استفاده از ماسک 27 توانستیم تعداد 8 عدد شبکه ایجاد نماییم که 7 عدد را به سایتهای remote تخصیص خواهیم داد. اما یک شبکه اضافی را نیز در اختیار داریم که می توان از آن در آدرس دهی 7 عدد اتصال نظیر به نظیر موجود بین سایت مرکزی و سایتهای پیرامون استفاده نماییم.

بنابراین 7 آدرس لولی را برای آدرس دهی 7 سایت پیرامونی و آخری را (192.168.2.22427) برای آدرس دهی اتصالات point-to-point استفاده می کنیم. برای پوشش دادن به 2 آدرس مورد نیاز برای هریک از شبکه های point-to-point به ماسک /30 داریم. در اینصورت شبکه های ایجادی ما به شکل زیر خواهد بود :

192.168.2.224/30 – 192.168.2.228/30 – 192.168.2.232/30 – 192.168.2.236/30  
192.168.2.240/30 – 192.168.2.244/30 – 192.168.2.248/30 – 192.168.2.252/30

با استفاده از ماسک /30 در مجموع تعداد 8 عدد شبکه را ایجاد کرده ایم که 7 عدد از آنها را برای آدرس دهی 7 اتصال نظیر به نظیر موچود مورد استفاده قرار خواهیم داد که یک شبکه نیز اضافی باقی خواهد ماند.شکل زیر آدرس دهی نهایی شبکه را نشان می دهد :

وب سایت توسینسو

مثال دوم :

برای درک بهتر مسئله به مثال دوم و شکل زیر توجه کنید :آدرسی در کلاس C و با شماره 192.168.3.0 در اختیار داریم که شرایط مورد نیاز شبکه در روی شکل نشان داده شده اند. همچنین ما باید از VLSM برای آدرس دهی شبکه استفاده نماییم.بزرگترین شبکه موجود در این مثال شبکه ای است که با نام Backbone مشخص شده و دارای 126 عدد دستگاه خواهد بود. بنابراین نیاز به ماسکی داریم که بتواند 126 عدد دستگاه را آدرس دهی نماید که ماسک /25 مناسب خواهد بود. با استفاده از این ماسک می توان دو زیر شبکه ایجاد نمود :

192.168.3.0/25
192.168.3.1/25

اولی را برای آدرس دهی این شبکه که دارای 126 عدد دستگاه است مورد استفاده قرار داده و دومی را برای ادامه کار در نظر می گیریم.

دومین شبکه بزرگی که وجود دارد 3 شبکه LAN هستند که هر کدام دارای 30 عدد دستگاه خواهند بود. ماسکی که بتواند 30 عدد آدرس در اختیار ما قرار دهد به صورت 27 می باشد. بنابراین 192.168.3.12825 را که برای اینکار در نظر گرفته بودیم به وسیله ماسک جدید دوباره به شبکه های کوچکتر تقسیم می کنیم :

192.168.3.128/27 – 192.168.3.160/27 – 192.1683.192/27 – 192.168.3.224/27 

اکنون دارای 4 عدد شبکه هستیم که هرکدام 30 عدد آدرس را در اختیار ما قرار می دهند. اما ما فقط به 3 عدد از این شبکه ها احتیاج داریم. بنابراین 3 مورد اولی را برای آدرس دهی آنها در نظر گرفته و مورد چهارمی یا 192.168.3.224/27 را برای دنباله کار رزرو می کنیم.تا به اینجا بیشتر کار انجام شده است و تنها چیزی که باقی مانده، آدرس دهی نظیر به نظیر بین روترهاست. هر یک از این اتصالات دارای 6 دستگاه می باشد. ماسکی که بتواند این تعداد دستگاه را آدرس دهی نماید به صورت /29 خواهد بود.سرانجام شبکه های زیر را با استفاده از این ماسک خواهیم داشت :

192.168.3.224/29 – 192.168.3.232/29 – 192.1683.240/29 – 192.168.3.248/29

ما فقط به 3 عدد از شبکه های فوق احتیاج داریم. بنابراین باز هم یک شبکه اضافی (192.168.3.248/29) باقی می ماند که می توان در آینده از آن استفاده نمود.شکل نهایی شبکه مذکور به صورت زیر است :

وب سایت توسینسو


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


عاطفه حسین زاده
عاطفه حسین زاده

متخصص شبکه های سیسکو

سابقه فعالیت در حوزه های مایکروسافت و سیسکو و مجازی سازی رو دارم اما عمده فعالیت و علاقم حوزه لینوکس و متن بازه و در حال حاضر تصمیم به تمرکز در این حوزه دارم.

نظرات