background image

 

802.1p - priorytety w 

Ethernecie 

Dokumentacja 

 

Paweł Smogorzewski 

  

 

 

 

 

 

  

background image

 802.1p – Priorytety 

Strona 2 

 

 

 

Spis treści 

Wstęp ...................................................................................................................................................... 3 

Cel priorytetów ........................................................................................................................................ 3 

Budowa ramki.......................................................................................................................................... 3 

Zasady działania....................................................................................................................................... 4 

Rodzaje priorytetów ............................................................................................................................ 4 

Kolejkowanie ....................................................................................................................................... 5 

Przesyłanie ramek ............................................................................................................................... 6 

Mapowanie .......................................................................................................................................... 7 

DiffServ .................................................................................................................................................... 8 

Priorytety w Q-in-Q (802.1ad) ................................................................................................................. 9 

CoS a QoS .............................................................................................................................................. 10 

Uzupełnienie i podsumowanie .............................................................................................................. 11 

Bibliografia ............................................................................................................................................. 11 

 

 

 

background image

 802.1p – Priorytety 

Strona 3 

 

 

 

Wstęp 

 

Odkąd Ethernet stał się najpopularniejszą technologią dostępu do sieci LAN coraz większe znaczenie 

zyskiwało zarządzanie ruchem w celu uzyskania jego jak najlepszej jakości. W latach 1995-1998 IEEE 

opracowało  standard  802.1p,  w  którym  opisano  priorytetyzowanie  ruchu.  Opracowanie 

tego standardu było ważne w kontekście ekspansji Ethernetu na profesjonalne sieci.  

Na  początku  należy  wyjaśnić  pewne  zależności  pomiędzy  standardami.  Standard  802.1p  dotyczący 

priorytetów  do  ich  działania  wykorzystuje  ramkę  ethernetową,  której  struktura  jest  identyczna 

z ramką  używaną  w  standardzie  802.1q  czyli  w  wirtualnych  sieciach  lokalnych  (vlan).  Te  dwa 

standardy są od siebie niezależne i w mogą istnieć samodzielnie. W praktyce jednak sprzęt sieciowy 

najczęściej  posiada  wsparcie  dla  obydwu  bądź  dla  żadnego  z  nich.  Standardy  te  są  częścią  802.1d 

(2004r.), który opisuje działanie protokołu drzewa rozpinającego (STP). 

Cel priorytetów 

 

Głównym  celem  priorytetów  jest  poprawa  jakości  usług  w  warstwie  drugiej  modelu  OSI. 

Ich przydatność jest szczególnie przydatna przy tworzeniu się zatorów w sieci. Dzięki temu ważniejszy 

ruch będzie miał pierwszeństwo przed ruchem mniej ważnym. 

Budowa ramki 

 

Na poniższym rysunku została przedstawiona struktura ramki wykorzystującej priorytety (Rysunek 1 

Ramka 802.1 p/q). 

 

Rysunek 1 Ramka 802.1 p/q 

background image

 802.1p – Priorytety 

Strona 4 

 

 

 

Jest  to  ramka  używana  w  VLANach,  która  została  zaadoptowana  do  przenoszenia  priorytetów. 

W porównaniu  do  standardowej  ramki  ethernetowej  o  długości  d  1518  bajtów,  ta  posiada 

dodatkowo 4 bajty: 

• 

TPID  (Tag  Protocol  Identifier)-  dwubajtowe  pole,  które  definiuje  typ  ramki  i  jest  wartością 

szesnastkową. W tym przypadku ma wartość równą 0x8100 mówiącą o tym, że jest to ramka 

802.1q/p. 

• 

TCI (Tag Control Identifier) 

o

  User  Prioryty  -  pole  składające  się  z  trzech  bitów,  które  może  przyjąć  8  wartości. 

Używane  do  oznaczenia  priorytetu  ramki.  Możliwe  jest  zatem  zdefiniowanie  8 

