"Protokół TCP/IP"


  Internet jako międzynarodowa sieć komputerowa skupia w sobie wiele platform sprzętowych, jakie do tej pory zostały wynalezione przez człowieka. Jednak, aby była możliwa komunikacja pomiędzy poszczególnymi, często diametralnie różnymi platformami, opracowano specjalny protokół transmisji danych zwany TCP/IP (Transmission Control Protocol / Internet Protocol). Protokół ten ma już ponad 20 lat i od początku swojego istnienia przeszedł wiele znaczących zmian będących wynikiem pracy ARPA (Advanced Research Project Agency). TCP/IP nie jest jednym, lecz całym zestawem wielu współpracujących ze sobą protokołów, które poprzez wzajemną wymianę informacji tworzą bardzo wydajny język komunikacji.
  W żargonie komputerowym protokół (protocol) jest to po prostu zbiór konwencji określających sposób przesyłania danych między różnymi programami. Podstawowym zadaniem protokołu jest identyfikacja procesu, z którym chce się komunikować proces bazowy. Aby było to możliwe konieczne jest podanie sposobu określania właściwego adresata, sposobu rozpoczynania i kończenia transmisji, a także sposobu przesyłania danych.
  Przesyłana informacja może być porcjowana - protokół musi umieć odtworzyć informację w postaci pierwotnej. Ponadto informacja może z różnych powodów być przesłana niepoprawnie - protokół musi wykrywać i usuwać powstałe w ten sposób błędy, prosząc nadawcę o ponowną transmisję danej informacji. Internet używa protokołu o nazwie TCP/IP.

  Protokół TCP/IP powstał dla amerykańskiego ministerstwa obrony - Pentagonu. Zadanie postawione przed informatykami firmy Legende było proste i zarazem bardzo złożone. Wojsko potrzebowało sieci komputerowej zdolnej do przetrwania wojny atomowej, potrafiącej automatycznie rozpoznać uszkodzone łącza i wybrać zastępczą drogę dla przesyłanych danych. Zniszczenie pojedynczych węzłów sieci nie mogłyby doprowadzić do unieruchomienia całego systemu. W wyniku prac nad tym projektem powstała sieć ARPANET, którą można uznać za kamień węgielny późniejszego Internetu. Jej nazwa wywodzi się od nazwy Instytutu Rozwoju Zaawansowanych Technologii (Advanced Research Project Agency). Agencja ARPA uległa w 1971 roku przekształceniom organizacyjnym, w wyniku których jej nazwę zmieniono na DARPA. Sieć ARPANET pozostała pod kuratelą tej organizacji, która skupiła się na badaniach nad technologią komutacji pakietów i rozwojem mechanizmów transportowych wykorzystujących między innymi fale radiowe i satelity telekomunikacyjne. W roku 1975 kontrolę nad siecią ARPANET przejęła Agencja Komunikacyjna Departamentu Obrony USA. W tym czasie opracowano nowy, udoskonalony zestaw protokołów sieciowych. Zestaw ten stał się trzonem protokołu TCP/IP, który w 1978 roku był już na tyle kompletny, że mógł być zaprezentowany światu. Powstanie TCP/IP było przełomem umożliwiającym budowę dużej liczby nowych sieci połączonych z ARPANET-em. W roku 1982 Departament Obrony utworzył sieć DDN (Defense Data Network), zaprojektowaną jako coś w rodzaju obszaru centralnego dla rozproszonych sieci tworzących Internet. W rok później Departament Obrony wydał oświadczenie akceptujące TCP/IP w roli protokołu sieciowego, który ma być stosowany przez wszystkie węzły łączące się z Internetem. Było to początkiem lawinowego rozwoju sieci TCP/IP, ponieważ powstał standard pozwalający na komunikację pomiędzy maszynami różnych typów. TCP/IP rozwijał się i nadal się rozwija w ośrodkach naukowych, uczelniach, organizacjach rządowych oraz wielu innych miejscach, a zainteresowanie tym protokołem wciąż rośnie. Powstanie w latach osiemdziesiątych wielu tysięcy sieci lokalnych (LAN - Local Area Network) również przyczyniło się do wzrostu znaczenia TCP/IP. Sieć lokalną można bardzo łatwo zbudować, a w miarę rosnących wymagań dowolnie rozbudowywać. Wielkie znaczenie dla ekspansji TCP/IP miało masowe wprowadzenie technologii sieciowej w sektorze biznesu i finansów. TCP/IP wydaje się "naturalnym" środkiem umożliwiającym przekazywanie danych pomiędzy firmami używającymi różnorodnego sprzętu produkowanego przez setki lub tysiące różnych firm. Do końca lat osiemdziesiątych TCP/IP uzyskało status siły napędowej rozwoju sieci na całym świecie, wielkość sieci zwiększała się bardzo szybko, liczba węzłów po niecałych trzydziestu latach urosła z początkowych czterech do ponad trzydziestu milionów.
  Model protokołu TCP/IP - protokołu tworzącego Internet. Możemy opisać go za pomocą siedmio-warstwowego ISO/OSI. Lepiej jednak oddaje funkcje i właściwości protokołu TCP/IP uproszczony cztero-warstwowy. W modelu tym najważniejsze są warstwy sieciowa i transportowa, pozostałe są połączone i tworzą dwie warstwy zwane warstwą dostępu do sieci oraz warstwą aplikacji. Funkcje tych warstw pokrywają się z zadaniami odpowiadających im warstw w modelu ISO/OSI.
