1/30
Rola warstwy transportowej w sieciach

Logiczny łącznik między aplikacjami a siecią

Warstwa transportowa stanowi logiczny łącznik między aplikacjami użytkownika a infrastrukturą sieciową odpowiedzialną za przesyłanie pakietów. Podczas dzisiejszego wykładu przeanalizujemy, w jaki sposób dane są dzielone na segmenty i dostarczane do procesów na urządzeniu docelowym. Głównym zadaniem tej warstwy jest zapewnienie komunikacji typu end-to-end, niezależnie od liczby routerów na ścieżce przesyłu. Odpowiada ona za identyfikację aplikacji za pomocą numerów portów, co umożliwia równoległe działanie wielu usług na jednym urządzeniu. Warstwa czwarta modelu OSI musi również decydować o poziomie niezawodności transmisji, dostosowując się do wymagań konkretnego programu. Zrozumienie mechanizmów transportowych jest kluczowe dla optymalizacji wydajności systemów rozproszonych i usług chmurowych. Prawidłowa obsługa błędów i sterowanie przepływem na tym poziomie gwarantuje spójność danych u odbiorcy końcowego.

Schemat warstwy transportowej OSI
2/30
Identyfikacja usług za pomocą portów

16-bitowe identyfikatory aplikacji

Numery portów są 16-bitowymi identyfikatorami pozwalającymi systemowi operacyjnemu na kierowanie danych do odpowiednich aplikacji. Zakres portów od 0 do 1023 jest zarezerwowany dla powszechnie znanych usług systemowych, takich jak HTTP, FTP czy SSH. Porty zarejestrowane oraz dynamiczne są wykorzystywane przez aplikacje użytkownika oraz do nawiązywania połączeń tymczasowych. Adres IP w połączeniu z numerem portu tworzy unikalny deskryptor gniazda (ang. socket). Dzięki temu mechanizmowi serwer może obsługiwać tysiące jednoczesnych sesji od różnych klientów na tym samym adresie IP. Każdy pakiet przychodzący jest analizowany pod kątem portu docelowego, co pozwala na bezbłędne dostarczenie ładunku do właściwego procesu. Administratorzy sieci wykorzystują wiedzę o portach do konfigurowania zapór sieciowych oraz reguł przekierowania ruchu.

Diagram portów TCP/UDP i gniazd sieciowych
3/30
Protokół UDP - charakterystyka i zastosowania

Protokół bezpołączeniowy - szybkość przed niezawodnością

User Datagram Protocol (UDP) jest protokołem bezpołączeniowym, który oferuje minimalny narzut sterujący i maksymalną szybkość transmisji. Nie zapewnia on gwarancji dostarczenia danych ani zachowania ich kolejności, co czyni go rozwiązaniem typu best-effort. Brak mechanizmów retransmisji sprawia, że UDP jest idealny dla aplikacji czasu rzeczywistego, takich jak VoIP czy streaming wideo. Nagłówek UDP jest bardzo krótki, liczy zaledwie 8 bajtów, co pozwala na efektywne wykorzystanie pasma przy przesyłaniu krótkich zapytań. Protokoły takie jak DNS czy DHCP polegają na UDP ze względu na potrzebę szybkiej wymiany komunikatów. Aplikacje korzystające z tego protokołu muszą samodzielnie radzić sobie z ewentualnymi stratami pakietów na poziomie logiki programu.

Budowa nagłówka protokołu UDP
4/30
Protokół TCP - fundament niezawodności

Połączeniowy protokół z gwarancją dostarczenia

Transmission Control Protocol (TCP) jest złożonym protokołem połączeniowym, zaprojektowanym w celu zapewnienia całkowitej pewności dostarczenia informacji. Przed wysłaniem danych TCP nawiązuje sesję logiczną między hostami, co pozwala na śledzenie stanu transmisji. Każdy wysłany bajt otrzymuje numer sekwencyjny, dzięki czemu odbiorca może poprawnie złożyć dane i wykryć brakujące fragmenty. Protokół ten automatycznie retransmituje pakiety, które zostały zgubione lub uszkodzone w trakcie przesyłu. TCP dba również o sterowanie przepływem, dopasowując tempo nadawania do możliwości odbiorcy oraz aktualnego stanu łączy. Większość usług krytycznych, takich jak przeglądanie stron WWW, poczta elektroniczna czy bazy danych, polega na niezawodności TCP.

