wydawać się nieco dziwne, dlatego też przy takich informacjach będę
zapisywać oznacznie oryginalności zapisu (<strong>sic/sic!</strong>).
</p>
+ <h1 id="1.7.ethernetswitching">1.7. Przełączanie Ethernetu</h1>
+ <p>
+ W tym rozdziale zapoznamy się ze szczegółami technologi Ethernet,
+ potrzebnymi do zrozumienia działania takiego urządzenia jak
+ przełączniki. Poznamy również meteody przełączania jakie możemy
+ spotkać w dostępnych na rynku przełącznikach.
+ </p>
+ <h2 id="1.7.1.ethernetframe">1.7.1. Ramka Ethernet</h2>
+ <p>
+ Ethernet operuje w warstwie fizycznej oraz łącza danych, opisują go
+ dwa standardy IEEE 802.2 oraz 802.3.
+ </p>
+ <p>
+ Standardy rodziny 802 wykorzystywane w sieciach LAN/MAN w tym i
+ Ethernet wykorzystują dwie podwarstwy warstwy łącza danych.
+ <strong>LLC</strong>, której zadaniem jest umieszczenie w ramce
+ Ethernet informacji o wykorzystywanym protokole warstwy sieciowej dla
+ tej ramki. Drugą podwarstwą jest <strong>MAC</strong> odpowiedzialna
+ za enkapsulacje danych, kontrolę dostępu do łącza oraz adresacje w
+ warstwie łącza danych.
+ </p>
+ <p>
+ Podwarstwa MAC jest odpowiedzialna za enkapsulację danych oraz dostęp
+ do łącza danych. Jesli chodzi o samą enkapsulację to podwarstwa MAC
+ zajmuje się <strong>ramką Ethernet</strong> - jej wewnętrzną strukturą;
+ <strong>adresacją Ethernetu</strong> - ramki muszą zawierać adresy MAC
+ źródła oraz hosta docelowego, aby dostarczyć je z jedenj karty
+ sieciowej do drugiej; <strong>detekcją błędów Ethernetu</strong>
+ ramki zawierają w <em>stopce</em> pole FCS
+ <em>Frame Check Sequence</em> wykorzystywane do detekcji błedów.
+ </p>
+ <p>
+ W ramach kontroli dostępu do łącza Ethernet, podwarstwa MAC zawiera
+ specyfikację dla różnych standardów komunikacyjnych Ethernetu przez
+ różnego rodzaju łącza takie jakie okablowanie miedziane lub
+ światłowody. Stary Ethernet wykorzystywał topologę magistrali lub
+ koncentrator, które są współdzielonym medium działającym w trybie
+ <em>half-duplex</em>. Ethernet przez tego typu łącza wymagał
+ mechanizmów badania dostępności łącza oraz detekcji błędów. Temu
+ służył algorytm CSMA/CD (ang. <em>Carrier Sense Multiple
+ Access/Colision Detection</em>). Obecnie Ethernet wykorzystuje
+ przełączniki przez co komunikacja może odbywać się w trybie
+ <em>full-duplex</em> i nie ma potrzebny stosowania mechanizmu CSMA/CD
+ ponieważ ta magistrala przy starym Ethernecie jest teraz jednym
+ kablem łączącym kartę sieciową z portem przełącznika.
+ </p>
+ <p>
+ Jeśli chodzi o pola ramki Ethernet to najpierw warto sobie powiedzieć,
+ że minimalną wielkością ramki mogą być 64B a maksymalną 1518B.
+ Preambuła nie jest wliczana do ramki jeśli chodzi o jej wielkość.
+ Wszelkie ramki mniejsze niż 64B są uważane za ramki uszkodzone i
+ automatycznie odrzucane. Ramki przekraczające górną granice wielkości
+ uważane są za ramki typu <em>jumbo</em>. Ramki przekraczające rozmiary
+ lub mniejsze niż minimalny rozmiar, są zazwyczaj uznawane za rezulat
+ kolizji lub niechciany sygnał. Przez odbiorców mogą być uznane za
+ nieprawidłowe. Większe ramki są akceptowane do technologi FastEthernet
+ w góre.
+ </p>
+ <h3 id="1.7.1.lab">Laboratorium</h3>
+ <p>
+ <a href="">Wykorzystanie programu Wireshark do badania ramek Ethernet</a>
+ </p>
+ <h2 id="1.7.2.ethernetmacadress">1.7.2. Adres MAC Ethernetu</h2>
+ <p>
+ Adres MAC składa się z 48 bitów zapisanych za pomocą 12 cyfr systemu
+ heksadecymalnego, 6 par po 2 cyfry. Dwie cyfry heksadecymalne to 1
+ bajt. Poprzedzającje zera są również zapisywane, aby każda z grup
+ miała te 8 bitów. Cyfry heksadecymalne mogą być czasem zapisywane
+ z przedrostkiem <strong>0x</strong> lub z przyrostkiem
+ <strong>H/h</strong>.
+ </p>
+ <p>
+ Ethernet był projektowany z myślą o tym, że urządzenia sieciowe
+ są podłączone do współdzielonego medium (magistrali) i adresacja MAC
+ pozwala na identyfikacje takiego hosta. Ze tego powodu wszyskie
+ adresu MAC muszą być unikatowa w obrębie całej sieci. W tym celu
+ każdy z dostawców sprzętu działającego w sieci Ethernet muszą
+ zarejestować się w IEEE aby uzyskać 6 cyfrowy (heksadecymalnych) kod
+ nazwany <strong>unikalnym indentyfikatorem organizacji</strong>
+ (<strong>OUI</strong>). Każdy adres MAC składa się z kodu OUI
+ przypisanego do producenta sprzętu oraz pozostałych 6 cyfr
+ przypisanych przez producenta do konkretnej sztuki produktu.
+ </p>
+ <p>
+ Przetwarzanie ramek ma swój początek już na komputerze źródłowym.
+ Każda ramka zawiera adres źródłowy oraz adres docelowy. Kiedy
+ karta sieciowa odbierze taką ramkę porówna jej adres docelowy MAC z
+ z adresem swojej kartym, jeśli adres jest taki samy oznacza to, że
+ ramka jest przeznaczona dla tego hosta. Ramka dekapsulowana i
+ przekazana do warstw wyższych. Obecnie większość urządzeń wykorzystuje
+ Ethernet, więc tego typu przetwarzanie danych jest podstawą
+ wszlakiej komunikacji w sieci. Warto wspomnieć o tym, że karty sieciowe
+ akceptują rownież ramki typu broadkast oraz multikast tych grup, do
+ których ten host należy.
+ </p>
+ <p>
+ W Ethernecie różne adresy MAC są wykorzystywane do transmisji unikast,
+ broadkast oraz multikast w warstwie drugiej. Adres MAC unikastowy
+ jest wykorzystywany do transmisji między pojedynczymi hostami w sieci.
+ Adresy MAC są powiązane z adresami warstwy sieciowej, są one uzyskiwane
+ za pomocą protokołów ARP (dla IPv4) lub ND (IPv6). Przy tych wszystkich
+ rodzajach adresów, a co za tym idzie rodzajach transmisji adresem
+ źródłowym zawsze adres unikastowy.
+ </p>
+ <p>
+ Ramkę ethernetową transmisji broadkast odbierze każdy host
+ znajdujący się w tej samej sieci Ethernet LAN. Broadkastowy adres MAC
+ składa się wyłącznie z samych cyfr <strong>F</strong>. Przez
+ przełączniki jest on przekazywany na wszystkie porty poza tym z którego
+ ta ramka została przysłana. Oczywiście transmisja broadkast w
+ Ethernecie zawiera w sobie pakiet IP z tym samym rodzajem transmisji,
+ oznacza to, że dane zawarte w tej transmisji zostaną przetworzone
+ przez wszystkie host w tej sieci lokalnej (domenie rozgłoszeniowej),
+ które ten pakiet otrzymają.
+ </p>
+ <p>
+ Przypadek transmisji multikast w Ethernet jest trochę bardziej
+ skomplikowany. Taką ramkę odbiorą hosty, które należą do tej samej
+ grupy. Transmisja multikast w Ethernet jest powiąza z rodzajem tego
+ typu transmisji w protokole IP, dla wersji 4 mamy adres (początek):
+ <strong>01-00-5E</strong>, a dla wersji 6 <strong>33-33</strong>.
+ Innym rodzajem multikastu w Ethernecie jest protokół STP, nie jest
+ on protokołem warstwy 3, a drugiej i zawiera swój adres docelowy
+ typu multikast. Transmisje multikast opuszczają przełącznik w ten sam
+ sposób co transmisja broadkast, chyba że urządzenie skonfigurowano
+ inaczej (mechanizm <em>multicast snooping</em>), transmisja ta nie
+ jest przekazywana przez router, chyba że został poinstuowany aby
+ trasować pakiety multikast. Ze względu na to, że adresy multikast
+ reprezentują grupe hostów, mogą zostac użyte tylko i wyłącznie jako
+ adres docelowy, adresem źródłowym musi być adres unikast. Tak jak
+ w przypadku transmisji unikast oraz broadkast, transmisja multikast
+ wymaga odpowiadających adresom Ethernet, adresów IP.
+ </p>
+ <h3 id="1.7.2.lab">Laboratorium</h3>
+ <p>
+ <a href="">Zobacz adres MAC urządzenia</a>
+ </p>
+ <h2 id="1.7.3.macaddresstable">1.7.3. Tablica adresów MAC</h2>
+ <p>
+ Ethernetowy przełącznik warstwy drugiej dokonuje swoich decyzji o
+ przełączaniu na podstawie adresu MAC, który jest zapisany w tablicy
+ adresów MAC przełącznika, na podstawie informacji tam zapisanych
+ przełącznik wie na jaki port należy przesłać dane, adresowane do
+ komputera o takim adresie MAC. W momecie włączenia urządzenia jego
+ tablica nie zawiera żadnych wpisów i musi się ich nauczyć. Tablica
+ MAC często nazwyana jest CAM (ang. <em>content addressable memory
+ table</em>).
+ </p>
+ <p>
+ Nauka adresów MAC przez przełącznik, czy też uzupełnienie tablicy
+ polega na badaniu każdej przychodzącej do urządzenia, ramki w celu
+ uzyskania nowych informacji. Badany jest przede wszystkim adres
+ źródłowy oraz port na którym te dane dotarły do przełącznika, następnie
+ te informacje są konfrontowane z tabelą jeśli taki adres MAC pod takim
+ portem nie występuje wówczas te dane są dopisywane lub poprawiane w
+ zależności od tego czy w przeciągu czasu ważności wpisów w tablicy MAC
+ ruch sieciowych przechodził przez ten port. W przeciwnym wypadku
+ wpis jest odświerzany co powowduje, że jego czas jego ważności
+ został zresetowany. W przypadku większości przełączników czas wazności
+ wpisów w tablicy to 5 minut. W przypadku przepięcia hosta do innego
+ portu, w tablicy we wpisie z adresem zostanie zamieniony port, pod
+ którym ten MAC może występować.
+ </p>
+ <p>
+ W przypadku przekazywania ramek, działa to w sposób analogiczny, tylko
+ przełącznik zamiast zapisywać odczytuje informacje z tablicy MAC. Jeśli
+ adres docelowy jest unikastowy, to jest on sprawdzany w tablicy, w celu
+ ustalenia portu docelowego przełącznika dla docelowego hosta. Jeśli
+ wpis zostanie odnaleziony, to ramka zostaje przezkazna na ten port.
+ W przeciwnym wypadku zostanie on przekazany na wszystkie porty poza tym
+ źródłowym (z którego trafił do przełącznika). Podobnie przełącznik
+ zachowuje się w przypadku transmisji broadkast oraz multikast.
+ </p>
+ <h3 id="1.7.3.lab">Laboratorium</h3>
+ <p>
+ <a href="">Zobacz tablice MAC przełącznika</a>
+ </p>
+ <h2 id="1.7.4.switchspeedsandforwardingmethods">1.7.4. Przepustowość przełącznika oraz metody przekazywania.</h2>
+ <p>
+ Przełączniki używają jednej z poniższych metod przełączania danych
+ danych między portami.
+ </p>
+ <ul>
+ <li><strong>Przłączanie <em>store-and-forward</em></strong> - w tej
+ metodzie przełącznik musi otrzymać całą ramkę, następnie oblicza
+ jej CRC. Jeśli CRC jest prawidłowe, wówczas dochodzi do przełączania
+ znanego z poprzednie podrozdziału.</li>
+ <li><strong>Przełączanie <em>cut-through</em></strong> - tutaj
+ przełącznik nie czeka całą ramkę, wystarczy mu odczytać adres
+ docelowy, aby dokonać przełączenia.</li>
+ </ul>
+ <p>
+ Zaletą metody <em>store-and-forward</em> jest możliwosc wykrycia błędów
+ zanim ramką zostanie przekazana dalej. Jeśli błąd zostanie wykryty
+ przełącznik odrzuci ramkę. Odrzucanie uszkodzonych ramek pozwala
+ zredukować żużycie przepustowści na przesyłanie uszkodzonych ramek.
+ Metoda <em>store-and-forward</em> jest również wymaga przez
+ metody priorytetyzacji ruchu takie jak QoS.
+ </p>
+ <p>
+ Metoda przełączania <em>cut-through</em> przełącza dane zanim w całości
+ dotrą do przełącznika, jego bufor jest na tyle duży, że może odczytać
+ docelowy adres MAC i na podstawie tego dokonuja przełącznia. Ta
+ metoda występuje w dwóch wariantach:
+ </p>
+ <ul>
+ <li><strong>Przełączanie <em>fast-forward</em></strong> - ta metoda
+ przełączania oferuje najmniejsze opóźnienia. Jeśli zostaną
+ przekazane uszkodzone ramki, to zostaną one odrzucone przez
+ docelową kartę. Jest to domyślny wariant dla metody
+ <em>cut-through</em>.</li>
+ <li><strong>Przełączanie <em>fragment-free</em></strong> - jest
+ kompromis między <em>cut-through</em> oraz <em>store-and-forward</em>.
+ Przełacznik pobiera i sprawdza pierwsze 64 bajty ramki przezd
+ przełączeniem. W większości sieci błedy są do wykrycia już tych
+ pierwszych 64 bajtach ramki, przez co przełącznik może mieć pewność,
+ że te ramki są całe i można je przekazać dalej.</li>
+ </ul>
+ <p>
+ Wspominając o sposobach przełączania, warto również omówić pamięć
+ bufora w przełączniku. Bufor jest wykorzystywany gdy port docelowy
+ może być zbyt zajęty, żeby przyjmować kolejne ramki, do dyspozycji mamy:
+ </p>
+ <ul>
+ <li><strong>Pamięc portów</strong> - Ramki są przechowywane w kolejkach
+ powiązanych z portami wejściowymi oraz wyjściowymi. Ramka jest
+ przekazywana na port wyjściowy tylko wtedy gdy ramki przed nią
+ zostały poprawnie przesłane. Mozliwe jest opóźnienie transmisji
+ wszystkich ramek w pamięci przez pojedyńczą ramkę, ze względu na
+ obciążenie portu docelowego. Opóźnienia występuje nawet wtedy gdy
+ inne ramki mogą zostać przesłane na otwarte porty docelowe.</li>
+ <li><strong>Pamięć współdzielona</strong> - przechowuje wszystkie
+ ramki we ogólnym buforze pamieci współdzielonym ze wszystkimi portami
+ przełącznika, ilość pamięci potrzebna dla konkretnego portu jest
+ przydzielana dynamicznie. Ramki w buforze dynamicznie powiązane z
+ portami docelowymi. Pakiet może nadejść z jednego portu i być
+ przekazywany do innego to niezostanie on przeniesiony do innej
+ kolejki.</li>
+ </ul>
+ <p>
+ Buforowanie w pamięci współdzielonej pozwala na transmisję większych
+ ramek z mniejszymi stratami. Jest ważne dla przełączania asymetrycznego,
+ które pozwala na różne prędkości danych na różnych portach.
+ Dzięki czemu większa przepustowość może zostać przypisana do
+ niektórych portów, np. porty serwerów.
+ </p>
+ <p>
+ Dwoma najbardziej podstawowymi ustawieniami przełącznika są
+ przepustowość (przełączniki mogą działać w standardach wstecznych
+ Eternetu) oraz <em>duplex</em> (możliwość nadawania i odbierania
+ danych w tym samym momencie). Do dyspozycji mam
+ <strong>full-duplex</strong> - oba urządzenia końcowe mogą nadwać
+ i odbierać dane jednocześnie lub <strong>half-duplex</strong> - tylko
+ jedna ze stron może nadawać w tym czasie.
+ </p>
+ <p>
+ Prawdopodobnie nie będzie trzeba konfigurować tych ustawień. Tym
+ zajmuje się mechnizm autonegocjacji, urządzenia miedzy sobą ustalają
+ najlepsze ustawienia dla warunków fizycznych. Gigabitowy Ethernet
+ do działania wymaga <em>full-duplex</em>-u.
+ </p>
+ <p>
+ Nie pasujący <em>duplex</em> jest przyczną większości problemów z
+ z wydajnościa w sieciach Ethernetowyc 10/100Mbps. Przyczyna tych
+ problemów może być ustawienie portu przełącznika w <em>half-duplex</em>
+ natomiast druga strona ma ustawiony <em>full-duplex</em>, dzieje się
+ tak gdy połączenie między tymi stronami zostanie zresetowane a
+ autonegocjacja nie będzie wstanie ustalić takie samej konfiguracji
+ dla obu stron lub gdy zmienimy konfigurację na jednym urządzeniu i
+ zapomnimy to zrobić na drugim urządzeniu. Najlepszą praktyką to albo
+ włączyć na obu autonegocjację, albo na obu wyłączyć najlepszą. Można
+ również ustawić na portach przełącznika na stałe <em>full-duplex</em>.
+ </p>
+ <p>
+ Połaczenia między urządzeniami mogą wymagać różnych rodzaju połączeń.
+ mowa tutaj o kablach prostych oraz o kablach skrosowanych. Zazwyczaj
+ połączenia między routerami wymagają kabli skrosowanych jak połączenia
+ bezpośrednie między dwiema stacjami. Obecnie mało kto pamiętam o tym
+ ponieważ mamy do dyspozycji funkcję <strong>Auto-MDIX</strong>, która
+ mimo połączenia urządzeń za pomocą prostych przewodów, dokona
+ skrosowania już wewnatrz interfejsu. W sprzętach marki Cisco,
+ a szczególnie w przełącznikach ta funkcja jest raczeh włączona, ale
+ to może być różnie (w zależności jak stare jest urządzenie). Więc warto
+ zawsze używać wymaganych przewodów lub też możemy spróbować włączyć
+ tę funkcję za pomocą polecenia: <code class="code-inline">mdix auto</code>
+ w trybie konfiguracji interfejsu.
+ </p>
+ <h2 id="ch7summary">Podsumowanie</h2>
+ <p>
+ W tym rodziale przybliżliśmy sobie szczegóły technologii Ethernet,
+ poznaliśmy adres MAC oraz tablice MAC przełączników. Dowiedzieliśmy
+ też jakie są metody przełączania oraz podstawowe ustawienia
+ przełącznika.
+ </p>
<h1 id="1.8.networklayer">1.8. Wartstwa sieciowa</h1>
<p>
Warstwa sieciowa dostarcza usługi pozwalające na wymianę danych między