KURS TEORETYCZNY Z SIECI KOMPUTEROWYCH, Elektryczne


KURS TEORETYCZNY Z SIECI KOMPUTEROWYCH

1. Wstęp
2. Organizacje standaryzujące w dziedzinie sieci komputerowych
3. Model referencyjny OSI
4. Modemy i technologie Dial-up
5. Adresowanie IP
6. Gniazda na przykładzie systemu UNIX
7. Protokół IP
8. Wyznaczanie tras w sieci - rutery, rutery podstawowe, GGP, EGP, RIP, OSPF
9. Sieć ETHERNET
10. Sieć ATM
11. Sieć TOKEN RING
12. Porównanie sieci ETHERNET i TOKEN RING 
13. Wstęp do teleprzetwarzania
14. Technologia Klient-Server (telnet, ftp)
15. DCE RPC, MS RPC, SUN RPC (RMI), CORBA, JINI, COM+
16. Protokół HTTP
17. Protokół SMTP
18. DNS i Active Directory 
19. Bezpieczeństwo komputerowe

Uwaga! - przed czytaniem tego kursu powinno się najpierw przestudiować  KURS TEORETYCZNY Z SYSTEMÓW OPERACYJNYCH, w celu lepszego zrozumienia poniższego kursu.



ad.1.) Wiadomość można przekazać tylko za pomocą komunikatu. Komunikatem nazywamy odpowiednio zakodowaną wiadomość zawierającą pewną ilość informacji. Informacją nazywamy wielkość abstrakcyjną, która może być przechowywana w pewnych obiektach, przesyłana między tymi obiektami i stosowana do sterowania tymi obiektami, przy czym przez obiekty rozumie się organizmy żywe, urządzenia techniczne oraz systemy takich obiektów. Siecią nazywamy zbiór autonomicznych komputerów połączonych w sposób umożliwiający wymianę danych pomiędzy nimi oraz korzystanie ze wspólnych zasobów. Protokołem komunikacyjnym nazywamy zbiór reguł i zasad, według których dwie dane maszyny muszą postępować przy wymienianiu komunikatów. Protokół składa się z warstw. Warstwą protokołu nazywamy podstawowy poziom współdziałania w sieci, realizujący wymianę porcji danych między dwoma stacjami. Rodzaje sieci: Lan, Man (obejmuje wiele sieci Lan połączonych mostami i ruterami; najczęściej jest zgodna ze standardem IEEE 802.6) i Wan. Węzłem (Host) nazywamy dowolne urządzenie pracujące w sieci. Sieć można scharakteryzować podając:.1.  Topologie sieci  (topologią nazywamy sposób w jaki poszczególne węzły sieci są ze sobą połonczone). Wyróżniamy następujące topologie sieci: gwiazda, drzewo, pierścień, magistrala i hybrydowe. 2. Metodę dostępu do sieci (przez dostęp do sieci rozumiemy dostęp do fizycznego nośnika transmisji, czyli okablowania) - nazywamy ustalony zbiór reguł, które określają sposób, w jaki węzły wysyłają oraz odbierają dane poprzez sieć. Wyróżniamy dwie metody: dostęp wielokrotny z wykrywaniem nośnej i detekcją kolizji (CSMA/CD) - polega na tym, że każdy węzeł "śledzi" ruch w sieci i wysyła dane tylko wtedy gdy uzna, że w sieci nie ma transmisji, przekazywanie żetonu (token passing) - polega na tym, że węzeł może wysłać dane tylko wtedy, gdy posiada żeton, po czym przekazuje go do następnego węzła, jeśli dany węzeł otrzymał żeton, a nie ma nić do wysłania przekazuje żeton do kolejnego węzła. 3. Rodzaj transmisji danych (można wyróżnić różne rodzaje transmisji w zależności od przyjętego kryterium): -kryterium czasowe (transmisja asynchroniczna - polega na przesyłaniu danych porcjami, wraz ze specjalnymi znakami oznaczającymi początek oraz koniec transmisji każdej porcji danych, niewielka prędkość; transmisja synchroniczna - polega na przesyłaniu ciągłego strumienia danych, wraz ze znakami kontrolnymi, występującymi jedynie na początku oraz końcu strumienia: nadajnik i odbiornik jest taktowany zegarem.), -kryterium kierunkowe (transmisja jednokierunkowa - pozwala na przesyłanie danych tylko w jednym kierunku (simplex); transmisja naprzemienna (half dublex) - zezwala na przesyłanie w obu kierunkach ale nie jednocześnie; transmisja jednoczesna (full dublex) - pozwala na jednoczesne przesyłanie w obu kierunkach). 4. Fizyczne środki transmisji (są to nośniki, tzw. okablowanie za pomocą których dokonywana jest transmisja), wyróżniamy: skrętkę, kabel koncentryczny, światłowód, kabel współosiowy, pole elektryczne, mikrofale. Łączenie sieci - siec można łączyć ze sobą stosując do tego celu różne urządzenia. Wzmacniak sygnału (repeater) - to urządzenie służące do łączenia sieci lokalnych na poziomie warstwy fizycznej. Wzmacniak kopiuje sygnały elektryczne z jednej sieci fizycznej do drugiej. Router - to urządzenie służące do łączenia sieci Lan na poziomie warstwy sieciowej. Rutery są używane w sieciach rozległych Wan do przesyłania pakietów z jednej sieci lokalnej Lan do innej. Rutery są także używane do połączenia głównych serwerów (hostów) z internetem. Ruter jest odpowiedzialny za dostarczanie pakietów pod odpowiedni adres. Ruter to urządzenie łączące sieci różnych typów. Most - to urządzenie służące do łączenia miedzy sobą sieci Lan. Mosty łączom ze sobą sieci stosujące odmienne protokoły sieciowe lub odmienne metody transmisji. Bramy (gateways) łączą komputery osobiste z dużymi komputerami typu mainframe. Metasiecią nazywamy zbiór połączonych ze sobą komputerów w których używane są różne protokoły komunikacyjne. Internet to zbiór metasieci, w których używany jest protokół TCP/IP. Ethernet - system, dzięki któremu komputery mogą być łączone wzajemnie w celu wymiany danych i wiadomości. Koncentrator  (Hub) - to urządzenie elektroniczne, do którego jest podłączony, zwykle przy użyciu skrętki, wiele komputerów. Koncentrator symuluje sieć złożoną ze wszystkich podłączonych do niego komputerów. TCP/IP - jest to zestaw protokołów kontrolujący sposób przesyłania danych pomiędzy komputerami w internecie. TCP - protokół sterujący transmisją, używany do aplikacji, które wymagają ciągłego połączenia pomiędzy dwoma komputerami. UDP - równoległy do TCP, używany w aplikacjach, które wysyłają jedną szybką informację do innych. Sposób w jaki poszczególne węzły sieci komunikują się między sobą jest określany przez protokół komunikacji sieci. Dla sieci internet stworzono specjalny sposób adresowania, ułatwiający dodawanie nowych węzłów oraz określanie wielkości dołączonych podsieci. Adres liczbowy - więcej czytaj w podrozdziale adresowanie IP. Adres domenowy (odpowiednik słowny adresów liczbowych), zasada tworzenia takiego adresu określa tzw. DNS (Domain Name System). Adres ten obejmuje nazwę komputera, nazwę domeny, do której dany komputer należy oraz nazwę kraju. Część nazwy domeny jest nazwą typu instytucji np: com, edu, gov. Wybrane usługi dostępne w internecie: - gopher - usługa ułatwiająca korzystanie z internetu; informacja jest wyświetlana w postaci rozwijanych menu o różnych stopniach zagłębienia; po wybraniu opcji następuje odpowiednia akcja: otwarcie sesji telentu, przesłanie plików przez FTP,  - telnet (zdalny terminal) - usługa umożliwiająca wykonywanie poleceń na oddalonym komputerze: wejście wprowadzane z klawiatury użytkownika (klienta) jest przesyłane do oddalonego komputera (serwer) którego odpowiedzi są przesyłane na ekran klienta, - e-mail (poczta elektroniczna) - usługa umożliwiająca przesyłanie listów tj. tekstów o specjalnej strukturze (nagłówek, treść listu, lista dołączonych plików), - talk (rozmowa) - usługa umożliwiająca dwukierunkowe przesyłanie komunikatów między dwoma węzłami bezpośrednio połączonymi w sieci, - FTP: jest to protokół definiujący sposób przesyłania plików pomiędzy komputerami, FTP jest także nazwą programu służącego do przesyłania (w jednym lub obu kierunkach) plików tekstowych lub binarnych, - WWW - usługa ta pojawiła się na przełomie lat 1989/90 jako środek dostarczania oraz wyświetlania hiperdokumentów w sieci. U podstaw WWW leżą trzy główne idee: - HTTP - protokół transmisji przeznaczony do przesyłania plików hiper-tekstowych, efektywniejszy niż FTP, - URI i URL - identyfikator oraz adresy serwerów udostępniających pliki hiper-tekstowe, - hipertekst - to tekst zawierający odnośniki do innych tekstów. Do tworzenia stron WWW stosowane są różne narzędzia; do najpopularniejszych należą: - HTML - język programowania do tworzenia stron WWW; plik w HTML jest zwykłym plikiem tekstowym, w którym oprócz tekstu znajdują się słowa kluczowe (całość jest następnie interpretowana przez przeglądarkę), - VRML - język do tworzenia grafiki trójwymiarowej, - XML, - Flash, - Java - język programowania ogólnego przeznaczenia. Komunikacja międzyprocesowa w sieci (IPC):

