LOKALNE SIECI TELEINFORMATYCZNE

WYKŁADY + NOTATKI + INTERNET TI AGH 2012 ANTEK GRZANKA

Strona 1

WSTĘP DO ETHERNETU • • •





Ethernet to rzekomo warstwa druga, chociaż tak naprawdę jego specyfikacja zahacza również o warstwę fizyczną używany jest obecnie wszędzie, czasem nie zdajemy sobie nawet z tego sprawy Historia ◦ 1972 - Alto Aloha Network ▪ wymyślone przez Roberta Metcalfe ▪ mechanizm unikania kolizji CSMA/CD ▪ powstało to w laboratorium w Palo Alto ▪ prędkość 2,94 Mbit/s – dostosowana do taktowania procesora komputerów Alto ▪ pomysł rewolucyjny jak na ówczesny czas – setki, tysiące komputerów i urządzeń w jednej sieci ▪ w 1977 opatentowano jako standard ▪ z tego wyewoluował późniejszy Ethernet i standard 802.1 ◦ 1980 – Ethernet DIX (DEC, Intel, Xerox) ◦ 1985 – IEEE 802.3 ◦ początkowo Ethernet cechował się relatywnie wysoką awaryjnością, ale wtedy nie było potrzeby małych opóźnień i wysokich prędkości ◦ po Ethernecie zaproponowano wiele innych, nierzadko lepszych propozycji (takich jak Token Ring), ale Ethernet wygrał konkurencję z nimi przez to, że był standardem otwartym Przyszłość Ethernetu: ◦ coraz wyższe prędkości ◦ shortest-path bridging (?) ◦ mobile backhaul (?) Cechy Ethernetu w warstwie fizycznej ◦ skrętka ▪ standard RJ-45 ▪ skręcone pary kabli ▪ najczęściej długość do 100m między urządzeniami ▪ kolor nie ma znaczenia ▪ kable zwykłe, scrossowane (do łączenia urządzeń tego samego typu) i serialowe ◦ światłowód ▪ różne wtyczki, różne kolory – mają znaczenia ▪ wyższe prędkości ▪ dłuższe odległości

Strona 2

IEEE MAC: • • • • • • • •

48 bit, 6 bajtów 3 bajty – sygnatura firmy (OUI), 3 bajty – sygnatura urządzenia (NIC) 7bit pierwszego bajtu: 0: burned-in address, 1: administrative address 8bit pierwszego bajtu: 0: adres indywidualny, 2: adres grupowy FF:FF:FF:FF:FF:FF – adres broadcastowy 0x80.C200.0000 do 0x80.C2FF.FFFF – adresy zarezerwowane wysyłając MAC wysyłamy go tak jakby od tyłu, najstarszy bit na końcu MAC – do urządzeń sieciowych, EUI-48 do innych urządzeń i programów, EUI-64 w ogóle rozszerzony (OUI 24b lub 36b, całość 64b)

RAMKA ETHERNETOWA



w sumie zajmuje 72 - 1526b • preambuła (8) do synchronizacji • adres docelowy MAC (6) • adres odbiorcy MAC (6) • typ (2) - wykorzystywany • data – jeśli nie osiągnie 46b to jest dorzucany padding • FCS – używa CRC • typy komunikacji: unicast, multicast, broadcast

Strona 3

IPV6 •

128b long

• •

wsparcie dla QqoS – pole traffic type i flow label flow label – kieruje przepływem, pozwala otagować tak samo ramki mające być traktowane tak samo początkowe zera w każdej czwórce mogą być pominięte można pominąć najdłuższy ciąg zer (w przypadku dwóch takich samych, pierwszy), ale tylko raz prefiks ipv6 – część analogiczna do części sieci wydzielanej przez maskę w Ipv4

• • •



Typy transmisji: ◦ unicast (1 to 1), ◦ anycast (do wielu, ale otrzymuje tylko jeden, najbliższy), ◦ multicast (wiele i otrzymują wszyscy). Strona 4





