|
Sieć komputerowa - Protokoły sieciowe
Wstęp
Termin "protokoły sieciowe" odnosi się przede wszystkim do protokołów warstwy 3 modelu OSI. Protokoły zapewniają adresowanie, dzięki któremu dane mogą być dostarczane na nieokreślone odległości, poza domenę sieci lokalnej nadawcy. Przeważnie protokoły warstwy 3 wykorzystują do transportu danych strukturę znaną jako pakiet.
Choć protokoły warstwy 3 dostarczają mechanizmów niezbędnych do wysyłania pakietów, nie są na tyle wyszukane, aby mieć pewność, że pakiety zostały rzeczywiście odebrane i to we właściwym porządku. Zadania te pozostawiono protokołom transportowym warstwy 4. Protokoły te przyjmują dane z wyższych warstw i osadzająje w segmentach, które przekazują warstwie 3.
W tym rozdziale opisane są funkcje i wzajemne oddziaływania między stosami protokołów warstwy 3 i 4, a następnie badane są zawiłości niektórych najpopularniejszych protokołów sieciowych.
Stosy protokołów
Stos protokołów to komplet powiązanych protokołów komunikacyjnych, oferujących użytkownikowi mechanizmy i usługi potrzebne do komunikacji z innymi maszynami włączonymi do sieci. Z perspektywy użytkownika stos protokołów jest tym. co czyni sieć zdatną do użycia.
W poprzednich rozdziałach omówiono pierwszą i drugą warstwę stosu protokołów (tj. warstwę fizyczną i warstwę łącza danych). Są one mocno zintegrowane i powiązane ze sobą. Warstwę fizyczną narzuca wybrana architektura warstwy łącza danych, jak Bther-net, Token Ring itd.
W obecnej epoce sieci i systemów otwartych wybór określonej architektury LAN nic ogranicza możliwości wyboru protokołów wyższego poziomu. Stos protokołów powinien oferować mechanizmy sprzęgające z istniejącymi, znormalizowanymi środkami dostępu do sieci dla protokołów warstwy łącza danych.
Podobnie jak to było w przypadku warstw pierwszej i drugiej, warstwa 3 modelu referencyjnego OSI jest ściśle powiązana z warstwą 4. Warstwa 3 to warstwa sieci, zaś warstwa 4 jest warstwą transportu. Razem zapewniają one mechanizmy umożliwiające przesyłanie informacji między urządzeniami nadawcy i odbiorcy, z wykorzystaniem sieci komunikacyjnej sięgającej poza domenę warstwy 2. Zapewniają też inne funkcje, takie jak zmienianie porządku pakietów otrzymanych w niewłaściwej kolejności lub ponowną transmisję pakietów, które nie dotarły do odbiorcy lub dotarły uszkodzone.
Protokoły te, aby faktycznie przesłać dane, muszą wykorzystywać architekturę LAN warstwy l i 2, muszą też mieć pewne środki sprzęgające je z tymi warstwami. Używają do tego techniki opakowywartia. Protokół warstwy 4 umieszcza w segmentach dane otrzymane od protokołów wyższej warstwy. Segmenty te są przekazywane do odpowiedniego protokołu warstwy 3. Protokół warstwy 3 bezzwłocznie opakowuje segment strukturą pakietu z adresami nadawcy i odbiorcy, po czym przekazuje pakiet protokołowi warstwy 2. Warstwa 2 umieszcza ten pakiet danych warstwy 3 w ramce, opatrując go przy tym adresowaniem, przeznaczonym dla urządzeń warstwy 3, takich jak routery i przełączniki IP. Umieszczenie pakietu warstwy 3 (IP) w ramce warstwy 2 (Ethernet) przedstawia rysunek 12.2. Strukturę pakietu zalicza się do części pola danych ramki, choć w rzeczywistości pakiet to nie dane, tylko struktura innej warstwy.
Ramki służą do transportowania i adresowania danych dla miedzysieciowego urządzenia warstwy 3, znajdującego się na krawędzi warstwy 2 (dziedziny ramek). Urządzenie - zwykle jest to router - przyjmuje obramowany pakiet, usuwa ramkę i czyta informację adresową przeznaczoną dla warstwy 3. Informacja ta służy do ustalenia następnego ?skoku" na drodze do miejsca przeznaczenia pakietu. Pakiet jest następnie kierowany do kolejnego punktu. Ostatni router przed miejscem przeznaczenia pakietu musi ponownie umieścić jkiet w strukturze ramki warstwy 2, zgodnej z architekturą sieci LAN w miejscu przeczenia.
Warstwa 3 zapewnia tylko międzysieciowy transport danych. Warstwa 4 (transportu) wzbogaca mechanizmy sieciowe warstwy 3 o gwarancje niezawodności i integralności końcowej (czyli na całej długości połączenia). Warstwa transportu może zagwarantować wolne od błędów dostarczenie pakietów i odpowiednie ich uszeregowanie, jak też zapewnić odpowiednią jakość usług. Przykładem mechanizmu warstwy 4 jest protokół TCP (ang. Trammission Control Protocol). TCP niemal zawsze występuje razem ze swoim odpowiednikiem z warstwy 3, protokołem internetowym IP, jako ?TCP/IP".
Wykorzystywanie przez aplikacje warstw 3 i 4 do przesyłania danych do innych komputerów/aplikacji sugeruje, że komputery nadawcy i odbiorcy nie są przyłączone do tej samej sieci lokalnej, niezależnie od tego, jaka odległość je dzieli. Dwie różne sieci muszą być ze sobą połączone, by obsłużyć żądaną transmisję. Dlatego mechanizmy komunikacyjne warstwy 2 są niewystarczające i muszą być rozszerzone o adresowanie warstwy 3.
Choć warstwy 3 i 4 istnieją właśnie w tym celu (tzn. w celu łączenia ze sobą różne sieci), to aplikacje mogą przesyłać do siebie dane, wykorzystując protokoły tych warstw, nawet jeśli są przyłączone do tej samej sieci i podsieci LAN. Na przykład, jeśli komputery nadawcy i odbiorcy są przyłączone do tej samej sieci lokalnej, mogą się ze sobą komunikować, wykorzystując tylko ramki i protokoły warstwy 2. Niektóre aplikacje mogąjednak wymagać wspomagania swojej komunikacji pewnymi właściwościami protokołów wyższej warstwy.
Istnieją dwa rodzaje protokołów sieciowych działających w warstwie 3: protokoły trasowane i protokoły trasujące. Protokoły trasowane to te, które umieszczają dane oraz informacje użytkownika w pakietach i są odpowiedzialne za przesłanie pakietów do odbiorcy. Protokoły trasujące stosowane są pomiędzy routerami i określają dostępne trasy, komunikują o nich i przeprowadzają nimi pakiety protokołów trasowanych. Protokoły trasujące są dokładniej omówione w rozdziale 13. pt. ?Sieci WAN", W niniejszym rozdziale koncentrujemy się na najpopularniejszych protokołach trasowanych.
Protokół Internetu, wersja 4 (Ipv4)
Protokół Internetu (IP)1 został opracowany około 20 lat temu dła Departamentu Obrony USA (ang. Department t>f Defense). Departament Obrony szukał sposobu połączenia różnych rodzajów posiadanych komputerów i sieci je obsługujących w jedną, wspólną sieć. Osiągnięto to za pomocą warstwowego protokołu, który odizolował aplikacje od sprzętu sieciowego. Protokół ten używa modelu nieco różniącego się od modelu referencyjnego OSI. Jest on znany jako model TCP/IP.
Protokół datagramów użytkownika (UDP) jest innym protokołem l P warstwy host-z--hostem (odpowiadającej warstwie transportu modelu OSlJ.Protokół UDP zapewnia proste i mające niewielki narzut transmisje danych, tzw. ?datagramy". Prostota datagramów czyni UDP protokołem nieodpowiednim dla niektórych aplikacji, za to doskonałym dla aplikacji bardziej wyszukanych, które same mogą zapewnić funkcjonalność połączeniową.
Protokół UDP może być wykorzystywany przy wymienianiu takich danych, jak nadane nazwy NetBIOS, komunikaty systemowe itd., gdyż wymiany te nie wymagają sterowania strumieniem danych, potwierdzeń, ponownego uporządkowywania ani innych funkcji dostarczanych przez protokół TCP.
Nagłówek protokołu UDP ma następującą strukturę:
* Numer portu źródłowego UDP: Port źródłowy jest numerem połączenia w komputerze źródłowym. Port źródłowy i adres źródłowy IP funkcjonują jako adres zwrotny pakietu.
* Numer portu docelowego UDP: Port docelowy jest numerem połączenia w komputerze docelowym. Port docelowy UDPjest wykorzystywany do przekazywania pakietu odpowiedniej aplikacji, po tym jak pakiet dotrze do komputera docelowego.
* Suma kontrolna UDP: Suma kontrolna jest polem kontroli błędów, którego wartość jest obliczana na podstawie zawartości segmentu. Komputer docelowy wykonuje taką samą funkcję matematyczną jak komputer źródłowy. Niezgodność dwóch obliczonych wartości wskazuje na wystąpienie błędu podczas transmisji pakietu.
* Długość komunikatu UDP: Pole długości komunikatu informuje komputer
docelowy o jego rozmiarze. Daje to komputerowi docelowemu kolejny
mechanizm, wykorzystywany do sprawdzania poprawności wiadomości.
Główną różnicą funkcjonalną pomiędzy TCP a UDPjest niezawodność. Protokół TCP charakteryzuje się wysoką niezawodnością, natomiast UDPjest prostym mechanizmem dostarczania datagramów. Ta fundamentalna różnica skutkuje ogromnie zróżnicowaniem zastosowań tych dwóch protokołów warstwy host-z-hostem.
Warstwa Internetu
Warstwa Internetu protokołu IPv4 obejmuje wszystkie protokoły i procedury potrzebne do przesyłania danych pomiędzy hostami w wielu sieciach. Pakiety przenoszące dane muszą być trasowalne. Odpowiada za to protokół Internetu (IP).
Nagłówek protokołu IP ma następujący rozmiar i strukturę:
* Wersja: Pierwsze cztery bity nagłówka IP identyfikują wersję operacyjną protokołu I P, np. wersję 4.
* Długość Nagłówka Internetu: Następne cztery bity nagłówka zawierają jego
długość, wyrażoną w wielokrotnościach liczby 32.
* Rodzaj Usługi: Następne 8 bitów to l -bitowe flagi, które mogą być używane do określania parametrów pierwszeństwa, opóźnienia, przepustowości i niezawodności tego pakietu danych.
* Długość Całkowita: 16-bitowe pole przechowujące całkowitą długość datagramu IP. mierzoną w oktetach. Prawidłowe wartości mogą mieścić się w przedziale
od 576 do 65 536 oktetów.
* Identyfikator: Każdemu pakietowi IP nadaje się unikatowy, 16-bitowy identyfikator.
* Flagi: Następne pole zawiera trzy l-bitowe flagi, wskazujące, czy dozwolona
jest fragmentacja pakietów i czy jest ona stosowana.
* Przesunięcie Fragmentu: 8-bitowe pole mierzące przesunięcie fragmentowanej
zawartości względem początku całego datagramu. Wartość ta jest mierzona
za pomocą 64-bitowych przyrostów.
* Czas Życia (ang. TTL - Time to Liw): Pakiet IP nie może ?włóczyć się"
w nieskończoność po sieci WAN. Musi mieć ograniczoną liczbę skoków, które może wykonać (patrz niżej). Wartość 8-bitowego pola TTL jest zwiększana o jeden przy każdym skoku, jaki pakiet wykonuje. Gdy osiągnie wartość maksymalną, pakiet jest niszczony.
Pakiety IP są trasowane przez różne sieci za pomocą urządzeń znanych jako routery. Każdy router, przez który przechodzi pakiet, jest liczony jako jeden skok. Ustalenie maksymalnej liczby skoków zapewnia, że pakiety nie będą stale wykonywać pętli w dynamicznie trasowanej sieci.
* Protokół: 8-bitowe pole identyfikujące protokół, następujący po nagłówku IP, taki jak YINES, TCP, UDP itd.
* Suma Kontrolna: 16-bitowe pole kontroli błędów. Komputer docelowy lub jakikolwiek inny węzeł bramy w sieci, może powtórzyć działania matematyczne na zawartości pakietu, przeprowadzone wcześniej przez komputer źródłowy. Jeśli dane po drodze nie uległy zmianie, wyniki obydwu obliczeń są identyczne. Pole sumy kontrolnej informuje również komputer docelowy o ilości przychodzących danych.
* Adres ¬ródłowy IP: jest adresem IP komputera źródłowego.
* Wypełnienie: do tego pola dodawane są zera, tak aby długość nagłówka TCP była zawsze wielokrotnością 32 bitów.
Te pola nagłówka świadcząc tym, że protokół IPv4 warstwy Internetu jest protokołem bezpołączeniowym - urządzenia kierujące pakietem w sieci mogą samodzielnie ustalać idealną ścieżkę przejścia przez sieć dla każdego pakietu. Nie występują również żadne potwierdzenia, sterowanie strumieniem danych czy też funkcje porządkowania kolejności, właściwe protokołom wyższych warstw, takim jak TCP. Protokół IPv4 pozostawia te funkcje protokołom wyższego poziomu.
Warstwa Internatu musi także obsługiwać inne funkcje zarządzania trasą oprócz formatowania pakietów IP. Musi zapewnić mechanizmy tłumaczące adresy warstwy 2 na adresy warstwy 3 i odwrotnie. Te funkcje zarządzania trasą są dostarczane przez protokoły równorzędne z IP; protokoły trasujące opisane w rozdziale 1. pt. ?ABC sieci". Są to: wewnętrzny protokół bramowy (ang. IGP - Interior Gateway Protocols), zewnętrzne protokoły bramowe (ang. EGP - Exterior Gateway Protocols), protokół rozróżniania adresów (ang. ARP - Address Resolution Protocot). odwrócony protokół rozróżniania adresów (ang. RARP - Reverse Address Resolution Protocot) i protokół komunikacyjny sterowania Internetem (ang. ICMP - Internet Control Message Protocol}.
Typowe działanie działanie protokołu IPv4
Warstwa aplikacji opatruje pakiet danych nagłówkiem, identyfikując docelowy host i port. Protokół warstwy host-z-hostem (TCP lub UDP, w zależności od aplikacji) dzieli ten blok danych na mniejsze, łatwiej dające sobą kierować kawałki. Do każdego kawałka dołączony jest nagłówek. Taką strukturę nazywa się ?segmentem TCP".
Pola nagłówka segmentu są odpowiednio wypełniane, a segment jest przekazywany do warstwy Internetu. Warstwa Internetu dodaje informacje dotyczące adresowania, rodzaju protokołu (TCP lub UDP) i sumy kontrolnej. Jeśli segment był fragmentowany, warstwa Internetu wypełnia również to pole.
Komputer docelowy odwraca właśnie opisane działania. Odbiera pakiety i przekazuje je swojemu protokołowi warstwy host-z-hostem do ponownego złożenia. Jeśli to konieczne,
pakiety są ponownie grupowane w segmenty danych, przekazywane odpowiedniej aplikacji.
Schemat adresowania protokołu IP
Protokół IPv4 wykorzystuje 32-bitowy, binarny schemat adresowania, w celu identyfikowania sieci, urządzeń sieciowych i komputerów przyłączonych do sieci. Adresy te. znane jako adresy IP, są ściśle regulowane przez internetowe centrum informacji sieciowej (ang. InterNIC - Internet Network Information Center), Choć administrator sieci ma możliwość dowolnego wybierania nie zarejestrowanych adresów IP, taka praktyka jest niewybaczalna. Komputery mające takie ?podrobione" adresy IP mogą działać prawidłowo tylko w obrębie swej własnej domeny. Próby dostępu do Internetu z pewnością wykażą ograniczenia takiego krótkowzrocznego działania. Skutki mogą być bardzo różne w zależności od wielu rozmaitych czynników, ale na pewno będą to skutki niepożądane.
Każda z pięciu klas adresów l P jest oznaczona literą alfabetu: klasa A, B, C, D i E. Każdy adres składa się z dwóch części: adresu sieci i adresu hosta. Klasy prezentują odmienne uzgodnienia dotyczące liczby obsługiwanych sieci i hostów. Choć są to adresy binarne.
zwykle przedstawia sieje w tzw. formacie dziesiętnym kropkowym (np. 135.65 121 6) aby ułatwić człowiekowi ich używanie. Kropki rozdzielają cztery oktety adresu.
Notacja dziesiętna kropkowa odnosi się do konwersji adresu binarnego na dziesiętny system liczbowy. Kropka (?."} służy do oddzielania numerów węzła i sieci. Na przykład. 100.99 odnosi się do urządzenia 99 w sieci 100.
* Adres IP klasy A: Pierwszy bit adresu klasy A jest zawsze ustawiony na "O".
Następne siedem bitów identyfikuje numer sieci. Ostatnie 24 bity (np. trzy liczby
dziesiętne oddzielone kropkami) adresu klasy A reprezentują możliwe adresy
hostów. Adresy klasy A mogą mieścić się w zakresie od 1.0.0.0 do 126.0.0.0.
Każdy adres klasy A może obsłużyć 16777214 (= 224-2) unikatowych adresów
hostów.
* Adres IP klasy B: Pierwsze dwa bity adresu klasy B to "10". Następne 14 bitów identyfikuje numer sieci, zaś ostatnie 16 bitów identyfikuje adresy potencjalnych hostów. Adresy klasy B mogą mieścić się w zakresie od 128. l .0.0 do 191.254.0.0. Każdy adres klasy B może obsłużyć 65534 (= 2"'-2) unikatowych adresów hostów.
* Adres IP klasy C: Pierwsze trzy bity adresu klasy C to "l10". Następne 21 bitów
identyfikuje numer sieci. Ostatni oktet służy do adresowania hostów. Adresy
klasy C mogą mieścić się w zakresie od 192.0.1.0 do 223.255.254.0. Każdy adres
klasy C może obsłużyć 254 (~- 28-2) unikatowe adresy hostów.
* Adres IP klasy D: Pierwsze cztery bity adresu klasy D to "ll10". Adresy te są
wykorzystywane do multicastingu , ale ich zastosowanie jest ograniczone. Adres
nntlticasl jest unikatowym adresem sieci, kierującym pakiety do predefiniowanych
grup adresów IP. Adresy klasy D mogą pochodzić z zakresu 224.0.0.0
do 239.255.255.254.
Pewna niejasność definicji klasy D adresu IP przyczynia się do potencjalnej rozbieżności pomiędzy jej rozumieniem a stanem faktycznym. Choć IETF zdefiniowało klasy C i D jako oddzielne, różniące się pod względem zakresów liczbowych i zamierzonej funkcjonalności, to wcale nie tak rzadko zddrza się, że zakres adresu klasy D jest utożsamiany z zakresem adresu klasy C. Jest to podejście nieprawidłowe - ale najwidoczniej narzucane przez pewne kursy certyfikacyjne.
* Adres IP klasy E: Faktycznie ?- zdefiniowano klasę E adresu IP, ale InterNIC zarezerwował go dla własnych badań. Tak więc żadne adresy klasy E nie zostały dopuszczone do zastosowania w Internecie.
Duże odstępy między tymi klasami adresów marnowały znaczną liczbę potencjalnych adresów. Rozważmy dla przykładu średnich rozmiarów przedsiębiorstwo, które potrzebuje 300 adresów IP. Adres klasy C (254 adresy) jest niewystarczający. Wykorzystanie dwóch adresów klasy C dostarczy więcej adresów niż potrzeba, ale w wyniku tego w ramach przedsiębiorstwa powstaną dwie odrębne domeny. Z kolei zastosowanie adresu klasy B zapewni potrzebne adresy w ramach jednej domeny, ale zmarnuje się w ten sposób 65534 - 300 = 65234 adresy.
Na szczęście nie będzie to już dłużej stanowić problemu. Został opracowany nowy, mię-dzydomenowy protokół trasujący, znany jako bezklasowe trasowanie międzydomenowe (ang. CIDR - Classless Interdomuin Routing), Umożliwiający wielu mniejszym klasom adresowym działanie w ramach jednej domeny trasowania.
Adresowanie IP wymaga, by każdy komputer miał własny, unikalny adres. Maski pod-sieci mogą kompensować ogromne odstępy między klasami adresowymi, dostosowując długość adresów hosta i/lub sieci. Za pomocą tych dwóch adresów można trasować dowolny datagram IP do miejsca przeznaczenia.
Ponieważ TCP/IP jest w stanie obsługiwać wiele sesji z pojedynczego hosta, musi on zapewnić możliwość adresowania specyficznych programów komunikacyjnych, które mogą działać na każdym z hostów. TCP/IP wykorzystuje do tego numery portów. IETF przypisało kilku najbardziej powszechnym aplikacjom ich własne, dobrze znane numery portów. Numery te są stałe dla każdej aplikacji na określonym hościc. Innym aplikacjom przypisuje się po prostu dostępny numer portu.
Wnioski dotyczące IPv4
Protokół IPv4 ma już prawie dwadzieścia lat. Od jego początków Internet przeszedł kilka znaczących zmian, które zmniejszyły efektywność IP jako protokołu uniwersalnej przyłą-czalności. Być może najbardziej znaczącą z tych zmian była komercjalizacja Internetu. Przyniosła ona bezprecedensowy w/,rosl populacji użytkowników Internetu. To z kolei stworzyło zapotrzebowanie na większą liczbę adresów, a także potrzebę obsługi przez warstwę Internetu nowych rodzajów usług. Ograniczenia IPv4 stały się bodźcem dla opracowania zupełnie nowej wersji protokołu. Jest ona nazywana IP, wersja 6 (IPv6). ale powszechnie używa się również nazwy Nasiona generacja protokołu Internetu (ang. IPng -? next generation of Internet Protocol).
Protokół Internetu, wersja 6 (IPv6)
Protokół IPv6 ma być prostą, kompatybilną ?w przód" nowelizacją istniejącej wersji protokołu IP. Intencją przyświecającą tej nowelizacji jest wyeliminowanie wszystkich słabości ujawniających się obecnie w protokole IPv4. w tym zbyt małej liczby dostępnych adresów l P, niemożności obsługiwania ruchu o wysokich wymaganiach czasowych i braku bezpieczeństwa w warstwie sieci.
Protokół IPv6 był pierwotnie określany jako "IP: następna generacja" lub IPng" - co przydawało mu nieco tajemniczości z pogranicza science fiction. Podczas opracowywania specyfikacji protokół ten otrzymał oficjalna nazwę ?IP wersja 6" (IPv6).
Dodatkowym bodźcem dla opracowania i rozwoju nowego protokołu IP stało się trasowanie, które w ramach protokołu IPv4 jest skrępowane jego 32-bitową architekturą adresową, dwupoziomową hierarchią adresowania i klasami adresowymi. Dwupoziomowa hierarchia adresowania ?host.domena" po prostu nie pozwala konstruować wydajnych hierarchii adresowych, które mogłyby być agregowane w routerach na skalę odpowiadającą dzisiejszym wymaganiom globalnego Internetu.
Następna generacja protokołu IP - IPv6 - rozwiązuje wszystkie wymienione problemy. Będzie oferować znacznie rozszerzony schemat adresowania, aby nadążyć za stałą ekspansją Internetu, a także zwiększoną zdolność agregowania tras na wielką skalę.
IPv6 będzie także obsługiwać wiele innych właściwości, takich jak: transmisje audio i/lub wideo w czasie rzeczywistym, mobilność hostów, bezpieczeństwo końcowe (czyli na całej długości połączenia) dzięki mechanizmom warstwy internetu - kodowaniu i identyfikacji, a także auto konfiguracja i autorekonfiguracja. Oczekuje się, że usługi te będą odpowiednia zachętą dla migracji, gdy tylko staną się dostępne produkty zgodne z IPv6. Wiele z tych rozwiązań wciąż wymaga dodatkowej standaryzacji, dlatego też przedwczesne byłoby ich obszerne omawianie.
Jedynym jednakże aspektem protokołu IPv6, który wymaga szerszego omówienia, jest adresowanie. 32-bitowa długość adresu w protokole IPv4 teoretycznie umożliwiała zaadresowanie około 4 miliardów (21?-1) urządzeń. Niewydajne podsieciowe techniki maskowania i inne rozrzutne praktyki roztrwoniły niestety ów zasób.
Protokół IPv6 wykorzystuje adresy 128-bitowe i teoretycznie jest w stanie zwiększyć przestrzeń adresową protokołu o czynnik 296 - co daje astronomiczną liczbę
340 282 366 920 938 463 463 374 607 431 768 211 456
potencjalnych adresów. Obecnie zajęte jest około 15% tej przestrzeni adresowej jest zarezerwowana dla bliżej nie określonych - - przyszłych zastosowań.
W rzeczywistości przypisanie i trasowanie adresów wymaga utworzenia ich hierarchii. Hierarchie mogą zmniejszyć liczbę potencjalnych adresów, ale za to zwiększają wydajność protokołów trasujących zgodnych z IPv6. Jedną z praktycznych implikacji długości adresu l Pv6 jest to, że usługa nazwy domeny (ang. DNS - Domain Name Service), stanowiąca w wersji IPv4 jedynie wygodny luksus, ttuaj staje się absolutną koniecznością.
Usługa nazwy domeny jest narzędziem sieciowym, odpowiedzialnym za tłumaczenie (wygodnych dla użytkowników) mnemonicznych nazw hostów na numeryczne adresy IP.
Równie znacząca, jak zwiększona potencjalna przestrzeń adresowa, jest jeszcze większa elastyczność, na jaką pozwalają nowe struktury adresowe IPv6. Protokół ten uwalnia się od adresowania bazującego na klasach. Zamiast tego rozpoznaje on trzy rodzaje adresów typu unicast. adres klasy D zastępuje nowym formatem adresu multicast oraz wprowadza nowy rodzaj adresu; przed przejściem do dalszej części wykładu nieodzowne staje się wyjaśnienie szczegółów tych koncepcji.
Struktury adresów unicast IPv6
Adresowanie unicast zapewnia przy łącza l no ść od jednego urządzenia końcowego do drugiego. Protokół IPv6 obsługuje kilka odmian adresów unicast.
Adres dostawcy usług internetowych (ISP)
Podczas gdy protokół IPv4 z góry przyjął grupy użytkowników wymagających przyłą-czalności, IPv6 dostarcza format adresu unicast, specjalnie przeznaczony dla dostawców usług internetowych, w celu przyłączania indywidualnych użytkowników do Inlcrnetu. Te oparte na dostawcach adresy unicast oferują unikatowe adresy dla indywidualnych użytkowników lub małych grup, uzyskujących dostęp do Internetu za pośrednictwem dostawcy usług internetowych. Architektura adresu zapewnia wydajną agregację tras w środowisku użytkowników indywidualnych.
Format adresu unicast ISP jest następujący:
* 3-bitowa flaga adresu unicast ISP, zawsze ustawiana na "010",
* Pole ID rejestru, o długości "n" bitów,
* Pole ID dostawcy, o długości "m" bitów,
* Pole ID abonenta, o długości "o" bitów,
* Pole ID podsieci, o długości "p" hitów,
* Pole ID interfejsu, o długości 128-3- (n+m-t-o+p) bitów.
Litery n.m.o.p oznaczają zmienne długości pól. Długość pola ID interfejsu stanowi różnicę długości adresu (128) i łącznej długości pól poprzedzających, wraz z trójbitową flagą.
Przykładem adresu tego typu może być 010:0:0:0:0:x, gdzie "x" może być dowolna liczbą. Ponieważ większość nowej przestrzeni adresowej dopiero musi zostać przypisana, adresy te będą zawierać mnóstwo zer. Dlatego grupy zer mogą być zapisywane skrótem w postaci podwójnego dwukropka (::) - skróconą formą adresu 010:0:0:0:0:x jest więc 010::x.
Inne rodzaje adresów unicast są przeznaczone do użytku lokalnego. Adresy użytku lokalnego mogą być przypisane do urządzeń sieciowych w samodzielnym Intranecie lub do urzą-dzerii w Intranecie, którym potrzebny jest dostęp do Internetu.
Adres użytku lokalnego dla łącza
Adres użytku lokalnego dla łącza jest przeznaczony dla pojedynczego łącza, do celów takich jak konfiguracja auto-adresu, wykrywanie sąsiadów, a także w przypadku braku routerów. Adresy lokalne dla łącza mają następujący format:
* 10-bitowa flaga adresu lokalnego, zawsze ustawiana na "1111111011", * Zarezerwowane, nienazwane pole, mające długość "n" bitów, ale ustawiane
domyślnie na wartość "O",
* Pole ID interfejsu o długości 118-n bitów,
ID interfejsu może być adresem MAC karty sieciowej Ethernetu. Adresy MAC, będące teoretycznie adresami unikalnymi, mogą być skojarzone z przedrostkami standardowego adresu IP w celu utworzenia unikalnych adresów dla mobilnych lub zastępczych użytkowników. Przykładem adresu użytku lokalnego dla łącza z adresem MAC mógłby być-imillOI1:0:adresjnac.
Adres użytku lokalnego dla miejsca
Adresy lokalne dla miejsca są przeznaczone do stosowania w pojedynczym miejscu. Mogą być używane w miejscach lub organizacjach, które nie są przyłączone do globalnego Internetu. Nic muszą żądać czy też ?kraść" przedrostka adresu z przestrzeni adresowej globalnego Internetu. Zamiast tego mogą używać adresów protokołu IPv6 lokalnych dla miejsca. Gdy organizacja łączy się z globalnym Internetem, może utworzyć unikatowe adresy globalne, zastępując przedrostek lokalny dla miejsca przedrostkiem abonenta, zawierającym identyfikatory rejestru, dostawcy i abonenta.
Adresy lokalne dla miejsca mają następujący format:
* 10-bilowa flaga użytku lokalnego, zawsze ustawiana na "1111111011",
* Zarezerwowane, nienazwane pole, mające długość "n" bitów, ale ustawiane
domyślnie na wartość "0",
* Pole ID podsieci o długości "m" bitów,
* Pole ID interfejsu o długości 118-(n+m) bitów,
Przykładem adresu lokalnego dla miejsca jest: 111111101l:podsieć:interfejs.
Struktury zastępczych adresów unicast IPv6
Dwa specjalne adresy unicast protokołu IPv6 zostały określone jako mechanizmy przejściowe, umożliwiające hostom i routerom dynamiczne trasowanie pakietów IPvó przez infrastrukturę sieci protokołu IPv4 i na odwrót.
Adres unicast IPv6 zgodny z IPv4
Pierwszy typ adresu unicast nosi nazwę "adres IPv6 zgodny z IPv4". Ten zastępczy adres unicast może być przypisywany węzłom IPv6, a jego ostatnie 32 bity zawierają adres IPv4. Adresy takie mają następujący format:
80 bitów 16 bitów 32 bity
00...00 00...000 IPv4
Adres unicast IPv6 wzorowany na IPv4
Drugi, podobny typ adresu IPv6, również zawierający adres IPv4 w ostatnich 32 bitach, jest znany jako "adres IPv6 wzorowany na IPv4". Adres ten jest tworzony przez router o podwójnym protokole i umożliwia węzłom pracującym wyłącznie z protokołem IPv4 tunelowanie przez infrastrukture sieci z protokołem IPv6. Jedyna różnica między adresami unicast IPv6 wzorowanymi na IPv4 a adresami unicast IPv6 zgodnymi z IPv4 jest taka. że adresy wzorowane na IPv4 to adresy tymczasowe. Są one automatycznie tworzone przez routery o podwójnym protokole i nie mogą być przypisane do żadnego węzła. Kormat takiego adresu wygląda następująco:
80 bitów 16 bitów 32 bity
00..000 FF...FF IPv4
Obydwa adresy unicast, zarówno wzorowany na IPv4, jak i zgodny z IPv4, mają zasadnicze znaczenie dla tunelowania. Tunelowanie umożliwia przesyłanie pakietów przez niedostępny w inny sposób rejon sieci dzięki umieszczaniu pakietów w obramowaniu akceptowalnym na zewnątrz.
Struktury adresów anycast IPv6
Adres anycast, wprowadzony w protokole IPv6, jest pojedynczą wartością przypisaną do więcej niż jednego interfejsu. Zwykle interfejsy te należą do różnych urządzeń. Pakiet wysiany pod adres anycast jest trasowany tylko do jednego urządzenia. Jest on wysyłany do najbliższego - według zdefiniowanej przez protokoły trasujące miary odległości --interfejsu o tym adresie. Na przykład, strona WWW (World Wide Web) może być powielona na kilku serwerach.11 Dzięki przypisaniu tym serwerom adresu anycast żądania połączenia z tą stroną WWW są automatycznie trasowane do tylko jednego serwera najbliższego względem użytkownika.
W środowisku trasowanym "najbliższy" interfejs może nie być tym, który jest najbliżej w sensie fizycznego położenia. Routery wykorzystuję przy obliczaniu tras zaskakująco szeroki zestaw metryk. Określanie najkrótszej trasy jest uzależnione od aktualnie używanego protokołu trasującego oraz od jego metryk.
Adresy anycast są tworzone (pobierane) z przestrzeni adresów unicast i mogą przybrać formę dowolnego typu adresu unicast. Tworzy sieje, przypisując po prostu ten sam adres unicast więcej niż jednemu interfejsowi.
Struktury adresów multicast IPv6
Protokół IPv4 obsługiwał multicasting, ale wymagało to stosowania niejasnego adresowania klasy D. Protokół IPv6 rezygnuje z adresów klasy D na korzyść nowego formatu adresu, udostępniającego tryliony możliwych kodów grup multicast. Każdy kod grupy identyfikuje dwóch lub więcej odbiorców pakietu. Zakres pojedynczego adresu multicast jest elastyczny. Każdy adres może być ograniczony do pojedynczego systemu, do określonego miejsca, powiązany z danym łączem sieciowym lub rozpowszechniany globalnie.
Należy zauważyć, że nadawanie adresów IP również zostało wyeliminowane i zastąpione nowym multicastingowym formatem adresu.
Wnioski dotyczące IPv6
Pomimo potencjalnych korzyści związanych z protokołem IPv6, migracja z IPv4 nie jest wolna od ryzyka. Rozszerzenie długości adresu z 32 do 128 bitów automatycznie ogranicza współoperacyjność protokołów IPv4 i IPv6. Węzły ?tylko-IPv4" nie mogą współdziałać r węzłami " tylko-IPv6 ", ponieważ architektury adresowe nie są kompatybilne \v przód. To ryzyko biznesowe, w połączeniu z nieustanną ewolucją protokołu IPv4, może stanowić przeszkodę dla rynkowej akceptacji protokołu IPv6.
Wymiana IPX/SPX Novell
Zostaw protokołów firmy Novell bierze nazwę od swoich dwóch głównych protokołów: międzysieciowej wymiany pakietów (ang. IPX-lnternet Packet Exchange) i sekwencyjnej wymiany pakietów (ang. SPX-Sequeneed Packet Exchange). Ten firmowy stos protokołów został oparty na protokole systemów sieciowych firmy Xerox (ang. XNS - Xerox 'x Network System), wykorzystywanym w pierwszej generacji sieci Ethernet. Wymiana łPX/ SPX zyskała na znaczeniu we wczesnych latach 80. jako integralna część systemu Novell Netware ''. Netware stał się faktycznym standardem sieciowego systemu operacyjnego (ang. NOS - Network Operuting System) dla sieci lokalnych pierwszej generacji, Novell uzupełnił swój system zestawem aplikacji biznesowych i klienckich narzędzi łączności14.
Protokół IPX w dużym stopniu przypomina IP. Jest bezpołączeniowym protokołem datagra-mowym, który nie wymaga ani nie zapewnia potwierdzenia każdego transmitowanego pakietu. Protokół IPX polega na SPX w taki sam sposób, w jaki protokół IP polega na TCP w zakresie porządkowania kolejności i innych usług połączeniowych warstwy 4. Rysunek 12.4 przedstawia stos protokołów IPX/SPX w porównaniu z modelem referencyjnym OSI.
Protokoły IPX i SPX Novclla są funkcjonalnym ekwiwalentem warstw modelu OSI, odpowiednio warstw 3 i 4. Pełny zestaw protokołów IPX/SPX, składający się z czterech warstw, funkcjonalnie odpowiada innym warstwom modelu OSI.
Analiza IPX/SPX
Stos protokołów IPX/SPX obejmuje cztery warstwy funkcjonalne: dostępu do nośnika, łącza danych. InterncUi i aplikacji. Te cztery warstwy luźno nawiązują do siedmiu warstw modelu referencyjnego OSI, nie tracąc nic na funkcjonalności.
Warstwa aplikacji
Warstwa aplikacji Novella obejmuje trzy warstwy - aplikacji, prezentacji i sesji - modelu OSI, choć niektóre z jej protokołów aplikacyjnych rozciągają ten stos w dół, aż do warstwy sieci. Głównym protokołem warstwy aplikacji w tym stosie jest protokół rdzenia NetWare (ang. NCP - NetWare Córę Protocol). Protokół NCP można bezpośrednio sprzęgać zarówno z protokołem SPX, jak i IPX. Jest wykorzystywany do drukowania, współdzielenia plików, poczty elektronicznej i dostępu do katalogów.
Innymi protokolarni warstwy aplikacji są między innymi: protokół informacyjny trasowania (ang. R1P - Routing Information Prolocol), firmowy protokół ogłoszeniowy usługi (ang. SAP -- Service Advertimement Protocol i protokół obsługi łącza systemu Netware (ang. NLSP - Netware Link Services Protocol).
Protokół R1P jest domyślnym protokołem trasującym systemu NetWare. Jest to protokół trasowania wektora odległości wykorzystujący tylko dwie metryki: kwanty (ang. ticka) i skoki (ang. hops). Auw?? jest miarą czasu, zaś liczba skoków, jak już wyjaśniono wcześniej w tym rozdziale, jest licznikiem routerów, które manipulowały trasowanym pakietem. Na tych dwóch metrykach opiera się wybór ścieżki trasowania protokołu 1PX. Podstawową metryką są kwanty - skoki rozstrzygają tylko w przypadku, gdy dwie ścieżki (lub więcej) mają taką samą wartość znaków kontrolnych.
R! P jest bardzo prostym protokołem trasującym. Oprócz ograniczonej liczby metryk wektora odległości, cechuje się też wysokim poziomem narzutu sieciowego. Narzut len powstaje, ponieważ aktualizacje tabeli trasującej RIP są nadawane co 60 sekund. W wielkich lub mocno obciążonych sieciach taka szybkość aktualizacji może mieć szkodliwe działanie.
SAP jest unikatowym protokołem firmowym, który Novell udanie zastosował do polepszenia związku klienta z serwerem. Serwery wykorzystują protokół SAP do automatycznego wysyłania w sieć informacji o udostępnianych przez nie usługach natychmiast po tym, jak uaktywnią się w sieci. Oprócz tego okresowo nadają informacje SAP, aby dostarczać klientom i innym serwerom informacje o swoim statusie i usługach.
Transmisje SAP generowane przez serwer informują o statusie i usługach tego serwera. Transmisje zawierają nazwę i typ serwera, jego status operacyjny, a także numery sieci. węzła i gniazda. Routery mogą przechowywać informacje z transmisji SAP i rozprowadzać je do innych segmentów sieci. Klienci także mogą inicjować zgłoszenia SAP gdy
potrzebują określonej usługi. Ich żądanie jest rozsyłane po całym segmencie sieci. Hosty mogą wtedy odpowiedzieć i dostarczyć klientowi informacje SAP wystarczające do określenia, czy usługa jest dostępna w rozsądnej odległości.
Niestety, SAP jest dojrzałym protokołem, który coraz gorzej funkcjonuje we współczesnych sieciach. Tak jak w przypadku protokołu RIP, ogłoszenia o usługach są nadawane co 60 sekund. Przy dzisiejszych ogromnych, jednorodnych, komutowanych sieciach LAN taka częstość nadawania może być problematyczna.
Najnowszym protokołem warstwy aplikacji jest protokół obsługi łącza systemu Netware (NLSP). Jest to protokół trasowania w zależności od stanu łącza, którym Novell zamierza zastąpić starzejące się protokoły RIP i SAP. Protokół NLSP aktualizuje trasy tylko
wtedy, gdy zaszły jakieś zmiany.
Protokoły warstwy Internetu
Warstwa Internetu wymiany IPX/SPX luźno nawiązuje do warstw sieci i transportu modelu referencyjnego OSI. IPX jest w przeważającej części protokołem warstwy 3 (sieci), choć może też być bezpośrednio sprzęgany z warstwą aplikacji. SPX jest wyłącznie protokołem warstwy 4 (transportu) i nie może być bezpośrednio sprzęgnięty z interfejsem ODI warstwy łącza danych. Musi przekazywać dane poprzez protokół IPX sprzęgnięty z ODI. IPX i SPX funkcjonuj ą jako protokoły podwarstw we wspólnej warstwie Internetu.
SPX jest protokołem połączeniowym i może być wykorzystywany do przesyłania danych między klientem serwerem, dwoma serwerami czy nawet dwoma klientami. Tak jak w przypadku protokołu TCP, protokół SPX zapewnia niezawodność transmisjom IPX, zarządzając (administrując) połączeniem i udostępniając sterowanie strumieniem danych, kontrolę błędów i porządkowanie kolejności pakietów.
Nagłówek SPX ma następujący rozmiar i strukturę:
* Sterowanie połączeniem: Pierwszy oktet (8 bitów) nagłówka SPX zawiera
cztery 2-bitowe flagi, sterujące dwukierunkowym przepływem danych przez
połączenie SPX.
* Typ strumienia danych: Następnych osiem bitów nagłówka definiuje typ strumienia danych.
* Identyfikacja połączenia źródłowego: 16-bitowe pole identyfikacji połączenia źródłowego identyfikuje proces odpowiedzialny za inicjowanie połączenia.
* Identyfikacja połączenia docelowego: 16-bitowe pole identyfikacji połączenia docelowego służy do identyfikowania procesu, który zaakceptował żądanie (zgłoszenie) połączenia SPX.
* Numer sekwencji: 16-bitowe pole numeru sekwencji dostarcza protokołowi SPX
hosta docelowego informację o liczbie wysłanych pakietów. To sekwencyjne
numerowanie może być wykorzystywane do zmiany kolejności odebranych
pakietów, gdyby przybyły w niewłaściwej kolejności.
* Numer potwierdzenia: 16-bitowe pole numeru potwierdzenia wskazuje następny oczekiwany segment,
* Liczba alokacji: 16-bitowe pole liczby alokacji jest wykorzystywane do śledzenia
liczby pakietów wysłanych, ale nie potwierdzonych przez odbiorcę.
* Dane: Ostatnie pole nagłówka SPX zawiera dane. W jednym pakiecie SPX można
przesiać do 534 oktetów danych.
Protokołem warstwy sieci dla sieci Novell jest IPX. Protokół ten zapewnia bezpołącze-niowe usługi dostarczania datagramów. Przygotowuje pakiety protokołu SPX (lub pakiety innych protokołów) do dostarczenia przez wiele sieci, dołączając do nich nagłówek 1PX. W ten sposób powstaje struktura zwana datagramem IPX. Nagłówek tego datagramu zawiera wszystkie informacje niezbędne do skierowania pakietów do miejsca pr/ezna-czenia, niezależnie od tego, gdzie mogłoby się ono znajdować.
Długość nagłówka IPX wynosi 11 oktetów. Jego struktura obejmuje następujące pola:
*Suma Kontrolna: Nagłówek 1PX zaczyna się od 16-bitowego pola dziedziczenia,
które istnieje tylko po to, aby zapewnić kompatybilność wsteczną z protokołem
XNS. Protokół XNS wykorzystywał to pole do kontrolowania błędów, ale IPX
domyślnie ustawia to pole na "FFFFH", a wykrywanie (i korekcję) błędów
transmisji pozostawia protokołom wyższego poziomu.
*Długość Pakietu: 16-bitowe pole określające długość datagramu IPX, wliczając
nagłówek i dane. Pole to jest sprawdzane w celu weryfikacji integralności pakietu.
*Sterowanie Transportem: 8-bitowe pole wykorzystywane przez routery podczas
przesyłania datagramu. Przed wysłaniem 1PX ustawia to pole na ?O". Każdy router,
który odbiera i przesyła dalej datagram, zwiększa wartość pola o jeden.
*Typ Pakietu: 8-bitowe pole identyfikujące typ pakietu zawartego w datagramie
IPX. Pole to umożliwia hostowi docelowemu przekazanie zawartości do następnej,
odpowiedniej warstwy protokołów. Typy mogą obejmować RIP, NCP, SPX,
błąd itd.
*Numer Sieci Docelowej: 32-bitowe pole określające numer sieci, w której znajduje
się węzeł docelowy.
*Węzeł Docelowy: 48-bitowe pole zawierające numer węzła, w którym znajduje
się komputer docelowy.
*Numer Gniazda Docelowego: Ponieważ 1PX umożliwia wiele jednoczesnych
połączeń z jednym systemem, istotne jest określenie numeru gniazda procesu
lub programu odbierającego pakiety. Informacji takiej dostarcza to 16-bitowe pole.
*Numer Sieci ¬ródłowej: 32-bitowe pole określające numer sieci, w której znajduje
się węzeł źródłowy.
* Adres Węzła ¬ródłowego: 48-bitowe pole zawierające numer węzła, w którym znajduje się komputer źródłowy.
* Numer Gniazda ¬ródłowego: 16-bitowe pole, określające numer gniazda procesu lub programu wysyłającego pakiety.
Typowe działanie protokołów IPX/SPX
Protokół SPX tworzy i utrzymuje połączeniowy strumień bitów między dwoma przyłączonymi do sieci urządzeniami. Protokół przyjmuje duże bloki danych z protokołów wyższych warstw i dzieli je na łatwiejsze w kierowaniu kawałki, nie przekraczające długości 534 oktetów. Do danych dołączany jest nagłówek SPX i w ten sposób powstają segmenty danych SPX. Segmenty przekazywane są protokołowi warstwy Internetu, czyli protokołowi IPX. IPX umieszcza segmenty w polu danych swoich pakietów i wypełnia wszystkie pola nagłówka IPX.
Pola nagłówka IPX obejmują adresowanie sieci, długość, sumę kontrolną i inne informacje nagłówkowe. Następnie pakiet przekazywany jest warstwie łącza danych.
Komputer docelowy odwraca opisane wyżej działania. Odbiera pakiety i przekazuje je własnemu protokołowi SPX do ponownego złożenia. Jeśli to konieczne, pakiety są ponownie grupowane w segmenty danych, przekazywane odpowiedniej aplikacji.
Warstwy łącza danych i dostępu do nośnika
W systemie Netware odpowiednikami warstw fizycznej i łącza danych OSI są warstwy dostępu do nośnika i łącza danych. Warstwa łącza danych jest bezpośrednio kompatybilna ze standardem interfejsu otwartego łącza danych (ODI). Podobnie warstwa dostępu do nośnika jest bezpośrednio kompatybilna ze wszystkimi popularnymi, znormalizowanymi protokołami dostępu do nośnika.
Ta niskopoziomowa zgodność z przemysłowymi standardami otwartymi sprawia, że system Netware ze stosem protokołów IPX/SPX może być implementowany niemal wszędzie.
Adresowanie IPX
Adresy 1PX mają długość 10 oktetów (80 bitów). Jest to znacznie więcej niż 32 bity adresu !Pv4, ale mniej niż 128 bitów adresu IPv6. Każdy adres składa się z dwóch części składowych: numeru sieci o maksymalnej długości 32 bitów oraz 48-bitowego numeru węzła. Numery te są wyrażane w notacji kropkowo-szesnastkowej. Na przykład, Ia2b.0000.3c4d.5e6d mogłoby być prawidłowym adresem IPX, w którym ?Ia2b" reprezentuje numer sieci, a ?0000.3c4d.5e6d" jest numerem węzła.
Adresy IPX mogą być tworzone przez administratora sieci. Jednakże tak utworzone numery po znalezieniu się w sieci mogą spowodować występowanie konfliktów adresów.
Wymyślanie numerów sieci obciąża admina obowiązkiem ich utrzymywania i administrowania nimi. Lepszym rozwiązaniem jest więc pozyskanie zarejestrowanych numerów sieci IPX od firmy Newell.
Jako numer hosta IPX wykorzystuje się zwykle powszechnie przypisywany adres (adres MAC) karty sieciowej (NIC). Ponieważ adresy te są unikatowe, przynajmniej w teorii i w stopniu zależnym od zapewnienia jakości przez producenta, oferują wygodną i unikatową numerację hostów.
Podobnie jak IP, protokół IPX może obsługiwać wiele jednoczesnych sesji. Stwarza to potrzebę identyfikowania określonego procesu lub programu, który bierze udział w danej sesji. Identyfikację osiąga się dzięki stosowaniu 16-bitowego numeru
"gniazda" w nagłówku IPX. Numer gniazda jest analogiczny do numeru portu w protokole TCP/IP.
Wnioski dotyczące IPX/SPX
Firma Novell Inc. zaobserwowała, jak pozycja rynkowa będącego jej własnością stosu protokołów IPX/SPX słabnie pod naporem konkurencji. Gdy dostępne stały się stosy protokołów otwartych, takich jak OSI, IP i inne, pozycja IPX/SPX bardzo na tym ucierpiała. Dostępne w handlu pakiety oprogramowania wspomagającego prace biurowe również wpłynęły na sprzedaż produktów firmy Novell. Będące jej własnością, ściśle połączone ze sobą serie produktów zapewniły początkowy sukces, ale stały się ciężarem w warunkach rynku ceniącego otwartość i współoperacyjność.
Novell zademonstrował swoje zaangażowanie w staraniach o odzyskanie utraconej pozycji, czyniąc IPv6 domyślnym protokołem przyszłych wersji systemu Netware. Aby pomyślnie wprowadzić tę zmianę strategii, Novell musi zapewnić kompatybilność między protokołami IPv6 i IPX/SPX. By osiągnąć ten cel, Novell blisko współpracował z Grupa Roboczą ds. Technicznych Internctu podczas projektowania IPv6. Dzięki temu wiele usług 1PX stało się integralną częścią Ipv6.
Przygotowawszy grunt pod przyszłość, Novell musi teraz umożliwić bezbolesną migrację obecnego stosu protokołów i zestawu aplikacji do nowego środowiska. Co więcej, powinien także dostarczyć produkty i usługi podnoszące wartość wykorzystywania platformy sieci otwartej. Dla firmy Novell wizją na przyszłość jest dostarczenie usługi katalogów sieciowych (ang. NDS - Nctwork Direclory Service) i powiązanych produktów dla dwóch grup użytkowników: środowiska Internetu i korporacyjnych intranetów.
Usługa NDS oferuje jeden, globalny, logiczny widok na wszystkie usługi i zasoby sieciowe. Umożliwia to użytkownikom dostęp do tych usług i zasobów po wykonaniu pojedynczego logowania, niezależnie od lokalizacji użytkownika czy zasobów.
Pakiet protokołów AppleTalk firmy Apple
Gdy komputery Apple zyskały większą popularność, a ich użytkownicy zaczęli z nich korzystać w sposób coraz bardziej wyszukany, nieunikniona stała się konieczność połączenia ich w sieć. Nie jest niespodzianką, że sieć opracowana przez Apple jest tak przyjazna użytkownikowi jak komputery tej firmy. Z każdym komputerem Apple sprzedawany
Przyłączenie do sieci jest równie proste jak wetknięcie wtyczki do złącza sieciowego i włączenie zasilania komputera. AppleTalk jest siecią równoprawną dostarczającą proste funkcje jak wspólne korzystanie z plików i drukarek. Inaczej niż w sieciach klient/serwer, funkcjonalności sieci równoprawnej nie ograniczają żadne sztywne definicje. Każdy komputer może działać jednocześnie jako serwer i klient.
AppleTalk został także przyjęty przez wielu innych producentów systemów operacyjnych. Nierzadko spotyka się możliwość obsługi stosu protokołów AppleTalk na komputerach innych niż Apple. Pozwala to klientom wykorzystywać AppleTalk i komputery Apple do tworzenia lub przyłączania się do istniejących sieci klient/serwer, innych niż sieci Apple.
Analiza AppleTalk
Stos protokołów AppleTalk obejmuje pięć warstw funkcjonalnych: dostępu do sieci, data-gramową, sieci, informacji o strefach i aplikacji. Stos protokołów AppleTalk dość wiernie naśladuje funkcjonalność warstw transportu i sesji modelu referencyjnego OSI. Warstwy fizyczna i łącza danych zostały rozbite na wiele odrębnych warstw, specyficznych ze względu na ramki. AppleTalk integruje warstwy aplikacji i prezentacji, tworząc pojedynczą warstwę aplikacji. R
Stos protokołów AppleTalk odwzorowuje funkcjonalność warstw sieci, transportu i sesji modelu referencyjnego OSI, ale pozostałe cztery warstwy zawiera w dwóch.
Warstwa aplikacji sieci AppleTalk
AppleTalk łączy w pojedynczej warstwie aplikacji funkcjonalność warstw aplikacji i prezentacji modelu OSI. Ponieważ AppleTalk jest dosyć prostym stosem protokołów, warstwę tę zajmuje tylko jeden protokół. Jest to protokół dostępu do plików sieci AppleTalk (ang. AFT - AppleTalk Fiiing Protocof}. Protokół AFP dostarcza usługi plików sieciowych aplikacjom istniejącym oddzielnie od stosu protokołów, takim jak poczta elektroniczna, kolejkowanie wydruków itd. Każda aplikacja uruchamiana na komputerze Apple musi przejść przez protokół AFP, jeśli chce wysłać informacje do sieci lub je z niej odebrać.
Warstwa sesji sieci AppleTalk
Warstwa sesji w sieci AppleTalk obejmuje pięć podstawowych protokołów, dostarczających takie usługi, jak pełnodupleksowa transmisja, logiczne rozróżnianie nazw i adresów, dostęp do drukarki, ustalanie kolejności pakietów i inne.
Pierwszym protokołem warstwy sesji jest protokół strumienia danych sieci AppleTalk (ang. ADSP - AppleTalk Data Stream Protocof). Protokół ten dostarcza pełnoduplek-sowe usługi połączeniowe w wysoce niezawodny sposób, poprzez ustanawianie logicznego połączenia (sesji) pomiędzy dwoma komunikującymi się procesami na komputerach klientów. Protokół ADSP również zarządza tym połączeniem, dostarczając usługi sterowania strumieniem danych, zarządzania kolejnością i potwierdzania transmitowanych pakietów. Protokół ADSP wykorzystuje adresy gniazd do ustanowienia logicznego połączenia procesów. Po ustanowieniu tego połączenia dwa systemy mogą wymieniać dane.
Innym protokołem warstwy sesji sieci AppleTalk jest protokół sesji sieci AppleTalk (ang. ASP - AppleTalk Sexsion Protocof). Protokół ten zapewnia niezawodne dostarczanie danych, wykorzystując sekwencyjne zarządzanie sesją, a także usługi transportowe protokołu transportu sieci AppleTalk (ang. ATP - Apple Talk Transport Protocol}, który jest protokołem warstwy transportu.
Protokół trasowania AppleTalk (ang. AURP - AppleTalk Update-Based Routing Protocof) jest wykorzystywany w większych sieciach AppleTalk. Protokół ten służy przede wszystkim do zarządzania trasą i wymianą informacji pomiędzy urządzeniami trasującymi, zwłaszcza routerami bramek zewnętrznych.
Warstwa sesji sieci AppleTalk zawiera także protokół dostępu do drukarki (ang. PAP - Printer Access Protocof}. Choć protokół ten został pierwotnie opracowany dla administrowania dostępem do drukarek sieciowych, może być wykorzystywany w rozmaitych wymianach danych. Zapewnia dwukierunkową sesję między dwoma urządzeniami, uzupełnioną o sterowanie strumieniem danych i zarządzanie kolejnością.
Ostatnim z protokołów warstwy sesji sieci AppleTalk jest protokół informacji o strefach (ang. ZIP - Żonę Information Protocof). Zapewnia on mechanizm logicznego grupowania indywidualnych urządzeń sieciowych z wykorzystaniem nazw przyjaznych dla użytkownika. Te grupy logiczne są nazywane strefami, W rozszerzonej sieci komputery mogą być rozrzucone po wielu sieciach, ciągle będąc zgrupowanymi w stretle. Jednak w małych, nie rozszerzonych sieciach, może być zdefiniowana tylko jedna strefa.
Protokół ZIP korzysta z protokołu wiązania nazw (ang. NBP - Name Binding Protocof), który jest protokołem warstwy transportu, do tłumaczenia nazw na numery sieci i węzła, a także z protokołu transportu ATP do aktualizowania informacji o strefach.
Pięć wymienionych protokołów warstwy sesji zapewnia klientom AppleTalk logiczne połączenia i transfery danych między komputerami, niezależnie od tego, jak bardzo są od siebie oddalone.
Warstwa transportu sieci AppleTalk
Warstwa transportu sieci AppleTalk oferuje usługi transportowe wszystkim warstwom wyższych poziomów. W warstwie tej istnieją cztery odrębne protokoły. Najczęściej używanym spośród nich jest protokół transportu AppleTalk (ATP).
Protokół ATP zapewnia niezawodny mechanizm dostarczania pakietów między dwoma komputerami. ATP korzysta z pól sekwencji i potwierdzenia, znajdujących się w nagłówku pakietu, aby zapewnić, że pakiety nie zaginą na drodze do miejsca przeznaczenia.
Kolejnym ważnym protokołem warstwy transportu AppleTalk jest protokół wiązania nazw (NBP). Jak wspominam wcześniej, NBP wykorzystuje protokół ZIP do tłumaczenia nazw przyjaznych dla użytkownika na rzeczywiste adresy. Protokół NBP przeprowadza faktyczną translację nazw stref na adresy sieci i węzłów. Protokół ten obejmuje cztery podstawowe funkcje:
* Rejestracja nazwy: Funkcja ta rejestruje unikalną nazwę logiczną w bazie
rejestrów NBP.
* Przeglądanie nazw: Funkcja ta jest udostępniana komputerowi, który prosi o adres
innego komputera. Prośbajest zgłaszana i zaspokajana w sposób jawny. Jeśli
w prośbie podawana jest nazwa obiektu, protokół NBP zmienia tę nazwę w adres
numeryczny. NBP zawsze przystępuje do zaspokajania takich próśb, przeglądając
numery węzłów lokalnych. Jeśli żaden z nich nie pasuje, protokół NBP rozsyła
prośbę do innych, połączonych ze sobą sieci AppleTalk. Jeśli wciąż nie można
znaleźć pasującego adresu, czas prośby mija i proszące urządzenie otrzymuje
komunikat o błędzie.
* Potwierdzenie nazwy: Żądania potwierdzenia są używane do weryfikacji związku
obiektu z adresem.
* Usunięcie nazwy: W każdej sieci urządzenia są czasowo wyłączane lub odłączane. Gdy wystąpi taka sytuacja, wysyłane jest żądanie usunięcia nazwy, a tablice "obiekt-nazwa-adresowanie" są uaktualniane automatycznie.
Kolejnym protokołem warstwy transportu jest protokół echa sieci AppteTalk (ang. AEP - AppleTalk Echo Protocol}. Służy on do określania dostępności systemu i obliczania czasu transmisji i potwierdzenia przyjęcia (ang. RTT- Round Trtp Transmit Time}.
Ostatnim protokołem warstwy transportu jest protokół utrzymania wyboru trasy (ang. RTMP - Routing Tcihle Maintenance Protocof). Ponieważ AppleTalk stosuje w swojej warstwie sieci protokoły trasowane, musi zapewnić zarządzanie (administrowanie) tablicami trasowania. Protokół RTMP dostarcza routerom zawartość dla ich tablic trasowania.
Warstwa datagramowa sieci AppleTalk
Warstwa datagramowa sieci AppleTalk, analogiczna do warstwy 3 (sieci) modelu OSI, zapewnia bezpołączeniowe dostarczanie pakietowanych datagramów. Jest podstawą dla ustanawiania komunikacji i dostarczania danych przez sieć AppleTalk. Warstwa datagramowa jest również odpowiedzialna za zapewnianie dynamicznego adresowania węzłów
sieciowych jak też za rozróżnianie adresów MAC dla sieci IEEE 802.
Podstawowym protokołem tej warstwy jest protokół dostaw datagramów (ang. DDP - Da-(agram Delivery Protocoi). Zapewnia on transmisję danych przez wiele sieci w trybie bezpolączeniowym. Dostosowuje swoje nagłówki w zależności od miejsca przeznaczenia przesyłki. Podstawowe elementy pozostają stałe; dodatkowe pola są dodawane w razie potrzeby.
Datagramy, które mają być dostarczone lokalnie (innymi słowy w obrębie tej samej podsieci). wykorzystują tzw. "krótki nagłówek". Datagramy, które wymagają trasowania do innych podsieci, wykorzystują format "rozszerzonego nagłówka". Format rozszerzony zawiera
adresy sieci i pole licznika skoków.
Nagłówek DDP składa się z następujących pól:
* Liczba Skoków: Pole to zawiera licznik, zwiększany o jeden po każdym przejściu
pakietu przez router. Pole liczby skoków jest wykorzystywane tylko
w rozszerzonym nagłówku.
* Długość Datagramu: Pole zawiera długość datagramu i może służyć do sprawdzenia, czy nie został on uszkodzony podczas transmisji.
* Suma Kontrolna DDP: Jest to pole opcjonalne. Kiedy jest używane, zapewnia
pewniejszą metodę wykrywania błędów niż proste sprawdzanie długości datagramu.
Weryfikacja sumy kontrolnej wykrywa nawet niewielkie zmiany zawartości,
niezależnie od tego, czy długość datagramu uległa zmianie.
* Numer Gniazda ¬ródłowego: To pole identyfikuje proces komunikujący w komputerze, który zainicjował połączenie.
* Numer Gniazda Docelowego: To pole identyfikuje proces komunikujący w komputerze, który odpowiedział na żądanie (prośbę) połączenia.
* Adres ¬ródłowy: Pole zawierające numery sieci i węzła komputera źródłowego. Jest używane tylko w rozszerzonym formacie nagłówka i umożliwia routerom przesyłanie datagramów przez wiele podsieci.
* Adres Docelowy: Pole zawierające numery sieci i węzła komputera docelowego, Jest używane tylko w rozszerzonym formacie nagłówka i umożliwia routerom przesyłanie datagramów przez wiele podsieci.
* Typ DDP: Pole identyfikujące zawarty w datagramie protokół wyższej warstwy.
Jest wykorzystywane przez warstwę transportu komputera docelowego do
identyfikowania odpowiedniego protokołu, do którego powinna być przesłana
zawartość.
* Dane: Pole to zawiera przesyłane dane. Jego rozmiar może wynosić od O do 586 oktetów.
Warstwa datagramowa zawiera także protokół używany do przekształcania adresów węzłów w adresy MAC dla komputerów przyłączonych do sieci IEEE 802. Jest to protokół rozróżniania adresów sieci AppleTalk (ang. AARP - AppleTalk Address Resolution Protocoi). Może być także używany do określania adresu węzła danej stacji. Protokół AARP przechowuje swoje informacje w tablicy odwzorowywania adresów (AMT). Stosownie do dynamicznego przypisywania numerów węzłów, tablica ta jest stale i automatycznie
Warstwa łącza danych sieci AppleTalk
Warstwa łącza danych sieci AppleTalk odwzorowuje funkcjonalność warstw fizycznej i łącza danych modelu OSI. Funkcjonalność ta jest zintegrowana w podwarstwach specyficznych dla ramek. Na przykład, ?EtherTalk" jest protokołem warstwy łącza danych zapewniającym całkowitą funkcjonalność warstw fizycznej i łącza danych modelu OSI w ramach jednej podwarstwy. Podwarstwa ta umożliwia opakowywanie AppleTalk w strukturze ramki Ethernetu zgodnej z 802.3.
Istnieją podobne podwarstwy AppleTalk dla Token Ringu (znane jako ?TokenTalk") i dla FDDI ("FDDITalk"). Protokoły te są nazywane ?protokołami dostępu" ze względu na oferowane przez nie usługi dostępu do sieci fizycznej.
EtherTalk używa protokołu dostępu szeregowego, znanego jako ?protokół dostępu do łącza EtherTalk" (ang. ELA P - Ether Talk Link Access Protocoi) do pakowania danych i umieszczania ramek zgodnych z 802.3 w nośniku fizycznym. Taka konwencja nazewnicza i funkcjonalność protokołu dostępu szeregowego dotyczy również pozostałych protokołów dostępu. Na przykład, TokenTalk korzysta z ?protokołu dostępu do łącza TokenTalk" (ang. TLA P - Token Talk Link Access Protocoi).
Oprócz protokołów dostępu pasujących do standardów przemysłowych, firma Apple oferuje własny protokół sieci lokalnych, należący do warstwy łącza danych. Jest on znany pod nazwą ?LocalTalk". LocalTalk działa z szybkością 230 Kbps, korzystając ze skrętki dwużyłowej. Wykorzystuje, jak można się spodziewać, protokół dostępu do łącza LocalTalk (ang. LLAP - Local Talk Link Access Protocoi) do składania ramek i umieszczania ich w sieci. Protokół LLAP zawiera również mechanizmy zarządzania dostępem do nośnika, adresowania na poziomie łącza danych, opakowywania danych oraz reprezentacji bitowej dla transmisji ramki.
Schemat adresowania sieci AppleTalk
Schemat adresowania sieci AppleTalk składa się z dwóch części: numeru sieci i numeru
węzła.
Numery sieci mają zwykle długość 16 bitów, choć w przypadku sieci nie rozszerzonych lub rozszerzonych w małym stopniu może być stosowane numerowanie jednoskładnikowe (8 bitów). Numery te muszą być zdefiniowane przez administratora sieci i używane przez AppleTalk do trasowania pakietów między różnymi sieciami. Numer sieci ?O" jest zarezerwowany przez protokół do wykorzystania przy pierwszym przyłączaniu nowych węzłów sieci. Numer sieci musi mieć wartość z zakresu od 00000001 do FFFFFFFF.
Numery węzłów są liczbami 8-bitowymi - dopuszczalny zakres adresów dla hostów, drukarek, routerów i innych urządzeń wynosi od l do 253; numery O, 254 i 255 są zarezerwowane przez AppleTalk do wykorzystania w rozszerzonych sieciach. Węzły są numerowane dynamicznie przez warstwę łącza danych sieci AppleTalk.
Adresy AppleTalk są wyrażane w notacji kropkowo-dziesiętnej. Jak już wyjaśniono wcześniej w tym rozdziale, adres binarny jest zamieniany na dziesiętny system liczbowy, a kropka (.) służy do oddzielania numerów węzła i sieci. Na przykład, 100.99 odnosi się do urządzenia 99 w sieci 100. Początkowe zera zostały pominięte.
Wnioski dotyczące AppleTalk
AppleTalk jest firmowym stosem protokołów, przeznaczonym specjalnie dla pracujących w sieci komputerów osobistych firmy Apple. Jego przyszłość jest bezpośrednio związana z losami firmy Apple Corporation i kierunkami rozwoju jej technologii. Tak jak w przypadku firmowego stosu protokołów Novella, warstwy fizyczna i łącza danych służą do zapewnienia zgodności z technologiami sieciowymi opartymi na ustanowionych standardach. Jedynym wyjątkiem jest warstwa fizyczna LocalTalk, która może połączyć ze sobą komputery Apple, używając skrętki dwużyłowej przy szybkości do 230 Kbps.
NetBEUI
Ostatnim, zasługującym na omówienie protokołem jest NetBEUI. Ta niewygodna nazwa jest częściowo skrótem, a częściowo akronimem. Oznacza rozszerzony interfejs użytkownika NetBIOS (co z kolei jest skrótem od Podstawowego sieciowego systemu wejścia-wyjś-cia). Interfejs NetBEUI został opracowany przez IBM i wprowadzony na rynek w 1985 roku. Jest stosunkowo małym, ale wydajnym protokołem komunikacyjnym LAN.
Wizja firmy IBM dotycząca obliczeń rozproszonych zakładała w tamtych czasach seg-mentację sieci LAN, opartą na potrzebie wspólnej pracy. Poszczególne segmenty obsługiwałyby środowisko powiązane procesami pracy. Dane, do których potrzebny był dostęp, ale znajdujące się poza segmentem, mogły być odnalezione za pomocą pewnego rodzaju bramy aplikacji. Ze względu na takie pochodzenie nie powinno dziwić, że NetBEUI najlepiej nadaje się do małych sieci LAN. Wizja ta wyjaśnia również, dlaczego protokół NetBEUI nie jest trasowalny.
Protokół ten obejmuje warstwy 3 i 4 modelu referencyjnego OSI.
Ostatnio firma Microsoft wypuściła protokół NetBEUI 3.0. Jest to ważne z kilku powodów.
Po pierwsze wersja 3.0 jest bardziej tolerancyjna dla wolniejszych srodków transmisji
niż wersje wcześniejsze. Posiada też możliwość w pełni automatycznego dostrajania się Najbardziej znaczącą zmianą w NetBEUI 3.0 jest wyeliminowanie samego protokołu NetBEUI. W sieciowych systemach operacyjnych firmy Microsoft został on zastąpiony protokołem ramki NetBIOS (ang. NBF - NetBIOS Frame). Zarówno NetBEUI, jak i NBF są ściśle związane z NetBIOS. Dlatego NetBEUI 3.0 (NBF) jest całkowicie kompatybilny i może współpracować z wcześniejszymi wersjami Microsoft NetBEUI.
NetBEUI, niezależnie od wersji, jest integralną częścią sieciowych systemów operacyjnych firmy Microsoft. Jeśli podejmiesz próbę uruchomienia systemu Windows NT 3.x (lub wyższego), Windows for Workgroups 3.11 czy nawet LAN Manager 2.x bez zainstalowanego protokołu NetBEUI, komputer nie będzie mógł się komunikować.
Wnioski dotyczące NetBEUI
NetBEUI jest wyłącznie protokołem transportu sieci LAN dla systemów operacyjnych firmy Microsoft. Me jest trasowalny. Dlatego jego implementacje ograniczają się do domen warstwy 2, w których działają wyłącznie komputery wykorzystujące systemy operacyjne firmy Microsoft. Aczkolwiek staje się to coraz mniejszą przeszkodą, to jednak skutecznie ogranicza dostępne architektury obliczeniowe i aplikacje technologiczne.
Zalety korzystania z protokołu NetBEUI są następujące:
* Komputery korzystające z systemów operacyjnych lub oprogramowania sieciowego
firmy Microsoft mogą się komunikować,
* NetBEUI jest w pełni samodostrajającym się protokołem i najlepiej działa w małych segmentach LAN,
* NetBEUI ma minimalne wymagania odnośnie pamięci,
* NetBEUI zapewnia doskonałą ochronę przed błędami transmisji, a także powrót
do normalnego stanu w razie ich wystąpienia.
Wadą protokołu NetBEUI jest fakt, że nie może być trasowany i niezbyt dobrze działa w sieciach WAN.
Podsumowanie
Protokoły sieciowe są umiejscowione powyżej warstwy łącza danych. Prawidłowo zaprojektowane i skonstruowane są niezależne od architektur sieci LAN i zapewniają całościowe zarządzanie transmisjami w domenach sieci LAN.
Czas generowania: 0.074 s.
|