AddThis

AddThis Social Bookmark Button
VLAN PDF Drukuj Email
Wpisany przez philozoph   
Wtorek, 10 Marzec 2009 15:24

Vlan

Łyczek teorii

VLAN to skrót oznaczający (Virtual Local Area Network) wirtualną sieć lokalną. Opracowano go w celu separacji logicznej podsieci. Istnieją dwa odrębne standardy określane jako port based VLAN, polegający na separacji portów oraz tag based. Pierwszy jest stosunkowo prosty w konstrukcji. W urządzeniu wydziela się grupę portów która jest traktowana jak odrębne urządzenie. Rozwiązanie to pozwala stosować jeden przełącznik jako kilka urządzeń logicznych. Standard ten nie umożliwia przesyłania kilku sieci logicznych jednym łączem fizycznym. Drugi standard polega na oznaczeniu ramek eternetowych specjalnie umieszczonym znacznikiem. Urządzenie separuje ramki na podstawie znacznika. Pozwala to przesyłać jednym kanałem fizycznym wiele odseparowanych logicznie podsieci.

 

Port based VLAN

No i tu mam pewnien problem. Nie spotkałem się z użyciem port based VLAN. Jak tylko spotkam coś takiego nie omieszkam uzupełnić ten rozdział.



Tag based VLAN

Standard ten jest opisany jako IEEE 802,1Q.Jego działanie polega na wstawieniu do ramki ethernet dodatkowego znacznika. Przyjżyjmy się ramkom. Standardowa ramka wygląda następująco:

Preambuła SFD Docelowy MAC Źródłowy MAC Typ/
rozmiar
Dane CRC/FCS
1 2 3 4 5 6 7 1 1 2 3 4 5 6 1 2 3 4 5 6 1 2 1 ... ... ... n 1 2 3 4

Dla porównia ramka 802.1Q prezentuje się następująco:

Preambuła SFD Docelowy MAC Źródłowy MAC

Typ

(0x8100)

TCI Dane CRC/FCS
1 2 3 4 5 6 7 1 1 2 3 4 5 6 1 2 3 4 5 6 1 2 1 2 3 4 1 ... ... ... n 1 2 3 4

Wynika z tego kilka istotnych faktów. Po pierwsze ramka 802.1Q jest dłuższa o dodatkowe 4 bajty. Po drugie wartość pola Typ/rozmiar zawiera wartość inną niż w chwili wysłania. Po trzecie zmienia się zawartość ramki i trzeba na nowo obliczyć sumy kontrolne. Przyjżyjmy się teraz dokładniej polu TCI (Tag Control Information).

bajty
1 2 3 4
b
i
t
y
1 user priority vlan ID (VID) Typ/rozmiar
2
3
4 CFI
5
6
7
8

user priority
Użycie tego pola jest dokładnie opisane w standardzie 802.1P. Zawiera ono 3 bity służące do określania priorytetu pakietu

CFI (Canonical Format Indicator)
Jednobitowe pole w którym oznaczamy technologię wykonania sieci LAN. Jeżeli wartośc tego pola wynosi 0 to mamy do czynienia z siecią ethernet, jeżeli zawiera wartośc 1 to została ona utworzona w technologii Token Ring (żadko spotykana ale istnieje).

vlan ID (VID)
Dwunasto bitowe pole zawierające identyfikator vlanu. Na podstawie tego znacznika pakiet jest kwalifikowany do odpowiedniej podsieci. Wartość tego pola może zawierać się w przedziale 1-4093.

soa
Tu pozwolę sobie wtrącić kilka informacji istotnych z mojego punktu widzenia. Politykę Vlan'ów można kształtowac praktycznie dowolnie. Jednak niektóre vlan'y używane są w specjalnych celach. Vlan o ID 0 oznacza że pakiet nie należy do żadnej podsieci (czasem jest to powodem krążenia "śmieci" po sieci). Vlan 1 bardzo często na urządzeniach jest używany w celach komunikacji i zarządzania. Przykładem może być przesyłanie pakietów sterujących pętlami (STP, MSTP). Vlan o ID 0xFFF z kolei jest uważany za wartość nieprawidłową. Dla własnego dobra lepiej trzymiać się VID'ów w zakresie 2-4093.

