Tak działa TCP/IP i IPv6

Podstawą Internetu jest rodzina protokołów TCP/IP, która zapewnia globalną komunikację między najróżnorodniejszymi komputerami i urządzeniami. Opracowano ją w połowie lat siedemdziesiątych, kiedy to w amerykańskiej Defense Advanced Research Agency (DARPA, http://www.darpa.mil ) zainteresowano się budową sieci umożliwiającej wymianę pakietów danych między różnymi systemami komputerowymi w ośrodkach badawczych. TCP/IP tworzy heterogeniczną sieć o otwartych protokołach, które są niezależne od systemów operacyjnych i architektury sprzętowej. Za pomocą protokołów internetowych mogą się komunikować dowolne systemy - domowe, korporacyjne i kieszonkowe.

Podstawą Internetu jest rodzina protokołów TCP/IP, która zapewnia globalną komunikację między najróżnorodniejszymi komputerami i urządzeniami. Opracowano ją w połowie lat siedemdziesiątych, kiedy to w amerykańskiej Defense Advanced Research Agency (DARPA, http://www.darpa.mil ) zainteresowano się budową sieci umożliwiającej wymianę pakietów danych między różnymi systemami komputerowymi w ośrodkach badawczych. TCP/IP tworzy heterogeniczną sieć o otwartych protokołach, które są niezależne od systemów operacyjnych i architektury sprzętowej. Za pomocą protokołów internetowych mogą się komunikować dowolne systemy - domowe, korporacyjne i kieszonkowe.

Protokoły są dostępne dla każdego i traktowane jako własność publiczna. Każdy użytkownik może korzystać z nich bez licencji na własne potrzeby, a także tworzyć na ich podstawie własne aplikacje i usługi. Skrótem TCP/IP określa się całą rodzinę protokołów, tak zwaną "Internet Protocol Suite". Dwa najważniejsze typy, TCP oraz IP, stały się źródłem nazwy dla całej rodziny protokołów.

Dzięki jednolitemu schematowi adresowania każdy komputer w sieci TCP/IP może jednoznacznie zidentyfikować dowolny inny komputer. Standaryzowane protokoły wyższych warstw oddają do dyspozycji użytkownika usługi dostępne w ujednolicony sposób. Dodanie pod koniec lat siedemdziesiątych protokołów TCP/IP do systemu BSD-Unix stało się podstawą do rozwoju Internetu.

Architektura protokołu

Alternatywa modelu OSI - czterowarstwowy model sieci amerykańskiego departamentu Obrony.

Alternatywa modelu OSI - czterowarstwowy model sieci amerykańskiego departamentu Obrony.

Nie ma powszechnej zgody co do sposobu opisu TCP/IP jako modelu warstw. Model OSI jest wprawdzie całkiem użyteczny, ale w dużej części bardzo akademicki. Do zrozumienia budowy TCP/IP potrzebny jest model, który w większym stopniu opiera się na strukturze protokołów.

Amerykańskie ministerstwo obrony (DoD - Department of Defense, http://www.defenselink.mil ) opracowało czterowarstwowy model sieci. Każda warstwa składa się z pewnej liczby protokołów, które łącznie tworzą rodzinę TCP/IP. Specyfikację każdego protokołu opisano w jednym lub kilku RFC.

Podobnie jak w modelu OSI, podczas wysyłania dane przechodzą drogę od góry stosu w dół; w trakcie odbioru danych z sieci droga prowadzi przez stos do góry. W celu zapewnienia prawidłowej transmisji danych każda warstwa dodaje swoje dane kontrolne. Informacje te noszą nazwę nagłówka, ponieważ poprzedzają właściwe dane.

Kapsułkowanie danych

Kapsułkowanie - znaczna liczba nagłówków w TCP/IP powoduje wzrost ilości danych.

Kapsułkowanie - znaczna liczba nagłówków w TCP/IP powoduje wzrost ilości danych.

Dodawanie informacji kontrolnych nazywa się kapsułkowaniem (encapsulation). W trakcie odbioru danych kapsułkowanie wykonywane jest w odwrotnej kolejności. Każda z warstw usuwa swój nagłówek i przesyła pozostałe dane do warstwy leżącej powyżej.

Podczas przesyłania niewielkiej ilości danych może się zdarzyć, że w wyniku kapsułkowania powstanie więcej danych protokołu niż danych użytecznych. Celowe jest wówczas użycie protokołu UDP (User Datagram Protocol), który przesyła dane, korzystając z minimalnej liczby mechanizmów protokołu.

IP - Internet Protocol

Internet Protocol (IP) jest podstawą rodziny protokołów TCP/IP. Odpowiada za przesyłanie danych. Ogólnie rzecz biorąc, jego zadaniem jest zapewnienie transmisji danych między sieciami. W tym celu musi przejąć wiele zadań, stawiając je do dyspozycji wyższych warstw w formie usług. Do zadań IP należą:

  • usługa pakietowania danych,
  • fragmentacja pakietów danych,
  • wybór parametrów transmisji,
  • funkcja adresowania,
  • routing między sieciami.
Internet Protocol nie udostępnia żadnego zabezpieczonego połączenia i nie może przesyłać ponownie utraconych pakietów danych. Każdy pakiet danych IP przesyłany jest do odbiorcy jako niezależny pakiet (datagram). Dla różnych typów sieci określone są różne długości pakietów danych. Wielkość pakietu danych zależy od wielu czynników, w tym od ograniczeń sprzętowych i programowych.

Jeżeli pakiet danych ze względu na wielkość nie może być przesłany w całości, zostaje podzielony na mniejsze fragmenty. Pakiety wysyłane są wprawdzie we właściwej kolejności, niekoniecznie jednak w takiej samej docierają do celu. Ponieważ mogą się przemieszczać różnymi drogami, konieczne są dodatkowe informacje. Umożliwiają one zrekonstruowanie pierwotnego stanu pakietu. W trakcie transmisji każdy pakiet otrzymuje na początku nagłówek.

Nagłówek IP - szczegóły

Bit za bitem - szczegóły nagłówka IP.

Bit za bitem - szczegóły nagłówka IP.

Nagłówek IP oferuje 14 parametrów i z wykorzystanym polem Opcje ma długość 32 bajtów; w przeciwnym wypadku - 20 bajtów.

Adresy IP

Każdy host w sieci TCP/IP otrzymuje jednoznaczny, 32-bitowy adres, który składa się z dwóch zasadniczych części - adresu sieci i adresu komputera w ramach tej sieci. Jednak format obu części nie jest taki sam we wszystkich adresach IP. W celu łatwiejszej strukturyzacji podzielono całą przestrzeń adresową na wiele klas.

Liczba bitów, które identyfikują sieć, oraz liczba bitów, które identyfikują komputer, zmienia się wraz z klasą, do której należy adres. Ogólnie rzecz biorąc, adresy zapisuje się w postaci czterech liczb dziesiętnych rozdzielonych kropkami. Każda z tych 8-bitowych liczb zawiera się w przedziale od 0 do 255 - wartości, które można przedstawić za pomocą jednego bajta.

IP - klasy adresów i adresy specjalne

Trzy najważniejsze klasy adresów to A, B i C. Aby stwierdzić, do jakiej klasy należy dany adres, oprogramowanie IP odczytuje pierwsze bity adresu. Do określenia klasy, do której należy dany adres, stosuje się następujące reguły:

Jeżeli pierwszym bitem adresu jest 0, mamy do czynienia z adresem klasy A. W pierwszym bicie adresu zakodowana jest jego klasa, kolejne siedem identyfikuje sieć. Pozostałe 24 bity identyfikują komputer w sieci. Ogółem możliwych jest 127 sieci klasy A.

Jeżeli dwa pierwsze bity adresu IP to 10, mamy do czynienia z adresem w sieci klasy B. Dwa pierwsze bity określają klasę, następnych 14 identyfikuje sieć, zaś 16 ostatnich - komputer.

Jeżeli trzy pierwsze bity to 110, chodzi o sieć klasy C. Pierwsze trzy bity określają klasę, 21 kolejnych określa sieć. Osiem ostatnich bitów identyfikuje komputer.

Jeżeli pierwsze trzy bity adresu to 111, chodzi o adres specjalny, zarezerwowany, określany często mianem adresu klasy D. Są to tak zwane adresy grupowe. Można je nadawać grupom komputerów, które korzystają ze wspólnego protokołu.

We wszystkich klasach adresów są numery komputerów zarezerwowanych do specjalnych celów. Adres IP, w którym wszystkie bity identyfikujące komputer mają wartość 0, a więc adres z komputerem o numerze 0, identyfikuje samą sieć. Jeżeli wszystkie bity identyfikujące komputer mają wartość 1, a więc tworzą numer komputera 255, mamy do czynienia z tzw. adresem rozgłoszeniowym. Używa się go do jednoczesnego zaadresowania wszystkich komputerów w sieci.

Również w klasie A są dwa adresy, a mianowicie 0 oraz 127, zarezerwowane do celów specjalnych. Sieć 0 oznacza trasę domyślną (default route), standardową lub predefiniowaną, a sieć 127 to adres zwrotny (loopback address). Trasa domyślna służy do uproszczenia routingu, jaki musi wykonać IP. Adres zwrotny upraszcza aplikacje sieciowe w ten sposób, że komputer lokalny można zaadresować dokładnie tak, jak komputer.


Zobacz również