شبکه محلی مجازی و زیرشبکه در شبکههای کامپیوتری چه تفاوتهایی دارند؟
چند دهه قبل، شبکههای کامپیوتری معماری سادهای داشتند. بهطوری که، بیشتر شرکتها به شبکهای با یک دامنه پخشی واحد (VLAN) و یک شبکه بزرگ لایه 3 نیاز داشتند. با گذشت زمان و بزرگتر شدن شبکهها، این معماری دیگر قابل استفاده نبود و بهدلیل ماهیت تکپخشی که داشت با مشکلات زیادی روبهرو شد. به همین دلیل، فناوریهای کاربردی مثل شبکههای محلی مجازی (VLANها) و زیرشبکهها (Subnets) که از مهمترین مولفههای شبکههای TCP/IP هستند، پدید آمدند. امروزه، این فناوریها بهطور گستردهای برای تقسیمبندی شبکههای بزرگ، مدیریتپذیرتر و کارآمدتر کردن آنها استفاده میشوند. با اینحال، هنوز هم برخی از دستاندرکاران شبکه و فناوری اطلاعات بهدرستی تفاوت این دو مفهوم را نمیدانند.
نگاهی اجمالی به VLAN و Subnet
شبکههای محلی مجازی در لایه 2 مدل OSI کار میکنند و برای جداسازی ترافیک شبکه محلی از حوزههای پخشی مختلف استفاده میکنند. میزبانها در یک شبکه محلی مجازی میتوانند بدون مشکل با یکدیگر ارتباط برقرار کنند، اما میزبانها در شبکههای محلی مجازی مختلف نمیتوانند بهطور پیشفرض با هم ارتباط برقرار کنند، مگر اینکه لایه 3 مسیریابی بین آنها تعریف شده باشد. یک زیرشبکه (Subnet) در لایه 3 مدل OSI کار میکند و برای ساخت یک شبکه لایه 3 کوچک بر مبنای آدرس آیپی یک شبکه بزرگتر مورد استفاده قرار میگیرد. اجازه دهید تفاوتهای VLAN و Subnets را با جزئیات بیشتری بررسی کنیم. نمودار یک شبکه ساده را در شکل 1 مشاهده میکنید.
شکل 1
در شکل 1، شبکهای را مشاهده میکنید که دو شبکه محلی مجازی (10 و 20) و دو زیرشبکه با آدرسهای (192.168.10.0/24 و 192.168.20.0/24) دارد. اگرچه میزبانهای متعلق به دو شبکه محلی مجازی به یک سوئیچ متصل هستند، اما نمیتوانند از طریق سوئیچ که میان آنها است با یکدیگر ارتباط برقرار کنند.
اگر میزبانهای موجود در شبکه محلی مجازی VLAN 10 بخواهند با میزبانهای VLAN 20 ارتباط برقرار کنند، ترافیک میزبانها در VLAN 10 باید به رابط روتری که آدرس آیپی 192.168.10.1 دارد، ارسال شود تا بستهها را به رابط دوم خود (192.168.20.1) هدایت کند تا در نهایت به VLAN 20 برسد.
VLAN چیست؟
شبکههای محلی مجازی (VLANها) روشی برای جداسازی ترافیک اترنت هستند که از طریق شبکه محلی در لایه 2 یا لایه پیوند داده مدل OSI در جریان است. بدون VLAN، هر بستهای که از طریق شبکه انتقال پیدا میکند، برای همه دستگاههای تحت شبکه قابل دریافت است و دستگاهها میتوانند با یکدیگر ارتباط برقرار کنند. از منظر امنیتی، چنین حالتی ایدهآل نیست، زیرا در یک محیط شرکتی قرار نیست کاربران مستقر در واحد بایگانی به اطلاعات بخش مالی دسترسی داشته باشند یا در محیط دانشگاهی، دانشجویان به اطلاعات واحد فناوری اطلاعات دسترسی داشته باشند. برای حل این مشکل، باید از تکنیک جداسازی ترافیک با تعریف و پیادهسازی VLAN روی رابطهای سوئیچ که دستگاههای نقطه پایانی به آن متصل هستند، استفاده کرد. هنگامی که ترافیک از این دستگاههای نقطه پایانی برای سوئیچ ارسال میشود، بستهها با یک شماره شناسه VLAN توسط سوئیچ برچسبگذاری میشوند. این برچسبگذاری 802.1Q Vlan نامیده میشود. هنگامی که یک بسته به یک سوئیچ پورت (درگاه دسترسی در دستگاههای سیسکو) میرسد، سوئیچ یک تگ 802.1Q (شناسه VLAN) به فریم اترنت اختصاص میدهد. اکنون سوئیچ این فریم را تنها به پورتهای دیگری که متعلق به همان VLAN هستند، ارسال میکند. اگر برچسب با Vlan اختصاصدادهشده به آن رابط مطابقت داشته باشد، بسته مجاز است و اگر مطابقت نداشته باشد، بسته حذف میشود. این فرآیند درست مشابه خطوط یک بزرگراه است. این خطوط مجزا نشاندهنده Vlanهای مختلف هستند.
یک مثال کاربردی دیگر در این زمینه، ساختمانی با 4 در به رنگهای قرمز، سبز، زرد و آبی است که منتهی به 4 اتاق مختلف هستند. از یک گروه 40 نفره به 10 نفر مجوز عبور از در قرمز، به 10 نفر مجوز عبور از سبز، به 10 نفر مجوز عبور از در زرد و به 10 نفر مجوز عبور از در آبی داده میشود. اگر شخصی که مجوز قرمز دارد، سعی کند از در آبی وارد شود، دستگاه کارتخوان پیغام خطایی صادر میکند، بنابراین مثل افرادی که مجوز باز کردن در آبی را دارند، قادر به باز کردن در و ورود به اتاق نیست. در این حالت، تنها قادر به ورود به اتاقی است که رنگ در آن قرمز است.
کاری که فرآیند برچسبگذاری Vlan انجام میدهد، درست بر مبنای همین قاعده است. اکنون به پرسش مهمی میرسیم: اگر یک رابط برچسبگذاریشده Vlan بستهای دریافت کند که تگ Vlan ندارد، چه اتفاقی میافتد؟ بهطور پیشفرض، این بسته حذف میشود، بنابراین اینجا است که از تکنیکی که «شبکه محلی مجازی بومی» (Native Vlan) نام دارد، استفاده میکنیم. Native Vlan مسئولیت رسیدگی به تمام بستههای بدون برچسب را دارد و بهطور پیشفرض در سوئیچهای سیسکو بهصورت Vlan 1 مشخص است.
کارشناسان حرفهای برای پیشگیری از بروز مشکلات احتمالی در ارتباط با شماره پیشفرض شبکههای محلی مجازی، اغلب این شماره را تغییر میدهند. در یک رابط ترانک، تمام ترافیک برچسبگذاریشده شبکه محلی مجازی تنها برای یک لینک یا شبکههای محلی مجازی خاصی مجاز است. همچنین، ترافیک شبکه که فاقد برچسبگذاری است، ابتدا برچسب Native Vlan دریافت میکند و سپس از طریق ترانک عبور داده میشود. بر همین اساس، مهم است که دو طرف مکانیزم ارتباطی شبکه محلی مجازی بومی، ترانک یکسانی داشته باشند، زیرا اگر از شبکه محلی مجازی بومی متفاوتی استفاده کنند، سوئیچ ترافیک بدون برچسب را بهدلیل عدم وجود تطابق رها میکند.
Subnet چیست؟
زیرشبکه، اشاره به یک شبکه آیپی کوچک لایه 3 دارد که پس از تقسیم یک شبکه بزرگ به بخشهای کوچکتر در محدوده آدرس آیپی شبکه بزرگتر ایجاد میشوند. یک آدرس آیپی کلاس A با ماسک زیرشبکه (Subnet Mask) 255.0.0.0 اجازه میدهد 127 شبکه با 16777216 آدرس میزبان آیپی در هر شبکه تعریف کرد. در چنین شرایطی آدرسهای آیپی زیادی حتا در شبکههای بزرگ از دست میروند. برای حل این مشکل، فناوریای که زیرشبکه (Subnet) نام دارد، توسعه پیدا کرد.
آدرس آیپی کلاس A را میتوان به بخشهای کوچکتری تقسیم کرد. این بخشهای کوچکتر در اصل شبکههایی هستند که در همان محدوده آدرس آیپی اصلی تعریف شده و قابل استفاده هستند. برای ساخت این شبکههای کوچکتر، ماسک زیرشبکه از یک /8 یا 255.0.0.0 به ماسک دیگری تغییر میکند که آدرسهای آیپی قابل استفاده کمتری را ارائه میدهد. آدرس آیپی 10.0.0.1 با ماسک 255.255.255.0 یا /24 اجازه میدهد حدود 2 میلیون زیرشبکه را تعریف کرد، اما فقط 254 آدرس آیپی قابل استفاده در هر زیرشبکه در دسترس خواهد بود. این حرف بدان معنا است که با تقسیم یک محدوده آدرس آیپی بزرگ به زیرشبکههای کوچکتر، مدیریت بهشکل دقیقتری انجام میشود و از فضای آدرس آیپی بهشکل بهینهتری استفاده خواهد شد.
در شبکههای مبتنی بر سوئیچ، هر زیرشبکه با VLAN مخصوص به خود مرتبط است. درست به همان صورتی که در نمودار شبکه یک مشاهده کردید. به همین دلیل یک نگاشت مستقیم میان VLAN و Subnet وجود دارد. در سازمانهای بزرگ، مدیران شبکه، شبکههای محلی خود را به چند شبکه محلی مجازی جدا از هم تقسیم میکنند که هر کدام زیرشبکه لایه 3 خود را دارند.
اگر بخواهیم قیاسی در این زمینه ارائه کنیم باید بگوییم که زیرشبکه لایه 3 شبیه به اتاق یک سازمان است. افراد در یک اتاق میتوانند آزادانه ارتباط برقرار کنند. با این حال، اگر بخواهید به اتاق دیگری (زیرشبکه) بروید، باید از یک در (دروازه روتر) عبور کنید که شما را به بخشهای دیگر هدایت میکند.
مقایسه Vlan و Subnet
زیرشبکهها برای جداسازی دقیقتر ترافیک شبکه استفاده میشوند، اما تفاوت اصلی بین VLAN و Subnet این است که VLANها از مکانیزم لایه 2 برای جداسازی ترافیک اترنت استفاده میکنند که این فرآیند در زیرساخت سوئیچینگ انجام میشود، در حالی که Subnetها از مکانیزم لایه 3 برای جداسازی ترافیک استفاده میکنند که فرآیند فوق در زیرساخت مسیریابی انجام میشود.
در دنیای واقعی، VLAN و Subnets با هدف بهبود امنیت در زیرساخت استفاده میشوند تا یک دفاع یکپارچه در برابر تهدیدات امنیتی ارائه کنند، زیرا هر دو روش قادر به تفکیک ترافیک شبکه داخلی هستند. VLANها اگرچه توانایی جداسازی ترافیک را دارند، اما ارتباط میان آنها تنها از طریق مسیریابی لایه 3 وجود دارد.
با اینحال، شرایطی وجود دارد که ممکن است بخواهید Vlanهای مختلف با یکدیگر ارتباط برقرار کنند. بهعنوان مثال، فایلسروری متصل به یک سوئیچ دارید که بهگونهای پیکربندی شده که در Vlan 10 قرار دارد و یک کامپیوتر شخصی که به همان سوئیچ متصل است، اما در Vlan 20 پیکربندی شده، باید توانایی برقراری ارتباط با فایل سرور را داشته باشد. در این حالت، دو مولفه فوق در لایه 2 قادر به برقراری ارتباط با یکدیگر نیستند، زیرا در Vlanهای متفاوت قرار دارند.
برای اینکه یک دستگاه تحت شبکه مثل یک کامپیوتر دسکتاپی بتواند با سرور ارتباط برقرار کند، یک روتر لایه 3 باید فرآیند مسیریابی Inter-VLAN را انجام دهد. درست به همان حالتی که در شکل 1 نشان داده شده است. راه دیگر مسیریابی Inter-VLAN، استفاده از رابط مجازی سوییچ SVI مخفف Switch Virtual Interface در سوئیچ لایه 3 است.
در این حالت، رابط مجازی سوئیچ باید روی یک سوئیچ لایه 3 برای هر VLAN ایجاد شود. بهطور کلی، SVI یک رابط شبکه مجازی است که بهعنوان دروازه پیشفرض برای همه میزبانها در یک شبکه محلی مجازی عمل میکند. در مثال پاراگراف قبل، هنگامی که رابط فوق تعریف شود، فایل سرور مستقر در Vlan 10 میتواند با کامپیوتر مستقر در Vlan 20 و بالعکس ارتباط برقرار کند. برای انجام اینکار رابط فوق در سوئیچهای سیسکو باید بهشرح زیر پیکربندی شود:
Enable
Configure terminal
Vlan 10
Name Servers
Vlan 20
Name User_PC
interface Vlan10
Description Servers
ip address 10.0.1.1 255.255.255.0
interface Vlan20
Description User PC’s
ip address 10.0.2.2 255.255.255.0
پس از ساخت و پیکربندی رابط مجازی سوئیچ، همه دستگاههای Vlan 10 و Vlan 20 میتوانند با یکدیگر ارتباط برقرار کنند. اگر در نظر دارید، تنها دستگاههای خاصی در Vlan 10 با دستگاههای Vlan 20 ارتباط برقرار کنند، باید یک فهرست کنترل دسترسی (ACL) برای رابط مجازی سوئیچ تعریف کنید تا دستگاههایی را که مجاز به برقراری ارتباط هستند تعریف کنید.
آیا دو شبکه محلی مجازی میتوانند زیرشبکه یکسانی داشته باشند؟
برخی از کارشناسان تازهوارد به دنیای شبکه این پرسش را مطرح میکنند که آیا میتوانیم دو شبکه محلی مجازی مختلف (مثل VLAN 10 و VLAN 20) روی یک سوئیچ داشته باشیم و به هر شبکه محلی مجازی یک زیرشبکه مثل 192.168.1.0/24 اختصاص دهیم؟ بهلحاظ تئوری، اینکار امکانپذیر است، اما در عمل میزبانهای متصل به دو شبکه محلی مجازی قادر به برقراری ارتباط نخواهند بود، حتا اگر در یک محدوده زیرشبکه قرار داشته باشند. چرا؟ به دلیل اینکه، دو شبکه محلی مجازی دو دامنه پخشی جداگانه ایجاد میکنند و بنابراین ترافیک لایه 2 در هر شبکه محلی مجازی در همان شبکه قرار خواهد داشت و نمیتواند به شبکه محلی دیگری برسد. از اینرو، میزبانها نمیتوانند بین دو دامنه پخشی ارتباط برقرار کنند. پیادهسازی اصولی به این صورت است که زیرشبکههای لایه 3 مختلفی تعریف کنیم که متعلق به شبکههای محلی مجازی مختلف لایه 2 باشند و سپس یک موتور مسیریابی لایه 3 تعریف کنیم تا ارتباط بین دو VLAN/Subnet را فراهم کنیم.
شبکه محلی مجازی و امنیت زیرشبکه
اجازه دهید بهطور خلاصه شبکههای محلی مجازی و زیرشبکهها را از دید امنیتی بررسی کنیم. هر دو مفهوم برای جداسازی و کنترل ترافیک بین میزبانها و جداسازی شبکههای محلی استفاده میشوند و به همین دلیل نقش مهمی در برقراری و تامین امنیت شبکه دارند.
مکانیزم ایزولهسازی که شبکه محلی مجازی ارائه میکند، بهلحاظ امنیتی کارآمدتر و قدرتمندتر از ایزولهسازیای است که زیرشبکه ارائه میکند. اگر میزبانها را به شبکههای محلی مجازی مختلف تفکیک کنید، اطمینان خواهید داشت که میزبانهای موجود در این شبکههای محلی مجازی نمیتوانند با یکدیگر ارتباط برقرار کنند.
بهعنوان مثال، فرض کنید کامپیوترهای بخش مالی در VLAN 10 و کامپیوترهای بخش مهندسی در VLAN 20 قرار دارند. در این سناریو، کامپیوترها در دو سگمنت کاملا ایزوله قرار دارند و شما اطمینان خواهید داشت که آنها قادر به برقراری ارتباط نخواهند بود، مگر اینکه ترافیک میان آنها ابتدا از یک دستگاه لایه 3 عبور کند.
اگر بهدنبال برقراری یک ارتباط ایمن هستید، کافی است از تکنیک زیرشبکهسازی همراه با یک دیوارآتش لایه ۳ یا ۴ برای کنترل مسیریابی میان زیرشبکههای لایه 3 استفاده کنید. تقریبا تمامی شرکتهای بزرگ بر مبنای چنین مکانیزمی شبکههای خود را پیادهسازی میکنند.
در این حالت، ترافیک زیرشبکههای مختلف را میتوان توسط دیوارآتش کنترل کرد تا فقط بستههای ضروری بین زیرشبکهها مبادله شود و هرگونه بستهای که مغایر با خطمشیهای امنیتی دیوارآتش است، رها شود. اینکار میتواند در لایه 3 یا لایه 4 انجام شود. اگر ترافیک بین زیرشبکهها فقط از طریق یک روتر معمولی عبور کنند، آنگاه مکانیزم کنترلی قدرتمندی مثل دیوارآتش در اختیار نخواهید داشت که اجازه دهد نظارت دقیقی بر ورود و خروج بستهها اعمال کنید.
در مجموع باید بگوییم، بهترین روش امنیتی برای محافظت از شبکهها، جداسازی در هر دو سطح VLAN و Subnet است. هر زیرشبکه به VLAN فیزیکی خودش اختصاص پیدا میکند و یک دیوارآتش مثل دیوارهای آتش نسل بعدی (NGFW) کنترل ترافیک بین VLAN/ Subnetها را زیر نظر خواهد داشت.