Typ/rozmiar
Jest to "przepisana" oryginalna wartość pola ramki ethernet o tej samej nazwie. Została przeniesiona w momencie oznaczania ramki tagiem i zostanie przywrucona po usunięciu.

Większość produkowanych przełączników zarządzalnych zgodna jest z tym standardem i można je bez większych kłopotów łączyć ze sobą.

Założenia

Posiadamy dwie odległe lokalizacje połączone jednym łącznikiem fizycznym. Potrzebujemy rozdzielić dwie sieci logiczne zgodnie z załączonym poniżej schematem.

 

schemat1

 

Edge-corE seria starsza
Technika

Tryb konfiguracyjny
console#config
baza VLAN'ów
console(config)#vlan database
kreacja vlanu
console(config-vlan)#vlan <2-4093> name <nazwa> media ethernet state [active,disable]
powrót
console(config-vlan)#exit
configuracja portu nietagowanego
console(config)#interface ethernet [n/n]
console(config-if)#switchport allowed vlan add <vid> untagged
console(config-if)#switchport native vlan <vid>
console(config-if)#exit

konfiguracja portu tagowanego
console(config)#interface ethernet <n/n>
console(config-if)#switchport allowed vlan add <vid> tagged
console(config-if)#exit
wyjście z trybu konfiguracji
console(config-if)#end

Przykładowa konfiguracja

switch A
console#config
console(config)#vlan database
console(config-vlan)#vlan 2 name vlan-a media ethernet state active
console(config-vlan)#vlan 3 name vlan-b media ethernet state active
console(config-vlan)#exit
console(config)#interface ethernet 1/1
console(config-if)#switchport allowed vlan add 2 untagged
console(config-if)#switchport native vlan 2
console(config-if)#exit
console(config)#interface ethernet 1/2
console(config-if)#switchport allowed vlan add 3 untagged
console(config-if)#switchport native vlan 3
console(config-if)#exit
console(config)#interface ethernet 1/3
console(config-if)#switchport allowed vlan add 2 tagged
console(config-if)#switchport allowed vlan add 3 tagged
console(config-if)#end
switch B jest skonfigurowany identycznie



Edge-corE seria nowsza
Technika

tryb konfiguracyjny
Switch>config
kreacja vlanu
Switch(Config)#vlan <vlan-id> [name<vlan-name>]
konfiguracja portu nietagowanego
Switch(Config)#interface ethernet <n/n>
Switch(Config-ethernetn/n)#switchport mode access
Switch(Config-ethernetn/n)#switchport access vlan <vid>
Switch(Config-ethernetn/n)#exit

konfiguracja portu nietagowanego
Switch(Config)#interface ethernet <n/n>
Switch(Config-ethernetn/n)#switchport mode trunk
Switch(Config-ethernetn/n)#switchport trunk allowed vlan <vid,vid-list>
Switch(Config-ethernetn/n)#exit

Przykładowa konfiguracja

Switch A
Switch>config
Switch(Config)#vlan 2 name vlan-a
Switch(Config)#vlan 3 name vlan-b
Switch(Config)#interface ethernet 1/1
Switch(Config-ethernet1/1)#switchport mode access
Switch(Config-ethernet1/1)#switchport access vlan 2
Switch(Config-ethernet1/1)#exit
Switch(Config)#interface ethernet 1/2
Switch(Config-ethernet1/2)#switchport mode access
Switch(Config-ethernet1/2)#switchport access vlan 3
Switch(Config-ethernet1/2)#exit
Switch(Config)#interface ethernet 1/3
Switch(Config-ethernet1/3)#switchport mode trunk
Switch(Config-ethernet1/3)#switchport trunk allowed vlan 2,3
Switch(Config-ethernet1/3)#end

