Pierwsze próby stworzenia sieci komputerowej, zostały podjęte przez amerykańskie korporacje, dążące do ułatwienia wymiany danych pomiędzy swoimi pracownikami. Początkowo poszczególne firmy tworzyły swoje własne rozwiązanie techniczne, co uniemożliwiało tworzenie sieci rozległych wychodzących poza przestrzeń lokalną. Dlatego najważniejszym zadaniem stającym przed informatykami było ujednolicenie wykorzystywanych technologii, aby mogły ze sobą współpracować pomimo różnic w budowie fizycznej poszczególnych komponentów. Powstałe dzięki temu protokoły określały poszczególne etapy komunikacji pomiędzy dwiema stronami, w oderwaniu od warstwy fizycznej. A tym samym umożliwiały komunikacje komputerów, których karty sieciowe zostały stworzone przez konkurujących ze sobą producentów. Tworzeniem nowych protokołów np. w postaci dokumentów RFC(Request for Comments) opatrzonych unikalnym numerem, zajmuje się wiele organizacji pozarządowych takich jak IETF(Internet Engineering Task Force). Jest to organizacja zrzeszająca informatyków z całego świata, których wspólna praca napędza rozwój Internetu.
W latach siedemdziesiątych Agencja Zaawansowanych Projektów Badawczych Departamentu Obrony Stanów Zjednoczonych DARPA(Defense Advanced Research Projects Agency) stworzyła zestaw protokołów TCP/IP wprowadzający standaryzację, określającą szczegóły komunikacji między komputerami oraz sposoby nawiązywania łączności. Nowo powstały zestaw protokołów opierał się na zasadzie podziału struktury na współpracujące ze sobą warstw (Layers), dzięki czemu poszczególne protokoły mogły być tworzone przez inne niezależne grupy programistów, specjalizujących się w innych częściach sieci. Podstawowymi założeniami nowego standardu było uzyskanie następujących cech:
Dobrej odtwarzalność po awarii.
Możliwość dodawania nowych sieci bez przerywania pracy istniejących.
Wysokiego współczynnika korekcji błędów.
Niezależności od platformy.
Dużej wydajność.
Zasada „end-to-end argument” i „fate sharing”
Zasada „end-to-end argument” akcentuje
niemożliwość osiągnięcia poprawnej komunikacji w oderwaniu od użytkowników,
hostów będących dwoma głównymi punktami połączenia. Ponieważ niemożliwe jest
przewidzenie wszystkich wymagany w przyszłości funkcjonalności, to główne z nich
takie jak kontrola błędów, szyfrowanie lub potwierdzenie dostarczenia danych,
powinny być implementowane w wyższych warstwach modelu. Niższe natomiast
powinny dostarczać elementy wspomagające, ułatwiające implementacje powyższych
funkcji. Konstrukcja ta stworzona jest zgodnie z filozofią „głupiej sieci” w
której „inteligentne końcówki” prowadzą komunikację poprzez sieć o prymitywnej
funkcjonalności. Druga koncepcja „fate sharing”, stworzona w zgodzie z
postanowieniami pierwszej nakazuje, aby hosty posiadały wszystkie niezbędne do
utrzymania komunikacji funkcje, dzięki czemu uszkodzenie sieci nie musi
oznaczać zerwania transmisji pomiędzy urządzeniami, a jedynie zmianę ścieżki je
łączącej.
Architektura warstwowa
Architektura warstwowa dzieli protokoły na
grupy należące do różnych warstw, z których każda kontroluje inny aspekt
komunikacji. Ułatwia to opracowywanie nowych składników zestawu w sposób
niezależny od siebie. Dzięki czemu specjaliści z różnych dziedzin mogą pracować
nad zagadnieniami typowymi dla swoich specjalizacji.
Porównanie modelu TCP/IP z modelem OSI/ISO
Pozostałe tematy związane z modelem OSI/ISO, TCP/IP
Dodaj komentarz