◦ Nie ma broadcastu, jest osiągany za pomocą multicastu. Typy adresów: ◦ link local: ▪ do komunikacji wewnątrz naszej podsieci ▪ rutery ich nie przekazują ▪ fe80::/64 ▪ z reguły dynamicznie tworzony dla fe80::/48 i 64bitowa końcówka na bazie 48b MACa (negacja 7bitu pierwszego bajtu + dołożenie ff:fe w środek) ▪ ::1 – loopback ◦ link global: ogólnoświatowo unikatowy, 2000::/3 ◦ site local – już nie wykorzystywane, ale: ▪ analogia do prywatnych w IPv4 ▪ do wymiany danych wewnątrz tej samej organizacji, strony itp. ▪ FEC0::/10 icmpv6 oferuje m.in. neighbour discovery zastępujący icmp4, RDISC i ARP

PRZEŁĄCZNIKI • •



• •

switch cisco – zbudowany podobnie jak zwykły komputer, jednak wyspecjalizowany typy pamięci: ◦ ROM – m.in. boot ◦ RAM – CAM table, running-config ◦ NVRAM – nie kasuje się po wyłączeniu!, startup config ◦ flash – system operacyjny, dane itp. typy switchy: ◦ fixed – nie można dodać ani usunąć żadnej karty, np. 2960 ◦ expandable – można dokładać karty rozszerzeń ◦ modular – szafa na osobne ale współpracujące moduły ◦ stackable – kilka switchy połączonych specjalnym kablem i pracujących jako jeden poza tym są też switche L3, które mogą trochę mieszać w L3, rutować itp. mechanizmy pozwalające utworzyć tablicę CAM: ◦ flooding: gdy przełączam ramkę z nieznanym DEST ADDR ◦ learning: gdy przełączam ramkę z nieznanym SRC ADDR ◦ forwarding: gdy przełączam ramkę ze znanym DEST ADDR ◦ filtering: jw. ◦ aging: gdy przełączam ramkę ze znanym SRC ADDR

Strona 5

VLANY •





enkapsulacja 802.1q – wstawia Ctag między SRC ADDR a TYPE/LENGTH. ◦ C-TAG = TPID + TCI ◦ TPID = 0x8100 ◦ TCI = PCP(3b) + CFI (1b) + VLAN ID (12b) ◦ PCP (Priority Code Point) priorytet ◦ CFI (Canonical Format Identifer) =0

Q-in-Q = 802.1ad ◦ do rozróżnienia tych samych vlanów od różnych osób na poziomie ISP ◦ dodaje S-tag na podobnej zasadzie co C-tag (TPID=0x88a8), tylko zamiast CFI jest DE (Discard Eligible) – mówi o tym czy pakiet może zostać wywalony w przypadku przeciążeń. ◦ nadal są problemy, bo nadal switch musi nauczyć się wszystkich (!) adresów z całego wszechświata, jeśli chce cokolwiek przełączyć MAC-in-MAC = 802.1ah ◦ B-tag = S-tag ◦ I-tag = instancja usługi sieci szkieletowej (hehe) ◦ B-DA = BackBONE DEST ADDR ◦ B-SA = BackBONE SRC ADDR

SPANNING-TREE PROTOCOL (STP) • • •



protokół STP jest zestawem algorytmów pozwalających na zbudowanie jednoznacznie i deterministycznie drzewa (grafu bez pętli) został utworzony po to, żeby uniknąć pętli w L2 pętla w L2 ◦ powstaje gdy połączymy przełączniki (lub mosty – ogólnie urządzenia L2) fizycznie (w L1) w pętle ◦ burza rozgłoszeniowa - wtedy ramki rozgłoszeniowe (które przecież nie mają pola TTL) będą krążyć w tej pętli w nieskończoność mnożąc się i powodując niemal natychmiastowe przeciążenie sieci i urządzeń w niej pracujących dlaczego powstają pętle? Strona 6

