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.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. 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
- 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)# endSamo 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)#endNa 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 trunkW 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)#endDo 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
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.