Historia i przegląd możliwości TCP/IP
TCP/IP jest zestawem protokołów sieciowych funkcjonujących w górnych warstwach sieci. To, co obecnie można nazwać
standardem TCP/IP, rozwijano i udoskonalano przez ponad 20 lat. Dziś TCP/IP nie jest własnością żadnej firmy software'owej ani
instytucji normalizacyjnej. Departament Obrony USA sprawuje coś w rodzaju patronatu nad TCP/IP, starając się o zachowanie
pewnego minimum porządku i spójności standardu.
Historia TCP/IP
Wszystko zaczęło się od projektu 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 nazywana w skrócie
DCA. 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, 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) 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.
Tak komunikują się komputery
Aby zrozumieć, w jaki sposób przesyłane są dane np. Z serwera WWW do przeglądarki, konieczne jest przyswojenie odrobiny
teorii. W tym przypadku informacje dostarczone są z serwera WWW do komputera użytkownika za pośrednictwem karty
sieciowej lub modemu. Potrzebny jest też odpowiedni kanał komunikacyjny, którym dane transmitowane są pomiędzy obiema
maszynami. Strukturę transportu danych opisuje warstwowy model OSI. Chodzi tu o teoretyczny model, za pomocą którego
możliwe jest opisanie komunikacji sieciowej w sposób niezależny od stosowanego sprzętu i oprogramowania. "Podręcznikowa
sieć" złożona jest z siedmiu tzw. warstw. Poszczególnym warstwom odpowiadają określone elementy sprzętowe i programowe
biorące udział w procesie wymiany informacji.
Najniższa warstwa , nazwana fizyczną odpowiedzialna jest za przesyłanie bitów. Odpowiada jej karta sieciowa lub
modem. Na tym poziomie realizowana jest fizyczna transmisja danych bez "kontroli ruchu" i bez uwzględnienia rodzaju
informacji. Ciągłość transmisji nie jest zabezpieczona - jeśli medium zostanie zablokowane lub uszkodzone, komunikacja
zostanie przerwana.
Warstwa fizyczna porozumiewa się z warstwą łącza. Ta warstwa steruje fizyczną wymianą bitów. W większości
przypadków obie warstwy połączone są w jedną całość tworząc w ten sposób kartę sieciową.
Następna z kolei warstwa sieciowa (network layer) zamienia ciąg bitów w kanał komunikacyjny. Warstwa sieciowa dba o to,
aby informacje przepływały między odpowiednimi komputerami. Dane wymieniane są w postaci pakietów wysyłanych od
nadawcy do odbiorcy, nie jest jednak sprawdzana ich zawartość.
Kolejna warstwa transportowa (transport layer) przesyła wiadomości kanałem stworzonym przez warstwę sieciową. Dopiero ta
warstwa troszczy się o bezpieczeństwo i pewność wymiany danych. Wszystkie warstwy leżące poniżej nie przykładają żadnej
wagi do bezpieczeństwa skupiając się na zapewnieniu maksymalnej szybkości.
Na warstwie transportowej bazuje warstwa sesji (session layer). W tym momencie kończy się czysta wymiana bajtów, a
znaczenia nabiera rodzaj informacji. Dopiero ta warstwa pozwala realizować usługi takie, jak na przykład pobieranie z serwera.
Przedostatnia warstwa nosi nazwę warstwy prezentacji (presentation layer). Na tym poziomie dane dostarczane z niższych
warstw przetwarzane są w taki sposób, aby mogły być odebrane przez aplikację użytkownika. Tutaj dokonywana jest na przykład
konwersja jeśli komputer-klient używa innego formatu liczb niż komputer serwer.
Ostatnia warstwa aplikacji (application layer) jest po prostu programem komunikacyjnym, a więc np. przeglądarką WWW.
W większości przypadków również warstwy prezentacji i sesji łączone są w jedną całość. Model OSI nie jest stricte projektowym
zaleceniem precyzyjnie określającym sposób realizacji połączenia sieciowego.
Elementy TCP/IP
ELEMENTY WARSTWY APLIKACYJNEJ
Architektura TCP/IP w warstwie aplikacyjnej jest niezależna od platformy sprzętowej i wykorzystuje technologię klient/serwer.
Klient inicjuje (wywołuje) aplikacje, a serwer odpowiada na żądanie klientów. Realizacją tej koncepcji są podstawowe aplikacje
TCP/IP : TELNET (aplikacja umożliwiająca pracę zdalną), FTP (aplikacja umożliwiająca transfer plików) oraz SMTP
(aplikacja obsługująca pocztę elektroniczną). Na poniższym rysunku można zobaczyć TELNET, FTP, SMTP oraz inne usługi
dostępne w warstwie aplikacyjnej sieci.
Innym ważnym elementem warstwy aplikacyjnej jest protokół X udostępniający rozproszone środowisko okienkowe. Praca w
rozproszonym środowisku graficznym jest możliwa dzięki zastosowaniu technologii klient/serwer. W skład protokołu X wchodzą
między innymi:
.Serwer X ( X Server) - Program udostępniający usługi w środowisku graficznym na żądanie aplikacji typu klient X.
.Klient X (X Client) - Program korzystający z usług udostępnianych przez program typu serwer X (np. emulacja terminala
graficznego).
.Menedżer okien X (X Window Manager) - Program umożliwiający zmianę rozmiaru, przesuwanie i modyfikacje okien
wyświetlanych na ekranie.
.Biblioteka X (X Library) - Jest to biblioteka procedur w języku C i ułatwiających tworzenie aplikacji X Window. Jedną z funkcji
XLIB jest przetwarzanie żądań klienta X na żądania protokołu X.
.Narzędzia X (X Toolkits) - Jest to biblioteka programów ułatwiająca tworzenie elementów interfejsu użytkownika (przyciski,
paski menu, itp.).
.Widget - Jest to okno X, powiązane z nim dane oraz procedury służące do wykonywania operacji na tych danych.
TCP/IP zawiera protokół zabezpieczający nazwany Kerberos. Działanie tego protokołu opiera się na współpracy serwera
kontrolującego z serwerem wydającym "bilety dostępu". Przykładowo po wysłaniu przez klienta żądania wydania biletu, specjalny
serwer sprawdza "tożsamość" klienta i po pozytywnym przejściu weryfikacji wydaje "bilet", który może być przedstawiony
serwerowi kontrolującemu, który udostępnia określone usługi sieciowe.
Kolejną usługą jest CMIS (Common Managment Information Service). Jest to usługa udostępniana przez protokół zarządzania
informacjami CMIP. CMIP jest faktycznie metodą zarządzania siecią modelu OSI. Funkcje protokołu CMIP zaimplementowane w
TCP/IP określa się jeszcze innym skrótem - CMOT. Przy tej implementacji jako mechanizm transportowy używany jest protokół
TCP. Definicja CMIP jest napisana w języku ASN.1 (notacja składni abstrakcyjnej) używanym do ścisłego i jednoznacznego
definiowania typów danych.
W skład TCP/IP wchodzi także protokół zarządzania siecią SNMP, który wykorzystuje protokół UDP jako mechanizm
transportowy. SNMP ma własną terminologię, w której zamiast pojęć "klient" i "serwer" używa się terminów: "agent" i
"menedżer". Agentem nazywa się program określający status węzła sieci. Aplikacja (menedżer) komunikuje się z agentami za
pomocą komunikatów przesyłanych w sieci. Całość informacji o węźle jest przechowywana w bazie danych MIB.
Specjalne programy pozwalające aplikacjom wywoływać procedurę uruchamiającą serwer nazywają się RPC. Serwer zwraca
wówczas odpowiednie zmienne i kody do adresata. W skrócie można powiedzieć, że RPC jest po prostu mechanizmem
umożliwiającym działanie sieci w modelu klient/serwer.
NFS jest to zestaw protokołów opracowanych przez firmę SUN MicroSystems. Faktycznie jest to rozproszony system zarządzania
plikami, w którym każdy komputer korzystający z NFS ma nieograniczony dostęp do katalogów wszystkich innych maszyn w
systemie NFS.
TFTP jest bardzo prostym protokołem przesyłania plików wykorzystującym UDP jako mechanizm transportowy. Z tego względu
TFTP nie gwarantuje takiego stopnia bezpieczeństwa i odporności na zakłócenia, jak FTP.
Ostatnim, choć bardzo ważnym elementem TCP/IP jest system adresowania DNS (Domain Name Service). Jest to rozproszona
baza danych zawierająca adresy IP i ich aliasy (czyli przypisane im nazwy). DNS stworzono po to, aby rozwiązać problem
zarządzania plikami identyfikacyjnymi (host files) na każdym z komputerów w sieci TCP/IP. Plik identyfikacyjny zawiera adresy
IP oraz aliasy i musi być aktualizowany za każdym razem, gdy dodaje się nowy podsystem lub węzeł sieci. DNS eliminuje potrzebę
nieustannego uaktualniania plików identyfikacyjnych na każdym z komputerów w sieci.
ELEMENTY WARSTWY TRANSPORTOWEJ
TCP/IP zawiera dwa mechanizmy transportowe. Są to nimi protokoły TCP oraz UDP. TCP jest zorientowanym połączeniowo
bezpiecznym protokołem, przeprowadzającym automatyczne retransmisje w przypadku wykrycia błędów. Steruje on danymi
otrzymanymi z góry, z warstwy aplikacyjnej.
UDP jest protokołem typu bezpołączeniowego, to znaczy nie sprawdzającym poprawności danych i nie przeprowadzającym
retransmisji. UDP jest używany w specyficznych warunkach przez niektóre aplikacje sieciowe. Aplikacje korzystające z UDP
muszą mieć własne mechanizmy weryfikacji i retransmisji danych.
PROTOKOŁY WARSTWY SIECIOWEJ
W warstwie sieciowej funkcjonuje protokół IP transportujący DATAGRAMY w sieci. Datagram składa się z danych
przekazywanych przez warstwę aplikacyjną oraz nagłówka i bloku końcowego dodanego w warstwie transportowej. Protokół IP
korzysta z 32-bitowych adresów identyfikujących sieci i węzły. IP opracowano w tym celu, aby umożliwić sterowanie
ROUTERAMI (urządzeniami wyznaczającymi trasę danych w sieci) i innymi urządzeniami sieciowymi produkowanymi przez
różnych producentów.
Protokół ICMP służy do wysyłania komunikatów określających status węzłów sieci. Komunikat taki może być powiadomieniem o
błędzie lub po prostu zawierać informacje o bieżącym stanie węzła. ICMP umożliwia wydawanie poleceń dla urządzeń sieciowych,
które "odpowiadają" zwracając informacje o swoim stanie. W tym celu wykorzystywany jest specjalny program PING. Protokoły
ICMP i IP są implementowane razem, ponieważ muszą ściśle współdziałać udostępniając mechanizmy wyznaczania trasy i
uzyskiwania informacji.
Protokół ARP zwraca adres fizyczny (zwany też adresem twardym) dowolnego węzła o znanym adresie IP. ARP kojarzy adres
IP z odpowiadającym mu adresem fizycznym, np. adresem Ethernetu. Logiczne połączenie pomiędzy tymi dwoma adresami
określa się skrótem BIND.
W sieciach zgodnych protokołowo z TCP/IP zawirający węzły Ethernet, wyróżnia się fizyczny adres sieciowy i generowany
programowo adres protokołu IP. Fizyczny adres Ethernet składa się z kodu zapisanego na karcie sieciowej. Zadaniem ARP jest
ustalenie, który fizyczny adres sieciowy odpowiada adresowi IP w pakiecie. Gdy węzeł wysyła pakiet IP, konieczne jest ustalenie
fizycznego adresu sieciowego równoważnego zapisanemu w pakiecie adresowi IP. Węzeł rozsyła pakiet ARP, zawierający adres
IP węzła docelowego, a węzeł docelowy w odpowiedzi zwraca swój adres fizyczny.
Uzyskana informacja przechowywana jest w podręcznym buforze. Gdy węzeł ponownie będzie chciał wysłać pakiet IP, sprawdzi
najpierw, czy w buforze nie ma już odpowiedniego adresu fizycznego stacji docelowej. Jeśli jest, to skorzysta z niego, a procedura
z rozsyłaniem pakietu ARP nie będzie (niepotrzebnie) powtarzana. Pozwala to na zmniejszenie ruch w sieci.
Niejako odwrotne zadanie wykonuje protokół RARP wyznaczający adresy IP na podstawie adresu fizycznego. W tym celu RARP
"zmusza" węzeł do rozesłania swojego adresu fizycznego - wówczas inny węzeł sieci LAN odpowiada na przekaz zwracając
adres IP węzła źródłowego.
Protokoły bramkowe umożliwiają wzajemne komunikowanie się urządzeń trasujących (routerów). Istnieje wiele protokołó
bramkowych. Przykładem może być protokół wymiany informacji między routerami nazywany RIP (Routing Information
Protocol). Innym protokołem bramkowym jest OSPF (Open Shortest Path First). Obecnie nazwa "protokoły bramkowe" jest
nieco myląca, ponieważ bramki są urządzeniami sieciowymi pełniącymi specyficzne funkcje, najczęściej inne niż wyznaczanie
trasy.
PROTOKOŁY WARSTWY ŁĄCZA DANYCH
W TCP/IP nie ma określonych standardowych protokołów na poziomie warstwy łącza. Wybór zależy od przeznaczenia i
wymagań stawianych sieci. W sieci TCP/IP mogą być wykorzystywane różne protokoły łącza, np.:
.Ethernet
.Token Ring
.FDDI (Fiber Distributed Data Interface)
.X.25.
STOSOWANY NOŚNIK
Sieć TCP/IP można zaimplementować z wykorzystaniem różnych nośników. Przykładowo dla sieci TCP/IP o architekturze
Ethernet nośnikiem jest skrętka dwużyłowa lub kabel koncentryczny. W nowoczesnej sieci TCP/IP nośnikiem mogą być
światłowody. W rozległej sieci TCP/IP typu X.25 nośnikiem są najczęściej linie satelitarne, mikrofale lub szeregowe linie
telefoniczne.
Różne rodzaje komunikacji
W zasadzie wszystkie rodzaje transmisji danych można podzielić na dwa kategorie: połączeniowe i bezpołączeniowe.
Aby wyjaśnić ideę tych rozwiązań, posłużymy się prostymi analogiami. Przykładem usługi połączeniowej jest telefon. Kiedy
chcemy z kimś porozmawiać wybieramy jego numer zestawiając w ten sposób kanał komunikacyjny. Dopiero wtedy, kiedy
połączenie jest zrealizowane można rozpocząć rozmowę.
Analogią do komunikacji bezpołączeniowej jest wysyłanie paczki pocztą. Początkiem drogi paczki jest poczta. Nie ma jednak
gotowego środka pozwalającego natychmiast przetransportować przesyłkę z poczty do odbiorcy. Zamiast tego paczki są
grupowane i przesyłane razem najbardziej dogodną trasą. Zarówno nadawcy, jak i odbiorcy jest zupełnie obojętne jaką drogą
paczka zostanie dostarczona, ważne jest tylko to, aby transport był bezpieczny i szybki.
W przypadku wymiany danych podział pomiędzy tymi dwoma rodzajami komunikacji nie jest tak wyraźny. Komunikacja
połączeniowa może być symulowana w kanale bezpołączeniowym poprzez wymianę pakietów danych i potwierdzeń ich odbioru.
Możliwa jest też sytuacja odwrotna.
Bardzo istotnym problemem jest zapewnienie bezpieczeństwa komunikacji. W tym przypadku zagadnienie bezpieczeństwa dotyczy
nie tyle zabezpieczenia naszych danych przed "podsłuchaniem", co raczej utrzymania ciągłości połączenia w ogóle. Najniższe
warstwy modelu OSI nie realizuje żadnych funkcji związanych z bezpieczeństwem. Dopiero na wyższych poziomach istnieją
mechanizmy, i to bardzo skuteczne, które dbają o pewność połączenia.
Zależnie od tego w jaki sposób realizowana jest polityka bezpieczeństwa, rozróżniamy dwa rodzaje komunikacji, którym
odpowiadają podstawowe usługi komunikacyjne: TCP (Transport Core Protocol) i UDP (User Datagram Prorotocol).
Najpopularniejszym protokołem transmisji danych jest TCP. Bazuje on na "niższych" poziomach modelu OSI i zapewnia
"wyższym" warstwom kanał komunikacyjny zorientowany połączeniowo. TCP gwarantuje poprawność transmisji danych
pomiędzy punktami A i B, a w przypadku wystąpienia błędu wysyła do wyższych warstw odpowiedni komunikat.
Zagwarantowanie bezpieczeństwa nie jest jednak łatwym zadaniem dla protokołu transmisyjnego: TCP musi sprawdzać czy
wszystkie wysłane pakiety dotarły do adresata, a po odebraniu porcji informacji wysyła potwierdzenie do nadawcy. W przypadku
braku potwierdzenia odbioru protokół żąda ponownego wysłania aż do chwili nadejścia potwierdzenia.
Dla wyższych warstw sytuacja taka jest bardzo korzystna. Operują one na kanale transmisyjnym, nad którego bezpieczeństwem
czuwa TCP. Rozwiązanie to ma jednak pewną wadę: mechanizmy kontrolujące przepływ danych znacznie obniżają wydajność
całego systemu.
User Datagram Protocol - alternatywa dla TCP/IP
Alternatywą dla TCP jest UDP. Usługa ta bardzo przypomina pocztę pneumatyczną. Wrzucamy coś do sieci, a UDP transportuje
to z punktu A do B. Takie rozwiązanie dopuszczalne jest tylko wtedy, kiedy przesyłane dane nie są szczególnie ważne lub kiedy
aplikacja użytkowa sama sprawdza poprawność transmisji - w tym przypadku zastosowanie TCP oznaczałoby dublowanie funkcji
kontrolnych. UDP jako usługa bezpołączeniowa, nie realizująca kontroli przepływu, jest nieskomplikowana i dzięki temu szybka.
Znaczenie Ethernetu dla TCP/IP
Terminem często pojawiającym się obok TCP/IP jest Ethernet. Jest to protokół warstwy łącza danych i technologia rozsyłania
informacji w sieci. Specyfikacja Ethernetu określa wymagania dotyczące okablowania i innych parametrów technicznych.
Ethernet jest implementowany w systemach komputerowych jako oprogramowanie układowe (firmware) instalowane na kartach
interfejsu sieci. Nazwa Ethernet pochodzi od koncepcji eteru, czyli uniwersalnego nośnika fal, zarzuconej dziś, teorii fizycznej "
ETHER-net" miał być uniwersalnym nośnikiem informacji przesyłanych pomiędzy wszystkimi elementami sieci komputerowej.
Pierwsze prace nad przyszłym standardem rozpoczęła firma Xerox w ośrodku badawczym w Palo Alto (PARC) w Kalifornii. Był
to rok 1970. Zespół naukowców z Palo Alto rozpoczął prace nad realizacją wizji elektronicznego biura, która miała się ziścić w
latach dziewięćdziesiątych. Prace te były elementem koncepcji rozwoju rynkowego firmy Xerox, do tej pory znanej głównie z
produkcji maszyn kopiujących (które zresztą właśnie od nazwy tej firmy są nazywane kserokopiarkami).
W 1973 zespół z PARC był już daleko zaawansowany w badaniach nad komputerami, drukarkami i innymi urządzeniami
sieciowymi. Grupa pod kierownictwem Roberta Metcalfe'a pracowała nad znalezieniem metod przyspieszenia transmisji danych w
sieci. Prace te zostały uwieńczone sukcesem polegającym na stworzeniu technologii umożliwiającej przesyłanie danych ze
znacznie większą szybkością. Technologię tę nazwano Ethernetem. Przed powstaniem Ethernetu istniejące metody transmisji
danych zapewniały przesłanie jednej strony w rozdzielczości 600 dpi (punktów na cal) w czasie około 15 minut. Ethernet pozwolił
na skrócenie tego czasu do kilkunastu sekund. Było to naprawdę duże osiągnięcie i zapewniło nowej technologii najwyższe
uznanie. Pierwsza wersja Ethernetu, zwana dziś eksperymentalną, umożliwiała transmisję danych z szybkością około 2,6 Mbit/s.
Kolejny ważny krok stanowiło wprowadzenie w 1982 roku standardu Ethernet 2.0 przez firmy: DEC, Intel i Xerox. W tej wersji
specyfikacja określała szybkość transmisji na 10 Mbit/s, czyli prawie czterokrotnie szybciej niż w wersji eksperymentalnej.
Ethernet i TCP/IP to dwie zupełnie różne technologie, jednak gdy działają razem, pozwalają na stworzenie wydajnej sieci lokalnej.
Ethernet jest protokołem funkcjonującym w pierwszej i drugiej warstwie sieci. TCP/IP jest zestawem wielu protokołów
funkcjonującym w warstwie trzeciej i powyżej. Ethernet korzysta z 48-bitowego schematu adresowania stosowanego do
komunikacji pomiędzy kartami interfejsu sieci. W TCP/IP stosowane są 32-bitowe adresy IP identyfikujące sieci i pojedyncze
komputery. Ethernet i TCP/IP mogą współdziałać dzięki jednemu z protokołów będącemu częścią TCP/IP. Jest to protokół ARP
(Address Resolution Protocol) zamieniający adresy Ethernetowe na adresy IP i na odwrót.
Podsumowanie
TCP/IP jest zaawansowanym protokołem sieciowym, którego początki sięgają lat siedemdziesiątych. Uznanie, jakim cieszy się
TCP/IP w środowiskach uniwersyteckich, naukowych, rządowych i w wielu innych organizacjach zapewniło temu standardowi
czołowe miejsce na rynku. Śmiało można powiedzieć, że jest to najlepiej rozwinięty protokół sieciowy umożliwiający
funkcjonowanie niejednorodnej sieci, tzn. takiej, w której połączone są komputery różnych typów. Siła TCP/IP leży w
następujących możliwościach:
.Może działać na sprzęcie różnych producentów.
.Zawiera wbudowane trzy podstawowe aplikacje umożliwiające pracę zdalną, transfer plików oraz korzystanie z poczty
elektronicznej.
.Schemat adresowania IP pozwala na łatwe łączenie wielu sieci.
.Udostępnia dwa niezależne mechanizmy transportowe.
.Może współpracować z różnymi protokołami poziomu łącza danych i różnymi typami nośnika.
W warstwie aplikacyjnej TCP/IP opiera się na relacji klient/serwer. Technilogia klient/serwer jest ogólnie rzecz biorąc przyjazna
użytkownikowi. Połączenie technologii klient/serwer z mechanizmami zarządzania siecią, rozproszonym środowiskiem okienkowym
i innymi elementami zapewnia sprawne funkcjonowanie i łatwą obsługę sieci.
Kolejna nazwa często pojawiająca się obok TCP/IP to "Ethernet". Jest to najpopularniejszy protokół poziomu łącza danych
używany wraz z TCP/IP. Ethernet powstał w ośrodku badawczym PARC i został rozwinięty przez firmy Digital, Intel i Xerox.
Technologia Ethernetu zapewniająca możliwości szybkiej transmisji danych i stosowania różnych typów nośnika szybko opanowała
dużą część rynku. Obecnie jest to dojrzały i jednocześnie niedrogi standard stosowany na całym świecie.
Połączenie TCP/IP i Ethernetu jest świetnym rozwiązaniem sieciowym. Oba standardy są przystępne dla nowicjusza i
jednocześnie stanowią pole do popisu dla doświadczonych użytkowników i projektantów. Nie tylko zapewniają podstawowe
aplikacje i narzędzia sieciowe, lecz również stanowią podstawę do rozwijania zaawansowanych technik, takich jak rozproszone
bazy danych, zdalne zarządzanie czy systemy plikowe. Sprawdzona wydajność i niezawodność czyni z nich wciąż interesującą
propozycję dla wielu zastosowań.
SMTP
SMTP (Simple Mail Transfer Protocol) jest jednym z protokołów zestawu TCP/IP. SMTP jest mechanizmem umożliwiającym
przesyłanie poczty elektronicznej w sieci. Pojawią się tutaj pojęcia nadawcy i odbiorcy, które są analogiczne do klienta i serwera
dla TELNET-u i FTP.
Elementy SMTP
Pomysł i sposób funkcjonowania poczty elektronicznej są dosyć proste. Typową strukturę systemu poczty elektronicznej pokazano
na rysunku poniżej
Na rys przedstawiono dwa komputery połączone w sieci. Na obu komputerach zainstalowano te same komponenty poczty
elektronicznej. Komputer A wysyła, a komputer B odbiera wiadomości.
Po wywołaniu programu obsługi poczty występują następujące zdarzenia :
.Elementem uruchamiającym aplikację pocztową jest specjalny program pośredniczący nazywany User Agent. Jest on
wywoływany poleceniem z poziomu systemu operacyjnego i uaktywnia edytor umożliwiający użytkownikowi zredagowanie
wiadomości do wysłania.
.Po utworzeniu wiadomości jest ona przekazywana kolejnemu programowi pośredniczącemu nazywanemu Message Transfer
Agent (MTA). Program ten odpowiada za nawiązanie połączenia z innymi komputerami i rozesłanie wiadomości.
.Na komputerze adresata (odbiorcy wiadomości) działa inny program MTA, który umieszcza odebraną wiadomość w kolejce
nadesłanych wiadomości.
.Adresat może przejrzeć nadesłane wiadomości po uruchomieniu programu User Agent na swoim komputerze.
Podsumowanie
SMTP jest systemem poczty elektronicznej wbudowanej w zestaw protokołów TCP/IP. Dostępne są również inne systemy
pocztowe (często jako bezpłatne oprogramowanie typu public domain). Wszystkie systemy poczty elektronicznej funkcjonują w
podobny sposób. Tym, co je różni jest wygląd i obsługa interfejsu użytkownika.
Adresowanie TCP/IP
Adresowanie, a model warstwowy
Adresy portów TCP/IP
Adresowanie IP
Komunikacja w dużych sieciach
Routery
Nawiązywanie znajomości
Struktura nagłówka IP
Struktura nagłówka TCP
Komunikacja pomiędzy usługami sieciowymi
Gniazda
Adresowanie w sieciach TCP/IP to dosyć szerokie zagadnienie. Odnosi się ono zarówno do sposobów adresowania aplikacji, jak i
schematu adresowania IP. Jeśli mówimy o sieci Ethernet lub 802.3, trzeba omówić również problematykę adresowania w sieciach
tego typu. Wszystkie wymienione tematy zostały opisane w dalszej części tego rozdziału.
Adresowanie, a model warstwowy
Przed bardziej szczegółowym omówieniem schematów adresowania TCP/IP przyjrzymy się relacji warstw sieciowych do nazw i
adresów TCP/IP.
Warstwa
Nazwa i/lub adres TCP/IP
Aplikacje użytkownika
Przypisany identyfikator użytkownika
Aplikacje Internetu
Dobrze znane porty (Well-Known-Ports)
Warstwa transportowa
TCP i/lub UDP
Warstwa sieciowa
Adresy Internetowe
Podwarstwa LLC
Adresy LSAP (Local Source Access Point)
Podwarstwa MAC
Adresy MAC (Media Access Control)
Warstwa fizyczna
Karty interfejsu
Adresy portów TCP/IP
Aplikacje Internetu funkcjonują powyżej protokołów warstwy transportowej (czyli TCP i UDP). Każda aplikacja TCP/IP ma
przypisany numer portu. Są to tak zwane dobrze znane porty (well-known-ports). Numery te są publikowane przez organizacje
IANA (Internet Assigned Numbers Authority) i identyfikują standardowe aplikacje nazywane dobrze znanymi usługami
(well-known-services). Przykładowo TELNET-owi przypisano port TCP numer 23, porty 20 i 21 są przypisane do FTP (20 do
danych, a 21 do programu transferu plików).
Innym przykładem jest SMTP. Przypisanym mu numerem portu jest 25. Przykłady dobrze znanych portów UDP to: DNS (Domain
Name Server) - numer 53, protokół SNMP (Simple Network Management Protocol) - numer 161 (pułapki SNMP mają port numer
62).
Skatalogowano również wiele innych numerów portów, które są standardowo wykorzystywane przez TCP i UDP. Porty, które nie
są zdefiniowane jako dobrze znane, mogą być wykorzystywane przez dowolne aplikacje, co jest typowe dla aplikacji używających
UDP jako protokołu transportowego. Numery portów można zmieniać, a w środowisku UNIX wyróżniono specjalny plik
/etc/services służący do administrowania numerami portów.
Porty są czymś w rodzaju punktów końcowych. Są to "adresowalne miejsca" umożliwiające nawiązanie połączenia logicznego.
Nazywane również portami kontaktowymi usług, udostępniają określone usługi na żądanie innych aplikacji.
Adresowanie IP
Adresowanie TCP/IP jest łatwiej zrozumieć przyjmując koncepcję, że każdy sposób adresowania jest ściśle związany z funkcją i
zadaniami danego komputera. W szczególności jest tak w wypadku schematu adresowania IP. Każdy komputer (a dokładniej
węzeł) w sieci TCP/IP ma niepowtarzalny, 32-bitowy adres IP identyfikujący nie tylko komputer, lecz również sieć do której
należy.
Na adres IP składają się trzy podstawowe elementy: bity określające klasę adresu, część identyfikująca sieć lokalną (LAN) oraz
część identyfikującą konkretny komputer w sieci. W istniejącej klasyfikacji wyróżnia się pięć klas adresów:
Klasa A
Klasa B
Klasa C
Klasa D
Klasa E
Adresy klasy A odnoszą się najczęściej do dużych sieci zawierających wiele komputerów, adresy klasy B odpowiadają sieciom
średniej wielkości, zaś adresy klasy C małym sieciom. Adresy klasy D to tzw. adresy grupowe, wykorzystywane przy przesyłaniu
wiadomości do grupy komputerów w Internecie. Klasa E jest eksperymentalna i w zasadzie niewykorzystywana.
Klasy adresów są istotne z kilku powodów. Jeśli sieć jest przyłączona do Internetu, to adres sieci oraz adresy komputerów są
przydzielane przez organizację zarządzająca Internetem. Jeśli natomiast jest to lokalna sieć firmowa, to odpowiednie adresy
przydziela administrator.
Wybierając odpowiednią klasę adresów można przyporządkować danej sieci: więcej adresów podsieci, a mniej komputerów
(adresy klasy C); równą liczbę adresów podsieci i komputerów (klasa B) lub mniej adresów podsieci, a więcej komputerów (klasa
A). W sieciach lokalnych wykorzystuje się adresy klasy A, B lub C. Adres IP zapisuje się dziesiętnie w czterech blokach
trzycyfrowych rozdzielonych kropkami (każdy blok trzycyfrowy odpowiada 8 bitom, więc może być to liczba do 0 do 255).
Pierwsze trzy cyfry określają klasę adresu w następujący sposób:
Adresy klasy A rozpoczyna liczba od 0 do 127.
Adresy klasy B rozpoczyna liczba od 128 do 191.
Adresy klasy C rozpoczyna liczba od 192 do 223.
Adresy klasy D rozpoczyna liczba od 224 do 239.
Adresy klasy E rozpoczyna liczba od 240 do 255.
Na poniższym rysunku pokazano schemat adresowania IP i to, jak klasa adresu determinuje liczbę adresów dla podsieci i
komputerów.
Radioamatorzy należą do sieci klasy A i maja przydzielony numer
44 i nazwe sieci AMPRNET( AMateur Packet Radio NETwork) tak
wiec wszystkie adresy amatorskie w TCP/IP beda zaczynaly sie od
cyfry 44. Pozostale cyfry podaja szczegolowy adres stacji i tak
cyfra X odpowiedzialna jest za podzial amatorskiej sieci na
regionalne sieci jest ona zwiazana z danym np. krajem i tak dla
polskich amatorow zostal przydzielony numer 165 wiec wszystkie
adresy polskich stacji pracujacych na TCP/IP beda ogolnie
wygladaly:
44.165.Y.Z
Pozostale cyfry tzn Y i Z rozlozone sa na podsieci regionalne na
terenie SP i tak np. okreg SP2 ma adresy pomiedzy 44.165.32.xxx
do 44.165.47.xxx :
SUBNET zakres adresow
========= ===============================
TORUN - 44.165.32.xxx 44.165.34.xxx
WLOCLAWEK - 44.165.35.xxx 44.165.37.xxx
BYDGOSZCZ - 44.165.38.xxx 44.165.40.xxx
GDANSK - 44.165.41.xxx 44.165.43.xxx
ELBLAG - 44.165.44.xxx 44.165.46.xxx
Hierarchiczne uporzadkowanie adresow IP ulatwia komunikacje i
przesylanie danych.
Adresy przydzielane sa przez administratorow sieci. Glownym
administratorem amatorskiej sieci w Internet jest Braian Kantor
WB6CYT. Koordynatorem na terenie SP jest SP5WCA ktory rozdziela
lokalnym administratorom na poszczegolne okregi zestawy adresow
do ich dyspozycji. Jesli chcesz otrzymac adres aby pracowac na
TCP/IP zglos sie do lokalnego administratora sieci TCP/IP,
wykazy lokalnych administratorow czesto sa w bbs'ach w dziale
TCPIP oraz w dodatku na koncu tej pozycji.
Do Góry
Komunikacja w dużych sieciach
Komputery podłączone do sieci najczęściej nie komunikują się bezpośrednio ze sobą. Zwłaszcza w Internecie informacje
przepływają przez wiele urządzeń pośrednich nazywanych węzłami ("node" lub "hop"). Skąd jednak węzeł wie, do którego
następnego węzła powinien przesłać pakiet, aby w końcu dotarł do adresata?
Odbywa się to następująco: nadawca i odbiorca posiadają własne, niepowtarzalne adresy sieciowe o strukturze hierarchicznej. Np.
serwer CHIP-a (www.chip.pl) ma adres 195.116.104.13. Ten sposób zapisu ułatwia zapamiętanie adresu, który ma długość
dwóch słów, a więc 32 bitów. Aby oszczędzić sobie konieczności operowania na bardzo dużych liczbach adres został podzielony
na cztery bajty. Tak więc każda z oddzielonych kropkami pozycji adresu przyjmuje wartość od 0 do 255.
Nie oznacza to jednak, że w ten sposób jesteśmy w stanie zaadresowaź 2?? komputerów. Ograniczenia wiążą się ze stosowaniem
tzw. podsieci. Z wielu względów wygodnie jest, aby komputery należące do jednej firmy lub instytucji posiadały podobne adresy -
jedna część adresu jest czymś w rodzaju numeru kierunkowego. W tym celu grupuje się pewną liczbę komputerów i rezerwuje dla
nich pulę adresów. Ponieważ liczba adresów w puli musi być potęgą dwójki, dla 150 komputerów konieczne jest zarezerwowanie
28 = 256 adresów.
Gdzie jednak kończy się numer kierunkowy, a gdzie zaczyna właściwy numer? Granicę tę określa maska podsieci ("net-mask"),
której wartość uzależniona jest od wielkości podsieci. Przykładem małej sieci korporacyjnej jest sieć klasy C posiadająca 253
adresy (3 adresy zarezerwowane są do specjalnych celów). Odpowiada to polu adresowanemu o długości ośmiu bitów.
Pozostałe 24 z 32 bitów są naszym "numerem kierunkowym", który w żargonie informatyków nazywany jest adresem sieci. Maska
sieciowa rozdzielająca adres sieci od adresów komputerów w podsieci będzie w tym przypadku miała postać 255.255.255.0.
Odpowiada to 24 ustawieniom i 8 wyzerowanym bitom, co pozwala łatwo "przesłonić" jedną lub drugą część adresu.
Na podstawie hierarchicznie zbudowanych adresów specjalny program (router) pracujący w węźle sieci podejmuje decyzję dokąd
dalej skierować dane. Pakiet pokonuje w ten sposób do 30 przystanków zanim dotrze do celu.
Routery planują trasę transmisji danych
Jeśli komputer węzłowy stwierdza, że dalsza droga jest zablokowana, wówczas próbuje dostarczyć dane do innego komputera
węzłowego z nadzieją, że ten będzie w stanie ominąć przeszkodę. Routery obu komputerów wymieniają się wzajemnie
informacjami o stanie połączeń. W ten sposób Internet konfiguruje się samoczynnie. Z tego powodu nie jesteśmy w stanie
przewidzieć, którędy pakiet dotrze do adresata. Może się nawet zdarzyć, że pakiety należące do tej samej wiadomości zostaną
dostarczone różnymi trasami.
Ze względu na dowolność wyboru drogi nie możemy zagwarantować, że pakiety dotrą do celu w takiej samej kolejności w jakiej
były nadawane. Zadaniem odbiorcy jest posortowanie pakietów i ułożenie ich we właściwym porządku. Ani on, ani nadawca nie
mają żadnego wpływu na sposób działania sieci.
"Poszatkowane" pakiety
Przyczyną zatorów na infostradzie nie zawsze jest awaria łącza lub routera. Nieraz okazuje się, że następny komputer nie jest w
stanie odebrać pełnego strumienia informacji. W takich sytuacjach komputer węzłowy może zadecydować o przesłaniu jedynie
części pakietu - po prostu dzieli pakiet na mniejsze, łatwiejsze do transmisji "kawałki", które tak jak normalne pakiety wysyłane są
dalej.
Po odebraniu wszystkich fragmentów komputer składa je razem odtwarzając w ten sposób pierwotny pakiet. Użytkownik nie zdaje
sobie sprawy z tego, ile wydarzyło się za "kulisami", zanim adresowana do niego wiadomość ukazała się na ekranie monitora.
Nawiązywanie znajomości
Podobnie jak ludzie, również komputery rozpoczynają "rozmowę" od wzajemnego przedstawienia się.
Wymiana danych (począwszy od warstwy trzeciej - sieciowej) odbywa się za pośrednictwem protokołu internetowego, w skrócie
IP. Tutaj ciąg bitów przesyłanych pomiędzy komputerami układany jest w pakiety. Każdy pakiet rozpoczyna się od tzw. nagłówka,
który niesie szczegółową informację o stosowanym protokole. Bezpośrednio po nim występują właściwe dane użytkowe.
Od chwili powstania protokół IP podlegał wielu zmianom. Pierwszą informacją zapisaną w nagłówku jest numer wersji, obecnie 4.
Następnie zdefiniowana jest dłuość nagłówka (do cztarech bajtów). Informacja o typie usługi pozwala wpłynąć na sposób, w jaki
pakiet jest traktowany. Na przykład bardzo ważne pakiety możemy oznaczyć etykietą "wysoki priorytet". "długość pakietu" mówi o
tym z ilu bajtów składa się cały pakiet (włącznie z nagłówkiem). Ponieważ to pole jest 16-bitowe, wielkość pakietu nie może
przekraczać 65 536 bajtów.
"Identyfikator" jest parametrem pozwalającym nadawcy jednoznacznie rozróżnić wysyłane pakiety. We wszystkich wersjach są to
kolejne liczby będące numerami pakietów.
Flaga "DF" ("don't fragment") informuje komputer węzłowy o tym, że tak oznaczony pakiet może być przesyłany dalej tylko w
całości - jego fragmentacjajest zabroniona. Jeżeli pakiet taki okaże się zbyt duży dla komputera docelowego zostanie po prostu
skasowany. Flaga "MF" ("more fragments") oznacza, że podczas transmisji pomiędzy komputerami pakiet został podzielony na
części, a odebrana paczka danych jest tylko jego fragmentem.
"Początek fragmentu" informuje o tym, od którego bajtu pierwotnego pakietu rozpoczyna się dany fragment. Bazując na tym
parametrze możliwe jest późniejsze odtworzenie pakietu z części.
"Czas życia" ("time to live" lub TTL) określa jak długo pakiet może być jeszcze przesyłany do kolejnych węzłów sieci. Po przejściu
przez każdy węzeł wartość ta zmniejszana jest o 1. Kiedy w końcu osiągnie zero, pakiet jest po prostu kasowany. Procedura ta
stosowana jest po to, aby pakiety, których nie można dostarczyć nie krążyły w sieci bez końca.
"Protokół transportowy" jest parametrem mówiącym o tym, jaki sposób transmisji przewidziany jest dla danego pakietu.
Najważniejsze protokoły to: TCP i UDP. Dzięki sumie kontrolnej można określić czy nagłówek został przesłany bezbłędnie.
Pola "adres nadawcy" i "adres odbiorcy" zawierają adresy komputerów źródłowego i docelowego zapisane w standardowej notacji
32-bitowej. Informacje specjalne, wykorzystywane na przykład do zarządzania siecią, umieszczane są w polu "Opcje". Wolne
miejsce aż do końca ostatniego słowa 32-bitowego zapełniane jest "znakiem wypełnienia".
STRUKTURA NAGŁÓWKA IP
Aby rzeczywiście każdy komputer mógł " rozmawiać" z dowolnym innym komputerem, musi on dokładnie podać od kogo dane
pochodzą, dokąd powinny być dostarczone oraz w jaki sposób pakiety danych powinny być traktowane. Nagłówek niesie też ze
sobą klucz, za pomocą którego odbiorca jest w stanie poprawnie odtworzyć informację z nadesłanych fragmentów.
STRUKTURA NAGŁÓWKA TCP
Nagłówek ten informuje protokół TCP skąd i dokąd przesyłane są dane oraz jakie jest miejsce każdego pakietu w całkowitym
strumieniu danych.
W praktyce kilka warstw łączy się w jedną całość. TCP odpowiedzialne jest za transport danych, natomiast IP dba o poprawność
połączenia. Górne warstwy (sesji, prezentacji, aplikacji) obsługiwane są przez przeglądarkę internetową, która troszczy się o to,
aby informacje były poprawnie wyświetlane na ekranie.
Komunikacja pomiędzy usługami sieciowymi
Ponieważ wszystkie usługi mogą wymieniać informacje w tym samym czasie, potrzebny jest mechanizm pozwalający określić nie
tylko, które komputery ze sobą rozmawiają, ale także które usługi są wykorzystywane. W tym celu wprowadzono tzw. numery
portów.
Porty można porównać do alarmowych aparatów telefonicznych, których numery są powszechnie znane i dostępne. Podobnie jak
chcąc zadzwonić na policję wybieramy numer 997 tak usługa WWW odwołuje się standardowo do portu o numerze 80.
Komputer pragnący zrealizować jakąś usługę na innej maszynie może albo od razu próbować komunikować się z określonym
portem, albo poprosić o informację, której udziela program o nazwie "portmap" dostępny poprzez port 111. Informuje on komputery
chcące nawiązać połączenie pod jakimi numerami dostępne są poszczególne usługi. Podobnie jak w przypadku informacji
telefonicznej, również "portmap" może odmówić podania numerów, które nie są dostępne dla wszystkich. Dla usprawnienia
transmisji protokół TCP wykorzystuje dodatkowy nagłówek służący do identyfikacji wybranych usług i do zarządzania nimi.
Nagłówek ten umieszczony jest w pakiecie IP pomiędzy nagłówkiem IP, a danymi użytkowymi.
W nagłówku TCP zamontowane są numery portów nadawcy i odbiorcy pakietu. "Numer kolejny" spełnia w TCP taką samą rolę
jak "Identyfikator" w nagłówku IP - jest rodzajem licznika określającym bieżący stan transmisji danych. Do odbiorcy przesyłany
jest "Numer potwierdzenia"; numer ten służy do potwierdzenia odbioru określonej porcji danych, dzięki czemu nadawanie i
potwierdzanie odbioru są ze sobą zsynchronizowane.
"Przesunięcie danych" jest polem określającym długość nagłówka TCP. Na użytek protokołu przygotowano także szereg flag
informacyjnych. "Szerokość okna" pozwala odbiorcy poinformować nadawcę o tym ile bajtów jest w stanie odebrać w danej
chwili. W ten elegancki sposób komputer może bronić się przed zalewem zbyt dużej ilości informacji. "Suma kontrolna" niesie
informacje o tym, czy transmisja przebiegła bezbłędnie. Jest ona obliczana dla całego pakietu, nie tylko dla samego nagłówka.
Wskaźnik "Wysoki priorytet" pozwala wyróżnić wiadomości, które są szczególnie ważne - na przykład informacje o zakłóceniach
w pracy sieci.
Przedstawiony niżej model architektury TCP/IP jest bardzo zbliżony do modelu warstwowego OSI. Widać tu jednak wyraźnie, jak
niektóre warstwy teoretycznego modelu zostały w praktyce połączone w jedną całość.
Gniazda
Gniazdo to kombinacja adresu IP i dołączonego do niego numeru portu. Gniazdo jest abstrakcyjnym punktem końcowym procesu
komunikacji. Koncepcja gniazd wywodzi się od twórców systemu Berkeley UNIX.
Podsumowanie rozdziału
Adresowanie TCP/IP nie jest zagadnienie ograniczonym do adresów jednego typu. Oczywiście każdy komputer w sieci jest
identyfikowany przez pojedynczy adres. Adresy IP są 32-bitowe i zapisuje się je w notacji dziesiętnej oddzielając poszczególne
segmenty adresu kropkami.
Porty służą do identyfikacji aplikacji i usług wykorzystujących TCP lub UDP jako protokół transportowy. Istnieje tzw. lista dobrze
znanych portów, zawierający adresy standardowych aplikacji i usług TCP/IP.
Gniazdami nazywamy kombinację adresu IP i numeru portu. Jest to abstrakcyjna reprezentacja punktu końcowego w sieci.
(C) by Krzysztof M
FTP
Podstawowe funkcje
Niektóre polecenia FTP
Działanie FTP
Podsumowanie
FTP (File Transfer Protocol) jest popularną aplikacją służącą do przenoszenia (transferu) plików z jednego komputera w sieci
TCP/IP do innego. Transfer nie polega faktycznie na usunięciu pliku z jednego systemu i umieszczeniu go w innym, lecz na
utworzeniu w systemie docelowym kopii pliku z systemu źródłowego. Oryginał pliku nie jest przy tej operacji zmieniany w żaden
sposób.
FTP jest dosyć łatwym do opanowania programem użytkowym. Podobnie jak TELNET, aplikacja FTP składa się z dwóch
elementów - programów nazywanych klientem i serwerem. Klient FTP inicjuje transfer pliku, natomiast serwer FTP odpowiada
na odebrane żądanie, ustalając połączenie logiczne pomiędzy komputerami.
Podstawowe funkcje FTP
FTP umożliwia wykonywanie następujšcych zadań :
Kopiowanie wielu plików z jednego systemu do innego.
Wyświetlenie listy dostępnych plików w systemie docelowym.
Tworzenie i usuwanie katalogów w systemie docelowym.
Określenie bieżącego katalogu w systemie docelowym.
Dołączenie pliku lokalnego do pliku w systemie docelowym
Niektóre polecenia FTP
Aby zainicjować połączenie logiczne klienta z serwerem FTP, wystarczy wpisać w systemie operacyjnym polecenie ftp. Po
chwili na ekranie terminala pojawia się monit :
ftp>
Oto przykłady kilku poleceń, które można wydać po wyświetleniu monitu FTP :
user - umożliwia podanie nazwy użytkownika i hasła
quote - wyświetla parametry działania systemu docelowego
ls - wyświetla zawartość (nazwy plików) bieżącego katalogu w systemie docelowym
mkdir - umożliwia utworzenie nowego katalogu w systemie docelowym
ascii - ustawia tryb ASCII dla transferu plików przez FTP
binary - ustawia tryb binarny dla transferu plików przez FTP
get - polecenie to służy do "ściągania" (kopiowania) pliku z systemu docelowego
put - działanie tego polecenia jest niejako odwrotne do poprzedniego i pozwala na transfer (skopiowanie) pliku z systemu
żródłowego do docelowego
open - po wpisaniu tego polecenia użytkownik może podać nazwę systemu docelowego, do którego chce się podłączyć
close - poleceniem źródłowym i docelowym
quit - powoduje zakończenie działania klienta FTP
Podczas pracy z FTP i transferu plików na ekranie pojawiajš się różnego typu informacje i komunikaty. Na przykład po
wpisaniu polecenia get i nazwy istniejącego pliku w systemie docelowym, na ekranie pojawią się informacje o stanie
połączenia. Wyświetlane są również odpowiednie informacje dotyczące adresów, nazwy przesyłanego pliku, rozmiaru pliku
czy czasu trwania transferu.
Działanie FTP
W działaniu FTP nie ma nic tajemniczego. Jest to po prostu mechanizm umożliwiający użytkownikowi przesyłanie (kopiowanie)
plików między komputerami w sieci. Siłą FTP jest jego prostota. Polecenia, takie jak get, open, close służą dokładnie do tego, co
sugeruje ich nazwa. Stosowanie innych poleceń często nie jest już tak intuicyjne i w wielu przypadkach zestaw dostępnych opcji
jest różny, zależnie od producenta.
Najważniejszą cechą FTP jest to, że funkcjonuje on identycznie na dowolnym komputerze. Po wywołaniu TELNET-u, FTP i
innych wbudowanych aplikacji TCP/IP możemy spodziewać się takiego samego działania niezależnie od platformy systemowej i
sprzętowej.
Podsumowanie
FTP jest aplikacją służącą do przesyłania plików z jednego komputera w sieci TCP/IP do innego. W wypadku sieci niejednorodnej
zdarza się, że FTP (w roli klienta lub serwera) jest dostępny również na komputerach, które nie mają zainstalowanego pełnego
zestawu protokołów TCP/IP. Tak jest na przykład z maszynami MVS,VM i VSE.
W FTP można stosować wiele użytecznych poleceń. Podana lista powinna pomóc początkującym użytkownikom. Zdarza się, że
nieznajomość terminologii i skrótów typowych dla TCP/IP jest przeszkodą zniechęcającą nowych użytkowników do aplikacji tego
protokołu, takich jak FTP. Jednak ostatnie zdanie z powodzeniem można odnieść do każdego protokołu sieciowego.
Konfiguracja TCP/IP na Novell'u
W tym rozdziale został zamieszczony opis ładowania protokołu TCP/IP na serwerze Novell'a. Tak jak pisaliśmy wcześnie TCP/IP
jest podstawowym protokołem Internetu, dlatego też serwer Novell'a musi mieć możliwość obsługi tego protokołu.
TCP/IP
Pliki konfiguracyjne
Hosts
Gateways
Networks
Protokol
Services
TCPIP
Pakiet TCPIP należy załadować na serwerze przy użyciu komendy load. Komenda ta wystartuje obsługę protokołu, ale serwer
nadal nie będzie widoczny w sieci IP. Komendę tę zazwyczaj umieszcza się w pliku sys:/system/autoexec.ncf. Wpis do tego pliku
wygląda następująco:
load tcpip
Moduł TCP powinien być załadowany po modułach CLIB oraz STREAMS. Kolejność ładowania modułów i ich wszystkie
powiązania zostały przedstawione na poniższym schemacie:
Wszystkie moduły aktywne na serwerze Novell'owym są ładowane z pliku autoexec.ncf. Aby serwer poprawnie obsługiwał sieć
typu IP należy załadować odpowiednie sterowniki kart sieciowych, a następnie wykonać operację bindowania protokołów do tych
kart. W naszym systemie ładowanie kart sieciowych realizowane jest przez następujące polecenia:
load smc8000 port=280 frame=ETHERNET_II name=tcpdown
load smc8000 port=300 frame=ETHERNET_II name=tcpup
load smc8000 port=320 frame=ETHERNET_II name=tcpsco
Natomiast operację bindowania realizują polecenia:
bind ip to tcpdown addr=172.16.121.1 mask=255.255.255.0
bind ip to tcpup addr=172.16.228.1 mask=255.255.255.0
bind ip to tcpsco addr=172.16.1.1 mask=255.255.255.0
Pliki konfiguracyjne TCPIP
Pakiet TCPIP tak samo jak na serwerze Unix'owym wymaga plików konfiguracyjnych. Pliki te znajdują się w katalogu sys:/etc.
Poniżej opisano każdy plik i jego budowę.
Hosts
Plik ten zawiera tablicę translacji adresów umownych na adresy IP. Jest ona wykorzystywana przez oprogramowanie do
sprawdzania numerów IP przy wyłączonym DNS'ie. W każdej linii powinien znajdować się jeden adres IP oraz wszystkie nazwy
danego hosta, przykładowo dla serwera gwu-technel wpis ten wygląda następująco:
172.16.121.3 gwu-technel.waw.ids.edu.pl gwu-technel linux
w pliku tym musi się też znaleźć adres 127.0.0.1 wskazujący na wewnętrzną pętle loopback, danego hosta. Wpis ten prawie
zawsze jest taki sam:
127.0.0.1 loopback localhost lb
Dzięki tej notacji oprogramowanie może w ten sam sposób komunikować się z sobą jak z innymi host?ami.
Gateways
Plik ten zawiera listę ruterów dostępnych w sieci. Na podstawie zawartości tego pliku pakiety kierowane do danej sieci trafiają do
odpowiedniego rutera. Plik ten ma istotne znaczenie gdy serwer Novell'owy jest wpięty do dwóch segmentów sieci. W każdej
pojedyńczej linii powinien znajdować się wpis dotyczący danej sieci. Prykładowo wpis:
net 172.16.121.0 gateway 172.16.121.1
net 172.16.228.0 gateway 172.16.228.1
definiuje dwie sieci 172.16.121.0 i 172.16.228.0 dla każdej z nich został wyróżniony gateway, czyli brama przesyłowa. W związku
z czym pakiety kierowane do danej sieci są wyrzucane pod dany adres, natomiast pakiety lokalne zostają w bieżącym segmencie.
Nie powoduje to obciążenia drugiego segmentu pakietami z segmentu pierwszego i odwrotnie.
Networks
W pliku tym zostały zawarte definicje podsieci występujących lokalnej sieci komputerowej. Każda linijka opisuje jedną sieć. Linijki
zaczynają się od nazwy sieci, oraz jej numeru IP. Przykładowy wpis wygląda następująco:
net1 172.16.121.0
sieć 172.16.121.0 nosi nazwę net1. Plik ten nie jest konieczny, jednak zaleca się go uzupełnić dla łatwiejszego rozróżniania sieci.
Protocol
Plik ten zawiera spis protokołów jakie są obsługiwane przez moduł TCPIP serwera Novell'owego. Plik ten zawiera spis
protokołów i nie należy go modyfikować.
Services
W pliku tym są umieszczone definicje wszystkich dostępnych usług oferowanych przez serwer Novell'a. Każda linijka zawiera
nazwę usługi, numer portu TCP na którym dana usługa jest oferowana, oraz rodzaj protokołu komunikacyjnego.
C by Radek & Michał
Zagadnienia związane z sieciami TCP/IP
Interfejsy sieciowe
Adresy IP
Skąd wziąć adres sieciowy
Adress Resolution Protocol
Architektura rutowania w sieci
Internetowe adresy umowne
Interfejsy sieciowe
Dla ukrycia różnic sprzętowych występujących w otoczeniu sieciowym , TCP/IP definiuje abstrakcyjny interfejs poprzez który
następuje dostęp do sprzętu. Ten interfejs dostarcza określonego zestawu usług niezależnie od sprzętu jaki został zastosowany,
oraz mechanizmu wysyłania i odbierania pakietów.
Dla każdego urządzenia, którego chcesz użyć w sieci musi być umieszczony odpowiedni moduł w kernelu. Na przykład karty
sieciowe na systemie Linux'owym są nazywane eth0, eth1 natomiast łącza szeregowe SLIP mają nazwy sl0, sl1, itd. Nazwy tych
interfejsów sieciowych są wykorzystywane podczas konfiguracji systemu.
W sieci TCP/IP każdy interfejs musi posiadać unikatowy numer IP. Numer ten jest wykorzystywany gdy komputer komunikuje się
z resztą świata.
Adresy IP
Protokół Internet wymienia dane między komputerami w postaci datagramów. Każdy datagram jest dostarczany pod adres
umieszczony w polu Adres przeznaczenia, znajdujący się w nagłówku. Adres Internetowy to 32 bitowe słowo. Słowo to dzieli się
na dwie części - jedna identyfikuje sam pojedynczy komputer, a druga część sieć w której dany komputer się znajduje. Komputery
dołączone do tej samej sieci muszą posiadać taką samą cząstkę identyfikująca daną sieć.
Adresy Internetowe dzielą się na klasy. Adres należący do danej klasy rozpoczyna się określoną sekwencją bitów, która jest
używana przez oprogramowanie Internetowe, znajdujące się na każdym komputerze, do identyfikacji klasy danego adresu. Kiedy
klasa adresu zostanie rozpoznana oprogramowanie sieciowe jest w stanie określić które bity są używane do określenia sieci, a
które konkretnego komputera.
Adres klasy A posiada bit zerowy ustawiony na zero, siedmiobitowy numer sieci i 24-bitowy adres komputera. 128 sieci klasy A
pozwala utworzyć do 16.777.214 adresów komputerów w każdej z nich.
Adres klasy B posiada dwa najstarsze bity ustawione w sekwencję 1-0, 14-bitowy adres sieci i 16-bitowy adres komputera w tej
sieci. 16.384 sieci klasy B mogą być zdefiniowane z 65.534 komputerami w każdej z nich.
Adres klasy C posiada trzy najważniejsze bity ustawione w kombinację 1-1-0, 21 bitowy adres sieci i 8-bitowy adres komputera w
tej sieci. Pozwala to zdefiniować 2.097.152 sieci klasy C z 254 komputerami w każdej z nich.
Dla ułatwienia, adres Internetowy jest przedstawiony jako cztery liczby dziesiętne z zakresu od 0 do 255 oddzielone kropkami. Taki
format zapisu adresu określa się jako DDN lub IP address.
Notacja dzieli 32-bitowy adres na 4 8-bitowe pola nazywane octetami i przekształca niezależnie wartość każdego pola na liczbę
dziesiętna.
Klasa
Początek
Koniec
A
1.0.0.0
127.0.0.0
B
128.0.0.0
191.255.0.0
C
192.0.0.0
223.255.255.0
Inne
224.0.0.0
254.0.0.0
Obszar adresów dostępny dla każdej klasy (A,B,C).
Nie wszystkie adresy sieci i komputerów są dostępne dla użytkowników. Adresy, których pierwszy bajt jest większy od 223 są
zarezerwowane; także dwa adresy klasy A, 0 i 127, są przeznaczone do specjalnego zastosowania. Sieć 0 oznacza domyślną trasę,
a sieć 127 jest to tak zwany loopback address. Domyślna trasa jest używana do ułatwienia wyboru marszrut, które to zadani musi
wykonywać IP. Loopback address jest przydatny aplikacją sieciowym, pozwalając im na adresowanie komputera lokalnego w ten
sam sposób co komputerów oddalonych. Tych specjalnych adresów używamy konfigurując komputer.
Także pewne adresy komputerów są zarezerwowane do specjalnych celów. Są to we wszystkich klasach sieci, adresy
komputerów 0 i 255. Adres IP posiadający wszystkie bity adresu komputera równe 0, identyfikuje sieć jako taką. Na przykład,
26.0.0.0 oznacza sieć 26, a 172.16.0.0 odnosi się do sieci komputerowej 172.16. Adresy w takiej formie są stosowane w tablicach
rutowania do wskazywania całych sieci.
Adres IP mający wszystkie bity wskazujące komputer ustawione na jeden, jest adresem rozgłoszeniowym. Adres rozgłoszeniowy
jest stosowany do zaadresowania wszystkich komputerów w sieci. Adresem rozgłoszeniowym dla sieci 172.16 jest adres
172.16.255.255. Datagram wysłany pod taki adres będzie dostarczony do każdego komputera w sieci 128.66.
Adresy IP są często nazywane adresami komputerów. Jest to powszechne, jednak czasami mylące. Adresy IP są powiązane z
interfejsami sieciowymi. Gateway, taki jak techenl ma inny adres w każdej z sieci, do której jest dołączony. Jest znany innym
urządzeniom pod adresem powiązanym z siecią, która jest dla nich wspólna. Na przykład dla komputera utechnel adres technel'a to
172.16.121.1, podczas gdy dla komputerów w pracowni 228 widoczny jest pod adresem 172.16.228.1.
IP używa sieciowej części adresu do wyznaczenia trasy datagramu między sieciami. Pełny adres, zawierający również informację
o komputerze, służy do końcowego dostarczenia datagramu do komputera w docelowej sieci.
Skąd wziąć adres sieciowy
Tak jak pisaliśmy wcześniej adresy komputerowe w całym Internecie powinny być unikatowe. Jedną z metod otrzymania adresu
internetowego jest skontaktowanie się z organizacją przydzielającą te numery. W stanach organizacja ta mieści się pod adresem:
DDN Network Information Center
SRI International
333 Ravenswood Avenue
Menlo Park, CA 94025
e-mail: hostmaster@nic.ddn.mil
Istnieje też inna metoda. W przypadku gdy mamy sieć komputerową nie połączoną trwale z Internetem możemy użyć jednego z
adresów zarezerwowanych do użytku prywatnego. Zgodnie ze specyfikacją umieszczoną w dokumencie RFC1597 możemy
stosować dowolne z niżej podanych adresów:
10.0.0.0
10.255.255.255
172.16.0.0
172.31.255.255
192.168.0.0
192.168.255.255
W naszym modelowym rozwiązaniu zastosowaliśmy adresy z drugiej grupy. (172.16.x.x). Zgodnie ze specyfikacją można używać
tych adresów, i nie muszą być unikatowymi w Internecie, nie mogą się jednak powtarzać w obrębie lokalnej sieci.
Address Resolution Protocol
Adres IP i tablica rutowania kierują datagram do konkretnej fizycznej sieci; dane przemieszczające się przez tą sieć muszą być
podporządkowane stosowanym w niej protokołom warstwy fizycznej. Protokoły te nie rozróżniają adresów IP. Sieci fizyczne mają
swoje własne zasady adresowania, których jest tyle samo ile różnych rodzajów sieci. Jednym z zadań protokołów dostępu do sieci
jest przełożenie adresu IP na fizyczny adres sieciowy.
Najbardziej ogólnym przykładem tej funkcji, wykonywanej przez warstwę dostępu do sieci jest tłumaczenie adresu IP na adres w
sieci Ethernet. Protokół, który tego dokonuje nosi nazwę Address Resolution Protocol (ARP).
Oprogramowanie ARP utrzymuje tablicę translacji między adresami IP i Ethernet. Tablica ta jest budowana dynamicznie. Gdy
ARP otrzymuje polecenie przełożenia adresu IP, sprawdza zawartość swojej tablicy. Jeżeli znajdzie w niej właściwą informację,
zwraca adres Ethernet do programu pytającego o ten adres. Natomiast gdy w tablicy brak jest odpowiednich danych, ARP rozsyła
w trybie rozgłoszeniowym pakiet do wszystkich komputerów w sieci Ethernet. Pakiet zawiera adres IP, dla którego jest
poszukiwany adres sieciowy. Jeżeli jakiś komputer stwierdzi, że jest to jego własny adres IP, odpowiada podając swój adres
Ethernet. Odpowiedź jest zapamiętywana w tablicy ARP.
Czasami występuje sytuacja odwrotna, istnieje potrzeba odnalezienia adresu IP na podstawie znanego adresu Ethernet. Do tego
celu służy protokół Reverse Address Resolution Protocol (RARP). RARP pomaga konfigurować systemy bezdyskowe,
pozwalając im na uzyskanie informacji o ich adresie IP. Każdy system zna swój adres Ethernet, ponieważ jest on zawarty w
sprzęcie stanowiącym interfejs do sieci. Bezdyskowe stacje wykorzystują przesyłkę rozgłoszeniową do zapytania o adres IP,
odpowiadający ich adresowi Ethernet.
Architektura rutowania w Internecie
Rutowanie jest spoiwem łączącym Internet w całość. Bez niego cały ruch TCP/IP byłby ograniczony do jednej fizycznej sieci.
Rutowanie pozwala danym z sieci lokalnej trafić do miejsca przeznaczenia znajdującego się w dowolnym miejscu na świecie.
Sieci IP
Kiedy piszesz list do jakiejś osoby, to na kopercie umieszczasz jej pocztowy adres. Następnie wrzucasz list do skrzynki pocztowej,
a służby pocztowe dostarczają przesyłkę pod wskazany adres: to znaczy list jest wysłany do danego miasta na terenie danego
kraju. Tam lokalny listonosz dostarcza go do odbiorcy, listonosz jednak nie wie którędy wędrował list zanim dotarł do danego
miasta.
Sieci IP wykorzystują dokładnie taką samą zasadę działania. Każdy pakiet posiada unikatowy adres IP systemu do którego ma
dotrzeć. Pakiet jest przesyłany między systemami tak długo, aż dotrze do danej sieci. Tam zostaje przesłany do konkretnego
komputera. Droga jaką przebędzie pakiet jest mało istotna i w Internecie pakiety mogą wędrować różnymi trasami.
Podsieci
Standardowa struktura adresów IP może być lokalnie modyfikowana poprzez użycie bitów adresowych komputerów jako
dodatkowych określających sieć. W istocie "linia podziału" między bitami adresowymi sieci i bitami adresowymi komputerów jest
przesuwalna, tworzy dodatkowe sieci, ale redukuje maksymalną ilość systemów, jakie mogą się znaleźć w każdej z nich. Te nowo
wykorzystane bity noszą nazwę podsieci. Pozwalają definiować logiczne sieci wewnątrz jednej większej, posiadającej jeden adres
IP.
Organizacje najczęściej decydują się na wprowadzenie podsieci w celu przezwyciężenia problemów topologicznych lub
organizacyjnych. Podzielenie jednej sieci na kilka mniejszych pozwala na decentralizację zarządzania adresami komputerów. Przy
standardowym adresowaniu, jeden administrator jest odpowiedzialny za przypisywanie adresów w całej sieci. Stosujące podsieci,
może delegować nadawanie adresów do pododdziałów swojej instytucji.
Podsieć jest definiowana za pomocą maski bitowej, przykładanej do adresu IP. Jeśli bit w masce to jedynka, to odpowiadający mu
bit w adresie IP jest interpretowany jako bit adresu sieci. Natomiast jeśli bit maski wynosi zero, oznacza to, że należy on do części
adresu określającej komputer. Podsieć jest znana wyłącznie lokalnie. Dla całej reszty Internetu adres jest interpretowany jako
standardowy.
Na przykład maska podsieci powiązana z naszym adresem sieciowym klasy B wynosi 255.255.0.0. Najczęściej używana maska
podsieci rozszerza część sieciową adresu klasy B na dodatkowy bajt. Maska ma wtedy postać 255.255.255.0; wszystkie bity w
trzech pierwszych bajtach są jedynkami, a w ostatnim zerami. Pierwsze dwa bajty definiują sieć klasy B, następny stanowi adres
podsieci, a ostatni bajt identyfikuje komputer w tej podsieci.
W naszym rozwiązaniu stosujemy maski będące pełnymi bajtami, gdyż są one łatwiejsze do czytania i zrozumienia. W tabeli XX.2.
zostały pokazane efekty stosowania różnych masek podsieci dla różnych adresów.
Adres IP
Maska podsieci
Interpretacja
172.16.121.1
255.255.255.0
komputer 1 w podsieci 172.16.121.0
130.97.16.132
255.255.255.192
komputer 4 w podsieci 130.97.16.128
192.178.16.66
255.255.255.192
komputer 2 w podsieci 192.178.16.64
132.90.132.5
255.255.240.0
komputer 4.5 w podsieci 132.90.128.0
18.20.16.91
255.255.0.0
komputer 16.91 w podsieci 18.20.0.0
Efekty stosowania masek podsieci
Gateway'e
Podsieci nie są tylko udogodnieniem organizacyjnym, są naturalnym wynikiem ograniczeń sprzętowych. Zasięg lokalnych sieci
komputerowych jest niewielki w związku z czym niewiele komputerów może być ze sobą połączonych. Dla zniesienia tego limitu
stosuje się gateweye. Są to wydzielone komputery, bądź urządzenia sieciowe poprzez, które łączą się ze sobą komputery z różnych
sieci.
Dla protokołu IP nie ma żadnego problemu z rozróżnieniem sieci, różne sieci fizyczne posiadają różne adresy IP . Na przykład:
adres sieci 172.16.121.0 jest zarezerwowany dla komputerów w pracowni 121, jeżeli zostanie wysłany pakiet na adres
172.16.22.10 to od razu widać że nie jest on adresowany do żadnego hosta w lokalnej sieci.
W przypadku gdy komputer jest włączony do dwu różnych sieci, to będzie on posiadał dwa różne adresy IP. Będzie on
gateway'em pomiędzy tymi sieciami. Na przykład: serwer technel jest włączony do sieci w pracowni 121 i 228. Posiada on więc
dwa różne adresy IP, są to odpowiednio 172.16.121.1 oraz 172.16.228.1.
Każdy Gateway może posiadać jeden numer IP w każdej sieci. Adresy sieci są rozróżniane przy pomocy masek sieciowych.
Mapowanie adresów dla serwera technel będzie więc wyglądało jak w tabeli.
Interfejs
Adres
Maska
eth0
172.16.121.1
255.255.255.0
eth1
172.16.228.1
255.255.255.0
lo
127.0.0.1
255.0.0.0
Mapowanie adresów
Użytkownik więc może ignorować to, że dany komputer znajduje się poza lokalną siecią komputerową. Dzięki gateway'ą możliwa
jest wymiana pakietów między komputerami znajdującymi się w różnych sieciach oddalonych od siebie nawet o setki kilometrów.
Tablica rutowania
Gateway'e kierują dane między sieciami; jednakże wszystkie urządzenia sieciowe, zarówno komputery jak i Gateway'e muszą
podejmować decyzje o kierowaniu przesyłek. Dla większości komputerów decyzja jest prosta:
jeżeli komputer docelowy znajduje się w sieci lokalnej, dane są dostarczane wprost do niego;
jeśli komputer docelowy znajduje się w innej sieci, dane są przekazywane do lokalnego gateway'a
Ponieważ marszrutowanie jest ukierunkowane na sieci, IP podejmuje decyzję na podstawie sieciowej części adresu. Określa część
sieciową adresu badając jego najstarsze bity i w ten sposób wyznacza klasę adresu. Klasa decyduje jaka część adresu służy do
identyfikacji sieci. Jeżeli sieć docelowa jest siecią lokalną, do adresu przeznaczenia dodatkowo stosowana jest maska podsieci.
Po określeniu sieci docelowej, moduł IP poszukuje jej w lokalnej tablicy rutowania. Pakiety są kierowane do ich miejsca
przeznaczenia na podstawie tablicy rutowania. Tablica może być zbudowana przez administratora sieci, bądź przez protokoły
rutowania, rezultat końcowy jest jednak identyczny. Decyzje podejmowane przez IP dokonują się na podstawie przeglądania tej
tablicy. Przykładowa tabela rutingu została zamieszczona w tabeli
Sieć
Gateway
Interfejs
172.16.228.0
172.16.121.1
eth0
172.16.121.0
172.16.228.1
eth1
0.0.0.0
172.16.121.1
eth0
Mapowanie adresów
Router musi zniszczyć otrzymany pakiet jeżeli nie znajdzie w swojej tabeli routingu odpowiedniej dla niego drogi do miejsca
przeznaczenia. W celu uniknięcia takiego przypadku ustanowiono drogi i routery domyślne tzn. takie do których takie pakiety "bez
drogi do celu" są przesyłane. Droga domyślna jest zdefiniowana w tabeli routingu routera jako droga do sieci o adresie 0.0.0.0.
Jeżeli router nie znajdzie w swojej tabeli routingu jasno zdefiniowanej drogi do miejsca przeznaczenia pakietu to przesyła dany
pakiet do najbliższego routera wpisanego w drogę do sieci o adresie 0.0.0.0. Jest to również metoda na zmniejszenie przez
administratorów tabel routingu w zarządzanych przez nich routerach, a co za tym idzie na przyśpieszenie ich działania.
Administrator sieci może bowiem ograniczyć tabelę routingu routera wyłącznie do najbliższych routerów i routera domyślnego.
Należy jednak uważać aby w końcu taki pakiet trafił do systemu Internetu gdzie któryś z routerów znajdzie dla niego właściwą
drogę.
W tym przykładzie pakiet wysłany ze stacji drogami domyślnymi trafi w końcu do systemu Internetu gdzie na pewno znajdzie się
router posiadający w swojej tabeli routingu zapisaną drogę dla tego pakietu.
Internetowe adresy umowne
Internetowe adresy umowne zostały wprowadzone w celu ułatwienia zapamiętania adresów. Podstawowa składnia takiego adresu
wygląda następująco:
[usługa.]nazwa.serwera.typ.kraj
Usługa jest znacznikiem mówiącym o tym jaki rodzaj usług jest dostępny na tym serwerze. W tabeli został przedstawiony wykaz
dostępnych usług.
Część adresu
Rodzaj usługi
ftp
serwer FTP
www
serwer World Wide Web
archie
serwer usługi Archie
gopher
serwer usługi Gopher
irc
serwer usługi IRC
Wykaz dostępnych usług.
Nazwa jest dowolną nazwą nadaną serwerowi przez administratora. Czasami nazwy zawierają części wskazujące na jego
geograficzne położenie (np.: waw.ids.edu.pl. - warszawski serwer Internetu Dla Szkół), bądź nazwę organizacji do jakiej dany
serwer należy.
Typ serwera mówi nam o kategorii do jakiej możemy zaliczyć dany serwer. Lista występujących kategorii została umieszczona w
tabeli.
Kod
Rozwinięcie
Opis
com
commercial
komputer komercjalny (ftp.microsoft.com)
edu
educational
komputer edukacyjny (np. uniwersytecki: plearn.edu.pl)
gov
governemet
komputer rządowy (np. urm.gov.pl)
mil
military
komputer wojskowy lub organizacji związanej z wojskiem
org
organization
inne organizacje
net
network
komputer zawierający zasoby sieciowe
Typy występujących serwerów internetowych
Ostatnim polem jest kraj w którym dany serwer został umiejscowiony. Pole to pozwala na łatwiejszą identyfikację miejsca z
którym się aktualnie łączymy. Wykaz znanych skrótów został zamieszczony w tabeli
Kod
Kraj
Kod
Kraj
Kod
Kraj
aq
Antarktyda
ar
Argentyna
at
Austria
au
Australia
be
Belgia
br
Brazylia
ca
Kanada
ch
Szwajcaria
ci
Chile
cr
Kostaryka
cs
Czechy
cy
Cypr
de
Niemcy
dk
Dania
ec
Ekwador
ee
Estonia
es
Hiszpania
fi
Finlandia
fr
Francja
gl
Grenlandia
gr
Grecja
hk
Hongkong
hr
Chorwacja
hu
Węgry
ie
Irlandia
il
Izrael
in
Indie
is
Islandia
it
Włochy
jp
Japonia
kr
Korea
kw
Kuwejt
lu
Luksemburg
lv
Łotwa
mx
Meksyk
my
Malezja
nl
Holandia
no
Norwegia
nz
N. Zelandia
pl
Polska
pr
Puerto Rico
pt
Portugalia
ru
Rosja
se
Szwecja
sg
Singapur
sk
Słowacja
sl
Słowenia
th
Tajlandia
tn
Tunezja
tr
Turcja
tw
Tajwan
uk
U.K.
us
USA
ve
Wenezuela
Lista znanych krajów występujących w Internecie
Jako, że Internet wywodzi się z USA adresy komputerów zlokalizowanych na terenie Stanów Zjednoczonych najczęściej nie
posiadają cząstki określającej kraj (np. wuarchive.wustl.edu - adres komputera-archiwum Washington University).
Natomiast w związku z powstawaniem sieci typu MAN komputery włączone do takich sieci zazwyczaj zamiast cząstki
określającej typ komputera posiadają skrót lub pełną nazwę miasta, w którym są zlokalizowane(np. elka.pw.waw.pl,
irc.warszawa.pl, ftp.lublin.pl).
Najczęściej jeżeli komputer spełnia jakąś konkretną rolę, jest serwerem określonej usługi to pierwsza cząstka adresu umownego
identyfikuje tą usługę.
C by Radek & Michał
Prawa autorskie
Do stworzenia tych stron na temat TCP/IP wykorzystałem fragmenty prac chronionych prawami autorskimi przez (C)
Radosława Roszczyka i Michała Karolaka 1996-1997, oraz moich własnych opracowań. Kopie te można rozprowadzać o
ile na wszystkich będzie zachowana uwaga o prawach autorskich i to pozwolenie.
Można kopiować i dystrybuwać ten dokumenty w wersji modyfikowanej pod warunkiem dosłownego kopiowania
zakładając, że praca pochodna jest dystrybuowana z takimi samymi prawami jak ten dokument. Tłumaczenia zaliczają się
także do wersji modyfikowanych.
Dystrybucja komercyjna jest dozwolona tylko po skontaktowaniu się z autorami dokumentów.