From 32719440114d7ab2c1e5de8357a5bd2336a79afa Mon Sep 17 00:00:00 2001 From: xf0r3m Date: Tue, 6 Feb 2024 13:36:52 +0100 Subject: [PATCH] =?utf8?q?Zako=C5=84czenie=20pisania=2014=20rozdzia=C5=82u?= =?utf8?q?.=20Do=20przeredagowania.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- articles/terminallog/Cisco_-_CCNA.html | 289 +++++++++++++++++++++++++ 1 file changed, 289 insertions(+) diff --git a/articles/terminallog/Cisco_-_CCNA.html b/articles/terminallog/Cisco_-_CCNA.html index e622861..2680e5e 100755 --- a/articles/terminallog/Cisco_-_CCNA.html +++ b/articles/terminallog/Cisco_-_CCNA.html @@ -109,6 +109,295 @@ wydawać się nieco dziwne, dlatego też przy takich informacjach będę zapisywać oznacznie oryginalności zapisu (sic/sic!).

+

1.14. Warstwa transportowa

+

+ Warstwa transportowa jest odpowiedzialna za komunikację pomiędzy + aplikacjami uruchomionymi na różnych komputerach. Wraz z warstwami + poniżej odpowiedzialna jest za komunikację sieciową. +

+

1.14.1. Dostarczanie danych

+

+ Warstwa transportowa jest odpowiedzialna za takie czynności jak: +

+ +

+ Warstwa IP nie ma możliwość bezpośredniego dostarczenia danych w + docelowe miejsce. Określają to protokoły warstwy transportowej są one + odpowiedzialne za sposób wymiany danych między hostami oraz + za spełnienie wymagań wykorzystywanych połączeń. Protokołami wartsty + transportowej są TCP oraz UDP. +

+

+ Protokoł TCP wybierany jest przez aplikacje wymagające niezawodnego + połączenia. Funkcjonalnością warstyw transportowej, za które odpowiada + protokół TCP to: +

+ +

+ Protokoł UDP dostacza bardzo podstawowywch funkcji dostarczania danych + między określonymi aplikacjiami, przy minimalnym obciążeniu oraz + weryfikacji poprawności przesyłanych danych. Cechami, które wyróżniają + ten protokoł jest: +

+ +

+ Protokół UDP jest również wykorzystywany dla aplikacji działajacej na + zasadzie żądanie-odpowiedź, gdzie ilość danych jest nie wielka, nie + ma tam również retransmisji, przez co taka wymiana informacji może + zostać bardzo szybko zrealizowana. Przykład: transmisja głosu (VoIP), + komunikacja z DNS. Wymagane cechy: +

+ +

+ Inne aplikacje, którym bardziej zależy na jakość przesyłanych danych + wybiorą transmisję opartą na protokole TCP. Przykład: Poczta + elektroniczna (protokoły IMAP/SMTP) czy przeglądanie sieci WWW (HTTP). + Wymagane cechy: +

+ +

1.14.2. Nagłówek TCP

+

+ Podczas ekapsulacji dane z warstwy aplikacji trafiają do wartstwty + transportowej. Tutaj surowe dane z aplikacji są zamieniane w segmenty + po dodaniu nagłówka wykorzystywane do transmisji protokołu warstwy + transportowej. Poniżej znajduje się obraz przedstawiający nagłówek + TCP. +

+ + +

1.14.3. Nagłowek UDP

+

+ Segmenty UDP rownież posiadają nagłówki, jednak nie tak rozbudowne + jak w przypadku TCP. Dla porównania nagłówek UDP zawiera tylko 4 pola. +

+ + +

1.14.4. Numery portów

+

+ Protokoły TCP oraz UDP wykorzystują numery portów do zarządzania + działająch w tym samym czasie połączeń. Port źródłowy wskazuje + aplikację źródłową na lokalnym hostście natomast port docelowy + aplikację docelową na hoście zdalnym. +

+

+ Porty znajdują się wewnątrz segmentów warstwy transportowej, Segmenty + natomiast są enkapsulowane w pakiety IP. Kombinacja adresu IP oraz + numeru portu nie ważne, z której strony w transmisji nazwany jest + gniazdem. Gniazda umożliwiają klientom wielkrotne + połączenia z tym samym serwerem, czy tą samą usługą. +

+

+ Portów ze względu na rozmiar pola portu docelowego i źródłego ma + długość 16-bitów, to bez modyfikacji nagłówków porty mają zakres + od 0 do 65535. Większość portów jest + już przydzielona i mozna je podzielić na trzy mniejsze zakresy, +

+ +

+ Nie będę wypisywał tutaj jakiś list. Wszystko jest dostępne w + Internecie lub w dystrybucjach Linuksa w pliku /etc/services. +

+

+ Warto odczasu do czasu zwrócić uwagę na to jakie połaczenia są + realizowane w naszym systemie w zależności od systemu możemy + wykorzystać do tego albo polecenie netstat dla + MS Windows lub ss dla dystrybucji Linuksa. +

+

1.14.5. Procesy komunikacji TCP

+

+ Każdy proces aplikacji serwera jest skonfigurowany w taki sposób, aby + korzystać z portów. Dwie aplikacje na tym samym serwerze nie mogą mieć + przypisanych tych samych portów. Aktywna aplikacja z przypisanym + portem uznaje się za otwarą, oznacza to mniej więcej + tyle, że jej proces przyjmie dane przekazane do tego portu. Oznacza to + również, że każde żądanie od klientów jest akceptowane i dane + przekazywane są do procesu aplikacji. +