0x01 graphic

Przykładowo gdy proces klienta chcę pobrać stronę z serwera, to przy użyciu gniazd komunikuje się z procesem httpd (apache) działającym na serwerze, a serwer przy użyciu protokołu TCP/IP wysyła żądaną stronę klientowi.
Dokumentacja prac prowadzonych w internecie, propozycje nowych albo poprawki do starych protokołów i standardów protokołów TCP/IP - wszystko to pojawia się w serii raportów technicznych zwanej RFC (lub też dokumentami RFC). W procesie redakcyjnym dokumenty RFC nie są oceniane, jak to ma miejsce w przypadku innych prac naukowych.

ad.2. ) ISO (International Organization for Standardization) - organizacja do określania standardów międzynarodowych. IAB (Internet Architecture Board) - organizacja zarządzająca techniczną stroną rozwoju internetu. IEEE (Institute of Electrical and Electronic Engineers) - instytut odpowiedzialny za określanie i publikowanie standardów w dziedzinie komunikacji oraz telekomunikacji. IETF (Internet Engineering Task Force) - grupa jest odpowiedzialna za ustawianie standardów technicznych dotyczących internetu, jak również za określanie nowych standardów technologii internetowych. ANSI (American National Standards Association) - ANSI to prywatna organizacja nie komercyjna, której celem jest ułatwienie rozwoju, koordynacji i publikowanie nieobowiązkowych standardów narodowych w USA. ITU (International Telecommunications Union) - ITU to organizacja, która jest odpowiedzialna za ustanowienie wielu europejskich standardów telekomunikacyjnych.

ad.3.) Model referencyjny OSI dzieli procesy zachodzące podczas sesji komunikacyjnej na siedem warstw funkcjonalnych, które zorganizowane są według naturalnych sekwencji zdarzeń zachodzących podczas sesji komunikacyjnej. Warstwy od 1 do 3 umożliwiają dostęp do sieci, a warstwy od 4 do 7 obsługują logiczną komunikację sieciową.

0x01 graphic

Najwyższa warstwa modelu OSI jest warstwa aplikacji. Pomimo sugestywnej nazwy warstwa ta nie obejmuje aplikacji użytkownika, pełni raczej rolę interfejsu pomiędzy tą aplikacją a usługami w sieci. Warstwę tą można uważać za inicjującą sesje komunikacyjne. Warstwa prezencji odpowiada za interpretację przesyłanych danych jej zadaniem jest przekazywanie informacji użytkownikowi sieci w zrozumiały dla niego sposób. Warstwa sesji odpowiada za usługi wykorzystywane przy prowadzeniu dialogu między dwoma użytkownikami (rozpoznawanie hasła, realizację procedur login, logout, określa czy komunikacja musi zachodzić w obu kierunkach). Gwarantuje również zakończenie wykonywania bieżącego zadania przed przyjęciem kolejnego. Warstwa transportu jest odpowiedzialna, za ustalenie połączenia, za transmisję danych między dwoma użytkownikami oraz dokładne adresowanie, jej zadaniem jest także wybór i kontrola odpowiedniego poziomu jakości tej transmisji. Warstwa sieci jest odpowiedzialna za wybór drogi (dróg) transmisji między stacjami końcowymi przy użyciu węzłów pośrednich. W warstwie tej pracują rutery. Warstwa łącza danych jest odpowiedzialna za upakowanie instrukcji, danych itp. w tzw. ramki, wykrywanie ewentualnie błędów transmisji oraz składowanie bitów w ramki. Ramka jest strukturą rodzinną - czyli właściwą dla warstwy łącza danych, która zawiera ilość informacji wystarczającą do pomyślnego przesyłania danych przez sieć lokalną do innego miejsca docelowego. Ramka musi zawierać mechanizm umożliwiający weryfikowanie integralności jej zawartości podczas transmisji. Warstwa fizyczna jest odpowiedzialna za przesyłanie strumieni bitów pomiędzy dwoma komputerami połączonymi bezpośrednim łączem. Warstwy 1 i 2 są niezbędne do komunikacji każdego rodzaju, niezależnie od tego czy sieć w której się ona odbywa jest siecią Lan, czy też Wan. SAP-y - adresy pomiędzy warstwami. Dane pomiędzy warstwami przechodzą między SAP-ami. Transmisja fizyczna i wirtualna pomiędzy warstwami: choć komunikacja w stosie odbywa się w płaszczyźnie pionowej, każdej warstwie wydaje się komunikować bezpośrednio z odpowiednimi jej warstwami w komputerach zdalnych. Logiczne zorganizowanie warstw możliwe jest dzięki temu, że do każdej warstwy stosu protokołów komputera nadającego dodawany jest nagłówek. Nagłówek ten może być rozpoznawany i użyty jedynie przez daną warstwę lub jej odpowiednik w innych komputerach. Stos protokołów komputera odbierającego usuwa kolejne nagłówki, warstwa po warstwie w miarę jej dane przesyłane są do jej warstwy aplikacji.

ad.4.) Komputer---sygnał cyfrowy---modem---sygnał analogowy---publiczna sieć telefoniczna---sygnał analogowy---modem---sygnał cyfrowy---komputer. Schemat powyżej pokazuje zamianę przez modem sygnału cyfrowego na analogowy. Transmisja danych zachodzi zwykle między dwoma urządzeniami znanymi jako DCE (urządzenie przesyłania danych, urządzenie komunikacyjne) i DTE (urządzenie końcowe terminal). Modem jest przykładem urządzenia DCE. Różnorodność dostępnego wyposażenia i rozmaitość aplikacji po obydwu stronach interfejsu DTE/DTC zwiększa potrzebę znormalizowania jego charakterystyk mechanicznych, elektrycznych i funkcjonalnych.

0x01 graphic

Na standard RS-232 składają się cztery podstawowe obszary informacji: - mechaniczne charakterystyki interfejsu, wyróżniamy dwa rodzaje złącz: D-25 i D-9. Każdemu z pinów złącza przypisano pewną funkcję związaną z przesyłaniem różnego rodzaju sygnałów i tak np. PIN2 odpowiada za wysyłanie danych a PIN3 za odbieranie danych. - sygnały elektryczne wykorzystywane w interfejsie, - funkcje wszystkich sygnałów, - podziały sygnałów dla specyficznych aplikacji. RS-232 i jego odpowiedniki zapewniają szeregową transmisję danych przez interfejs. W interfejsie szeregowym bity tworzące dane są wysyłane bit po bicie, synchronicznie lub asynchronicznie. Dial-up usługa "nakręcana" popularnie w internecie określenie dla połączenia terminalowego. Dial-in direct connection (podłączenie wybierane bezpośrednie) - podłączenie do internetu, które jest zestawiane przez wybranie numeru telefonicznego do komputera poprzez linie telefoniczną. Po uzyskaniu połączenia komputer danego użytkownika funkcjonuje w taki sposób, jakby był sam jednym z serwerów internetu. Dial-in termianl connection (podłączenie wybierane terminalowe) - podłączenie do internetu, które jest zestawione przez wybranie numeru telefonicznego do komputera poprzez linie telefoniczną. Po uzyskaniu połączenia komputer danego użytkownika funkcjonuje jako terminal podłączony do komputera operatora usług.

ad.5.) Dla sieci internet stworzono specjalny sposób adresowania, ułatwiający dodawanie nowych węzłów oraz określanie wielkości dołączonych podsieci. Adresy zapisane są w notacji dziesiętno-kropkowej. Adresy IP mają postać:

0x01 graphic

Klasy adresów:

0x01 graphic

Dla klasy A może istnieć maksymalnie 16777214 hostów, dla klasy B 65534 hosty, a dla klasy C 244 hosty. Oprócz tego występuje klasa adresów D tzw. adresy rozgłoszeniowe (multicasting) oraz klasy adresów E do wykorzystania w przyszłości. Adres np. 150.254.68.1 w postaci binarnej wygląda następująco:  10010110.11111110.01000100.00000001. Ze względu na rosnącą liczbę małych sieci adresy klasy B stały się niewystarczające. Problem ten został zażegnany przez wykorzystanie jednego adresu sieci dla wielu sieci fizycznych (adresowanie z uwzględnieniem podsieci).

0x01 graphic

Ośrodek z dwiema sieciami fizycznymi wykorzystuje adresowanie podsieci do przydzielania im pojedynczego adresu klasy B. Rurter R przyjmuje cały ruch skierowany do sieci 128.10.0.0 i wybiera właściwą sieć fizyczną w zależności od trzeciego oktetu adresu. Jedynie lokalne rutery wiedzą, że istnieje wiele sieci fizycznych i potrafią przekazywać detagramy między tymi sieciami. Rutery w innych sieciach przesyłają informację tak, jakby miały do czynienia z jedną siecią fizyczną.

0x01 graphic

Maski - z naszych rozważań wynika, że wybór schematu adresowania podsieci jest równoważny z wyborem podziału lokalnej części adresu IP na część identyfikującą sieć lokalną i część identyfikującą komputer. W istocie większość ośrodków stosuje takie właśnie rozwiązanie, ale standard adresowania podsieci pozwala na bardziej skomplikowane sposoby przydziału adresów. Standard określa, że w ośrodku wykorzystującym podział na podsieci trzeba określić 32-bitową maskę podsieci dla każdej sieci. Przykład!

0x01 graphic

ad.6.) Asocjacja w sposób jednoznaczny opisuje kanał komunikacyjny (transportowy) pomiędzy komputerem klienta i serwera. Podstawą mechanizmu wejścia - wyjścia dla sieci w systemie UNIX BSD jest abstrakcyjny mechanizm znany jako gniazda. Gniazdo należy traktować jako uogólnienie mechanizmu dostępu do plików udostępniające jeden z końców łącza komunikacyjnego. W poniższym przykładzie pokazano standardową obsługę mechanizmu gniazd w UNIXie.

0x01 graphic

ad.7.) Protokół IP zawiera dwie ważne definicje: po pierwsze definicję podstawowej jednostki przesyłanych danych przez intersieć TCP/IP, po drugie definicje operacji trasowania wykonywanej przez oprogramowanie IP, polegające na wybieraniu trasy, którą będą przesyłane dane. Warstwy protokołu TCP/IP - schemat:

0x01 graphic

W sieci fizycznej jednostką przesyłania danych jest ramka, która zawiera nagłówek i dane, przy czym nagłówek zawiera takie informacje jak (fizyczne) adresy nadawcy i odbiorcy. W intersieciach podstawowa jednostka danych jest nazwana detagramem. Detagram jest podzielony na nagłówek i dane. Nagłówek detagramu zawiera adresy nadawcy i odbiorcy oraz pole typu, które identyfikuje zawartość detagramu. Nagłówek detagramu zawiera adres IP, natomiast nagłówek ramki zawiera adresy fizyczne. Format detagramu internetu - podstawowej jednostki przesyłu w intersieciach TCP/IP:

0x01 graphic

 

Multipleksowanie i demultipleksowanie: protokoły komunikacyjne wykorzystują metody multipleksowania i demultipleksowania na poziomach wszystkich warstw. Przy wysyłaniu komunikatu komputer nadawcy dołącza do danych dodatkowe bity, które wskazują typ komunikatu, program który go nadał oraz używane protokoły. Wszystkie komunikaty są umieszczane w przeznaczonych do przesyłania ramkach sieciowych. Oprogramowanie warstwy interfejsu sieciowego używa typu ramki do wybierania procedury, która obsługuje przybywającą ramkę. Mówimy, że interfejs sieciowy na podstawie typu ramki demultipleksuje ją. W celu umożliwienia takiego wyboru oprogramowanie nadawcy musi przed transmisją ustawić pole typu ramki. Stąd każdy moduł oprogramowania, który wysyła ramki, używa pola typu do opisywania zawartości ramki. Multipleksowanie i demultipleksownanie pojawia się w prawie wszystkich warstwach protokołów. Przykładowo, gdy interfejs sieciowy zdemultipleksuje ramki i prześle te z nich, które zawierają detagramy IP do modułu IP, oprogramowanie IP wydobędzie z nich detagramy i dalej je zdemultipleksuje zgodnie zgodnie z protokołem transportu. Aby zdecydować w jaki sposób obsłużyć detagram, oprogramowanie intersieci sprawdza nagłówek detagramu i wybiera na podstawie typu detagramu odpowiednie procedury. Możliwe typy detagramów to: ICMP, UDP, TCP oraz IGMP.

0x01 graphic

TCP - protokół sterujący transmisją, używany do aplikacji które wymagają ciągłego połączenia pomiędzy dwoma komputerami. UDP - równoległy do TCP, używany w aplikacjach, które wysyłają jedną szybką informację do innych. Protokół odwzorowywania adresów (ARP) zapewnia mechanizm, który umożliwia komputerowi odnajdywanie fizycznego adresu maszyny docelowej z tej samej sieci fizycznej przy użyciu jego adresu IP. Protokół ARP w celu ustawienia fizycznego adresu komputera na podstawie adresu IP rozgłasza wśród wszystkich maszyn w sieci prośbę ARP zawierającą adres IP, a komputer zawierający ten adres odpowiada za pomocą odpowiedzi ARP, która zawiera adres fizyczny. Protokół odwrotnego odwzorowywania adresów (RARP) - zwykle adres IP komputera jest przechowywany w jego pamięci zewnętrznej, skąd jest pobierany przez system operacyjny przy uruchomieniu maszyny. Nasuwa się zatem pytanie: "Jak maszyna nie wyposażona w dysk twardy określa swój adres IP?". Program ładujący system (umieszczony w ROM) , zaczynający pracę w komputerze bez dysku twardego, musi użyć sieci do ściągania z serwera adresu IP. Taka maszyna musi zatem czasowo używać adresów fizycznych danej maszyny. Gdy komputer ustali swój adres IP, może zacząć przesyłanie danych w intersieci. Maszyna która potrzebuje ustalić swój adres IP, wysyła zapytanie do serwera i czeka na jego odpowiedz. Komputer wysyłający zapytanie o adres IP rozgłasza swoje zapytanie do wszystkich maszyn w sieci lokalnej. Na takie pytanie odpowiada jeden bądź więcej serwerów. Komputer bez dysku twardego ustala swój adres IP, komunikując się z serwerem za pomocą protokołu  RARP. Nadawca rozgłasza zapytanie RARP, które zawiera jego adres zarówno jego adres nadawcy, jak i odbiorcy, przy czym sprzętowe pole adresu odbiorcy zawiera jego fizyczny adres sieciowy. Zapytanie dociera do wszystkich maszyn w sieci, ale przetwarzają je i udzielają odpowiedzi tylko serwery RARP. Detagramy nie są dostarczane na skutek: błędów linii komunikacyjnych i procesów oraz gdy maszyna docelowa jest czasowo lub na stałe odłączona od sieci, albo gdy licznik czasu życia się wyczerpie, albo gdy rutery są tak obciążone, że nie mogą przetworzyć przybywających detagramów. Protokół ICMP umożliwia ruterom wysyłanie do innych węzłów komunikatów o błędach i komunikatów kontrolnych - zapewnia komunikację między oprogramowaniem IP na jednej maszynie o oprogramowaniem IP na innej. Komunikaty ICMP podróżują w intersieci w częściach detagramów IP przeznaczonych na dane. Jednak odbiorcą końcowym komunikatu ICMP nie jest ani program użytkowy, ani użytkownik, ale oprogramowanie IP na tej maszynie. Przychodzący komunikat błędu ICMP jest obsługiwany przez moduł oprogramowania ICMP. Oczywiście, gdy ICMP zorientuje się, że problem spowodował protokół (TCP, UDP) lub program użytkowy, przekaże informację do odpowiedniego modułu. Komunikaty ICMP oznajmujące o błędach zawsze zawierają nagłówek i pierwsze 64 bity danych detagramu, z którym był problem. Pole TYP w komunikacie ICMP definiuje zarówno jego znaczenie, jak i format. Wśród typów znajduje się: 0 - odpowiedz z echem, 3 - odbiorca nieosiągalny, 11- przekroczenie terminu detagramu, 12 - kłopot z parametrami detagramu, itp. Fragmentacja, MTU - w idealnym przypadku cały detagram mieści się w jednej ramce fizycznej, co sprawia, że przesyłanie przez sieć fizyczną jest tanie. Każda metoda przesyłania oparta na wymianie detagramów ma ustaloną górną granicę ilości danych, które mogą być przesyłane w jednej fizycznej ramce. W sieci Ethernet np. "porcja" danych jest ograniczona do 1500 oktetów, natomiast w sieci FDDI  można przesłać ok. 4470 oktetów danych na ramkę. Ten parametr sieci nazywa się maksymalną wielkością jednostki transmisyjnej danej sieci (MTU). Mniejsze kawałki, na które jest dzielony detagram, nazywa się fragmentami, a proces dzielenia detagramu fragmentacją.

0x01 graphic

