0

Warstwa transportowa – rola i zadania

Warstwa transportowa jest odpowiedzialna za dostarczenie danych z aplikacji od hosta źródłowego do docelowego. Posiada szeroki zakres zadań, aby komunikacja przebiegła poprawnie. To właśnie dzięki niej mamy możliwość korzystania z wielu aplikacji internetowych jednocześnie. Głównie wykorzystywanymi protokołami na poziomie tej warstwy jest protokół TCP oraz UDP. Opisze je w oddzielnym temacie. Otrzymując dane aplikacji przygotowuje je do transportu przez sieć, a otrzymując dane z warstwy sieci przetwarza je tak by mogły dotrzeć do aplikacji.

model osi warstwa transportu

Segmentowanie danych i składanie segmentów

Segmentowanie danych objawia się tym że warstwa transportowa dokonuje podziału danych aplikacji na mniejsze porcje zwane segmentami i zarządza każdym z nich. Dzieje się to oczywiście u hosta źródłowego. Dzięki segmentacji możliwe jest multipleksowanie segmentów, czyli ich przeplatanie w nośniku. Bez tego przykładowo korzystając z poczty elektronicznej, nie moglibyśmy w tym samym czasie słuchać ulubionej piosenki na youtube. Jako że segmenty są multipleksowane, a ścieżki w sieci mogą mieć różne szybkości transmisji to mogą docierać do celu w niepoprawnej kolejności. U hosta docelowego następuje składanie segmentów, które muszą zostać złożone w poprawnej kolejności. I właśnie jest to kolejne zadanie warstwy transportowej, która numeruje segmenty po stronie nadawczej i porządkuje po stronie odbiorczej.

warstwa transportowa

Adresowanie aplikacji

Adresowanie aplikacji zezwala na jej identyfikację. Dzięki temu właściwe dane mogą trafić do odpowiedniej aplikacji u hosta docelowego. Adresy bytujące na poziomie warstwy transportu to numery portów. Są one przypisywane każdemu procesowi, który potrzebuje uzyskać dostęp do sieci. Protokoły warstwy transportowej zwykle w swoich nagłówkach zawierają numery portu źródłowego i docelowego, które mają rozmiar 2B. Numery portów dzielą się na trzy typy. Są to porty dobrze znane, zarejestrowane oraz prywatne. Porty dobrze znane posiadają numery od 0 do 1023 i są zarezerwowane dla usług i aplikacji. Zarejestrowane porty mają zakres od 1024 do 49151 i przypisuje się je aplikacjom użytkownika (tym, które zainstalował). Prywatne porty zaczynają się od 49152 aż do 65535 i przeznaczone są dla aplikacji klienckich podczas inicjowania połączenia. W poniższej tabeli zestawiłem kilka przykładowych aplikacji wraz z ich portami.

Numer portu Typ portu Przeznaczenie
0-1023 Dobrze znany Usługi i aplikacje typu http
1024-49151 Zarejestrowany Indywidualnie zainstalowane aplikacje
49152-65535 Prywatny Aplikacje klienckie
Port Protokół Typ portu
20 FTP – dane Dobrze znany
21 FTP – polecenia Dobrze znany
22 SSH Dobrze znany
80 HTTP Dobrze znany
1293 IPSec Zarejestrowany
8074 Gadu-Gadu Zarejestrowany
8080 Alternatywny http Zarejestrowany

Kontrola przepływu

Kontrola przepływu ma za zadanie zapobieganie stratom segmentów w sieci i eliminacje retransmisji generujących dodatkowy ruch. Jak wiadomo zasoby sieci takie jak szerokość pasma, czy pamięć urządzeń sieciowych są ograniczone. W związku z czym jeżeli eksploatacja tych zasobów będzie wyczerpująca, dojdzie do utraty segmentów. Może to powodować retransmisje utraconych segmentów, a przy zajętych zasobach nadal będą one tracone. Kontrola przepływu dostosowuje obowiązującą szybkość przepływu danych między dwiema usługami zapobiegając takim sytuacjom. Pole rozmiar okna w protokole TCP jest implementacją sposobu kontroli przepływu. Możesz o nim poczytać w temacie poświęconym protokołowi TCP.

NetFreak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *