background image

802.1ad 

Q in Q

Dokumentacja seminarium przedmiotu Sieci Ethernet 2011 

Łukasz Wrzesiński 

Wprowadzenie 

W roku 1998 zatwierdzony został standard 802.1Q (zaktualizowany 7 lat później w zbiorczym 

standardzie 802.1Q-2005). Dotyczy on koncepcji, interpretacji i realizacji wirtualnych sieci LAN 

(VLANów). Zatwierdzenie standardu oraz realizacja jego założeń w ogromnej ilości dostępnego na 

rynku sprzętu sieciowego oraz ogólna potrzeba zarządzania sieciami komputerowymi poprzez ich 

logiczną segregację spowodowały, że standard ten jest używany powszechnie i jest swoistym „must 

have” w każdym zarządzanym przełączniku sieciowym powyżej klasy SOHO/entry level. 

Korzystanie z VLANów ma swoistą zaletę – umożliwia w prosty sposób wydzielenie niemal całkowicie 

niezależnych i odizolowanych od siebie logicznych sieci Ethernetowych w ramach istniejącej fizycznej 

infrastruktury w łatwy do zarządzania i przezroczysty dla użytkowników i ich urządzeń sposób. 

Ponadto zwiększa bezpieczeństwo takich logicznych sieci poprzez izolowanie ich ruchu. 

Niestety, wraz z upowszechnianiem się sieci Ethernetowych w poważnych zastosowaniach (Carrier 

Ethernet, w tym np. sieci metropolitalne) oraz dążeniem do realizacji koncepcji Ethernet End-to-End, 

zaczęły wychodzić na jaw pewne braki standardu znacząco utrudniające wykorzystanie Ethernetu w 

takiej roli. Do braków tych należą: 

 

Mała (współcześnie) liczba możliwych do ponumerowania VLANów 4093 – 4094 zależnie od 

implementacji, 

 

Jednowarstwowa (płaska) numeracja – brak jakiejkolwiek hierarchii, 

 

Problemy z separacją ruchu już podzielonego z użyciem VLANów. 

Są one szczególnie uciążliwe w sieciach operatorskich świadczących usługi Ethernetowe mniejszym 

podmiotom, np. firmom. 

Problemy te zostały wzięte pod uwagę podczas tworzenia dodatku do standardu 802.1Q, którego 

celem było dostosowanie VLANów do użytku w sieciach operatorskich. Dodatek ten został 

opublikowany w 2005r. jako standard 802.1ad, i jest znany szerzej jako QinQ, Provider Bridging, VLAN 

Stacking bądź Double Tagging. 802.11ad-2005 został zdefiniowany przez IEEE jako nowelizacja 

(amendment) standardu 802.1Q-2005. 

802.11ad 

Standard ten został opracowany z myślą o dużych sieciach operatorskich i usługowych, jak np. sieci 

zaliczające się do nabierającej ostatnio na znaczeniu koncepcji Metro Ethernet. Rozwiązuje on trzy 

wymienione powyżej problemy standardu 802.1Q w prosty i skalowalny sposób: 

background image

 

Ponad 16,7 mln różnych VLANów przy typowej interpretacji standardu, w praktyce często 

wielokrotnie więcej, 

 

Druga warstwa numeracji VLANów (przy standardowych dwóch tagach), 

 

Umożliwia operatorom zwiększenie bezpieczeństwa sieci poprzez izolację podsieci swoich 

klientów. 

Od technicznej strony QinQ realizuje swoje założenia poprzez dodanie drugiego taga, 

poprzedzającego standardowy VLAN Tag zgodny ze standardem 802.1Q. Budowa taga oraz 

interpretacja zawartości jest identyczna jak dotychczasowa. Rozszerzoną numerację dało by się 

uzyskać rozszerzając pojemność (w bitach) dotychczasowego pola VLAN ID, ma to jednak szereg wad 

– wciąż płaska hierarchia, zarówno VLANów, jak i spokrewnionej technologii – priorytetów (802.1p). 

Nie rozwiązuje to także żadnego problemu poza samą ilością VLANów. Utrudnia to także 

implementację standardu w sprzęcie obsługującym 802.1Q. 

Zdecydowano więc, że dodany zostanie drugi, bliźniaczy tag, dla odróżnienia o innej zawartości pola 

TPID, interpretowanej początkowo przez przełącznik jako pole EtherType. Wartość podana w 

standardzie to 0x88a8 i taka też została zarezerwowana, jednak nie jest ona w praktyce 

wykorzystywana. Większość przełączników na rynku stosuje w tym celu wartość 0x9100, 0x9200 lub 

0x9300, przełączniki firmy Cisco zaś stosują wartość 0x8100 (taką samą jak standardowy tag 802.1Q). 

 

Z implementacyjnego punktu widzenia nie ma znaczenia czy wartość ta jest taka sama czy różna od 

0x8100 ponieważ cała koncepcja 802.1ad polega na potraktowaniu tagów jako stosu, ze 

standardowymi, znanymi z programowania, operacjami push, pop i modify (pop+push). Wierzch 

stosu znajduje się zawsze tuż za polem zawierającym adres źródłowy ramki Ethernetowej, spód zaś 

zawsze przed oryginalnym polem EtherType. Przetwarzający ramkę przełącznik przetwarza zawsze 

