VLANy dla opornych cz. I

Wstęp Pod koniec lutego 2013. roku, zaczął się 1. semestr studiów II. stopnia na kierunku Informatyka. Trafiłem do grupy dziekańskiej, której znaczącą częścią byli Telekomunikanci. Dwa tygodnie później, podczas wygłaszania […]

Wstęp

Pod koniec lutego 2013. roku, zaczął się 1. semestr studiów II. stopnia na kierunku Informatyka. Trafiłem do grupy dziekańskiej, której znaczącą częścią byli Telekomunikanci. Dwa tygodnie później, podczas wygłaszania seminarium traktującego o standardzie 802.1Q, okazało się, że absolwenci Telekomunikacji, mimo obszernej wiedzy o transmisji danych i standardach telekomunikacyjnych, nie spotkali się z VLANami. Tak zrodziła się potrzeba napisania artykułu, który w prosty sposób „od ogółu do szczegółu” wyjaśni pojęcia VLANów, potrzeby powstania oraz pokrótce opisze część funkcjonalności zawartych w IEEE 802.1Q.

Sieci Lokalne

Z definicji, zawartej w książce „Sieci Komputerowe” autorstwa A. S. Tanenbauma, sieci lokalne, to sieci obejmujące zasięgiem budynek lub grupę budynków o średnicy do kilku kilometrów.
Współczesne społeczeństwo żyje w świecie, w którym wszystko, co tylko może jest podłączone z siecią: komputery, telefony, drukarki, telewizory, odtwarzacze blu-ray, kamery, termometry, listwy zasilające, stacje meteorologiczne, instalacje przemysłowe, czy urządzenia medyczne.

W czasach, gdy na Ziemi żyły dinozaury, a sieci budowano w oparciu medium uwspólnione np. przewód współosiowy, (popularnie zwany koncetrykiem,) przynależność do określonego LANu była uzależniona od fizycznego rozmieszczenia urządzeń. Komputery prezesa, działu badań i rozwoju, działu finansowego oraz woźnego były w tej samej sieci, bo znajdywały się w sąsiednich pokojach.

Z biegiem lat firmy zaczęły inwestować w infrastrukturę sieciową opartą o skrętkę, odstawiając topologie magistrali do lamusa. Pozwoliło to na tworzenie wielu sieci lokalnych na poziomie punktów dystrybucyjnych, czyli mówiąc wprost, przewody prowadzące do działu finansowego zostały podłączone do innych przełączników niżeli obsługa techniczna.
Nierozwiązany pozostał problem elastyczności oraz mobilności. W przypadku, gdy w firmie zachodzą zmiany organizacyjne, albo prezes postanowi pracować w sali konferencyjnej miast w swoim biurze, administrator sieci jest zmuszony fizycznie przepiąć przewody.
Kolejne utrudnienie staje się oczywiste, gdy sieć swym zasięgiem obejmuje kilka budynków. Sytuacja, gdy budynki są ze sobą połączone wieloma łączami, nawet dzisiaj, jest rzadkością. Tym bardziej, gdy budynki są od siebie znacznie oddalone. Nie sposób wówczas wprost połączyć księgowości w kilku budynkach za pomocą jednej sieci LAN.
Powyższe zjawisko było jedną z przyczyn rozpoczęcia prac nad wykorzystaniem jednego łącza fizycznego do przesyłu wielu łącz logicznych (wirtualnych).

Wirtualne Sieci Lokalne

Przesyłając ramki z wielu sieci jednym łączem, należy zadbać o szybki i jednoznaczny sposób multipleksacji i demultipleksacji. Istnieją dwie proste metody spełniające powyższe:
– obudowanie ramki (kapsułkowanie),
– oznaczenie ramki dodatkowym polem w nagłówku (tagowanie).

Pierwsza metoda w przeciwieństwie do drugiej powoduje konieczność wymiany sprzętu sieciowego, albowiem tworzona jest nowa ramka niezrozumiała przez dotychczasowe urządzania.

W standardzie IEEE 802.1Q zdecydowano się na wprowadzenie znakowania (tagowania) ramek.

W tym fragmencie tekstu wypada wspomnieć o tym, że w chwili opracowywania standardu 802.1Q istniały dwie konkurujące ze sobą technologie na których opierało się działanie sieci LAN. Były to Token Ring oraz Ethernet.
Docent Krzysztof Nowicki z Politechniki Gdańskiej wśród swoich studentów krzewi idee, że „Ethernet jest dobry na wszystko”, co doskonale zweryfikował rynek. Z pewnych względów (w tym też ekonomicznych) rynek wybrał Ethernet. Dzisiaj, Znakomitą część sieci lokalnych stanowią te oparte na Ethernecie. Znikoma ilość instalacji Token Ringowych sprawia, że tą technikę można nazwać „Tolkien Ringem” i postawić na półce obok „Władcy pierścieni”.

W niniejszym opracowaniu wykorzystywanie VLANów w kontekście Token Ringu nie zostanie poruszone.

Tagowanie

Jak wspomniano wcześniej, w 802.1Q zdecydowano się na wprowadzenie znakowania poprzez wprowadzenie dodatkowych pół w nagłówku ramki. Postanowiono by owe pola znalazły się pomiędzy adresem MAC nadawcy, a polem określającym typ ramki, co przedstawiono na poniższym rysunku zaczerpniętym z Wikipedii.

Nagłówek VLAN

Osadzenie nagłówka VLANu w ramce Eternitowej


Proszę zauważyć, że polem występującym w miejscu pola typu ramki, jest pole o takiej samej wielkości (dwa bajty), będące identyfikatorem protokołu VLAN. Pole te ma wartość 0x8100 co jest większe niż 1500 (0x5DC).
Własność ta sprawia, że wszystkie urządzenia interpretują pole etherType (w tym przypadku Tag Protocol IDentifier) nie jako długość ramki, ale jako typ. Starsze urządzenia nie znające typu 0x8100 winny odrzucić ramkę.
Niestety praktyka pokazuje, że nie wszystkie urządzenia postępują zgodnie z tą regułą.

Podczas opracowywania standardu stwierdzono, że skoro jest okazja na dodanie nowych pól do nagłówka ramki Ethernetowej, to powinno się ją wykorzystać i wprowadzić dodatkowe funkcjonalności, niekoniecznie związane z multipleksacją łącz. Postanowiono wprowadzić priorytety zgodne ze standardem 802.1p, wprowadzając namiastkę QoS, ale o tym później. Przeznaczono na ten cel kolejne trzy bity nagłówka protokołu VLAN.

Następne pole jest jedno bitowe – to Canonical Format Indicator. Jest to pole, którego przeznaczenie zmieniało się w czasie rozwoju standardu. W 2005 roku owy bit przeznaczony był do rożróznienia ramek Ethernetowych i Token Ringowych. Przyjmował wartość 1 w przypadku przenoszenia ramki Tolkien Ringowej i 0 w przypadku Ethernetu.
Jeśli na port Ethernetowy przypisany do określonego VLANu trafi ramka oznaczona jako Token Ringowa lub odwrotnie, ramka zostanie odrzucona.
W nowelizacji standardu z 2011 roku Canonical Format Indicator zmienił nazwę na Drop Eligible Indicator i funkcjonuje jako rozszerzenie trzech bitów priorytetu, pozwalając na odrzucenie ramki w przepadku przeciążenia sieci.

Ostatnim najważniejszym 12. bitowym polem jest identyfikator VLANu. To na podstawie tego pola funkcjonuje mulipleksacja VLANów. 12 bitów pozwalana stworzenie identyfikatorów od 0x000 do 0xFFF, ale te wartości skrajne są zarezerwowane. VLAN o identyfikatorze 0x000 jest niezwykły. Ten identyfikator oznacza brak przypisania do VLANu. Jego używanie ma sens jedynie w kontekście priorytetyzacji, ale implementacja tej funkcjonalności jest raczej incydentalna.
VLAN o identyfikatorze 1 przez wielu producentów jest używany jako domyślny VLAN. Jego używanie jest niezalecane, co wyjaśniono w artykule Konfiguracja przełączników HP ProCurve Cz. II – VLAN’y i Agregacja łączy.