• • •







◦ błąd człowieka ◦ celowa nadmierność ścieżek (zwiększenie bezpieczeństwa sieci) STP definiowany jest przez rozporządzenie IEEE 802.1d Obecnie istnieje jeszcze RSTP (802.1w zaimplementowane w 802.1D) i MSTP (802.1s zaimplementowane w 802.1Q) Pojęcia potrzebne do określenie priorytetu drzewa itp.: ◦ BID – Bridge Identifier (dzieli się na Priority 16b i MAC Address 48b) ◦ PID – Port Identifier (dzieli się na Priority 4b i Port Number 12b) ◦ Koszt ścieżki – zależy od prędkości łącza ▪ Cisco korzysta z krótkiej metryki ▪ zalecana jest długa metryka ramki BPDU ◦ BPDU – Bridge Protocol Data Unit ◦ służy do wzajemnej komunikacji między urządzeniami L2 ◦ może być skrócony i rozszerzony (?) ◦ zawiera: Root BID, Root Path Cost, Sender BID, Sender PID ◦ Zarezerwowany broadcast na potrzeby STP – 01:80:C2:00:00:00 – tam można spodziewać się ramek BPDU Działanie STP składa się z trzech części: ◦ wybór korzenia ◦ wybór Root Portów (RP) ◦ wybór portów desygnowanych (DP) W każdym działaniu STP kieruje się następującym priotytetem: ◦ najniższy BID – determinuje korzeń ◦ najniższy koszt ścieżki do Roota – determinuje ścieżkę do korzenia ◦ najniższe sender BID – rozstrzyga gdy jest więcej niż jedna ścieżka o takim samym koszcie ◦ najniższe sender PID – rozstrzyga gdy jest więcej niż jedno połączenie do tego samego przełącznika (mostu)

Strona 7





Jak działa budowanie drzewa rozpinającego w praktyce: ◦ szukamy roota – przełączniki przesyłają między sobą ramki BPDU zwracając uwagę na lowest BID – switch o najniższym BID zostaje ROOTem ◦ ROOT rozsyła ramki BPDU do wszystkich przełączników z kosztem dostania się do niego samego (0), a one rozsyłają je między sobą zwiększając koszt – dzięki temu wyznaczone zostają porty do korzenia – root porty (prezentacja slajdy 2023) ◦ dzielimy sieć na segmenty, dla każdego segmentu wybieramy DP – porty desygnowane (slajdy 26-29) ◦ osiągamy stan stabilny, w którym porty root i designated są włączone a wszystkie pozostałe w trybie blokowania Tryby pracy portów w STP:

Strona 8



Zmiana topologii ◦ TCN – rodzaj ramki BPDU wysłany do roota przez switch brzegowy który nie wykrywa nośnej (lub inaczej wykrywa błąd) na jednym ze swoich portów ◦ root po otrzymaniu takiej ramki rozsyła nową BPDU z ustawioną flagą TC (Topology Change); rozsyłana jest co określony Hello Time przez czas Max Age + Fwd Delay ◦ przełączniki odbierające BPDU z flagą TC obniżają Aging Time w swoich tablicach CAM do czasu Fwd Delay ◦ dzięki temu po upływie Max Age + Fwd Delay zostanie zbudowane nowe drzewo rozpinające!

CONNECTIVITY FAULT MANAGEMENT (CFM) • • •





zespół narzędzi mających za zadanie usprawnić administrację Ethernetem (L2) Opublikowany w IEEE 802.1ag, później włączony w 802.1Q narzędzie „Heart beat” ◦ inaczej zwane Continuity Check Message ◦ multicastowe regularne rozsyłanie BPDU Hello! ◦ Nie otrzymanie trzech ramek z rzędu powoduje uznanie danego switcha za martwy narzędzie „Loopback” ◦ inaczej zwane MAC ping ◦ działa analogicznie do pinga w L3 narzędzie „Linktrace” ◦ podobny funkcjonalnie do traceroute (tracert) w L3 ◦ nie tak łatwy w realizacji jak w L3, bo ramki nie mają TTL

