VLAN

آشنایی با مفهوم VLAN

VLAN یا همان Virtual LAN یا به تعبیر فارسی “شبکه های مجازی” قابلیتی است که در روتر سودار این امکان را فراهم میکند که بتوان چندین کامپیوتر را که بصورت فیزیکی به یک روتر متصل است را بصورت منطقی از هم جدا کرد و در گروههای خاص و مدنظر قرار داد.به این ترتیب هر گروه (VLAN) تبدیل به یگ گروه Broadcast جدا میشود که ترافیک آن از سایر گروه ها مجزا میشود.یکی از بارزترین مزایای استفاده از VLAN جدانمودن ترافیک بخش های مختلف از یکدیگر است.


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

چنانچه در VALN ای که کامپیوترهای واحد مالی در آن قرار دارند عمل Broadcast صورت بگیرد این Broadcast فقط در بین کامپیوترهای مالی صورت گرفته و بقیه کامپیوترها از جمله کامپیوترهای بازرگانی ترافیک Broadcast مربوطه را دریافت نخواهند کرد.



فرض کنید همه کامپیوترهای شبکه اعم از دپارتمان های مختلف یک سازمان در یک VLAN باشند (حالت پیکربندی پیش فرض) ، در این حالت اگر Broadcast ای صورت بگیرد همه کامپیوترهای سازمان این Broadcast را دریافت خواهند کرد و در نهایت مجبور به پردازش بسته های دریافتی می باشند مهمترین مشکل این حالت از ترافیک شبکه این است که باعث افزایش ترافیک در شبکه شده و از کارایی شبکه می کاهد.

پیکربندی VLAN

حال یک شبکه را برای نمونه vlan بندی می کنیم . در شکل زیر فرض کنید قصد داریم شبکه دوربین ها و ip Phone ها را با استفاده از vlan از یکدیگر جدا کنیم :

vlan شماره 100 را به IP Phone ها و vlan شماره 200 را به شبکه دوربین ها اختصاص می دهیم :

Vlan3

به صورت کلی در سناریوهای vlan اینترفیس ها در یکی از این سه حالت قرار دارند :

  • اینترفیس در حالت trunk قرار دارد و در واقع یک sub interface است . به عبارت درست تر همه sub interface ها در یک bridge قرار گرفته و یک trunk را تشکیل می دهند.

  • اینترفیس در حالت access قرار دارد و بسته ها بدون tag از سمت access وارد اینترفیس می شوند ودر اینترفیس باید با دستور rewrite tag push به بسته ها tag زده شود.

  • بسته ها به صورت tag دار از سمت access وارد اینترفیس می شوند . در این حالت اینترفیس هیچ کاری(نه tag و نه untag) روی بسته ها انجام نمی هد و فقط به bridge مربوطه تحویل می دهد.

در سناریوی فوق اینترفیس های ge1 در هر دو روتر اینترفیس trunk هستند و بقیه اینترفیس ها هم access هستند و در اینترفیس های access با توجه به vlan ی که در آن قرار دارند باید tag مربوطه زده شود .

ساخت trunk

به ازای هر vlan باید یک sub interface بسازیم و همه این subinterface ها را در یک bridge قرار دهیم :

SooDar1(config)# int ge1.100 
SooDar1(config-if)# encapsulation dot1q 100
SooDar1(config-if)# bridge-group 1 split-horizon group 1
SooDar1(config-if)# no shutdown
SooDar1(config-if)# q
SooDar1(config)# int ge1.200 
SooDar1(config-if)# encapsulation dot1q 200
SooDar1(config-if)# bridge-group 1 split-horizon group 1
SooDar1(config-if)# no shutdown
SooDar2(config)# int ge1.100 
SooDar2(config-if)# encapsulation dot1q 100
SooDar2(config-if)# bridge-group 1 split-horizon group 1
SooDar2(config-if)# no shutdown
SooDar2(config-if)# q
SooDar2(config)# int ge1.200 
SooDar2(config-if)# encapsulation dot1q 200
SooDar2(config-if)# bridge-group 1 split-horizon group 1
SooDar2(config-if)# no shutdown

نکته

دقت کنید جهت جلوگیری از loop حتما باید همه subinterface هایی که در یک bridge قرار دارند به همراه اینترفیس اصلی که از روی آن بقیه sub interface ها ساخته شده اند در split-horizon جداگانه قرار بگیرند تا بسته های دریافتی از یک اینترفیس مجددا در دیگر sub interface ها ارسال نشود. اینترفیس هایی که split-horizon یکسان و غیر صفر دارند بسته های دریافتی از horizon خود را باز نشر نمی کنند.

tag زدن در access

با دو دستور rewrite tag push و rewrite tag pop می توان در اینترفیس tag یا untag انجام داد . ما در اینجا در اینترفیس های سمت access باید tag بزنیم:

SooDar1(config)# int ge3
SooDar1(config-if)# bridge-group 1
SooDar1(config-if)# rewrite tag push 1 dot1q 100
SooDar1(config-if)# no shutdown
SooDar1(config-if)# q
SooDar1(config)# int ge4
SooDar1(config-if)# bridge-group 1
SooDar1(config-if)# rewrite tag push 1 dot1q 200
SooDar1(config-if)# no shutdown
SooDar2(config)# int ge4
SooDar2(config-if)# bridge-group 1
SooDar2(config-if)# rewrite tag push 1 dot1q 100
SooDar2(config-if)# no shutdown
SooDar2(config-if)# q
SooDar2(config)# int ge5
SooDar2(config-if)# bridge-group 1
SooDar2(config-if)# rewrite tag push 1 dot1q 200
SooDar2(config-if)# no shutdown

حال IP Phone ها در Vlan شماره 100 قرار می گیرند و می توانند با هم تماس داشته باشند و دوربین ها و کاربر Admin دوربین ها در Vlan شماره 200 قرار می گیرند و ارتباطشان برقرار می شود .

Inter Vlan Routing

اگر بخواهیم ارتباط شبکه های Vlan را با شبکه های بدون VLAN وصل کنیم در واقع routing در vlan را اضافه کنیم باید از inter vlan routing استفاده کنیم . برای routing در vlan باید یک اینترفیس bvi ایجاد کنید و آن را به bridge مربوط به vlan اضافه کنید این اینترفیس به عنوان gateway شبکه vlan استفاده می شود .

1. اینترفیس bvi

همه اینترفیس های loopback از نوع bvi هستند و برای intervlan routing باید یک اینترفیس loopback ایجاد کرده و آن را به bridge مربوطه اضافه کنید .

نکته

در زمان استفاده از اینترفیس bvi لازم است به نکاتی توجه فرمایید :

  1. نمی توان همزمان دو اینترفیس looback را در یک bridge قرار داد چون در هر bridge فقط یک bvi می تواند وجود داشته باشد .

  2. در اینترفیس bvi نباید بسته tag داشته باشد . زیرا بسته ها از طریق این اینترفیس به شبکه های دیگر route می شوند و باید بسته معمولی بدون تگ وارد اینترفیس شود. در نتیجه اگر بخواهیم inter vlan routing داشته باشیم باید در همه اینترفیس هایی که در bridge قرار دارند با دستور rewrite tag pop عملیات untag را انجام دهیم .

در این مثال ما اینترفیس loopback10 را به عنوان gateway و در soodar1 قرار داده ایم . به آن ip می دهیم و در host ها نیز این ip را به عنوان gateway تنظیم می کنیم . دقت شود که این ip به عنوان gateway برای هر دو روتر در نظر گرفته می شود و لازم نیست در soodar2 تنظیم دیگری برای bvi انجام دهید .

SooDar1(config)# int loopback 10 
SooDar1(config-if)#  bridge-group 1
SooDar1(config-if)# ip address 10.10.10.1/24
SooDar1(config-if)#  no shutdown

2. تنظیمات routing

ما در اینجا از ospf برای مسیریابی استفاده کرده ایم بنابراین برای inter vlan routing تنظیمات به شکل زیر خواهد بود. توجه شود که شبکه 10.10.10.0/24 جز شبکه ای connected در SooDar1 می باشد و توسط ospf در شبکه distribute خواهد شد .

SooDar1

SooDar1(config)# int ge1
SooDar1(config-if)# ip address 200.1.2.1/24
SooDar1(config-if)# q
SooDar1(config)# int ge2
SooDar1(config-if)# ip address 1.1.1.1/24
SooDar1(config-if)# q
SooDar1(config)# router ospf 
SooDar1(config-router)# network 200.1.2.0/24
SooDar1(config-router)# redistribute connected 
SooDar1(config-if)# q

SooDar2

SooDar2(config)# int ge1
SooDar2(config-if)# ip address 200.1.2.2/24
SooDar2(config-if)# q
SooDar2(config)# int ge2
SooDar2(config-if)# ip address 2.1.1.1/24
SooDar2(config-if)# q
SooDar2(config)# int ge3
SooDar2(config-if)# ip address 2.2.1.1/24
SooDar2(config-if)# q
SooDar2(config)# router ospf 
SooDar2(config-router)# network 200.1.2.0/24 
SooDar2(config-router)# redistribute connected 
SooDar2(config-if)# q

بررسی ارتباط Vlan

نکته

پس از تنظیمات فوق باید ارتباطات به شکل زیر برقرار باشد :
۱. باید ارتباط بین نود های n5 , n9,n10 از طریق vlan شماره 100 برقرار باشد.
۲. همچنین نود (n14 (Admin به دوربین ها n13,n19 دسترسی داشته باشد .
۳. دوربین ها و IPPhone ها باید با استفاده از ویژگی inter valn routing به (server n6 (1.1.1.10 دسترسی داشته باشند .
۴. شبکه دوربین ها و تلفن های ip باید از یکدیگر جدا باشد و دسترسی به یکدیگر نداشته باشند .

vlan in vlan (QinQ)

شما می توانید درون یک vlan نیز با استفاده از tag دوم vlan جدیدی تعریف کنید . روش تنظیم vlan با دو تگ به شکل زیر است :

SooDar(config-if)# encapsulation dot1q 100 second-dot1q 110 

فعال کردن log های VLAN

با دستور زیر می توانید Log های مربوط به vlan را فعال کنید:

soodar1# debug vlan event