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

1. حالت اول

برای تنظیم vlan می توان از دو حالت استفاده کرد . در حالت اول بسته ها فقط در اینترفیس trunk یا همان sub interface دارای tag هستند و در اینترفیسی که در سمت شبکه محلی (local) قرار دارد tag بسته ها با دستور rewrite tag pop 1 برداشته می شود و اینترفیس trunk و اینترفیس سمت local به هم bridge می شوند . در این حالت بسته ها فقط در سمت trunk دارای tag هستند و در سمت access بسته بدون tag رد و بدل می شود . و در bridgeی که این دو اینترفیس در آن قرار دارند بسته ها tag ندارند .

2. حالت دوم

در حالت دوم بسته ها از سمت host و یا کاربر نهایی بدون tag وارد router می شوند و در اینترفیس با دستور rewrite tag push 1 دارای tag می شوند . به عبارت دیگر این دستور tag بسته هایی که از اینترفیس trunk می آیند و به سمت access می روند را برمی دارد و به بسته هایی که از سمت access به اینترفیس trunk می روند tag می زند . و در bridgeی که این دو اینترفیس در آن قرار دارند بسته ها tag دارند .

vlan 100 configuration :

در این مثال vlan 100 در soodar2 را با حالت اول تنظیم می کنیم و soodar1 با حالت دوم تنظیم می کنیم .با دستور اول یک sub interface با id شماره 100 ساخته می شود و با دستور دوم بسته ها در این اینترفیس tag شماره 100 می خورند . و با دستور سوم اینترفیس ایجاد شده در bridge مربوطه قرار می گیرد. شماره vlan و شماره sub interface و شماره bridge از هم مستقل هستند و به هم ربطی ندارند .

SooDar1(config)# int ge1.100 
SooDar1(config-if)# encapsulation dot1q 130
SooDar1(config-if)#  bridge-group 500
SooDar1(config-if)# no shutdown

در سمت access نیز بسته هایی که از سمتIP phone های n9 , n10 دریافت می شود را tag می زنیم و اینترفیس را در همان bridge ی که اینترفیس trunk قرار دارد اضافه می کنیم . دقت کنید حتما باید اینترفیس را no shutdown کنید :

SooDar1(config)# int ge3
SooDar1(config-if)# bridge-group 500
SooDar1(config-if)# rewrite tag push 1
SooDar1(config-if)# no shutdown

در soodar2 از حالت اول استفاده می کینم و یک sub interface می سازیم در دستور دوم لازم است دقت کنید که شماره vlan که وارد می کنید با شماره vlan در soodar1 برابر باشد . در دستور سوم همان طور که قبلا در حالت اول توضیح دادیم tag بسته را بر می داریم و دستور بعدی نیز اینترفیس ایجاد شده را به bridge اضافه می کند .

SooDar2(config)# int ge1.120 
SooDar2(config-if)# encapsulation dot1q 130
SooDar2(config-if)# rewrite tag pop 1
SooDar2(config-if)#  bridge-group 520
SooDar2(config-if)# no shutdown

لازم است که اینترفیس ge4 نیز که در سمت access قرار دارد را نیز به bridge اضافه کنیم :

SooDar2(config)#  int ge4
SooDar2(config-if)#  bridge-group 520
SooDar2(config-if)#  no shutdown

با تنظیمات فوق IP Phone ها در Vlan شماره 100 قرار می گیرند و می توانند با هم تماس داشته باشند .

تنظیمات vlan شماره 200 نیز به مانند vlan شماره 100 انجام می شود .

vlan 200 configuration :

SooDar1(config)# int ge1.200 
SooDar1(config-if)# encapsulation dot1q 200
SooDar1(config-if)# rewrite tag pop 1
SooDar1(config-if)#  bridge-group 200
SooDar1(config-if)# no shutdown
SooDar1(config-if)# q
SooDar1(config)#  int ge4
SooDar1(config-if)#  bridge-group 200
SooDar1(config-if)#  no shutdown
SooDar2(config)# int ge1.200 
SooDar2(config-if)# encapsulation dot1q 200
SooDar2(config-if)# rewrite tag pop 1
SooDar2(config-if)#  bridge-group 200
SooDar2(config-if)# no shutdown
SooDar2(config-if)# q
SooDar2(config)#  int ge5
SooDar2(config-if)#  bridge-group 200
SooDar2(config-if)#  no shutdown

با تنظیمات فوق دوربین ها و کاربر 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 داشته باشیم باید از حالت اول برای تنظیم vlan استفاده کنیم تا در bridge هیچ بسته ای tag نداشته باشد و بتواند به شبکه های دیگر Route شود .

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

SooDar1(config)# int loopback 10 
SooDar1(config-if)#  bridge-group 200
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