Budowa nagłówka protokołu TCP
5/30
Mechanizm nawiązywania połączenia - trójstopniowe uzgadnianie

Three-way Handshake - SYN, SYN-ACK, ACK

Proces nawiązywania połączenia TCP rozpoczyna się od trójstopniowego uzgadniania parametrów, znanego jako Three-way Handshake. Klient wysyła pierwszy segment z ustawioną flagą SYN, inicjując chęć otwarcia sesji i proponując początkowy numer sekwencyjny. Serwer odpowiada segmentem SYN-ACK, potwierdzając otrzymanie żądania i przesyłając własne parametry synchronizacji. W ostatnim kroku klient odsyła segment ACK, co kończy proces zestawiania połączenia i pozwala na rozpoczęcie przesyłania danych. Ten mechanizm zapewnia, że oba końce komunikacji są gotowe do pracy i uzgodniły numery sekwencyjne dla obu kierunków. Trójstopniowe uzgadnianie pozwala również na wykrycie sytuacji, w której serwer jest przeciążony lub usługa jest niedostępna.

Diagram trójstopniowego uzgadniania TCP
6/30
Potwierdzenia i numery sekwencyjne w TCP

ACK i numery sekwencyjne - niezawodność transmisji

Niezawodność protokołu TCP opiera się na ciągłym numerowaniu przesyłanych bajtów oraz systemie potwierdzeń zwrotnych (ACK). Każdy segment zawiera numer sekwencyjny pierwszego bajtu danych, co pozwala odbiorcy na wykrycie duplikatów i luk w strumieniu. Odbiorca wysyła potwierdzenie zawierające numer kolejnego bajtu, którego oczekuje, co informuje nadawcę o pomyślnej transmisji. Jeśli nadawca nie otrzyma potwierdzenia w określonym czasie, uznaje segment za zgubiony i przesyła go ponownie. Mechanizm ten radzi sobie również z sytuacją, w której pakiety docierają do celu w innej kolejności niż zostały wysłane. TCP buforuje dane przychodzące i przekazuje je do aplikacji dopiero po ułożeniu ich w poprawnej strukturze.

Mechanizm potwierdzeń ACK w TCP
7/30
Mechanizm okna przesuwnego

Sliding Window - optymalizacja wykorzystania pasma

Okno przesuwne (ang. Sliding Window) to zaawansowany mechanizm sterowania przepływem, który optymalizuje wykorzystanie pasma sieciowego. Pozwala on nadawcy na wysłanie wielu segmentów danych przed koniecznością odebrania pierwszego potwierdzenia. Rozmiar okna określa liczbę bajtów, które odbiorca jest w stanie przyjąć do swojego bufora w danym momencie. Jeśli sieć jest stabilna, rozmiar okna może dynamicznie rosnąć, co zwiększa efektywną przepustowość połączenia. W przypadku wykrycia strat pakietów, TCP zmniejsza rozmiar okna, aby uniknąć dalszego przeciążania infrastruktury. Okno przesuwne rozwiązuje problem stop-and-wait, który drastycznie spowalniałby komunikację na łączach o dużym opóźnieniu.

Schemat działania okna przesuwnego TCP
8/30
Unikanie przeciążenia w protokole TCP

Slow Start i Congestion Avoidance