RAPID SPANNING-TREE PROTOCOL (RSTP) • • • • •

• •

stworzone po to, żeby skrócić czas „wstania” sieci po awarii obecnie stosowany domyślny standard budowanie drzewa działa na takiej samej zasadzie jak STP stany disabled, blocking i listening są tu określane wspólnym mianem discarding hello BPDU wysyłane jest co dwie sekundy ◦ po nie odebraniu 3 BPDU z rzędu uznaje się że dany węzeł jest nieaktywny i powstaje nowe drzewo ◦ czasami daje się nawet szybciej stwierdzić awarię – po utracie nośnej w L1 nowe tryby pracy portów: ALT (alternatywna ścieżka do roota) i BK (backup dla DP w danym segmencie) zmiana topologii ◦ ramki TC nie muszą są już propagowane przez roota ◦ switch zauważa zmianę: kasuje wpisy z tablicy CAM dla wszystkich portów poza edge portami i przez 2xHT wysyła ramkę TC na wszystkie porty (poza edge) ◦ switch otrzymuję TC BPDU: kasuje wszystkie wpisy z tablicy CAM (poza edge i Strona 9



tym z którego otrzymał) i przesyła TC dalej ◦ mechanizm PROPOSAL – AGREEMENT (slajdy 26-36) edge porty – pomijane są przy budowie spanning tree

MULTIPLE SPANNING-TREE PROTOCOL (MSTP) •

• • •



Liczba VLANów a liczba drzew rozpinających: ◦ standardowo RSTP: X VLANów = 1 instancja STP (port zablokowany jest zablokowany dla wszystkich połączeń i nie jest wykorzystywany) ◦ PVST (Per VLAN STP): X VLANów = X instancji STP, wsparcie dla ISL ◦ PVST+ - wsparcie dla dot1q ◦ Rapid-PVST+ - RSTP + wsparcie dla dot1q ◦ VSTP (Vlan RSTP): rozwiązania Junipera, X Vlanów = X instancji STP ◦ max instancji STP: Cisco: 128, Juni: 253 MSTP powstał po to żeby uniezależnić liczbę VLANów od liczby instancji STP dzielimy sieć na regiony, w każdym regionie przydzielamy VLANy do instancji STP regiony wzajemnie widzą się jak wielkie przełączniki – na tym poziomie drzewo między regionami (CIST – Common and Internal Spanning Tree) jest budowane według zasad RSTP ◦ rootem CIST zostaje switch z najniższym ID ◦ CIST RR – regional rootem dla danego regionu zostaje switch brzegowy z najmniejszym kosztem dotarcia do regionu prawdziwego roota (znaczy to, że liczymy tylko koszt między regionami) ◦ RR oznacza port do roota jako root port i blokuje pozostałe porty brzegowe ◦ każdy brzegowy switch w każdym regionie oznacza swoje porty brzegowe jako desygnowane lub alternatywne wewnątrz regionu: ◦ region musi mieć switche z tak samo skonfigurowanymi: Revision Number, VLANami przydzielonymi do instancji oraz nazwą. ◦ Drzewo buduje się tak samo jak w RSTP, z tą różnicą że możemy przydzielić dowolnie vlany do instancji ◦ na RR w MSTI0 root port nazywany jest Master Portem i jest on wspólny dla wszystkich instancji ◦ dowolne ustawienia zmieniamy na MSTI0, są one dziedziczone przez pozostałe instancje ◦ na tym poziomie możemy regulować natężenie ruchu!

Strona 10

AGREGACJA ŁĄCZ (LAG) •

• •