Rysunek 1 - porównanie modelu ISO/OSI i modelu TCP/IP   Podobnie jak w modelu OSI kolejne warstwy dołączają (bądź usuwają, w zależności, w którą stronę przesuwają się dane na stosie protokołów) własne nagłówki. Taki proces nazywa się enkapsulacją danych. Jednak model czterowarstwowy, poprzez zintegrowanie funkcjonalne niektórych warstw, o wiele lepiej obrazuje ten proces dla protokołu TCP/IP.
Rysunek 2 - proces enkapsulacji danych   Każda warstwa ma swoją terminologię określającą dane aktualnie przez nią obrabiane. Ponieważ protokół TCP/IP składa się z dwóch głównych protokołów warstwy transportowej TCP i UDP, więc również w nazewnictwie wprowadzony został podział.

nazwy jednostek danych dla kolejnych warstw modelu TCP/IP
WarstwaTCPUDP
AplikacjiStrumieńWiadomość
TransportowaSegmentPakiet
InternetuDatagram
Dostępu do sieciRamka

Protokół IP (Internet Protocol) - najważniejszą częścią warstwy Internetu jest protokół IP (Internet Protocol), jest to protokół transportowy sieci Internet.

  Protokół TCP (Transmission Control Protocol) - jest to protokół zorientowany połączeniowo, czyli umożliwia zestawienie połączenia, w którym efektywnie i niezawodnie przesyłane są dane. Połączenie to charakteryzuje się możliwością sterowania przepływem, potwierdzania odbioru, zachowania kolejności danych, kontroli błędów i przeprowadzania retransmisji. TCP organizuje również dwukierunkową współpracę między warstwą IP, a warstwami wyższymi, uwzględniając przy tym wszystkie aspekty priorytetów i bezpieczeństwa. Musi prawidłowo obsłużyć niespodziewane zakończenie aplikacji, do której właśnie wędruje datagram, musi również bezpiecznie izolować warstwy wyższe - w szczególności aplikacje użytkownika - od skutków awarii w warstwie protokołu IP. Scentralizowanie wszystkich tych aspektów w jednej warstwie umożliwia znaczną oszczędność nakładów na projektowanie oprogramowania. Pomimo związku z protokołem IP - TCP jest protokołem w pełni niezależnym i może zostać zaadaptowany do wykorzystania z innymi systemami dostarczania. Możliwe jest używanie go zarówno w pojedynczej sieci takiej jak Ethernet, jak i w skomplikowanej intersieci.
  Rozpatrując TCP z punktu widzenia funkcjonalności można potraktować jego pracę jako ustanowienie kanału wirtualnego realizującego komunikację między "końcówkami" - tak wygląda to z punktu widzenia aplikacji użytkownika. Rzeczywisty przepływ oczywiście odbywa się poprzez warstwę IP i warstwy niższe. Komunikację pomiędzy dwoma maszynami obrazuje poniższy rysunek. Rysunek 3 - przedstawienie komunikacji między warstwami

Do góry