switch B konfigurujemy identycznie.



TP-link
Technika

aktywacja
Console> enable
tryb konfiguracyjny
Console# configure
baza danych vlan'ów
Console(config)# vlan database
kreacja vlanu
Console(config-vlan)#vlan 2-4093
wyjście
Console(config-vlan)#exit
konfiguracja portu nietagowanego
Console(config)# interface ethernet <interface>
Console(config-if)# switchport mode access
Console(config-if)# switchport access vlan <vid>
Console(config-if)# exit

konfiguracja portu tagowanego
Console(config)# interface ethernet <interface>
Console(config-if)# switchport mode trunk
Console(config-if)# switchport trunk vlan add <vid,vid-list>
Console(config-if)# exit

Przykładowa konfiguracja

switch A
Console> enable
Console# configure
Console(config)# vlan database
Console(config-vlan)#vlan 2
Console(config-vlan)#vlan 3
Console(config-vlan)#exit
Console(config)# interface ethernet e1
Console(config-if)# switchport mode access
Console(config-if)# switchport access vlan 2
Console(config-if)# exit
Console(config)# interface ethernet e2
Console(config-if)# switchport mode access
Console(config-if)# switchport access vlan 3
Console(config-if)# exit
Console(config)# interface ethernet e3
Console(config-if)# switchport mode trunk
Console(config-if)# switchport trunk vlan add 2,3
Console(config-if)# end

Switch B konfigurujemy identycznie



Allied Telesyn
Technika

Kreacja vlanu:
create vlan=<nazwa> vid=<2-4096>
konfiguracja portu nietagowanego
add vlan=<nazwa | vid> port=<port | lista portów> [frame=taged]
konfiguracja portu tagowanego
add vlan=<nazwa | vid> port=<port | lista portów> [frame=taged]

Przykładowa konfiguracja

switch A
AT#>create vlan=vlan1 vid=2
AT#>create vlan=vlan2 vid=3
AT#>add valn=2 port=1
AT#>add valn=3 port=2
AT#>add vlan=2 port=3 frame=taged
AT#>add vlan=3 port=3 frame=taged

switch B konfigurujemy identycznie



MRV
Technika

tryb konfiguracji
console#config
baza VLAN'ów
console(config)#vlan database
kreacja vlanu
console(config-vlan)#vlan <1 - 4096> name <nazwa> media ethernet state [active,disable]
powrót
console(config-vlan)#exit
configuracja portu nietagowanego
console(config)#interface ethernet [n/n]
console(config-if)#switchport allowed vlan add <vid> untagged
console(config-if)#switchport native vlan <vid>
console(config-if)#exit

konfiguracja portu tagowanego
console(config)#interface ethernet <n/n>
console(config-if)#switchport allowed vlan add <vid> tagged
console(config-if)#exit

wyjście z trybu konfiguracji
console(config-if)#end

Przykładowa konfiguracja

switch A console#config
console(config)#vlan database
console(config-vlan)#vlan 2 name vlan-2 media ethernet state active
console(config-vlan)#vlan 3 name vlan-3 media ethernet state active
console(config-vlan)#exit
console(config)#interface ethernet 1/1
console(config-if)#switchport allowed vlan add 2 untagged
console(config-if)#exit
console(config)#interface ethernet 1/2
console(config-if)#switchport allowed vlan add 3 untagged
console(config-if)#exit
console(config)#interface ethernet 1/3
console(config-if)#switchport allowed vlan add 2 tagged
console(config-if)#switchport allowed vlan add 3 tagged
console(config-if)#exit
console(config-if)#end

switch B jest skonfigurowany identycznie.



Zmieniony: Poniedziałek, 16 Marzec 2009 15:05