możemy kilka łącz między dwoma switchami logicznie traktować jako jedno i korzystać z tego zalet ◦ ruch rozłożony na wszystkich kablach ◦ wszystkie są wykorzystywane ◦ większa przepustowość ◦ mniejsza awaryjność (awaria jednego kabla nie spowoduje przerwania działania sieci) ◦ autokonfiguracja LAG umiejscawia się w L2 (możemy traktować to jako opcjonalną podwarstwę L2) funkcje: ◦ frame distribution: przekazuje ramki od klienta na odpowiednie porty, zgodnie z odpowiednim algorytmem ◦ frame collection: odbiera ramki z różnych portów i wysyła je do klienta ◦ aggregator parser: przełącza prośby o transmisję LAG od klienta na odpowiednie porty i w drugą stronę ◦ aggregator: wszystko powyższe, czyli wszystko działa w obie strony ◦ aggregation control: pozwala sterować mechanizmem agregacji ◦ control parser: przesyła ramkę od klienta na odpowiedni port (z uwzględnieniem aggregation control) oraz (w drugą stronę) oddziela ramki sterujące agregacją od pozostałych innych i traktuje je zgodnie z aggregation control. Etherchannel to zastosowanie LAG ◦ pozwala zgrupować do 8 łącz ◦ może je zagregować w L2 lub w L3 lub w L2 i L3 Protokoły do automatycznego tworzenia etherchannelu to: ◦ PAgP © Cisco, tryby Auto i Desirable ◦ LACP 802.1ax, tryby Active i Passive ◦ PAgP i LACP nie współpracują ze sobą ◦ zawsze możemy też ustawić po prostu tryb on, wtedy Etherchannel będzie zawsze włączony Ruch w Etherchannelu jest rozłożony, ale nie do końca równomiernie, są używane specjalistyczne algorytmy, możemy też sterować tym przepływem ruchu aby działał tak jak chcemy ◦ możemy rozkładać ruch bazując na IP SRC, IP DEST, MAC SRC, MAC ADDR, PORT NR LAG jest okej, ale lepsza jest gruba rura. Spoko.

SWITCHED PORT ANALYSIS (SPAN) • • • •

SPAN pozwala nam kopiować dane przychodzący na dany interfejs, VLAN czy EtherChannel i wysyłać je na inny interfejs służyć może do monitorowania aktywności itp. nie ma żadnego wpływu na źródło! Każda sesja przesyłu ma swój identyfikator którego używamy do konfiguracji źródła, Strona 11



warunków przechwytywania i odbiorcy Remote SPAN (RSPAN) pozwala skopiowany ruch przesyłać do innego przełącznika przez LAN ◦ wypada wydzielić oddzielny VLAN na tego typu ruch ◦ DEST i SRC danej sesji konfigurujemy odpowiednio na switchu odbiorcy i na switchu źródła

KONTROLA RUCHU NA PORTACH •







storm control ◦ pozwala zdefiniować % wykorzystania łącza po którym łącze zostanie wyłączone (do czasu włączenia przez administratora lub do czasu zmniejszenia % wykorzystania) lub zostanie wysłane powiadomienie do administratora ◦ pozwala wykrywać nam niechciane natężenie ruchu, ataki DoS mogące przeciążyć nasze urządzenia protected ports ◦ porty będące ustawione jako protected port nie mogą się między sobą komunikować port blocking ◦ port nie flooduje innych portów ramkami danego typu (nieznany multicast lub nieznany unicast) port security ◦ pozwala nam kontrolować kto podłączy się do danego portu wg ustalonych kryteriów: liczby hostów i adresów MAC ◦ gdy przekroczymy maksymalną liczbę hostów możemy podjąć następujące działania: ▪ protect – zwyczajnie olać nadmiarowe urządzenia ▪ restrict – olać + powiadomić admina ▪ shutdown – wyłączyć port + powiadomić admina ▪ shutdown vlan – wyłączyć naruszony vlan

UWIERZETYLNIENIE 802.1X •

• • • • •

