Sieci bez granic - skrót dla początkujących

Wstęp

Komunikacja jest dzisiaj wszędzie i odgrywa kluczową rolę w społeczeństwie w jakim żyjemy. Jest ona znacznym ułatwieniem życia dla każdego z nas, od przeciętnych osób używających cudów techniki do prokrastynacji w sieci, aż po gigantyczne korporacje, które zarabiają na technologiach telekomunikacyjnych. Z czym to się jednak je? W tym artykule przedstawimy podstawowe informacje na ten temat.

Modele sieci

Są dwa modele sieci. Model Open Systems Interconnection (OSI) oraz model Transmission Control Protocol/Internet Protocol (TCP/IP). Są różnymi koncepcjami modelowania i opisu warstwowych protokołów sieciowych.

Model OSI

Jest modelem czysto teoretycznym, opracowanym przez ISO (Międzynarodowa Organizacja Normalizacyjna) i służy do opisu komunikacji między systemami. Składa się on z 7 warstw, które odzwierciedlają różne aspekty komunikacji sieciowej, od fizycznej warstwy, aż do aplikacji użytkownika. Warstwy są następujące:

  • warstwa fizyczna
  • warstwa łącza danych
  • warstwa sieci
  • warstwa transportowa
  • warstwa sesji
  • warstwa prezentacji
  • warstwa aplikacji

Model TCP/IP

Jest on modelem praktycznym, opracowanym w wyniku rozwoju sieci internetowej i jest najczęściej stosowanym modelem protokołów sieciowych. Składa się tylko z 4 warstw:

  • warstwa sieciowa (Internet Protocol)
  • wartwa transportowa (TCP/UDP)
  • warstwa aplikacji (protokoły aplikacyjne)
  • warstwa dostępu do sieci (odpowiedzialna za fizyczne połączenie).

Model TCP/IP jest bardziej uproszczony i związany z bardziej praktycznymi aspektami w sieciach IP. Model OSI zawiera w sobie warstwę sesji i prezentacji, obejmujące zarządzanie sesjami, szyfrowanie itp., model TCP/IP nie ma jednak osobnych warstw dla tych funkcji i odpowiednie zadania są rozproszone, w szczególności na warstwę aplikacji.

Protokoły i inne

Internet Protocol (IP)

To protokół warstwy sieciowej, który zapewnia adresowanie i routowanie pakietów danych w sieciach komputerowych. Nie gwarantuje on jednak dostarczenia danych w odpowiedniej kolejności, ani ich dostarczenia w ogóle. Maksymalną wartością danych w pojedynczym pakiecie wynosi 65 535 bajtów, jednak bardzo często ma ograniczenia na poziomie 1500 bajtów. Używa się go do identyfikacji i lokalizacji urządzeń w sieci, natomiast routowanie pakietów IP jest wykorzystywane do kierowania danych między urządzeniami/sieciami. To tak właściwie kręgosłup, dzięki któremu działają wszelakie routery i internet.

IPv4

Adresy IPv4 składają się z 32-bitowych liczb, zapisanych w formie czterech oktetów oddzielonych kropkami. Istnieje około 4.3 miliarda unikalnych adresów IPv4. Ma stały rozmiar nagłówka wynoszący 20 bajtów. W IPv4 używane są adresy rozgłoszeniowe (broadcast) do komunikacji do wszystkich hostów w danej sieci, a multicast (czyli adresy służące do wysyłania pakietów do wielu, ale nie do wszystkich, co odróżnia multicast od broadcastu wysyłającego pakiety do wszystkich) są zdefiniowane w osobnym zakresie adresów. Konfiguracja adresacji może być ręczna (statyczna), jak również dynamiczna (DHCP). W IPv4 wprowadzono NAT (Network Address Translation), który umożliwia udostępnienie jednego publicznego adresu IP dla wielu urządzeń w sieci prywatnej.

Przykłady:

  • 192.168.0.1
  • 10.0.0.1
  • 172.16.0.1
  • 192.0.2.123
  • 8.8.8.8 (publiczny DNS Google’a)

IPv6

Adresy IPv6 są reprezentowane jako 128-bitowe liczby zapisane w formie ośmiu grup po cztery heksadecymalne cyfry, oddzielone dwukropkami. Daje to ogromną liczbę teoretycznie dostępnych adresów IPv6, wynoszącą około 3,4 * 1038 (dużo!). Jego rozmiar nagłówka wynosi 40 bajtów. W IPv6 adresy broadcast są zastąpione przez multicast, są one określone w zakresie unikalnych adresów. Adresy mogą być przydzielane ręcznie, dynamicznie przez DHCPv6, bądź automatycznie przez mechanizm adresacji na podstawie identyfikatorów interfejsów sieciowych (EUI-64). Dodatkową rzeczą wprowadzoną przy IPv6 jest IPsec (Internet Protocol Security), który zapewnia integralność, poufność i uwierzytelnianie na poziomie protokołu.

Przykłady:

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 2001:db8::1
  • 2001:0:9d38:6abd:480:abcd:ef01:23ef
  • fe80::1
  • ::1 (adres loopbacku w IPv6)

Gdy IPv4 powstawał, przewidziano około 4.3 miliarda adresów, co było wystarczające dla ówczesnej sieci, jednak z biegiem czasu okazało się niewystarczające, temu też powstało IPv6. Dlaczego więc jednak IPv4 jest najpowszechniej używane? Spora część infrastruktury polega właśnie na nim, a przejście na v6 ‘od tak’ byłoby niemożliwe, wiąże się to z czasem związanym na wymianę infrastruktury i olbrzymimi kosztami. Co więcej, IPv6 nie jest wstecznie kompatybilne z IPv4, więc wymagane jest używanie mechanizmów tłumaczenia adresów (np. tunelowanie), żeby urządzenia obsługujące jedynie IPv4 mogły komunikować się z urządzeniami obsługującymi tylko IPv6. Jednak w niedalekiej przyszłości, z racji ciągłego rozwoju i wyczerpywania się adresów IPv4, to właśnie IPv6 stanie się dominantą. Wpływ na to ma upowszechnienie wszelakich form technologii. W latach powstawania IPv4 nikt raczej nie myślał o już dzisiaj szeroko dostępnych urządzeniach ‘smart’ bądź jakimkolwiek IoT.

TCP (Transmission Control Protocol)

TCP to niezawodny protokół warstwy transportowej, który zapewnia utworzenie połączenia, kontrolę przepływu i niezawodną transmisję danych w sieciach IP. Posiada on jednak ograniczenie w postaci pewnego opóźnienia związanego z mechanizmami kontroli przeciążenia i sprawdzania poprawności danych, a czas transmisji zależy od obciążenia sieci. Teoretyczną maksymalną wartością danych jest 232 bajtów, natomiast większość implementacji ma ograniczenia na poziomie 64 KB dla pojedynczego segmentu TCP. Najczęstszym zastosowaniem jest przeglądanie stron za pomocą protokołu HTTP, który używa TCP, podobnie jak FTP jak i SMTP.

Bardzo ważnym elementem związanym z TCP jest tzw. 3-way handshake, czyli proces nawiązywania połączeń między dwoma urządzeniami.

  1. SYN (synchronize), klient wysyłą pakiet SYN do serwera, w którym żąda nawiązania połączenia, a tzw. numer sekwencyjny jest losowo generowany przez klienta.
  2. SYN-ACK (synchronize-acknowledgment), wtedy gdy serwer otrzyma pakiet SYN, odpowie pakietem SYN-ACK, tutaj numer sekwencyjny jest wygenerowany przez serwer, a numer potwierdzenia (acknowledgment number) jest ustawiony jako numer sekwencyjny klienta, ale zwiększony o +1. Serwer w ten sposób informuje klienta, że jest gotowy do nawiązania połączenia.
  3. ACK (acknowledgment), wtedy gdy klient otrzyma pakiet SYN-ACK i wyśle pakiet ACK w odpowiedzi do serwera, który jest numerem sekwencyjnym serwera zwiększonym o 1. Oznacza, że połączenie zostało nawiązane.

Ważną częścią protokołu TCP jest tzw. Window Size, odnosi się do wielkości okna lub liczby bajtów, które mogą zostać wysłane przez nadawcę przed oczekiwaniem na potwierdzenie odbioru (ACK) od odbiorcy. Okno oznacza przestrzeń bufora na dane w strumieniu TCP. Może być dynamicznie zmieniane w trakcie połączenia w zależności od czynników takich jak obciążenie sieci, przepustowość etc. Kiedy nadawca wyśle dane do odbiorcy, używa wartości Window Size, aby określić, ile danych może przyjąć przed wysłaniem potwierdzenia. Nadawca więc musi dostosować prędkości i rozmiar danych, aby nie przekroczyć tych określonych przez Window Size. Dzięki temu można utrzymać wydajność i uniknąć przeciążenia sieci.

User Datagram Protocol (UDP)

Protokół warstwy transportowej, który zapewnia bezpołączeniową transmisję danych bez mechanizmów kontroli przepływu. Jest protokołem bezpołączeniowym, więc nie zapewnia gwarancji dostarczenia danych w odpowiedniej kolejności, lub w ogóle. Nie zapewnia też mechanizmów detekcji i retransmisji utraconych obiektów. Maksymalną wartość danych w jednym datagramie jest 65 535 bajtów (łącznie z nagłówkiem UDP), natomiast najczęściej spotykane implementacje są ograniczone do 64KB dla pojedynczego datagramu. Bardzo częstym zastosowaniem UDP jest strumieniowanie mediów w czasie rzeczywistym, jak transmisja strumieni audio i wideo, jak również gry sieciowe czy VoIP, używane do np. wideokonferencji.

Porównując UDP i TCP w ogóle, można streścić to jednym zdaniem: TCP jest bardziej niezawodne, ale wolniejsze, odwrotnie z UDP.

Hypertext Transfer Protocol (HTTP)

HTTP to protokół warstwy aplikacji, służy do przesyłania stron internetowych, żądań i odpowiedzi klient-serwer. Maksymalną wartością w żądaniu/odpowiedzi są teoretyczne 2GB, jednak większość ogranicza się do kilku megabajtów.

Istnieje również HTTPS (Hypertext Transfer Protocol Secure), który wykorzystuje protokół SSL/TLS w celu szyfrowania danych i zapewnienia bezpiecznej komunikacji. Chroni to poufność i integralność przesyłanych danych (jak np. dane logowania, dane osobowe etc.). Jest powszechnie używanym protokołem na stronach wymagających bezpiecznej transmisji danych, w szczególności do banknowości elektronicznej, sklepów internetowych i wszelakich usług płatniczych.

Simple Mail Transfer Protocol (SMTP)

SMTP to kolejny protokół warstwy aplikacji, używany do przesyłania poczty elektronicznej między serwerami. Jego ograniczeniem jest zazwyczaj 25MB.

File Transfer Protocol (FTP)

Również jest protokołem w warstwie aplikacji, umożliwia przesyłanie plików między klientem a serwerem. Najczęściej ograniczony do kilku gigabajtów, by swobodnie aktualizować oprogramowanie bądź transferować duże pliki między endpointami.

Border Gateway Protocol (BGP)

Jest protokołem routingowych dla sieci internetowych, ustala się nim trasy między autonomicznymi systemami (AS) w globalnej sieci. Autonomous System (AS), to zbiór sieci komputerowych, które są zarządzane przez co najmniej jedną jednostkę administracyjną, takie jak organizacje czy dostawcy usług internetowych (ISP). AS w przypadku BGP pełni rolę jednostki administracyjnej, która podejmuje decyzje dotyczące trasowania pakietów i wymienia się informacjami z innymi AS w celu ustalenia optymalnych tras. AS identyfikuje daną jednostkę administracyjną, która zarządza daną siecią, a każdy AS ma przypisany unikanlny numer AS (ASN), który identyfikuje go globalnie, a składa się on z 16 lub 32-bitowego numeru, w zależności od używanej wersji BGP. Maksymalną wartością danych w BGP są 4096 bajty. Pozwala on na skomplikowane routowanie pakietów w internecie, na co wpływ ma również kwestia AS i wymiany danych między nimi.

Open Shortest Path First (OSPF)

Jest protokołem stanowym, opartym na linkach i służy do dynamicznego ustalania tras wewnątrz jednego systemu autonomicznego (AS). Cechuje się on wykorzystaniem algorytmu Dijkstry do obliczania najkrótszych ścieżek i ustalania optymalnych tras, obsługą hierarchii, gdzie sieć jest podzielona na swego rodzaju obszary, a każdy obszar ma unikalne identyfikatory i zawiera pewną liczbę routerów, dzięki czemu też zapewniona jest skalowalność i lepsza kontrola nad ruchem w sieciach o dużych rozległościach (patrz: ISP). Kluczowym elementem OSPF jest sąsiedztwo, kiedy routery wymieniają między sobą informacje dotyczące stanu łączy poprzez wymianę pakietów “Hello” robią swego rodzaju sanity check sąsiadów i synchronizują stan sieci. OSPF przydziela również metrykę do każdego łącza na podstawie prędkości i opóźnień, jest to kolejny element do obliczania najlepszej trasy. Co jest kluczowe pod względem bezpieczeństwa, OSPF zapewnia mechanizmy autentykacji i uwierzytelniania, aby zabezpieczyć wymianę informacji routingowej między routerami.

Dynamic Host Configuration Protocol (DHCP)

Protokół warstwy aplikacji, który przydziela adresy IP i konfiguruje parametry sieciowe dla urządzeń w sieciach lokalnych. Najczęściej charakteryzuje się krótkim czasem transmisji, to jednak może się znacznie wydłużyć w przypadku problemów z serwerem DHCP jak również w przypadku konfliktu adresów. Maksymalnie pozwala (z reguły) na kilka kilobajtów.

Quick UDP Internet Connections (QUIC)

Opracowany przez Google protokół transportowy, który łączy funkcje TCP i UDP, zapewniając szybką, ale i bezpieczną transmisję danych. Czas transmisji jest zazwyczaj krótszy niż w przypadku protokołu TCP, natomiast maksymalną wartością danych przesyłanych w jednym segmencie QUIC jest z reguły kilka megabajtów.

Secure Sockets Layer/Transport Layer Security (SSL/TLS)

To zestawy protokołów służące do bezpiecznej komunikacji. TLS jest następcą SSL. Umożliwiają szyfrowanie danych i uwierzytelnianie.

Internet Protocol Security (IPSec)

To zestaw protokołów i standardów służący do zapewnienia bezpiecznej komunikacji na poziomie warstwy sieciowej. Stworzono go w celu zapewnienie integralności, poufności i autentyczności danych przesyłanych przez sieć. Wprowadza on jednak dodatkowy narzut na przesyłane dane, ze względu na rozmiar nagłówka jak również obliczenia kryptograficzne. W skład IPSec wchodzą protokoły i standardy takie jak:

  • Authentication Header (AH), to jeden z głównych protokołów IPSec, odpowiada on za uwierzytelnianie poprzez dodanie nagłówka do pakietu IP, w którym znajdują się dane uwierzytelniające, takie jak wartość skrótu wiadomości oraz identyfikatory do uwierzytelniania
  • Encapsulating Security Payload (ESP), dodaje kolejny nagłówek do pakietu IP, zawierający zaszyfrowane dane, wartość skrótu wiadomości oraz opcjonalne dane uwierzytelniające.
  • Internet Key Exchange (IKE), służy do automatycznego nawiązywania bezpiecznego połączenia przy pomocy zestawów algorytmów kryptograficznych, protokołów uwierzytelniania i negocjacji kluczy (np. w celu ustanowienia bezpiecznego tunelu VPN), odpowiada on za wymianę kluczy, zestawienie parametrów bezpieczeństwa i zarządzanie politykami zabezpieczeń.
  • Security Associations (SA), zestaw parametów bezpieczeństwa, jak algorytmy szyfrowania, uwierzytelniania i protokoły klucza, definiuje też parametry jak adresy źródłowe i docelowe, tryb działania (tunelowy lub transportowy) oraz inne ustawienia sesji.
  • Internet Security Association and Key Management Protocol (ISAKMP), jest protokołem w warstwie aplikacji służącym do zarządzania kluczami i negocjacji parametrów bezpieczeństwa. Definiuje on strukturę komunikacji między urządzeniami, format wiadomości i metody wymiany kluczy.
  • Diffie-Hellman, jest protokołem kryptograficznym służącym do bezpiecznej wymiany kluczy między dwoma stronami bez uprzedniej wspólnej tajemnicy, wykorzystuje się go w procesie negojacji kluczy w IKE do ustanowienia wspólnego tajnego klucza między stronami, które się komunikują.

Layer 2 Tunneling Protocol (L2TP)

Jest protokołem tunelowania, zapewniającym bezpieczną komunikację na poziomie 2. warstwy (np. Ethernet). Nie zapewnia on jednak sam w sobie, ani szyfrowania ani uwierzytelniania. Często używa się go w połączeniach VPN, w któych połączenie jest nawiązywane przez owy tunel, a dane są przesyłane za pomocą tunelowanych protokołów.

Domain Name System (DNS)

DNS to system nazw domen, który przypisuje adresy IP do czytelnych dla ludzi nazw domen, umożliwiając przeglądanie stron internetowych (wygodniej wpisać waletlab.com, niż IP naszego serwerka ;> ); maksymalną wartością danych w zapytaniu/odpowiedzi jest 512 bajtów w przypadku UDP, oraz 4096 bajtów w przypadku TCP

Domain Name System Security Extensions (DNSSEC) jest rozszerzeniem protokołu DNS, które wprowadza dodatkowe funkcje bezpieczeństwa dla systemu nazw domenowych. Wprowadza on m.in. mechanizmy podpisu cyfrowego (gwarancja autentyczności odpowiedzi DNS), ochronę przed atakami typu cache poisoning i umożliwia uwierzytelnianie danych DNS. Jest to ważny element w kontekście przeglądania stron internetowych, gdzie potwierdzenie autentyczności i integralności odpowiedzi DNS jest kluczowe w celu uniknięcia przekierowania ruchu na fałszywe strony internetowe.

Secure Shell (SSH)

Protokół warstwy aplikacji, zapewnia bezpieczne zdalne logowanie i przesył danych przez szyfrowane połączenie.

Na bazie protokołu SSH powstał SFTP (SSH FIle Transfer Protocol) w celu zapewnienia bezpiecznego przesyłu danych klient-serwer. Umożliwia on zarządzanie, przesył i pobieranie plików z wykorzystaniem szyfrowanej sesji SSH i gwarantuje poufność. Jest bardzo często i szeroko wykorzystywany w środowiskach biznesowych i hostingowych.

Remote Desktop Protocol (RDP)

Opracowany przez Microsoft protokół komunikacyjny, umożliwiający zdalne zarządznie i dostęp do pulpitu zdalnego urządzenia, zdalne logowanie na inny komputer i interakcję z nim, jakbyśmy fizycznie przy nim się znajdowali, szeroko używany w środowiskach biznesowych, administracji oraz zdalnej pomocy technicznej. Przesyła dane o użytkowniku, obraz pulpitu, dźwięk oraz inne informacje, wykorzystuje on protokół TCP jako warstwę transportową. Umożliwia on również uwierzytelnianie użytkownika, udostępnianie urządzeń peryferyjnych w sieci lokalnej (np. drukarki) oraz przesył danych.

Virtual Network Computing (VNC)

Jest protokołem komunikacyjnym i zestawem narzędzi o zastosowaniu zbliżonym do RDP, opiera on się jednak na koncepcji klient-serwer, gdzie klient łączy się z serwerem VNC (np. w formie aplikacji działającej na remote endpoincie).

Virtual Private Network (VPN)

VPN umożliwia bezpieczne połączenie z siecią zdalną przez inne sieci. Zapewnia poufność danych, działa w trybie tunelowym. Dzięki VPN możemy łączyć się z serwerami naszej firmy w bepieczny sposób, jak również “udawać” naszą lokalizację i korzystać z treści zablokowanych w naszym kraju.

The Onion Router (TOR) oraz Invisible Internet Project (I2P)

Oba są formami protokołów sieci anonimowej działającymi na warstwie aplikacji z wieloma węzłami pośredniczącymi. TOR działa na zasadzie sieci cebulowej, gdzie każdy węzeł zna tylko poprzedni i następny w trasie, a węzeł wyjściowy (ostatni), wysyła dane do docelowego serwera. I2P opiera się na “sieci niewidzialnej” opartej na zasadzie routerów pełzających (leeching routers), gdzie każdy węzeł zna tylko kilka innych węzłów. W związku z przesyłem przez wiele węzłów czas połączenia może być wydłużony, a pobieranie większych plików znacznie utrudnione. Każda z tych sieci ma treści dostępne tylko wewnątrz każdej z nich. Można uzyskać dostęp do zasobów internetowych spoza tych sieci za pomocą “bram dostępowych” (outproxies), jednak może to mieć wpływ na anonimowość, ponieważ ruch przekazywany przez nie, nie jest już objęty założeniami tych sieci.

Peer-to-Peer (P2P)

To architektura sieci komputerowych, w której urządzenia (peery) są połączone bezpośrednio między sobą, tworząc sieć zdecentralizowaną, bez centralnego serwera. Trudnością może być jednak zarządzanie i kontrola serwerów, gdyż poprzez brak centralnego serwera, może być problem w odnalezieniu i udostępnianiu zasobów, jak również z zapewnieniem bezpieczeństwa i poufności danych. Często P2P jest wykorzysytwane do udostępniania plików, komunikacji audio/wideo oraz innych form współdzielenia się zasobami. Zdecydowaną zaletą jest decentralizacja, elastyczność oraz skalowalność.

Real-Time Streaming Protocol (RTSP)

Jest protokołem komunikacyjnym do strumieniowania danych w czasie rzeczywistym, działającym w warstwie aplikacji i umożliwia kontrolę nad przesyłem strumieniowym, jak odtwarzanie, pauzowanie, przewijanie czy zatrzymywanie strumieni kompletnie. Jednak sam protokół nie przesyłą strumienia multimedialnego, ale służy do sterowania odtwarzaniem strumieniowym na urządzeniach klienta, do przesyłu strumieni multimedialnych używa się inne protokoły, takie jak Real-time Transport Protocol (RTP), bądź po prostu HTTP.

Istnieje również SRTP (Secure Real-time Transport Protocol), który zapewnia bezpieczne strumieniowanie w czasie rzeczywistym poprzez szyfrowanie i uwierzytelnianie danych.

SŁOWNICZEK

  • pakiet danych - podstawowa jednostka informacji przesyłanych w sieciach, każdy owy pakiet zawiera pewien fragment danych oraz informacje kontrolne, które pozwalają na jego poprawną transmisję i odbiór; składa się on z kilku głównych elementów, takich jak: nagłówek (informacje kontrolne, adres źródłowy i docelowy, numer sekwencyjny, informacja o rozmiarze pakietu, służy do poprawnego skierowania pakietu w odpowiednie miejsce i złożenia otrzymanych pakietów w poprawnej kolejności), dane (informacje przesyłane w pakiecie) oraz suma kontrolna (checksum, wartość numeryczna obliczana na podstawie zawartości pakietu, używana do weryfikacji integralności danych podczas odbierania pakietu)
  • komunikaty/strumienie - odnoszą się do transmisji danych w sposób sekwencyjny, gdzie dane są przekazywane bez podziału na mniejsze jednostki, jest to typowe dla protokołów warstwy aplikacji, jak HTTP czy SMTP; komunikaty są zwykle opakowanymi jednostkami danych, posiadające pełne informacje, takie jak żądanie HTTP/odpowiedź serwera bądź treść maila i przesyłane jako całość; strumienie to natomiast ciągłe przesyłanie danych i odczytywanie ich przez aplikację w sposób sekwencyjny, jak na przykład strumienie audio/wideo bądź przesył multimediów przez protokoły RTSP/RTP
  • ramki - struktura danych, która zawiera informacje przesyłane między urządzeniami sieciowymi, są podstawowymi jednostkami danych na 2. warstwie modelu OSI (warstwa łącza danych), zawiera ona header (nagłówek) oraz dane, które są przekazywane przez sieć); mogą być używane również w sieciach lokalnych (LAN); nagłówek zawiera m.in. adresy MAC (Media Access Control) urządzenia źródłowego i docelowego, informacje o typie danych (fragment pliku, żądanie HTTP, bądź jakikolwiek inny typ danych transmitowanych w sieci) oraz sumę kontrolną
  • datagramy - odnoszą się do przesyłania danych w postaci pakietów niezależnych od siebie, są typowe dla protokołów warstwy transportowej jak np. UDP, gdzie dane są podzielone na mniejsze jednostki (pakiety) i przesyłane niezależnie; mogą być transmitowane różnymi ścieżkami, a następnie złożone w całość przez odbiorcę
  • tryb transportowy - bezpośredni przesył danych między dwoma endpointami w sieci
  • tryb tunelowy - przesył danych przez sieć w “opakowaniach dodatkowych”, które zmieniają adresację pakietów, używany gdy pdane muszą przejść przez inną sieć, infrastrukturę, bądź przez kanał VPN