Przełączanie z górnej półki


Warstwa sieciowa

Warstwa sieciowa definiuje sposoby odnajdywania się urządzeń rozmieszczonych w różnych segmentach sieci. Segment sieci to grupa komputerów połączonych okablowaniem. Pakiet wysłany w obrębie grupy nie będzie odebrany przez komputer spoza segmentu dopóty, dopóki nie zostanie odpowiednio skonfigurowane połączenie między nimi. Oprócz określenia sposobów odnajdywania się komputerów w różnych segmentach, warstwa sieciowa oferuje własny system adresowania. Podstawowym urządzeniem operującym na tym poziomie jest router, który reguluje ruch między różnymi segmentami.

Adresowanie warstwy sieciowej

System nadawania adresów warstwy sieciowej, w przeciwieństwie do stosowanego w warstwie 2 "płaskiego" adresowania, pozwala na ustalenie położenia komputera w sieci. Najważniejsze jest tu zrozumienie różnicy między adresami warstwy sieciowej a adresami MAC. MAC to adres nadawany przez producenta, jego zadaniem jest odnalezienie miejsca przeznaczenia ramki. Adresy poziomu trzeciego wykorzystywane są podczas przesyłania danych wychodzących poza segment sieci lokalnej.

Za adresowanie omawianej warstwy odpowiedzialne są protokoły. Do najbardziej znanych należą IP oraz IPX. Różnica między adresami jest lepiej widoczna w wypadku IPX. Składa się on z dwóch części adresu sieci, czyli segmentu, oraz adresu węzła, inaczej komputera. Jeśli masz zamiar przesłać informacje do komputera pracującego w Twoim segmencie, określany jest tylko adres maszyny, adres sieci pozostaje bez zmian. W przypadku komunikacji z urządzeniem z innego segmentu zmieniany jest adres sieci. Powoduje to przesyłanie danych do miejsca odpowiedzialnego za komunikację z innym segmentem. Adres MAC stanowi pierwszą część adresu IPX, drugą ustala administrator.

IP wykorzystuje nieco odmienne adresowanie. Do prawidłowego działania tego protokołu niezbędne jest określenie dwóch parametrów: adresu hosta (komputera) i adresu podsieci (segmentu). Trzeci parametr, adres bramy (gateway), wprowadzasz wtedy, gdy chcesz się komunikować z innymi sieciami. IP do adresowania używa notacji dwójkowej podzielonej na cztery części, zwane oktetami. Przykładowy adres hosta to 11000011.01110100.10010110.00000101, ale przy konfiguracji sieci dla większej czytelności stosuje się dziesiętne odpowiedniki 195.116.150.5.

Aby mogło dojść do przesłania danych, adresy z górnego poziomu muszą zostać w jakiś sposób przetłumaczone na adresy z warstwy łączenia danych. W przypadku IPX jest to bardzo proste, bo adresem komputera w obu przypadkach jest adres MAC. IP do dokonania odwzorowania używa ARP, innego protokołu grupy TCP/IP. ARP dba o to, aby przed wysłaniem pakietu IP poznał adres MAC. Jeśli operacja ta zostanie przeprowadzona, komunikacja może zostać nawiązana.

Warstwa transportowa

Warstwa transportowa nie bierze bezpośredniego udziału w procesie przełączania w warstwie trzeciej. Czwarty poziom modelu OSI zapewnia poprawność i integralność przesyłanych danych. Jeśli ich rozmiar przekracza wielkość ramki (maksymalny rozmiar ramki Ethernetu to 1518 bajtów), warstwa transportowa dzieli informacji na mniejsze kawałki. Dba również o to, by cała informacja bezbłędnie dotarła do adresata. W zestawie protokołów TCP/IP na poziomie czwartym rezydują TCP i UDP. TCP (Transmission Control Protocol) jest zorientowany połączeniowo (connection-oriented), czyli wymaga potwierdzenia odbioru każdej ramki. Ma to istotne znaczenie, jeśli łącza są słabej jakości, ponieważ w przypadku błędów złe ramki są retransmitowane. UDP z kolei jest protokołem typu bezpołączeniowego (connection-less) i nie wymaga potwierdzania poprawności odbioru na poziomie warstwy transportowej. Za ustalenie, czy dane zostały przesłane poprawnie, odpowiadają aplikacje. Odpowiednikiem protokołu TCP dla IPX/SPX jest SXP (Sequence Packet Exchange).

OSI w praktyce

Działanie modelu w praktyce odbiega nieco od teoretycznego, nie wszystkie warstwy biorą udział w komunikowaniu się dwóch urządzeń. Posłużymy się przykładem TCP/IP do zademonstrowania rzeczywistego przebiegu informacji.

Dla ułatwienia poszczególnym warstwom OSI przypiszemy nazwy związane z ich zastosowaniem. I tak warstwę fizyczną nazwiemy warstwą interfejsu ze względu na związane z nią pojęcia kanału transmisyjnego i karty sieciowej. Poziom łącza danych opiszemy jako poziom przełączania, ponieważ switch jest urządzeniem ściśle przeznaczonym do tej warstwy. Warstwa trzecia otrzyma miano warstwy routingu (określania trasy), gdyż ona określa zadania przeznaczone dla routerów. Poziomy transportu i aplikacji pozostawimy bez zmian, bo nie mają bezpośredniego przełożenia na stosowane produkty sieciowe, a ich nazwa oddaje właściwe zastosowanie. Warstwy sesji i prezentacji całkowicie pominiemy, ponieważ nie będą nam potrzebne.

Komunikowanie się dwóch systemów przebiega następująco. Zanim informacja w postaci ciągu bitów zostanie wysłana siecią, dane muszą przejść w dół, przez wszystkie poziomy modelu. Warstwy, z wyjątkiem warstwy interfejsu, dołączają własne krótkie pola, opisujące istotne dla nich informacje. Pola takie nazywamy nagłówkami. Z poziomu aplikacji zgłaszane jest zapotrzebowanie na przykład na odczytanie dowolnego elementu ze zdalnego systemu plików. W przypadku stosowania TCP/IP aplikacje zwykle nie współpracują bezpośrednio z warstwą transportu, częściej do tego celu wykorzystują biblioteki komunikacyjne, takie jak WinSock, dostępna w Windows. Dane, zaopatrzone w nagłówek aplikacji, muszą w jakiś sposób trafić do odbiorcy. Warstwa transportu może przesyłać informacje z wykorzystaniem protokołów TCP lub UDP. Jeśli zostanie wybrany protokół TCP, do pakietów dodany zostanie nagłówek z numerem portu źródłowego, numerem portu przeznaczenia, numerem sekwencyjnym itd.