Home Technologie siecioweRouting & Switching Vlan – wszystko co musisz wiedzieć o wirtualnych sieciach LAN

Vlan – wszystko co musisz wiedzieć o wirtualnych sieciach LAN

Rafał Rudewicz

Sieć LAN (z ang. local area network), czyli sieć lokalna obejmuje zazwyczaj wszystkie urządzenia na danym obszarze, którego granice zazwyczaj wyznacza router posiadający połączenie z internetem. 

Ethernet

W początkach standardu ethernet oznaczało to, że wszystkie urządzenia były podłączone do jednego medium transmisyjnego. Każdy mógł się komunikować z każdym, ale w danym momencie tylko jeden host mógł przesyłać dane. Mechanizm CSMA/CD (z ang. Carrier Sense Multiple Access with Collision Detection) wykrywał kiedy łącze jest zajęte i zapobiegał wysyłaniu danych w tym samym momencie przez więcej niż jednego nadawcę. Jeśli w danym czasie dwa urządzenia zaczęłyby wysyłać dane, ramki uległyby uszkodzeniu. Taką sytuację nazywamy kolizją.

Huby

Huby były pierwszymi urządzeniami sieciowymi, które pozwoliły na zwiększenie liczby urządzeń podłączonych do jednej sieci. Nie posiadały one jednak żadnej logiki. Przekazywały pakiet otrzymany na jednym porcie na wszystkie pozostałe.  W związku z tym powiększały one domeny kolizyjne oraz rozgłoszeniowe.

Domena kolizyjna
Kolizja pakietów w sieci z wykorzystaniem hub-a

Switche

Następcami hubów są switche inaczej nazywane przełącznikami. Pozwoliły one na ograniczenie domen kolizyjnych do pojedynczych połączeń pomiędzy urządzeniami.

Domeny kolizyjne z udziałem switcha
Zmiejszenie domen kolizyjnych przez switch

Wraz z rozwojem sieci rozwiązano również problem half-duplex-u, dzięki czemu obie strony transmisji mogą teraz przesyłać dane naraz full-duplex.

Mamy więc sytuację, w której rozwiązaliśmy problem kolizji oraz równoczesnej transmisji praktycznie podwajając przepustowość łączy (half vs full duplex).

Pozostały nam jeszcze problemy z wielkością domen rozgłoszeniowych – w ramach których pakiety broadcast oraz unknow unicast są przekazywane do wszystkich urządzeń, separacją użytkowników oraz bezpieczeństwem.

VLAN - Virtual LAN

Sieci VLAN najprościej mówiąc, pozwalają na logiczną agregację hostów na mniejsze podsieci w ramach jednej dużej sieci LAN. Dzięki wirtualnym sieciom LAN możemy rozdzielić użytkowników w ramach jednego switcha, zamiast kupować nowe urządzenia dla każdej nowej grupy.

Powodów, dla których chcemy, podzielić naszą sieć lokalną na mniejsze segmenty jest wiele. Między innymi pozwala to na ograniczenie domen rozgłoszeniowych, co przekłada się na mniejszą ilość ruchu, którą muszą obsłużyć nasze urządzenia sieciowe.

Również ze względów bezpieczeństwa separacja hostów jest bardzo ważna. Wyobraź sobie taką sytuację, prowadzisz firmę, w której zatrudniasz handlowców, księgowych i własny dział IT.

Twoi księgowi potrzebują dostępu do systemów księgowych, handlowcy dostępu do internetu a dział IT administracyjnego dostępu do urządzeń. Bez odseparowania sieciami VLAN, wszyscy mieliby dostęp do wszystkiego, co jest oczywiście bardzo niepożądaną sytuacją. Zdecydowanie lepszym pomysłem jest ograniczenie dostępów tylko do niezbędnych zasobów przedsiębiorstwa.

Sieci VLAN w praktyce

Zalety stosowania VLAnów:

  • Bezpieczeństwo
  • Zmniejszenie ruchu w sieci poprzez ograniczenie domen rozgłoszeniowych
  • Zmniejszenie kosztów ze względu na lepsze wykorzystanie dostępnych łączy
  • Łatwiejsze zarządzanie zasobami (agregacja użytkowników i urządzeń o podobnych wymaganiach)

 Rodzaje VLANów

Vlany możemy podzielić ze względu na ich identyfikator numeryczny:

  1. Podstawowe – wszystkie których ID wynosi od 1 do 1005 (1002-1005 są zarezerwowane i nie można ich stosować)
  2. Rozszerzone – ID od 1006 do 4094

Możemy dokonać podziału również ze względu na ich przeznaczenie:

  1. Voice – dla urządzeń korzystających z VoIP
  2. Management – dla odseparowania administracyjnego dostępu do urządzeń
  3. Data – zwykły ruch generowany przez użytkowników i urządzenia sieciowe
  4. Default – podstawowy vlan, do którego domyślnie przypisywane są wszystkie porty (VLAN 1)
  5. Native – Ramki z tego vlanu przesyłane są poprzez trunk bez tagowania.

Konfiguracja vlanów