Przeciążenie (kongestia) występuje, gdy ilość danych przesyłanych przez sieć przekracza możliwości przełączania lub buforowania routerów pośrednich. TCP stosuje algorytmy takie jak Slow Start oraz Congestion Avoidance, aby zapobiec całkowitemu zablokowaniu łączy. Na początku sesji nadawca wysyła dane bardzo ostrożnie, wykładniczo zwiększając ich ilość przy każdym poprawnym potwierdzeniu. Gdy osiągnięty zostanie określony próg lub wykryta zostanie strata pakietu, tempo wzrostu staje się liniowe lub gwałtownie spada. Mechanizm ten pozwala na sprawiedliwy podział pasma między konkurujące ze sobą sesje różnych użytkowników. Nowoczesne warianty TCP, takie jak Cubic czy BBR, optymalizują te algorytmy dla sieci o bardzo dużych prędkościach.

Wykres algorytmów Slow Start i Congestion Avoidance
9/30
Zamykanie połączenia TCP

Czterostopniowe zakończenie sesji - FIN i ACK

Proces poprawnego zakończenia sesji TCP składa się z czterech etapów i wymaga obustronnego potwierdzenia chęci zamknięcia kanału. Strona inicjująca wysyła segment z flagą FIN, co oznacza, że nie ma już więcej danych do wysłania, ale wciąż może odbierać dane od partnera. Druga strona odpowiada potwierdzeniem ACK, a następnie przesyła własny segment FIN, gdy zakończy przesyłanie swoich danych. Ostatnie potwierdzenie ACK zamyka sesję po obu stronach, zwalniając zasoby systemowe. Ten czterostopniowy proces gwarantuje, że wszystkie dane będące w drodze zostaną odebrane i przetworzone przed rozłączeniem. Po całkowitym zamknięciu gniazda port przechodzi w stan TIME_WAIT, co zapobiega pomyłkom przy szybkim ponownym otwarciu nowej sesji na tych samych parametrach.

Diagram czterostopniowego zamykania połączenia TCP
10/30
Stany gniazd sieciowych i ich interpretacja

LISTEN, ESTABLISHED, TIME_WAIT i inne

Podczas cyklu życia połączenia TCP, gniazdo sieciowe przechodzi przez szereg stanów zdefiniowanych w standardzie protokołu. Stan LISTEN oznacza, że serwer oczekuje na przychodzące żądania od klientów na konkretnym porcie. ESTABLISHED to stan aktywnej sesji, w której obie strony mogą swobodnie wymieniać dane aplikacyjne. Stany takie jak SYN_SENT czy SYN_RCVD informują o trwającym procesie nawiązywania połączenia i są widoczne podczas diagnostyki. Monitorowanie stanów połączeń za pomocą narzędzi takich jak netstat jest podstawą pracy administratora serwerów. Duża liczba połączeń w stanie TIME_WAIT może wskazywać na potrzebę optymalizacji obsługi ruchu na poziomie systemu operacyjnego. Zrozumienie logiki przejść między stanami pozwala na szybkie identyfikowanie zawieszonych procesów oraz potencjalnych ataków.

Diagram stanów gniazd TCP
11/30
Protokół DNS - hierarchia i rozwiązywanie nazw

Hierarchiczny system nazw domenowych

Domain Name System (DNS) jest krytyczną usługą sieciową zamieniającą przyjazne dla człowieka nazwy domen na adresy IP zrozumiałe dla maszyn. Struktura DNS jest hierarchiczna i rozproszona, co zapewnia jej ogromną skalowalność i odporność na awarie. Na szczycie znajdują się serwery główne (Root), które kierują zapytania do serwerów domen najwyższego poziomu (TLD). Proces rozwiązywania nazwy może być iteracyjny lub rekurencyjny, zależnie od konfiguracji lokalnego serwera przelotowego. Większość systemów korzysta z mechanizmów buforowania (caching), aby przyspieszyć dostęp do często odwiedzanych stron. DNS korzysta głównie z protokołu UDP na porcie 53, przełączając się na TCP przy dużych odpowiedziach lub transferach stref danych.

Hierarchiczna struktura systemu DNS
12/30
Typy rekordów DNS i ich funkcje

A, AAAA, MX, CNAME, NS, TXT, PTR

