{"id":29,"date":"2012-11-03T04:31:14","date_gmt":"2012-11-03T02:31:14","guid":{"rendered":"http:\/\/www.devices.nazwa.pl\/blog\/?p=29"},"modified":"2012-12-03T04:19:24","modified_gmt":"2012-12-03T02:19:24","slug":"vlan-od-podstaw","status":"publish","type":"post","link":"https:\/\/blog.devices.pl\/?p=29","title":{"rendered":"VLAN od podstaw !"},"content":{"rendered":"<p style=\"text-align: justify;\">Czytaj\u0105c sporo for\u00f3w jak i r\u00f3wnie\u017c grupy dyskusyjne zauwa\u017cy\u0142em, \u017ce temat VLAN\u00f3w przewija si\u0119 wr\u0119cz nieustannie &#8211; sporo os\u00f3b ma problemy z konfiguracj\u0105 czy te\u017c ze zrozumieniem koncepcji i istoty dzia\u0142ania tej technologii. A VLANy na pewnym etapie staj\u0105 si\u0119 po prostu nieodzowne i pozwalaj\u0105 nie tylko na &#8222;segmentacj\u0119&#8221; sieci, ale r\u00f3wnie\u017c na wprowadzenie nowych ciekawych funkcjonalno\u015bci poczynaj\u0105c od faktu &#8222;pchania&#8221; wielu sieci przez jedno \u0142\u0105cze do tworzenia wydzielonej sieci s\u0142u\u017c\u0105cej do administracji.<!--more--><\/p>\n<p style=\"text-align: justify;\"><strong>Czym jest VLAN ?<\/strong><\/p>\n<p style=\"text-align: justify;\">VLAN (czyli formalnie Virtual Local Area Network) to w wielkim skr\u00f3cie technologia pozwalaj\u0105ca na podzielenie port\u00f3w w prze\u0142\u0105czniku w logiczne odizolowane grupy. Dzi\u0119ki temu mo\u017cemy podzieli\u0107 nasz prze\u0142\u0105cznik posiadaj\u0105cy np. 48 port\u00f3w na dwie grupy po np. 24 port\u00f3w ka\u017cda. Oczywi\u015bcie podzia\u0142 ten mo\u017ce by\u0107 dowolny i nic nie stoi na przeszkodzie, \u017ceby nawet dla ka\u017cdego z 48 port\u00f3w wydzieli\u0107 osobn\u0105 grup\u0119 VLANu &#8211; niemniej sens takiej konfiguracji by\u0142by niewielki.<\/p>\n<p style=\"text-align: justify;\">Warto jednak zaznaczy\u0107, \u017ce wielu producent\u00f3w VLAN&#8217;em okre\u015bla kilka r\u00f3\u017cnych funkcjonalno\u015bci &#8211; kt\u00f3re cz\u0119sto z formalnym standardem obs\u0142ugi VLAN\u00f3w IEEE 802.1Q nie wiele maj\u0105 wsp\u00f3lnego. Dlatego prze\u0142\u0105czniki mo\u017cemy podzieli\u0107 z tego powodu w sumie na takie umowne 4 kategorie :<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>Prze\u0142\u0105czniki niezarz\u0105dzalne Passthrough VLAN<\/strong> &#8211; Przepuszczaj\u0105 ramki 802.1Q &#8211; ale nie pozwalaj\u0105 na zdefiniowanie \u017cadnego VLANu. Zasadniczo tak zachowuje si\u0119 niemal\u017ce ka\u017cdy prosty switch za kilkadziesi\u0105t z\u0142otych.<\/li>\n<li><strong>Prze\u0142\u0105czniki niezarz\u0105dzalne &#8222;z dipswitchem&#8221;<\/strong> &#8211; W nich VLANy ustawiane s\u0105 za pomoc\u0105 prze\u0142\u0105cznika, ale nie wspieraj\u0105 w pe\u0142ni &#8222;tagowanych&#8221; VLAN\u00f3w w standardzie 802.1Q. Ich funkcjonalno\u015b\u0107 cz\u0119sto ogranicza si\u0119 tylko do izolacji port\u00f3w mi\u0119dzy sob\u0105.<\/li>\n<li><strong>Prze\u0142\u0105czniki zarz\u0105dzalne z obs\u0142ug\u0105 VLAN jako Port Based<\/strong> &#8211; najcz\u0119\u015bciej s\u0105 to kompaktowe prze\u0142\u0105czniki zarz\u0105dzalne &#8211; popularne WebSmarty- kt\u00f3re obs\u0142uguj\u0105 tworzenie grup VLANowych, ale cz\u0119sto bez obs\u0142ugi tagowania ramek zgodnie z 802.1Q.<\/li>\n<li><strong>Prze\u0142\u0105czniki zarz\u0105dzalne z pe\u0142n\u0105 obs\u0142ug\u0105 802.1Q<\/strong> &#8211; czyli najbardziej uniwersalne prze\u0142\u0105czniki, kt\u00f3re pozwalaj\u0105 na przenoszenie ramek ethernetowych wraz z tzw. tagami.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Oczywi\u015bcie istniej\u0105 r\u00f3wnie\u017c prze\u0142\u0105czniki obs\u0142uguj\u0105ce i tryb Port Based oraz 802.1Q (np. TP-Link TL-SL2218WEB). Oczywi\u015bcie to jest tylko wierzcho\u0142ek g\u00f3ry lodowej tak naprawd\u0119, gdy\u017c producenci wprowadzaj\u0105 coraz to bardziej &#8222;wymy\u015blne&#8221; sposoby interpretacji standardu pozwalaj\u0105c np. na bezpo\u015brednie przypisywanie konkretnego VLANu do adresu MAC pojawiaj\u0105cego si\u0119 w ca\u0142ej sieci prze\u0142\u0105cznik\u00f3w lub przypisanie VLANu nawet do konkretnych us\u0142ug TCP\/IP. \u017beby zrozumie\u0107 zasad\u0119 dzia\u0142ania oraz co i z czym si\u0119 &#8222;je&#8221; nale\u017cy zrozumie\u0107 poj\u0119cie TAG&#8217;owania.<\/p>\n<p style=\"text-align: justify;\"><strong>TAG &#8211; czyli znakowane ramki<\/strong><\/p>\n<p style=\"text-align: justify;\">TAG z j\u0119zyka angielskiego mo\u017cna przet\u0142umaczy\u0107 jako znak lub znacznik. Podobnie jak w przypadku iptables &#8211; mo\u017cemy w kernelu Linuxa markowa\u0107 sobie pakiety &#8211; tak w przypadku VLAN\u00f3w mo\u017cemy oznacza\u0107 poszczeg\u00f3lne ramki Ethernetowe. Odbywa si\u0119 to zgodnie ze standardem 802.1Q &#8211; kt\u00f3ry definiuje dwa dodatkowe pola w ramce Ethernet o \u0142\u0105cznej d\u0142ugo\u015bci 4 bajt\u00f3w. Pola te nazywaj\u0105 si\u0119 po kolei TPID (Tag Protocol Identifier) oraz TCI (Tag Control Information). Pole TPID jest zasadniczo zawsze sta\u0142e i reprezentowane przez warto\u015b\u0107 szesnastkow\u0105 0x8100. Pole TCI zawiera przede wszystkim 12 bitowy identyfikator VLANu. Pozosta\u0142e bity zarezerwowane s\u0105 na dodatkowe informacje o technologii oraz priorytecie &#8211; gdy\u017c dane z poszczeg\u00f3lnych VLAN\u00f3w mog\u0105 by\u0107 r\u00f3wnie\u017c odpowiednio z okre\u015blonym priorytetem prze\u0142\u0105czane przez switcha.<\/p>\n<p style=\"text-align: justify;\">Z uwagi, \u017ce do dyspozycji posiadamy 12 bit\u00f3w przeznaczonych na okre\u015blenie identyfikatora VLANu &#8211; do dyspozycji mamy sumarycznie 4096 znaczniki, z czego warto\u015b\u0107 0 i 4096 nie mo\u017ce by\u0107 u\u017cywana. St\u0105d do dyspozycji mamy 4094 r\u00f3\u017cne VLANy. Skoro ju\u017c wiemy czym s\u0105 TAGi warto zada\u0107 proste pytanie.<\/p>\n<p style=\"text-align: justify;\"><strong>Czym r\u00f3\u017cni si\u0119 Port Based od 802.1Q ?<\/strong><\/p>\n<p style=\"text-align: justify;\">R\u00f3\u017cnica jest bardzo prosta. O ile w przypadku 802.1Q ramki s\u0105 oznaczane TAGiem i mog\u0105 one z takim znacznikiem opuszcza\u0107 prze\u0142\u0105cznik. O tyle w przypadku trybu Port Based VLANy s\u0105 tworzone tylko w konfiguracji prze\u0142\u0105cznika. Dzia\u0142anie takie mo\u017ce by\u0107 oczywi\u015bcie po\u017c\u0105dane w przypadku kiedy chcemy w prosty spos\u00f3b izolowa\u0107 porty &#8211; porty mi\u0119dzy sob\u0105 si\u0119 nie widz\u0105, ale widz\u0105 jeden wsp\u00f3lny port w ramach oczywi\u015bcie jednego prze\u0142\u0105cznika. Port Based przydaje si\u0119 r\u00f3wnie\u017c w przypadku kiedy chcemy prze\u0142\u0105cznik po prostu podzieli\u0107 na dwa urz\u0105dzenia &#8211; wszystko oczywi\u015bcie zale\u017cy z jakim rodzajem prze\u0142\u0105cznika mamy do czynienia. Bardziej uniwersalne i zdecydowanie bardziej funkcjonalniejsze s\u0105 prze\u0142\u0105czniki obs\u0142uguj\u0105ce standard 802.1Q.<\/p>\n<p style=\"text-align: justify;\"><strong>Czym r\u00f3\u017cni\u0105 si\u0119 poszczeg\u00f3lne tryby pracy portu ?<\/strong><\/p>\n<p style=\"text-align: justify;\">W switchach obs\u0142uguj\u0105cych standard 802.1Q mo\u017cemy wyr\u00f3\u017cni\u0107 generalnie 3-4 tryby pracy poszczeg\u00f3lnego portu w prze\u0142\u0105czniku. Oczywi\u015bcie w zale\u017cno\u015bci od producenta prze\u0142\u0105cznika funkcjonalno\u015b\u0107 VLAN\u00f3w nazewnictwo jak i typ portu mog\u0105 by\u0107 zupe\u0142nie r\u00f3\u017cne &#8211; wtedy niestety nale\u017cy zag\u0142\u0119bi\u0107 si\u0119 w dokumentacj\u0119, gdy\u017c np. port ustawiony w trybie Trunk w prze\u0142\u0105cznikach Cisco Catalyst \u00a0to nie jest ten sam rodzaj Trunku co w przypadku prze\u0142\u0105cznik\u00f3w D-Link, Linksys czy TP-Link, ale mo\u017ce od pocz\u0105tku.<\/p>\n<p style=\"text-align: justify;\">Prze\u0142\u0105czniki zwykle maj\u0105 za zadanie odpowiednio kierowa\u0107 ramki Ethernetowe do odpowiednich port\u00f3w &#8211; st\u0105d znaczniki ramek s\u0105 odpowiednio dodawane lub usuwane w zale\u017cno\u015bci czy dana ramka przychodzi na dany port (Ingress) czy te\u017c opuszcza port (Egress). W przypadku kiedy ramki przychodz\u0105 na port &#8211; switch mo\u017ce domy\u015blnie &#8222;otagowa\u0107&#8221; ramk\u0119 je\u015bli ta nie jest ju\u017c wcze\u015bniej oznaczona (tryb ACCESS i GENERAL). Kiedy ramka ma zosta\u0107 wys\u0142ana na konkretny port ramka mo\u017ce zosta\u0107 pozbawiona znacznika (tryb ACCESS) lub mo\u017ce zosta\u0107 oznaczona odpowiednim znacznikiem (tryb TRUNK lub GENERAL). Podsumowuj\u0105c :<\/p>\n<ul>\n<li style=\"text-align: justify;\"><strong>ACCESS<\/strong> &#8211; W tym trybie prze\u0142\u0105cznik akceptuje zwykle wszystkie nietagowane ramki i nadaje im znacznik z g\u00f3ry zdefiniowany za pomoc\u0105 pola PVID. Je\u015bli dane maj\u0105 zosta\u0107 wys\u0142ane na port w trybie ACCESS &#8211; znacznik zostaje usuni\u0119ty. Warto tutaj zaznaczy\u0107, \u017ce \u00a0w przypadku trybu ACCESS przypisa\u0107 mo\u017cemy tylko jeden wybrany VLAN.<\/li>\n<li style=\"text-align: justify;\"><strong>GENERAL<\/strong> &#8211; Ten tryb pracy jest najbardziej uniwersalny, gdy\u017c oferuje mo\u017cliwo\u015b\u0107 odbierania ramek nietagowanych i tagowanych. W przypadku ramek nietagowanych mo\u017cemy oczywi\u015bcie nada\u0107 im odpowiedni PVID. W przypadku ramek tagowanych mo\u017cemy wskaza\u0107 jakie ramki chcemy zaakceptowa\u0107 &#8211; w tym celu dopisujemy w konfiguracji prze\u0142\u0105cznika jakie VLANy maj\u0105 by\u0107 przypisane do danego portu.<\/li>\n<li style=\"text-align: justify;\"><strong>TRUNK<\/strong> &#8211; Ten tryb w zale\u017cno\u015bci od producenta prze\u0142\u0105cznika zwykle definiowany jest jako pory kt\u00f3rym &#8222;przepychane&#8221; s\u0105 wszystkie VLANy jakie znajduj\u0105 si\u0119 w obr\u0119bie prze\u0142\u0105cznika. W przypadku switchy Cisco Catalyst port ustawiony w trybie TRUNK akceptuje wszystkie ramki tagowane i r\u00f3wnie\u017c wysy\u0142a wszystkie VLANy. W przypadku nowszych switchy Cisco czy te\u017c nawet TP-Link\u00f3w &#8211; w konfiguracji nale\u017cy zdefiniowa\u0107 jakie VLANy akceptujemy. Wi\u0119c funkcjonalno\u015b\u0107 portu w trybie TRUNK nie r\u00f3\u017cni si\u0119 wiele w odr\u00f3\u017cnieniu od trybu GENERAL &#8211; jednak port w takim trybie nie b\u0119dzie akceptowa\u0142 nietagowanych ramek.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Istnieje oczywi\u015bcie jeszcze jeden tryb pracy oznaczany w niekt\u00f3rych prze\u0142\u0105cznikach jako <strong>Q-in-Q<\/strong>. W tym trybie prze\u0142\u0105cznik pozwala na zagnie\u017cd\u017canie VLAN\u00f3w w VLANie zgodnie ze standardem 802.1ad. Funkcjonalno\u015b\u0107 tak\u0105 posiadaj\u0105 prze\u0142\u0105czniki przeznaczone zwykle do realizacji us\u0142ug Metro Ethernet &#8211; ale na potrzeby tego wpisu nie b\u0119dziemy tego analizowa\u0107.\u00a0Warto r\u00f3wnie\u017c doda\u0107, \u017ce w wi\u0119kszo\u015bci popularnych prze\u0142\u0105cznik\u00f3w dost\u0119pny jest r\u00f3wnie\u017c protok\u00f3\u0142 GVRP &#8211; kt\u00f3ry pozwala informowa\u0107 prze\u0142\u0105czniki o dost\u0119pnych sieciach VLAN poprzez port w trybie TRUNK. Wyobra\u017amy sobie sytuacj\u0119, \u017ce mamy sie\u0107 sk\u0142adaj\u0105ca si\u0119 z kilku prze\u0142\u0105cznik\u00f3w po\u0142\u0105czonych ze sob\u0105 szeregowo. Mi\u0119dzy kra\u0144cami sieci chcemy wydzieli\u0107 wirtualn\u0105 sie\u0107 mi\u0119dzy dwoma urz\u0105dzeniami wpi\u0119tymi do prze\u0142\u0105cznik\u00f3w. W przypadku kiedy nie korzystamy z protoko\u0142u GVRP utworzenie takiego kana\u0142u transmisji wymaga\u0142oby dodania danego VLANu na wszystkich prze\u0142\u0105cznikach w ramach port\u00f3w trunkowych. W przypadku u\u017cycia GVRP tworzymy porty w trybie ACCESS gdzie chcemy mie\u0107 odpowiednie ko\u0144c\u00f3wki takiej sieci i przypisujemy im ten sam VLAN &#8211; switche automatycznie zaczn\u0105 rozg\u0142asza\u0107 &#8222;osi\u0105galno\u015b\u0107&#8221; takiego VLANu na odpowiednich portach eliminuj\u0105c r\u0119czn\u0105 konfiguracj\u0119.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czytaj\u0105c sporo for\u00f3w jak i r\u00f3wnie\u017c grupy dyskusyjne zauwa\u017cy\u0142em, \u017ce temat VLAN\u00f3w przewija si\u0119 wr\u0119cz nieustannie &#8211; sporo os\u00f3b ma problemy z konfiguracj\u0105 czy te\u017c ze zrozumieniem koncepcji i istoty dzia\u0142ania tej technologii. A VLANy na pewnym etapie staj\u0105 si\u0119 &hellip; <a href=\"https:\/\/blog.devices.pl\/?p=29\">Czytaj dalej <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/posts\/29"}],"collection":[{"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":6,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/blog.devices.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.devices.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}