Wirtualna sieć lokalna (ang. Virtual Local Area Network – VLAN) to wydzielona logicznie sieć urządzeń w ramach innej, większej sieci fizycznej. Urządzenia tworzące sieć VLAN, mogą się komunikować jedynie ze sobą, a jednocześnie są odseparowane od innych sieci VLAN.
Konfiguracji VLANów dokonuje się w switchach sieciowych, a dokładniej w switchach zarządzalnych z obsługą VLAN. Jedna sieć VLAN może swym zasięgiem obejmować wiele switchy, a w najprostszym przypadku może zostać stworzona za pomocą jednego, kilkuportowego switcha.
Stosowanie wirtualnych sieci (VLAN) wprowadza wiele korzyści, główną jest ograniczenie ruchu sieciowego, gdyż przesyłane ramki trafiają tylko do urządzeń w obrębie danego VLANu. Innymi słowy urządzenia podłączone do VLAN 1 nie będą w żaden sposób widoczne dla urządzeń połączonych do VLAN 2 i odwrotnie. Oba użyte w powyższym przykładzie sterowniki PLC 1 oraz PLC 2 mogą mieć np. takie same adresy IP i nie spowoduje to żadnego konfliktu mimo, że są one podłączone do jednego fizycznego urządzenia (Switch A). Czyli działa to dokładnie tak jak gdybyśmy zamiast jednego wieloportowego Switcha A zastosowali dwa oddzielne, w tym przypadku trzyportowe switche. Podział sieci fizycznej na kilka VLANów zwiększa bezpieczeństwo sieci już z racji samej tylko separacji ruchu sieciowego. W powyższym przykładzie w VLAN 1 mamy do czynienia tylko z komunikacją Profinet natomiast w VLAN 2 zgrupowane zostały urządzenia komunikujące się ze sobą za pomocą protokołu Modbus TCP.
Typy VLAN
Konfiguracja VLANów w switchu może przebiegać w dwójnasób:
- Wykorzystując separację grup portów
- Stosując znakowanie ramek (Tagged VLANs)
Różnice w obu w/w konfiguracjach najłatwiej będzie wytłumaczyć za pomocą schematu połączeń pomiędzy dwoma switchami (Switch A, Switch B) zamieszczonego poniżej:
Oba urządzenia skonfigurowane zostały w ten sam sposób: VLAN 1 dla portów 1, 2, 3 oraz VLAN 2 dla portów 4, 5, 6.
Aby urządzenia podłączone do danego VLANu w Switch A mogły komunikować się z urządzeniami w tym samym VLANie podłączonymi do Switch B niezbędne jest połączenie każdego z VLANów w obu urządzeniach za pomocą przewodów komunikacyjnych. Dzięki temu sterownik PLC 1 może komunikować po Profinecie z urządzeniem PN Device 2 podłączonym do portu 2 w Switch B. Podobnie sterownik PLC 2 może odpytywać po Modbusie TCP urządzenie podłączone do portu 5 w Switch B. Jak już wspomnieliśmy mamy tu pełną izolację obu komunikacji – mamy do czynienia z pełna separacją zdefiniowanych grup portów w każdym switchu.
Zwróćmy jednak uwagę, że do połączenie tych samych VLANów w obu urządzeniach musieliśmy użyć 2 przewodów a ich dołączenie spowodowało zajęcie łącznie 4 portów (po 2 porty w Switch A oraz w Switch B).
Czy można to zrobić prościej ?
Można – stosując switche zarządzalne zgodne z standardem IEEE 802.1Q, wprowadzającym możliwość oznaczania ramek w wirtualnej sieci lokalnej – ang. Tagged VLANs.
Urządzenie działające według tego standardu może rozszerzyć typową ramkę danych o kilka dodatkowych informacji. Może m.in. przypisać do niej numer odpowiedniego VLANu, jak również informację o priorytecie – gdyż dane z poszczególnych VLANów mogą być również przesyłane przez switche z różnym priorytetem.
Jak to wygląda w praktyce? Po pierwsze w switchu zarządzalnym zgodnym z IEE 802.1Q należy włączyć tzw. tagging. Następnie należy przypisać porty do zdefiniowanych VLANów oraz wskazać przynajmniej jeden wspólny port dla wszystkich VLANów który będzie fizycznie realizował tagging.
Dzięki zastosowaniu urządzeń zgodnych IEE 802.1Q nasz wcześniejszy schemat połączeń może teraz ulec małej modyfikacji. Spójrzmy na topologię:
Oba urządzenia skonfigurowane są tak samo jak poprzednio. Jedyną różnicą jest włączenie taggowania dla portu 7 zarówno w Switch A jak i w Switch B. Dzięki temu każda ramka danych przychodząca z wewnętrznych portów 1, 2 i 3 (Switch A) zostanie oznaczana numerem VLAN 1 i z takim oznaczeniem wysłana na zewnątrz do Switch B. Podobnie ramki danych przychodząca z wewnętrznych portów 4, 5 i 6 (Switch A) zostaną oznaczone numerem VLAN 2 i dopiero wówczas wysłane na zewnątrz przez port 7 do Switch B.
Takie rozszerzone ramki danych przychodzące do portu 7 (Switch B) niosą informacje o numerze VLAN i dzięki niej są kierowane do odpowiednich wewnętrznych portów przypisanych do tych VLANów w Switch B. Jednocześnie z ramek tych zostaje usunięte jej oznaczenie (TAG z numerem VLAN) – ramki zostają więc zredukowane do standardowej postaci – i w takiej wysyłane dalej urządzeń dołączonych do urządzenia.
Zauważmy, że do połączenia obu urządzeń w tym wypadku potrzebny jest jedynie jeden kabel patchcord, a jego dołączenie powoduje zajęcie pojedynczego portu w każdym z obu switchy .
Wykorzystanie VLAN jest szczególnie dobrą i zalecaną praktyką, zwłaszcza w sieciach przemysłowych. Podział sieci fizycznej na wiele sieci VLAN zwiększa bezpieczeństwo tych sieci już z racji samej tylko separacji ich ruchu sieciowego. Zapobiega to możliwości zmiany sieci poprzez zmianę adresu IP, a także konieczności przetwarzania ruchu rozgłoszeniowego (broadcast) pochodzącego z innych sieci. Ma to szczególne znaczenie zwłaszcza dla protokołów przemysłowych jak np. Profinet, Ethernet IP, itp. których szybkość transmisji ma przecież odzwierciedlać stany dołączonych urządzeń w czasie jak najbardziej rzeczywistym.
W kolejnym artykule pokażę jak szybka i prosta jest konfiguracja VLANów w switchach produkcji Phoenix Contact.
Autor: | Tomasz Salamon- Ekspert ds. Wsparcia Technicznego |