Baza danych DNS składa się z różnych typów rekordów zasobów, z których każdy pełni specyficzną rolę w architekturze sieci. Rekord typu A mapuje nazwę hosta na adres IPv4, natomiast rekord AAAA służy do obsługi adresacji IPv6. Rekordy MX (Mail Exchange) wskazują serwery odpowiedzialne za przyjmowanie poczty elektronicznej dla danej domeny. CNAME pozwala na tworzenie aliasów, czyli przypisanie jednej nazwy do innej nazwy kanonicznej. Rekordy NS definiują serwery nazw, które posiadają autorytatywne informacje o strefie DNS. TXT jest rekordem tekstowym wykorzystywanym do weryfikacji własności domeny oraz mechanizmów bezpieczeństwa takich jak SPF czy DKIM. PTR to rekord odwrotny, pozwalający na znalezienie nazwy hosta na podstawie znanego adresu IP.

Rodzaje rekordów DNS i ich zastosowanie
13/30
Bezpieczeństwo DNS - protokół DNSSEC

Podpisy cyfrowe i szyfrowanie zapytań DNS

Klasyczny protokół DNS nie posiada wbudowanych mechanizmów uwierzytelniania, co czyni go podatnym na ataki typu DNS Spoofing i Cache Poisoning. DNSSEC (Domain Name System Security Extensions) wprowadza podpisy cyfrowe dla rekordów DNS, zapewniając integralność i autentyczność danych. Dzięki kryptografii asymetrycznej klient może zweryfikować, czy otrzymana odpowiedź faktycznie pochodzi od uprawnionego serwera. DNSSEC nie zapewnia poufności zapytań, ale chroni przed ich fałszowaniem w trakcie przesyłu. Coraz większe znaczenie zyskują również protokoły DNS over HTTPS (DoH) oraz DNS over TLS (DoT), które szyfrują treść samych zapytań. Ochrona infrastruktury DNS jest kluczowym elementem strategii bezpieczeństwa każdej nowoczesnej organizacji IT.

Schemat działania DNSSEC
14/30
Protokół DHCP - automatyzacja adresowania

DORA - Discovery, Offer, Request, Acknowledgment

Dynamic Host Configuration Protocol (DHCP) umożliwia automatyczne przypisywanie adresów IP oraz innych parametrów sieciowych urządzenia w sieci lokalnej. Proces ten, znany jako DORA, składa się z czterech etapów: Discovery (odkrycie), Offer (propozycja), Request (żądanie) oraz Acknowledgment (potwierdzenie). Klient wysyła zapytanie rozgłoszeniowe w poszukiwaniu serwera DHCP, który odpowiada propozycją dostępnego adresu z puli. Po zaakceptowaniu oferty przez klienta, serwer rezerwuje adres na określony czas dzierżawy (lease time). Oprócz adresu IP, DHCP dostarcza informacje o masce podsieci, bramie domyślnej oraz serwerach DNS. Mechanizm ten drastycznie upraszcza zarządzanie dużymi sieciami, eliminując błędy ręcznej konfiguracji i konflikty adresów.

Proces DORA w protokole DHCP
15/30
Ewolucja protokołu HTTP - od 1.1 do 3

HTTP/1.1, HTTP/2, HTTP/3 i QUIC

Hypertext Transfer Protocol przeszedł ogromną ewolucję, dostosowując się do wymagań nowoczesnych aplikacji internetowych. HTTP/1.1 wprowadził trwałe połączenia, ale borykał się z problemem blokady początku kolejki (ang. Head-of-line blocking). HTTP/2 rozwiązał ten problem poprzez multipleksowanie, pozwalając na przesyłanie wielu zasobów w jednym połączeniu TCP. Najnowszy standard, HTTP/3, rezygnuje z TCP na rzecz protokołu QUIC opartego na UDP, co drastycznie skraca czas ładowania stron. QUIC natywnie integruje szyfrowanie TLS i pozwala na płynne przełączanie między sieciami bez przerywania sesji. Każda kolejna wersja protokołu skupia się na redukcji opóźnień oraz lepszym wykorzystaniu dostępnego pasma.