priorytetów. W standardzie 802.1q te 3 bity nie mają zdefiniowanego zastosowania. 

o

  CFI  (Canonical  Format  Indicator)  –  jednobitowy  identyfikator,  który  mówi  o  tym, 

w jakiej technologii została utworzona sieć LAN. Dla sieci w technologii Ethernet jest 

ustawiona na wartość zero, natomiast dla Token Ring ma wartość 1. Pole to zostało 

wydzielone  w  celu  zachowania  kompatybilności  z  polem  TYP  w  Ethernecie  i  Token 

Ring. Jeżeli ramka odebrana na porcie Ethernet ma bit CFI równy jeden, nie powinna 

być przekazywana, ponieważ jest to nieoznaczony port. 

o

  VID  (VLAN  ID)  –  12-bitowe  pole  określające,  do  której  sieci  VLAN  należy  ramka. 

Wartość zero oznacza, że ramka nie należy do żadnej wirtualnej sieci, wartość jeden 

jest  wykorzystywana  dla  mostów,  a  wartość  0xFFF  jest  zarezerwowana  do  innych 

celów. Pozostałe 4093 wartości mogą być użyte do oznaczenia poszczególnych sieci 

VLAN.  Urządzenie  działające  w  standardzie  802.1Q  po  otrzymaniu  takiej  ramki 

odczytuje VLAN ID i kieruje ramkę do odpowiedniej sieci wirtualnej. 

Zasady działania 

Rodzaje priorytetów 

 

Priorytet 

Typ ruchu 

Rekomendowane zastosowanie 

Network Control 

Ruch krytyczny związany z zarządzaniem sieci – np. OSPF 

Voice 

Wrażliwość na opóźnienia - do 10 ms 

Video 

Wrażliwość na opóźnienia - do 100 ms 

Controlled Load 

Aplikacje wykorzystujące z góry określone pasmo - media 
strumieniowe 

Excellent Effort 

Najlepsze dostarczanie dla ważnych danych (aplikacji) 

Best Effort 

Klasa domyślna 

Spare 

Ruch mało ważny 

Background 

Ruch masowy, gry, transmisje ftp, itp. 

Tabela 1 Priorytety i typy ruchu 

background image

 802.1p – Priorytety 

Strona 5 

 

 

 

W powyższej tabeli (1) zostały opisane wszystkie możliwe priorytety używane w Ethernecie a każdy 

z nich definiuje jakąś klasę ruchu.  

Kilka słów wyjaśnień wymaga uporządkowanie priorytetów w tabeli. Ostatnie trzy klasy ruchu zostały 

umieszczone  w  sposób  sugerujący,  iż  ramka  o  priorytecie  0  (best  effort)  jest  ważniejsza  od  ramki 

z priorytetem 1 lub 2. Takie przedstawienie wynika z przyjętego podziału na klasy ruchu, gdzie nazwa 

Background  kojarzy  się  jako  ruch  mniej  ważny  od  ruchu  Best  Effort.  Jeżeli  jednak  ruch  zostanie 

oznaczony jako Background (priorytet o wartości 1) to będzie on ważniejszy od Best Effort (priorytet 

o wartości 0) tylko teoretycznie, ponieważ priorytety służą do nadawania klasy ruchu. O kolejności 

wysyłania ramek decyduje mechanizm kolejkowania.  

W  wypadku  mapowania  (patrz  Tabela  3  Mapowanie  priorytetów)  widać  wyraźnie,  że  priorytet 

dla ruchu  Best Effort ,o ile to możliwe,  jest odwzorowywany tak, że ma on wtedy większy priorytet 

o ruchu typu Spare i Background. 

Kolejkowanie 

W  tabeli  2  zostały  przedstawione  wszystkie  możliwe  kombinacje  kolejek.  Powyższą  tabelę  należy 

czytać  następująco:  nawiasy  klamrowe  oznaczają  jedną  kolejkę  a ich  zawartość  mówi  o  tym,  jakie 

