Technologie sieciowe, takie jak Ethernet, Token Ring i FDDI spełniają funkcje warstwy łącza danych, co oznacza, że umożliwiają niezawodne połączenie pomiędzy dwoma komputerami w tej samej sieci. Nie dają możliwości połączeń międzysieciowych, w których dane są transferowane z jednej sieci do drugiej lub jednego do drugiego segmentu. Do transmisji danych przez sieć wymagane jest odpowiednie ich adresowanie, które jest odczytywane przez śluzy i bramki do kierowania strumieniami danych wzdłuż drogi połączenia. Połączenia wielu sieci zostały nazwane w skrócie Internetem, a poszczególne sieci nazwano podsieciami.
TCP/IP stanowi parę protokołów, które pozwalają na komunikowanie się podsieciom. Protokół jest zdefiniowany jako zbiór prawideł, umożliwiających zorganizowaną wymianę informacji. Protokół IP odpowiada warstwie sieciowej modelu OSI, a protokół TCP – warstwie transportowej. Ich działanie jest przeźroczyste dla warstw fizycznej oraz łącza danych i dlatego mogą być stosowane w sieciach Ethernet, FDDI i Token Ring. Adres warstwy łącza danych odpowiada adresowi sprzętowemu terminala, takiemu jak adres MAC (dla Ethernetu lub Token Ring) lub numer telefoniczny (dla połączenia modemowego), a adres IP jest przypisany każdemu terminalowi w Internecie. Jest on używany do identyfikacji (lokalizacji) położenia sieci i dowolnej podsieci.
Protokół TCP/IP został opracowany przez Agencję… Zaawansowanych Projektów Badawczych Ministerstwa Obrony Stanów Zjednoczonych – DARPA (US Defence Advanced Research Projects Agency), a jego celem było połączenie uniwersytetów i instytutów badawczych z Agencją. Powstała sieć jest obecnie znana jako Internet, a od tamtych czasów przerosła pierwotne przeznaczenie, dzięki przyłączeniu wielu komercyjnych organizacji. Internet do przesyłania danych używa protokołu TCP/IP, a każdy terminal jest oznaczony jednoznacznym adresem, zwanym adresem IP.
ISO zaadaptowała protokół TCP/IP jako bazę dla standardów związanych z sieciami i warstwami transportowymi modelu OSI. Standard ten jest znany jako ISO-IP i jak większość obecnie stosowanych systemów jest zgodny ze standardem adresowania IP.
Powszechnymi czynnościami wykonywanymi w komunikacji TCP/IP jest zdalne logowanie i transfer plików. Typowymi programami używanymi do transferu plików i logowania za pomocą TCP jest program ftp dal transferu plików i telnet, który określa czy terminal odpowiada komunikacji zgodnej z protokołem TCP/IP.
Śluzy i węzły TCP/IP
Węzły TCP/IP są terminalami, które komunikują się poprzez połączone sieci używając komunikacji TCP/IP. Śluzy TCP/IP łączą różne typy sieci. Zawierają więc wymagany sprzęt do fizycznego połączenia między różnymi sieciami, a także układy i oprogramowanie do konwersji ramek z jednej sieci do drugiej. Zwykle konwertują one warstwę MAC sieci Token Ring do równoważnej warstwy MAC sieci Ethernet i vicewersa.
Bramka łączy natomiast sieci podobnych typów poprzez łącze punkt-punkt. Główną różnicą w działaniu pomiędzy śluzą, bramką a mostkiem w sieciach Token Ring i Ethernet, jest stosowanie przez mostek 48-bitowego adresu MAC dla kierowania trasą przesyłania ramki, podczas gdy śluzy i bramki używają sieciowego adresu IP. W analogii do systemu telefonii publicznej, adres MAC odpowiadałby losowo rozłożonym numerom telefonicznym, podczas gdy adres IP zawierałby informację logiczną o położeniu numeru, taką jak: kraj, kod obszaru i tak dalej.
Funkcje protokołu IP
Głównymi zadaniami protokołu IP są:
v Wyznaczenie drogi przez sieć dla ramek danych IP, które dalej są zwane datagramami międzysieciowymi. Działający program protokołu IP w każdym terminalu zna położenie śluzy w sieci. Śluza musi być zdolna do lokalizacji łączonych sieci. Jeżeli sytuacja taka ma miejsce, to wówczas dane przechodzą przez sieć od terminala do śluzy.
v Wykonanie podziału (fragmentację) danych na mniejsze porcje, jeżeli ich objętość jest większa od określonej wartości (64 kB).
v Wykonanie raportu błędów. Błędy mogą się pojawić podczas transmisji datagramu lub podczas scalania po fragmentacji. Jeżeli taka sytuacja ma miejsce, to wówczas terminal, który wykrył błąd wysyła raport o błędach skierowany do terminala źródłowego. Datagramy są kasowane w sieci, jeżeli czas ich przechodzenia przez sieć jest dłuższy od ustalonego. Wiadomość o błędzie jest przesyłana do terminala nadającego, jeżeli nie można znaleźć dla datagramów drogi do odbiorcy lub nie istnieje sieć, ewentualnie terminal adresata.
Datagramy Internetu
Protokół IP jest implementacją warstwy sieciowej modelu OSI. Dodaje nagłówek do informacji przychodzących z warstwy transportowej i w rezultacie powstaje pakiet danych nazywanych datagramem Internetu. Nagłówek zawiera takie informacje, jak: adresy IP przeznaczenia i źródła informacji, numer wersji protokołu IP i tak dalej.
Datagram może zawierać do 65536 bitów (64 kB) danych. Jeżeli objętość danych, które mają być przesłane jest mniejsza lub równa 64 kB, wtedy są wysyłane jako jeden datagram. Jeżeli natomiast jest większa, to wówczas urządzenie wysyłające dzieli dane na części i wysyła je jako kilka datagramów. Wszystkie wysłane datagramy mają oddzielnie wyznaczoną trasę poprzez sieć Internetu, a dopiero po ich odebraniu są ponownie scalane w miejscu przeznaczenia.
Datagram IP zawiera następujące pola:
¨ Numer wersji. Numer wersji protokołu, version number, umożliwia śluzom i węzłom prawidłową interpretację danych. Różne wersje mogą mieć inne formaty lub protokół IP może różnie interpretować nagłówek.
¨ Typ usługi. Typ usługi, type of service, jest 8-mio bitowym polem o postaci PPPDTRXX, gdzie PPP określa priorytet datagramu (od 0 do 7), D oznacza usługę o małym opóźnieniu, T wskazuje wysoką przepustowość, R wskazuje dużą niezawodność, a pozostałe XX nie są obecnie używane.
¨ Długość nagłówka. Długość nagłówka, header lenght, definiuje rozmiar jednostki danych w krotnościach 4 bajtów (32 bity). Minimalna długość wynosi 5, a maksymalna 65536 bajtów. Pozostałe puste miejsca są uzupełniane bitami wypełniającymi.
¨ Bity D i M. Śluza wyznacza drogę datagramu i dzieli przekaz na mniejsze porcje. Bit D informuje śluzę, że nie powinna dzielić danych i wskazuje odbierającemu terminalowi, że powinien odebrać dane jako całość albo je odrzucić. Bit M. jest bitem wskazującym fragmentację i jest używany, gdy dane są dzielone na części. Przesunięcie (fragment offset) zawiera numer porcji.
¨ Czas życia. Datagram mógłby podróżować poprzez sieć Internetu w nieskończoność. Aby temu zapobiec, w 8-bitowym polu, time-yo-live, wskazany jest ustalony przez źródło IP maksymalny odcinek podróży określony w sekundach. Każda śluza zmniejsza go o określoną wartość. Kiedy wartość w tym polu osiągnie zero, datagram jest kasowany. Czas życia określa również czas, przed który terminal odbierający powinien oczekiwać na następną część datagramu.
¨ Protokół. Mogą być używane również protokoły IP. 8-biotowe pole protocol, określa użyty rodzaj protokołu.
¨ Suma kontrolna nagłówka. To pole, header checksum, zawiera 16-bitowy wzór do detekcji błędu.
¨ Adresy IP nadawcy i przeznaczenia. Adresy nadawcy, source, i przeznaczenia, destination, są umieszczane w 32-bitowym polu adresowym.
¨ Opcje. Pole opcji, options, zawiera informacje tekstowe (debugging), kontrolę błędu i informacje o wytyczeniu trasy przekazu.
Międzysieciowy protokół komunikatów ICMP
Komunikaty takie, jak: dane kontrolne, właściwe dane przekazywanej informacji i dane do poprawiania błędów, są przemieszczane pomiędzy węzłami sieci dzięki zastosowaniu międzysieciowego protokołu sterowania i przekazywania komunikatów o błędach ICMP (Internet Control Message Protocol). Komunikaty te są przesyłane ze standardowym nagłówkiem protokołu IP. Typowymi przesyłanymi informacjami są:
- Cel nieosiągalny (komunikat 3) – komunikat jest wysyłany przez węzeł do sieci, informując, że węzeł docelowy jest nieosiągalny. Komunikat ten zawiera również powód, dla którego węzeł nie jest osiągalny.
- Komunikat: żądanie echa/odpowiedź echa (komunikat 0 lub 8) – jest używany w celu sprawdzenia połączenia między dwoma węzłami. Polecenie ping używa tego komunikatu, kiedy wysyła komunikat ICMP „żądanie echa” do węzła adresata i czeka aż otrzyma odpowiedź z komunikatem „odpowiedź echa”.
- Konieczna zmiana marszruty (komunikat 5) – jest wysyłany mostek do węzła z informacją, że wymagana jest zmiana usługi trasowania. Pomaga to znaleźć odbiorcy najkrótszą drogę do węzła.
Wybór adresów internetowych
Każdy węzeł komunikujący się za pomocą protokołu TCP/IP musi posiadać adres IP, który w sieci Token Ring lub Ethernet jest dopasowany do jego adresu MAC. Adres MAC pozwala węzłom na komunikowanie się między sobą w tym samym segmencie. Aby węzły z różnych sieci mogły komunikować się między sobą, muszą być skonfigurowane z adresami IP.
Węzłami w sieci TCP/IP są terminale (komputery) albo śluzy. Każdy węzeł, w którym są uruchamiane programy użytkowe (aplikacje) jest terminalem lub stacją roboczą. Węzły, które wyznaczają drogę pakietów TCP/IP między sieciami nazywano śluzami TCP/IP. Węzły te muszą być wyposażone w karty sieciowe niezbędne do fizycznego łączenia danej sieci z innymi.