|
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. |

|
|
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.

| 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 |