Porównanie wersji protokołu HTTP
16/30
Bezpieczeństwo TLS i SSL w architekturze sieci

TLS Handshake i certyfikaty cyfrowe

Transport Layer Security (TLS) jest standardem szyfrowania komunikacji sieciowej, który zastąpił starszy protokół SSL. Zapewnia on trzy kluczowe aspekty bezpieczeństwa: poufność danych, ich integralność oraz uwierzytelnienie serwera za pomocą certyfikatów. Proces zestawiania bezpiecznego połączenia (TLS Handshake) obejmuje negocjację algorytmów szyfrujących oraz wymianę kluczy publicznych. Nowoczesna wersja TLS 1.3 znacząco upraszcza ten proces, redukując liczbę niezbędnych komunikatów i usuwając przestarzałe szyfry. Certyfikaty cyfrowe wystawiane przez zaufane urzędy certyfikacji (CA) stanowią fundament zaufania w dzisiejszym Internecie. Szyfrowanie TLS jest stosowane powszechnie nie tylko w protokole HTTPS, ale również w bezpiecznych wersjach poczty elektronicznej.

Proces TLS Handshake
17/30
Protokoły poczty elektronicznej - SMTP, IMAP i POP3

SMTP do wysyłania, IMAP/POP3 do odbioru

System poczty elektronicznej opiera się na zestawie protokołów odpowiedzialnych za wysyłanie oraz odbieranie wiadomości. SMTP (Simple Mail Transfer Protocol) służy do przesyłania poczty od nadawcy do serwera oraz między serwerami pocztowymi. IMAP (Internet Message Access Protocol) pozwala użytkownikowi na zarządzanie wiadomościami bezpośrednio na serwerze, co ułatwia synchronizację między wieloma urządzeniami. POP3 (Post Office Protocol) pobiera wiadomości na lokalny dysk komputera, zazwyczaj usuwając je z serwera po zakończeniu sesji. Współczesne systemy pocztowe korzystają niemal wyłącznie z szyfrowanych wersji tych protokołów (np. SMTPS, IMAPS). Mechanizmy takie jak SPF, DKIM oraz DMARC są niezbędne do weryfikacji tożsamości nadawcy i walki ze spamem.

Architektura protokołów poczty elektronicznej
18/30
Protokół FTP i jego tryby pracy

Active vs Passive FTP, SFTP i FTPS

File Transfer Protocol (FTP) jest klasycznym protokołem służącym do przesyłania plików w architekturze klient-serwer. FTP wykorzystuje dwa oddzielne połączenia TCP: jedno do przesyłania komend (port 21) i drugie do faktycznego transferu danych (port 20). W trybie aktywnym to serwer inicjuje połączenie danych do klienta, co często powoduje problemy z zapórami sieciowymi i mechanizmem NAT. Tryb pasywny rozwiązuje ten problem, pozwalając klientowi na otwarcie obu połączeń do serwera na przydzielonych portach. Ze względu na przesyłanie haseł otwartym tekstem, tradycyjny FTP jest obecnie wypierany przez bezpieczne warianty, takie jak SFTP (oparty na SSH) lub FTPS (FTP over TLS).

Porównanie trybów aktywnego i pasywnego FTP
19/30
Monitorowanie sieci za pomocą protokołu SNMP

SNMP - MIB, OID i wersje protokołu

Simple Network Management Protocol (SNMP) umożliwia administratorom centralne monitorowanie i zarządzanie urządzeniami sieciowymi w czasie rzeczywistym. Architektura SNMP składa się z menedżera (systemu NMS) oraz agentów działających na urządzeniach takich jak routery czy serwery. Informacje o stanie urządzenia są przechowywane w bazie danych MIB (Management Information Base) w formie hierarchicznej struktury obiektów. SNMP pozwala na odczytywanie parametrów wydajnościowych oraz wysyłanie powiadomień o nagłych awariach (Traps). Wersja 3 protokołu wprowadziła niezbędne mechanizmy szyfrowania i silnego uwierzytelniania, co czyni ją bezpieczną do stosowania w sieciach korporacyjnych.