Ruter R1 fragmentuje duże detagramy przesyłane od A do B; R2 fragmentuje duże detagramy przesyłane od B do A. Każdy komputer przyłączony do intersieci TCP/IP musi znać swój adres IP, zanim będzie mógł wysyłać i odbierać detagramy. W celu uniknięcia niektórych wad RARP opracowano protokół osiągnięcia stanu działania (BOOTP). W związku z tym, że BOOTP używa UDP i IP, może on być zaimplementowany jako program użytkowy. BOOTP jest bardziej efektywny niż RARP, gdyż umożliwia za pomocą pojedynczego komunikatu określenie wielu rzeczy potrzebnych przy starcie, w tym: adres IP komputera, adresu rutera oraz adresu serwera. W jaki sposób komputer, może przesłać komunikat BOOTP w detagramie IP zanim dowie się, jaki jest jego adres IP. Oprogramowanie IP może przyjmować i wysyłać detagramy, które mają adres ograniczonego rozgłaszania (255.255.255.255), nawet zanim oprogramowanie pozna swój lokalny adres IP. Zasada tutaj jest następująca: program użytkowy może używać adresu ograniczonego rozgłaszania detagramu w lokalnej sieci, zanim oprogramowanie IP pozna adres IP sieci lokalnej lub adres IP swojej maszyny. Komputer klient musi rozgłosić swoją prośbę BOOTP, stosując adres ograniczonego rozgłaszania IP. A co z odpowiedzią? Serwer nie może bezpośredni wysłać odpowiedzi. Chociaż może to nie być oczywiste serwer może potrzebować użyć przy odpowiedzi adresu ograniczonego rozgłaszania , nawet mimo tego, że zna adres IP klienta. Aby przekonać się dlaczego rozważmy co się stanie, gdy program użytkowy serwera będzie próbował przesłać detagram używając adres IP klienta. Po wyznaczeniu trasy tego detagramu oprogramowanie IP serwera prześle ten detagram do oprogramowania interfejsu sieciowego. Oprogramowanie interfejsu musi przekształcić adres następnego etapu na odpowiadający mu adres sprzętowy, przypuszczalnie używając protokołu ARP. Jednakże ponieważ klient jeszcze nie otrzymał odpowiedzi BOOTP nie rozpozna swojego adresu IP, a zatem nie odpowie na pytanie ARP serwera. Wobec tego serwer ma dwie możliwości: albo rozgłaszać odpowiedz, albo użyć informacji z pakietu prośby do "ręcznego"  dodania odpowiedniej pozycji swojej pamięci ARP. W systemach które nie umożliwiają programom użytkowym modyfikowania pamięci podręcznej ARP rozgłaszanie jest jedynym rozwiązaniem. Dhcp jest najnowszą usługą umożliwiającą dynamiczne przydzielanie adresów IP komputerom klientom (na temat dhcp więcej czytaj w literaturze).

ad.8.) Wyznaczanie tras w intersieciach - w systemie z wymianą detagramów trasowanie (routing) oznacza proces wyboru ścieżki, po której będą przesyłane detagramy, a ruter to komputer, który dokonuje tego wyboru. Algorytm wyznaczania tras IP musi określić sposób przesyłania detagramów przez wiele sieci fizycznych. Przeważna część oprogramowania trasującego wybiera trasy na podstawie ustalonych informacji o najkrótszych ścieżkach. Każdy ruter ma fizyczne połączenia z jedną lub więcej sieciami. Natomiast zwykły komputer ma zwykle połączenie tylko z jedną siecią fizyczną. Zarówno komputery w sieci, jak i rutery biorą udział w wyznaczaniu tras detagramów IP. Przykład komputera z jednym połączeniem do sieci, który musi wybierać trasy detagramów - schemat:

0x01 graphic

Rodzaje trasowania: - dostarczanie bezpośrednie - przesyłanie detagramu od jednej maszyny do drugiej w ramach pojedynczej sieci fizycznej jest podstawą wszelkiej komunikacji w intersieciach. Dwie maszyny mogą wziąć udział w bezpośrednim przesyłaniu tylko wtedy, kiedy obie są przyłączone do tej samej sieci fizycznej (np. sieci Ethernet), - dostarczanie pośrednie - ma miejsce, gdy adresat nie jest podłączony do tej samej sieci fizycznej, co wymaga przesyłania detagramu za pośrednictwem rutera. Skąd nadawca wie, czy odbiorca znajduje się w bezpośrednio przyłączonej sieci? Adresy intersieciowe maszyn przyłączonych do tej samej sieci mają wspólny prefiks identyfikujący sieć. Uzyskanie prefiksu sieci z adresu IP wymaga tylko kilku instrukcji maszynowych. Dostarczanie bezpośrednie - komputer może wysłać fizyczną ramkę do dowolnego innego komputera w samej sieci fizycznej. W celu przesyłania detagramu IP nadawca kapsułkuje go w fizycznej ramce odwzorowuje adres IP odbiorcy na adres fizyczny, a następnie dostarcza go za pośrednictwem sieci fizycznej. Z punktu widzenia intersieci najlepiej traktować dostarczanie bezpośrednie jako ostatni etap dostarczania detagramu nawet gdy po drodze wędruje on przez wiele sieci i pośrednich rutenów. Ostatni ruter na ścieżce między nadawcą i odbiorcą detagramu jest przyłączony do tej samej sieci fizycznej co odbiorca wykonuje on zatem dostarczanie bezpośrednie. Dostarczanie pośrednie - jest bardziej skomplikowane niż dostarczanie pośrednie, gdyż nadawca musi ustalić, do którego rutera należy wysłać detagram. Ruter musi następnie przekazać dalej w kierunku sieci, w której znajduje się odbiorca. Rutery w intersieci TCP/IP stanowią strukturę połączonych i współpracujących elementów. Detagramy są przesyłane między kolejnymi ruterami, aż trafią do rutera, który może je dostarczyć bezpośrednio. Skąd ruter wie, dokąd przesłać każdy detagram? Skąd komputer wie, który ruter wybrać w zależności od adresata wysyłanego detagramu? Te dwa pytania są ze sobą związane, gdyż obie dotyczą trasowania IP. Odpowiemy na nie w dwóch etapach, rozważając podstawowy mechanizm wyznaczania tras oparty na tablicach tras, a odkładając na pózniej odpowiedz na pytanie, skąd rutery czerpią informację o nowych trasach. Trasowanie IP oparte na tablicach tras - zwykły algorytm trasowania IP wykorzystuje tablicę tras intersieci dostępną na każdym komputerze, który przechowuje informacje o możliwych adresatach i trasach, które do nich wiodą. Zarówno zwykłe komputery jak i rutery zajmują się wyznaczaniem tras detagramów i jedne, i drugie są więc wyposażone w tablice tras IP. Przed wysłaniem każdego detagramu oprogramowanie trasujące danego komputera lub rutera korzysta z informacji zawartych w tablicy w celu wyznaczenia odpowiedniej trasy. Wykorzystanie części adresu odbiorcy identyfikującej sieć zamiast pełnego adresu odbiorcy umożliwia efektywne trasowanie przy użyciu niewielkich tablic tras. Co ważniejsze jednak, pozwala to na "ukrywanie" informacji, ograniczając szczegóły dotyczące poszczególnych komputerów do ich lokalnego środowiska. W typowym przypadku tablica tras zawiera pary (N, R), gdzie N jest adresem IP docelowej sieci , a R - adresem IP, następnego rutera na trasie do sieci N. W celu ukrycia informacji, zapewniania małego rozmiaru tablicy tras i umożliwiania efektywnego wyznaczania tras oprogramowanie trasujące IP przechowuje jedynie informacje o adresach docelowych sieci, a nie poszczególnych komputerów.

0x01 graphic

