1/31 Witajcie w warstwie sieciowej

Witajcie w warstwie sieciowej

Szanowni Państwo, wkraczamy na teren "prawdziwego" Internetu.

Wcześniej mówiliśmy o kablach i przełącznikach (LAN), które pozwalają na komunikację w obrębie jednego pokoju lub budynku.

Dziś poznamy Warstwę 3 (Warstwa Sieciowa, ang. Network Layer) modelu OSI, która łączy te lokalne wyspy w globalny archipelag.

Dowiesz się, jak zbudowany jest adres IP, dlaczego maska podsieci jest tak ważna i jak routery decydują o trasie twojego e-maila do Australii.

Poruszymy też temat Warstwy 4 (Transportowej), czyli wyjaśnimy, dlaczego gry online używają UDP, a bankowość internetowa TCP.

Ziemia opleciona siecią połączeń IP

Warstwa sieciowa to trzeci poziom modelu OSI, odpowiedzialny za logiczne adresowanie i wyznaczanie tras pomiędzy odrębnymi sieciami lokalnymi. Bez tej warstwy komunikacja pomiędzy urządzeniami w różnych budynkach czy krajach nie byłaby możliwa, ponieważ warstwa druga (łącza danych) działa wyłącznie w obrębie jednej domeny rozgłoszeniowej.

Najważniejszym protokołem warstwy sieciowej jest IP, który dostarcza pakietom informacji o adresie nadawcy i odbiorcy. Routery, czyli urządzenia pracujące na tej warstwie, analizują docelowy adres IP i podejmują decyzję o dalszej ścieżce transmisji. W odróżnieniu od przełączników warstwy drugiej, routery nie przekazują dalej ramek rozgłoszeniowych, co pozwala na segmentację sieci i zwiększa bezpieczeństwo.

Zrozumienie zasad działania warstwy sieciowej jest kluczowe dla każdego administratora, ponieważ to właśnie tutaj zapadają decyzje o trasowaniu ruchu. W dalszej części wykładu przyjrzymy się szczegółowo budowie pakietów IPv4 oraz metodom adresacji.

2/31 Protokół Internetowy (IP)

Protokół Internetowy (IP)

Protokół IP (ang. Internet Protocol – protokół internetowy) to "esperanto" świata komputerów.

Niezależnie od tego, czy używasz kabla miedzianego, światłowodu czy Wi-Fi – na poziomie logicznym wszyscy mówią w języku IP.

Jego głównym zadaniem jest logiczne adresowanie urządzeń oraz fragmentacja pakietów, jeśli są za duże dla danej sieci.

IP jest protokołem bezpołączeniowym (ang. Connectionless) i działa w trybie najlepszych starań (ang. Best Effort) – wyśle pakiet w świat, ale nie sprawdzi, czy dotarł.

Niezawodnością transmisji martwi się warstwa wyższa (TCP).

Obraz dla slajdu 2

Protokół IP został pierwotnie zdefiniowany w 1981 roku w dokumencie RFC 791 i od tego czasu stanowi fundament komunikacji w Internecie. Jest protokołem bezpołączeniowym, co oznacza, że przed wysłaniem danych nie nawiązuje wcześniejszej sesji z odbiorcą, a każdy pakiet traktuje niezależnie.

IP działa w modelu najlepszych starań, czyli nie gwarantuje dostarczenia pakietu, jego kolejności ani integralności. Wersja czwarta protokołu (IPv4) wykorzystuje 32-bitowe adresy, co przy obecnej liczbie urządzeń sieciowych okazało się niewystarczające. W odpowiedzi na wyczerpanie puli adresów opracowano wersję szóstą (IPv6) ze 128-bitową przestrzenią adresową.

Niezawodność transmisji zapewniają protokoły warstwy transportowej, przede wszystkim TCP, który kontroluje retransmisję utraconych segmentów. IP jest również odpowiedzialny za fragmentację pakietów, gdy muszą one zostać przesłane przez łącze o mniejszym MTU.

3/31 Adresacja IPv4

Adresacja IPv4

Adres IPv4 to 32-bitowa liczba, zapisywana dla wygody człowieka jako cztery liczby dziesiętne (oktety) oddzielone kropkami, np.192.168.1.100. Każdy oktet ma wartość od 0 do 255. Ta pula daje nam teoretycznie około 4,3 miliarda adresów. W latach 80. wydawało się to nieskończonością. Dziś, w dobie smartfonów, lodówek i zegarków z dostępem do sieci, ta pula została całkowicie wyczerpana (dlatego stosujemy NAT i przechodzimy na IPv6). Adres IP jest adresem logicznym – można go zmienić w ustawieniach systemu operacyjnego, w przeciwieństwie do fizycznego adresu MAC.

Struktura adresu IPv4 (binarnie i dziesiętnie)

Każdy adres IPv4 składa się z czterech oktetów zapisywanych w systemie dziesiętnym, co daje w sumie 32 bity informacji. W praktyce adresy IP nie są przydzielane urządzeniom bezpośrednio, lecz dzierżawione od dostawców usług internetowych lub administratorów sieci lokalnych.

Problem wyczerpania puli IPv4 został częściowo rozwiązany przez wprowadzenie translacji adresów sieciowych (NAT), która pozwala wielu urządzeniom w sieci prywatnej współdzielić jeden publiczny adres IP. W sieciach lokalnych adresy przydzielane są najczęściej automatycznie za pomocą protokołu DHCP.

Administrator powinien pamiętać, że niektóre adresy są zarezerwowane do celów specjalnych i nie mogą być przypisywane interfejsom sieciowym. Przykładem jest adres 127.0.0.1 oznaczający interfejs pętli zwrotnej, służący do testowania stosu TCP/IP na lokalnym urządzeniu.

4/31 Klasy adresowe (rys historyczny)

Klasy adresowe (rys historyczny)

Początkowo Internet podzielono sztywno na klasy:

  • Klasa A(0.0.0.0 – 127.255.255.255): Dla gigantów (IBM, MIT, armia USA). 16 milionów hostów w jednej sieci.
  • Klasa B(128.0.0.0 – 191.255.255.255): Dla dużych korporacji i uniwersytetów. 65 tys. hostów.
  • Klasa C(192.0.0.0 – 223.255.255.255): Dla małych firm. 254 hosty.

Ten system był bardzo nieefektywny (marnował mnóstwo adresów) i został zastąpiony przez bezklasowy routing CIDR (ang. Classless Inter-Domain Routing – bezklasowe trasowanie między domenami), ale terminy "Klasa C" wciąż funkcjonują w żargonie administratorów.

Obraz dla slajdu 4

Podział na klasy adresowe został wprowadzony w początkowym okresie rozwoju Internetu, aby ułatwić zarządzanie przestrzenią adresową. Klasa A przeznaczona była dla największych organizacji i oferowała aż 16 milionów adresów hostów w ramach jednej sieci. Klasa B stanowiła rozwiązanie pośrednie, umożliwiając obsługę do 65 tysięcy urządzeń w jednej podsieci.