Architektura SNMP - menedżer i agenci
20/30
Protokół NTP - synchronizacja czasu w sieci

Hierarchia Stratum i precyzyjna synchronizacja

Network Time Protocol (NTP) służy do precyzyjnej synchronizacji zegarów komputerów i urządzeń w rozproszonej architekturze sieciowej. Spójny czas jest niezbędny do poprawnej analizy logów systemowych, działania protokołów bezpieczeństwa oraz weryfikacji certyfikatów cyfrowych. NTP korzysta z hierarchicznej struktury serwerów czasu (Stratum), korygując opóźnienia wprowadzane przez samą transmisję sieciową. Protokół ten działa w oparciu o UDP na porcie 123 i potrafi osiągnąć precyzję rzędu milisekund. Dla systemów wymagających najwyższej dokładności, takich jak handel giełdowy, stosuje się protokół PTP (Precision Time Protocol). Synchronizacja czasu jest absolutnie krytycznym aspektem stabilności i audytowalności systemów teleinformatycznych.

Hierarchia Stratum w protokole NTP
21/30
Zarządzanie sesjami i protokół SSH

Bezpieczny dostęp zdalny - SSH

Secure Shell (SSH) jest podstawowym narzędziem do bezpiecznego, zdalnego zarządzania serwerami poprzez wiersz poleceń. Zastąpił on całkowicie przestarzały protokół Telnet, który przesyłał dane i hasła otwartym tekstem. SSH zapewnia silne szyfrowanie całej sesji oraz mechanizmy uwierzytelniania oparte na hasłach lub parach kluczy asymetrycznych. Oprócz dostępu do konsoli, SSH pozwala na bezpieczne tunelowanie innych protokołów oraz przesyłanie plików za pomocą SCP i SFTP. Protokół ten działa domyślnie na porcie TCP 22 i jest standardem we wszystkich nowoczesnych systemach serwerowych. Prawidłowa konfiguracja SSH, w tym ograniczenie dostępu do wybranych adresów IP, jest kluczowym elementem wzmacniania bezpieczeństwa infrastruktury IT.

Schemat połączenia SSH
22/30
Protokół SYSLOG - centralizacja logów zdarzeń

Facility, severity i scentralizowane gromadzenie logów

Syslog jest standardem przesyłania komunikatów o zdarzeniach systemowych z rozproszonych urządzeń do centralnego serwera logów. Każdy komunikat zawiera informacje o pochodzeniu (facility) oraz poziomie ważności (severity) zdarzenia. Centralizacja logów jest niezbędna do efektywnej diagnostyki awarii, audytów bezpieczeństwa oraz monitorowania zgodności w dużych sieciach. Tradycyjny Syslog korzysta z UDP na porcie 514, co nie gwarantuje dostarczenia komunikatów przy dużym przeciążeniu. Nowoczesne implementacje wspierają przesyłanie logów przez TCP oraz szyfrowanie TLS. Serwery logów analizują strumienie danych w poszukiwaniu wzorców wskazujących na ataki lub awarie sprzętowe. Prawidłowo skonfigurowany system Syslog stanowi pamięć sieciową organizacji.

Architektura scentralizowanego systemu Syslog
23/30
Technologia QoS w warstwie transportowej

Priorytetyzacja ruchu w sieciach konwergentnych

Quality of Service (QoS) na poziomie warstwy czwartej pozwala aplikacjom na definiowanie priorytetów dla różnych typów ruchu. Mechanizm ten jest niezbędny w sieciach konwergentnych, gdzie dane biurowe konkurują o pasmo z krytycznymi usługami głosowymi i wideo. W nagłówku IP wykorzystuje się pole DSCP do oznaczania ważności pakietów, ale to warstwa transportowa decyduje o sposobie reagowania na przeciążenia. Protokoły czasu rzeczywistego oparte na UDP są traktowane priorytetowo, aby zminimalizować zmienność opóźnień (jitter). Sesje TCP mogą być kształtowane (shaping) lub ograniczane, aby nie zdominowały pasma podczas przesyłania dużych plików. Zapewnienie wysokiej jakości usług jest kluczowe dla zadowolenia użytkowników korzystających z aplikacji w modelu chmurowym.

