Jak 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. Również SuSE Linux Office Server wykorzystuje ją do komunikacji z dołączonymi klientami i do wymiany danych ze światowym Internetem.

Podstawą Internetu jest rodzina protokołów TCP/IP, która zapewnia globalną komunikację między najróżnorodniejszymi komputerami i urządzeniami. Również SuSE Linux Office Server wykorzystuje ją do komunikacji z dołączonymi klientami i do wymiany danych ze światowym Internetem.

Dla lepszego wyjaśnienia sposobu pracy w tym rozdziale szczegółowo opowiemy, jak jest zbudowana i jak działa rodzina protokołów TCP/IP. Oprócz tego zajmiemy się protokołem IPv6, który w przyszłości zastąpi obecny protokół IPv4.

Rodzinę protokołów TCP/IP opracowano w połowie lat siedemdziesiątych, kiedy to w amerykańskiej Defense Advanced Research Projects 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, niezależnych od systemów operacyjnych i architektury sprzętowej. Za pomocą protokołów internetowych mogą komunikować się dowolne systemy - domowe, firmowe 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, tzw. Internet Protocol Suite. Dwa najważniejsze typy, TCP oraz IP, stały się synonimem nazwy całej rodziny.

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 stawiają do dyspozycji użytkownika usługi dostępne w ujednolicony sposób. Gdy pod koniec lat siedemdziesiątych dodano protokoły TCP/IP do systemu BSD-Unix, stało się to podstawą rozwoju Internetu.

Architektura protokołu

Alternatywa modelu OSI. Czterowarstwowy model sieciamerykańskiego ministerstwa obrony.

Alternatywa modelu OSI. Czterowarstwowy model sieciamerykańskiego ministerstwa obrony.

Nie ma powszechnej zgody na temat sposobu opisu TCP/IP w modelu warstw sieci. Model OSI jest wprawdzie całkiem użyteczny, ale w dużej części bardzo akademicki. Aby zrozumieć budowę 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, wysyłane dane przechodzą z góry stosu w dół; w trakcie ich odbioru 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 (header), bo poprzedzają właściwe dane.

Kapsułkowanie danych

Kapsułkowanie. Zwielokrotnienie nagłówków zwiększa ilość danych protokołu TCP/IP.

Kapsułkowanie. Zwielokrotnienie nagłówków zwiększa ilość danych protokołu TCP/IP.

Dodawanie informacji kontrolnych w postaci nagłówków 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 w celu dalszego przetwarzania.

Gdy przesyłana jest niewielka ilość danych, w wyniku kapsułkowania może powstać więcej danych protokołu niż użytecznych. Celowe jest wówczas użycie innego protokołu, np. UDP (User Datagram Protocol), który używa minimalnych mechanizmów protokołu. Niestety, nie ma nic za darmo - wadą UDP jest to, że nie gwarantuje dostarczenia pakietu do odbiorcy.

IP - Internet Protocol

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

  • pakietowanie danych

  • fragmentowanie pakietów danych

  • wybór parametrów transmisji

  • adresowani

  • 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 (datagram). Dla różnych typów sieci określona jest różna wielkość pakietów danych, zależna od wielu czynników, w tym od ograniczeń sprzętowych i programowych.

Jeżeli pakiet danych ze względu na swoje rozmiary 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ące zrekonstruowanie pierwotnego stanu pakietu. W trakcie transmisji każdy pakiet otrzymuje na początku nagłówek.

Nagłówek IP - szczegóły

Nagłówek IP oferuje 14 parametrów i po wykorzystaniu pola Opcje ma długość 32 bajtów; bez wykorzystania tego pola - 20 bajtów. Zawartość i znaczenie poszczególnych pól nagłówka wyjaśnia powyższy rysunek.

Adresy IP

Struktura nagłówka IP

Struktura nagłówka 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 tej sieci. Jednak format obu tych 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 oraz C. Aby stwierdzić, do której klasy należy dany adres, oprogramowanie IP odczytuje jego pierwsze bity. 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ć, a 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 tzw. 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 zarezerwowane do celów specjalnych. 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, 0 i 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, bo komputer lokalny można zaadresować dokładnie tak, jak komputer obcy.


Zobacz również