W celu przedstawienia konfiguracji vlanów stworzymy trzy vlany zgodnie z wcześniej przedstawionym przykładem:

  • vlan 10 – Dział Handlowy
  • vlan 20 – Dział Księgowy
  • vlan 30 – Dział IT
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Handlowy
Switch(config-vlan)# vlan 20
Switch(config-vlan)# name Ksiegowy
Switch(config-vlan)# vlan 30
Switch(config-vlan)# name IT
Switch(config-vlan)# end

Samo utworzenie vlanów nie wystarczy, jak już wiesz na nieskonfigurowanym switchu każdy port należy do domyślnego vlanu (vlan 1). Musimy przypisać odpowiednie vlany do portów.

Switch#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Switch(config)#interface fastEthernet 0/1

Switch(config-if)#switchport access vlan 10

Switch(config-if)#interface fastEthernet 0/2

Switch(config-if)#switchport access vlan 20

Switch(config-if)#interface fastEthernet 0/3

Switch(config-if)#switchport access vlan 30

Switch(config-if)#end

Na koniec została jeszcze weryfikacja, czy wszystko działa, jak należy.

Switch# show vlan brief
VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/4, Fa0/5, Fa0/6, Fa0/7

                                                Fa0/8, Fa0/9, Fa0/10, Fa0/11

                                                Fa0/12, Fa0/13, Fa0/14, Fa0/15

                                                Fa0/16, Fa0/17, Fa0/18, Fa0/19

                                                Fa0/20, Fa0/21, Fa0/22, Fa0/23

                                                Fa0/24, Gig0/1, Gig0/2

10   Handlowy                         active    Fa0/1

20   Ksiegowy                         active    Fa0/2

30   IT                               active    Fa0/3

1002 fddi-default                     active    

1003 token-ring-default               active    

1004 fddinet-default                  active    

1005 trnet-default                    active
Switch#show  interface status
Port      Name               Status       Vlan       Duplex  Speed Type

Fa0/1                        notconnect   10         auto    auto  10/100BaseTX

Fa0/2                        notconnect   20         auto    auto  10/100BaseTX

Fa0/3                        notconnect   30         auto    auto  10/100BaseTX

Fa0/4                        notconnect   1          auto    auto  10/100BaseTX

Fa0/5                        notconnect   1          auto    auto  10/100BaseTX

Fa0/6                        notconnect   1          auto    auto  10/100BaseTX

Trunk i tagowanie DOT1q

Domyślnie każdy port w switchu działa w trybie access (dostępowym) i przynależy wyłącznie do jednego vlanu. Oznacza to, że na danym porcie ruch może odbywać się wyłącznie w ramach jednej sieci vlan, do której należy.

Co jednak w sytuacji gdy potrzebujemy przesłać dane z więcej niż jednego vlanu przez dany port na przykład między dwoma switchami? Wtedy należy taki port przestawić w tryb Trunk. Trunk to nic innego jak interfejs, który przesyła dane pochodzące z więcej niż jednego vlanu.

trunk miedzy switchami

Przed przesłaniem danych przez trunk, switch dodaje do ramki 32-bitowy tag, korzystając z enkapsulacji np. dot1q. Wyjątek stanowią dane pochodzące z vlanu natywnego (native vlan), które są przesyłane jako nietagowane.

W skład vlan tagu wchodzą następujące pola:

  • Tag protocol identifier (TPID) 16 bitów, dla dot1Q wynosi 0x8100
  • Priority code point (PCP) 3 bitowe pole dla celów Class of Service, w skrócie QoS dla L2
  • Drop elgible indicator (DEI) 1 bitowe pole wskazujące, czy pakiet może być odrzucony w przypadku problemów z przepustowością
  • Vlan identifier (VLAN ID) 12 bitowe pole wskazujące z jakiego vlanu pochodzi pakiet

Konfiguracja trunk

Konfiguracja portu, który ma służyć za trunk jest bardzo prosta. 

Switch#conf t
Switch(config)#interface gig0/1
Switch(config-if)#switchport mode trunk

W podanym przykładzie mamy w pełni działający port będący trunkiem. Jednak w takiej konfiguracji zezwalamy na przesyłanie wszystkich vlanów, co nie jest bezpiecznym rozwiązaniem. 

Zdecydowanie lepiej stworzyć nowy vlan, który będzie służył jako natywny.  W konfiguracji powinniśmy zezwolić tylko na vlany które będą używane lub chociaż uniemożliwić przesyłanie danych z vlanu domyślnego.

Switch#configure terminal
Switch(config)# vlan 99
Switch(config-vlan)# name native
Switch(config-vlan)# exit
Switch(config)#interface gigabitEthernet 0/1
Switch(config-if)#switchport trunk native vlan 99
Switch(config-if)#switchport trunk allowed vlan 2-98,100-1001
Switch(config-if)#end

Do modyfikacji, jakie vlany mogą zostać przesłane przez trunk służą dodatkowe modyfikatory:

  • all wszystkie vlany dozwolone
  • add dodaje vlany do listy dozwolonych
  • remove usuwa vlany z listy
  • none żaden vlan nie może być przesyłany
  • except wszystkie vlany oprócz podany

Możesz być również zainteresowany tymi artykułami:

Zostaw komentarz

Na blogu inna sieć wykorzystuję "ciasteczka". Lubię ciastka, a Ty? Lubię ciastka! Chcę wiedzieć więcej