Priorytetyzacja ruchu z wykorzystaniem QoS
24/30
Sieci VPN w warstwie transportowej - SSL/TLS VPN

Bezpieczny dostęp zdalny przez port 443

Wirtualne Sieci Prywatne (VPN) oparte na protokołach SSL/TLS oferują bezpieczny dostęp zdalny bez potrzeby instalowania skomplikowanych klientów. VPN tego typu działa najczęściej na porcie TCP 443, co pozwala mu na łatwe przechodzenie przez większość zapór sieciowych. Użytkownik może uzyskać dostęp do wybranych aplikacji przez przeglądarkę WWW lub za pomocą szyfrowanego tunelu. W przeciwieństwie do IPSec VPN, SSL VPN pozwala na bardziej precyzyjną kontrolę dostępu do konkretnych zasobów aplikacyjnych. Rozwiązanie to jest idealne dla pracowników mobilnych oraz kontrahentów potrzebujących dostępu do segmentów infrastruktury IT. Silne uwierzytelnianie wieloskładnikowe (MFA) jest standardem zwiększającym bezpieczeństwo takich połączeń zdalnych.

Schemat SSL/TLS VPN
25/30
Protokół SMB i usługi udostępniania plików

Server Message Block - współdzielenie plików i drukarek

Server Message Block (SMB) jest podstawowym protokołem wykorzystywanym w systemach Windows do udostępniania plików i drukarek. Nowoczesne wersje SMB (np. 3.1.1) oferują zaawansowane mechanizmy szyfrowania oraz optymalizacji dla sieci o dużych prędkościach. SMB działa w warstwie aplikacji, ale silnie polega na usługach transportowych TCP na porcie 445. Protokół ten wspiera mechanizmy blokowania plików, co zapobiega jednoczesnej edycji danych przez wielu użytkowników. W środowiskach mieszanych stosuje się implementację Samba, która zapewnia interoperacyjność z usługami katalogowymi. Starsze wersje SMB (v1) powinny być bezwzględnie wyłączone ze względu na liczne luki bezpieczeństwa. Prawidłowa konfiguracja usług SMB jest kluczowa dla wydajności pracy grupowej w organizacji.

Architektura protokołu SMB
26/30
Usługi proxy i reverse proxy w sieci

Forward Proxy i Reverse Proxy

Serwery pośredniczące (proxy) działają jako pośrednicy, izolując klientów wewnętrznych od publicznej sieci Internet. Forward Proxy pozwala na kontrolę dostępu do treści oraz ukrywanie adresów IP stacji roboczych. Reverse Proxy chroni serwery aplikacyjne, przejmując zadania takie jak terminacja SSL (odszyfrowywanie ruchu), równoważenie obciążenia (load balancing) oraz ochronę przed atakami. Dzięki zastosowaniu reverse proxy, wewnętrzna struktura sieci serwerowej pozostaje niewidoczna dla użytkowników zewnętrznych. Rozwiązania te pozwalają również na modyfikację treści zapytań w locie w celu poprawy bezpieczeństwa. Wykorzystanie systemów takich jak Nginx czy HAProxy jest standardem w architekturze nowoczesnych centrów danych i skalowalnych aplikacji webowych.

Forward Proxy i Reverse Proxy - porównanie
27/30
Diagnostyka warstwy transportowej - narzędzia i techniki

Netcat, nmap, Wireshark - badanie portów i sesji