+

+ Klient nawiązuje połączenie w tzw. schemacie + Three-Way-Handshake. W wygląda to mniej więcej w taki sposób +

+
    +
  1. Klient incjalizuje połaczenie w modelu klient-serwer z serwerem + wysyłając do niego segment z ustawioną flagą SYN.
  2. +
  3. Serwer odpowiada na próbę inicjalizacji połączenia odsyłając + do klienta segment z ustawionymi flagami SYN, ACK.
  4. +
  5. Klient przesyła odpowiedź do serwera z ustawiona flagą ACK i w ten + połączenie zostaje nawiązane.
  6. +
+

+ Zamykanie połączeń odbywa się podobny sposób. Jeśli nie ma więcej + danych do przesłania, klient wysyła segment z ustawioną flaga FIN. + Następnie serwer wysyła dwa segementy jeden z odpowiedzią na wysłaną + flage FIN oraz drugi segment z ustawioną flagą FIN wysłaną do klienta. + Kiedy klient odbierze taki segment, potwierdza za pomocą flagi ACK, + jego odebranie i połącznie zostaje zakończone. +

+

+ Flagi kontrone wykorzystywane do zarządzania połączeniami TCP: +

+ +

1.14.6. Rzetelność i kontrola przepływu transmisji TCP

+

+ W przypadku transmisji sieciowej może dojść do zgubienia części danych + (pakietu) z róznych przyczny, rownie istotna może być ścieżka jaką + poruszają się pakiety do miejsca docelowego, pakiety z tego samego + źródła wysłane inną ścieżką mogą dotrzeć do celu poźniej niż inne. + Wówczas warstwa transportowa otrzymała dane nie pokolei. Podobnie jest + w przypadku utracenia danych, ponieważ muszą one zostać + retransmitowane. Jednak zawarty w nagłówkach numer sekwencji pozwoli + mechnizmom zawartym w protokole TCP złożyć widomość, tak aby nie + różniła się niczym od tej wysłanej przez nadawcę. +

+

+ Ciekawym mechnizmem może być SACK. Załóżmy taki + przypadek, że mamy ustawione okno na odpowiedź po 10 segemencie, ale + protokoł TCP uznał, że 3 i 4 segment są uszkodzone i wymagana jest ich + retransmisja. To w normalnym przypadku nadawca dowiedział by się o tym + fakcie dopiero po przesłaniu 10 segmentu. No dobrze troche by to + opóźniło transmisje, ale mamy już nasz 3 i 4 segment, a to nie koniec + ponieważ okno ustawione na 10 segment, to otrzymamy także segmenty od + 5 do 10. To jeśli uda się ustalić w SACK czyli + odpowiedź selektywna. W momecie gdy nadawca dowiaduje, + że potrzebna jest retransmisja w dodatkowym polu w segemencie + potwierdzenia zwracany jest numer sekwencyjny segmentu, który wymaga + retransmisji ale w dodatkowym polu SACK znajdują się te numery + sekwencyjne, które odbiorca już ma i uznał je za poprawne. +

+

+ Kontrola przepływu polega na dostosowaniu ilości wysyłanych danych do + możliwości odbiorcy. W przypadku protokołu TCP, kontrola przepływu + pomoga utrzymać stabliność i rzetelność tego protokołu. W jedym z + takich parametrów jest MSS, który określa wielkość + danych niesionych w pakietach. Standardowo dla Etherenetu jest 1460B. + Maksymalne MTU dla ethernetu to 1500B, od tego musimy odjąć 20B dla + nagłówka IP oraz 20B dla nagłówka TCP. Wiec pozostaje 1460B na dane z + warstwy aplikacji. +

+

+ Protokół TCP ma również dodatkowe mechanizmy dzięki, którym mocno + obciażona stacja robocza, nie zostanie zalana segmentami w momencie + kiedy nie jest wstanie odpowiedzieć, tym mechnizmem zarządza nadawca i + nazywają sie Congestion Avoidance - unikanie zatorów. +

+

1.14.7. Komunikacja z wykorzystaniem protokołu UDP

+

+ Protokół UDP nie zestawia połączenia. Ma on również mały narzut, + ponieważ jego nagłówek jest mniejszy i nie zarządza on ruchem. +

+

+ UDP nie korzysta z numerów sekwencji tak jak robi to TCP, przez co nie + możliwości uprządkowania pakietów w takiej samej kolejności w jakiej + zostały wysłane. +

+

+ Serwery korzystające z transmisji UDP wykorzystują dobrze znane lub + zarejestrowane porty. Kiedy datagram UDP dotrze do komputera + docelowego jest on przekazywany do aplikacji na podstawie przypisanego + jej numery portu. +

+

+ Klienci transmisji UDP przypisują sobie porty dynamicznie, przeważnie + z tej ostatniej grupy. Następnie ten port oraz port docelowy są + używane w nagłówkach datagramów. +

+

Zadanie praktyczne - Packet Tracer

+

+ Komunikacja TCP i UDP +

+

Podsumowanie

+

+ W tym rodziale dowiedzieliśmy za co jest odpowiedzialna warstwa + transportowa oraz jakie są jej funkcje. Poznaliśmy dwa protokoły + tej warstwy - TCP oraz UDP, scharakteryzowaliśmy ich nagłówki. + Następnie skupiliśmy się na opisaniu funkcjonalności protokołu TCP, na + koniec krótko został przedstawiony protokół UDP. +

1.15. Warstwa aplikacji

W warstwie aplikacji znajdują się elementy komunikacji sieciowej, -- 2.39.5