Gdy do rutera R dotrze detagram adresowany do komputera w sieci 40.0.0.0, R kieruje go pod adres 30.0.0.7, to znaczy pod adres rutera S. Ruter S może taki detagram dostarczyć bezpośrednio. R może połączyć się z adresem 30.0.0.7, gdyż oba rutery są bezpośrednio przyłączone do sieci 30.0.0.0. Oparcie wyboru tras jedynie na identyfikatorze docelowej sieci ma pewne następstwa. Po pierwsze detagramy wszystkich typów są przesyłane tą samą trasą niezależnie od opóźnień i przepustowości sieci fizycznej. Po drugie, jedynie ostatni ruter komunikuje się z komputerem docelowym, tylko on więc wie, czy ten komputer istnieje i działa. Po trzecie, każdy ruter wyznacza trasy niezależnie od pozostałych, a więc detagramy przesyłane od komputera A do komputera B mogą wędrować zupełnie inną trasą niż detagramy od komputera B do komputera A. Trasy specyficzne dla poszczególnych komputerów - cały proces wyznaczania tras jest realizowany poprzez sieć, a nie poprzez poszczególne komputery, ale większość implementacji oprogramowania IP, pozwala na odstępstwa od tej zasady - ustalenie tras specyficznych dla poszczególnych komputerów. Możliwość określania szczególnej trasy do wskazanej maszyny jest przydatne przede wszystkim przy usuwaniu błędów w połączeniach z siecią i błędów w tablicach tras. Trasy domyślne - inna metoda stosowana w celu ukrycia informacji i zapewnienia małego rozmiaru tablic tras polega na połączeniu wielu pozycji w tablicy w jedną pozycję domyślną. Pomysł polega na tym, że oprogramowanie IP sprawdza najpierw, czy docelowa sieć jest wymieniona w tabeli tras. Jeśli nie znajdzie na jej temat żądanej informacji, to procedury wyznaczania trasy wysyłają detagramy do rutera domyślnego. Algorytm trasowania IP (w książce Sieci komputerowe TCP/IP strona 154). Pochodzenie tablicy tras - rutery zapewniają aktywne połączenie między sieciami. Detagram wędruje od rutera do rutera, aż dotrze do takiego rutera, który jest bezpośrednio przyłączony do tej samej sieci co odbiorca. W ten sposób system ruterów tworzy podstawę architektury intersieci i obsługuje cały ruch za wyjątkiem dostarczania detagramów między bezpośrednio połączonymi maszynami. Każda pozycja w tablicy tras zawiera część identyfikującą sieć adresu docelowego i adres maszyny następnej na tej ścieżce do tej sieci. Ruter, podobnie jak zwykły komputer, dostarcza bezpośrednio detagramy skierowane do odbiorców przyłączonych do tej samej sieci, do której jest on sam przyłączony. Skąd komputer i rutery biorą informację, które umieszczają w tablicy tras? To zagadnienie ma dwa aspekty: jakie wartości należy przechowywać w tablicach i skąd rutery biorą te wartości. Odpowiedz na oba pytania zależy od złożoności architektury i rozmiaru intersieci oraz od polityki administracyjnej. W ogólności ustalenie tras wiąże się z inicjalizacją i wprowadzeniem zmian. W czasie uruchamiania każdy ruter musi ustalić minimalny zbiór tras, a następnie zmodyfikować tablice tras , kiedy nastąpi zmiana tras (np. przy awarii interfejsu). Sposób inicjalizacji zależy od systemu operacyjnego. W niektórych systemach w czasie uruchamiania ruter czyta początkową zawartość tablicy tras z pamięci zewnętrznej, s potem przechowuje ją w pamięci operacyjnej. Czasami system operacyjny zaczyna pracę z pustą tablicą tras, którą trzeba wypełnić przez wykonanie odpowiednich poleceń (np. poleceń znajdujących się w skrypcie startowym systemu). Jeszcze inne systemy operacyjne podczas uruchamiania ustalają początkowy zbiór tras na podstawie adresów sieci lokalnych, do których jest przyłączony dany komputer, a następnie zapytują sąsiednie komputery o dodatkowe trasy. Po ustaleniu początkowej zawartości tablicy tras ruter musi wprowadzić w niej zmiany. W małych wolno zmieniających się intersieciach administratorzy mogą ręcznie zmieniać informację o trasach. W dużych zmieniających się środowiskach, ręczne zmiany są nieznośnie wolne. Potrzebne są więc metody automatyczne.
Oryginalna architektura internetu i rutery podstawowe - ogólnie rzecz ujmując, rutery we wczesnym okresie rozwoju internetu można było podzielić na dwie grupy. Jedna z nich stanowiła mały zbiór ruterów podstawowych zarządzanych przez (INOC), a druga - większy zbiór ruterów pobocznych zarządzanych przez indywidualne grupy. Od systemu ruterów podstawowych wymagano pewnych, poprawnych, autorytatywnych informacji o trasach do wszystkich możliwych celów. Stanowił on spoiwo łączące internet w jedną całość i gwarantujące jednolitość połączeń międzysieciowych. Na mocy powszechnie respektowanej umowy każdy ośrodek mający adres sieci w internecie musiał zapewnić dostarczanie tego adresu do ruterów podstawowych. Rutery podstawowe komunikowały się między sobą, dzielona między nimi informacja była więc poprawna. Dzięki centralnemu  nadzorowi, system ruterów podstawowych działał pewnie i niezawodnie. Znając trasy do wszystkich celów, rutery podstawowe nie potrzebowały tras domyślnych. Jeżeli ruter nie miał adresu detagramu w swojej tablicy tras, to generował komunikat ICMP o nieosiągalności odbiorcy i pomijał detagram. Rutery podstawowe unikały nieefektywności, eliminując trasy domyślne. System ruterów podstawowych internetu pokazany jako zbiór ruterów łączących sieci lokalne z ARPANET-em - schemat:

0x01 graphic

Komputery w sieciach lokalnych przekazują wszystkie nielokalne detagramy do najbliższego rutera podstawowego. Od architektury ruterów podstawowych do równorzędnych sieci szkieletowych - włączenie do internetu sieci NSFNET skomplikowało metody wyznaczania tras. Sieć NSFNET była połączona z siecią szkieletową ARPANET przez jeden ruter w Pittsburgu. Rutery w obrębie NSFNET-u znały lokalnych odbiorców i używały tras domyślnych przy przesyłaniu wszystkich detagramów skierowanych poza te sieć do systemu ruterów podstawowych przez ruter w Pittsburgu. Gdy sieć NSFNET rozrosła się i stała się zasadniczą częścią internetu dodano wiele połączeń między sieciami szkieletowymi ARPANET i NSFNET. Przykład sieci równorzędnych połączonych wieloma ruterami - schemat ilustruje architekturę internetu z 1989 roku:

0x01 graphic

Skąd rutery czerpią informację o nowych trasach? Wyznaczanie tras z wykorzystaniem wektora - odległości. Określenie wektor - odległość odnosi się do klasy algorytmów używanych przez rutery do rozpowszechniania informacji o trasach. Każdy ruter przechowuje w tablicy listę wszystkich znanych tras. Przy uruchamianiu wypełnia tablicę tras pozycjami zawierającymi informację o wszystkich bezpośrednio połączonych sieciach. Każda pozycja w tablicy tras wskazuje sieć docelową i odległość do tej sieci, zwykle wyrażona za pomocą liczby etapów. Okresowa każdy ruter wysyła zawartość swojej tablicy do każdego z bezpośrednio połączonych z nim ruterów.

0x01 graphic

Zaznaczone pozycje na rysunku powyżej (->) będą użyte do zmiany istniejących bądź dodania nowych pozycji do tablicy tras rutera K. Uwaga! - zauważmy, że gdy J podaje odległość N, to poprawna pozycja w tablicy tras rutera K będzie zawierać odległość N+1.
Protokół GGP - oryginalne rutery podstawowe do przekazywania informacji o trasach używały protokołu wektor - odległość znanego jako protokół komunikacji między bramkami (GGP). Choć protokół GGP nie jest już zasadniczą częścią zestawu protokołów TCP/IP, to stanowi konkretny przykład wyznaczania tras z wykorzystaniem wektorów - odległości. Informacje GGP były przesyłane w detagramach IP podobnie jak detagramy UDP lub segmenty TCP. Każdy komunikat GGP miał nagłówek o ustalonym formacie, który identyfikował typ komunikatu i format pozostałych pól. GGP Informacje przesyłane przez rutery za pomocą GGP składały się ze zbioru par (N, D), gdzie N jest adresem IP sieci, a D odległością mierzoną w etapach. Mówimy, że ruter używający GGP ogłaszał nazwy sieci, do których był podłączony i koszty połączeń z nimi. Wyznaczanie tras - systemy autonomiczne (EGP) - pozwalanie, aby ośrodki miały wiele sieci i ruterów oznacza, że system ruterów podstawowych nie jest bezpośrednio podłączony do wszystkich sieci. Potrzebny jest zatem dodatkowy mechanizm, który pozwoliłby temu systemowi na dowiadywanie się o nich. Przykład wielu sieci i ruterów przyłączonych do sieci szkieletowej za pomocą jednego połączenia - schemat:

0x01 graphic

Potrzebny jest mechanizm do przekazywania do sytemu ruterów podstawowych informacji o osiągalności dodatkowych sieci lokalnych. Przypuśćmy, że w ośrodku zainstalowano sieć 4 i przydzielono jej adres intersieciowy. Przyjmijmy także, że rutery R2, R3 i R4 mają informację o trasach we wszystkich czterech sieciach lokalnych, a także o domyślnych trasach do rutera R1. Jednakże ponieważ ruter R1 jest podłączony tylko do sieci lokalnej 1, to nie wie on o sieci 4. W związku z tym, że poszczególne węzły mogą mieć dowolnie skomplikowaną strukturę, system ruterów  podstawowych nie będzie połączony bezpośrednio do wszystkich sieci. Potrzebny jest mechanizm, który pozwala pobocznym ruterom na informowanie systemu ruterów podstawowych o "schowanych" sieciach oraz mechanizm, który pozwoli pobocznym ruterom uzyskanie informacji z tego systemu. Koncepcja systemu autonomicznego. Przez który ruter powinno się przekazywać informacje o osiągalności? Połączenie intersieciowe, takie jak na rysunku powyżej, które pojawia się, gdy węzeł sieci szkieletowej ma skomplikowaną strukturę wewnętrzną, nie powinny być traktowane jako wiele niezależnych sieci przyłączonych do intersieci, ale jako jedna organizacja, która ma pod kontrolą wiele sieci. W związku z tym, że te sieci i rutery podlegają jednemu zarządcy, zarząd ten może zapewnić, że wewnętrzne trasy pozostają sensowne i drożne. Co więcej, zarząd ten może wybrać jedną ze swych maszyn, aby ta służyła jako maszyna, która powiadamia świat zewnętrzny o osiągalności. Do celów związanych z wyznaczaniem tras grupa sieci i ruterów kontrolowana przez pojedynczy ośrodek zarządzający jest zwana systemem autonomicznym. Rutery w ramach systemu autonomicznego mają swobodę w odbieraniu własnych mechanizmów odkrywania, propagowania, uaktualniania i sprawdzania poprawności tras. Aby sieci, które są ukryte wewnątrz systemu autonomicznego, były osiągalne w całym internecie, każdy taki system musi zgodzić się na oferowanie innym systemom autonomicznym informacji o osiągalności. Dla architektury systemu ruterów podstawowych jest istotne, aby systemy autonomiczne przekazywały informację do ruterów podstawowych. Zwykle w systemie autonomicznym jeden ruter przejmuje odpowiedzialność za oferowanie tras i porozumiewanie się bezpośrednio z jakimś ruterem podstawowym. Możliwe jest jednak, że wiele ruterów będzie oferować trasy do różnych podsieci tego samego systemu autonomicznego. Architektura intersieci z systemami autonomicznymi w węzłach sieci szkieletowej - schemat:

0x01 graphic

Każdy z systemów autonomicznych składa się z wielu sieci i ruterów działających pod jednym zarządem. Protokół EGP - dwa rutery, które wymieniają informacje o trasach, są nazywane zewnętrznymi sąsiadami, gdy należą do dwóch różnych systemów autonomicznych lub wewnętrznymi sąsiadami, gdy należą do tego samego systemu autonomicznego Protokół używany przez zewnętrznych sąsiadów do oferowania informacji o osiągalności jest nazywany protokołem zewnętrznym bramki lub protokołem EGP, a rutery które go używają zwane są ruterami zewnętrznymi. W internecie EGP jest szczególnie ważne, gdyż systemy autonomiczne używają go do oferowania systemowi ruterów podstawowych informacji o osiągalności. Ilustracja idei dwóch ruterów zewnętrznych R1 i R2 - używających EGP do oferowania zebranych informacji o sąsiadach w ramach ich systemów autonomicznych - schemat: 

0x01 graphic

Jak wynika z nazwy, zewnętrzne rutery są zwykle bliskie zewnętrznej krawędzi systemu autonomicznego.

0x01 graphic

Mierzenie z punktu widzenia odbiorcy - inaczej niż inne protokoły propagacji informacji trasowych, EGP nie podaje własnych kosztów osiągalności sieci docelowych. W zamian za to "mierzy" ono odległość do wspólnej początkowej sieci, a zatem z punktu widzenia partnera wszystkie odległości są prawidłowe. Na rysunku ruter R2 realizuje protokół EGP w imieniu swojego systemu autonomicznego. Musi on powiadamiać o osiągalności sieci od 1 do 4. Uwaga! - z punktu widzenia R2 sieć 2 znajduje się w odległości zero. Jednakże powiadamia on, że sieć ta znajduje się w odległości jeden, co stanowi odległość od sieci podstawowej. Przykład systemu autonomicznego:

0x01 graphic

Ruter R2 realizuje protokół EGP i powiadamia o odległości do innych sieci mierzonych względem sieci podstawowej (nie są to zapisy w jego tablicy tras). Uwaga! - EGP "mierzy" odległości od wspólnej początkowej sieci, a zatem z punktu widzenia partnera wszystkie odległości są prawidłowe. Wyznaczanie tras w systemie autonomicznym (RIP, OSPF, HELLO) - dwa rutery w systemie autonomicznym są wewnętrzne względem siebie. Na przykład, dwa rutery podstawowe internetu są wewnętrzne względem siebie, gdyż system ruterów podstawowych tworzy jeden system autonomiczny. Dwa rutery w sieci uniwersyteckiej są wewnętrzne względem siebie, jeżeli komputery w tej sieci są połączone w jeden system autonomiczny. Skąd rutery w systemie autonomicznym dowiadują się o sieciach w tym systemie? Z powodu braku jednego standardu używamy określenia protokół bramek wewnętrznych (IGP) jako ogólnego określenia dla dowolnego algorytmu używanego przez rutery wewnętrzne do wymiany informacji o osiągalności i o trasach. Poglądowy rysunek dwóch systemów autonomicznych, z których każdy wewnętrznie używa protokołu IGP, ale ruter zewnętrzny każdego systemu porozumiewa się z drugim systemem za pomocą EGP.

0x01 graphic

W szczególności rutery używające EGP do oferowania informacji o osiągalności potrzebuje zwykle IGP do otrzymywania informacji o własnym systemie autonomicznym. Protokół RIP - jednym z najczęściej używanych protokołów IGP jest protokół informowania o trasach (RIP). Jest on prostą implementacją algorytmu wyznaczania tras typu wektor - odległość w sieciach lokalnych. Dzieli on uczestniczące maszyny na czynne i bierne (milczące). Czynne rutery oferują innym swoje informacje o trasach, maszyny bierne słuchają i modyfikują swoje informację o trasowaniu na podstawie otrzymanych ofert, ale niczego nie oferują. Tylko ruter może używać RIP w trybie czynnym, zwykle komputery muszą używać trybu biernego. Ruter wykorzystujący RIP w trybie czynnym rozgłasza komunikat co 30 sekund. Komunikat taki zawiera informację pochodzące z bieżącej zawartości bazy danych o trasach tego rutera. Każdy komunikat składa się z par, z których każda zawiera adres IP sieci i liczbę całkowitą określającą odległość do tej sieci. Oprogramowanie RIP musi poprawnie reagować na trzy rodzaje błędów: - po pierwsze algorytm ten nie wykrywa automatycznie pętli, zatem musi podjąć własne środki zaradcze po napotkaniu pętli. - po drugie, aby nie pojawiła się niestabilność, RIP musi używać małych wartości maksymalnych możliwych odległości (RIP używa wartości 16). - po trzecie wykorzystywany przez RIP algorytm wektor - odległość powoduje powstanie problemu powolnej zbieżności, które wywołuje powstanie niezgodności z powodu powolnej propagacji komunikatów zmiany trasowania w intersieci (więcej czytaj w książce Sieci komputerowe TCP/IP strona 320/321). Format komunikatu RIP:

0x01 graphic

Protokół OSPF - algorytm propagacji tras SPF lepiej nadaje się do stosowania w dużych intersieciach niż algorytm typu wektor - odległość. Nowy protokół OpenSPF (OSPF) korzysta z algorytmu SPF. OSPF ma realizować kilka ambitnych zadań: - specyfikacja protokołu jest publicznie dostępna, dzięki temu jest to protokół otwarty, - OSPF umożliwia trasowanie zależne od typu obsługi. Administratorzy mogą ustalić wiele tras dla danego celu, po jednej dla danego typu obsługi (w zależności od potrzeb np. trasy o małym opóźnieniu lub dużej przepustowości). Przy ustaleniu trasy detagramu ruter wykorzystujący OSPF używa zarówno adresu odbiorcy, jak i pola typu obsługi w nagłówku IP. OSPF jest jednym z pierwszych protokołów TCP/IP umożliwiający trasowanie zależne od typu obsługi. - OSPF zapewnia równoważne obciążenia. Jeśli administrator określa kilka tras o tym samym koszcie do jednego celu, to OSPF równo rozdziela ruch między wszystkie trasy. I znowu OSPF jest jednym z pierwszych otwartych protokołów IGP zapewniających równoważne obciążenia (protokoły takie jak RIP wyznaczają do każdego celu tylko jedną trasę). - OSPF umożliwia podział sieci i ruterów danego ośrodka na zbiory zwane obszarami co umożliwia zarządzanie sieciami w razie rozrastania się ośrodka. Każdy obszar jest niezależny od pozostałych, obszary nie znają na wzajem swojej topologii. Dzięki temu wiele grup w ramach jednego ośrodka może ze sobą współpracować przy wyznaczaniu tras z wykorzystaniem protokołu OSPF, a jednocześnie każda z nich może niezależnie od pozostałych zmieniać wewnętrzną topologie swojej sieci. - Protokół OSPF wymaga, by wymiana informacji między ruterami zachodziła zawsze z uwierzytelnieniem. Uwierzytelnienie w komunikacji między ruterami służy do tego, by tylko zaufane rutery propagowały informację o trasach. - W celu osiągnięcia większej elastyczności OSPF umożliwia administratorom opis wirtualnej topologii sieci, który abstrahuje od szczegółów połączeń  fizycznych. Administrator może, np. skonfigurować łącze wirtualne między dwoma ruterami w grafie wyznaczania tras, nawet gdy fizyczne połączenie między tymi ruterami wymaga komunikacji przez sieć pośrednią. - OSPF umożliwia ruterom wymianę informacji, które otrzymały z innych (zewnętrznych) ośrodków. Jeden lub więcej ruterów z połączeniami do innych ośrodków otrzymuje informacje o tych ośrodkach i zamieszcza ją w swoich komunikatach o trasach. Format komunikatów pozwala na odróżnienie informacji otrzymanych z zewnętrznych źródeł od informacji otrzymanych od ruterów w tych samym ośrodku, nie ma więc niejednoznaczności związanej ze źródłem czy wiarygodnością tras. Protokół OSPF i RIP można łączyć między sobą. Format komunikatu OSPF (Uwaga! -każdy komunikat OSPF zaczyna się od ustalonego nagłówka o długości 24 oktety):

