برای یاد گرفتن VLSM دانستن عمل Subnetting مهم است ، مخفف واژه Variable Length Subnet Masks است ، فرض کنید شما یک شبکه و ۴۰۰۰ Ip Address دارید ، چنانچه شما تها ۲۰۰ هاست داشته باشد ، این همه ip ادرس به هدر خواهد رفت و نزدیک به ۳۸۰۰ ادرس باقی خواهد ماند در حالی که می توان با همین مقدار یک شبکه بزرگ را راه اندازی کرد !!! VLSM با عملیات Subnetting باعث می شود تا ip addressشبکه شما به چندین زیر شبکه تقیسم شده و هر زیر شبکه نیز به شبکه های کوچکتر تا استفاده مفید تری از ip address ها ببرید . در واقع در VLSM ما یک ادرس شبکه معروف به Major Network را دارای یک Subnetmask هست را به چندین subnetmask مجزا تقسیم بندی می کنیم ، به مثال زیر دقت کنید :

یک ادرس به صورت ۱۹۲٫۱۶۸٫۱٫۱۲۸/۲۶ این ادرس یک ادرس کلاس C هست که ۱۹۲٫۱۶۸٫۱٫۰ در سابنت /۲۴ اما به صورت /۲۶ و با subnetmask 255.255.255.192 درامده است . ۱۹۲ درواقع یک interesting octeds هست ، و یک network increament را به صورت ۲۵۶-۱۹۲=۶۴ یعنی ۶۴ ادرس برای subnet ایجاد می کند ( ۶۲ برای هاست ها استفاده می شود ) به بیان دیگر می توان گفت که interesting octed از فرمول ۱۱۰۰۰۰۰۰ به صورت ۲ به توان N منهای ۲ = ۶۲ بدست می اید ( n = تعداد ۰ یا هاست ) بنابراین داریم :
Here is the address range inside 192.168.1.128/26…
۱۹۲٫۱۶۸٫۱٫۱۲۸ (network address)
۱۹۲٫۱۶۸٫۱٫۱۲۹ (first usable host address)
۱۹۲٫۱۶۸٫۱٫۱۳۰
.
.
۱۹۲٫۱۶۸٫۱٫۱۹۰ (last usable host address)
۱۹۲٫۱۶۸٫۱٫۱۹۱ (broadcast address)
———————————————
۱۹۲٫۱۶۸٫۱٫۱۹۲ (next network address)
ما با VLSM می توانیم یک سابنت را به چند ساینت تبدیل کنیم . برای مثال فرض کنید ما یک شبکه داریم که با ادرس ۱۹۲٫۱۶۸٫۱٫۱۲۸ کارمی کند و سابنت ماسک ان ۲۵۵٫۲۵۵٫۲۵۵٫۱۹۲ است برای این شبکه ما به ۱۲ هاست دیگرنیاز داریم ، ما باید یک subnetmask بزرگ را انتخاب کنیم ، ما از \۲۸ استفاده می کنیم ، و با subnetmask 255.255.255.240 یعنی یک interesting octed 240 را داریم ، یا ۱۱۱۱۰۰۰۰ ، این به معنی این است که ما ۲ بیت subnet را اضافه و ۴ بیت هاست داریم . یعنی m=2 و n=4 یک subnetmask جدید را ایجاد می کنند :
network address = 11000000.10101000.00000001.10000000 = 192.168.1.128
old subnet mask = 11111111.11111111.11111111.11000000 = 255.255.255.192

new subnet mask = 11111111.11111111.11111111.11110000 = 255.255.255.240
ما حالا ۱۴ هاست برای سابنت داریم یعنی ۲ به توان ۴ منهای ۲ = ۱۴ ، VLSM نیاز ما به سابنت های ZERO و Broadcast را نیز حل کرده است . ما در مثال بالا ۱۶ increment را با ۴ سابنت به شکل زیر ایجاد کردیم :

Subnet 0 = 192.168.1.128 ( (zero subnet
Subnet 1 = 192.168.1.144
Subnet 2 = 192.168.1.160
Subnet 3 = 192.168.1.176 ( (broadcast subnet)
———————————–
next subnet = 192.168.1.192

ما همچنین می توانیم از روشی به نام AND یا همان روش باینری برای تبدیل ادرس سابنت ماسک استفاده کنیم ، به مثال زیر دقت کنید :
۱۹۲٫۱۶۸٫۱٫۱۲۸ یک ادرس در رنج /۲۶ داریم و می خواهیم یک سابنت ماسک جدید در رنج \۲۸ ایجاد کنیم چه اتفاقی خواهد افتاد ؟!
۱۹۲٫۱۶۸٫۱٫۱۲۸\۲۶ می شود ۱۱۰۰۰۰۰۰٫۱۰۱۰۱۰۰۰٫۰۰۰۰۰۰۱٫۱XXXXXXX
\۲۸ به ما می دهد ۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۱۱۱۱۱۱۱۱٫۱۱۱۱۰۰۰۰
۲ بیت به صورت ۱ در \۲۸ به ادرس قبلی ما افزوده شد اگر ما جای ۱ ها ۰ و یک جابه جایی را در ۲ بیت اضافه شده انجام دهیم اعداد به صورت زیر در خواهد امد :
۱۰۰۰۰۰۰۰ = ۱۲۸ (zero subnet)
۱۰۰۱۰۰۰۰ = ۱۴۴
۱۰۱۰۰۰۰۰ = ۱۶۰
۱۰۱۱۰۰۰۰ = ۱۷۶ (broadcast subnet)
———————
۱۱۰۰۰۰۰۰ = ۱۹۲ ← next subnet