pierwszy napotkany tag i nie musi wiedzieć czy jest to standardowy tag 802.1Q (zwany w 802.1ad 

tagiem wewnętrznym bądź customer tag a reprezentowany przez niego VLAN – Customer Edge 

VLAN) czy też dodatkowy tag standardu 802.1ad (zwany tagiem zewnętrznym lub service tag a 

reprezentowany przez niego VLAN – Service Provider VLAN lub Provider Edge VLAN; na obrazku 

powyżej również MetroTag). Z tego względu przetwarzanie ramek wykorzystujących QinQ nie różni 

się wydajnościowo od przetwarzania ramek 802.1Q. 

background image

 

Powyższa ilustracja (przedstawiająca kolejność pól w ramce Ethernetowej – proszę się nie sugerować 

ich rozmiarami, ponieważ nie zostały ujęte na obrazku) przedstawia użycie potrójnego tagowania. 

Jest to największa zaleta stosowej konstrukcji tagów – choć dotychczas nie ujęte w standardzie 

potrójne tagowanie nie zostało wprost zdefiniowane, to wyraźnie taki jest kierunek tego standardu, 

skonstruowanego tak by można go było w przyszłości rozszerzać w prosty sposób. Co więcej, pomimo 

niezdefiniowania trzeciego taga w standardzie, stosowa implementacja tagowania ramek umożliwia 

już teraz (w wielu urządzeniach klasy operatorskiej) wykorzystanie tagowania wielokrotnego 

(nieograniczonego do dwóch ani nawet do trzech tagów). 

Zastosowania 

QinQ został opracowany z myślą o sieciach operatorskich świadczących usługi klientom posiadającym 

swoja własne rozbudowane sieci, o czym świadczy choćby użyte nazewnictwo – service tag i 

customer tag. Jego podstawowym zastosowaniem zatem jest izolacja ruchu sieciowego różnych 

klientów operatora w przezroczysty sposób umożliwiający tym klientom również pełne wykorzystanie 

swojej sieci, w tym właśnie dowolne definiowanie ich własnych VLANów. Scenariusz wygląda zatem 

tak (nazewnictwo tagów z ilustracji powyżej): 

 

QinQ (tag wewnętrzny) – do wykorzystania przez klienta operatora, np. korzystającą z jego 

usług firmę, 

 

Q (tag zewnętrzny) – do separacji ruchu różnych klientów. 

Dzięki możliwości użycia wielokrotnego tagowania nic nie stoi na przeszkodzie by podzielić ruch 

sieciowy w bardzie skomplikowany sposób: 

 

QinQinQ – izolacja ruchu każdej stacji w sieci klienckiej (np. stacja w sieci bezprzewodowej 

lub przyłącze w mieszkaniu klienta sieci osiedlowej), 

 

QinQ – do rozdzielania segmentów sieci osiedlowej, 

 

Q – do wykorzystania przez nadrzędnego operatora (np. sieci metropolitalnej) do 

rozdzielenia ruchu klientów (klientem jest tu sieć osiedlowa). 

background image

Pierwszy scenariusz, z udziałem firm A oraz D został zaprezentowany na poniższym schemacie 

(testery sieciowe należy potraktować jako chmurkę z dowolnym segmentem sieci danej firmy, 

złożonym z wielu komputerów): 

 

QinQ – problemy 

QinQ, choć przydatny i bardzo szeroko wykorzystywany, nie ustrzegł się kilku problemów, których 

administrator sieci operatorskiej musi być świadomy: 

 

VLANy, w szczególności QinQ, choć nie pogarszają wydajności sieci, zwykle niestety również 

jej nie poprawiają, pomimo podzielenia jej na mniejsze segmenty. Spowodowane jest to tym, 

że przełączniki przeważnie nie przechowują oddzielnych tablic odwzorowań MAC-port dla 

każdego VLANu, tylko stosują tradycyjną pojedynczą tablicę i dopiero po odnalezieniu 

wyników w tej tablicy odfiltrowują je z użyciem ID VLANu, 

 

A tablica ta nie jest mała ponieważ przełączniki operatora muszą się uczyć wszystkich 

adresów MAC sieci zarówno operatora jak i jego klientów – co prowadzi do powstawania 

ogromnych tablic MAC-port w takich urządzeniach – cierpi na tym skalowalność takich 

rozwiązań i wpływ na opóźnienia, 

 

Należy pamiętać, że VLANy nie stanowią izolacji absolutnej pomiędzy sieciami – urządzenia 

operatora mogą być wciąż podatne na takie problemy jak powtórzony adres MAC w sieciach 

jego klientów, i tagowanie QinQ może nie zapewnić przed tym ochrony, 

 

Tagowanie wielokrotne nie zostało zdefiniowane w standardzie, zatem urządzenia mogą je 

wspierać (przyszłościowo i elastycznie) lub nie (stricte jak w standardzie), ponadto 

stwierdzono już problemy z wzajemną łącznością urządzeń różnych producentów (przede 

wszystkim Cisco vs. Reszta Świata) z powodu niezgodnych ze standardem identyfikatorów w 

polu TPID. 

Część z tych problemów (pierwsze 3) jest możliwa do wyeliminowania z pomocą innych technologii 

(802.1ah-2008 czyli „MAC in MAC” bądź Provider Backbone Bridges), część (ostatni) zapewne 

zostanie wyeliminowana wraz z rozwojem standardu i jego dostosowywaniem do potrzeb rynku. 

Niemniej  rozwiązania  tego  typu  są  potrzebne  dla  dalszego  rozwoju  Ethernetu  i  mają  przed  sobą 

świetlaną przyszłość.