0x01 graphic

Format komunikatu "hello" OSPF:  

0x01 graphic

OSPF wysyła okresowo do każdego łącza komunikat "hello", aby się przekonać o osiągalności sąsiadów. Pole Maski sieci zawiera maskę sieci, przez którą wędrował ten komunikat. W polu czas oczekiwania jest podany (w sekundach) czas, po jakim sąsiad, który nie odpowie, zastaje uznany za nie działającego. Wartość w polu okres hello jest okresem (w sekundach) między komunikatami "hello". Pole priorytet zawiera liczbę określającą priorytet danego rutera i jest wykorzystywane przy wyznaczaniu zapasowego wyróżnionego rutera. Pole wyróżniony ruter i zapasowy wyróżniony ruter zawierają adresy IP wyróżnionego rutera znanego nadawcy i zapasowego rutera wyróżnionego sieci, przez którą przyszedł bieżący komunikat. Pola oznaczone adres IP sąsiada i zawierają adresy IP sąsiadów, od których nadawca otrzymał ostatnio komunikat "hello". Nagłówki OSPF typu 2, 3, 4 i 5 (więcej czytaj w książce Sieci komputerowe TCP/IP strona 332).

d.9.) Sieci Ethernet - projekt 802 rozbił typową sieć na składniki funkcjonalne i pogrupował je w logiczne po sobie następujące warstwy. Wprowadził standardy otwarte dla adresowania na poziomie sprzętowym, zarządzania siecią monitorowania jej. Standardy te stały się podstawą wielu architektur sieci lokalnych, takich jak: Ethernet o dostępie CSMA/CD (802.3), Token Ring (802.5), Token Bus(802.4) i inne. Fakt, że architektury te posiadały wspólną podstawę dla adresowania na poziomie sprzętowym, zarządzania siecią i monitorowania, oznaczał, że można było tworzyć sieci  o topologiach mieszanych.
Ethernet (full dublex + m.t. + CSMA/CD (o opisie CSMA/CD więcej czytaj w literaturze) + sprzęt) - na sprzęt, który może być używany do obsługi sieci Ethernet, składają się: karta sieciowa, koncentratory wzmacniające, koncentratory nie wzmacniające, mosty i rutery. Karta sieciowa zapewnia połączenie między wewnętrznymi zasobami systemu komputerowego, a zasobami zewnętrznymi, przyłączonymi do sieci. Zawiera układy logiczne warstwy łącza sieciowego oraz warstwy fizycznej. Koncentratory wzmacniające wzmacniają sygnały wejściowe i powtarzają sygnały, nie zmieniając jego kształtu. Zwykle przy użyciu skrętki podłączonych jest do niego wiele komputerów. Koncentrator nie wzmacniający służy w zasadzie wyłącznie do łączenia wielu stacji roboczych, umożliwia tworzenie sieci o topologii gwiazdy. Most umożliwia łączenie dwóch segmentów sieci lokalnej. Ponieważ mosty działają w warstwie 2, nie rozpoznają one protokołów wyższych warstw, osadzonych w ramkach, które są przez mosty przekazywane. Do przesyłania ramek mosty wykorzystują adresy fizyczne (adresy MAC). Poniższy schemat pokazuje na których warstwach pracują mosty, rutery i wzmacniacze:

0x01 graphic

Poniższy schemat pokazuje połączenie sieci przy użyciu rutera i mostu:

0x01 graphic

Uwaga! - mosty realizowane są przy pomocy układu ASIC. Funkcje warstwy łącza danych - specyfikacja serii IEEE 802 dzieli warstwę łącza danych modelu OSI na dwie odrębne części: sterowanie łączem logicznym (LLC) i sterowanie dostępem do nośnika (MAC). Wspólnie warstwy LLC i MAC tworzą serce Ethernetu. Umożliwiają one umieszczenie danych w ramkach (czyli ich opakowanie) oraz adresowanie danych, co pozwala na przesyłanie ich do miejsca przeznaczenia. Warstwy te posiadają również mechanizmy wykrywania błędów i są odpowiedzialne za inicjowanie retransmisji uszkodzonych lub utraconych ramek. Krótko mówiąc, sterują nadawaniem i odbieraniem ramek danych, aczkolwiek nie przeprowadzają rzeczywistej transmisji, gdyż za nią odpowiada warstwa fizyczna. Schemat blokowy porównujący specyfikacje IEEE 10 Mbps Ethernet oraz modelu referencyjnego OSI:

 0x01 graphic

Sterowanie łączem logicznym (LLC) -  warstwa ta izoluje protokoły wyższej warstwy od właściwej metody dostępu oraz nośnika. Należy pamiętać, że specyfikacje serii 802 zapewniają współoperacyjność różnym architekturom sieci lokalnych. Sterowanie łączem danych jest mechanizmem uniezależniającym protokoły warstwy sieci i transportu od różnych odmian architektury sieci lan. Dzięki niemu protokoły wyższych warstw nie muszą wiedzieć, czy będą przesyłane poprzez Ethernet, Token Ring, czy też Token Bus. Nie muszą również wiedzieć, jakiej specyfikacji warstwy fizycznej będą używać. Sterowanie LLC udostępnia wspólny interfejs dla wszystkich architektur i odmian sieci lan zgodnych ze specyfikacją 802. Sterowanie dostępem do nośnika (MAC) - warstwa ta odpowiada za połączenie z warstwą fizyczną oraz zapewnia udany przebieg nadawania i odbioru. Warstwa sterowania dostępu do nośnika odpowiada za opakowanie wszystkich danych otrzymanych z warstwy LLC w ramki. Prócz danych, ramka zawiera strukturę oraz wszystkie adresy potrzebne do przesyłania jej do miejsca przeznaczenia. Warstwa MAC jest także odpowiedzialna za przeprowadzenie testu integralności danych, używanego do sprawdzenia, czy zawartość ramki nie została uszkodzona lub zmieniona podczas transmisji. Ostatnią ważną funkcją warstwy sterowania dostępem do nośnika jest monitorowanie statusu transmitowanych ramek polegające na wykrywaniu wszelkich znaków sygnalizujących zajście konfliktu. Gdy warstwa MAC wykryje konflikt jednej ze swoich ramek, określa które dane muszą być ponownie wysłane, uruchamia algorytm zwrotny i ponownie próbuje wysłać ramkę. Algorytm zwrotny jest powtarzany, dopóki próba wysłania ramki nie zakończy się powodzeniem. Jest to jednocześnie siła jak i słabość Ethernetu. Gwarantuje protokołom wyższej warstwy, że ich dane zostaną dostarczone. Niestety, chaotyczna natura mechanizmu dostępu do nośnika oparta na zasadzie rywalizacji może spowodować, że to zadanie będzie trudne i czasochłonne. Łączenie wzmacniaczy, mostów i ruterów - schemat:

0x01 graphic

Przykładowy wygląd sieci Ethernet:

0x01 graphic

ad.10.) Sieci ATM - tryb transferu asynchronicznego (ATM) został utworzony przez komitet CCITT (CCITT->ITU), jako mechanizm (asynchronicznego) transferu szerokopasmowej sieci cyfrowej usług zintegrowanych, czyli sieci B-ISDN. Aby zapewnić dużą szybkość przesyłania danych , sieci ATM wykorzystują specjalne techniki sprzętowe i programowe. Po pierwsze, sieć ATM składa się z jednego lub wielu szybkich wymienników, z których każdy jest połączony z komputerami użytkowymi i z innymi wymiennikami ATM. Po drugie, sieci ATM wykorzystują kable optyczne również do łączenia komputerów użytkowych z wymiennikami ATM. Kable optyczne zapewniają większą szybkość przesyłania informacji niż kable mechaniczne. Po trzecie, najniższe warstwy sieci ATM używają pakietów stałej wielkości nazwanych komórkami. Komórka ATM (53 oktety = 5 oktetów nagłówek + 48 oktetów danych). Zasada działania: zanim komputer połączony z siecią ATM będzie mógł wysłać komórkę, musi najpierw poinformować wymiennik o adresie odbiorcy. Nadawca podaje adres odbiorcy i czeka, aż wymiennik ATM połączy się z odległym komputerem i utworzy ścieżkę. Gdy uda się nawiązać połączenie, lokalny wymiennik ATM wybiera identyfikator i przekazuje go nadawcy (dalszy opis Sieci Komputerowe TCP/IP str. 68). Sprzęt ATM - schemat:

0x01 graphic

