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.
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.
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.
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:
Podstawowe – wszystkie których ID wynosi od 1 do 1005 (1002-1005 są zarezerwowane i nie można ich stosować)
Rozszerzone – ID od 1006 do 4094
Możemy dokonać podziału również ze względu na ich przeznaczenie:
Voice – dla urządzeń korzystających z VoIP
Management – dla odseparowania administracyjnego dostępu do urządzeń
Data – zwykły ruch generowany przez użytkowników i urządzenia sieciowe
Default – podstawowy vlan, do którego domyślnie przypisywane są wszystkie porty (VLAN 1)
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.
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.
Już 15-16 maja w krakowskim hotelu Galaxy odbędzie się trzydziesta pierwsza edycja konferencji PLNOG. Zapraszamy do udziału w wydarzeniu, podczas którego nie zabraknie merytorycznych wykładów najlepszych specjalistów z branży IT oraz ICT, praktycznej dawki wiedzy z...
W ubiegłym roku wiele się wydarzyło, zarówno złego, jak i dobrego. Ze złych rzeczy należy wspomnieć o nadal trwającej wojnie na Ukrainie. Jeśli możesz, wesprzyj ich. Sposób nie ma większego znaczenia. Z dobrych rzeczy, w okolicach marca udało się rozszerzyć współpracę...
Podcast w wersji wideoSłuchaj na spotifyZ podcastu dowiesz się Czy nowe CCNA to krok w dobrą stronę? Dlaczego BGP wypadło z CCNA? Czy nadal warto zdawać CCNA? Jakie mamy alternatywne egzaminy dla juniora? Czy symulacje na egzaminie to dobry pomysł? Czy junior powinien...
Podcast w wersji wideoSłuchaj na spotifyZ podcastu dowiesz się Czy czeka nas rok IPv6? Czym różnią się sieci Service Provider od sieci Enterprise? Dlaczego Border Gateway Protocol to najlepszy protokół routingu? Kiedy warto wdrożyć BGP? Jakie zagrożenia wiążą się ze...
Podcast w wersji wideoSłuchaj na spotifyZ podcastu dowiesz się Czym monitorować infrastrukturę? i dlaczego Zabbix jest najlepszą opcją monitoringu? Jakie mamy alternatywy dla Zabbixa i kiedy warto rozważyć ich wdrożenie? Jakie wyzwania stawia wdrożenie monitoringu...
Jesteśmy partnerem konferencji
O autorze
Rafał Rudewicz
Specjalizuję się w rozwiązaniach Enterprise oraz Service Provider. Projektuję, wdrażam oraz naprawiam sieci dla największych firm na świecie.
Ruch nietagowany również może opuszczać switch, służy do tego vlan natywny na trunk. Jest to jeden specjalny vlan, który może przechodzić przez trunk bez tagu dot1q z informacją o vlanie.
Czym jest model referencyjny i do czego jest nam potrzebny? Poznaj 7-warstwowy model ISO/OSI, który opisuje uniwersalne standardy komunikacji pomiędzy systemami komputerowymi.
Jest takie angielskie powiedzenie – Two is one, one is none. Kiedy mamy dwa urządzenia, awaria jednego zwykle nie jest problemem i daje nam czas naprawę. Posiadanie w momencie awarii tylko jednego urządzenia, sprawia, że ostatecznie nie mamy żadnego.
Dobra, jeśli zrobili swój vlan trunkowy, to co się dzieje z ruchem nie vlanowym (vlan 1), rozumiem, iż taki ruch nie opuszcza danego switcha?
Ruch nietagowany również może opuszczać switch, służy do tego vlan natywny na trunk. Jest to jeden specjalny vlan, który może przechodzić przez trunk bez tagu dot1q z informacją o vlanie.
Tak wie, ale mi chodzi o ten fragment:
Switch(config-if)#switchport trunk native vlan 99
Switch(config-if)#switchport trunk allowed vlan 2-98,100-1001
Wtedy, domyślny ruch na nie opuści świcza. Bo nowy vlan trunk 99 nie zbiera ruchu z vlan1.
Vlan 1 nie powinien być używany ze względów bezpieczeństwa, dlatego nie jest dopuszczony do ruchu na trunku.