Klasa C, najbardziej popularna w małych sieciach, pozwalała na zaadresowanie zaledwie 254 hostów. Główną wadą tego systemu była ogromna nieefektywność, ponieważ organizacja otrzymująca pulę klasy A rzadko wykorzystywała wszystkie dostępne adresy.

W praktyce wiele adresów pozostawało niewykorzystanych, co przyspieszyło wyczerpanie puli IPv4. Z tego powodu w latach 90. zastąpiono adresację klasową bezklasowym routingiem CIDR, który umożliwia elastyczne dzielenie przestrzeni adresowej na prefiksy dowolnej długości.

5/31 Maska podsieci (Subnet Mask)

Maska podsieci (Subnet Mask)

Sam adres IP192.168.1.10nic nam nie mówi bez maski. Maska (np.255.255.255.0) jest sitem, które oddziela część adresu oznaczającą SIEĆ od części oznaczającej HOST (komputer).

Maska działa na zasadzie bitowej koniunkcji (operacja AND).

Jeśli maska ma jedynki (255), ta część adresu IP jest stała dla całej sieci (identyfikator sieci, ang. Network ID).

Jeśli maska ma zera (0), ta część adresu identyfikuje konkretny komputer (identyfikator hosta, ang. Host ID).

To dzięki masce komputer wie, czy adresat jest w tym samym pokoju (sieci lokalnej), czy musi wysłać pakiet do routera (bramy domyślnej).

Działanie maski podsieci

Maska podsieci pełni funkcję filtra, który określa, która część adresu IP identyfikuje sieć, a która konkretny host. Wartość maski zapisywana jest w taki sam sposób jak adres IP, czyli jako cztery liczby dziesiętne oddzielone kropkami. W systemie binarnym bity maski ustawione na 1 oznaczają część sieciową, natomiast bity równe 0 wskazują na część hostową.

Komputer po odebraniu pakietu wykonuje operację logiczną AND pomiędzy swoim adresem IP a maską, aby wyznaczyć adres sieci. Jeśli docelowy adres IP należy do tej samej sieci, komunikacja odbywa się bezpośrednio poprzez warstwę łącza danych. W przeciwnym razie pakiet kierowany jest do bramy domyślnej, czyli routera obsługującego ruch wychodzący.

Dzięki odpowiedniemu doborowi maski administrator może elastycznie dzielić sieć na mniejsze podsieci, co poprawia wydajność i bezpieczeństwo całej infrastruktury sieciowej.

6/31 Adres sieci i adres rozgłoszeniowy

Adres sieci i adres rozgłoszeniowy

W każdej podsieci dwa adresy są specjalne i nie można ich przypisać komputerowi:

  • Adres Sieci (ang. Network Address): Pierwszy adres w puli (np. 192.168.1.0). Identyfikuje on całą grupę. Wpisujemy go w tablicach routingu.
  • Adres Rozgłoszeniowy (ang. Broadcast Address): Ostatni adres w puli (np. 192.168.1.255). Pakiet wysłany na ten adres trafi do wszystkich urządzeń w tej podsieci.

Zatem w sieci "Klasy C" z 256 adresów, do dyspozycji mamy 254 użyteczne adresy dla hostów.

Obraz dla slajdu 6

Adres sieci to pierwszy adres w danej puli, w którym wszystkie bity części hostowej są wyzerowane. Służy on wyłącznie do identyfikacji całej podsieci w tablicach routingu i nie może być przypisany żadnemu interfejsowi sieciowemu. Adres rozgłoszeniowy (broadcast) to ostatni adres w puli, w którym wszystkie bity części hostowej są ustawione na 1.

Pakiety wysłane na adres rozgłoszeniowy są dostarczane do wszystkich urządzeń znajdujących się w danej podsieci. Mechanizm ten wykorzystywany jest między innymi przez protokół ARP do rozpoznawania adresów MAC na podstawie adresów IP. W sieci o masce 255.255.255.0 (/24) dostępnych jest 254 adresy dla hostów, ponieważ dwa adresy są zarezerwowane.

W przypadku maski 255.255.255.252 (/30) użyteczne są zaledwie dwa adresy, co jest typowe dla łączy typu punkt-punkt między routerami. Znajomość tych zasad jest niezbędna podczas planowania adresacji.

7/31 Notacja CIDR (Slash Notation)

Notacja CIDR (Slash Notation)

Zamiast pisać długie255.255.255.0, inżynierowie używają skróconego zapisu CIDR (ang. Classless Inter-Domain Routing). Liczymy liczbę jedynek w masce:

  • 255.0.0.0 = /8
  • 255.255.0.0 = /16
  • 255.255.255.0 = /24 (standard domowy)
  • 255.255.255.252 = /30 (sieci łączące dwa routery, tylko 2 adresy użyteczne).

Zapis192.168.1.0/24jest standardem w dokumentacji i konfiguracji routerów. Pozwala to na elastyczne tworzenie podsieci o dowolnym rozmiarze (VLSM – ang. Variable Length Subnet Masking – podział na podsieci o zmiennej długości maski).

Tabela masek CIDR

Notacja CIDR została wprowadzona w 1993 roku jako odpowiedź na kryzys wyczerpania adresów IPv4 i nieefektywność adresacji klasowej. Zapis w formacie prefiksu, na przykład 192.168.1.0/24, jednoznacznie określa zarówno adres sieci, jak i długość maski. Liczba po ukośniku oznacza liczbę bitów zajętych przez część sieciową.

Dzięki CIDR możliwe stało się stosowanie maski o zmiennej długości (VLSM), co znacznie zwiększyło elastyczność projektowania sieci. Operatorzy Internetu mogą agregować wiele prefiksów w jeden wpis w tablicy routingu, co zmniejsza rozmiar tablic i przyspiesza przetwarzanie pakietów. Najczęściej spotykane maski to /24 dla sieci lokalnych, /16 dla dużych organizacji oraz /30 dla łączy między routerami.

Współczesne sieci projektuje się wyłącznie w oparciu o CIDR, a znajomość notacji slash jest niezbędna podczas konfiguracji urządzeń sieciowych każdego producenta.

8/31 Brama domyślna (Default Gateway)

Brama domyślna (Default Gateway)

Brama domyślna to "drzwi wyjściowe" z naszej sieci lokalnej. Jest to adres IP routera (od strony naszej sieci), który wie, jak dotrzeć do Internetu. Jeśli komputer chce wysłać pakiet do Google (adres spoza lokalnej maski podsieci), pakuje go w ramkę skierowaną na adres MAC bramy domyślnej. Bez wpisanej bramy domyślnej, komputer może rozmawiać tylko z sąsiadami w tej samej sieci LAN, ale nie wyjdzie "na zewnątrz". W domu twoją bramą jest zazwyczaj adres192.168.0.1lub192.168.1.1.

Obraz dla slajdu 8

Brama domyślna to kluczowy element konfiguracji sieciowej każdego urządzenia, które ma komunikować się poza własną podsiecią. Jest to adres IP routera, do którego komputer kieruje wszystkie pakiety przeznaczone do sieci zdalnych. Bez prawidłowo skonfigurowanej bramy domyślnej urządzenie może wymieniać dane wyłącznie z hostami w swojej lokalnej sieci LAN.

Router pełniący funkcję bramy musi mieć włączoną odpowiednią trasę w tablicy routingu, aby wiedzieć, dokąd przekazać otrzymane pakiety. W sieciach domowych brama domyślna to zazwyczaj adres routera Wi-Fi, czyli najczęściej 192.168.0.1 lub 192.168.1.1. W konfiguracji DHCP brama domyślna jest przydzielana automatycznie wraz z adresem IP i maską podsieci.

Administrator sieci firmowej może ustawić kilka bram domyślnych dla celów niezawodności, stosując mechanizmy przełączania awaryjnego. Zrozumienie roli bramy domyślnej jest fundamentalne dla poprawnej konfiguracji sieci.

9/31 Adresy prywatne (RFC 1918)

Adresy prywatne (RFC 1918)

Adresy IP dzielą się na publiczne (widoczne w Internecie, płatne) i prywatne (do użytku wewnątrz firmy/domu, darmowe).

Pule prywatne to:

  • 10.0.0.0 – 10.255.255.255 (duże firmy)
  • 172.16.0.0 – 172.31.255.255 (średnie firmy)
  • 192.168.0.0 – 192.168.255.255 (małe sieci, domy)

Adresy te NIE są rutowalne w Internecie. Routery operatorów natychmiast je odrzucają. Aby wyjść z sieci prywatnej do Internetu, niezbędny jest mechanizm NAT (ang. Network Address Translation – translacja adresów sieciowych).

Adresy publiczne vs prywatne

Dokument RFC 1918 zdefiniował trzy pule adresów prywatnych, które mogą być swobodnie używane w sieciach lokalnych bez konieczności rejestracji. Największa pula 10.0.0.0/8 oferuje ponad 16 milionów adresów i znajduje zastosowanie w dużych organizacjach oraz sieciach operatorskich. Pula 172.16.0.0/12 jest często wykorzystywana w średniej wielkości firmach, a 192.168.0.0/16 to standard w sieciach domowych.

Adresy prywatne nie są rutowalne w Internecie, co oznacza, że routery operatorów automatycznie odrzucają pakiety z takimi adresami źródłowymi. Aby umożliwić urządzeniom z adresami prywatnymi dostęp do Internetu, stosuje się mechanizm NAT, który zastępuje prywatny adres źródłowy publicznym adresem interfejsu routera.

Dzięki adresom prywatnym możliwe jest rozbudowywanie sieci lokalnych bez konieczności wykupowania publicznych adresów IP dla każdego urządzenia. Znajomość pul prywatnych jest niezbędna przy projektowaniu adresacji.

10/31 Protokół IPv6 – nowe rozdanie

Protokół IPv6 – nowe rozdanie

Wobec wyczerpania się puli adresów IPv4, świat przechodzi na IPv6. Zamiast 32 bitów, mamy tu 128 bitów adresu. Daje to astronomiczną liczbę 340 undecylionów adresów. Każde ziarnko piasku na Ziemi mogłoby mieć własne IP. Zapis jest szesnastkowy (heksadecymalny), np.2001:0db8:85a3:0000:0000:8a2e:0370:7334. IPv6 upraszcza nagłówek pakietu (szybsze przetwarzanie przez routery), eliminuje potrzebę stosowania NAT (każde urządzenie może mieć publiczny adres) i ma wbudowane mechanizmy bezpieczeństwa IPsec. Wdrażanie postępuje powoli, ale nieuchronnie.

Obraz dla slajdu 10

IPv6 został zaprojektowany jako następca IPv4 z myślą o zapewnieniu praktycznie nieograniczonej przestrzeni adresowej oraz usprawnieniu obsługi ruchu sieciowego. Nagłówek IPv6 ma stałą długość 40 bajtów i jest znacznie prostszy od nagłówka IPv4, co przyspiesza jego przetwarzanie przez routery. W IPv6 zrezygnowano z fragmentacji na routerach pośrednich, przenosząc tę odpowiedzialność na nadawcę.

Adresy IPv6 zapisywane są w systemie szesnastkowym z użyciem dwukropków jako separatorów, a prowadzące zera w poszczególnych grupach można pomijać. Protokół ten zawiera wbudowane wsparcie dla IPsec, czyli mechanizmu szyfrowania i uwierzytelniania komunikacji na poziomie sieci.

Mimo zalet IPv6 wdrażanie postępuje wolno, głównie ze względu na koszty migracji oraz konieczność wymiany starszych urządzeń sieciowych. Obecnie większość ruchu w Internecie wciąż opiera się na IPv4, ale udział IPv6 systematycznie rośnie.

11/31 Warstwa transportowa (Layer 4)

Warstwa transportowa (Layer 4)

Warstwa czwarta zarządza komunikacją od końca do końca (ang. End-to-End) między aplikacjami.

To ona decyduje, JAK dane mają być przesłane.

Czy zależy nam na 100% pewności (plik zip musi być bezbłędny), czy na szybkości czasu rzeczywistego (rozmowa głosowa może lekko trzeszczeć, byle nie było opóźnień).

Warstwa transportowa wprowadza też pojęcie portów, które pozwalają systemowi operacyjnemu odróżnić dane dla przeglądarki WWW od danych dla gry online, mimo że przychodzą na ten sam adres IP.

Warstwa transportowa w stosie TCP/IP

Warstwa transportowa modelu OSI odpowiada za komunikację między aplikacjami działającymi na różnych hostach w sieci. Podstawowym zadaniem tej warstwy jest zapewnienie segmentacji danych i ponownego ich złożenia u odbiorcy. W stosie TCP/IP za warstwę transportową odpowiadają dwa główne protokoły: TCP i UDP, które różnią się podejściem do niezawodności i szybkości.

TCP gwarantuje dostarczenie danych w odpowiedniej kolejności i bez błędów, natomiast UDP stawia na minimalne opóźnienia kosztem potencjalnych strat pakietów. Warstwa transportowa wprowadza również pojęcie portów, które umożliwiają systemowi operacyjnemu rozróżnienie ruchu należącego do różnych aplikacji. Dzięki portom jeden serwer może jednocześnie obsługiwać strony WWW, pocztę i transmisje strumieniowe.

Wybór odpowiedniego protokołu warstwy transportowej ma kluczowe znaczenie dla wydajności i funkcjonalności aplikacji sieciowych. Projektanci oprogramowania muszą świadomie decydować, który protokół zastosować.

12/31 TCP – protokół niezawodny

TCP – protokół niezawodny

TCP (ang. Transmission Control Protocol – protokół kontroli transmisji)to "solidny kurier".

  • Połączeniowy: Nawiązuje sesję przed wysłaniem danych (trójstopniowe uzgadnianie, ang. 3-Way Handshake: SYN, SYN-ACK, ACK).
  • Niezawodny: Każdy segment musi zostać potwierdzony przez odbiorcę (ang. Acknowledgment – potwierdzenie odbioru). Jeśli potwierdzenie nie nadejdzie –TCPwysyła dane ponownie.
  • Uporządkowany: Numeruje segmenty, więc nawet jeśli dotrą w złej kolejności, odbiorca je poskłada poprawnie.
  • Kontrola przepływu (ang. Windowing): Jeśli odbiorca nie nadąża,TCPzwolni transmisję. Zastosowanie: WWW (HTTP), poczta (SMTP,IMAP), transfer plików (FTP),SSH.
Nagłówek TCP i 3-way handshake

TCP (Transmission Control Protocol) jest protokołem połączeniowym, który przed rozpoczęciem transmisji danych nawiązuje sesję z odbiorcą w procesie trójstopniowego uzgadniania. Każdy segment TCP zawiera numery sekwencyjne, które pozwalają odbiorcy na uporządkowanie odebranych danych nawet w przypadku ich niekolejnego dostarczenia.

Protokół ten wykorzystuje mechanizm potwierdzeń (ACK), dzięki któremu nadawca wie, które segmenty dotarły prawidłowo i może retransmitować te zagubione. Kontrola przepływu w TCP opiera się na oknie przesuwnym, które dynamicznie dostosowuje ilość wysyłanych danych do możliwości odbiorcy. Dodatkowym mechanizmem jest kontrola przeciążeń, która zmniejsza prędkość transmisji w przypadku utraty pakietów.

TCP znajduje zastosowanie w aplikacjach, gdzie niezawodność jest priorytetem, takich jak transfer plików, poczta elektroniczna czy bankowość internetowa. Jest to protokół o dużym znaczeniu dla stabilności komunikacji.

13/31 UDP – protokół szybki

UDP – protokół szybki

UDP (ang. User Datagram Protocol – protokół datagramów użytkownika)to "szybki posłaniec na motocyklu".

  • Bezpołączeniowy: Nie traci czasu na nawiązywanie połączenia, od razu wysyła dane.
  • Brak gwarancji: Nie obchodzi go, czy pakiet dotarł. Zgubione? Trudno, wysyłamy następne.
  • Lekki nagłówek: Tylko 8 bajtów (TCPma min. 20 bajtów).

Zastosowanie: transmisja strumieniowa wideo/audio (Netflix, YouTube), VoIP (Skype, Zoom), gry online (FPS), DNS, DHCP. Tutaj ważniejsze jest, by obraz był płynny ("na żywo"), niż żeby każda klatka była perfekcyjna. Czekanie na retransmisję w rozmowie wideo spowodowałoby niezrozumiałe "czkania".

Obraz dla slajdu 13

UDP (User Datagram Protocol) to protokół bezpołączeniowy, który nie nawiązuje sesji przed wysłaniem danych i nie wymaga potwierdzeń odbioru. Dzięki minimalnemu narzutowi na nagłówek (tylko 8 bajtów) UDP charakteryzuje się bardzo niskimi opóźnieniami transmisji. Brak mechanizmów retransmisji i kontroli przepływu sprawia, że protokół ten jest idealny dla aplikacji czasu rzeczywistego.

Transmisje strumieniowe audio i wideo, takie jak telewizja internetowa czy wideokonferencje, korzystają z UDP, ponieważ utrata pojedynczego pakietu jest mniej odczuwalna niż opóźnienie spowodowane retransmisją. Gry sieciowe typu FPS również preferują UDP, gdyż szybkość wymiany danych o pozycji graczy ma kluczowe znaczenie dla płynności rozgrywki.

Protokół DNS wykorzystuje UDP do zapytań, ponieważ są one krótkie i nie wymagają nawiązywania połączenia. Należy jednak pamiętać, że UDP nie gwarantuje kolejności dostarczenia datagramów, co może stanowić wyzwanie dla programistów aplikacji.

14/31 Porty i gniazda (Sockets)

Porty i gniazda (Sockets)

Adres IP identyfikuje komputer (jak adres budynku).

Numer portu identyfikuje konkretną aplikację w tym komputerze (jak numer mieszkania).

Port to liczba 16-bitowa (0–65535).

Połączenie IP + Port nazywamy gniazdem sieciowym (ang. Socket), np. 192.168.1.5:80.

Dzięki temu serwer może jednocześnie obsługiwać stronę WWW na porcie 80 i pocztę na porcie 25, a pakiety się nie mieszają.

Koncepcja gniazda sieciowego

Porty sieciowe to 16-bitowe liczby od 0 do 65535, które identyfikują konkretne procesy lub usługi działające na urządzeniu sieciowym. Adres IP w połączeniu z numerem portu tworzy gniazdo sieciowe (socket), które jednoznacznie identyfikuje punkt końcowy komunikacji. Serwer WWW nasłuchuje domyślnie na porcie 80, a usługa SSH na porcie 22.

Połączenie sieciowe można opisać za pomocą czterech parametrów: adres źródłowy, port źródłowy, adres docelowy i port docelowy. Dzięki portom system operacyjny wie, do której aplikacji przekazać odebrane dane, nawet jeśli wiele programów korzysta jednocześnie z sieci. Porty źródłowe są zazwyczaj wybierane losowo przez system z puli portów efemerycznych.

Znajomość mechanizmu portów jest niezbędna przy konfiguracji zapór sieciowych i reguł NAT. W praktyce każdy administrator musi rozumieć, jak pary adresów i portów definiują sesje komunikacyjne.

15/31 Zakresy portów (IANA)

Zakresy portów (IANA)

Porty są podzielone na trzy grupy przez organizację IANA (ang. Internet Assigned Numbers Authority – organ przydzielający numery internetowe):

  • Dobrze znane (ang. Well-Known Ports): 0–1023. Zarezerwowane dla kluczowych usług. Tylko administrator (root) może uruchomić usługę na tych portach. (np. 80HTTP, 443HTTPS, 22SSH, 53DNS).
  • Rejestrowane: 1024–49151. Przydzielane aplikacjom firm trzecich (np. 3306 MySQL, 1433 MSSQL, 8080 alternatywne WWW).
  • Dynamiczne/Prywatne: 49152–65535. Używane tymczasowo przez komputer kliencki jako porty źródłowe podczas łączenia się z serwerem.
Obraz dla slajdu 15

Organizacja IANA (Internet Assigned Numbers Authority) odpowiada za zarządzanie globalnym przydziałem numerów portów i dba o to, aby nie dochodziło do konfliktów. Porty dobrze znane (0-1023) są zarezerwowane dla najważniejszych protokołów systemowych i usług sieciowych. Uruchomienie usługi na porcie z tego zakresu wymaga uprawnień administratora.

Porty zarejestrowane (1024-49151) są przeznaczone dla aplikacji firm trzecich, ale ich użycie nie jest obowiązkowe. Przykładem może być port 3306 dla bazy danych MySQL lub port 8080 jako alternatywny dla serwera HTTP. Porty efemeryczne (49152-65535) są wykorzystywane przez systemy klienckie jako tymczasowe porty źródłowe podczas wychodzących połączeń.

Administratorzy sieciowi powinni znać najważniejsze numery portów, aby skutecznie diagnozować problemy i konfigurować polityki bezpieczeństwa na firewallach.

16/31 Nawiązanie połączenia TCP (3-Way Handshake)

Nawiązanie połączenia TCP (3-Way Handshake)

To klasyczne pytanie rekrutacyjne. Jak zaczyna się rozmowa TCP?

  • SYN (ang. Synchronize – synchronizuj): Klient wysyła pakiet z flagą SYN (Chcę pogadać, mój numer sekwencyjny to X).
  • SYN-ACK (Synchronize-Acknowledge – synchronizuj i potwierdź): Serwer odpowiada: Słyszę cię (ACK X+1), zgadzam się, mój numer to Y (SYN).
  • ACK (ang. Acknowledge – potwierdź): Klient odpowiada: Zrozumiałem (ACK Y+1).

Dopiero po tej wymianie uprzejmości (trwającej ok. kilkadziesiąt milisekund) następuje wysłanie właściwych danych (np. żądania strony WWW).

Schemat 3-Way Handshake

Proces trójstopniowego uzgadniania TCP jest obowiązkowym etapem poprzedzającym transmisję danych w tym protokole. Inicjatorem połączenia jest zawsze klient, który wysyła segment z ustawioną flagą SYN oraz własnym początkowym numerem sekwencyjnym (ISN). Serwer po otrzymaniu SYN odpowiada segmentem z flagami SYN i ACK, potwierdzając numer klienta i podając swój własny numer.

Klient finalizuje uzgadnianie, wysyłając segment z flagą ACK, co potwierdza gotowość obu stron do wymiany danych. Po wykonaniu trójstopniowego uzgadniania obie strony mają ustalone początkowe numery sekwencyjne i mogą rozpocząć właściwą transmisję. Cały proces trwa zazwyczaj kilka milisekund, ale w sieciach o dużym opóźnieniu może znacząco wpływać na czas odpowiedzi.

Zrozumienie tego mechanizmu jest kluczowe przy analizie ruchu sieciowego za pomocą narzędzi takich jak Wireshark. Jest to również klasyczne pytanie rekrutacyjne na stanowiska administratorów sieci.

17/31 Mechanizm okna przesuwnego (Sliding Window)

Mechanizm okna przesuwnego (Sliding Window)

TCP potrafi dostosować prędkość do jakości łącza.

Zamiast wysyłać pakiet i czekać na potwierdzenie (metoda "zatrzymaj i czekaj", ang. Stop-and-Wait), nadawca wysyła serię pakietów (okno).

Rozmiar okna (ang. Window Size) mówi, ile bajtów można wysłać bez potwierdzenia.

Jeśli wszystko idzie dobrze, okno rośnie (wysyłamy szybciej).

Jeśli pakiet zaginie, okno maleje.

To dlatego podczas pobierania pliku prędkość czasem rośnie powoli ("rozpędza się") – to TCP bada przepustowość łącza.

Obraz dla slajdu 17

Okno przesuwne TCP pozwala na wysłanie wielu segmentów bez oczekiwania na potwierdzenie każdego z osobna, co znacząco zwiększa przepustowość transmisji. Rozmiar okna jest ustalany przez odbiorcę w polu Window Size nagłówka TCP i informuje nadawcę, ile bajtów może przyjąć bufor odbiorczy. Jeśli sieć działa bez zakłóceń, rozmiar okna stopniowo rośnie.

Gdy dojdzie do utraty pakietu, TCP natychmiast zmniejsza rozmiar okna, aby nie przeciążać łącza. Mechanizm ten nosi nazwę kontroli przeciążeń (congestion control) i jest kluczowy dla stabilnego działania Internetu. W praktyce początkowe tempo wysyłania jest niskie i stopniowo wzrasta, co można zaobserwować jako powolne narastanie prędkości pobierania pliku.

Algorytmy takich wariantów TCP jak Reno, Cubic czy BBR różnią się sposobem zarządzania oknem w zależności od warunków sieciowych. Każdy z nich ma inne zalety w określonych scenariuszach użycia.

18/31 Fragmentacja pakietów IP

Fragmentacja pakietów IP

Każda sieć ma swoje MTU (ang. Maximum Transmission Unit – maksymalna jednostka transmisji) – zazwyczaj 1500 bajtów dla Ethernetu.

Co, jeśli router musi przesłać pakiet 4000 bajtów przez łącze z MTU 1500? Musi go "pokroić" na mniejsze kawałki (fragmentacja).

Każdy kawałek otrzymuje nagłówek IP, aby trafić do celu.

Odbiorca musi te kawałki poskładać.

Jest to proces obciążający routery, dlatego staramy się go unikać (mechanizm PMTUD – ang. Path MTU Discovery – wykrywanie MTU ścieżki).

W IPv6 routery pośrednie wcale nie fragmentują pakietów – jeśli pakiet jest za duży, jest odrzucany, a nadawca dostaje informację zwrotną, żeby wysyłał mniejsze.

Proces fragmentacji pakietu

MTU (Maximum Transmission Unit) określa maksymalny rozmiar ramki, jaką może przesłać dane łącze sieciowe, a dla standardowego Ethernetu wartość ta wynosi 1500 bajtów. Jeśli protokół wyższej warstwy przekaże do IP datagram większy niż MTU interfejsu wyjściowego, router musi dokonać fragmentacji. Proces ten polega na podziale nadmiarowego datagramu na mniejsze części z własnymi nagłówkami IP.

W nagłówku IP pole Fragment Offset wskazuje pozycję fragmentu w oryginalnym datagramie, a flaga MF (More Fragments) sygnalizuje, że to nie jest ostatni fragment. Odbiorca jest odpowiedzialny za złożenie wszystkich fragmentów w oryginalny datagram, co odbywa się w buforze pamięci. Fragmentacja zwiększa obciążenie routerów i odbiorców.

Zaleca się stosowanie PMTUD (Path MTU Discovery), aby uniknąć fragmentacji. W IPv6 zrezygnowano z fragmentacji na routerach pośrednich, a nadawca otrzymuje komunikat ICMPv6 Packet Too Big.

19/31 ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol)

ICMP (ang. Internet Control Message Protocol – protokół komunikatów sterujących Internetu) to "serwisowy" brat protokołu IP. Nie służy do przesyłania danych użytkownika, ale do raportowania błędów i diagnostyki. To na nim opiera się polecenieping. Komunikaty ICMP informują nas np. o: "Destination Unreachable" (nie ma trasy do celu), "Time Exceeded" (pakiet krążył w pętli i wygasł TTL – patrz traceroute), "Redirect" (jest lepsza trasa). Administratorzy często blokują ICMP na zaporach sieciowych (ang. firewallach) dla bezpieczeństwa, co utrudnia diagnostykę ("ping nie odpowiada, choć serwer działa").

Obraz dla slajdu 19

ICMP jest protokołem pomocniczym warstwy sieciowej, używanym do wysyłania komunikatów błędów i informacji diagnostycznych. Najbardziej znanym narzędziem wykorzystującym ICMP jest program ping, który wysyła żądania Echo Request i oczekuje na odpowiedzi Echo Reply. Drugim popularnym narzędziem jest traceroute, które wykorzystuje pole TTL do odkrywania trasy pakietu przez kolejne routery.

Komunikat Destination Unreachable jest wysyłany przez router, gdy nie zna on trasy do sieci docelowej lub gdy port docelowy jest zamknięty. Komunikat Time Exceeded pojawia się, gdy TTL pakietu spadnie do zera, co pozwala wykryć pętle routingu. ICMP Redirect informuje host o istnieniu lepszej trasy do danej sieci.

Wiele sieci blokuje ICMP na zaporach ogniowych, co może utrudnić diagnostykę, ale zwiększa bezpieczeństwo przed atakami typu ping flood. Administrator musi znać te ograniczenia.

20/31 TTL (Time To Live)

TTL (Time To Live)

W nagłówku IP znajduje się pole TTL (ang. Time To Live – czas życia pakietu).

Jest to licznik (np. startuje od 64), który jest zmniejszany o 1 przez KAŻDY router, przez który przechodzi pakiet.

Gdy TTL osiągnie 0, router bezlitośnie kasuje pakiet i wysyła do nadawcy komunikat błędu ICMP.

Po co? Aby zabłąkane pakiety (w pętli routingu) nie krążyły w Internecie w nieskończoność ("pakiety zombie"), zatykając łącza.

TTL jest mechanizmem "bezpiecznika".

Obraz dla slajdu 20

Pole TTL w nagłówku IPv4 jest 8-bitowym licznikiem, który początkowo ustawia się na wartość zależną od systemu operacyjnego, najczęściej 64, 128 lub 255. Każdy router pośredni zmniejsza wartość TTL o jeden przed przekazaniem pakietu dalej. Jeśli TTL osiągnie zero, router odrzuca pakiet i odsyła do nadawcy komunikat ICMP Time Exceeded.

Mechanizm ten zapobiega sytuacji, w której pakiet krążyłby w nieskończoność po pętli routingu, marnując przepustowość łączy. W protokole IPv6 pole TTL zostało zastąpione polem Hop Limit, które działa na identycznej zasadzie. Narzędzie traceroute celowo wysyła pakiety z niskimi wartościami TTL, aby uzyskać odpowiedzi od kolejnych routerów na trasie.

Administratorzy wykorzystują analizę wartości TTL do określenia systemu operacyjnego zdalnego hosta, ponieważ różne systemy używają różnych wartości początkowych.

21/31 Netstat - podgląd połączeń

Netstat - podgląd połączeń

Jak sprawdzić, co robi Twój komputer? Polecenienetstat -an(lub nowszessw Linuxie) wyświetla listę wszystkich aktywnych połączeń TCP i UDP. Możesz tam zobaczyć: adres lokalny i port, adres zdalny i port, oraz stan połączenia (ESTABLISHED – połączono, LISTENING – serwer nasłuchuje na połączenia, TIME_WAIT – trwa zamykanie połączenia). Jeśli widzisz dziwne połączenie do nieznanego IP na dziwnym porcie, może to świadczyć o infekcji trojanem.

Wynik polecenia netstat

Polecenie netstat (network statistics) jest dostępne we wszystkich popularnych systemach operacyjnych i służy do wyświetlania informacji o aktywnych połączeniach sieciowych. W systemie Linux zaleca się używanie nowszego polecenia ss, które oferuje szybsze i bardziej szczegółowe wyniki. Netstat może pokazać wszystkie otwarte gniazda sieciowe zarówno dla TCP, jak i UDP, wraz z adresami i portami.

Stany połączeń TCP, takie jak LISTEN, ESTABLISHED, TIME_WAIT i CLOSE_WAIT, dostarczają informacji o przebiegu sesji sieciowych. Narzędzie to pozwala również na wyświetlenie tablicy routingu (netstat -r) oraz statystyk interfejsów sieciowych. Analiza wyników netstat jest podstawową umiejętnością przy diagnozowaniu problemów sieciowych.

Podejrzane połączenia do nieznanych adresów IP na nietypowych portach mogą wskazywać na obecność złośliwego oprogramowania. Regularne monitorowanie połączeń jest dobrą praktyką bezpieczeństwa.

22/31 Konfiguracja interfejsów routera

Konfiguracja interfejsów routera

Router oddziela od siebie domeny rozgłoszeniowe.

Każdy jego aktywny port uczestniczy z zasady w innej podsieci.

Dlatego niezbędne jest ręczne przypisanie adresacji IP do portów (np. interfejsu GigabitEthernet0/0):

Router(config)# interface g0/0

Router(config-if)# ip address 192.168.1.1 255.255.255.0

Domyślnie na routerach (w odróżnieniu od przełączników) porty są administracyjnie wyłączone ze względów bezpieczeństwa.

Uruchamiamy je komendą:

Router(config-if)# no shutdown

Od tej chwili użytkownicy naszej podsieci 192.168.1.0/24 mogą wpisywać u siebie adres routera jako swoją bramę domyślną (ang. Default Gateway).

Zrzut z komend przypisujących IP interfejsowi routera

Routery Cisco, które dominują na rynku urządzeń sieciowych, wymagają konfiguracji w specjalnym trybie poleceń zwanym IOS (Internetwork Operating System). Każdy interfejs routera znajduje się w innej podsieci logicznej i wymaga przypisania unikalnego adresu IP z odpowiednią maską. Przed przypisaniem adresu należy wejść w tryb konfiguracji interfejsu za pomocą komendy interface.

Komenda ip address ustawia adres IP i maskę, natomiast komenda no shutdown włącza interfejs, który domyślnie jest administracyjnie wyłączony. W nowoczesnych sieciach często stosuje się interfejsy wirtualne (subinterfejsy), które umożliwiają obsługę wielu sieci VLAN na jednym porcie fizycznym. Poprawna konfiguracja interfejsów jest kluczowa dla zapewnienia łączności.

Po skonfigurowaniu interfejsów należy zweryfikować ich stan komendą show ip interface brief, która wyświetla status wszystkich portów.

23/31 Tablica routingu - mózg urządzenia sieciowego

Tablica routingu - mózg urządzenia sieciowego

Odbierając pakiet danych od klienta, router wyodrębnia docelowy adres IP i sprawdza dopasowanie z wpisami w Tablicy Routingu. Mechanizm decyzyjny zawsze poszukuje najdokładniej pasującego prefiksu. Sieci bezpośrednio podłączone do routera widnieją natychmiast jako gotowe trasy (tzw. trasy Connected, oznaczane literą C). Aby router wysłał pakiet dalej w głąb globalnej topologii, jego tablica wymaga uzupełnienia o kolejne trasy przez administratora. Zawartość tablicy, z podziałem na sieci lokalne i zdalne, wyświetlamy poleceniem w trybie uprzywilejowanym:
show ip route

Tabela ukazująca wpisy do tablicy routingu

Tablica routingu jest fundamentem działania każdego routera i zawiera informacje o znanych sieciach oraz sposobach dotarcia do nich. Każdy wpis w tablicy routingu składa się z adresu sieci docelowej, maski, adresu następnego skoku (next hop) oraz metryki określającej koszt trasy. Sieci bezpośrednio podłączone do interfejsów routera pojawiają się w tablicy automatycznie jako trasy Connected.

Trasy statyczne są dodawane ręcznie przez administratora i mają wyższy priorytet niż trasy z protokołów dynamicznych. Router zawsze wybiera trasę z najdłuższym dopasowaniem prefiksu, czyli najbardziej specyficznym wpisem pasującym do adresu docelowego. Gdy nie ma dopasowania dla konkretnej sieci, router korzysta z trasy domyślnej, o ile jest zdefiniowana.

Regularne monitorowanie tablicy routingu za pomocą polecenia show ip route pozwala wykryć problemy z łącznością i błędne konfiguracje administratora.

24/31 Konfiguracja routingu statycznego

Konfiguracja routingu statycznego

Administrator może zaplanować topologię i wpisywać trasy ręcznie – do tego służy routing statyczny.

Komenda pozwala precyzyjnie określić, dokąd ma trafić pakiet.

Standardowy zapis określa: sieć docelową, jej maskę oraz adres IP kolejnego routera (tzw. następny skok, ang. next hop).

Przykład trasy do sieci 10.0.0.0 (z maską /8):

Router(config)# ip route 10.0.0.0 255.0.0.0 192.168.2.2

Najpowszechniejszym przypadkiem jest trasa domyślna (ang. Default Route), używana do kierowania całego nieznanego ruchu do dostawcy usług internetowych.

Obejmuje ona zerowy adres sieci i zerową maskę, wyłapując dowolny adres w Internecie:

Router(config)# ip route 0.0.0.0 0.0.0.0 192.168.2.2

Schemat na temat routingu pomiędzy sieciami

Routing statyczny polega na ręcznym definiowaniu tras w tablicy routingu, co daje administratorowi pełną kontrolę nad przepływem ruchu w sieci. Komenda ip route wymaga podania sieci docelowej, maski oraz adresu IP następnego skoku lub interfejsu wyjściowego. Trasa domyślna z parametrami 0.0.0.0 0.0.0.0 jest najważniejszym wpisem w routerze brzegowym.

Routing statyczny sprawdza się doskonale w małych i stabilnych sieciach, gdzie topologia rzadko się zmienia. Jego główną wadą jest brak automatycznego dostosowania w przypadku awarii łącza, co wymaga interwencji administratora. W protokole IPv6 trasa statyczna konfigurowana jest komendą ipv6 route z adresem w notacji szesnastkowej.

Mimo rozwoju protokołów dynamicznych znajomość routingu statycznego pozostaje podstawową umiejętnością każdego administratora sieci komputerowych.

25/31 Zrozumienie routingu dynamicznego

Zrozumienie routingu dynamicznego

Ręczne wpisywanie tras staje się nieefektywne w rozbudowanych sieciach z wieloma punktami styku.

Tutaj z pomocą wkracza routing dynamiczny.

Routery wyposażone w aktywny protokół routingu samodzielnie informują sąsiednie węzły o podłączonych podsieciach, a także wzajemnie powiadamiają się o awariach łączy.

Protokoły oparte na liczbie skoków (ang. hop count), takie jak RIP (ang. Routing Information Protocol), różnią się od nowszych protokołów stanu łącza (ang. link-state), takich jak OSPF (ang. Open Shortest Path First).

Te drugie uwzględniają przepustowość łączy i gwarantują, że router szybko i w pełni automatycznie wyliczy najkrótszą ścieżkę dla pakietów.

Ilustracja jak routery dzielą się tablicami routingu

Protokoły routingu dynamicznego automatyzują proces wymiany informacji o sieciach między routerami, eliminując potrzebę ręcznego dodawania tras. Routery korzystające z protokołów dynamicznych wymieniają się regularnie komunikatami, informując sąsiadów o znanych im prefiksach. Protokoły wektora odległości (distance vector), takie jak RIP, opierają decyzje routingu na liczbie przeskoków.

Protokoły stanu łącza (link-state), takie jak OSPF, tworzą pełną mapę topologii sieci i obliczają najkrótsze ścieżki za pomocą algorytmu Dijkstry. Routing dynamiczny reaguje automatycznie na zmiany topologii, przekierowując ruch w przypadku awarii łącza w ciągu kilku sekund. Wadą protokołów dynamicznych jest większe obciążenie routerów oraz złożoność konfiguracji.

W praktyce wiele sieci stosuje routing statyczny na obrzeżach i dynamiczny w rdzeniu, łącząc zalety obu podejść dla optymalnej wydajności.

26/31 Routing a switching – różnica

Routing a switching – różnica

Przełącznik (warstwa 2) działa w obrębie jednej sieci lokalnej – dostarcza ramki między urządzeniami na podstawie adresów MAC. Router (warstwa 3) łączy różne sieci, podejmując decyzje na podstawie adresów IP.

W jednym segmencie (tylko przełączniki) wszystkie urządzenia są w tej samej podsieci i komunikują się bezpośrednio na warstwie 2. Z routerem sieć jest podzielona na podsieci, a ruch między nimi wymaga routingu.

W routingu statycznym administrator ręcznie wpisuje trasy – sprawdza się to w małych sieciach o niezmiennej topologii. Określa się sieć docelową, maskę oraz adres IP następnego routera (ang. next hop). Routing dynamiczny wykorzystuje protokoły (np. RIP, OSPF), które automatycznie wymieniają się informacjami o dostępnych sieciach. W przypadku awarii same znajdują nową ścieżkę.

Bez routingu nawet największa sieć przełączników to jedna wielka domena rozgłoszeniowa.

Router "tnie" ją na mniejsze, łatwiejsze w zarządzaniu kawałki.

Router łączy dwie różne sieci lokalne

Przełączniki warstwy 2 przekazują ramki wyłącznie w obrębie tej samej sieci lokalnej, opierając się na adresach MAC. Router jest niezbędny, gdy ruch musi trafić do innej podsieci – analizuje wtedy docelowy adres IP i zagląda do tablicy routingu, by podjąć decyzję o kierunku transmisji.

Routing statyczny daje administratorowi pełną kontrolę nad przepływem ruchu, ale wymaga ręcznej aktualizacji tras przy każdej zmianie topologii. W sieci z wieloma routerami szybko staje się to niepraktyczne. Z pomocą przychodzą protokoły dynamiczne, które samodzielnie wykrywają sąsiadów i wymieniają się informacjami o sieciach.

W praktyce większość sieci łączy oba podejścia: routing statyczny na obrzeżach (połączenie z dostawcą) i dynamiczny w rdzeniu sieci.

27/31 Podsumowanie warstw 3 i 4

Podsumowanie warstw 3 i 4

Podsumujmy: Warstwa 3 (IP) to logistyka i adresowanie – dba o to, by pakiet znalazł drogę przez gąszcz routerów.

Adres IP lokalizuje komputer w sieci.

Warstwa 4 (Transportowa) to organizacja dostawy – TCP dba o jakość i kolejność, UDP o szybkość.

Porty lokalizują konkretną aplikację na komputerze.

Razem tworzą zgrany duet TCP/IP, który jest fundamentem dzisiejszej komunikacji cyfrowej.

Obraz dla slajdu 27

W warstwie sieciowej kluczowe znaczenie ma adres IP, który umożliwia jednoznaczną identyfikację urządzenia w globalnej sieci. Routery wykorzystują adres docelowy IP do podejmowania decyzji o trasowaniu, wybierając najkorzystniejszą ścieżkę do celu. Warstwa transportowa wprowadza rozróżnienie na protokoły niezawodne (TCP) i szybkie (UDP), co pozwala dopasować mechanizm transmisji do potrzeb aplikacji.

TCP zapewnia retransmisję utraconych segmentów, kontrolę przepływu i uporządkowanie danych, natomiast UDP oferuje minimalne opóźnienia kosztem potencjalnych strat. Porty warstwy transportowej umożliwiają współistnienie wielu aplikacji sieciowych na jednym urządzeniu, rozdzielając ruch między nimi. Połączenie adresu IP i numeru portu tworzy gniazdo sieciowe będące unikalnym identyfikatorem sesji.

Zrozumienie współdziałania warstwy sieciowej i transportowej jest absolutnie niezbędne przy projektowaniu i utrzymywaniu sieci komputerowych każdej skali.

28/31 Co dalej? Usługi aplikacyjne

Co dalej? Usługi aplikacyjne

Mamy już kabel, mamy przełącznik, mamy adres IP i działające porty.

Ale "pusta" sieć jest bezużyteczna.

Użytkownik potrzebuje usług.

W ostatnim wykładzie dowiemy się, jak komputer automatycznie zdobywa adres IP (DHCP), jak nazwy zamieniają się na liczby (DNS), jak działa translacja adresów (NAT), która ratuje nas przed brakiem IPv4, oraz jak bezpiecznie zarządzać serwerami na odległość (SSH).

Obraz dla slajdu 28

Warstwa aplikacji (warstwa 7 modelu OSI) udostępnia użytkownikom końcowym usługi sieciowe, takie jak przeglądanie stron WWW czy wysyłanie poczty elektronicznej. Automatyczne przydzielanie adresów IP realizowane jest przez protokół DHCP, który znacząco upraszcza konfigurację stacji roboczych. System DNS pełni funkcję książki telefonicznej Internetu, zamieniając nazwy domenowe na adresy IP.

Translacja adresów NAT umożliwia urządzeniom z adresami prywatnymi dostęp do Internetu poprzez współdzielenie jednego publicznego adresu IP. Protokół SSH zapewnia szyfrowany zdalny dostęp do serwerów, zastępując niebezpieczny Telnet w zarządzaniu urządzeniami sieciowymi. Usługi te działają na bazie poznanych wcześniej protokołów warstwy transportowej i sieciowej.

Każdy administrator sieci powinien znać zasady działania tych usług, ponieważ stanowią one nieodłączny element codziennej pracy z sieciami komputerowymi.

29/31 Ćwiczenie praktyczne

Ćwiczenie praktyczne

Spróbujcie w domu "pingnąć" stronę google.com (ping google.com). Zobaczcie, na jaki adres IP została zamieniona nazwa. Potem spróbujcie poleceniatracert google.com(Windows) lubtraceroute google.com(Linux). Policzcie, przez ile routerów musi przejść pakiet, by dotrzeć do serwera Google. Zwróćcie uwagę na czasy opóźnień (ms). To najlepsza lekcja poglądowa o strukturze Internetu.

Zrzut ekranu z traceroute

Polecenie ping wysyła pakiety ICMP Echo Request do wskazanego hosta i mierzy czas odpowiedzi, co pozwala ocenić opóźnienie i dostępność serwera. Wykonanie traceroute do google.com pozwala zobaczyć trasę pakietów przez kolejne routery wraz z czasami przeskoków. Analiza wyników traceroute umożliwia zlokalizowanie miejsca, w którym występują opóźnienia lub utrata pakietów.

W systemie Windows zamiast traceroute stosuje się polecenie tracert, które działa na bardzo podobnej zasadzie. Różnice w czasach odpowiedzi między poszczególnymi węzłami mogą wskazywać na przeciążenie lub łącza słabej jakości. Wykonanie ping do adresu pętli zwrotnej 127.0.0.1 pozwala sprawdzić poprawność działania stosu TCP/IP na lokalnym komputerze.

Ćwiczenia te stanowią najlepszy sposób na praktyczne zrozumienie omawianych na wykładzie mechanizmów sieciowych w rzeczywistym środowisku.

30/31 Polecana literatura

Polecana literatura

Tematykę TCP/IP wyczerpująco opisuje książka "TCP/IP Illustrated" (W.

Richard Stevens) – to pozycja kultowa, choć trudna.

Dla początkujących polecam kursy online typu "CCNA od zera".

Warto też zainstalować analizator sieciowy Wireshark i po prostu popatrzeć, co "lata" w naszej domowej sieci.

Zobaczycie tam na żywo wszystko, o czym dziś mówiliśmy: flagi SYN, numery sekwencyjne i nagłówki IP.

Obraz dla slajdu 30

Książka TCP/IP Illustrated autorstwa W. Richarda Stevensa jest uznawana za biblię sieci komputerowych i zawiera szczegółowe opisy wszystkich protokołów stosu TCP/IP. Dla osób rozpoczynających przygodę z sieciami polecane są kursy przygotowujące do certyfikacji CCNA, które oferują zarówno wiedzę teoretyczną, jak i praktyczne laboratoria.

Wireshark to niezwykle przydatne narzędzie do analizy ruchu sieciowego, które pozwala podejrzeć nagłówki pakietów w czasie rzeczywistym. Instalacja Wiresharka i obserwacja własnego ruchu sieciowego pozwala zobaczyć w praktyce wszystkie omawiane protokoły i mechanizmy. Dokumenty RFC stanowią oficjalne specyfikacje protokołów internetowych i są dostępne bezpłatnie w Internecie.

Cisco Packet Tracer to symulator sieci umożliwiający tworzenie wirtualnych topologii i eksperymentowanie bez potrzeby posiadania fizycznego sprzętu. Regularne ćwiczenia z użyciem powyższych narzędzi są kluczem do opanowania materiału.