możemy kontrolować kto podłączy się do sieci, ale nie musimy tego robić statycznie (jak w port security): możemy wymagać od użytkownika zalogowania się loginem i hasłem które przechowujemy w swojej bazie danych ◦ w przypadku gdy nie zaloguje się możemy nie zezwolić mu na dostęp do sieci lub zaoferować odpowiednio ograniczoną usługę, np. przydzielić do specjalnego vlanu dla gości uwierzetylnienia dokonuje postawiony przez nas w tym celu serwer RADIUS (Remote Authentication Dial In User Service) klient musi być wyposażony w odpowiednie oprogramowanie wspierające 802.1x switch pośredniczy w uwierzytelnieniu między klientem a serwerem dane dotyczące uwierzytelniania są przesyłane ramkami protokołu EAP (Extensive Authentication Protocol) serwer po otrzymaniu odpowiednio przetworzonej przez switch ramki EAP Strona 12





• •

• •

podejmuje decyzję: access-accept lub access-reject żądanie uwierzytelnienia może być postawione zarówno przez switch (gdy wykryje podłączone nowe urządzanie) jak i przez klienta (gdy ten nie otrzyma żadnej prośby o uwierzytelnienie) Możliwe problemy: ◦ jeżeli switch nie obsługuje 802.1x, to wszystkie ramki EAP są odrzucane, z kolei jeżeli klient nie otrzyma trzykrotnie odpowiedzi od switcha to uznaje, że został uwierzytelniony. Połączenie działa. ◦ jeżeli klient nie obsługuje 802.1x to nie może uzyskać dostępu do sieci. Połączenie nie działa. port nieautoryzowany może przesyłać tylko ramki 802.1x, CDP oraz STP. Nasz RADIUS może od razu przy okazji uwierzytelnienia przydzielić odpowiedniego hosta do odpowiedniego VLANu. Wygodne. Poza tym: ◦ może przydzielać do Guest VLANu z ograniczonymi usługami, gdy klient nie odpowiada na prośby uwierzytelnienia ◦ może przydzielać do Restricted VLANu z ograniczonymi usługami, nawet jeśli klient odpowiednio się uwierzytelni. Zabezpieczenia 802.1x mogą zostać pominięte, gdy switch nie może się połączyć z RADIUSem (jeżeli tak skonfigurujemy switch) Gdy RADIUS nie otrzyma odpowiedzi od klienta, wtedy próbuje dopasować go do swojej bazy danych na podstawie adresu MAC.

ACCESS LISTY (ACL) • •





możemy stosować access listy na poziomie L2. Port ACL ◦ nie obsługują etherchannela ◦ możemy zezwolić lub zabronić przesyłu na podstawie adresu mac (może i nawet IP?) router ACL ◦ możemy je skonfigurować na ruterze, wirtualnym interfejsie switcha (SVI L3) lub nawet na etherchannelu warstwy 3. ◦ to samo co na WdSI VLAN Maps ◦ warunki z danej access listy możemy zastowować do ruchu w danym vlanie. ◦ Jeżeli mapa testuje w jakimś miejscu jakiś protokół to jeśli pakiet nie spełnił żadnego kryterium, to jest usuwany. Jeżeli natomiast nie wspomina o danym protokole w ogóle, pakiet jest forwardowany.

VIRTUAL PRIVATE LAN SERVICE (VPLS) •

Problem - stworzyć VPN – wirtualną sieć prywatną. Ogólnie możemy zrobić to na trzy sposoby: ◦ L3 – tunelowanie IP VPN ◦ L2 P2M – VPLS ◦ L2 P2P – virtual leased lines, pseudo wires Strona 13





• • • •

• •





• •

pomysł na VPLS wziął się to stąd, że klienci zaczęli skąpić na routerach i chcą mieć połączone np. trzy oddziały swojej firmy w trzech różnych miastach połączeniem point-to-multipoint na poziomie warstwy drugiej. Dzięki VPLS klient widzi sieć ISP jako jedną wielką sieć LAN L2.