Reasumując, nagłówek protokołu VLAN składa się z czterech bajtów, czyli 32. bitów. W jego skład wchodzą kolejno, poczynając od najstarszego bitu, następujące pola:
– 16 bitów Tag Protocol Identifier (TPID),
– 3 bity Priority Code Point (PCP),
– 1 bit Canonical Format Indicator (CFI)/Drop Eligible Indicator (DEI),
– 12 bitów VLAN Identifier (VID).

Przypisanie do VLANu

Pojęcie VLANu zostało już przybliżone, ale nasuwa się pytanie, jak przypisać coś do określonego VLANu?
Otóż, do VLANu można przypisać na podstawie:
– portu,
– adresu MAC,
– adresu IP, bądź adresu z innego protokołu L3,
– protokołu wyższych warstw,
– loginu i hasła.

Istnieje również możliwość dynamicznego przypisania portu do określonego VLANu na podstawie adresów MAC znajdujących się na danym porcie za pomocą protokołu RADIUS. Protokół ten może też odpowiadać za przypisanie za pomocą loginu i hasła. Wykorzystanie RADIUSa zostanie poruszone w osobnym artykule, o ile czas i Lama pozwolą.
Przypisanie portów do określonego VLANu jest trywialne i wyczerpująco opisane, na przykładzie konfiguracji przełączników HP, w artykule Konfiguracja przełączników HP ProCurve Cz. II – VLAN’y i Agregacja łączy.
Przypisywanie do VLANu na podstawie adresu MAC nie zostanie poruszone w niniejszym artykule.
Używanie adresu z warstwy trzeciej jako determinanta przynależności do VLANu jest kontrowersyjne. W przypadku IP sprawa jest jasna, ale proces wdrażania IPv6 jest w trakcie, a co jeżeli dojdzie do powstania IPv123?
Najprawdopodobniej istniejące przełączniki umrą śmiercią naturalną, ale (…) spowoduje to potrzebę kolejnej nowelizacji standardu. Z tej przyczyny przypisywanie do VLANu za pomocą adresu IP też nie zostanie poruszone w tym artykule.
Przypisywanie do VLANu za pomocą rozróżnienia określonych protokołów warstw wyższych sprowadza się najczęściej do różnicowania klasy ruchu za pomocą ACLek (Access Control Lists) w tym samym VLANie. Dla przykładu, możemy stworzyć regułę mówiącą, że jeśli w 8. VLANie rozpoznamy ruch związany z przesyłaniem mowy, to należy mu nadać priorytet 5.

P jak priorytety

W poprzednich paragrafach wspomniano o mechanizmie priorytetyzacji wprowadzonym do standardu. Stanowi on class of service (CoS) będący zgodny ze standardem IEEE 802.1p. Domyślna wartość CoS, podobnie jak w QoS w 802.11, to 1.
Szczegółowy wykaz priorytetów przedstawiono poniżej.

PCP 	Priority 	Acronym 	Traffic Types
1 	0 (lowest) 	BK 		Background
0 	1 		BE 		Best Effort
2 	2 		EE 		Excellent Effort
3 	3 		CA 		Critical Applications
4 	4 		VI 		Video, < 100 ms latency and jitter
5 	5 		VO 		Voice, < 10 ms latency and jitter
6 	6 		IC 		Internetwork Control
7 	7 (highest) 	NC 		Network Control

Co dalej…

W następnej części artykułu, zostaną poruszone tematy:
– wewnętrznej organizacji przęłączników w kontekście 802.1Q,
– agregacji łącz,
– GVRP,
– QinQ.

Przedstawione zostanie też schemat rozwoju standardu 802.1Q na upływie czasu.