Diagnostyka w warstwie transportowej skupia się na weryfikacji dostępności portów oraz analizie sesji transmisji. Narzędzie netcat (nc) pozwala na szybkie sprawdzenie, czy konkretna usługa nasłuchuje na danym porcie TCP lub UDP. Skanery portów, takie jak nmap, są wykorzystywane do inwentaryzacji aktywnych usług oraz audytów bezpieczeństwa. Analiza zrzutów ruchu w programie Wireshark pozwala na wykrycie problemów z retransmisjami czy błędami w procesie nawiązywania połączenia. Statystyki gniazd sieciowych dostarczane przez system operacyjny informują o liczbie aktywnych sesji i ewentualnych przeciążeniach serwera. Metodyczne podejście do diagnostyki pozwala na szybkie odróżnienie problemów z infrastrukturą sieciową od błędów w samej logice aplikacji.

Narzędzia do diagnostyki warstwy transportowej
28/30
Wirtualizacja usług i konteneryzacja w sieci

Kontenery, overlay networks i service discovery

Konteneryzacja zmieniła sposób, w jaki usługi sieciowe są wdrażane i komunikują się ze sobą. Każdy kontener posiada własną odizolowaną przestrzeń adresową, ale współdzieli jądro systemu z hostem. Mapowanie portów (port publishing) pozwala na udostępnienie usług działających wewnątrz kontenerów na fizycznych interfejsach serwera. Sieci nakładkowe (overlay networks) umożliwiają kontenerom komunikację między różnymi fizycznymi hostami tak, jakby były w jednej sieci lokalnej. Zarządzanie setkami kontenerów wymaga orkiestratorów (np. Kubernetes), które automatyzują routing i równoważenie obciążenia ruchem. Wirtualizacja usług wymusza stosowanie dynamicznych systemów odnajdywania usług (service discovery) w celu obsługi zmieniających się adresów IP procesów.

Sieci nakładkowe w konteneryzacji
29/30
Przyszłość protokołów transportowych - QUIC i poza nim

QUIC, 5G, IoT - ewolucja transportu

Tradycyjne protokoły transportowe, takie jak TCP, osiągnęły granice swoich możliwości w kontekście nowoczesnych, mobilnych aplikacji internetowych. Protokół QUIC wprowadza rewolucyjne zmiany w zakresie szybkości nawiązywania połączeń i odporności na utratę pakietów. Dzięki przeniesieniu logiki sterowania do warstwy aplikacji, QUIC pozwala na szybsze wdrażanie innowacji bez czekania na aktualizacje jądra systemu operacyjnego. Rozwój sieci 5G i IoT wymusza powstanie jeszcze lżejszych protokołów zorientowanych na oszczędność energii i minimalne opóźnienia. Rozwiązania takie jak L4S dążą do niemal całkowitej eliminacji zmienności opóźnień w zatłoczonych sieciach. Bezpieczeństwo staje się integralną częścią warstwy transportowej, a nie opcjonalnym dodatkiem, co widać w projektach zapewniających domyślne szyfrowanie każdego połączenia.

Przyszłość protokołów transportowych - QUIC
30/30
Podsumowanie wykładu i perspektywy praktyczne

Transport i usługi - kluczowe wnioski

Podczas dzisiejszego wykładu przeanalizowaliśmy kluczowe mechanizmy warstwy transportowej oraz najważniejsze usługi działające w architekturze sieci. Poznaliśmy fundamentalne różnice między protokołami TCP i UDP oraz ich wpływ na wydajność i niezawodność różnych typów aplikacji. Omówiliśmy krytyczne usługi infrastrukturalne, takie jak DNS, DHCP oraz protokoły synchronizacji czasu, które umożliwiają stabilną pracę systemów IT. Zrozumienie mechanizmów sesji, numerów portów oraz szyfrowania TLS jest niezbędne do projektowania bezpiecznych i skalowalnych rozwiązań sieciowych. Wiedza ta pozwala nie tylko na budowę infrastruktury, ale przede wszystkim na skuteczną diagnostykę problemów występujących w złożonych środowiskach serwerowych. Dziękuję za uwagę i zachęcam do pogłębiania wiedzy w części laboratoryjnej.

Podsumowanie wykładu o warstwie transportowej