CE – Customer Equipment – z reguły zwykły switch ethernetowy PE – Provider Equipment – tam zaczyna i kończy się VPLS PW – Pseudo Wire – pseudo łącze. Emuluje połączenie-tunel między dwoma PE. Enkapsulacja Martiniego ◦ pozwala enkapsulować dane dowolnej warstwy w dowolnej innej. Tzn. możemy ramkę włożyć w pakiet włożyć w pakiet włożyć w segment włożyć w ramkę i na koniec w ramkę. ◦ dzięki temu możemy tworzyć sieci VPLS korzystając z obecnej infrastruktury FIB – Forwarding Information Base. Zbiera wszystkie nauczone adresy MAC, dane o ich przydzieleniu do odpowiednich instancji VPLS i informacje o ich przełączaniu. Technika split horizon: zapobiega powstawaniu „pętli w L3”, tj. nieskończonym wzajemnym uaktualnianiem tablic rutingu przez dwa rutery. Po prostu informacje o rutingu nigdy nie są wysyłane na interfejs z którego zostały otrzymane. Auto discovery protocol: mechanizm dystrybucji informacji o VPLS ◦ LDP (Cisco) ◦ BGP (Juniper) Korzyści ze stosowania VPLS: ◦ mniejsze koszta (przynajmniej dla klienta) – połączenie L2 między klientem a ISP ◦ szybszy przesył danych (dane są przełączane MPLSem a nie rutowane) ◦ rozwiązania QoS z MPLS ◦ jedna domena bridgingowa dla wszystkich naszych oddziałów ◦ wygoda (przynajmniej dla klienta) VPLS ma kłopoty ze skalowaniem. Częściowo te problemy rozwiązuje Hierarchical VPLS: między CE a PE znajduje się MTU (Multi-Tenant Unit), który steruje informacjami o VPLS. Zmniejsza to natłok ruchu w sieci.

Strona 14

FLOW CONTROL •







• •

• •

• •

Ethernetowi nie można ufać. Nie mamy potwierdzenia otrzymania ramek, nie mamy feedbacku ze statystykami, nie wiemy czy gdzieś po drodze ramka się nie zgubi. Cała odpowiedzialność jest przerzucona na wyższe warstwy. Wszystko działa dobrze dopóty, dopóki wyższe warstwy zajmują się retransmisjami i zgubionymi danymi. Gdy nie ma wsparcia ze strony wyższych warstw, koniecznie musimy zaimplementować Flow Control – kontrolę przepływu danych. Oferuje on nam potwierdzenia otrzymania danych. Ethernet używa kontrolnej ramki PAUSE: gdy switch otrzymuje zbyt dużo danych na dany interfejs i nie może sobie poradzić z ich przetworzeniem, wysyła do źródła ową ramkę co wstrzymuje przesył danych do czasu, gdy switch będzie znowu gotowy do przyjęcia danych. Są dwa tryby pracy FLWCTRL: ◦ symetryczny, konfiguracja jest taka sama u odbiorcy i nadawcy ◦ asymetryczny, konfiguracja jest inna z obu stron połączenia. Może to powodować, że ramki PAUSE nie będą spełniać swojego działania (będą ignorowane). Ramka PAUSE jest wysyłana, gdy switch przewiduje, że przepełni się bufor, a nie wtedy gdy się faktycznie przepełni. Na tym opiera się cały mechanizm. Struktura ramki PAUSE:

kłopot: gdy nadawca wstrzymuje ruch, wstrzymuje CAŁY ruch, co jest złe z punktu widzenia QoS rozwiązanie: PFC – Priority Flow Control (802.1p) – pozwala na współdziałanie na jednym łączu do 8 klas danych, z których jedne mogą wymagać zablokowania ruchu a inne nie informacje o priorytecie są przechowywane w polu PCP C-Taga (pole ze standardu 802.1q). im wyższa wartość, tym większy priorytet. Możemy skonfigurować PFC tak, żeby ruch samoczynnie wracał po jakimś czasie (quantum), lub żeby po prostu zostawał wyłączony.

Strona 15