Karta interfejsu sieciowego jest przyłączona do szyny komputera. Interfejs jest wyposażony w diodę świecącą (LED) lub miniaturowy laser wraz z obwodami służącymi do zmiany danych na impulsy światła, które wędrują przez światłowód do łącznicy. Interfejs zawiera także sprzęt potrzebny do odbierania impulsów światła nadchodzących z łącznicy i zmiany ich na dane w postaci elektrycznej. Uwaga! - Każdym światłowodem można przesyłać impulsy świetlne tylko w jedną stronę, połączenie wymaga więc pary światłowodów. Dwa modele połączeń ATM - komputer w sieci ATM, aby przesłać dane do innego komputera, musi uzyskać połączenie, które jest w pewnym sensie odpowiednikiem połączenia telefonicznego. ATM oferuje dwa typy połączeń: komutowane obwody wirtualne - komputer łączy się ze swoją łącznicą ATM i żąda od niej utworzenia połączenia SVC. Następnie czeka aż łącznica utworzy obwód. W tym celu jest używany system sygnalizacji, który przejmuje kontrolę i zestawia ścieżkę. od komputera, żądając połączenia za pośrednictwem sieci ATM (być może przy udziale wielu łącznic) do odległego komputera. Adresat musi się zgadzać na przyjęcie połączenia. Interfejs UNI używa do identyfikacji obwodów 24-bitowych liczb całkowitych. Gdy komputer żąda utworzenia lub zgadza się na utworzenie obwodu wirtualnego, lokalna łącznica przydziela temu obwodowi identyfikator. Pakiet przesyłany przez sieć ATM nie zawiera ani adresu nadawcy, ani adresu odbiorcy. Komputer etykietuje każdy nadawany pakiet (a łącznica każdy odebrany) identyfikatorem obwodu wirtualnego. Stałe obwody wirtualne (patrz Sieci komputerowe TCP/IP str. 358). Ścieżki, obwody i identyfikatory - każdy obwód otwarty przez komputer otrzymuje od sieci ATM identyfikator, który jest używany przy wszystkich operacjach wejścia - wyjścia, aż do likwidacji obwodu. Identyfikator obwodu może być używany tylko wtedy, gdy połączenie jest otwarte. Identyfikatory otrzymane przez komputery na obu końcach tego samego obwodu są zwykle różne. Każda łącznica w wzdłuż ścieżki tłumaczy identyfikator zwany w pakiecie przed przekazaniem go dalej. Komórka - schemat:

0x01 graphic

Poniższy rysunek obrazuje zestawienie połączenia między jednym komputerem a drugim w sieci ATM:

0x01 graphic

Warstwa abstrakcyjna ATM - na najniższym poziomie łącznice ATM przesyłają jedynie małe komórki, ale programy przesyłające dane przez sieć ATM nie dzielą tych danych na komórki. Między programem i łącznicą ATM pośredniczy warstwa adaptacyjna ATM, będąca częścią standardu ATM. Warstwa adaptacyjna spełnia wiele zadań, w tym wykrywanie i korekcję błędów związanych z zagubieniem lub uszkodzeniem zawartości komórek. Zwykle oprogramowanie implementujące warstwę adaptacyjną jest "zaszyte" w interfejsie komputera razem ze sprzętem i oprogramowaniem zapewniającym wysyłanie i odbieranie komórek. Schemat typowego interfejsu ATM i trasa pokonywania przez dane od systemu operacyjnego komputera przez kartę interfejsu do sieci ATM:

0x01 graphic

Przykładowy wygląd sieci ATM:

0x01 graphic

 

ad.11.) Sieć Token Ring - sieć ta pozwala w danym czasie nadawać tylko jednemu urządzeniu, nie występują więc kolizje. Dostęp do nośnika jest przyznawany poprzez przekazywanie tokenu w ustalony sposób. Token może być tylko jeden i jest on modyfikowany przez urządzenie transmitujące w celu utworzenia nagłówka ramki i danych. Gdyby nie było tokenu, nie dało by się utworzyć nagłówka ramki danych i transmisja była by niemożliwa. Urządzenie odbierające kopiuje dane przesyłane w ramce, zmieniając przy tym (negując) niektóre bity nagłówka ramki i w ten sposób potwierdza odbiór. Sama ramka dalej krąży w pierścieniu, aż powróci do swojego nadawcy. Jeśli urządzenie chce przesłać więcej danych, może to zrobić. Jeśli nie, nagłówek ramki jest przekształcany z powrotem w token i umieszczany w medium transmisyjnym, przez które podróżuje do następnego urządzenia. Aby zapewnić, że żadna stacja nie zmonopolizuje łączy, stosuje się mechanizm znany jako zegar przetrzymywania tokenu śledzący i regulujący maksymalną ilość czasu, przy którym dowolna stacja może mieć prawo do nadawania. Przykładowy wygląd sieci Token Ring:

0x01 graphic

ad.12.) Efektywność sieci Ethernet i Token Ring:

0x01 graphic
 

ad.13.) Model RM - schemat:

0x01 graphic

Technologia klient - serwer:

0x01 graphic

Zdalne wywoływanie procedur (RPC) jest mechanizmem typu klient - serwer pozwalającym aplikacji na jednej maszynie wywoływać procedurę, której kod znajduje się na innej maszynie. Komunikaty wymieniane w trybie RPC mają ściśle określoną budowę i nie są już tylko zwykłymi pakietami danych. Są one adresowane do demona RPC prowadzącego nasłuch portu RPC w odległym systemie i zawierają identyfikator funkcji do wykonania oraz parametry, które należy jej przekazać. Funkcja ta zostaje następnie wykonana, a wszystkie wyniki będą odesłane do zamawiającego w oddzielnym komunikacie. RPC - schemat:

0x01 graphic

Przetwarzanie komponentowe - schemat:

0x01 graphic

Poniższy schemat obrazuje przyszłość rozwoju komputerowego:

0x01 graphic

ad.14.) Telnet (RFC 854) - schemat:

0x01 graphic

W przypadku usługi telnet istnieją dwa tryby przesyłania: - pierwszy to przesyłanie poleceń takich jak np. ls w UNIXie, a drugi to tryb przesyłania komend takich jak np. will. Przejście do tego trybu następuje na skutek naciśnięcia kombinacji klawiszy ^]. Poniższy rysunek przedstawia typową budowę komendy NVT:

0x01 graphic

Typowa komunikacja klienta telnetu z serwerem telentu - schemat:

0x01 graphic

W przypadku telnetu wyróżniamy dwa tryby pracy: znak po znaku oraz linia po linii.
FTP (RFC 959) - schemat:

0x01 graphic

Przykłady komend to: list, port, user pass. Typowa komunikacja klienta ftp z serwerem ftp - schemat:

0x01 graphic

W przypadku ftp wyróżniamy dwa tryby pracy: binarny (strumień bitów) i ASCII (NVT ASCII).

ad.15.) RPC - zdalne wywoływanie procedur - poniższy rysunek obrazuje nazwy mechanizmów RPC oferowane przez różnych producentów oraz w jakim kierunku zmierza rozwój tych technologii:

0x01 graphic

RMI - RemoteMethodInsocation - schemat:

0x01 graphic

OSF/DCE (DCE RPC) - środowisko obliczeń rozproszonych (DCE) OSF jest zintegrowanym zestawem narzędzi i usług pomagających w tworzeniu rozproszonych aplikacji. DCE zapewnia komunikacje i przenośność pomiędzy różnymi platformami w sieciach lokalnych i rozległych. Wątki stanowią podstawowy element specyfikacji DCE. Protokół DCE wymaga wykonywania na połączonych komputerach wielu współbieżnych wątków, dzięki czemu można uzyskać asynchroniczne operację wejścia/wyjścia i równocześnie wykonywanie usług. Wszystkie usługi DCE bazują na RPC. RPC czyli zdalne wywoływania procedur, są wywołaniami procedur i funkcji spoza lokalnej przestrzeni adresowej, które wyglądają i zachowują się jak wywołania lokalne. Usługi i programy użytkowe DCE. Przy przechodzeni od systemu scentralizowanego do rozproszonego pojawia się potrzeba znajdowania zasobów (danych, usług, innych) w sieci, utrzymywania synchronizacji systemów i zapewnienia bezpieczeństwa. DCE oferuje usługi katalogowe. Usługi katalogowe są wykorzystywane w sieci do przechowywania i wyszukiwania informacji o rozproszonych zasobach - użytkownikach, komputerach, usługach - i innych określonych atrybutach, jak położenie katalogu użytkownika, węzeł na którym znajduje się serwer oferujący usługę. Komórka DCE jest minimalnym zestawem komputerów, na którym możliwe jest wykonywanie obliczeń rozproszonych. Aby DCE mogło funkcjonować przynajmniej jeden z komputerów musi oferować usługi katalogowe, bezpieczeństwa lub czasu rozproszonego. 

CORBA (OMG), JINI (SUN), COM+ (Microsoft) - schemat:

0x01 graphic

Uwaga! (na temat powyższego punktu więcej czytaj w różnej literaturze).

ad.16.)

 

ad.17.)

 

ad.18.)

 

ad.19.)

 



Wyszukiwarka