klasy ruchu może przechowywać dana kolejka. Dla danej liczby kolejek te, które są umieszczone niżej 

(oznaczone dalszą literą alfabetu) zawierają ramki o wyższym priorytecie niż te, które są umieszczone 

nad nimi (oznaczone wcześniejszymi literami alfabetu). 

Liczba 

kolejek 

Typ ruchu w danej kolejce 

A {Background, Best Effort, Excellent effort,  Controlled Load, Video, Voice, Network Control} 

A {Background, Best Effort, Excellent effort } 

B {Controlled Load, Video, Voice,  Network Control} 

A {Background , Best Effort, Excellent effort } 

B {Controlled Load, Video} 

C {Voice, Network Control} 

A {Background} 

B {Best Effort, Excellent effort} 

C {Controlled Load, Video} 

B {Voice, Network Control} 

A {Background} 

B {Best Effort, Excellent effort} 

C {Controlled Load} 

D {Video} 

E {Voice, Network Control} 

background image

 802.1p – Priorytety 

Strona 6 

 

 

 

A {Background} 

B {Best Effort 

C {Excellent effort} 

D {Controlled Load} 

E {Video} 

F {Voice, Network Control} 

A {Background} 

B {Best Effort} 

C {Excellent effort} 

D {Controlled Load} 

E {Video} 

F {Voice} 

G {Network Control} 

Tabela 2 Kolejkowanie 

W  praktyce  każdy  port  urządzenia  warstwy  drugiej  (np.  przełącznika)  implementującego  standard 

802.1p posiada swoje kolejki. Ich ilość określa producent urządzenia.  

Bardzo ważną rzeczą jest mechanizm opróżniania kolejek. Używany jest tu algorytm typu round robin. 

W  pierwszej  kolejności  wysyłane  są  ramki  z  kolejki  o  najwyższym  priorytecie.  Ramki  z  kolejki 

o niższym  priorytecie  będą  wysyłane  dopiero,  gdy  kolejki  o  wyższych  priorytetach  będą  puste. 

Po wysłaniu  ramki  z  kolejki  o  nie  najwyższym  priorytecie,  sprawdzane  są  kolejki  o  wyższych 

priorytetach.  Jeżeli  są  puste  to  obsługujemy  aktualną  kolejkę,  jeśli  nie,  aktualną  kolejką  zostaje 

ta „najważniejsza”. 

Przesyłanie ramek 

Schemat priorytetyzacji ramek został przedstawione na Rysunek 2 Przesyłanie ramek z różnymi 

priorytetami - różne warianty kolejek. Widzimy na nim trzy hosty podłączone do tego samego 

przełącznika. Każdy z nich generuje ruch różnych klas. 

 

Rysunek 2 Przesyłanie ramek z różnymi priorytetami - różne warianty kolejek 

background image

 802.1p – Priorytety 

Strona 7 

 

 

 

W  celu  zrozumienia  działania  priorytetów  należy  przeanalizować  Rysunek  2  Przesyłanie  ramek  z 

różnymi priorytetami - różne warianty kolejekwykorzystując wiedzę o działaniu kolejek. W chwilach t

1

 

przychodzą  ramki  {7A  i  5C},  t

2

  =>  {3A,  4B,  0C},  t

3

  =>  {0A,  6B,  7C},  t

=> {5A,  3B,  5C}.  Przyjmijmy 

dla ułatwienia, że przełącznik kolejkuje ramki z czasów t

1

, t

2

, t

3

 i t

4

 i dopiero po czasie t

4

 rozpoczyna 

ich wysyłanie. Na porcie wyjściowym ramki zostaną wysłane w kolejności: 

• 

7A, 5C, 3A, 4B, 0C, 0A, 6B, 7C, 5A, 3B, 5C dla 1 kolejki 

• 

7A, 5C, 4B, 6B, 7C, 5A, 5C, 3A, 0C, 0A, 3B dla 2 kolejek, ponieważ: 

o

  w pierwszej (ważniejszej) kolejce ustawią się ramki: 7A, 5C, 4B, 6B, 7C, 5A, 5C 

o

  w drugiej kolejce ustawią się ramki: 

• 

7A , 6B, 7C, 5C, 4B, 5A, 5C, 3A , 0C, 0A, 3B dla 4 kolejek, ponieważ: 

o

  w pierwszej kolejce (najważniejszej) ustawią się ramki: 7A, 6B, 7C 

o

  w drugiej kolejce ustawią się ramki: 5C, 4B, 5A, 5C 

o

  w trzeciej kolejce ustawią się ramki: 3A , 0C, 0A, 3B 

o

  w czwartej kolejce ustawią się ramki: (pusta – brak ramek) 

Warto zauważyć, że jeżeli urządzenie posiada tylko 1 kolejkę na każdym porcie to ramki są wysyłane 

tak samo jak na urządzeniu nieobsługującego standardu 802.1p. 

 

Mapowanie 

Mechanizm mapowania stosuje, aby dane przesyłane są pomiędzy różnymi technologiami nie utraciły 

informacji o swojej klasie ruchu. Struktura ramki w każdej technologii jest najczęściej różna.  

Należy rozpatrzeć dwa przypadki mapowania priorytetów. Pierwszym z nich będzie sytuacja, w której 

ilość  dostępnych klas  ruchu  będzie mniejsza  niż ta  obecna  w  Ethernecie  (8  klas).  Wtedy  urządzenie 

warstwy drugiej musi odpowiednio odwzorować priorytety. Wykorzystuje do tego tablicę mapowania 

priorytetów (patrz Tabela 3 Mapowanie priorytetów). 

 

Liczba dostępnych klas ruchu 

1

 

2

 

3

 

4

 

5

 

6

 

7

 

8

 

  

  

  

Priorytet 

0

 

1

 

2

 

3

 

4

 

5

 

6

 

7

 

Tabela 3 Mapowanie priorytetów 

background image

 802.1p – Priorytety 

Strona 8 

 

 

 

Dobrym  przykładem  ilustrującym  działanie  mechanizmu  mapowania  jest  zestawienie  sieci 

wykorzystującej  technologię  Ethernet  i  HomePlug  (sieć  przez  gniazdko).  W  HomePlugu  możliwe  są 

do zdefiniowania  4  klasy  ruchu.  Rysunek  3  Mapowanie  priorytetów  Ethernet-HomePlug-

Ethernetprzedstawia trzy ramki które dotarły do adaptera w chwilach t

1

, t

2

 i t

3

 . Po przejściu ramek 

do technologii HomePlug ich klasy ruchu zostały odpowiednio zmapowane (6=>3, 0=>1, 5=>2). 

 

Rysunek 3 Mapowanie priorytetów Ethernet-HomePlug-Ethernet 

Drugą sytuacją odwzorowywania jest moment, w którym dane będą przemieszczać się z HomePluga 

do  Ethernetu.  Adapter  będzie  musiał  zmapować  z  4  klas  ruchu  do  8.  W  tym  wypadku  priorytety 

zostaną  pomnożone  przez  2.  Skutkuje  to  oczywiście  pewną  stratą  informacji  np.  ruch  typu  Video 

wysłany z hosta PC 1 docierając do hosta PC 2 będzie rozpoznawany jako klasa ruchu Controlled Load. 

Pomimo  tych  niewielkich  strat  mechanizm  klasyfikowania  przesyłanych  danych  działa  od  chwili 

wysłania informacji do chwili jej odbioru. 

Mapowanie  jest bardzo istotnym mechanizmem w 802.1p. Szczególnie,  jeśli pod uwagę weźmie się 

połączenia różnych technologii jak np. Ethernet z ATM (4 klasy ruchu). Ta druga jest używana głównie 

w  sieciach  szkieletowych.    Biorąc  ten  fakt  pod  uwagę  zauważymy,  że  odwzorowywanie  pozwala 

zachować  priorytety  nie  tylko  w  obrębie  lokalnej  sieci,  ale  także  w  sieci  rozległej  (o  ile  urządzenia 

występujące na danej trasie mają zaimplementowany standard 802.1p). 

DiffServ 

Celem  architektury  usług  zróżnicowanych  jest  wyróżnienie  pewnej  liczby  klas  ruchu,  które  mają 

za zadanie  agregować  strumienie  o  podobnych  charakterystykach  i  wymaganiach.  DiffServ  realizuje 

się  w  warstwie  trzeciej  modelu  OSI.  Wykorzystuje  się  do  tego  np.  pola  ToS  (Type  of  Service) 

w nagłówku pakietu IPv4 albo TC (Traffic Class) w IPv6. Oba są 8-bitowe. Diffserv zdefiniował w tych 

bajtach pole składające się z sześciu bitów DSCP oraz dwóch bitów CU rezerwy (niewykorzystywane). 

Pierwsze 3 bity DSCP stanowią kod selektora klas. 

background image

 802.1p – Priorytety 

Strona 9 

 

 

 

 

Rysunek 4 Struktura pola DS w DiffServ 

Źródło 1 

http://routing-bits.com

 

Pole Kodu Selektora Klasy (CSC) jest trzybitowe i określa klasę ruchu.  Dla priorytetów w Ethernecie 

ma ono spore znaczenie, ponieważ urządzenia ładując pakiet do ramki potrafią odczytać klasę ruchu 

z warstwy wyższej i wysyłać ramkę z priorytetem adekwatnym do zawartej w niej informacji. 

Priorytety w Q-in-Q (802.1ad) 

 

Podczas  rozwoju  Ethernetu  i  częstym  korzystaniu  z  VLANów  pojawił  się  problem  ograniczenia 

do 4094  sieci  wirtualnych.  Pojawiło  się  zapotrzebowanie  na  ich  większą  ilość.  Po  przeanalizowaniu 

struktury  ramki  ethernetowej  postanowiono  dodać  kolejne  4  bajty  za  już  istniejącymi  polami 

dotyczącymi VLANu. 

W ten sposób można budować VLANy wewnątrz VLANu. Pozwala to na skonfigurowanie 4094 x 4094 

wirtualnych sieci lokalnych (w sumie 16 760 836). Technologia ta została opracowana głównie z myślą 

o  ISP,  którzy  chcieli  tworzyć  VLANy  wewnątrz  swoich  sieci,  ale  jednocześnie  nie chcieli  pozbawiać 

tej funkcjonalności swoich klientów. 

 

Rysunek 5 Budowa ramki Q-in-Q 

background image

 802.1p – Priorytety 

Strona 10 

 

 

 

W  standardzie  Q-in-Q  priorytety  występują  w  dwóch  miejscach:  w  polu  user  priority  VLANu 

zewnętrznego  oraz  wewnętrznego.  Priorytety  te mogą  być  różne.  Oznacza  to  także,  że  ramki mogą 

być  zupełnie  inaczej  zarządzane  w  wewnętrznym  VLANie  a  zupełnie  inaczej  w  zewnętrznym.  Jeżeli 

w wirtualnej  sieci  lokalnej  1  (patrz  Rysunek  6  Przykład  Q-in-Q)  ramka  o  klasie  ruchu  7  będzie 

przesyłana  pomiędzy  hostem  A1  i  A2  to  będzie  miała  ona  pierwszeństwo  (załóżmy,  że  każda  klasa 

ruchu ma swoją kolejkę). Jeśli jednak np. ISP (właściciel VLAN A) zawarł umowę z właścicielem VLAN 2 

stanowiącą, że jego ruch będzie miał zawsze priorytet równy 7, to każda ramka wychodząca z VLAN 2 

do  internetu  będzie  miała  najwyższą  klasę  ruchu.  Nawet  pomimo  faktu,  że  w  wewnątrz  wirtualnej 

sieci lokalnej 2 miała najniższy priorytet. 

 

Rysunek 6 Przykład Q-in-Q 

CoS a QoS 

 

Standard 802.1p służy do klasyfikowania ruchu (Class of Service). Powstaje zatem pytanie, jaki wpływ 

mają  priorytety  na  jakość  usług  (Quality  of  Service).  Aby  zapewnić  QoS,  stosowane  są  następujące 

mechanizmy: 

• 

kształtowanie i ograniczane przepustowości 

• 

zapewnienie sprawiedliwego dostępu do zasobów 

• 

nadawanie odpowiednich priorytetów poszczególnym pakietom wędrującym przez sieć 

• 

zarządzanie opóźnieniami w przesyłaniu danych 

• 

zarządzanie buforowaniem nadmiarowych pakietów 

• 

określenie charakterystyki gubienia pakietów 

• 

unikanie przeciążeń 

Mechanizm  priorytetów  w  warstwie  drugiej  służy  tylko  do  segregowania  ruchu,  co  pozwala  jedne 

ramki  przesłać  przed  innymi.  W  konsekwencji  zmniejsza  to  opóźnienie  dla  wrażliwych  danych 

jak np. głos,  video.  Priorytety  wpływają  na  zwiększenie  QoS,  ale  jej  nie  zapewniają.  Nie  gwarantują 

minimalnych warunków dla ruchu. 

background image

 802.1p – Priorytety 

Strona 11 

 

 

 

Uzupełnienie i podsumowanie 

 

Priorytety  mogą  być  ustawione  zgodnie  z  polityką  przyjętą  w  danym  przedsiębiorstwie  (organizacji) 

na  komputerze  użytkownika,  bezpośrednio  przez  aplikację  lub  inne  inteligentne  oprogramowanie 

albo mogą one być ustawione w przełącznikach w sieci LAN. Podane we wcześniejszych rozdziałach 

tabele  dotyczące  kolejkowania  i  mapowania  są  zalecanymi  przez  IEEE,  chociaż  oczywiście  istnieje 

możliwość samodzielnej ich konfiguracji na urządzeniach sieciowych. 

Warto pamiętać, aby wszystkie urządzenia w sieci obsługiwały standard 802.1p. Jeżeli chociaż jeden 

przełącznik  nie  będzie  go  implementował  to  każda  ramka  przechodząca  przez  to  urządzenie  będzie 

traciła  swój  priorytet.  Przykładem  urządzenia  obsługującego  ten  standard  jest  Cisco  Switch 

10/100/1000 Mbit/s 48-port 4xminiGBIC- SRW2048-K9. 

Poprawianie  jakości  usług  już  na  poziomie  drugim  modelu  OSI  jest  niewątpliwą  zaletą  802.1p 

szczególnie, że nie wymaga dużej mocy obliczeniowej od urządzeń sieciowych.  

 

Bibliografia 

 

[1]

  Ek, N. (1999, 04 24). www.tml.tkk.fi/Opinnot/Tik-

110.551/1999/papers/08IEEE802.1QosInMAC/qos.html. Pobrano z lokalizacji www.tml.tkk.fi. 

[2]

  IEEE. (2004). http://standards.ieee.org/getieee802/download/802.1D-2004.pdf. Pobrano z 

lokalizacji http://standards.ieee.org/. 

[3]

  Krysiak, K. (2005). Sieci Komputerowe. Kompendium. Helion. 

[4]

  NetWorld. (1999, 11 1). 

www.networld.pl/artykuly/5404/Odwzorowanie.uslug.CoS.sieci.Ethernet.na.QoS.sieci.ATM.ht

ml. Pobrano z lokalizacji www.networld.pl. 

[5]

  tech-portal. (brak daty). www.tech-portal.pl/content/view/38/38/. Pobrano z lokalizacji 

www.tech-portal.pl.