Na początku istnienia sieci LAN panował w nich lekki chaos. Wszystkie urządzenia komunikowały się ze sobą za pomocą wspólnego medium transmisyjnego. Powodowało to wiele problemów, którym już od początku próbowano zaradzić na różne sposoby. Na przestrzeni lat powstawały kolejne mechanizmy i technologie, dzięki którym coraz łatwiej było zapanować nad funkcjonowaniem sieci. Bridge zastąpiły huby. Te z kolei zostały następnie wyparły switche. Kolejnym istotnym krokiem w tej ewolucji stały się sieci VLAN – sprawdźmy dlaczego. Ten artykuł to wprowadzenie do VLAN.
Czym jest VLAN?
VLAN to skrót od Virtual Local Area Network, który można przetłumaczyć jako wirtualna sieć lokalna. Mówiąc o sieci lokalnej LAN (ang. Local Area Network), mam na myśli wszystkie urządzenia znajdujące się w tej samej domenie rozgłoszeniowej. Dla zrozumienia istoty działania VLANów musisz dokładnie rozumieć to pojęcie. Szerzej na temat domeny rozgłoszeniowej możesz przeczytać w tym artykule. W tej chwili chcę tylko przypomnieć, że urządzenia znajdujące się w jednej domenie rozgłoszeniowej mogą się bezpośrednio kontaktować z każdym innym urządzeniem w tejże domenie. Nie zawsze takie działanie jest pożądane. W przypadku dużych sieci korporacyjnych konieczne może być np. odseparowanie ruchu sieciowego pracowników kadr od działu księgowości, a z kolei dział IT będzie potrzebować wyłącznego dostępu administracyjnego do infrastruktury sieciowej.
W takim przypadku niezbędna jest tzw. segmentacja sieci, czyli podział sieci na mniejsze podsieci (segmenty), w obrębie których ruch sieciowy jest odizolowany. Tradycyjnie segmentację można było przeprowadzić na dwa sposoby. Pierwszym było po prostu użycie dwóch różnych, nie połączonych ze sobą fizycznie przełączników. Drugi to podział sieci w oparciu o routery, które z założenia są barierą dla domeny rozgłoszeniowej. Są to jednak rozwiązania mało elastyczne i słabo skalowalne.
Rozwiązanie problemu? VLANy
Rozwiązaniem tego problemu są właśnie sieci VLAN. Umożliwiają one tworzenie podsieci w ramach warstwy drugiej modelu ISO/OSI, a więc segmentację przy wykorzystaniu switchy. Każdy VLAN stanowi oddzielną domeną rozgłoszeniową. Dzięki VLAN możliwe jest tworzenie sieci logicznych, w której urządzenia podłączone do tej samej sieci LAN mogą działać niezależnie od siebie. Hosty podłączone do jednego switcha mogą więc być dla siebie niewidoczne. Switche obsługujące sieci wirtualne umożliwiają przypisanie portów do różnych VLAN. Co więcej, dany VLAN może funkcjonować na wielu przełącznikach. Żeby lepiej zrozumieć istotę działania VLAN zobaczmy to na przykładzie.
Widzimy, że w budynku 1 i 2 znajdują się switche, do których podłączeni są pracownicy. Przyjmijmy, że w VLAN 1 znajdują się pracownicy kadr, a w VLAN 2 pracownicy księgowości. Switche w budynkach są ze sobą połączone i umożliwiają komunikację w ramach każdego VLANu. Wszyscy pracownicy kadr mogą więc komunikować się ze sobą, niezależnie w jakim budynku się znajdują. Analogicznie wygląda sytuacja w przypadku pracowników księgowości. Jednocześnie ruch między pracownikami poszczególnych działów jest odseparowany. Dodatkowo jeśli zajdzie potrzeba przeniesienia użytkownika do innego pomieszczenia, to nie będzie to stanowić problemu, ponieważ wystarczy przypisać mu odpowiedni VLAN do portu na switchu.
Cykl artykułów o VLANach
Artykuły publikowane w ramach cyklu o VLANach można czytać niezależnie, ale najlepsze efekty osiągniesz, jeśli zapoznasz się z nimi po kolei. Cały cykl składa się z następujących artykułów:
Zalety VLANów
Wirtualne sieci są w dzisiejszych czasach stosowane zarówno w małych sieciach biurowych, jak również dużych Data Center. Możliwość konfiguracji VLAN jest dostępna już nie tylko w zaawansowanych i drogich urządzeniach. Coraz częściej można je konfigurować również na sprzęcie wykorzystywanym w warunkach domowych. Są one tak powszechnie używane, ponieważ niosą ze sobą szereg korzyści:
- Elastyczność – projektowanie sieci zgodnie z wymaganiami organizacyjnymi; mniejsze znaczenie fizycznej lokalizacji; łatwiejsze wprowadzanie zmian w sieci.
- Wydajność – mniej urządzeń w domenie rozgłoszeniowej to mniej wiadomości typu broadcast zalewających całą sieć. To z kolei przekłada się na mniejszą liczbę ramek otrzymywanych przez hosty.
- Zarządzanie ruchem – lepsze kontrolowanie przepływu ruchu między różnymi segmentami sieci; możliwość tworzenia np. osobnej sieci VLAN tylko dla telefonii VoIP; tworzenie oddzielnych list kontroli dostępu ACL dla VLAN; dodatkowo w mniejszej sieci łatwiej jest wykryć awarię i przeprowadzić troubleshooting.
- Bezpieczeństwo – separacja ruchu między różnymi grupami użytkowników, dzięki temu urządzenia w jednym VLAN nie widzą ruchu w innych VLANach; w sieciach domowych mżna to wykorzystać do odseparowania ruchu urządzeń IoT od reszty sieci lub wydzielenia specjalnej sieci dla gości; ponadto możliwe jest wydzielenie specjalnej sieci na potrzeby zarządzania urządzeniami sieciowymi.
Ramka VLAN
Zasady działania VLAN określiło IEEE (Institute of Electrical and Electronics Engineers) w standardzie IEEE 802.1Q nazywanym często w skrócie dot1q.
Protokół ten dodaje do oryginalnej ramki ethernetowej tzw. etykietę VLAN (ang. VLAN Tag). To właśnie dzięki tagowi switch wie do jakiego VLANu ma on dostarczyć dane.
VLAN Tag składa się z 4 bajtów, w skład których wchodzą:
- Tag Protocol Identifier (TPID) – to 16 bitowe pole wskazuje na wykorzystanie protokołu 802.1Q, zawsze ma wartość 0x8100;
- Priority code Point (PCP) – składa się z 3 bitów i wykorzystujemy go przy określaniu priorytetów na lokalnym łączy danych, tzw. class of service (CoS);
- Drop Eligible Indicator (DEI) – 1 bitowe pole, służy do oznaczania ramek, które mogą zostać odrzucone, gdy zostanie wykorzystana przepustowość łącza. Możesz się również spotkać z oznaczeniem tego pola jako CFI, gdyż pierwotnie wykorzystywano je do zachowania kompatybilności z sieciami Token Ring;
- VLAN ID – jest to 12 bitowe pole, które wskazuje identyfikator VLAN przypisany do pakietu. 12 bitów teoretycznie umożliwia utworzenie 4096 VLANów, jednak wartości 0 i 4095 są zarezerwowane i nie używamy ich. Dlatego też do wykorzystania w sieci pozostają 4094 VLANy.
Rola portów Access i Trunk
Do konfiguracji VLAN na przełącznikach Cisco wykorzystujemy dwa rodzaje portów:
- Port Access – służy do połączenia urządzeń końcowych do poszczególnych portów w switchu. Tutaj podłączyć można komputery, drukarki czy telefony IP. Port access przypisujemy do konkretnego (wcześniej skonfigurowanego) VLANu. Co ważne, ramki na tych portach nie są tagowane.
- Port Trunk – służy do przesyłania wielu VLANów na pojedynczym fizycznym łączu. Dzięki trunkom jesteśmy w stanie przesyłać równocześnie ruch sieciowy skierowany do różnych VLANów. Aby było to możliwe, ramki są oznaczane za pomocą VLAN Tagu i zawartemu w nim identyfikatorowi w polu VLAN ID. Dzięki temu switch wie, do którego VLANu ma przesłać dane. W naszym artykule na temat tagowania dot1q możesz sprawdzić jak dokładnie wygląda to w praktyce.
Istotną kwestią, którą należy wziąć pod uwagę przy wdrażaniu sieci wirtualnych jest to, że domyślnie switche nie będą przekazywały ramek między różnymi VLANami. Tak jak wspomniałem wcześniej VLANy umożliwiają separację sieci, więc ramki z jednego VLANu nie trafią do innego. Może jednak zaistnieć sytuacja, że wymiana danych między urządzeniami w różnych VLANach będzie niezbędna. Ponieważ hosty należące do różnych sieci VLAN znajdują się w różnych podsieciach, to komunikacja między nimi będzie odbywać się na poziomie warstwy 3 za pośrednictwem routerów lub tzw. switchy warstwy 3, które obsługują podstawowe funkcje routingu.
Co jeżeli switch nie obsługuje VLANów?
Może się zdarzyć tak, że w sieci znajdują się również switche, które nie mają możliwości konfiguracji VLANów. Co zrobić w takim przypadku? Przeczytasz o tym w naszym darmowym NSSletterze – mailingu dla sieciowców głodnych wiedzy.
Dołączając uzyskasz dostęp również do archiwum – tematykę tego artykułu rozszerzyliśmy w NSSletterze 24. Rozwiń swoją wiedzę już teraz i zapisz się używając formularza poniżej.
Udało Wam się w przystępny sposób opisać to zagadnienie, dzięki 🙂
Bardzo nas to cieszy – cel zrealizowany 🫡