SIECI KOMPUTEROWE
I. Wprowadzenie.
Wprowadzenie.
W ostatnich latach sieci komputerowe stały się niezbędnym narzędziem w przemyśle, bankowości, administracji, wojsku, nauce i innych działach gospodarki. Na rynku dostępne są różnorodne technologie sieciowe, których kierunki rozwoju określone są przez międzynarodowe organizacje standaryzacyjne i grupy robocze przy współudziale największych firm dostarczających sprzęt i oprogramowanie sieciowe.
Sieć komputerowa jest systemem komunikacyjnym służącym do przesyłania danych, łączącym co najmniej dwa komputery i urządzenia peryferyjne.
Cel tworzenia sieci.
Przyczyny zakładania sieci komputerowych i ich podstawowe cechy są następujące:
współużytkowanie programów i plików;
współużytkowanie innych zasobów: drukarek, ploterów, pamięci masowych, itd.
współużytkowanie baz danych;
ograniczenie wydatków na zakup stacji roboczych;
tworzenie grup roboczych - ludzie z różnych miejsc mogą uczestniczyć w tym samym projekcie;
poczta elektroniczna, szybkie i łatwe komunikowanie się;
oprogramowanie wspomagające pracę grup roboczych i obieg dokumentów;
rozwój organizacji - sieci mogą zmieniać strukturę organizacyjną firmy i sposób jej zarządzania;
Klasyfikacja sieci.
Ze względu na obszar jaki obejmują swym zasięgiem, przeznaczenie i przepustowość sieci można podzielić na następujące klasy:
lokalna sieć komputerowa (LAN - Local Area Network) - jest to sieć łącząca użytkowników na niewielkim obszarze (pomieszczenie, budynek). Sieci te charakteryzują się przede wszystkim małym kosztem dołączenia stacji, prostym oprogramowaniem komunikacyjnym i łatwością rozbudowy. Typową cechą sieci lokalnej jest korzystanie ze wspólnego medium transmisyjnego przez komunikujące się stacje;
sieć terytorialna, kampusowa (campus network) - sieć obejmująca swym zasięgiem kilka budynków znajdujących się np. na terenie uczelni, przedsiębiorstwa;
miejska sieć komputerowa (MAN - Metropolitan Area Network) - jest to sieć o zasięgu miasta. Najczęściej są to szybkie sieci wybudowane w oparciu o łącza światłowodowe. Sieci te udostępniają różne usługi, np.: połączenia między sieciami lokalnymi, możliwość bezpośredniego dołączenia stacji roboczych lub korzystanie z mocy obliczeniowej „dużych” komputerów pracujących w sieci;
rozległa sieć komputerowa (WAN - Wide Area Network) - jest to sieć, która przekracza granice miast, państw, kontynentów. Sieć taka składa się z węzłów i łączących je łączy transmisyjnych. Dostęp do sieci rozległej uzyskuje się poprzez dołączenie systemów użytkownika do węzłów sieci. W węzłach znajdują się urządzenia umożliwiające przesyłanie danych między różnymi użytkownikami. Łączność pomiędzy węzłami realizowana jest za pomocą publicznej sieci telefonicznej, specjalnie wybudowanych łączy, kanałów satelitarnych, radiowych lub innych;
sieć radiowa (Radio Network) - jest to sieć bezprzewodowa, w której medium transmisyjnym jest kanał radiowy. Przy każdej stacji lub grupie stacji zainstalowane jest urządzenie nadawczo - odbiorcze zapewniające transmisję danych. Zasięg tych sieci jest uwarunkowany zasięgiem stacji nadawczo - odbiorczych;
sieć satelitarna - sieć, w której sygnały ze stacji naziemnych są transmitowane do satelity, który retransmituje je do innej (innych) stacji naziemnych. Satelita pełni również rolę wzmacniacza sygnału. Zasięg takiego systemu jest znacznie większy od zasięgu sieci radiowej i zależy od mocy nadajnika satelity. Występują tutaj dość duże czasy propagacji (do 0,25 s) co może powodować problemy, gdy transmisja jest uwarunkowana czasowo. Typowym zastosowaniem takich sieci jest tworzenie alternatywnych połączeń, z których korzysta się w razie awarii połączeń naziemnych;
Środowiska sieci.
Środowisko sieci określone jest przez sieciowy system operacyjny oraz przez protokoły, zapewniające komunikację i usługi sieciowe. Istnieją 2 podstawowe typy sieciowych systemów operacyjnych:
każdy z każdym (peer-to-peer) - umożliwia użytkownikom udostępnienie zasobów swojego komputera oraz dostęp do zasobów innych komputerów. Wszystkie systemy w sieci mają taki sam status - żaden z nich nie jest podporządkowany innemu. Wszystkie stacje uczestniczące w sesji komunikacyjnej mają podobny stopień kontroli nad sesją, dysponują własną mocą przetwarzania i mogą kontrolować swoje działania. Rozwiązanie takie oferuje spore możliwości, nie jest jednak chętnie stosowane przez administratorów sieci ze względu na niewielkie możliwości zarządzania i niski poziom bezpieczeństwa. Występują tutaj problemy związane z lokalizacją danych, tworzeniem kopii zapasowych oraz z zapewnieniem odpowiedniej ochrony danych. Tworzenie sieci typu „każdy z każdym” umożliwiają m.in. systemy: IBM LAN Server, OS/2, LANtastic, Artisoft, MS Windows NT oraz MS Windows 95;
dedykowany serwer - jeden lub więcej komputerów spełnia rolę serwera i nie wykonuje innych zadań. Serwer spełnia takie zadania jak: przechowywanie i udostępnianie plików, zarządzanie współdzieleniem drukarek oraz funkcje związane z bezpieczeństwem danych;
Składniki sieci.
Sieć komputerowa składa się zarówno ze sprzętu jak i z oprogramowania. Podstawowe składniki sieci to:
sieciowy system operacyjny;
serwery - urządzenia lub oprogramowanie świadczące pewne usługi sieciowe, np.: serwer plików (przechowywanie i odzyskiwanie plików, włącznie z kontrolą praw dostępu i funkcjami związanymi z bezpieczeństwem), serwer poczty elektronicznej, serwer komunikacyjny (usługi połączeń z innymi systemami lub sieciami poprzez łącza sieci rozległej), serwer bazy danych, serwer archiwizujący, itd.
systemy klienta - węzły lub stacje robocze przyłączone do sieci przez karty sieciowe. System operacyjny klienta może zawierać oprogramowanie (powłoka - requester) skierowujące żądania sieciowe użytkowników lub aplikacji do serwerów;
karty sieciowe - adapter pozwalający na przyłączenie komputera do sieci. Stosowane są różne rodzaje kart w zależności od tego do pracy w jakiej sieci są przeznaczone;
system okablowania - medium transmisyjne łączące stacje robocze i serwery. W przypadku sieci bezprzewodowych może to być podczerwień lub kanały radiowe;
współdzielone zasoby i urządzenia peryferyjne - mogą to być drukarki, napędy dysków optycznych, plotery, itd.
Są to podstawowe elementy wchodzące w skład sieci (lokalnej). Składniki te oraz inne urządzenia sieciowe (np. umożliwiające łączenie sieci) zostaną opisane dalej, przy omawianiu sieci lokalnych i łączeniu sieci.
Organizacje standaryzacyjne.
Organizacje standaryzacyjne opracowują standardy (normy) określające fizyczne i funkcjonalne właściwości sprzętu wykorzystywanego do budowy sieci, sprzętu komunikacyjnego, a także systemów operacyjnych i oprogramowania. Producenci sprzętu i oprogramowania mogą wytwarzać współdziałające ze sobą produkty w oparciu o standardy. Standardy są zaleceniami, które producenci mogą zaakceptować, z drugiej strony producenci dokonują zmian we wcześniej ustanowionych standardach po to, by uwzględnić nowe właściwości oferowanych przez nich produktów.
Standard de facto to standard, który zyskał popularność mimo tego, że nie został uznany przez żadną z organizacji standaryzacyjnych.
Poniżej zostaną wymienione i opisane najważniejsze międzynarodowe i działające w USA organizacje standaryzacyjne, które ustanawiają standardy związane z sieciami komputerowymi.
Amerykański Instytut Normalizacyjny (American National Standards Institute - ANSI) - jest to organizacja zajmująca się definiowaniem obowiązujących w Stanach Zjednoczonych standardów kodowania i sygnalizacji. Reprezentuje USA w takich międzynarodowych organizacjach jak: ISO, CCITT. W niektórych przypadkach zatwierdza także zgodne standardy przyjęte przez IEEE. Standardy ANSI to m.in.: ANSI 802.1-1985 (IEEE 802.5, specyfikacje definiujące protokoły dostępu, okablowanie i interfejs dla sieci lokalnych typu Token Ring), ANSI/IEEE 802.3 (definiuje sieci typu Ethernet wykorzystujące przewód koncentryczny i metody dostępu: nasłuchiwania i wykrywania kolizji), ANSI X3.135 (specyfikacja języka SQL), ANSI X3.92 (standard algorytmu szyfrowania), ANSI X3T9.5 (definiuje metody przesyłania danych w sieciach światłowodowych o prędkości transmisji 100 Mb/s - FDDI) i inne;
Common Open Software Environment (COSE) - jest to konsorcjum producentów, do którego należą m.in. IBM, Hewlett-Packard, SunSoft i Novell. Firmy te pracują nad jednolitym środowiskiem pracy użytkownika przeznaczonym dla systemu UNIX. Do głównych celów tej organizacji należą: opracowanie specyfikacji interfejsów API, przyjęcie jednolitych środowisk sieciowych, wybranie do zatwierdzenia technologii graficznych, multimedialnych i obiektowych, zdefiniowanie mechanizmów zarządzania i administracji w systemach rozproszonych;
Międzynarodowy Komitet Doradczy ds. Telefonii i Telegrafii (Consultative Committee for International Telegraph and Telephone - CCITT) - jest to komitet ITU, którego członkami są osoby wydelegowane przez rządy krajów zrzeszonych w ONZ. Zadania CCITT obejmują analizowanie, wydawanie zaleceń i ustalanie standardów dotyczących technicznych i organizacyjnych aspektów telekomunikacji. W 1993 r. CCITT został przekształcony w Sektor Normalizacji Komunikacji Międzynarodowej Unii Telekomunikacyjnej ITU. Obecnie standardy przyjęte przez CCITT nazywa się standardami ITU-T. Komitet jest podzielony na 15 grup roboczych, które zajmują się m.in.: usługami, konserwacją i utrzymaniem urządzeń, taryfami, sieciami danych i infrastrukturą telekomunikacyjną. Grupy te spotykają się co cztery lata w celu dokonania oceny postępów w pracach, przedstawienia propozycji, przygotowania projektów standardów, proponowania i przyjmowania zaleceń. Niektóre państwa uwzględniają zalecenia CCITT w swoich wewnętrznych przepisach. Zalecenia dotyczą różnych kategorii oznaczanych literami A-Z. Oto niektóre z nich:
A i B procedury działania, terminologia i definicje;
D i E taryfy;
F usługi telegraficzne, teleinformatyczne i niestacjonarne;
G i H transmisje;
I sieci z integracją usług komunikacyjnych ISDN;
J transmisje telewizyjne;
K i L zabezpieczenia urządzeń;
M i N obsługa, konserwacja i utrzymanie;
P transmisje telefoniczne;
R-U usługi terminalowe i telegraficzne;
V przesyłanie danych w sieciach telefonicznych;
X komunikacyjne sieci danych;
Przykładowe standardy: V.22 (dupleksowa transmisja danych z prędkością 1200 bitów/s), V.28 (definiuje łącza interfejsu RS-232), V.35 (definiuje warunki szybkich transmisji po łączach zestawionych), V.34 (standard transmisji z prędkością 28 kbitów/s), X.200 (ISO 7498, model odniesienia OSI), X.25 (ISO 7776, interfejs sieci pakietowej), X.400 (ISO 10021, obsługa poczty elektronicznej) i inne.
Corporation for Open Systems (COS) - jest to organizacja typu non-profit, prowadząca prace na rzecz zapewnienia zgodności i możliwości współdziałania pomiędzy produktami zgodnymi ze standardami OSI i ISDN. Opracowuje protokoły OSI, przygotowuje testy zgodności ze standardami, wydaje certyfikaty i promuje produkty zgodne z OSI.
Stowarzyszenie elektroniki przemysłowej (Electronic Industries Association - EIA) - jest organizacją zrzeszającą amerykańskich wytwórców sprzętu elektronicznego. Powstała w 1924 r. Publikuje standardy dotyczące telekomunikacji i łączności komputerowej. Podstawowe standardy EIA dla telekomunikacji obejmują interfejs szeregowy modem - komputer (RS-232-C, RS-449, RS-422, RS-423). Standard EIA-232 (wcześniej RS-232 lub w CCITT: V.24) określa połączenia szeregowe pomiędzy urządzeniami DTE (Data Terminal Equipment) i DCE (Data Communication Equipment) i jest powszechnie stosowany.
Stowarzyszenie Inżynierów Elektryków i Elektroników (Institute of Electrical and Electronic Engineers - IEEE) - jest to organizacja amerykańska, która zajmuje się m.in. opracowywaniem standardów przesyłania danych, w szczególności komitety IEEE 802 są odpowiedzialne za przygotowanie projektów dotyczących sieci lokalnych, które następnie są zatwierdzane przez ANSI. Swoje projekty IEEE przesyła również do ISO, która rozpowszechnia je jako standardy ISO 8802. Komitety ISO 802 koncentrują się głównie na interfejsach fizycznych. Standardy określają sposób dostępu kart sieciowych do fizycznego nośnika danych, sposób ustanawiania, obsługi i zamykania połączeń pomiędzy komunikującymi się urządzeniami sieciowymi. Standardy IEEE 802 definiują wymagania dla następujących produktów: karty sieciowe, mosty, routery i inne urządzenia wchodzące w skład sieci lokalnych, wykonanych za pomocą skrętki lub kabla koncentrycznego. Podkomitety 802 opracowujące standardy dla sieci lokalnych to: 802.1 - współpraca sieci, 802.2 - sterowanie łączem logicznym, 802.3 - metoda dostępu do medium CSMA/CD, 802.4 - sieci Token Bus, 802.5 - sieci Token Ring, 802.6 - sieci miejskie, 802.7 - doradcza grupa techniczna ds. przesyłania szerokopasmowego, 802.8 - doradcza grupa techniczna ds. światłowodów, 802.9 - zintegrowane sieci komputerowe i telefoniczne, 802.10 - bezpieczeństwo sieci, 802.11 - sieci bezprzewodowe, 802.12 - sieć lokalna z priorytetem na żądanie;
Międzynarodowa Organizacja Standaryzacyjna (International Organization for Standarization - ISO) - została założona w 1947 r. Celem działania ISO jest rozwój i promocja standardów w wymianie międzynarodowej. Standardy ISO obejmują praktycznie wszystkie dziedziny produkcji przemysłowej. ISO odpowiada m.in. za rozwój i utrzymanie modelu połączeń systemów otwartych (OSI). Do ISO należą przedstawiciele większości dużych organizacji standaryzacyjnych na świecie, ISO jest powiązana z ONZ;
Międzynarodowa Unia Telekomunikacyjna (International Telecommunications Union - ITU) - została założona w 1932 r. i zastąpiła Międzynarodowy Związek Telegraficzny oraz Międzynarodowy Związek Radiotelegrafii. Od roku 1947 ITU stała się wyspecjalizowaną agendą ONZ z siedzibą w Genewie. Działalność ITU obejmuje całokształt problemów związanych z rozwojem i upowszechnianiem telekomunikacji oraz obejmuje koordynację działalności państw w tym zakresie. W ramach ITU działa wiele grup problemowych (sektory), np. Sektor Normalizacji Telekomunikacji czy Sektor Rozwoju Telekomunikacji;
Object Managment Group (OMG) - konsorcjum w skład którego wchodzi blisko 300 organizacji wspierających Object Managment Architecture (model opisujący standardy dotyczące aplikacji i środowisk zorientowanych obiektowo). Grupa jest zainteresowana głównie rozwijaniem standardów języków, interfejsów i protokołów, które mogą być wykorzystywane przez producentów do tworzenia aplikacji pracujących w wielu różnych środowiskach;
Systemy otwarte - model odniesienia ISO - OSI.
Wprowadzenie.
W celu ułatwienia projektowania sieci komputerowych oraz oprogramowania systemów sieciowych opracowano warstwową architekturę sieci komputerowych. Wyróżniono w niej pewną liczbę poziomów hierarchii (warstw), usługi i funkcje przypisane każdemu z nich oraz protokoły komunikacyjne i jednostki danych używane na poszczególnych poziomach. Przed rokiem 1978 nie było żadnego światowego standardu definiującego ile warstw ma posiadać taka architektura oraz jakie usługi mają oferować poszczególne warstwy. Duże firmy opracowały swoje architektury (modele zamknięte), wśród których były m.in.:
architektura SNA (System Network Architecture) firmy IBM, umożliwiająca łączenie produktów tej firmy. Dotyczy dużych (mainframe) oraz średnich (midrange) systemów komputerowych. Określono w niej zbiór protokołów oraz zdefiniowano sposób komunikowania się maszyn. Architektura ta przeznaczona jest dla systemów komputerowych (sieci) z hostami;
architektura DNA (Digital Network Architecture) firmy DEC. W ramach tej architektury zdefiniowano zbiór protokołów, formaty i mechanizmy wymiany komunikatów sterujących w sieci. Model ten ma strukturę siedmiowarstwową.
Rozwiązania takie były niedogodne dla mniejszych producentów i stąd w 1978 r. zdecydowano się na opracowanie w ramach międzynarodowej organizacji standaryzacyjnej ISO jednego modelu, który umożliwiałby komunikację zgodnych z jego zaleceniami produktów. Model OSI (Open Systems Interconnection) został opublikowany jako norma ISO 7498.
Model odniesienia (Reference Model).
System otwarty to system zgodny z zaleceniami modelu odniesienia i zdolny do wymiany informacji z innymi systemami otwartymi.
Pojęcia modelu odniesienia.
Rys. 1.Warstwowa architektura logiczna.
System otwarty realizuje pewne funkcje. Funkcje te dzieli się na grupy, które tworzą hierarchię. Każda grupa stanowi pewien podsystem. Jeżeli połączymy ze sobą kilka systemów otwartych, to podsystemy, w których realizowane są takie same funkcje utworzą warstwę.
Rys. 2.Obiekty, punkty udostępniania usług i protokoły
W każdej warstwie może istnieć element aktywny (obiekt). Obiekty znajdujące się w tej samej warstwie (być może w różnych systemach otwartych) nazywane są partnerami. Każda warstwa świadczy usługi na rzecz obiektów warstwy wyższej. Partnerzy mogą realizować pewne funkcje (np. nawiązanie połączenia). Zasady współdziałania partnerów przy realizacji określonych funkcji określa protokół. Partnerzy warstwy N oferują partnerom warstwy N+1 usługi warstwy N oraz warstw niższych, przy czym w warstwie N nie jest znany sposób realizowania usług w warstwach niższych - jest jedynie wiadomo, że takie usługi są dostępne. W ramach pojedynczego systemu usługi warstwy N są dostępne w punktach udostępniania usług, przy czym do jednego punktu może być dołączony tylko jeden obiekt warstwy N+1 i jeden warstwy N, ale jeden obiekt warstwy N+1 lub N może być dołączony do wielu punktów udostępniania usług. Każdy obiekt ma swoją nazwę, a każdy punkt udostępniania usług jest określony przez adres.
System tek zbudowany można porównać z usługami pocztowymi: obiekt warstwy N to urzędnik pocztowy, obiekt warstwy N to klient poczty a punkt udostępniania usług to okienko pocztowe.
W celu zapewnienia jednoznaczności opisu usług i niezależności ich od implementacji wprowadzono tzw. operacje elementarne, które dostępne są na styku warstwy N (usługodawca) a obiektami warstwy N+1 (usługobiorcy). Wyróżniono cztery rodzaje takich operacji:
Żądanie - jest generowane przez obiekt warstwy N+1 w celu zainicjowania określonego działania warstwy N lub partnera;
Zawiadomienie - jest generowane przez warstwę N w celu:
Rys. 3.Typowe sekwencje operacji elementarnych
poinformowania obiektu w warstwie N+1, że partner podjął pewne działania lub życzy sobie podjęcia pewnych działań;
poinformowania obiektu w warstwie N+1 o pewnych działaniach usługodawcy;
Odpowiedź - jest generowana przez obiekt warstwy N+1 dołączony do punktu udostępniania usług warstwy N w celu określenia zakończenia działania zainicjowanego dostarczeniem zawiadomienia do tego punktu.
Potwierdzenie - jest generowane przez warstwę N do punktu udostępniania usług tej warstwy w celu określenia zakończenia działanie zainicjowanego żądaniem skierowanym do tego punktu.
Rys. 4.Przykłady związków między jednostkami danych.
Funkcje realizowane przez usługodawcę prezentuje się za pomocą funkcji elementarnych. Kolejność ich generowania przez usługodawcę jest zawsze jednakowa (nie muszą występować od razu wszystkie). Każda operacja elementarna wchodząca w skład realizowanej funkcji ma zazwyczaj pewne parametry. W celu określenia usług warstwy N zestawia się wszystkie funkcje, które ona realizuje, dla każdej funkcji określa się operacje elementarne i ich parametry. Dla każdej operacji elementarnej określa się cel jej generowania, warunki w jakich może to nastąpić, znaczenie i zakres dopuszczalnych wartości parametrów oraz akcje podejmowane w wyniku wygenerowania tej operacji. Taka norma definiowania usług w żaden sposób nie narzuca rozwiązań implementacyjnych. Parametry operacji elementarnych określają jedynie jaka informacja musi być dostępna dla nadawcy i odbiorcy.
W modelu odniesienia zdefiniowano również jednostki danych w działaniu usługodawcy. Wyróżnia się:
porcje informacji zlecane warstwie N do wysłania (jednostki usług warstwy N, wiadomości), SDU - Service Data Unit;
jednostki danych styku międzywarstwowego (jeżeli konieczne), IDU - Interface Data Unit;
jednostki danych przesyłane w obrębie warstwy usługodawcy (jednostki protokołu, ramki), PDU - Protocol Data Unit;
Jako ilustracja do tych definicji może posłużyć następujący przykład: do firmy mającej x pomieszczeń przychodzi paczka z książkami (PDU) z innej filii tej firmy. W firmie ktoś odbiera przesyłkę, rozpakowuje i mając książki (SDU) rozsyła je do poszczególnych pomieszczeń. Dla poczty natomiast paczka to SDU, a PDU może być np. kontener z paczkami.
Warstwy wyróżnione w modelu odniesienia i ich funkcje.
Przy określaniu liczby warstw kierowano się kryterium aby w każdej warstwie znajdowały się funkcje logicznie ze sobą powiązane, ale zasadniczo różne od funkcji w innych warstwach. Starano się też by warstw nie było zbyt wiele. Opracowano model siedmiowarstwowy.
Warstwa aplikacji 7 |
Warstwa prezentacji 6 |
Warstwa sesji 5 |
Warstwa transportowa 4 |
Warstwa sieciowa 3 |
Warstwa łącza danych 2 |
Warstwa fizyczna 1 |
Każda z warstw wyróżniona w modelu pełni pewne funkcje:
warstwa fizyczna - umożliwia przesyłanie pojedynczych bitów (są one jednostką usług i jednostką protokołu) między stacjami połączonymi łączem. Dostępne usługi tej warstwy to przesłanie ciągu bitów z zachowaniem ich sekwencji, wykrywanie nieprawidłowości transmisji przez odbiorcę (odrzucenie bitu) i wykrywanie stanów specjalnych łącza. Decydującym czynnikiem określającym parametry transmisji danych jest jakość łącza. Wpływa ona na opóźnienia transmisyjne, szybkość transmisji oraz na liczbę błędów. Warstwa ta szczegółowo określa fizyczne cechy interfejsu sieciowego stacji takie jak: elementy mechaniczne i elektryczne, złącza, poziomy napięć i inne aspekty elektryczne. Znanymi interfejsami łącza fizycznego są np.: RS-232, RS-449. Warstwa ta określa też cechy funkcjonalne takie jak: założenie, utrzymywanie i zdemontowanie łącza fizycznego;
warstwa łącza danych - definiuje reguły przesyłania i otrzymywania informacji, zapewnia prawidłową transmisję między stacjami lub węzłami sieci. Umożliwia wykrywanie i korygowanie błędów powstałych w warstwie fizycznej. Jeśli wiele stacji jest połączonych jednym nośnikiem to warstwa ta realizuje funkcję wykrywania stanu łącza oraz bezkolizyjnego dostępu do tego łącza (w wypadku gdyby wiele stacji chciało nadawać jednocześnie). Warstwa ta jest najniższą warstwą, która realizuje transmisję ramek (sekwencje bitów) o określonej strukturze oraz jawnie określonym początku i końcu. Protokoły tej warstwy dobiera się w zależności od jakości łączy. W wypadku gdy łącza są bardzo dobrej jakości pomija się wykrywanie błędów (można to przenieść do wyższych warstw) co daje znaczne przyspieszenie transmisji. W warstwie tej pracują mosty (bridges). Typowe protokoły tej warstwy to HDLC, sterowniki i metody dostępu w sieciach lokalnych (np.: Ethernet, Token Ring), NDIS (Microsoft), ODI (Novell) oraz sieci rozległe z szybką komutacją pakietów (Frame Relay, ATM);
warstwa sieci - umożliwia utworzenie (przy pomocy węzłów sieci) drogi transmisji między stacjami końcowymi oraz, co się z tym wiąże, wybór drogi lub dróg transmisji (routing). Funkcje tej warstwy umożliwiają unikanie przeciążeń w sieci. Znaczenie jej jest tym większe im więcej jest możliwych dróg przekazywania informacji oraz im bardziej są zróżnicowane charakterystyki poszczególnych fragmentów sieci. W warstwie tej pracują routery. Funkcje tej warstwy odczytują adres docelowy pakietu i kierują go bezpośrednio do stacji w sieci (jeśli adres dotyczy sieci lokalnej) lub przez router do innego segmentu sieci. Typowe protokoły tej warstwy to: IP, X.25, IPX (Novell);
warstwa transportowa - zapewnia transmisje z wymaganymi charakterystykami, takimi jak: przepustowość, stopa błędów, opóźnienia transmisyjne. Warstwa ta optymalizuje użycie usług sieciowych tak, aby wymagane warunki techniczne spełnić w sposób jak najbardziej ekonomiczny. Warstwa ta „przesłania” usługi oferowane przez niższe warstwy aby ukryć przed wyższymi warstwami szczegóły związane ze znajdującą się niżej siecią. Warstwa ta gwarantuje ponadto dostarczenie danych do odbiorcy oraz realizuje kontrolę błędów i inne operacje związane z niezawodnością transmisji jeśli nie są one realizowane w niższych warstwach (np.: Frame Relay, ATM). Warstwa ta oferuje usługi połączeniowe (ustalane jest łącze przez które pakiety wędrują do miejsca przeznaczenia i docierają tam w kolejności sekwencyjnej) lub bezpołączeniowe. W razie gdy pakiet nie dotrze do odbiorcy lub dojdzie uszkodzony to protokół warstwy transportowej zażąda retransmisji tego pakietu. Typowe protokoły tej warstwy to: TCP, UDP, SPX (Novell), NetBIOS / NetBEUI (Microsoft);
warstwa sesji - rozszerza funkcje warstwy transportowej o środki umożliwiające synchronizację dialogu i zarządzanie wymianą danych między jej usługobiorcami (aplikacjami). Ustala, który z partnerów ma prawo do nadawania oraz to, czy komunikacja jest naprzemienna, czy równoczesna w obu kierunkach. Warstwa ta umożliwia tworzenie punktów synchronizacji służących do powrotu przez obu uczestników dialogu do takiego punktu w razie wystąpienia nieprawidłowości (np. utrata wysłanych danych w wyniku awarii łącza);
warstwa prezentacji - w różnych systemach używane są różne postaci informacji, np. kod znaku, typ danych, itd. Warstwa ta zapewnia przekształcenie tych postaci w jednorodną formę sieciową. Przekształcenie to dotyczy składni (syntaktyki) a nie sensu (semantyki) informacji. W warstwie tej następuje również kompresja i szyfrowanie transmitowanych danych. Nadchodzące dane są zamieniane na postać, którą można przedstawić użytkownikowi (na ekranie lub wydruku);
warstwa aplikacji - oferuje całość usług komunikacyjnych procesom użytkowników. Dostępne są funkcje takie jak: ustalenie protokołu transmisji, zawieszanie i wznawianie połączenia, dotyczące synchronizacji działań i stwierdzanie autentyczności partnerów. Typowymi usługami tej warstwy są również: transfer plików i działanie zdalne na plikach, dostęp i działanie na zdalnych bazach danych, praca procesu użytkowego jako terminala zdalnego komputera, poczta elektroniczna i inne;
Protokoły, pakiety, ramki.
W modelu OSI poszczególne warstwy komunikują się przy użyciu ściśle określonych protokołów. Można powiedzieć, że utworzony jest stos protokołów.
Protokół jest zdefiniowanym sposobem komunikowania się z innym systemem. Określa czas dla poszczególnych sygnałów oraz strukturę danych.
PDU każdej warstwy zawiera informacje z warstwy wyższej oraz informacje dotyczące warstwy bieżącej (odebrane/wysyłane od/do warstwy równorzędnej w innym systemie).
Rys. 5.Przechodzenie pakietu przez stos protokołów.
Protokoły komunikacyjne poszczególnych warstw grupuje się w kategorie:
protokoły aplikacji - obejmują warstwy: aplikacji, prezentacji i sesji. Zapewniają wzajemne oddziaływanie aplikacji i wymianę danych (FTP, Telnet, SMTP, SNMP, NetBIOS ,...);
protokoły transportowe - realizują połączeniowe usługi przesyłania danych, zapewniają wymianę danych pomiędzy systemami końcowymi w sposób sekwencyjny (TCP, SPX, NetBIOS, NetBEUI);
protokoły sieciowe - zapewniają usługi łączy dla systemów komunikacyjnych, obsługują adresowanie i informację routingu, weryfikację błędów oraz żądania retransmisji. Obejmują również procedury dostępu do sieci określone przez wykorzystywany rodzaj sieci (IP, IPX);
Dialog pomiędzy równorzędnymi warstwami protokołów obejmuje następujące informacje oraz czynności:
tworzenie żądanie i wysyłanie danych;
odbieranie żądania i danych;
odrzucenie żądania lub danych;
potwierdzenie odbioru;
obsługa buforowania nadchodzących danych;
przerwanie i ponowny start transmisji;
ustanowienie priorytetów transmisji;
obsługa wykrywania błędów, korekcji i retransmisji;
utrzymywanie sesji połączeniowych;
numerowanie i ustawianie kolejności pakietów;
obsługa adresowania i routingu;
W środowiskach sieciowych dane przesyłane są w pakietach przez warstwy protokołów oraz w postaci ramek (strumienia bitów) przez połączenia fizyczne.
Pakiet jest rodzajem „paczki danych” przesyłanej między urządzeniami przy wykorzystaniu łącza komunikacyjnego. Dane umieszczane są w pakietach przez różne podsystemy komunikacyjne (warstwy), następnie tworzone są ramki, które przesyła się przez łącza komunikacyjne. Jednym z głównych powodów tworzenia pakietów i ramek jest ograniczenie wpływu błędów pojawiających się przy transmisji do niewielkich części przesyłanych informacji, co ułatwia ich retransmisję. Po drugie: stosowanie długich transmisji mogłoby spowodować duże opóźnienia w ruchu w sieci.
Rys. 6.Tworzenie, transmisja i odtwarzanie pakietów.
Strukturę pakietu i ramki definiuje protokół komunikacyjny. Zazwyczaj pakiet zawiera nagłówek i dane. W nagłówkach może znajdować się adres nadawcy i odbiorcy, informacje potrzebne do obsługi błędów i zapewniające prawidłową transmisję danych, wskaźnik ostatniego pakietu, identyfikator informacji, numer określający, którą częścią informacji jest pakiet, itp. Pakiet może mieć różne rozmiary, ale zazwyczaj określa się jego maksymalną długość.
OSI |
NetWare |
UNIX |
Apple |
LANManager |
||||||||||
Warstwa aplikacji |
NetWare Core |
Network Filing |
Apple Share |
Serwer message |
||||||||||
Warstwa prezentacji |
Protocol |
System (NFS) |
Apple Talk Filing Protocol (AFP) |
blocks |
||||||||||
Warstwa sesji |
Potoki nazwane |
NetBIOS |
SNMP |
FTP |
SMPT |
Telnet |
ASP |
ADSP |
ZIP |
PAP |
NetBIOS |
Potoki nazwane |
||
Warstwa transporto-wa |
SPX |
TCP |
ATP |
NBP |
AEP |
RTMP |
NetBEUI |
|||||||
Warstwa sieciowa |
IPX |
IP |
Datagram Delivery Protocol (DDP) |
|
||||||||||
Warstwa |
LAN drivers |
LAN drivers |
LAN drivers |
LAN drivers |
||||||||||
łącza danych |
ODI |
NDIS |
Media Access Control |
Local-talk |
Ether-talk |
Token-talk |
NDIS |
|||||||
Warstwa fizyczna |
Warstwa fizyczna |
Warstwa fizyczna |
Warstwa fizyczna |
Warstwa fizyczna |
Rys. 7.Kapsułkowanie pakietów.
Model OSI nie jest w pełni uwzględniany przez producentów. Stosują oni różne stosy protokołów. Produkt wykorzystujący jeden stos protokołów nie może bezpośrednio współpracować z produktem korzystającym z innego stosu protokołów. Stosuje się różne metody kapsułkowania (encapsulation) i konwersji protokołów w celu osiągnięcia możliwości współpracy.
Kapsułkowanie polega na przesyłaniu pakietu w określonym protokole wewnątrz innego pakietu w innym protokole. Technika ta pozwala na przesyłanie danych pomiędzy sieciami korzystającymi z jednakowego protokołu za pośrednictwem sieci, która korzysta z innego protokołu. Kapsułkowanie wykorzystano w technice IP tunnelling, pozwalającej na przesyłanie pakietów IPX wewnątrz pakietów TCP/IP. Do łączenia odrębnych sieci i kapsułkowania służą routery. W sieci docelowej struktura pakietu zostaje zmieniona i pakiet dostarczany jest do określonej stacji.
Konwersja protokołów jest procesem tłumaczenia sygnałów elektrycznych lub formatów danych jednego systemu komunikacyjnego na postać umożliwiającą transmisję w innym systemie. Możliwe są różne poziomy konwersji, np. zmieniające kody ASCII na inny kod lub zmieniające strumień danych asynchroniczny na synchroniczny. Konwerter protokołów upodabnia się swym działaniem do bramy a nie do routera. W konwersji pakietu uczestniczą wszystkie warstwy stosu protokołów (poza warstwą aplikacji).
Techniki komutacji.
Technika komutacji jest to sposób transferu danych od węzła źródłowego, poprzez węzły tranzytowe, do węzła docelowego.
Można wyróżnić kilka technik komutacji:
komutacja kanałów;
wielostrumieniowa komutacja kanałów;
komutacja pakietów;
komutacja ramek;
komutacja komórek;
Technikę komutacji wybiera się w zależności od tego jakie jest natężenie ruchu w sieci: zmienne czy stałe. Od wybranej techniki komutacji zależy złożoność przetwarzania informacji węzłach sieci. Zależność między wybraną techniką komutacji a częstotliwością zmian natężenia w ruchu w sieci i stopniem złożoności operacji w węźle ilustruje wykres.
Dwoma tradycyjnymi technikami komutacji są: komutacja pakietów i komutacja kanałów. Różnią się zasadniczo pod względem realizacyjnym i pod względem oferowanych własności. Nowsze techniki komutacji w mniejszym lub większym stopniu wykorzystują cechy tych dwóch technik.
Komutacja kanałów.
W sieciach z komutacją kanałów przesyłanie danych następuje dopiero po ustanowieniu połączenia, czyli po zestawieniu dedykowanej trasy pomiędzy systemem nadawcy i systemem odbiorcy. Trasa jest sekwencją kolejno połączonych kanałów. Przesyłanie danych odbywa się w trzech fazach:
faza ustanawiania połączenia - zostanie przedstawiona na przykładzie:
Jeżeli użytkownik A chce uzyskać połączenie z użytkownikiem B to wysyła do węzła 1 żądanie uzyskania połączenia. Zwykle kanał łączący użytkownika A z węzłem 1 jest kanałem dzierżawnym (linią dedykowaną), więc połączenie już istnieje. Następnie węzeł 1 (na podstawie odpowiedniej procedury) znajduje kolejny węzeł na trasie do użytkownika B. Załóżmy, że wybrany został węzeł 4. Węzeł 1 rezerwuje kanał łączący go z węzłem 4 i przesyła do węzła 4 żądanie połączenia z użytkownikiem B. Z kolei węzeł 4 rezerwuje kanał do węzła 5 i dołącza go do zarezerwowanego wcześniej kanału łączącego węzły 4 i 1. Żądanie połączenia przechodzi do węzła 5. W ten sposób zostaje zestawiona trasa od użytkownika A do węzła 5. Węzeł 5 dołącza następnie do utworzonego połączenia kanał łączący go z użytkownikiem B. W ten sposób utworzone zostaje połączenie od użytkownika A do użytkownika B, którym następnie są przesyłane wiadomości służbowe pozwalające określić czy użytkownik B zgadza się na to połączenie;
faza transferu danych - wymiana danych między użytkownikami połączeniem ustanowionym w poprzedniej fazie;
faza rozłączenia połączenia - odbywa się poprzez wysłanie odpowiednich wiadomości kolejno do węzłów 1, 4 i 5. Powoduje to, że kanały wchodzące w skład połączenia są zwalniane i mogą posłużyć do zestawiania połączeń pomiędzy innymi użytkownikami;
Istotną cechą techniki komutacji kanałów jest konieczność ustanowienia połączenia między użytkownikami zanim zostaną przesłane dane. Powoduje to powstanie pewnych opóźnień w przesyłaniu informacji oraz to, że kanały są niewykorzystywane podczas zestawiania połączenia, rozłączania połączenia oraz w przerwach w transmisji przy zestawionym połączeniu. W efekcie daje to spadek efektywności wykorzystania sieci a tym samym zwiększa koszty jej eksploatacji. Technika ta jest wykorzystana w sieciach, w których przesyła się jednocześnie dane i głos. Przykładem sieci z komutacją kanałów może być sieć telefoniczna. Sieć ISDN również wykorzystuje technikę komutacji kanałów.
Komutacja pakietów.
Jest to najbardziej elastyczna z technik komutacji spośród obecnie stosowanych. Jest bardzo przydatna w sieciach, w których użytkownik musi wymieniać dane z wieloma innymi użytkownikami naraz i którzy przesyłają zmienne ilości danych. Technika komutacji pakietów polega na tym, że informacje są przesyłane przez sieć w postaci pakietów: informacja użytkownika jest dzielona na części o stałym rozmiarze (z wyjątkiem ostatniej). Następnie do każdej z nich dodawany jest nagłówek (o stałej długości).
Pakiet składa się więc z dwóch części: organizacyjnej (nagłówek) i informacyjnej (dane). Pakiety są przesyłane między węzłami sieci. Pakiet musi zostać w całości odebrany przed wysłaniem go dalej. Po odebraniu pakiet jest umieszczany w pamięci węzła (pamięć buforowa). Pamięć ta podzielona jest na równe części odpowiadające maksymalnej długości pakietu., co pozwala znacznie ułatwić zarządzanie buforami. Ponadto w węzłach dokonuje się sprawdzenia czy pakiet nie zawiera błędów oraz podejmuje się decyzję o dalszej trasie. Pakiety mogą być przesyłane jedną z dwóch metod: bezpołączeniową lub połączeniową.
W metodzie bezpołączeniowej system sieciowy odpowiada jedynie za przesłanie pakietów. Wykrywanie błędów i sterowanie przepływem realizowane jest przez nadawcę i odbiorcę. W przypadku, gdy zostanie wykryty fakt, że pakiet nie dotarł do odbiorcy to musi on wysłać żądanie retransmisji w celu otrzymania pakietu. Brak pakietu wykrywany jest podczas składania z nadesłanych pakietów pierwotnej informacji. Każdy pakiet stanowi niezależną jednostkę danych, zwaną datagramem, która porusza się samodzielnie w sieci. Przed wysłaniem pierwszego pakietu nie ma fazy negocjacji (co ma miejsce w metodzie połączeniowej). Każdy pakiet zawiera adres nadawcy i odbiorcy. Na podstawie tego drugiego węzły sieci wybierają odpowiednią trasę. Nie wszystkie pakiety przechodzą od nadawcy do odbiorcy jednakową trasą. Różnice w przebywanych trasach mogą spowodować, że pakiety dotrą do odbiorcy w niewłaściwej kolejności. Odbiorca musi sam przywrócić ich właściwą kolejność. Odbiorca nie wysyła potwierdzeń odebranych informacji, nie istnieją też mechanizmy kontroli przepływu. Metoda bezpołączeniowa zapewnia zwykle większą wydajność w sieciach, w których występuje niewiele błędów powodujących zagubienie lub uszkodzenie pakietów. Stacje nie muszą poświęcać wtedy dodatkowego czasu na retransmisję.
Rys. 8.Tory logiczne i łącza multipleksowane.
W metodzie połączeniowej system sieciowy przejmuje odpowiedzialność za bezbłędne dostarczenie pakietów we właściwej kolejności i wykrywanie zagubionych lub uszkodzonych pakietów. Przed przesyłaniem danych między nadawcą i odbiorcą ustanawiany jest kanał komunikacyjny (kanał logiczny, połączenie wirtualne). Kanał ten stanowi ustalony tor, po którym pakiety mogą być przesyłane w sposób uporządkowany. Kanał określony jest przez stacje końcowe, tzn. ważne jest utrzymywanie kontaktu między stacjami, nie zaś rzeczywisty fizyczny tor w sieci. W sieciach, w których możliwe jest ustanowienie kilku różnych tras połączeń między stacjami trasa fizyczna może się zmieniać w trakcie sesji komunikacyjnej zależnie od rozkładu natężenia ruchu. Przebieg trasy nadzorowany jest przez stacje końcowe i węzły. Kanały logiczne występują w sieciach z łączami multipleksowanymi.
Każde połączenie wirtualne ma swój numer. Dzięki temu pakiety nie muszą zawierać w nagłówku adresów stacji a jedynie numer kanału. Pakiet jest przesyłany między węzłami, z których każdy pamięta dokąd ma przesłać pakiet przypisany do aktualnie otwartego połączenia wirtualnego. Węzły utrzymują tablice z jednym zapisem dla każdego otwartego połączenia wirtualnego. Gdy pakiet przybywa do węzła zawiera również informacje o tym, z którego węzła przybył. Właściwą kolejność przesyłania pakietów zapewnia numeracja pakietów w sposób sekwencyjny. Połączeniowa sesja komunikacyjna może wyglądać następująco:
aplikacja źródłowa przekazuje żądanie nawiązania połączeniowej sesji komunikacyjnej;
sesja jest nawiązywana;
przesyłane są dane za pośrednictwem połączeń logicznych;
następuje rozłączenie kanału;
Istnieją dwa rodzaje połączeń wirtualnych: tymczasowe i stałe.
Tymczasowe połączenie wirtualne (SVC - Switched Virtual Circuit) jest zestawiane na żądanie użytkownika na zwykle krótki czas. Ustanawianie takiego połączenia odbywa się najczęściej za pomocą specjalnego pakietu służbowego, który przechodząc przez sieć od nadawcy do odbiorcy wyznacza trasę dla połączenia wirtualnego. W węzłach sieci zapisywane są odpowiednie informacje a połączenie otrzymuje numer. Systemy nadawców wybierają numery połączeń niezależnie. Możliwa byłaby więc sytuacja, że w węzłach różnym połączeniom nadane byłyby takie same numery. W celu uniknięcia takiej sytuacji postępuje się następująco: system użytkownika wybiera własny numer połączenia (np. największy z możliwych) i wstawia go do pakietu ustanawiającego połączenie. Węzeł sieci po otrzymaniu takiego pakietu podejmuje decyzję o dalszej trasie oraz wybiera najniższy wolny numer połączenia wirtualnego i wstawia go do pakietu w miejsce dotychczasowego numeru. Odwzorowanie numerów zapamiętywane jest w tablicy połączeń wirtualnych węzła. System docelowy odbiera pakiety z innym numerem połączenia wirtualnego niż wybrany przez nadawcę. Następnie przesyłane są pakiety z danymi. W każdym z nich następuje zamiana numerów połączenia jak wyżej opisano. Rozłączenie połączenia SVC odbywa się za pomocą specjalnego pakietu i polega na usunięciu z tablic węzłów odpowiednich zapisów.
Stałe połączenia wirtualne (PVC - Permanent Virtual Circuit) są ustanawiane przez administratorów sieci między parami użytkowników i są dostępne przez cały czas funkcjonowania sieci. Połączenie takie ma na stałe przypisane numery połączenia w węzłach więc przesyłanie obejmuje wyłącznie pakiety z danymi. Metoda ta zapewnia efektywną komunikację dla procesów wymieniających duże ilości danych lub działających przez dłuższy czas. Połączenia takie są charakteryzowane są przez następujące parametry:
CBC (Commited Burst Size) - największa ilość danych (w bitach), którą usługodawca (administrator) zobowiązuje się przesłać w warunkach normalnej pracy sieci, w określonym przedziale czasu;
EBS (Excess Burst Size) - największa dopuszczalna ilość danych powyżej ilości uzgodnionej (CBS), którą można próbować przesłać przez sieć w określonym przedziale czasu. Dopuszcza się odrzucenie danych EBS w określonych przedziałach czasu;
CIR (Commited Information Rate) - szybkość z jaką usługodawca zobowiązuje się przesłać określoną ilość danych (CBS) w warunkach normalnej pracy sieci;
FS (Frame Size) - wielkość ramki wykorzystanej do przesyłania danych klienta przez sieć;
W aplikacjach wymagających stałego ciągłego strumienia danych wykorzystuje się usługi połączeniowe, które zapewniają większą niezawodność i efektywniejszą obsługę błędów.
Usługi bezpołączeniowe wymagają bardziej rozbudowanych pakietów, natomiast połączeniowe - realizacji w węzłach końcowych dodatkowych operacji związanych z nawiązywaniem i utrzymywaniem połączenia. Metody bezpołączeniowe przeznaczone są do obsługi krótkich transmisji, dla których nie opłaca się (ze względów czasowych) tworzyć połączenia.
Protokoły połączeniowe to m.in.: SPX, TCP, NetBIOS, CMNP (Connection Mode Network Protocol), protokoły bezpołączeniowe: IPX, IP, CLNP (Connectionless Network Protocol).
Sieci, w których wykorzystano technikę komutacji pakietów nazywane są sieciami pakietowymi. Taką siecią jest np. sieć X.25. Publiczna sieć pakietowa jest często przedstawiana na rysunkach w postaci chmurki, co wiąże się z mnogością i różnorodnością połączeń w niej występujących.
Wielostrumieniowa komutacja kanałów.
Technika ta łączy ze sobą własności techniki komutacji kanałów i zasady multipleksacji. Na jednej fizycznej linii łączącej użytkownika z siecią można zrealizować wiele kanałów. Dane przesyłane w dowolnym z tych kanałów można następnie przesłać do innego użytkownika postępując według zasad analogicznych do techniki komutacji kanałów. W ten sposób każdy użytkownik może mieć jednocześnie otwartych wiele połączeń do innych użytkowników.
Komutacja ramek.
Jest nowszą wersją techniki komutacji pakietów przeznaczoną dla sieci, które wybudowane są z wykorzystaniem łączy o dobrej jakości. Dane przesyłane są w ramkach poprzez połączenia wirtualne PVC lub SVC. Zredukowano tutaj mechanizmy kontroli przepływu oraz korekcji błędów w węzłach, co zwiększyło przepustowość sieci. Funkcje te przeniesiono do systemów użytkowników końcowych. W węzłach odbywa się sprawdzanie błędów i w razie ich wykrycia następuje kasowanie ramki bez powiadomienia o tym fakcie systemów użytkowników końcowych. Technikę tę wykorzystano w sieci Frame Relay.
Komutacja komórek.
Jest to realizacja szybkiej komutacji pakietów. Dane przesyłane są w porcjach o stałej i niezbyt dużej długości (np. 53 bajty). Możliwe są transmisje z szybkościami rzędu setek Mbit/s i większymi. Technika ta przeznaczona jest dla łączy o bardzo dobrej jakości np. światłowodów. Za obsługę błędów, pakietów uszkodzonych lub zaginionych odpowiedzialne są systemy użytkowników końcowych. Transmisja komórek odbywa się zwykle w trybie połączeniowym. Technika ta nadaje się do zastosowań wymagających działania w czasie rzeczywistym (przekaz głosu, obrazu). Siecią zbudowaną w oparciu o tą technikę jest sieć ATM.
Techniki komutacji ramek i komórek można traktować jako odmiany tradycyjnej komutacji pakietów. Powstały one jako dostosowanie techniki komutacji pakietów do coraz bardziej nowoczesnych środków transmisji danych.
Lokalne sieci komputerowe - wprowadzenie. Transmisja cyfrowa.
Specyfika sieci lokalnych.
Sieci lokalne posiadają swoją specyfikę przede wszystkim w warstwach najniższych modelu OSI. W celu uzyskania dużych szybkości transmisji oraz małej stopy błędów stosuje się specyficzne rodzaje łączy i techniki transmisji, co znajduje swoje odzwierciedlenie w warstwach: fizycznej i liniowej. Wszystkie stacje dołączone do LSK korzystają ze wspólnego medium transmisyjnego. Pojawia się więc tutaj problem bezkolizyjnego dostępu do tego medium (np. te same stacje nie mogą zacząć jednocześnie nadawania). W celu rozwiązania tego problemu zdecydowano się na rozbicie warstwy liniowej na dwie podwarstwy: niższą (odpowiedzialną za bezkonfliktowy dostęp do łączy) - podwarstwę dostępu i wyższą (realizującą pozostałe funkcje) - podwarstwę łącza logicznego.
Okazało się, że niektóre zasady dostępu do łącza wymagają dodatkowych, specjalnych usług warstwy fizycznej. Nie można więc łączyć w dowolny sposób rozwiązań odnośnie podwarstwy dostępu i warstwy fizycznej. Zalecenia i normy dotyczące LSK (obecnie są to już standardy) zebrano w dokumentach ISO o numerach 8802.X. X oznacza poszczególne warianty, tak jak to przedstawiono na rysunku.
8802.1. Część ogólna
|
|||||||||||
Podwarstwa łącza logicznego (LLC) |
8802.2 Usługi i protokoły podwarstwy |
||||||||||
Podwarstwa dostępu (MAC) |
8802.3 Dostęp rywalizacyjny CSMA/CD. |
8802.4 Przekazywanie uprawnienia w magistrali TOKEN BUS |
8802.5 Przekazywanie uprawnienia w pierścieniu TOKEN RING |
8802.7 Wirujące tacki SLOTTED RING |
|||||||
Warstwa fizyczna |
|
|
|
|
|
|
|
|
Szybkość 4 Mb/s lub 16 Mb/s |
Różne warianty rozmiaru tacki, liczby tacek, szybkości transmisji. Podstawowa szybkość 10 Mb/s |
Najistotniejszymi warstwami są, jak wspomniano, warstwy: fizyczna i liniowa. Funkcje warstwy sieciowej są praktyczni zbędne w LSK, gdyż wszystkie stacje są przyłączone do wspólnego łącza. Gdyby więc pominąć problem łączenia sieci lokalnych między sobą oraz z sieciami rozległymi to warstwę sieciową można by pominąć, natomiast funkcje warstwy transportowej należałoby tak dobrać by nie dublowały funkcji warstwy liniowej (warstwa transportowa zapewniać miała transmisję między stacjami końcowymi, a liniowe między sąsiednimi). Takie podejście stosowane było w sieciach starszych. W nowszych rozwiązaniach wprowadzono warstwę sieciową z prostymi, bezpołączeniowymi protokołami oraz połączeniową warstwę transportową. Jeśli chodzi o warstwy wyższe, to warstwę prezentacji często pomija się w ramach sieci, w których pracują stację z jednakowym systemem operacyjnym, a funkcje warstwy sesji drastycznie się ogranicza.
Przesyłanie informacji cyfrowej.
Rys. 9.Przebiegi czasowe odpowiadające ciągowi zerojedynkowemu.
Podstawowym warunkiem wymiany informacji pomiędzy komputerami jest sprzężenie ich łączem. Rodzaj użytych łączy, konfiguracja, sposób reprezentacji przesyłanej informacji, szybkość i zasięg przesyłania, odporność na zakłócenia zewnętrzne decydują w głównej mierze o parametrach sieci lokalnej. Elementarne zadanie przesyłania informacji cyfrowej można przedstawić następująco: dana jest informacja źródłowa w postaci ciągu bitów I, którego elementy należą do zbioru B={0,1}. Ciąg ten powinien zostać przekazany z miejsca przeznaczenia (źródła) za pomocą nadajnika do miejsca przeznaczenia, które odbierze ciąg przy użyciu pewnego odbiornika Nadajnik transformuje ciąg I w przebieg czasowy pewnego sygnału SN (elektrycznego, świetlnego, radiowego) i wprowadza go w ośrodek (medium) zdolny do przesyłania sygnału tego typu. Rozprzestrzeniając się w ośrodku sygnał ulega opóźnieniom, zniekształceniom oraz modyfikacjom przez zakłócające źródła zewnętrzne. Dociera do odbiornika jako sygnał SO. Różnica między sygnałem SO a SN musi być na tyle mała by mogła umożliwić odtworzenie ciągu I. Układ: nadajnik, ośrodek, odbiornik tworzy łącze.
Reprezentacja i przesyłanie ciągu bitów. Synchronizacja bitowa.
Przebieg SO jest zwykle konstruowany jako sekwencja kilku wybranych przebiegów elementarnych S o czasie trwania T zwanym okresem sygnalizacji. Reprezentacja ta nosi nazwę kodu. Najprostszym sposobem reprezentacji wartości logicznych 0 i 1, tworzących ciąg I, jest przedstawienie każdej z nich jako pewnego, ustalonego w okresie sygnalizacji T, poziomu sygnału (napięcia). Kod taki nazywa się kodem NRZ (Non Return to Zero). Przykład transmisji ciągu złożonego z naprzemian pojawiających się 0 i 1 przedstawiono na rysunku. Rysunek (część b) przedstawia przebieg sygnału po wniesieniu zniekształceń przez tor transmisyjny, a w części c widać jak wygląda rzeczywisty sygnał odbierany przez odbiornik dla dwóch różnych okresów sygnalizacji T i T1=2T. Widać tutaj typowy kształt wykresu, tzw. oka sygnału, który często zamieszczany jest w dokumentacji łączy jako ich charakterystyka. Widać, że zniekształcenia zwiększają się wraz ze zmniejszaniem się okresu sygnalizacji (wzrostem szybkości transmisji). Odbiornik po odebraniu takiego sygnału musi odtworzyć ciąg wysyłany I. Mimo bardzo dużego zniekształcenia sygnału jest to możliwe, pod warunkiem próbkowania poziomu odbieranego sygnału we właściwym momencie. Próbki często pobiera się w 1/4, 1/3 lub 1/2 każdego okresu sygnalizacji. Ważne staje się więc określenie przez odbiornik momentu rozpoczęcia okresu sygnalizacji. Jest to tzw. problem synchronizacji bitowej.
Jednak nawet przy najbardziej precyzyjnej synchronizacji bitowej istnieje długość toru transmisji, przy której sygnał ulega takiemu zniekształceniu, że nie jest możliwe odtworzenie informacji, która była w nim zawarta. Długość ta maleje ze wzrostem szybkości transmisji. Wprowadzenie wzmacniaczy sygnałów nie wpływa na ograniczenie długości łącza. W celu wyeliminowania tego problemu stosuje się regeneratory sygnału. Są to układy odbierające i dekodujące sygnał do postaci pośredniego kodu zerojedynkowego, który jest następnie ponownie kodowany i nadawany dalej.
Rys. 10.Regeneracja sygnału cyfrowego.
W przypadku transmisji asynchronicznej zakłada się, że odbiornik ma możliwość określenia początku pierwszego okresu sygnalizacji oraz dysponuje zegarem taktującym o częstotliwości równej częstotliwości sygnału przychodzącego lub jej wielokrotności. Można np. przyjąć, że gdy łącze jest bezczynne to znajduje się w stanie niskim L. Nadanie pierwszego bitu informacji poprzedzone jest wysłaniem tzw. bitu startu, który charakteryzuje się utrzymaniem stanu wysokiego H przez jeden okres sygnalizacji. Odbiornik zaczyna próbkować sygnał wejściowy w chwilach 3/2T, 5/2T, 7/2T itd. Po nadaniu określonej z góry liczby bitów informacji przesyłany jest sygnał stopu, polegający na wprowadzeniu łącza w stan L na co najmniej jeden okres sygnalizacji. Następnie transmitowana jest kolejna część informacji. Jak widać występuje tutaj ograniczenie na liczbę bitów informacji zawartej pomiędzy bitami startu i stopu, ale jest to niezbędne, gdyż może nastąpić ponowne ustalenie początku informacji i pewne niestabilności zegarów taktujących nadajnika i odbiornika nie wpływają na przesyłanie informacji. Metoda ta nie umożliwia szybkich transmisji.
Do przesyłania danych z większymi szybkościami stosuje się transmisję synchroniczną. W tym przypadku przesyłanie informacji poprzedzane jest dostosowaniem fazy zegarów taktujących nadajnika i odbiornika (synchronizacja wstępna), co uzyskuje się podczas transmisji ustalonego, wstępnego ciągu bitów (np. 1, 0, 1, 0) zwanego preambułą. Preambuła powinna być przesyłana po każdym okresie bezczynności łącza. Odbiornik może być jednak niezdolny do odebrania pierwszych bitów preambuły. W celu wyeliminowania preambuły stosuje się inne rozwiązania, np. utrzymuje się stałą gotowość odbiornika przez ciągłą aktywność nadajnika, który przesyła informacje nie mające znaczenia zamiast pozostawać w stanie nieaktywnym. Można również na bieżąco korygować różnice pomiędzy taktami zegara nadajnika i odbiornika np. przez zastosowanie dodatkowej linii łączącej nadajnik z odbiornikiem, którą przekazywane są impulsy zegarowe. Inną możliwością jest wprowadzenie takiego sposobu kodowania informacji źródłowej, aby przesyłany sygnał zawierał dodatkowo informację taktującą, a więc użycie tzw. kodów samosynchronizujących.
Kod |
Informacja |
Poziom sygnału zakodowanego w czasie |
||
|
źródłowa |
od 0.5 T |
od 0 do 0.5 T |
od 0.5 T do T |
|
1 |
nieistotny |
H |
H |
|
0 |
nieistotny |
L |
L |
|
|
H |
H |
H |
NRZI |
1 |
L |
L |
L |
|
|
H |
L |
L |
|
0 |
L |
H |
H |
Manchester |
1 |
nieistotny |
L |
H |
prosty |
0 |
nieistotny |
H |
L |
|
|
H |
H |
L |
Manchester |
1 |
L |
L |
H |
różnicowy |
|
H |
L |
H |
|
0 |
L |
H |
L |
Najczęściej używane kody i ich własności.
Najczęściej używane w sieciach komputerowych są kody przedstawione w tabeli:
Informacja źródłowa jest reprezentowana przebiegiem sygnału w czasie
t, 0<t<T. W niektórych przypadkach przebieg ten zależy od poziomu
sygnału w drugiej połowie poprzedniego okresu sygnalizacji, tj. w czasie
t, -0.5T<t<0.
Na rysunku poniżej zilustrowano przykładowe przebiegi czasowe powstałe przy użyciu tych kodów.
Rys. 11.Zastosowanie kodów.
We wszystkich wymienionych kodach w jednym okresie sygnalizacji reprezentuje się jeden bit. Jak widać dla kodów NRZ i NRZI szybkość sygnalizacji jest równa szybkości transmisji, dla pozostałych szybkość sygnalizacji jest dwukrotnie większa niż szybkość transmisji i dlatego zastosowanie kodów Manchester i Manchester różnicowy może wymagać ograniczenia szybkości transmisji lub długości łącza (większe tłumienie sygnałów o wyższych częstotliwościach). Kody Manchester i Manchester różnicowy są kodami samosynchronizującymi, bowiem cechują się zmianą poziomą sygnału zawsze w połowie okresu sygnalizacji, można więc w łatwy sposób ustalić takt strony kodującej (nadajnika).
Kody NRZ i NRZI mogą generować na wyjściu przez dowolnie długi okres czasu sygnał o stałym poziomie, jeśli na wejście kodera podany zostanie ciąg jedynek (w przypadku NRZI - także zer). Może to spowodować utratę synchronizacji bitowej w odbiorniku. Dlatego użycie tych kodów wymaga zastosowania w koderze dodatkowego układu uniemożliwiającego pojawienie się długich sekwencji jedynek (NRZ - również zer).
Bardzo popularne jest rozwiązanie tego układu w postaci licznika działającego według zasad:
licznik jest zerowany, gdy w źródłowym ciągu zerojedynkowym pojawia się zero, a powiększa swą zawartość o jeden, gdy pojawia się jedynka;
bezpośrednio po jedynce, która spowodowała dojście licznika do pewnej przyjętej wartości (np. 5), do ciągu źródłowego jest sztucznie wprowadzany bit o wartości zero i licznik jest zerowany;
Dla przykładu: ciąg 111111 zostanie wysłany jako 1111101, a zamiast 111110 - sekwencja 1111100. Rozwiązanie to nosi nazwę „faszerowania zerami” (zero stuffing). Dzięki niemu w kodzie NRZI istnieje pewność, że zmiana sygnału nastąpi nie rzadziej niż co pięć bitów. Oczywiście odbiornik musi pominąć przy odtwarzaniu informacji sztucznie wprowadzone zera.
Wartość średnia sygnału przesyłanego przez łącze dla kodów NZR i NZRI może być różna od wartości 0,5(L+H). Jest to własność niekorzystna w wielu przypadkach transmisji. Wolne od niej są kody Manchester i Manchester różnicowy.
Sygnał uzyskiwany na wyjściu kodera stanowi ciąg impulsów prostokątnych. W celu zmniejszenia wpływu niedogodności związanych z przesyłaniem sygnału (zakłócenia zewnętrzne, zniekształcenia związane z rzeczywistymi właściwościami medium transmisyjnego i inne) często przed wprowadzeniem go w tor transmisyjny dokonywane jest wstępne kształtowani sygnału: „wygładzanie” go w celu ograniczenia jego widma. W efekcie przebieg wprowadzony w tor bardziej przypomina ciąg trapezów lub fragmentów sinusoid niż ciąg impulsów prostokątnych. Precyzyjne określenie sygnału jaki powinien zostać wprowadzony w tor transmisyjny znajduje się w normach odnoszących się do poszczególnych rodzajów LSK. Odebrany sygnał jest oczywiście przed dekodowaniem go przekształcany w ciąg impulsów prostokątnych.
Rodzaje transmisji, elementarne konfiguracje łączy.
Transmisja w paśmie podstawowym (baseband) - polega na przesłaniu ciągu impulsów uzyskanego na wyjściu dekodera (i być może lekko zniekształconego). Widmo sygnału jest tutaj nieograniczone. Jest to rozwiązanie dominujące w obecnie istniejących LSK.
Transmisja szerokopasmowa (broadband) polega na tym, że za pomocą przebiegu uzyskanego na wyjściu dekodera jest modyfikowany (modulowany) sygnał sinusoidalny o pewnej częstotliwości (zwanej częstotliwością nośną). Modulacji może podlegać dowolny parametr przebiegu sinusoidalnego: amplituda, częstotliwość lub faza. Tak zmodulowany przebieg sinusoidalny jest przekazywany w tor transmisyjny. Widmo takiego przebiegu mieści się w pewnym ściśle określonym przedziale częstotliwości, którego środkiem jest częstotliwość nośna, a szerokość nie przekracza dwukrotnej szybkości sygnalizacji (częstotliwości sygnału modulującego). Istnieją rozwiązania, które pozwalają jeszcze zawęzić to pasmo. Każde łącze charakteryzuje się pewnym pasmem przenoszenia sygnałów. Pasmo to dzieli się na części (kanały), a w każdej z nich przesyła się sygnał o innej częstotliwości nośnej. Można więc w jednym łączu przesyłać sygnał telewizyjny, informację cyfrową itd.
Na rysunku poniżej przedstawiono elementarne konfiguracje łączy.
Rys. 12.Elementarne konfiguracje łączy.
W każdej takiej konfiguracji może odbywać się transmisja:
jednokierunkowa (simplex) - gdy łącze umożliwia propagację sygnału tylko w jednym kierunku. Odbiornik nie może przesłać odpowiedzi. Często ten rodzaj transmisji wykorzystywany jest w układach typu master-slave. Przykładem może być transmisja radiowa;
dwukierunkowa (duplex) - w tym przypadku wyróżnia się transmisję naprzemienną (half duplex) - przesyłanie w dowolnym kierunku, ale tylko w jednym w danej chwili, wykorzystuje się system sygnalizacji wskazujący, że jedno urządzenie zakończyło nadawanie lub odbiór, transmisję w tym trybie można zrealizować przy użyciu kabla dwuprzewodowego (np. skrętka), typowy przykład takiej transmisji to komunikacja za pomocą CB - oraz transmisję równoczesną (full duplex) - możliwe jest przesyłanie jednoczesne sygnału w dwóch kierunkach bez jego zniekształcania, w sieciach cyfrowych konieczne są dwie pary przewodów do utworzenia połączenia;
W konfiguracjach wielopunktowych może się zdarzyć sytuacja, w której kilka nadajników zacznie równocześnie emisję sygnału, co spowoduje wzajemne zniekształcenie nadawanych sygnałów. Taka sytuacja nazywa się kolizją. W chwili kolizji całkowita moc sygnału w łączu znacznie się zwiększa, a więc zarówno nadajnik jak i odbiornik muszą być odpowiednio przygotowane do takich warunków pracy. W niektórych rozwiązaniach LSK wprowadza się układy umożliwiające wykrycie kolizji. Działają one na ogół według jednej z dwóch zasad:
analizowana jest moc sygnału odbieranego. Stwierdzenie przekroczenia przez tę moc pewnego poziomu progowego świadczy o wystąpieniu kolizji. Metoda ta jest zawodna w przypadku, gdy w miejscu zainstalowania odbiornika moc kolidujących sygnałów znacznie się różni;
porównywany jest sygnał emitowany przez nadajnik z sygnałem odbieranym. Metoda ta jest możliwa do zastosowania tylko przez uczestników kolizji. Chcąc zapewnić jednoczesne wykrycie kolizji przez wszystkich uczestników korzystających z łącza narzuca się wymaganie emitowania specjalnego sygnału przez stację, która wykryła kolizję;
Wyposażenie do transmisji danych.
Istnieje duże różnorodność sprzętu służącego do transmisji danych, określanego skrótem DCE (Data Communication Equipment) Najczęściej są one powiązanie z urządzeniami końcowymi DTE (Data Terminal Equipment). Urządzenia DCE znajdują się pomiędzy urządzeniami DTE i linią lub kanałem transmisyjnym, umożliwiają podłączenie urządzeń DTE do sieci komunikacyjnej oraz pełnią funkcję terminatora łącza i zapewniają w nim synchronizację. Przykładem urządzenia DCE jest modem.
Interfejsy urządzeń DCE i DTE zdefiniowane są w warstwie fizycznej modelu OSI. W urządzeniach DCE/DTE najpowszechniej stosowane są standardy przyjęte przez EIA: RS-232-C i RS-232-D oraz V.24 komitetu CCITT. Inne standardy to: EIA RS-366-A, CCITT X.20, X.21 i V.35.
Efektywność wykorzystania sieci.
Długość ramki danych można wyznaczyć z zależności: , gdzie R - szybkość przesyłania danych w LSK, d - odległość między stacjami, v - czas propagacji sygnału w medium.
Wtedy maksymalną efektywność jaką można uzyskać w LSK wyznacza się jako:
Rodzaje łączy i ich właściwości. Składniki okablowania.
Okablowanie jest bardzo istotnym elementem sieci. Musi spełniać zarówno obecne jak i przyszłe wymagania odnośnie warunków transmisji danych, charakterystyki elektrycznej i topologii. W transmisji danych stosowane są dwa rodzaje mediów:
media przewodowe - obejmują przewody metalowe (najczęściej miedziane) oraz światłowodowe;
media bezprzewodowe - termin ten odnosi się do metod przesyłania sygnałów w powietrzu lub przestrzeni kosmicznej, kategoria ta obejmuje transmisję w podczerwieni i mikrofale;
W większości instalacji sieciowych stosuje się kable miedziane. Są stosunkowo niedrogie i umożliwiają w miarę szybkie transmisje.
Właściwości kabli metalowych.
Kable metalowe przewodzące sygnały elektryczne dzieli się na symetryczne (zrównoważone) i niesymetryczne (niesymetryczne). Te pierwsze składają się z dwóch przewodów, w których płyną prądy o takim samym natężeniu, ale w przeciwnych kierunkach. Pomaga to w wyeliminowaniu szumów i zakłóceń zewnętrznych. Przykładem kabla symetrycznego jest skrętka. Kable niesymetryczne to medium transmisyjne, w którym prąd płynie przez przewód sygnałowy. Drugi przewód jest uziemieniem. Kablem niesymetrycznym jest kabel koncentryczny, w którym uziemieniem jest siatka ekranująca.
Poniżej scharakteryzowano niektóre parametry elektryczne kabli metalowych.
tłumienie - polega na spadku amplitudy sygnału w medium transmisyjnym, co związane jest m.in. z impedancją kabla. Występowanie tłumienia stanowi główną przyczynę różnego rodzaju ograniczeń dotyczących długości kabli używanych w sieciach komputerowych. Jeśli sygnał ulegnie nadmiernemu osłabieniu to odbiornik może zinterpretować go błędnie lub wcale;
Rys. 13.Osłabienie sygnału na skutek tłumienia.
pojemności pasożytnicze - prowadzą do zniekształceń przesyłanego sygnału. Im dłuższy kabel i im grubszy izolator tym pojemności pasożytnicze są większe i większe stają się wnoszone przez nie zniekształcenia;
impedancja i zniekształcenia opóźnieniowe - impedancja powoduje, że różne składniki częstotliwościowe sygnału po dotarciu do odbiornika będą wzajemnie przesunięte. Przesunięcia są tym większe im większa jest częstotliwość przesyłanego sygnału;
Rys. 14.Współczynnik sygnał-szum.
szum tła - różne źródła zewnętrzne (lampy jarzeniowe, kuchenki mikrofalowe, telefony, komputery, itd.), inne linie transmisyjne lub sam nadajnik może wprowadzać szum, który nakłada się na transmitowany sygnał. Jeżeli nawet amplituda szumu jest niewielka w porównaniu z amplitudą sygnału właściwego, to tłumienie może obniżyć amplitudę sygnału do poziomu zbliżonego szumom. W celu określenia wpływu szumu na transmisję wprowadza się współczynnik sygnał-szum, którego wartość powinna być jak najwyższa. W skrętce głównym źródłem szumu są przesłuchy, czyli zakłócenia spowodowane przez sygnały z sąsiednich przewodów.
Rodzaje kabli metalowych (miedzianych).
kabel prosty (straight cable) - zbudowany jest z miedzianych przewodów otoczonych izolacją. Kabli tego typu używa się do łączenia urządzeń peryferyjnych w transmisjach na niewielkie odległości, z małymi prędkościami. Kabli tego typu nie stosuje się w sieciach komputerowych;
skrętka (twisted pair cable) - zbudowana jest z izolowanych przewodów, dwa przewody są splecione i tworzą medium, którym mogą być przesłane dane. Kabel jest złożony z pojedynczej pary takich przewodów lub z większej liczby takich par. W sieci telefonicznej stosuje się skrętkę nieekranowaną (Unshielded Twisted Pair - UTP). Skrętka ekranowana (Shielded Twisted Pair) zabezpieczona jest przed przesłuchami z zewnątrz. Przewody muszą być skręcone aż do samych punktów końcowych. Specyfikacja skrętki zawarta jest w standardzie EIA/TIA 586 Commercial Building Wiring odnoszącym się do okablowania budynków. Zdefiniowano tam następujące właściwości kabli:
kategoria 1: tradycyjna, nieekranowana skrętka telefoniczna, odpowiednia do przesyłania głosu, nie przystosowana do transmisji danych;
kategoria 2: nieekranowana skrętka, służąca do przesyłania danych z prędkościami do 4 Mbit/s, kable tej kategorii zbudowane są z dwóch par skręconych przewodów;
kategoria 3: kable tego typu pozwalają na transmisję z szybkością do 10 Mbit/s, kable tej kategorii zbudowane są z czterech par skręconych przewodów, z jednym zwojem na 10 cm;
kategoria 4: kable z maksymalną szybkością transmisji określoną na 16 Mbit/s, kabel jest zbudowany z czterech par przewodów;
kategoria 5: miedziana skrętka o rezystancji 100 , pozwalająca (pod warunkiem poprawnego zainstalowania) na przesyłanie danych z szybkością 100 Mbit/s, charakteryzuje się małą pojemnością i niskim poziomem szumów;
Kable kategorii 5 oraz konstruowane zgodnie z opracowywanymi aktualnie (1994 r., USA) pozwalają na transmisję rzędu setek Mbit/s.
kabel koncentryczny (coaxial cable) - zbudowany jest z litego miedzianego przewodu, otoczonego izolacją, przewodu ekranującego i zarazem uziemiającego oraz z zewnętrznej koszulki ochronnej. Kabel koncentryczny może przekazywać dane w sieci z prędkością do 350 Mbit/s. Dawniej kabel koncentryczny gwarantował większe szybkości transmisji niż skrętka. Obecne właściwości skrętki pozwalają na osiągnięcie takich szybkości jak przy wykorzystaniu kabla koncentrycznego, a nieraz nawet większych. Jednak za pomocą kabla koncentrycznego wciąż można wykonywać połączenia dłuższe niż z wykorzystaniem skrętki. Kabel koncentryczny nadaje się do sieci szerokopasmowych i pracujących w paśmie podstawowym;
Kable światłowodowe.
Światłowód nie posiada licznych wad, które występowały w kablach metalowych: pojemność przewodu, tłumienie amplitudy sygnału (bardzo małe), przesłuch, odporny jest na elektromagnetyczne zakłócenia zewnętrzne, sam nie wytwarza pola elektromagnetycznego wokół siebie. Ta ostatnia cecha uniemożliwia monitorowanie (podsłuchiwanie) transmisji z zewnątrz.
Rys. 15.Dyspersja światła w światłowodzie.
Transmisja światłowodowa polega na przepuszczaniu przez włókno szklane światła. Szkło jest bardzo czyste (okno o grubości 1/8 cala wykonane ze zwykłego szkła wprowadza takie zniekształcenia obrazu jak okno ze szkła światłowodowego o grubości trzech mil). Optyczny rdzeń światłowodu wykonany jest z czystego dwutlenku krzemu. Nadajnikiem może być dioda świecąca lub laser, odbiornikiem jakiś fotodetektor. Kluczowym elementem światłowodu jest szklana powłoka rdzenia, która odbija światło do wewnątrz rdzenia. Światło przechodząc przez światłowód wielokrotnie odbija się od powłoki rdzenia. Im większy kąt odbicia tym światło dłużej przechodzi między końcami przewodu. Mimo, że opóźnienie wynosi miliardowe części sekundy (rzędu kilku, kilkudziesięciu nanosekund na kilometr), to długość światłowodu musi zostać ograniczona. Szybkość transmisji danych sięga Gbit/s.
Rodzaje światłowodów:
plastikowy - działa na długościach obliczanych w metrach, tani, nie wymaga drogiego oprzyrządowania;
powlekany plastikiem światłowód krzemiankowy - nieznacznie lepszy od plastikowego;
włókno jednomodowe - prowadzi jedną wiązkę światła o jednej długości fali, używany do szczególnie długich połączeń, rdzeń ma małą średnicę i zapewnia dużą przepustowość na długich dystansach. Źródłem światła jest laser. Przewód najdroższy, najtrudniejszy w obsłudze, zapewnia jednak największe szybkości transmisji i umożliwia realizację najdłuższych segmentów połączeń;
wielomodowy światłowód o skokowej zmianie współczynnika odbicia - prowadzi wiele wiązek światła o różnych częstotliwościach, cechuje się znaczną średnicą rdzenia i wysoką dyspersją (typowo: 15-30 nanosekund na kilometr). Wykorzystywany jest głównie w LSK, nadajnikiem jest dioda LED;
wielomodowy o stopniowe zmianie współczynnika odbicia - wykonany jest z kilku warstw szkła o dyspersji pozwalającej na pokonanie długich dystansów (typowo: 1 nanosekunda na kilometr);
Połączenia bezprzewodowe.
Połączenia bezprzewodowe realizowane są przy wykorzystaniu nadajników i odbiorników rozmieszczonych na terenie np. firmy i będących jej własnością. Radiowe urządzenie nadawczo-odbiorcze nazywane jest transceiver'em (transmitter/receiver). Bezprzewodowe połączenia w sieci lokalnej eliminują konieczność układania kabli, co przydatne jest w sieciach utworzonych tymczasowo. Użytkownicy z komputerami przenośnymi mogą poruszać się po obszarze objętym zasięgiem transceiver'a. Przykładowa konfiguracja bezprzewodowej sieci lokalnej może wyglądać tak, jak to pokazano na rysunku.
Bezprzewodowa transmisja danych może być realizowana przy użyciu jednej z trzech metod:
transmisja w podczerwieni - metoda ta udostępnia szerokie pasmo transmisyjne, pozwala na przesyłanie sygnałów z bardzo dużą częstotliwością. Transmisja wykorzystująca promienie podczerwone realizowana jest wzdłuż linii widoczności, dlatego zarówno nadajnik jak i odbiornik muszą być skierowane do siebie lub też promienie muszą być wzajemnie zogniskowane. Tak więc przy instalowaniu tego typu sieci należy uwzględnić strukturę i wzajemne położenie pomieszczeń. Ponieważ transmisja realizowana jest przy użyciu promieni podczerwonych, to może być zakłócona silnym światłem pochodzącym z innych źródeł. Typowa szybkość transmisji osiąga tutaj 10 Mbit/s;
transmisja radiowa wąskopasmowa - metoda ta jest podobna do metod stosowanych w klasycznej radiofonii: zarówno nadajnik jak i odbiornik pracują w jednym wąskim paśmie częstotliwości. Sygnał rozprzestrzenia się na znacznym obszarze i może przenikać przez przeszkody - nie jest więc konieczne ogniskowanie sygnału. Mankamentem tej metody jest możliwość występowania zakłóceń spowodowanych odbiciami sygnału. Ponadto dla uniknięcia zakłóceń powodowanych przez inne urządzenia radionadawcze konieczne jest dokładne dostrojenie nadajnika i odbiornika na wybraną częstotliwość. Szybkość transmisji jest tutaj rzędu kilkunastu kbit/s;
transmisja radiowa szerokopasmowa - sygnał generowany jest w szerokim paśmie częstotliwości. Chwilowy rozkład częstotliwości określany jest za pomocą kodu - wspólnego dla nadajnika i odbiornika. Moc sygnału emitowanego tą techniką jest niewielka. Szybkość transmisji kształtuje się na poziomie 250 kbit/s;
transmisja mikrofalowa - transmisja tą metodą może się odbyć, gdy zapewniona jest wzajemna widoczność nadawcy i odbiorcy, może to być np. połączenie satelity ze stacją naziemną, łączność między dwoma budynkami, łączność na dużych otwartych obszarach, gdzie położenie kabla nie jest opłacalne (pustynie, bagna, duże jeziora). System transmisyjny wykorzystujący mikrofale składa się z dwóch anten kierunkowych, skierowanych na siebie, wysyłających wiązkę fal elektromagnetycznych i ogniskujących odebraną wiązkę fal. Maksymalna odległość między antenami nie powinna przekraczać 45 km. W przeciwieństwie do klasycznej transmisji radiowej anteny mikrofalowe skierowane są na jeden punkt. Stosowane częstotliwości transmisji zawierają się w przedziale 2 GHz - 25 GHz, przy czym wyższe częstotliwości wykorzystywane są prywatnie, na krótkich dystansach;
Krosownica (Patch Panel).
Składa się z rzędów punktów zakończeniowych dla stacji roboczych. Administrator sieci może w łatwy sposób łączyć, przesuwać, testować i rozłączać elementy sieci (np. stacje robocze) - poprzez zmianę połączeń w krosownicy.
Koncentrator (Concentrator Device).
Koncentrator jest urządzeniem służącym za centralny punkt przyłączenia terminali, komputerów lub urządzeń komunikujących. Może to być centralny punkt, w którym zbiegają się kable. Koncentrator łączy określoną liczbę linii wejściowych z pewną liczbą linii wyjściowych albo udostępnia jedno centralne połączenie komunikacyjne większej liczbie urządzeń. Koncentratory mogą być łączone ze sobą w struktury hierarchiczne. Oto urządzenia, które są koncentratorami:
procesory czołowe (front-end) - jest to komputer realizujący funkcje koncentratora, zazwyczaj z większą szybkością i obsługujący większą liczbę dołączonych urządzeń;
huby (hubs) - koncentratory w sieciach lokalnych (opisane dalej);
jednostki wspólnego dostępu do portu i selektory (port sharing units) - umożliwiają większej liczbie odległych terminali korzystanie ze wspólnego połączenia modemowego z komputerem lub systemem host. Jednostka taka działa pomiędzy terminalami a modemem;
multipleksery - urządzenia, które przesyłają po jednej linii dane napływające z wielu innych urządzeń. Istnieje wiele typów multiplekserów, np.: multipleksery z podziałem czasu (przydziela kolejnym urządzeniom odcinki czasu w strumieniu danych), multipleksery z podziałem częstotliwości (wydzielają dla każdego urządzenia osobny kanał częstotliwości);
Huby (Hubs).
Rys. 16.Hub aktywny.
Istnieje wiele urządzeń, które mogą być określane mianem „hub”. W najprostszej postaci hub jest urządzeniem, w którym zbiegają się przewody od stacji roboczych. Istnieją huby pasywne oraz aktywne:
hub pasywny - posiada kilka portów do podłączenia komputerów, terminali i innych urządzeń. Cechą huba pasywnego jest to, że nie wzmacnia sygnałów - jest tylko skrzynką łączącą - i nie wymaga zasilania. Hubem pasywnym może być po prostu panel łączeniowy, czyli krosownica;
hub aktywny - zazwyczaj posiada więcej portów od huba pasywnego. Regeneruje sygnały przechodzące od jednego urządzenia do drugiego. Może być używany jako regenerator sygnału (repeater);
Huby są zazwyczaj łączone z innymi hubami w strukturę hierarchiczną.
Rys. 17.Okablowanie strukturalne(struktura hierarchiczna).
Huby umożliwiają budowę okablowania strukturalnego i oferują następujące udogodnienia:
umożliwiają łatwą przebudowę sieci;
umożliwiają łatwą rozbudowę sieci;
możliwość zastosowania w wielu technologiach sieciowych;
umożliwiają scentralizowane zarządzanie i automatyczne zbieranie informacji o ruchu w sieci;
realizują funkcje obsługi błędów;
pozwalają na zwiększanie zasięgu sieci;
Naturalną topologią (patrz dalej) sieci wykorzystującej huby jest gwiazda.
Konstrukcja hubów przeszła długą ewolucję: od pierwszych hubów powtarzających do obecnego ich znaczenia - centralnego elementu okablowania strukturalnego, zapewniającego zarządzanie i monitorowanie całej sieci. Moduły wtykowe pozwalają na wykonanie podłączeń sieci lokalnych i rozległych. Umożliwiają wykorzystanie huba jako centrum okablowania dla piętra, budynku, osiedla czy sieci globalnej. Takie huby instalacyjne (wiring hubs) stanowią szkielet sieci. Ponieważ szkielet ten zamyka się w obrębie jednej skrzynki to określa się go mianem szkieletu skupionego (collapsed backbone). Huby instalacyjne są platformą łączącą wiele typów sieciowych modułów komunikacyjnych, posiadają funkcje administracyjne oparte na okienkowym interfejsie użytkownika. Funkcje te pozwalają na obrazowanie całej sieci lub jej fragmentu w aspekcie statystyki i informacji kontrolnych. Pulpity administracyjne dołączane są do hubów za pośrednictwem specjalnych łączy, dzięki czemu zarządzanie nimi jest możliwe nawet w wypadku awarii reszty sieci.
Huby pierwszej generacji były zwykłymi repeater'ami operującymi tylko z jednym medium transmisyjnym. Generalnie nie było możliwości obsługi protokołów zarządzania takich jak np. SNMP (Simple Network Managment Protocol). Huby te są wciąż obecne na rynku, stosowane są w małych sieciach lokalnych. Istnieją huby, które można umieścić bezpośrednio w złączu rozszerzającym serwera. Z tyłu takiej karty-huba podłącza się specjalny kabel pozwalający na przyłączenie stacji roboczych.
Huby drugiej generacji określa się jako huby inteligentne, gdyż realizują funkcje zarządzające. Huby te wyposażone są w płyty główne z kilkoma magistralami, dzięki czemu mają zdolność współpracy z różnymi mediami, pomiędzy którymi pełnią funkcje mostów (patrz dalej). Spotyka się magistrale dla różnego typu sieci lub magistrale wielokanałowe - uniwersalne. Płyty zarządzane są zazwyczaj przez wydajne procesory RISC'owe. Huby te umożliwiają zbieranie informacji statystycznych na temat ruchu w poszczególnych modułach. Wśród hubów tej generacji zaczęły się pojawiać urządzenia realizujące funkcje protokołu SNMP. Nie zaimplementowano jeszcze funkcji pozwalających na organizowanie wewnątrz huba logicznych segmentów sieci lokalnej, co jest korzystne ze względów administracyjnych i wydajnościowych.
Huby trzeciej generacji to inaczej huby korporacyjne. Są one zdolne do obsługi wszelkich typów komunikacji międzysieciowej i okablowania. Są to urządzenia inteligentne, z szybkimi płytami głównymi, o znacznym stopniu modułowości. Zdolne są do obsługi szeregu modułów wtykowych, w tym dla połączeń z sieciami rozległymi i umożliwiających realizację zaawansowanych funkcji zarządzających. Huby te są bardzo niezawodne. Wiele z nich używa płyt z komutacją komórek, z prędkościami rzędu Gbit/s. Inne cechy hubów trzeciej generacji:
segmentowanie płyty głównej w celu obsługi kilku sieci lokalnych;
szybkie połączenia szkieletowe, realizujące połączenia międzysieciowe;
zdolności komutacyjne, pozwalające na mikrosegmentację sieci lokalnej pomiędzy pojedyncze stacje robocze;
dedykowane połączenia punkt-punkt pomiędzy węzłami sieci, pozwalające na transmisję wielkich ilości danych lub transmisji uzależnionych od czasu;
Rys. 18.Metoda łączenia hubów pośredniczących.
funkcje zarządzania rozproszonego wbudowane w każdy z modułów, pozwalające na poprawianie wydajności sieci w warunkach znacznego obciążenia;
Inny podział hubów:
huby dla grup roboczych - np. koncentrator w postaci karty rozszerzającej dla serwera;
huby pośredniczące - np. skrzynka przyłączeniowa na każdym z pięter budynku. Ich zastosowanie jest opcjonalne, ale mogą stanowić bazę dla późniejszej rozbudowy sieci;
huby korporacyjne - centralne miejsce, w którym zbiegają się połączenia od wszystkich segmentów końcowych. Pełnią ponadto rolę routera, mostka, umożliwiają łączenie z sieciami rozległymi.
Płyta główna huba jest funkcjonalnie podobna do płyty głównej komputera, ale znacznie przewyższa ją rozwiązaniami technicznymi. Udostępnione są na niej punkty przyłączania modułów rozszerzających. Konfiguracja płyty głównej jest całkiem odmienna od komputerowej. Musi posiadać większą liczbę kanałów komunikacyjnych, umożliwiających łączenie odmiennych modułów (związanych z różnymi typami sieci).
Możliwe są różne typy magistral:
standardowe - szyna EISA lub nowsza (jak w komputerach osobistych) Moduły mają dostęp do magistrali po wygenerowaniu odpowiedniego przerwania. Raczej nie używana w hubach korporacyjnych;
zwielokrotnione - płyta główna posiada kilka magistral, każda obsługuje inny rodzaj ruchu. Typowa magistrala zwielokrotniona posiada oddzielne szyny dla różnych typów sieci. Do każdej z szyn można podłączyć wiele modułów, które obsługują odpowiedni rodzaj sieci;
segmentowa - magistrala podzielona jest na segmenty spojone złączami. Do złączy wstawiane są moduły, tworzące wraz z innymi modułami logiczny segment sieci. Dowolny port w każdym z modułów może stać się częścią segmentu sieci. Warunkiem jest, aby port był pasujący do danego typu sieci;
multipleksowana - pojedyncza magistrala zostaje podzielona za pomocą techniki multipleksowania na kilka magistral logicznych;
Rys. 19.Układ płyty głównej huba.
Większość hubów posiada szynę zarządzającą, która posiada dostęp do każdego z modułów. Ponieważ nie jest ona częścią głównej magistrali na płycie jej funkcje sterujące i monitorujące nie są ograniczone przez ruch danych. Bez tej szyny nie byłoby możliwe monitorowanie sieci w momentach największego ruchu.
Moduły są osobnymi urządzeniami, które umieszcza się w płycie głównej huba w celu umożliwienia podłączenia stacji roboczych oraz mostkowania, routingu i funkcji administracyjnych. Oto typowe przykłady modułów:
rezerwowe zasilacze;
moduły Ethernet pozwalające na podłączenie stacji roboczych pracujących w sieci Ethernet (patrz dalej);
moduły Token Ring pozwalające na podłączenie stacji roboczych pracujących w sieci Token Ring (patrz dalej);
moduły FDDI pozwalające na podłączenie stacji roboczych pracujących w sieci FDDI (patrz dalej);
moduły mostkujące i realizujące funkcje routingu, pozwalające organizować połączenia międzysieciowe przy użyciu różnych protokołów;
moduły zarządzające, obsługujące standard SNMP lub inny;
urządzenia do monitorowania protokołów, np. analizatory protokołów;
Moduły powinny posiadać wbudowane wskaźniki optyczne, dające operatorowi możliwość kontrolowania stanu poszczególnych portów.
Segmentacja jest naturalną cechą huba. Segmentem jest grupa stacji wspólnie korzystających z tej samej sieci i przesyłających między sobą pakiety. Do łączenia dwóch segmentów potrzebny jest most (omówiony dalej). Segmenty o dużej liczbie stacji roboczych mogą zostać zablokowane w wyniku dużego ruchu i dlatego dzieli je się na mniejsze segmenty. Do segmentu powinni należeć użytkownicy korzystający z tych samych zasobów i tworzący tę samą grupę roboczą oraz te urządzenia, które często wymieniają ze sobą duże ilości danych. Liczba możliwych do skonfigurowania segmentów jest ograniczona przez liczbę możliwych kanałów na płycie głównej huba. Ograniczenie to może być zniwelowane dzięki przełącznikom, pozwalającym na dzielenie kanałów na wiele segmentów.
Alternatywnym rozwiązaniem są huby z komutacją portów (huby przełączające). Wykorzystano w nich technikę przełączania (komutowania) portów. Funkcja ta pozwala administratorowi dysponującemu odpowiednim oprogramowaniem przemieszczać użytkowników między segmentami sieci. Technika hubów przełączających polega na wprowadzeniu mikrosegmentacji, czyli przydzieleniu do jednego segmentu zaledwie jednej stacji roboczej, co eliminuje współzawodnictwo o dostęp do medium transmisyjnego (patrz dalej). Huby przełączające są budowane jako oddzielne urządzenia, choć nowsze rozwiązania są modułami umieszczanymi w innych hubach. Hub przełączający posiada określoną liczbę portów, z których każdy stanowi oddzielny segment sieci i do których mogą być podłączone huby grupy roboczej lub pojedyncze stacje. Przesyłanie danych między stacjami realizowane jest za pomocą wewnętrznej tablicy przełączników (matrix switch) i działa na poziomie podwarstwy dostępu do łącza fizycznego. Urządzenie przełączające działa jak most i ustanawia tymczasowe połączenie między segmentami: gdy pakiet dociera do przełącznika sprawdzany jest jego adres przeznaczenia i zestawiane jest połączenie z odpowiednim segmentem końcowym. Następne pakiety przepływają przez przełącznik bez potrzeby ich rejestracji (co ma miejsce w mostach). Istotne jest, że ograniczona liczba stacji w segmencie zmniejsza jego obciążenie i ogranicza współzawodnictwo o dostęp do medium.
Uwaga: Nie należy mylić przełączania portów (opisanego poniżej) z hubami przełączającymi. Przełączanie portów jest funkcją zarządzającą pozwalającą na przyporządkowanie stacji roboczych do segmentów. Huby przełączające pozwalają natomiast na ustanawianie bezpośrednich (dedykowanych) połączeń pomiędzy portami.
Przełączanie portów jest stosunkowo nową funkcją oferowaną przez huby. Umożliwia łatwą rekonfigurację stacji roboczych (np. w przypadku gdy pracownik zmienił dział w firmie). W starszych modelach hubów podział sieci lokalnej na segmenty określony był przez moduły, do których przyłączało się stacje robocze. Fizyczne połączenia wewnątrz modułów umożliwiały powielenie sygnału tylko pomiędzy portami dołączonymi do tego modułu. W celu przemieszczenia użytkownika do innego segmentu sieci konieczne było fizyczne przeniesienie kabla do innego modułu. W nowych rozwiązaniach moduły przyłączane są do szybkiej, wielosegmentowej płyty głównej. Każdy port ma połączenie z płytą główną. Administrator organizuje segmenty z konsoli poprzez przydzielenie portów do segmentów. Połączenia mają charakter logiczny, nie fizyczny. Na rysunku pokazano, że porty należą do różnych segmentów sieci. Istotną cechą tego rodzaju płyt jest to, że segmenty mogą obejmować kilka modułów.
Rys. 20.Wielosegmentowa płyta główna
Rys. 21.Lokalna sieć wirtualna
Opisana powyżej technologia wirtualnej sieci lokalnej pozwala na łatwą reorganizację grup roboczych. Jedyne ograniczenie polega na tym, że do jednego segmentu nie można podłączyć różnego typu sieci - konieczne jest użycie mostu.
Liczba możliwych do utworzenia segmentów zależy od typu huba i konstrukcji płyty głównej. Sprzęt niektórych producentów umożliwia utworzenie jedynie kilku segmentów, innych - ponad sto. Trzeba sobie zdawać sprawę, że tworzenie wielu małych segmentów powoduje, że trzeba użyć dużej liczby mostów.
Huby muszą być urządzeniami niezawodnymi. W tym celu wprowadza się np.:
zasilanie awaryjne - wbudowane w hub;
moduły wymienne w trakcie pracy - umożliwiają wymianę modułu bez wyłączania systemu;
zarządzanie i zdalne administrowanie - np. za pomocą protokołu SNMP (patrz dalej);
instalacja hubów dublujących;
Huby umożliwiają osiągnięcie wysokiego poziomu bezpieczeństwa pracy sieci. Możliwe jest np. zablokowanie połączeń między określonymi stacjami oraz pomiędzy sieciami. Zapewnione jest filtrowanie adresów, podobnie jak w mostach. Niektóre huby pozwalają na odłączenie „intruzów”. Huby dysponujące zaawansowanymi funkcjami bezpieczeństwa umożliwiają powiązanie adresu programowego z adresem sprzętowym karty sieciowej w stacji roboczej. Wykorzystując to można zapewnić obsługę użytkownika tylko pod warunkiem, że działa na określonej stacji roboczej.
Huby realizują, jak wspomniano, różne funkcje zarządzające. Do takich należą: śledzenie pakietów danych i pojawiających się błędów oraz ich składowanie w bazie danych huba (MIB - Managment Information Base). Program zarządzający co pewien czas sięga do tych danych i prezentuje je administratorowi. Po przekroczeniu pewnych zadanych wartości progowych (np. przekroczenie progu natężenia ruchu w sieci), administrator zostaje zaalarmowany i może podjąć kroki zaradcze. Większość hubów zapewnia obsługę protokołu SNMP, niektóre protokołów: CMIP (Common Managment Information Protocol), będący standardem ISO, oraz NetView firmy IBM.
Huby są zwykle zarządzane za pomocą aplikacji graficznych, pozwalających administratorowi na zarządzanie każdym urządzeniem i węzłem sieci z jednej stacji zarządzającej. Oprogramowanie zarządzające bazuje zwykle na systemie UNIX. Funkcje zarządzające huba umożliwiają także usługi:
automatyczne wyłączenie węzłów zakłócających pracę sieci;
izolowanie portów dla potrzeb testów, np. wtedy gdy węzeł wysyła błędne pakiety - izoluje się go;
włączanie i wyłączanie stacji roboczych w określonych godzinach i dniach tygodnia;
zdalne zarządzanie elementami sieci;
Oprogramowanie zarządzające dostarcza wielu narzędzi przetwarzających zebrane informacje i obrazujących je w przystępnej formie wykresów bądź tabel.
Technologia hubów zmierza w kierunku techniki przełączania. Istnieje tendencja do umieszczania w jednej obudowie wieloprotokołowości, routingu, mostkowania, techniki sieci rozległych, funkcji zarządzających oraz funkcji analizowania protokołów. Szybkości przesyłania danych przez urządzenia podłączone do huba wymagają technik coraz szybszego przełączania, np. w sieci ATM, umożliwiającej przesyłanie danych z szybkościami rzędu Gbit/s. Technika ATM została już wprowadzona do hubów korporacyjnych, teraz wprowadza się ją do hubów pośredniczących i hubów grup roboczych.
Regenerator (repeater).
Repeater jest prostym urządzeniem pomocniczym, regenerującym sygnał przesyłany kablem, co pozwala na zwiększenie długości połączenia, a co za tym idzie - zwiększenie rozpiętości sieci. Repeater nie zmienia w żaden sposób struktury sygnału, poza jego wzmocnieniem. Repeater jest nieinteligentnym (dumb) urządzeniem, które charakteryzuje się następującymi cechami:
używany jest głównie w liniowych systemach kablowych;
działa na najniższym poziomie stosu protokołów - na poziomie fizycznym;
dwa segmenty sieci, połączone za pomocą repeater'a, muszą używać tej samej metody dostępu do medium;
segmenty sieci połączone za pomocą repeater'a stają się częścią tej samej sieci i mają te same adresy sieciowe (węzły w segmentach rozszerzających sieć muszą mieć różne adresy od węzłów w segmentach istniejących);
przekazują pakiety z prędkością transmisji w sieci;
W repeater'ach należy raczej widzieć urządzenia, które służą do przyłączenia do sieci stacji dalej położonych, niż urządzenia pozwalające na zwiększenie liczby stacji w sieci.
Przełącznica (matrix switch).
Jest to urządzenie posiadające pewną liczbę portów wejścia oraz portów wyjścia. Służy ona do połączenia wybranego wejścia w określonym wyjściem. Rysunek przedstawia przełącznicę 4 X 4 łączącą linie modemowe z komputerami. Możliwe są oczywiście rozwiązania o większej liczbie portów: 8 X 8, 16 X 16 itd. Przełącznice są obecnie realizowane na poziomie mikroprocesora i umożliwiają utworzenie połączenia w bardzo krótkim czasie. Przełącznica może służyć do łączenia ze sobą segmentów w sieci (np. hub przełączający). Układy te charakteryzują się ponadto bardzo dużą przepustowością.
Topologie sieci lokalnych.
Topologia sieci określa fizyczny układ sieci: rozmieszczenie jej elementów oraz połączenia między nimi oraz stosowane przez stacje robocze (węzły sieci) metody odczytywania i wysyłania danych. Topologie LSK to głównie topologie podsieci, które są elementami sieci złożonych. Poniżej zostaną opisane podstawowe topologie sieci.
Topologia z magistralą liniową.
Jest to konfiguracja, w której do pojedynczego kabla głównego (magistrala, szyna), stanowiącego wspólne medium transmisyjne, podłączone są wszystkie węzły. Na ogół użyte łącza są jednorodnymi łączami elektrycznymi. Dopuszczalna długość kabla oraz liczba stacji są jawnie ograniczone w zależności od typu kabla. Nadawane sygnały docierają do wszystkich stacji poruszając się we wszystkich możliwych kierunkach. Czas propagacji sygnału zależy wyłącznie od długości kabla. W danej chwili tylko jeden węzeł może wysyłać dane w trybie rozgłaszania. Gdy sygnał dociera do końca kabla zostaje wygaszony przez znajdujący się tam terminator, dzięki czemu nie występują odbicia. Dane poruszają się nie przechodząc przez węzły sieci. Do zalet tego typu konfiguracji sieci należą: niewielka długość użytego kabla i prostota układu przewodów. Wyłączenie lub awaria jednej stacji nie powoduje zakłóceń w pracy sieci. Wadą topologii z magistralą jest niewielka liczba punktów koncentracji, w których można by było diagnozować sieć, lokalizować uszkodzenia oraz zarządzać siecią. Niekorzystną cechą tej topologii jest to, że sieć może przestać działać po uszkodzeniu kabla głównego w dowolnym punkcie. W celu wyeliminowania tej wady wprowadza się nieraz dodatkowy kabel główny (komplikuje organizację pracy sieci, zwiększa jej koszt).
Topologia gwiazdy.
Sieć zawiera centralny element (hub), do którego przyłączone są wszystkie węzły. Cały ruch w sieci odbywa się przez hub. Sygnały mogą być nadawane z huba do wszystkich stacji lub tylko do wybranych. Odległość każdej stacji od huba oraz liczba stacji do niego podłączonych są ograniczone. Czas propagacji sygnału nie zależy od liczby stacji. Nadane przez hub sygnały zanikają samoczynnie. Możliwe jest wystąpienie kolizji, która może być łatwo wykryta przez hub i zasygnalizowana wszystkim stacjom. Zaletą tej topologii jest łatwość konserwacji, wykrywania uszkodzeń, monitorowania i zarządzania siecią. Awaria jednej stacji nie wpływa na pracę reszty sieci. Układ okablowania jest łatwo modyfikowalny (łatwo dołączyć stację roboczą), ale jego koszt jest stosunkowo duży (potrzeba duże ilości kabla w celu podłączenia każdej stacji osobno). Należy również zauważyć, że hub jest centralnym elementem sieci i jego ewentualna awaria paraliżuje całą sieć.
Wyróżnia się konfiguracje gwiaździste aktywne (sygnał w hubie jest wzmacniany i/lub regenerowany) i bierne.
Topologia pierścienia.
W topologii pierścienia węzły łączy się za pomocą jednego nośnika informacji w układzie zamkniętym. Okablowanie nie ma żadnych zakończeń (np. terminatorów), ponieważ tworzy krąg. W ramach jednego pierścienia można stosować różnego rodzaju łącza. Długość jednego odcinka łącza dwupunktowego oraz liczba takich łączy są ograniczone. Każda stacja jest wyposażona w tzw. retransmiter, którego elementarną funkcją jest regenerowanie sygnału nadchodzącego od stacji poprzedniej w celu przekazania go stacji następnej. Retransmiter może modyfikować niektóre pozycje odebranego ciągu bitów, wstrzymywać proces regeneracji, udostępniać odebrane dane własnej stacji lub może nadawać do następnika ciąg bitów przygotowanych przez własną stację. Jak widać możliwe jest wystąpienie kolizji. Potrzebny jest więc pewien algorytm ustalający zasady wprowadzania danych do pierścienia. Informacja wprowadzona do sieci musi być usunięta przez jeden z węzłów - inaczej niepotrzebnie krążyłaby w sieci. Sygnał przechodzi przez poszczególne węzły i jest w nich wzmacniany. Czas propagacji sygnału jest tutaj zależny od liczby węzłów. Dane poruszają się w pierścieniu w jednym kierunku. Zaletą tej topologii jest mniejsza długość kabla niż w topologii gwiaździstej. Awaria jednej stacji lub łącza może spowodować awarię całej sieci. Trudniejsza jest diagnostyka, a modyfikacja (dołączenie stacji) wymaga wyłączenia całej sieci.
W celu wyeliminowania niektórych wad topologii pierścienia stosuje się przy każdym retransmiterze tzw. by-pass, czyli obejścia. Styki retransmitera zostaną otwarte jedynie w wypadku podania napięcia na uzwojenia przekaźników, co może nastąpić wówczas, gdy prawidłowo działa zasilanie retransmitera oraz prawidłowo zostały wykonane pewne testy poprawności działania retransmitera. Rozwiązanie to jest kłopotliwe np. wtedy gdy zastosuje się światłowody.
Często stosuje się konfigurację podwójnego przeciwbieżnego pierścienia. Każda para stacji jest dodatkowo sprzężona dodatkowym łączem o kierunku transmisji przeciwnym do kierunku transmisji w łączu głównym. W stanie normalnej pracy sieci pierścień pomocniczy nie jest używany. Jeśli w pewnym miejscu takiej sieci kabel zostanie przerwany - następuje automatyczna rekonfiguracja pierścienia i sygnał jest transmitowany w przeciwnym kierunku. Umożliwia to kontynuację pracy sieci.
Topologia drzewa.
Topologia drzewa (zwana również topologią rozproszonej gwiazdy) jest utworzona z wielu magistrali liniowych połączony łańcuchowo. Na początku jedną magistralę liniową dołącza się do huba, dzieląc ją na dwie lub więcej magistral. Proces dzielenia można kontynuować, tworząc dodatkowe magistrale liniowe wychodzące z magistral odchodzących od pierwszej magistrali, co nadaje topologii cechy topologii gwiazdy.
Rysunek pozwala na wytłumaczenie dlaczego tę topologię nazywa się również topologią rozproszonej gwiazdy. Jeśli jedną magistralę podzieli się na trzy magistrale i każdą z nich na kolejne trzy to w efekcie otrzymamy łącznie trzynaście magistral. Tworzone są kolejne poziomy drzewa, ale ich liczba jest ograniczona. Zaletami topologii drzewa są: łatwość rozbudowy oraz ułatwienie lokalizacji uszkodzeń. Wadą jest zależność pracy sieci od głównej magistrali.
Topologia pierścień-gwiazda.
Topologia ta łączy atrybuty topologii gwiazdy i pierścienia. Centralnym punktem tak skonfigurowanej sieci jest pierścień, nazywany również centrum okablowania. Centra okablowania mogą znajdować się w jednym miejscu sieci (w koncentratorze) lub mogą być rozproszone w wielu miejscach (wiele koncentratorów połączonych ze sobą przy użyciu złączy oznaczonych jako ring-in - wejście oraz ring-out - wyjście pierścienia), ale muszą tworzyć pełne połączenie fizyczne. Jeśli centrum okablowania zostaje przerwane to sieć przestaje działać. Węzły sieci dołącza się do pierścienia (za pomocą kabla z dwoma przewodami) i tworzą one gwiaździsty element topologii. Zaletą takiej konfiguracji jest to, że odłączenie węzła nie powoduje awarii sieci. W momencie dołączania nowej stacji nie trzeba przerywać pracy sieci. Wadą tej konfiguracji jest znaczne zwiększenie długości kabla w porównaniu z konfiguracją pierścieniową.
Topologia gwiazda-magistrala.
Jest to konfiguracja sieci, w której grupy stacji roboczych, połączonych w gwiazdy, podłączone są do odcinków kabli głównych, stanowiących magistralę.
Warstwa liniowa w LSK.
Usługi udostępnione przez warstwę fizyczną umożliwiają transmisję pojedynczych bitów oraz symboli specjalnych od stacji nadającej do wszystkich stacji bezpośrednio z nią sprzężonych. Warstwa liniowa wykorzystuje usługi warstwy fizycznej w celu umożliwienia przesyłania większych porcji informacji - pakietów do wybranych stacji (adresatów). Realizacje warstwy liniowej muszą więc uwzględniać specyfikę dostępnych usług warstwy fizycznej. W przypadku LSK są to następujące cechy:
łącze fizyczne sprzęga zazwyczaj wiele stacji; stwarza to problem dostępu do medium transmisyjnego, gdyż może wystąpić kolizja;
czas nadawania krótkich pakietów jest na ogół porównywalny z czasem propagacji;
liczba błędów występujących podczas transmisji jest bardzo mała;
Biorąc pod uwagę te cechy, w architekturze logicznej LSK wyróżnia się w warstwie liniowej dwie podwarstwy: podwarstwę dostępu (Medium Access Sublayer) i podwarstwę łącza logicznego (Logical Link Sublayer), o specyficznie dla tej klasy sieci ustalonym zakresie usług oraz specjalizowanych protokołach komunikacyjnych.
Do transmisji pakietu między źródłowym a docelowymi punktami udostępniania usług warstwy liniowej, tworzy ona jednostki danych protokołu (ramki), które są nadawane (odbierane) przy użyciu usług warstwy fizycznej.
Funkcje warstwy liniowej związane z formatowaniem ramki i z przekazywaniem jej warstwie fizycznej.
serializacja i deserializacja informacji - warstwa fizyczna może przyjmować dane do nadania bit po bicie z szybkością dostosowaną do szybkości transmisji w łączu oraz przekazywać bit po bicie z identyczną szybkością dane odebrane z łącza. Nie ma możliwości buforowania informacji w warstwie fizycznej. W ramach każdej stacji najmniejszą adresowalną i jednorazowo dostępną jednostką danych jest bajt lub dłuższe słowo. Zamiana postaci danych na bitowo-szeregową (serializacja) przy nadawaniu i odwrotna operacja (deserializacja) przy odbiorze wymagają jawnego określenia który bit bajtu (słowa) będzie najbardziej znaczący. Istotne jest również dostosowanie sprzętowe do odbioru danych z właściwą szybkością;
nadawanie preambuły - w celu uzyskania synchronizacji bitowej warstwa fizyczna wymaga wstępnego przesłania pewnej liczby bitów, czyli preambuły. Zadaniem warstwy liniowej jest poprzedzenie rozpoczęcia nadawania ramki preambułą o długości dostosowanej do wymagań konkretnego rozwiązania warstwy fizycznej;
synchronizacja blokowa - warstwa liniowa musi mieć zdolność wyróżniania początku i końca poszczególnych ramek w ciągu bitów nadawanych i odbieranych przez warstwę fizyczną. Inaczej nie byłoby wiadomo które bity należą do jednej ramki, a które do następnej. Początek ramki można określić w prosty sposób: po zakończeniu poprzedniej ramki na łączu nie ma sygnału, albo jest nadawana (stale lub chwilowo) jakaś wybrana sekwencja bitów w celu utrzymania synchronizacji bitowej komunikujących się stacji. Początek ramki można więc określić przez nadanie dowolnej innej kombinacji bitów. Trudniej jest z określeniem końca ramki, gdyż oznaczenie go przez wybraną sekwencję bitów mogłoby spowodować, że przy przesyłaniu takiej samej sekwencji wewnątrz ramki (dane) zostałoby to źle zinterpretowane - jest to tzw. problem przezroczystości danych. W starszych rozwiązaniach stosowano tzw. protokoły znakowe, w których dane przesyłane były w postaci znaków (8 bitów). Występowały tutaj znaki alfanumeryczne oraz specjalne znaki sterujące (np. początek ramki, koniec ramki, preambuła, itd.). Jednak rozwiązanie to nie miało zastosowania w transmisjach binarnych - można było np. każdy bajt danych zapisywać za pomocą dwóch znaków, ale mogło to w skrajnym przypadku zwiększyć dwukrotnie liczbę przesyłanych danych. Nowsze rozwiązania opierają się na protokołach bitowych. Protokoły te nie zakładają żadnego specjalnego znaczenia poszczególnych kombinacji bitów z wyjątkiem jednego wyróżnionego symbolu (flagi), która może być np. ciągiem 01111110. Flaga jest znacznikiem początku i końca każdej ramki. Może tutaj również wystąpić problem przezroczystości danych. W celu jego wyeliminowania można zastosować wcześniej opisaną technikę faszerowania zerami. Średnio zero jest wstawiane raz na 63 bity. Mamy więc zwiększenie długości ciągu bitów średnio o 1/63. Takie rozwiązanie stosowane jest powszechnie w rozległych sieciach komputerowych (np. protokół HDLC). Algorytm faszerowania zerami jest realizowany na poziomie układów scalonych. Istnieje jednak możliwość nieprawidłowego zinterpretowania flagi w przypadku wystąpienia przekłamania podczas transmisji danych. W LSK dominuje jeszcze inne rozwiązanie zadania synchronizacji blokowej, polegające na analizie aktualnego stanu łącza - bezczynności lub emisji symboli specjalnych. W szczególności można przyjąć, że koniec ramki sygnalizowany jest ciszą na łączu, trwającą określony czas, nadawanie natomiast rozpoczyna się od wysłania preambuły, która umożliwia synchronizację bitową i która kończy się dowolnie ustaloną sekwencją bitów. Alternatywnie można określić początek i koniec ramki za pomocą dowolnie ustalonych grup zer, jedynek i symboli specjalnych. Tego rodzaju rozwiązania są łatwe w realizacji, nie wprowadzają żadnego narzutu i są odporne na błędy transmisji;
adresowanie - warstwa fizyczna umożliwia odbiór nadanej przez dowolną stację informacji wszystkim stacjom włączonym do tej samej lokalnej sieci komputerowej. Odpowiada to adresowaniu w trybie rozgłaszania. Fakt ten stanowi specyficzną właściwość LSK. W praktyce częściej stosuje się adresowanie indywidualne lub grupowe, więc poszczególne stacje muszą być zdolne do „odfiltrowania” informacji dla nich przeznaczonych. W tym celu w każdej ramce musi znaleźć się precyzyjne określenie adresata i nadawcy informacji. Każda stacja (obiekt warstwy liniowej) musi więc rozpocząć odbieranie każdej ramki i później po zidentyfikowaniu adresata albo ją odrzucić, albo przyjąć;
format ramki - dla wszystkich nadawców i odbiorców musi być ustalony format ramki. W szczególności muszą zostać określone: adres nadawcy, odbiorcy, długość ramki. Najczęściej pola te mają w ramce stałą długość i początek ustalony względem znacznika początku ramki. Ponieważ każda stacja musi być zdolna do odbioru co najmniej adresu przeznaczenia ramki, ta właśnie informacja jest zwykle umieszczana na początku ramki;
Funkcje warstwy liniowej związane z kontrolą poprawności transmisji.
Najczęściej używanym wskaźnikiem charakteryzującym częstość występowania błędów jest tzw. bitowa stopa błędów (BER - Bit Error Rate), definiowana jako udział bitów błędnie przetransmitowanych w długim, testowym ciągu bitów. W LSK typowa stop błędów wynosi 10-9. Bardziej szczegółowe badania pozwoliły stwierdzić, że w rzeczywistości rzadko występują błędy pojedyncze, tj. sporadyczne przekłamania wartości pojedynczego bitu, a znacznie częściej obserwuje się tzw. błędy seryjne, czyli przekłamania niektórych lub wszystkich bitów z pewnej ich grupy. Wynika to stąd, że błędy transmisji pojawiają się zwykle w wyniku zaistnienia jakiegoś silnego zewnętrznego zakłócenia.
wykrywanie błędów - jeśli transmitowany jest ciąg bitów o długości m bitów to możliwe jest 2m. ich kombinacji. Zazwyczaj nadawca wydłuża nadawany ciąg bitów o r bitów nadmiarowych, które razem z nadawanym ciągiem bitów tworzą tzw. słowo kodowe o długości m+r bitów. Wartości bitów nadmiarowych są dobierane tak, że dopuszczalna jest tylko część spośród możliwych 2m.+r kombinacji bitów. Jeśli nastąpi przekłamanie jednego lub większej liczby bitów to istnieje duże prawdopodobieństwo, że odebrane słowo kodowe nie będzie należało do zbioru kombinacji dopuszczalnych. Odbiorca, znający kryterium zaliczania odbieranych słów kodowych do tego zbioru ma wówczas możliwość wykrycia błędu. Liczbę bitów nadmiarowych oraz słowo kodowe należy dobrać tak, aby prawdopodobieństwo wykrycia błędu było duże oraz realizacja wybranej zasady odwzorowywania była prosta. W normach międzynarodowych oraz w praktyce najczęściej mamy do czynienia z cykliczną sumą kontrolną (CRC - Cyclic Redundancy Check). W metodzie tej elementy transmitowanego ciągu traktuje się jako współczynniki kolejnych wyrazów wielomianu W(x) stopnia m-1. Na słowo kodowe składa się ciąg wejściowy oraz r bitów nadmiarowych, stanowiących współczynniki wielomianu będącego resztą z dzielenia modulo 2 wielomianu W(x) przez tzw. wielomian generacyjny G(x) stopnia r. Odbiorca dokonuje dzielenia odebranego słowa kodowego przez ten sam wielomian generacyjny, a kryterium poprawności transmisji jest reszta z dzielenia równa 0. Ciąg r bitów nadmiarowych nazywa się wartością CRC. Skuteczność tej metody zależy w decydującej mierze od doboru stopnia i postaci wielomianu generacyjnego. Prawidłowo dobrany wielomian G(x) zapewnia wykrycie wszystkich występujących w słowie kodowym błędów: pojedynczych, podwójnych (dwóch izolowanych błędów pojedynczych), błędów polegających na przekłamaniu nieparzystej liczby bitów oraz wszystkich błędów seryjnych o długości serii mniejszej lub równej r. Dodatkowo prawdopodobieństwo nie wykrycia błędu seryjnego o długości serii większej od r jest bardzo małe, rzędu 2-r. W sieciach lokalnych stosuje się wielomiany stopnia 16:
dla których nie wykrytych pozostaje tylko około 2*10-5 błędów seryjnych o długości serii większych niż 16 bitów. Dla sieci lokalnych przyjęto w normach międzynarodowych jednolitą postać wielomianu generacyjnego stopnia 32:
dla którego pozostaje nie wykrytych jedynie około 2*10-10 błędów seryjnych o długości serii większych niż 32.
Implementacja sprzętowa tych kodów jest też bardzo prosta, okazuje się bowiem, że dzielenie przez wielomian generacyjny można łatwo zrealizować przy użyciu rejestru przesuwającego o r stopniach i odpowiednio do postaci wielomianu dobranych sprzężeniach zwrotnych. W praktyce, aby m.in. uchronić się przed uzyskaniem zerowego wyniku dzielenia niepoprawnego ciągu bitów przez wielomian generacyjny na skutek przypadkowego wyzerowania rejestru, modyfikuje się wysyłany ciąg bitów w ustalony sposób. Wynik dzielenia tego zmodyfikowanego ciągu przez wielomian generacyjny, przy poprawnej transmisji, jest pewną ustaloną, różną od zera sekwencją bitów;
reakcja na wystąpienie błędów - ramka, w której odbiorca wykrył błąd musi być odrzucona (zgubiona). Przy użyciu kodu CRC nie można stwierdzić, która część ramki uległa zniekształceniu, a więc żaden fragment ramki nie może być traktowany jako wiarygodny. W szczególności zniekształceniu może ulec adres nadawcy lub odbiorcy. Na rysunku zilustrowano zmiany szybkości transmisji V w zależności od bitowej stopy błędów e oraz długości ramki N.
Stosowanie zbyt krótkich ramek powoduje straty wynikające z występowania pól organizacyjnych oraz oczekiwania na potwierdzenie, długie ramki są natomiast bardziej narażone na wystąpienie błędu;
Podwarstwa dostępu.
W wyniku dyskusji związanych z pracami normalizacyjnymi przyjęto, że podwarstwa dostępu powinna zapewniać realizację najprostszego przesłania w trybie bezpołączeniowym. Ponieważ w jednej chwili wiele stacji może zlecić przesłanie jednostek danych, więc podstawową funkcją tej podwarstwy musi być organizacja wspólnego korzystania przez stacje z łącza fizycznego. Dla użytkownika nie jest przy tym istotne w jaki sposób funkcja została zrealizowana, raczej interesuje go jakość uzyskanych usług. Dane przeznaczone do wysłania mogą mieć równe szanse na dostęp do medium lub mogą im być przypisane różne priorytety. W niektórych zastosowaniach istotne jest też określenie maksymalnego czasu, po którym na pewno dostęp do łącza zostanie uzyskany. Wysłanie danych wymaga jeszcze (poza zapewnieniem dostępu do łącza) serializacji (deserializacji), wysłania preambuły, formowania ramki, synchronizacji blokowej, adresowania oraz sprawdzenia poprawności. Realizacja tych funkcji została uwzględniona w podwarstwie dostępu. Przyjęto, że jeden obiekt podwarstwy dostępu obsługuje dokładnie jeden punkt udostępniania usług. Jest on scharakteryzowany przez adres indywidualny o długości 16 lub 48 bitów, przy czym w ramach jednolitej sieci lokalnej obowiązuje jednolita długość pola adresowego. Zwykle w pojedynczej stacji jest zrealizowany jeden obiekt podwarstwy dostępu i wówczas adres indywidualny określa stację. Oprócz jednego adresu indywidualnego każdy punkt udostępniania usług może mieć wiele adresów grupowych, które mogą być używane wyłącznie jako adresy docelowe. Możliwe jest również nadawanie w trybie rozgłaszania, z docelowym adresem grupowym oznaczającym wszystkie punkty udostępniania usług, a więc wszystkie aktywne stacje w danej sieci. W normach ISO 8802 przyjęto, że w każdym przypadku pierwszy bit adresu wyróżnia adresy indywidualne (0) lub grupowe (1). Adres rozgłaszania jest określony przez 16 lub 48 jedynek.
Podwarstwa dostępu przeprowadza kontrolę poprawności transmisji ramki, korzystając z 32-bitowych kodów CRC (nieraz 16-bitowych). Dodatkowo odrzucane są ramki, których długość przekracza granice określone dla konkretnego protokołu dostępu.
Co można powiedzieć o jakości usług udostępnianych przez podwarstwę dostępu? Jeśli chodzi o błędy transmisji, to nie występuje powielanie ramek, a liczba ramek zawierających nie wykryte błędy jest tak znikoma, że można zjawisko to zaniedbać. Może natomiast wystąpić zjawisko gubienia ramek. Jego powodem mogą być: wykrycie błędu transmisji, okresowa nieoperatywność odbiorcy, brak pamięci buforowej u odbiorcy. Pierwszy z tych powodów występuje rzadko. Drugi może wystąpić albo przy niesprawności stacji zdalnej, albo też krótkookresowo, bezpośrednio po odebraniu poprzedniej ramki (eliminuje się to przez odpowiednią konstrukcję adaptera - karty sieciowej). Zdolność odbioru kolejnych ramek jest istotną cechą stacji, zwłaszcza tych, które za pośrednictwem sieci udostępniają swoje zasoby, a więc do których kieruje się ruch od wielu innych stacji. Ostatni z wymienionych błędów jest w praktyce najczęściej spotykany w sieciach lokalnych. Liczba tak zagubionych ramek zależy wyłącznie od względnej szybkości procesów nadawania i odbioru oraz liczby nadawców. Zjawisko to można wyeliminować uwzględniając funkcję sterowania przepływem (flow control method) w wyższych warstwach protokołów. Jeśli do stacji dotrze więcej informacji niż potrafi ona zbuforować lub przetworzyć w określonym czasie - przesyłany zostaje sygnał do urządzenia nadającego po to aby zawiesiło transmisję danych do momentu, kiedy będą mogły być przetworzone. Sygnały sterowania przepływem informacji mogą być generowane sprzętowo (out band signaling) lub programowo (in band signaling). Kontrola sprzętowa ma miejsce w przypadkach kiedy systemy są bezpośrednio połączone kablem wieloliniowym. Do transmisji danych służy jedna lub dwie linie - reszta do sygnalizacji (np. metoda sygnalizacji RTS/CTS - Request To Send, Clear To Send). Programowe sterowanie przepływem stosuje się w przypadku łączności kanałem jednoprzewodowym.
Innym istotnym parametrem charakteryzującym jakość usług jest czas przejścia przez sieć jednostki danych. Na czas ten składają się cztery elementy: czas przygotowania ramki, czas rywalizacji o dostęp do łącza, czas transmisji oraz czas analizy ramki przez odbiorcę. Trzeci z tych czynników wynika z właściwości warstwy fizycznej i na ogół ma bardzo małą wartość. Pierwszy i ostatni czynnik zależą od implementacji podwarstwy dostępu i też na ogół nie wnoszą istotnych opóźnień.
Bardziej kontrowersyjne są opinie na temat czasu rywalizacji o dostęp do łącza, zależnego od strumieni generowanych do przesłania ramek oraz zastosowanego protokołu dostępu. Ogólnie można stwierdzić, że wbrew często wyrażanym obawom, obserwacje pracy LSK wykazały, że pracują one zwykle przy niewielkim obciążeniu - w jednostce czasu do przesłania zgłasza się ilość informacji stanowią na ogół kilka, a rzadziej kilkanaście procent przepustowości łącza fizycznego. Wykazuje się, że możliwe jest kilkuprocentowe skrócenie czasu oczekiwania na dostęp przez zmianę algorytmu dostępu mają znaczenie jedynie teoretyczne. W praktyce prawie każdy prawie każdy algorytm dostępu zaspokaja przeciętne wymagania.
Powyższe uwagi odnoszą się do wartości średnich i nie wykluczają powstania w sieci chwilowych spiętrzeń lub zaobserwowania sporadycznie, w odniesieniu do pojedynczych ramek, długich czasów oczekiwania na dostęp. Tam, gdzie uniknięcie takich sytuacji jest istotne, warto sięgnąć do algorytmów z zagwarantowanym maksymalnym czasem dostępu.
Możliwa jest również transmisja bezpołączeniowa z potwierdzeniem. Wygenerowanie potwierdzenia oznacza, że ramka została poprawnie odebrana, zapamiętana w wolnym buforze i przekazana podwarstwie łącza logicznego. Usługa ta jest realizowana przy użyciu specjalnej klasy protokołów dostępu, takich że po uzyskaniu przez nadawcę dostępu do łącza i przesłaniu przez niego ramki, łącze pozostaje zarezerwowane przez pewien czas po to, by odbiorca mógł przesłać potwierdzenie bez dodatkowej rywalizacji o dostęp do łącza. Zakłada się, że jeśli w czasie bardzo krótkiego odcinka czasowego nie nadejdzie oczekiwane potwierdzenie lub nadejdzie potwierdzenie negatywne, to można powtórzyć transmisję z ponowną rezerwacją łącza na potwierdzenie. Zwykle dopuszcza się niewielką liczbę powtórzeń. W niektórych metodach dostępu uwzględnia się w negatywnym potwierdzeniu przyczynę jego powstania, aby nadawca po jego otrzymaniu mógł zoptymalizować dalsze postępowanie, np. opóźnić transmisję w wypadku zapełnienia buforów odbiorcy. Zgubienie potwierdzenie i decyzja o retransmisji mogą spowodować powielenie ramki. Ponieważ jednak nadawca na mocy definicji protokołu czeka na nadejście potwierdzenia i jest przygotowany do jego przyjęcia, więc jedynym powodem zgubienia potwierdzenia może być zakłócenie istotnie zniekształcające potwierdzenie. Przez odpowiedni dobór postaci potwierdzenia prawdopodobieństwo takiego zdarzenia można sprowadzić do małej wartości.
Podwarstwa łącza logicznego.
Udostępnione przez podwarstwę łącza logicznego usługi umożliwiają przesyłanie jednostek danych, a więc tworzą minimalny zakres, który można uznać za wystarczający dla całej warstwy liniowej. Na ogół dogodne jest rozbudowanie tych usług, a także dysponowanie jednolitym zestawem usług, opartym na różnorodnych rozwiązaniach podwarstwy dostępu.
Elementarnym rozszerzeniem funkcjonalnym jest adresowanie. Pojedynczy obiekt podwarstwy łącza logicznego może obsłużyć wiele punktów udostępniania usług, z których ma adres indywidualny, niepowtarzalny w ramach jednej stacji. Możliwe jest określenie adresem grupowym dowolnego podzbioru takich punktów lub adresem rozgłaszania - wszystkich. Takie rozszerzenie jest cenne, gdyż umożliwia świadczenie usług na rzecz wielu różnych obiektów warstwy wyższej, a w przypadku wykorzystania wprost przez procesy użytkowe - obsługę wielu takich procesów, np. w ramach każdej stacji można przyjąć, że proces obsługi drukarki będzie używał punktu udostępniania usług o adresie 2, a proces wyświetlania na ekranie przesłanych ciągów znaków punktu o adresie 7.
W warstwie liniowej powinna być możliwość buforowania pakietów zleconych do wysłania. Jeśli podwarstwa dostępu nie ma tej własności, to własność ta jest realizowana w podwarstwie łącza logicznego. Zbiór usług tej podwarstwy wykracza też - ogólnie rzecz biorąc - poza prostą transmisję bezpołączeniową.
Każdy pakiet jest przesyłany przy użyciu jednaj ramki danych identycznej z jednostką danych usług podwarstwy dostępu.
Usługi podwarstwy łącza logicznego.
usługi bezpołączeniowe - w normie ISO 8802.2 nazywane są usługami typu 1. Protokół realizujący usługi typu 1 jest bardzo prosty: z dokładnością do rozszerzonego adresowania i być może kolejkowania korzysta wprost z usług podwarstwy dostępu. Jakość usług jest też praktycznie nie zmieniona (z wyjątkiem ignorowania negatywnych lokalnych potwierdzeń podwarstwy dostępu - jeśli takie występują). W większości LSK udostępniany jest wyłącznie ten typ usług, a dalsze funkcje można uzyskać skutecznie w ramach protokołów wyższych warstw;
usługi połączeniowe - w ramach normy ISO 8802.2 przewidziano też usługi połączeniowe, zwane usługami typu 2, przy czym ich świadczenie nie jest obligatoryjne. Usługi te obejmują nawiązywanie i rozwiązywanie połączenia między parą punktów udostępniania usług podwarstwy łącza logicznego określoną adresami indywidualnymi, transmisję danych z eliminacją przekłamań, zagubień i powtórzeń, a także sterowanie przepływem (dopasowanie dopuszczalnego tempa transmisji danych przez nadawcę do możliwości odbiorcy). Usługi połączeniowe warstwy liniowej są w sieciach lokalnych bardzo rzadko wykorzystywane, gdyż tworzą spory narzut czasowy;
Protokoły dostępu do łącza fizycznego.
Wcześniej wspomniano o możliwości wystąpienia w LSK kolizji przy dostępie do medium. W celu zapewnienia efektywnego korzystania z łącza konieczne jest ustalenie reguł, zgodnie z którymi każda z włączonych do sieci stacji będzie zdolna do rozstrzygnięcia, w którym momencie może uzyskać prawo do rozpoczęcia nadawania i przez jaki czas prawo to jej przysługuje. Decyzja o przyznaniu konkretnej stacji prawa nadawania powinna być podejmowana na podstawie kompletnej wiedzy o stanie całej sieci. W rzeczywistości taka informacja nie jest nigdy dostępna. Przy omawianiu realnych rozwiązań trzeba zawsze mieć na uwadze, że informacja o stanie sieci jest dostępna z dokładnością do maksymalnego czasu propagacji sygnału.
Wspomniane reguły - zwane regułami dostępu - mogą przewidywać, że fragmenty czasu łącza są przyznawane poszczególnym stacjom przez jeden wytypowany układ, zwany arbitrem, a każda stacja ma tylko zdolność rozpoznania sygnałów arbitra upoważniających ją do podjęcia nadawania. W LSK przyjęto jednak zdecentralizowane sterowanie dostępem z rozłożeniem odpowiedzialności za prawidłową organizację dostępu między wszystkie stacje. Każda z nich musi więc być zdolna do przeprowadzenia - na podstawie nasłuchu łącza - analizy sytuacji w sieci zgodnej z obowiązującymi regułami dostępu oraz podejmowania decyzji o wysyłaniu ramek informacyjnych bądź organizacyjnych do innych stacji.
Utrudnieniem jest fakt, że w sieci lokalnej liczba aktywnych stacji może się często zmieniać. Muszą więc być przewidziane rozwiązania pozwalające łatwo podejmować ubieganie się o łącze stacjom nowo uaktywnionym. Konieczne jest też uniknięcie rezerwowania czasu łącza dla stacji nieaktywnych, czy też oczekiwania na wysłanie przez stację, która stała się nagle nieaktywna, jakichś ramek organizacyjnych. Ponadto, żadna stacja nie może zmonopolizować łącza w sytuacji, gdy inne stacje ubiegają się o dostęp oraz by możliwie cała przepustowość łącza mogła być w każdym odcinku czasowym wykorzystywana przez stacje aktualnie ubiegające się o dostęp i to przy pełnym równouprawnieniu tych stacji (żadna stacja nie ma przywilejów związanych z jej adresem, położeniem, itd.). Możliwe mogłoby być natomiast, chociaż nie zawsze, uwzględnienie w regułach dostępu priorytetu nadawanych danych i ograniczenie maksymalnego czasu dostępu do łącza. Oprócz spełnienia wyżej wymienionych postulatów dobry protokół dostępu powinien być jeszcze łatwy w implementacji oraz odporny na zakłócenia transmisji lub uszkodzenia poszczególnych stacji. Znalezienie jednego protokołu dostępu, który realizowałby wszystkie wspomniane funkcje jest bardzo trudne i dlatego powstało kilka takich protokołów. W dalszej części zostaną przedstawione najważniejsze z nich.
Dostęp rywalizacyjny.
Idea dostępu rywalizacyjnego (random access) opiera się na podstawowym założeniu, że ograniczenia na moment, w którym stacja może podjąć nadawanie, powinny być bardzo łagodne, a jeśli w związku z tym wystąpi kolizja, to nadawanie zniekształconej ze względu na ten fakt ramki należy po pewnym czasie powtórzyć.
Pierwowzorem, a zarazem najbardziej liberalnym protokołem tej klasy był protokół ALOHA, stosowany w sieciach radiowych. W protokole tym nadawanie można rozpocząć w dowolnym momencie, a otrzymanie ramki przez odbiorcę musi być skwitowanie potwierdzeniem, generowanym oddzielnie (poza protokołem dostępu) w określonym przedziale czasu.
Warto zauważyć, że jeśli czas nadawania ramki jest dłuższy od czasu propagacji, to przed wysłaniem warto się upewnić czy w łączu nie odbywa się transmisja. Umożliwia to tzw. funkcja nasłuchu (carrier sense). Przy używaniu takiej metody dostępu wystąpienie kolizji staje się możliwe jedynie w początkowym odcinku czasowym nadawania ramki, nie dłuższym niż podwójny czas propagacji sygnału w łączu. Odbiorniki (nadajniki) mają zdolność wykrywania kolizji w łączu i gdy to nastąpi przerywają transmisję (w rzeczywistych rozwiązaniach transmisja jest podtrzymywana jeszcze przez pewien czas - tzw. wymuszanie kolizji - po to, by zwiększyć prawdopodobieństwo wykrycia kolizji przez wszystkie stacje)(1). Nadajnik sam rozpoznaje kolizję, więc nie jest konieczne przesyłanie przez odbiornik dodatkowych potwierdzeń oznaczających brak kolizji Nadajnik po pewnej zwłoce ponawia transmisję (2). Przyjęto algorytmy uwzględniające pierwszą z tych modyfikacji, określać mianem rodziny CSMA (Carrier Sense Multiple Access), a algorytmy uwzględniające obie modyfikacje noszą miano algorytmów CSMA/CD (Collision Detection).
W celu zdefiniowania protokołu CSMA lub CSMA/CD należy sprecyzować czas - opóźnienie - między kolejnymi próbami nadawania przez pojedynczą stację (gdyby była to wartość identyczna dla wszystkich stacji to po kolizji następowałaby kolejne) oraz jak powinny zachować się stacje, które przed rozpoczęciem nadawania stwierdziły zajętość łącza. Można np. czekać na jego zwolnienie i rozpocząć natychmiast nadawanie (jeśli czekało wiele stacji, to nastąpi kolizja) albo przerwać swe działanie na pewien czas (trzeba określić jak długi), a następnie ponownie przeprowadzić nasłuch łącza; wówczas jednak możliwe jest „marnotrawstwo” czasu łącza, gdy transmisja w łączu zakończyła się, a stacja zainteresowana nadawaniem nie wykryła tego faktu, bo trwa przerwa w jej działaniu.
Rys. 22.Warstwy modelu OSI przy protokole CSMA/CD.
Podstawową charakterystyką efektywności rywalizacyjnych protokołów dostępu jest zależność ilości S skutecznie przesłanych informacji w funkcji ilości G informacji zleconej do przesłania (łącznie z retransmisjami wywołanymi przez kolizje). Zależności dla podstawowych protokołów rywalizacyjnych przedstawia wykres.
W normie ISO 8802.3 (CSMA/CD) przyjęto następujące założenia:
każda aktywna stacja prowadzi w sposób ciągły nasłuch łącza, rejestrując chwile, gdy z punktu widzenia stacji jest ono zajęte, trwa strefa buforowa (pewien odcinek czasu po ustaniu zajętości łącza) lub staje się ono wolne. Łącze jest uznawane za zajęte, jeśli odbiornik stwierdza obecność sygnałów dowodzonych aktywności jednego lub wielu nadajników;
stacja może nadawać tylko wówczas, gdy łącze jest wolne; gdy tak nie jest to odkłada się rozpoczęcie nadawania do końca strefy buforowej. Istnienie strefy buforowej ułatwia takie zaimplementowanie strony odbierającej, aby była ona zdolna do przyjmowania kolejnych ramek. W normie podano tylko minimalną długość strefy buforowej - w konkretnych rozwiązaniach możliwe jest jej wydłużenie;
pierwsza próba nadawania ramki jest podejmowana po otrzymaniu przez podwarstwę dostępu odpowiedniego żądania, a ewentualne dalsze próby zgodnie z niżej opisanymi założeniami. W sytuacji, w której spełniony jest warunek b), ale po rozpoczęciu nadawania w ramach i-tej próby zostaje wykryta kolizja, po okresie wymuszenia kolizji stacja zawiesza swą aktywność na czas ti po czym ponownie podejmuje próbę nadawania;
stacja prócz pierwszej próby podejmuje co najwyżej 15 prób dodatkowych, a jeśli żadna z nich się nie powiedzie, to przerywa działanie i sygnalizuje ten fakt obiektowi warstwy wyższej, który zgłosił żądanie transmisji. Może on po pewnym czasie zgłosić ponowne żądanie tej samej ramki, ale będzie to traktowane jako zupełnie nowe zgłoszenie. Odrzucenie żądania transmisji danych po kilkunastu kolizjach, a więc w warunkach przeciążenia sieci, stanowi dodatkową ochronę przed utratą stabilności sieci;
czas ti jest wyznaczony z zależności ti=riS, przy czym ri jest liczbą losową z przedziału <0; 2k-1>, k=min{i,10}, a S jest wartością tzw. szczeliny czasowej. Jak widać preferowani są ci uczestnicy kolizji, którzy zrealizowali mniejszą liczbę prób dostępu;
szczelina czasowa jest umowną wielkością wyznaczoną jako podwojony maksymalny czas propagacji sygnału, powiększony o czas niezbędny do wykrycia i wymuszenia kolizji; określa zarazem minimalną długość ramki podwarstwy dostępu (bez preambuły);
Algorytm wysłania ramki w metodzie CSMA/CD:
Dla podstawowego wariantu normy ISO 8802.3 dostosowanego do szybkości transmisji 10 Mb/s obowiązują następujące dane liczbowe:
strefa buforowa 9,6 ms
szerokość szczeliny czasowej 51,2 s
czas wymuszania kolizji 3,2 s
Przedstawiony protokół dostępu ma następujące zalety:
wszystkie stacje są całkowicie równouprawnione;
protokół jest bardzo prosty i nie wymaga wymiany ramek między stacjami o charakterze czysto organizacyjnym;
dołączenie nowych stacji bądź wyłączenie stacji aktywnych nie wymaga żadnych specjalnych działań;
niektóre zakłócenia mogą być traktowane jako kolizje - następuje wówczas natychmiastowe powtórzenie transmisji;
żądanie nadawania przy wolnym łączu jest natychmiast realizowane;
Jako wadę można uznać konieczność wyposażenia warstwy fizycznej w niezawodnie działające układy rozpoznawania kolizji. Podstawową wadą jest jednak nieograniczony czas (związany z możliwością odrzucenia żądania transmisji po 16 próbach) oczekiwania na dostęp do łącza. Przy typowo obserwowanej długości ramek oraz przy obciążeniu sieci rzędu 40%-50% średni czas oczekiwania na dostęp jest niewielki (rzędu 0,5 ms), jednak czasy oczekiwania poszczególnych zgłoszeń są znacznie zróżnicowane.
Stosowanie tej metody dostępu nie jest zalecane dla sieci, w których odbywa się transmisja głosu lub w systemach sterowania w czasie rzeczywistym, tym bardziej, że w wersji podstawowej nie ma uwzględnionej możliwości priorytetowania wiadomości.
Modyfikacje i rozszerzenia rywalizacyjnych reguł dostępu.
Dążono do tego by zlikwidować wady tych reguł dostępu, a przede wszystkim do ograniczenia czasu oczekiwania i wprowadzenia priorytetu wiadomości. Zmierzano do tego, by w sytuacji, gdy łącze jest wolne stacje mogły zająć je według zasad CSMA/CD, a w przypadku wystąpienia kolizji, żeby opóźnienie nie było generowane losowo lecz w inny sposób. Jednym z rozwiązań było wydzielenie po kolizji ciągu szczelin, których liczba odpowiadała maksymalnej liczbie stacji w sieci. Stacja biorąca udział w kolizji mogła rozpocząć nadawanie w szczelinie o numerze odpowiadającym jej adresowi, o ile tylko żadna stacja nie podjęła nadawania we wcześniejszej szczelinie. Po zakończeniu tak rozpoczętej transmisji następuje ponowne odliczanie ciągu szczelin. Można przyjąć zasadę, iż dopóki wszyscy uczestnicy pierwotnej kolizji nie nadadzą swoich ramek, dopóty nowe stacje nie włączą się do rywalizacji Dzięki temu uzyskamy gwarantowane ograniczenie czasu oczekiwania na dostęp. W podobny sposób można wprowadzić priorytety nadawania. Każda stacja może rozpocząć nadawanie w szczelinie określonej adresem i priorytetem ramki. Wadą tego rozwiązania jest duże opóźnienie czasowe. Jak już wspomniano szczeliny muszą mieć co najmniej długość maksymalnego czasu propagacji sygnału, co w połączeniu z liczbą stacji i ewentualnie priorytetów daje dużą wartość. Istnieją jednak metody pozwalające na rozwiązanie i tej niedogodności.
Odmianą metody CSMA/CD jest metoda CSMA/CA (Collision Avoidance). Stacje są tutaj w stanie przewidzieć wystąpienie kolizji i wstrzymują się z transmisją aż do chwili, gdy uznają, że kolizja nie wystąpi. Metoda ta jest tańsza w implementacji, gdyż nie wymaga stosowania układów do wykrywania kolizji. Powoduje jednak większe opóźnienia i zmniejsza przepustowość sieci.
Metoda przekazywania uprawnienia w magistrali, drzewie i gwieździe.
Istotą tej metody dostępu (token passing) jest wprowadzenie pojęcia uprawnienia, znacznika (token), które krąży między zainteresowanymi stacjami. Aktualny posiadacz uprawnienia przejmuje całkowitą kontrolę łącza, w szczególności tylko on ma prawo do nadawania. Posiadanie uprawnienia jest okresowe, po ograniczonym czasie (będącym parametrem protokołu) stacja musi go przekazać. Każda stacja zna poprzednika, od którego otrzymuje uprawnienie oraz następnika, któremu to uprawnienie przesyła. Ciąg poprzednik-następnik tworzy tzw. pierścień logiczny definiujący kolejność obiegu uprawnienia. Jest to kolejność całkowicie dowolna, nie związana z geometrycznym rozmieszczeniem stacji ani z ich adresami.
Zróżnicowanie zapotrzebowanie stacji na nadawanie można zaspokoić przez zróżnicowanie dopuszczalnego czasu posiadania uprawnienia lub też przez włączenie niektórych stacji kilkakrotnie w pierścień logiczny. Np. w sieci o ośmiu stacjach uprawnienia mogłyby krążyć w pierścieniu logicznym o postaci: ..., 1, 8, 2, 1, 3, 7, 1, 8, 4, 1, 5, 6, 1, 8, 2, ... Taki pierścień wymaga jednak pamiętania w każdej stacji zbioru następników i poprzedników wraz z regułą wyboru w tym zbiorze aktualnego partnera.
Uprawnienie jest specjalną kombinacją bitów, nadawaną zwykle we właściwym polu odebranej ramki organizacyjnej.
Przedstawiony protokół jest bardzo prosty w sytuacji normalnego działania ustalonego zbioru stacji; zapewnia on wówczas ograniczony deterministycznie czas obiegu pierścienia logicznego przez znacznik, a więc ograniczony czas oczekiwania na dostęp do łącza. Niestety, dla reguły dostępu z przekazywaniem uprawnienia należy też rozważyć liczne sytuacje specjalne wymagające dość złożonych procedur obsługi, np. awaryjne wyłączenie stacji, chęć dołączenia nowej stacji, zgubienie uprawnienia, pojawienie się zwielokrotnionego uprawnienia. Postępowanie w tych sytuacjach może być zróżnicowane.
rutynowe wyłączenie stacji X z pierścienia logicznego - w czasie posiadania znacznika, przy użyciu specjalnej ramki organizacyjnej należy przekazać poprzednikowi stacji X aktualny adres następnika X, jako obowiązujący adres następnika. Potem należy przekazać uprawnienie swemu następnikowi i przy kolejnym obiegu stacja X będzie wyłączona z pierścienia;
odtworzenie pierścienia po uszkodzeniu stacji X - każda stacja po przekazaniu uprawnienia prowadzi nasłuch, mający na celu stwierdzenie czy następnik podjął nadawanie (każda stacja po otrzymaniu uprawnienia musi podjąć nadawanie ramki informacyjnej lub organizacyjnej). W przypadku awarii stacji X poprzednik stwierdzi brak jej aktywności i po ustalonym czasie ponownie wyśle uprawnienie. Nie stwierdziwszy aktywności również za drugim razem, nada do wszystkich stacji specjalną ramkę organizacyjną (kto jest następnikiem stacji X?), uprawniającą odbierającego do wysłania odpowiedzi. Otrzymanie odpowiedzi pozwala natychmiast odbudować pierścień logiczny, a brak odpowiedzi, możliwy przy wyłączeniu dwóch stacji, wymaga odbudowy pierścienia na innych zasadach;
dołączenie nowych stacji - aby to umożliwić, niektóre z aktywnych stacji inicjują od czasu do czasu pytanie o chęć przyłączenia do pierścienia. Zapytanie to obejmuje każdorazowo stacje o pewnym zakresie adresów. Jeśli zgłasza się jedna taka stacja, to zostaje ona włączona do pierścienia. Zainteresowane stacje opóźniają udzielenie odpowiedzi o kwant czasu określony przez dwa ostatnie bity adresu. Gdyby przypadkowo były one jednakowe i nastąpiła kolizja, to przy następnej próbie bierze się pod uwagę kolejne dwa bity, a ponieważ adresy są różne, więc w końcu musi nastąpić rozstrzygnięcie;
powielenie uprawnienia - przy normalnym działaniu omawianej reguły dostępu nie może wystąpić kolizja, dlatego stacje nie są wyposażone w układy umożliwiające jej wykrywanie. Może się jednak zdarzyć, że więcej niż jedna stacja będzie posiadała uprawnienie (np. przez zakłócenia). Jeśli posiadacz uprawnienia stwierdzi istnienie innego uprawnienia w sieci, to bezzwłocznie likwiduje posiadane przez siebie uprawnienie. Gdyby w wyniku tej procedury zagubiły się wszystkie uprawnienia w sieci to stacje muszą przystąpić do konfigurowania pierścienia logicznego od początku;
natychmiastowe potwierdzenie lub odpowiedź - protokół ten umożliwia posiadaczowi uprawnienia przesłanie ramki informacyjnej do wybranej stacji, z udzieleniem adresatowi prawa do natychmiastowej reakcji (np. potwierdzenie odbioru ramki). Następuje tutaj „wypożyczenie” znacznika na krótki czas, nie przekraczający limitu posiadania uprawnienia;
priorytet wiadomości - protokół dostępu ISO 8802.4 umożliwia uwzględnienia czterech poziomów priorytetu wiadomości, oznaczonych jako klasa 6 (najwyższy priorytet), 4, 2 i 0. Każda stacja może mieć gotowe do wysłania ramki wielu klas. Dla klasy 6 jest określony maksymalny czas posiadania uprawnienia (THT - Token Holding Time). Dla pozostałych klas są zadane wartości czasu obiegu uprawnienia (TRT - Token Rotation Time). Gdy stacja X otrzymuje znacznik, to może nadawać nie dłużej niż THT w klasie 6. Jeśli nie ma ramek klasy 6 lub skończono ich nadawanie, to stacja może przystąpić do nadawania ramek klasy 4, o ile od oddania uprawnienia przez stację X w poprzednim obiegu nie upłynął czas większy niż TRT4, i kontynuować nadawanie w klasie 4, aż do osiągnięcia tej granicy. Podobnie, po zakończeniu lub przerwaniu nadawania w klasie 4, kolejno porównuje się czas obiegu uprawnienia z wartościami TRT2 oraz TRT0, umożliwiając nadawanie w tych klasach. Osiąga się tutaj jawne ograniczenie na czas obiegu uprawnienia oraz zapewnia się wymaganą przepustowość dla informacji o najwyższym priorytecie bez względu na transmisję informacji o niższych priorytetach;
Podstawowymi zaletami tej metody dostępu są: gwarantowany w warunkach normalnej pracy czas oczekiwania na dostęp, uwzględnienie priorytetu wiadomości oraz przepustowość w transmisji informacji priorytetowej.
Norma ISO 8802.4 pozostawia swobodę wyboru wielu parametrów (np. czas posiadania i czas rotacji znacznika), które muszą być ustalone dla konkretnej konfiguracji, a następnie respektowane w każdej ze stacji.
Do wad należą: długi (w porównaniu z CSMA/CD) czas oczekiwania na dostęp w przypadku małego obciążenia sieci, nieefektywne wykorzystanie łącza przy ruchu niesymetrycznym: gdy nadaje jedna lub kilka stacji to nadawanie jest im przerywane i znacznik obiega bezczynne stacje.
Przekazywanie uprawnienia w pierścieniu.
Specyfika konfiguracji pierścieniowej jeśli chodzi o metody dostępu do łącza sprowadza się do dwóch faktów:
ponieważ każda stacja dokonuje retransmisji wszystkich ramek krążących w pierścieniu, więc istnieje możliwość bieżącego dokonywania w czasie retransmisji modyfikacji pewnych bitów w polach organizacyjnych ramek dla celów algorytmu dostępu;
wprowadzona do pierścienia informacja krąży do chwili jawnego jej usunięcia przez którąś ze stacji i algorytm dostępu musi określić warunki oraz stację odpowiedzialną za usunięcie ramki;
Ogólna idea tego protokołu dostępu (token ring) jest identyczna jako w przypadku konfiguracji magistrali. W przypadku pierścienia taka reguła dostępu jest bardzo naturalna. W stanie bezczynności znacznik - krótka ramka - krąży między stacjami. Gdy trafi do stacji, która chce rozpocząć nadawanie, zostaje przez nią oznaczony jako zajęty, a ramka znacznika jest przekształcona w ramkę informacyjną. Długość ramki może przekroczyć pojemność pierścienia, tzn. początek ramki z symbolem zajętego uprawnienia może powrócić do stacji nadającej zanim zakończy ona nadawanie ramki. Ponieważ w pierścieniu krąży tylko jedna ramka to naturalne i łatwe jest jej usuwanie przez nadawcę. Po zakończeniu nadawania ramki i ewentualnie powrocie zajętego uprawnienia - gdy ramka była krótsza niż pojemność pierścienia, stacja wysyła wolne uprawnienie.
Można sobie również wyobrazić przypadek z kilkoma krążącymi uprawnieniami, jednak ze względu na skomplikowane zarządzanie metoda ta jest rzadziej stosowana.
W normie ISO 8802.5 przyjęto zaakceptowano rozwiązanie ze stacją nadzorującą pracę sieci (monitor sieci - pełni funkcje zarządzające, jest to stacja wytypowana przy konfiguracji pierścienia, w przypadku jej wyłączenia jej zadania przejmuje inna stacja, wytypowana na podstawie odpowiedniej procedury), z potwierdzeniem odbioru informacji z ramki oraz z priorytetem wiadomości. Jeden bit w ramce oznacza, że znacznik jest wolny (zajęty), trzy inne są przeznaczone priorytet uprawnienia. Wolne uprawnienie może być przejęte przez stację, posiadającą ramkę o priorytecie nie niższym niż aktualny priorytet uprawnienia. Zarówno uprawnienie zajęte jak i wolne o podwyższonym priorytecie powinno wykonać nie więcej niż jeden obieg pierścienia.
Omawiana metoda dostępu gwarantuje poszczególnym stacjom wymaganą część przepustowości łącza przy dowolnym obciążeniu. Ze względu na niewielkie opóźnienie wnoszone przez poszczególne stacje obieg wolnego uprawnienia jest dość szybki, a więc czas oczekiwania na dostęp przy wolnym łączu - niewielki.
Dostęp na zasadzie wirujących tacek.
Ta zasada dostępu (slotted ring) przewiduje krążenie w pierścieniu kilku tzw. tacek o określonej pojemności, rzędu dziesiątek bitów. Jeden z pierwszych bitów wskazuje czy tacka jest wolna, czy zajęta. Stacja, chcąca rozpocząć nadawanie może zapełnić najbliższą tackę pustą miniramką o ustalonym formacie. Ponieważ liczba tacek jest ściśle określona i znana, więc nadawanie nadawca może łatwo zrealizować zwolnienie tacki (przez przestawienie odpowiedniego bitu) po wykonaniu pełnego obiegu. Poszczególne stacje wnoszą małe, kilkubitowe opóźnienie.
Charakterystyczną cechą omawianego protokołu dostępu jest podział właściwej ramki na ciąg miniramek ekspediowanych kolejno. Ponieważ na łączu miniramki się przeplatają - wysyłane przez różnych nadawców - więc stacja odbierająca musi być zdolna do odpowiedniego uszeregowania nadchodzących miniramek na podstawie adresu nadawcy. W szczególności stacja odbierająca może nastawić się w danym przedziale czasu na miniramki wyłącznie od jednego nadawcy. Szersze rozpowszechnienie zyskała sobie jedna z realizacji technicznych sieci z dostępem na tej zasadzie, tzw. sieć Cambridge Ring. Na jej podstawie powstała norma ISO 8802.7. W normie tej dopuszczono alternatywnie kilka rozmiarów miniramki: 40, 56, 72 lub 88 bitów. Liczba miniramek oddzielonych od siebie znacznikiem w postaci ciągu kilku zer jest parametrem zależnym od rozmiarów pierścienia. Kontrola poprawności miniramki odbywa się poprzez odpowiednie ustawienie bitu kontrolnego, tak aby liczba bitów w ramce była parzysta. Na podstawie odpowiednich bitów w miniramce nadawca może stwierdzić co odbiorca uczynił z miniramką (odbiorca zajęty, ustawił możliwość odbioru od innego nadawcy lub, że wartość miniramki przyjął). Specjalny, organizacyjny bit monitorowania jest początkowo ustawiony przez nadawcę na 0. Ponowne przejście ramki przez stację monitorującą, ze zmienioną wartością tego bitu powoduje jej zwolnienie.
Pozytywną cechą tego algorytmu dostępu jest prostota realizacji. Dzięki przyjęciu zasady, iż zwolniona przez stację miniramka nie może być natychmiast ponownie zajęta przez tę samą stację, uzyskuje się równouprawnienie stacji. Czas oczekiwania na dostęp do łącza jest ściśle ograniczony i raczej niewielki. Czas przejścia przez łącze ramek krótkich jest bardzo mały. Podstawową wadą tego protokołu jest niewielki stopień wykorzystania łącza, wynikający ze znacznego udziału bitów organizacyjnych w miniramce (np. 24 bity organizacyjne na 40 bitów miniramki).
Dostęp z użyciem buforów opóźniających.
Zasada działania tego protokołu dostępu zostanie omówiona na przykładzie rysunku.
Każdy nadajnik i odbiornik wyposażony jest w dwa rejestry A i B o długości nie mniejszej niż maksymalna dopuszczalna w sieci długość ramki. Informacja odbierana z linii może być wpisywana do dowolnej ustalonej przez wskaźnik zapełnienia W pozycji rejestru przesuwającego A, zawartość prawej skrajnej pozycji tego rejestru może być z kolei nadawana w linię. W rejestrze B kompletuje się ramkę, którą stacja ma wysłać. Zawartość tego rejestru może być przepisywana równolegle do rejestru A z przesunięciem wynikającym ze wskaźnika W. Przy łączu wolnym wskaźnik W jest ustawiany w prawym skrajnym położeniu. Nadanie własnej ramki jest wówczas realizowane przez przepisanie jej z rejestru B do rejestru A, z odpowiednim przesunięciem wskaźnika W, po czym uruchamia się nadajnik oraz działanie rejestru przesuwającego. Gdyby z linii odbiorczej nadeszła inna ramka, to będzie ona zapisywana do rejestru A i nadana z odpowiednim opóźnieniem. Jak widać przy takiej metodzie wprowadzania ramek do w pierścieniu może znaleźć się ich równocześnie wiele. W skrajnym przypadku, gdyby wszystkie stacje podjęły próbę nadawania, liczba ramek mogłaby być równa liczbie aktywnych stacji.
Ponieważ liczba ramek jest zmienna, więc do podjęcia decyzji o usunięciu ramki jest konieczna analiza adresu i każda stacja musi wnosić opóźnienie pozwalające na taką analizę. Oznacza to, że w przypadku rozpoczęcia odbioru do pustego rejestru A jest on najpierw bez nadawania zapełniany aż do rozpoznania adresu, a dopiero po tym uruchamia się albo proces nadawania, albo usuwania już wprowadzonych i napływających z linii informacji. Proponuje się tutaj usuwanie ramek przez adresata, aby zminimalizować odcinek łącza, przez który każda ramka jest rzeczywiście przesyłana.
Użycie buforów opóźniających ma następujące zalety. Dopuszcza możliwość wykorzystania przez jedną stację całej przepustowości łącza, jeśli inne stacje nie transmitują. Do efektywnego wykorzystania łącza przyczynia się też, wymuszany przez rejestry opóźniające efekt łączenia przerw między ramkami. Wyposażając stacje w rejestry A dłuższe niż maksymalna wielkość ramki i pozwalając im korzystać z tego wydłużenia tylko w celu nadania ramki o wyższym priorytecie, można wprowadzić priorytet wiadomości.
Wadą tej metody jest możliwość powstania dużych opóźnień przy przesyłaniu ramki, jeśli np. musiałaby ona w każdej stacji, przez którą przechodzi, odczekać czas nadania pełnej ramki własnej. Niemniej jednak czas transmisji pozostałby ograniczony.
Metoda dostępu z priorytetowaniem.
Metoda ta została objęta normą ISO 8802.12. Metoda dostępu z priorytetowaniem (Demand Priority Access Method) jest nową metodą używaną w szybszych sieciach. Pojedyncze stacje nie decydują samodzielnie, kiedy powinny korzystać z łącza - decyzję o tym podejmuje centralny hub. Stacje robocze proszą o pozwolenie na transmisję danych zgodnie z przydzielonymi im priorytetami, a hub przepuszcza jako pierwsze dane o najwyższym priorytecie. Jeśli dotrą jednocześnie dwa żądania o takim samym priorytecie to przechodzą ona na przemian przez hub. Transmisja przebiega wyłącznie między nadawcą i odbiorcą. Przy wykorzystaniu tej metody stacje robocze mogą jednocześnie nadawać i odbierać dane. Uzyskuje się to dzięki wykorzystaniu czterech par kabli.
Odpytywanie.
Odpytywanie (polling) wymaga inteligentnego urządzenia centralnego - huba. Hub komunikuje się w określonej kolejności z każdą stacją roboczą. Jeśli jakaś stacja chce przekazać żądanie nadania, to zostanie ono wysłane do sieci przy najbliższym cyklu odpytywania tej stacji. Jeśli stacja nie ma żadnych żądań to hub przechodzi do odpytywania następnej stacji. Stacja uzyskuje dostęp do sieci tylko wtedy, gdy jest odpytywana.
Efektywność podstawowych metod.
Wskaźników efektywności można wprowadzić wiele. Ze względów ekonomicznych istotny jest stopień wykorzystania zasobu, z punktu widzenia użytkownika za najważniejszą charakterystykę uważa się zwykle czas oczekiwania na dostęp do zasobu, z uwzględnieniem nie tylko wartości średniej tego parametru, lecz także możliwych wahań jego wielkości wraz z ewentualnymi ograniczeniami.
Na charakterystyki efektywności wpływa wiele parametrów, takich jak: liczba aktywnych stacji, długość ramek, czas propagacji sygnału w łączu, symetria lub asymetria w ruchu sieciowym.
Poniżej przedstawiono typowe orientacyjne szkice charakteryzujące wartość średniego czasu przejścia ramki przez sieć (oczekiwanie na dostęp łącznie z transmisją) w zależności od obciążenia sieci (stosunek ilości informacji zleconej do przesłania w jednostce czasu do szybkości transmisji w łączu).
W praktyce w najistotniejszym obszarze niewielkich obciążeń różnice czasu przejścia są niewielkie i tak rozumiane względy efektywnościowe nie mają zwykle istotnego wpływu na wybór protokołu dostępu.
Ethernet.
Ethernet, jako system budowy sieci opracowany został przez firmę Xerox, ale do poziomu standardu podniosła go współpraca trzech firm: Xerox, DEC i Intel. Standard IEEE. 802.3 określa podobny typ sieci, ale różniący się formatem ramki.
Ethernet posiada przepustowość 10 Mbit/s (wyjątek stanowi odmiana Ethernetu: 10Base5 oraz nowsze rozwiązania) i wykorzystuje metodę dostępu CSMA/CD. Do pojedynczej sieci lokalnej można podłączyć do 8000 stacji roboczych. Podstawowe odmiany Ethernetu to:
10Base-5 - przewód koncentryczny, maksymalna długość segmentu - 500 m, wykorzystuje metodę transmisji w paśmie podstawowym;
10Base-2 - przewód koncentryczny, maksymalna długość segmentu - 185 m, transmisja w paśmie podstawowym;
10Base-T - skrętka o maksymalnej długości segmentu 100m;
10Broad36 - przewód koncentryczny, maksymalna długość segmentu 3600 m, wykorzystuje metodę transmisji w paśmie rozszerzonym;
10BaseF - obsługuje światłowodową sieć szkieletową o długości do 4 km i prędkości transmisji 10 Mbit/s;
100Base-X - nowy standard Ethernet zapewniający przepustowość 100 Mbit/s, wykorzystuje skrętkę;
100VG-AnyLAN - przepustowość 100 Mbit/s, wykorzystuje metodę dostępu z priorytetem na żądanie;
W przypadkach, kiedy wykorzystywany jest przewód koncentryczny, stacje robocze łączy się w szereg (magistrala). Segmenty przyłącza się tak jak to pokazano na rysunku:
Wersja 10Base-T skonfigurowana jest w topologii gwiazdy, gdzie do każdej stacji biegnie oddzielny przewód od centralnego huba.
Kolizje są zasadniczym powodem limitowania długości magistrali. Przy większych długościach pojawia się opóźnienie związane z propagacją sygnału, w efekcie czego przestaje prawidłowo działać mechanizm wykrywania kolizji.
Segmentacja sieci Ethernet polega na podziale sieci na dwie lub więcej części, co poprawia wydajność sieci. Do łączenia poszczególnych sieci służą mosty i routery. Możliwa jest organizacja, w której użytkownicy korzystają z własnych segmentów (np. w przypadku transmisji video).
Huby przełączające pozwalają na rozwinięcie koncepcji segmentacji (mikrosegmentacja). Nawet pojedyncza stacja robocza może mieć wyłączny dostęp do serwera lub innego urządzenia.
Huby przełączające są, jak to pokazano na rysunku, urządzeniami zapewniającymi przełączanie macierzowe z krótkim czasem oczekiwania.
Wiele z nich posiada ponadto szybkie połączenia z superserwerami (światłowodowe), które umożliwiają pełne wykorzystanie możliwości takich serwerów. Szybkości sieci Ethernet są zbyt małe w porównaniu z szybkościami transmisji danych z serwera. Przyłączenie superserwera do sieci Ethernet bez szybkich połączeń byłoby marnotrawstwem.
Formaty ramek.
Ramka określa strukturę przesyłanego pakietu danych. Określona jest w niej pozycja nagłówka, bitów danych oraz wypełnienia pakietu. Rozeznanie w typach ramek jest ważne przy monitorowaniu pracy w sieci.
W sieciach Ethernet funkcjonują 4 typy ramek:
Ethernet II - oryginalna ramka Ethernetu, przydziela pakietowi unikalny nagłówek;
Ethernet 802.3 - typ ramki używany najczęściej w sieciach Novell;
Ethernet 802.2 - standardowy typ ramki dla sieci Novell 4.x;
Na rysunku poniżej przedstawiono struktury oryginalnej ramki Ethernet i ramki Ethernet
Poszczególne pola mają następujące znaczenie:
PR - nagłówek (preambuła) - pole sygnalizujące początek ramki (101010...);
SFD (Start Frame Delimiter) - znacznik początku ramki (10101011);
DA (Destination Address) - adres docelowy;
SA (Source Address) - adres Ÿród³owy;
LE (Length)- długość segmentu danych w ramce;
Data - transmitowane dane;
PAD - uzupełnienie pola Data w celu zapewnienia minimalnej długości ramki;
FCS - suma kontrolna dla pakietu;
Ethernet 10Base-5 (Thick Ethernet).
10Base-5 utożsamiany jest często ze standardem Ethernet w ogóle, ponieważ był jego pierwszą implementacją. Rysunek poniżej przedstawia strukturę okablowania z grubym przewodem koncentrycznym.
Kabel główny jest specjalnym sztywnym kablem współosiowym, który w jednym segmencie (bez regeneratorów) może osiągnąć 500 m. Każda stacja robocza dołączona jest do magistrali za pomocą transceiver'a (przyłącza) i kabla przyłączeniowego. Transceiver jest elementem mocowanym na grubym kablu Ethernet. Posiada trzy złącza: wejście i wyjście kabla magistrali oraz odgałęzienie do stacji roboczej. Transceiver nie jest typowym rozgałęźnikiem BNC - zapewnia fizyczne oddzielenie stacji roboczej od kabla sieciowego. Kabel przyłączeniowy na ogół stanowi komplet z transceiver'em i jest bardziej elastyczny od kabla magistrali. Okablowanie magistrali grubego Ethernetu stanowi 50-omowy przewód koncentryczny o średnicy 1 cm. Maksymalna odległość stacji roboczej od transceiver'a wynosi 50 m. Minimalna odległość pomiędzy transceiver'ami wynosi 2,5 m. Można połączyć do pięciu segmentów magistrali, używając czterech repeater'ów, przy czym stacje robocze mogą być włączone do trzech segmentów, pozostałe służą do przedłużenia sieci. Do magistrali można podłączyć maksimum 100 stacji roboczych (repeater jest liczony jako stacja). Na obu końcach każdego segmentu musi znajdować się 50-omowy terminator.
Obecnie 10Base-5 przestaje być stosowany.
Ethernet 10Base-2 (Thin Ethernet).
Koncentryczny cienki kabel Ethernet jest łatwiejszy w obsłudze od grubego przewodu Ethernet i nie wymaga transceiver'a przy stacji roboczej. Jest również tańszy, ale zastosowanie go zmniejsza maksymalną długość magistrali. Sieć Ethernet 10Base-T wygląda jak pokazano na rysunku:
Jako cienki przewód Ethernet używany jest przewód koncentryczny o średnicy 5 mm. Maksymalna długość odcinka magistrali wynosi 186 m. Przewód do karty sieciowej przyłącza się za pomocą rozgałęźnika (T-connector). Można połączyć do pięciu segmentów magistrali, używając czterech repeater'ów, przy czym stacje robocze mogą być włączone do trzech segmentów, pozostałe służą do przedłużenia sieci. Maksymalna długość magistrali wynosi 910 m. Do jednej magistrali można dołączyć najwyżej 30 odgałęzień (również: repeatery, mosty, routery i serwery). Całkowita liczba odgałęzień we wszystkich segmentach sieci nie może przekroczyć 1024. Na każdym końcu magistrali należy przyłączyć termiantor.
Możliwe jest łączenie systemów z cienkim i grubym przewodem. Łączenie kabla cienkiego z grubym możliwe jest za pomocą adaptera BNC-N. Segment kombinowany z przewodu grubego i cienkiego ma na ogół długość 182-492m. Następująca zależność pozwala na wyliczenie dopuszczalnej długości kabla cienkiego w kombinowanym segmencie magistrali: t=(492-L)/3,28, gdzie L jest długością budowanego segmentu sieci.
Ethernet 10Broad36 (Broadband Ethernet).
Nawet w przypadku rozbudowanej konfiguracji Ethernet występują istotne ograniczenia. Pojawiła się więc idea wykorzystania transmisji szerokopasmowej. Transmisja szerokopasmowa wymaga użycia innego typu kabla współosiowego (o impedancji 50 omów). Między stacją a kablem głównym może znajdować się kabel przyłączeniowy o długości do 25 m. Odległość od remodulatora do przyłącza najbardziej oddalonej stacji może wynieść 1800 m. Według zaleceń normy można rozmieścić stacje w konfiguracji drzewiastej na powierzchni koła o średnicy 3600 m (liczonej wzdłuż kabla głównego), a licząc z kablem dystansowym i przyłączeniowym 3750 m.
Ethernet 10Base-T.
10Base-T posiada większość zalet Ethernetu bez konieczności ponoszenia kosztów kabla koncentrycznego. Ponadto umożliwia zastosowanie gwiazdowej lub rozproszonej topologii sieci.
Część specyfikacji 10Base-T jest kompatybilna z innymi standardami IEEE 802.3. Nie ma potrzeby wymiany kart sieciowych przy przechodzeniu z kabla koncentrycznego na skrętkę. Możliwe jest rozbudowywania istniejącej magistrali o segmenty skrętkowe, dzięki zastosowaniu repeaterów obsługujących zarówno kable koncentryczne i światłowodowe jak i skrętkowe.
Specyfikacja 10Base-T obejmuje testowanie ciągłości łącza. Polega ona na permanentnym sprawdzaniu przez system, czy w kablu nie wystąpiła przerwa lub zwarcie. Odbywa się to centralnie. Zasadę budowy sieci 10Base-T pokazano na rysunku.
Stacje robocze podłączone są do centralnego huba lub koncentratora, który pracuje jako repeater. Po nadejściu sygnału od stacji roboczej hub rozprowadza go do wszystkich linii wyjściowych. Stacje robocze przyłącza się za pomocą nieekranowanej skrętki o długości do 100 m. Przewód przechodzi do transceiver'a, który jest połączony ze stacją roboczą za pomocą o długości do 50 m. Do huba przyłącza się typowo 12 stacji. Konfigurację można rozszerzyć przez hierarchiczne połączenie hubów. Można połączyć do 1024 stacji.
Ethernet 100Base-X i 100VG-AnyLAN (Voice Grade).
Są nowymi odmianami Ethernetu. Zapewniają wysoką prędkość transmisji (100 Mbit/s). Realizacja takich parametrów stała się koniecznością ze względu na aplikacje obsługujących multimedia, video w czasie rzeczywistym i obróbkę obrazów.
100VG-AnyLAN bazuje na technologii opracowanej przez AT&T i Hewlett Packard, a obecnie pilotowanej przez komitet 802.12 IEEE. Standard ten wykorzystuje skrętkę czteroprzewodową. Wprowadzono w nim także nową metodę dostępu na żądanie, która zastąpiła dotąd używaną metodę CSMA/CD. Ramka pozostała taka sama. Możliwe jest działanie mostów pomiędzy starszymi standardami Ethernetu a 100VG-AnyLAN. W ślad za koncepcją firmy HP format ramki, a nie protokół CSMA/CD jest czynnikiem decydującym o możliwości współdziałania pomiędzy odmiennymi standardami Ethernetu.
Ponieważ topologie sieci 100VG-AnyLAN i 10Base-T są podobne - karty i wiele innych akcesoriów pozwalają na realizowanie szeregu działań w obu systemach. Do huba 100VG-AnyLAN można przyłączyć zarówno stację pracującą w tym standardzie jak i w 100Base-T. Oprócz formatu ramek, ze starego systemu zachowano zasady obowiązujące w topologii gwiazdy i okablowania strukturalnego. Używane są również takie same łącza jak w 10Base-T. Konieczna okazała się transmisja kwartetowa: podczas gdy 10Base-T wykorzystywał dwie pary przewodów (jedna dla nadawania, jedna dla odbioru), 100VG-AnyLAN używa czterech par. Transmisja kwartetowa odbywa się z tą samą częstotliwością co w 10Base-T, ale sygnał 25 MHz jest przesyłany każdą z czterech par przewodów. Używany w 10Base-T system kodowania Manchester został zastąpiony nowym systemem 5B6B. Zastosowanie niskiej częstotliwości i rozdziału sygnału pomiędzy przewody pozwalają utrzymać emisję zakłóceń radiowych na założonym poziomie, przy wykorzystaniu kabli telefonicznych. 10Base-T przesyła sygnał o częstotliwości 20 MHz, wykorzystując dwie pary przewodów. Długość pojedynczego odcinka przewodu w szybkich sieciach Ethernet jest ograniczona do 100 m, ale zastosowanie w 100VG-AnyLAN innych kabli pozwala na zwiększenie jej do 150 m.
Token Ring.
Jest to standard IEEE 802.5, dotyczący sieci o topologii pierścienia, działających w oparciu o zasadę przekazywania znacznika, przy czym sieć może mieć fizycznie topologię gwiazdy. Standard zaproponowała firma IBM w połowie lat 80-tych, prezentując na rynku sieć o nazwie Token Ring, o szybkości transmisji 4 Mbit/s.
Stacje robocze przyłącza się do koncentratorów nazywanych jednostkami MAU (Multistation Acces Unit). Jednostki MAU mogą być też łączone między sobą w celu utworzenia większych sieci. Koncentrator zawiera w sobie logiczny pierścień.
Każda jednostka MAU dysponuje gniazdami typu ring-in i ring-out. Ponieważ stosuje się kable wielożyłowe, przerwanie jednego kabla powoduje automatyczną rekonfigurację pierścienia. Dodatkowe przewody umożliwiają skierowanie sygnałów w przeciwną stronę, tworząc konfigurację pętli.
Karty sieciowe Token Ring dostępne są w dwóch wersjach: 4 Mbit/s i 16 Mbit/s. Szybsza wersja ma zwiększoną długość ramki. Obecnie wielu dostawców oferuje sieci Token Ring zgodne ze standardem IEEE 802.5. Najczęściej wykorzystuje się w nich nieekranowaną skrętkę i jednostki MAU mające 16 portów. Ponadto niektórzy dostawcy oferują huby dwu- i czteroportowe. Huby te wywodzą się z 8-portowych jednostek MAU i pozwalają na przyłączenie grupy dwu lub więcej stacji. Opracowywane też są jednostki MAU, które zawierają dodatkowe porty i mają możliwość wykrywania błędów oraz pełnią funkcje zarządzające.
Specyfikacja Token Ring dopuszcza stosowanie następujących typów kabli: podwójna ekranowana skrętka, podwójna ekranowana skrętka z czterema parami przewodów nieekranowanych, kabel światłowodowy i inne.
Standardowe komponenty sieci Token Ring:
karty sieciowe Token Ring - 4 Mbit/s i 16 Mbit/s;
jednostki MAU - łączy osiem lub więcej stacji roboczych;
kable adapterów sieciowych Token Ring;
kable przedłużające - pozwalają na zwiększenie odległości między stacją roboczą i jednostką MAU;
złącza;
filtry medium - instalowane przy stacji roboczej, pełnią rolę złącza przejściowego i redukuje szumy linii;
krosownice;
Maksymalna liczba stacji w jednym pierścieniu wynosi 260 (jeśli połączenia wykonywane są kablem ekranowanym) lub 72 (jeśli użyto nieekranowanej skrętki telefonicznej). Maksymalna odległość stacji roboczej od jednostki MAU wynosi 100 m. Określenie maksymalnej długości sieci Token Ring utrudnia jej pierścieniowy charakter. Odległości między hubami (jednostkami MAU) może dochodzić (bez wzmacniaków) do 120-150 m.
W sieci Token Ring wykorzystuje się ramkę:
W porównaniu z ramką Ethernet pojawiły się tu pola:
AC (Access Control) - zawiera informacje o priorytecie ramki i potrzebie zarezerwowania kolejnych ramek, żądanie to jest honorowane przez stacje, które mają niższe priorytety;
FC (Frame Control) - definiuje rodzaj ramki, ramka zawiera albo informacje podwarstwy dostępu (odczytują ją wszystkie stacje w pierścieniu) albo informacje dla konkretnej stacji;
ED (End Delimiter) - wskazuje koniec ramki;
FS (Frame Status) - służy do wskazania czy ramka została rozpoznana przez jedną lub więcej stacji w pierścieniu, czy ramka była kopiowana lub że stacja przeznaczenia nie jest dostępna;
Postać wolnego znacznika:
W sieciach Token Ring stacja otrzymuje w posiadanie znacznik i zmienia w nim jeden bit, przekształcając go w ramkę SFS (Start of Frame Sequence). W znaczniku istnieje też pole, w którym stacja może wskazać żądany priorytet dla transmisji. Priorytet ten informuje inne stacje o zamiarze ponownego wykorzystania znacznika. Pozostałe stacje porównują ten priorytet z własnym. Jeśli priorytet stacji, która wysyła znacznik jest wyższy, honorowane jest jej prawo do znacznika w dłuższym fragmencie czasu. W razie potrzeby priorytet może być zmieniony przez inne stacje.
Stacje robocze, włączone do pierścienia, przekazują pakiety do następnych w kolejności stacji sąsiednich. Każda stacja regeneruje przy tym sygnał, pełniąc rolę repeater'a. Gdy do sieci włącza się nowa stacja, realizowany jest proces rekonfiguracyjny, w którym sprawdza się, czy nie występują takie same adresy stacji i informuje nowe stacje o obecności nowej stacji.
Jednej ze stacji w sieci przypisana jest rola aktywnego monitora. Aktywny monitor śledzi działanie sieci i sprawdza, czy nie występują problemy związane z nieprawidłowościami w obiegu ramek lub czy nie zachodzi potrzeba ominięcia stacji roboczej w MAU z powodu jej awarii. Podstawowym zadaniem aktywnego monitora jest zapewnienie efektywnego i bezbłędnego funkcjonowania sieci. Jeśli aktywny monitor ulegnie awarii jego rolę mogą przejąć inne stacje w sieci. Wybór nowej stacji, będącej monitorem aktywnym, jest dokonywany poprzez transmisję znaczników claim tokens.
Token Bus.
Sieć typu Token Bus jest podobna do sieci Token Ring w tym sensie, że w obu przypadkach stacja może transmitować dane tylko wtedy, gdy jest w posiadaniu znacznika. Jednakże topologia i metoda przekazywania znacznika są odmienne. Standard IEEE 802.4 definiuje standardy Token Bus jako standardy sieci z transmisją szerokopasmową. Sieci Token Bus cechuje topologia magistrali, a do połączenia wykorzystywany jest 75-omowy kabel koncentryczny, stosowany w systemach telewizji kablowej. Kabel wykorzystywany do transmisji szerokopasmowej może być dłuższy, a szybkość transmisji może osiągać wartość 10 Mbit/s.
Znacznik przekazywany jest od jednej stacji do drugiej, w kolejności wyznaczanej przez malejący numery, będące adresami stacji roboczych. Znacznik jest więc przekazywany wzdłuż logicznego pierścienia (ostatnia stacja przekazuje znacznik do pierwszej stacji). Droga przebywana przez znacznik nie musi być zgodna z fizycznym umiejscowieniem stacji w sieci.
Topologia sieci może uwzględniać grupy stacji roboczych, które są połączone za pomocą długich kabli głównych. Stacje te podłączone są do huba, tworząc konfigurację gwiazdy. Cała sieć ma wtedy zarówno topologię magistrali jak i gwiazdy.
Format ramki sieci z protokołem dostępu Token Bus:
Sieć FDDI.
FDDI (Fiber Distributed Data Interface) jest popularnym rodzajem sieci lokalnej, która ma większą przepływność niż Ethernet. FDDI jest standardem dla kabli światłowodowych (najczęściej używa się przewodów wielomodowych). Zapewnia transmisję z szybkością 100 Mbit/s, wykorzystując topologię podwójnego pierścienia. Pozwala na przyłączenie do 500 węzłów przy maksymalnej długości 100 km. Podwójny przeciwbieżny obieg danych zapewnia redundancję informacji, a co za tym idzie - odporność na awarie. W razie uszkodzenia lub zerwania przewodu pierścień rekonfiguruje się automatycznie. Niektóre ze stacji (DAS - Dual Attached Station) przyłączone są do pierścienia dwukrotnie, inne (SAS - Single Attached Station) jeden raz - przez koncentrator.
W sieciach ogólnie dostępnych można się liczyć ze zjawiskiem nasyceniem pasma przenoszenia.
Własności.
Sieć FDDI jest oparta na technice sieci-pierścienia z krążącym znacznikiem o szybkości 100Mb/s mająca własność autokorekcji (self-healing). Jeżeli stacja chce rozpocząć transmisję zabiera znacznik (pochłanianie znacznika) i oddaje go dopiero po zakończeniu transmisji. Specjalny mechanizm nadzoruje aby stacja nie przetrzymywała znacznika zbyt długo. Możliwe jest nadanie przez administratora priorytetów stacjom transmitującym duże ilości danych. Sieć FDDI ma strukturę pętli, w której transmisja zaczyna się z jednego komputera, przebiega przez wszystkie pozostałe i kończy się tam gdzie się zaczęła. Stacja bezpośrednio podłączona do FDDI działa jak repeater. W sieci może być jednocześnie przesyłanych wiele ramek. Jeżeli stacja zwróci znacznik w czasie, gdy ramka ciągle znajduje się w drodze - inna stacja może podjąć transmisję. Mechanizm zarządzający, tzw. zarządzanie stacyjne pozwala administratorowi monitorować sieć FDDI, wydzielać uszkodzone węzły i prowadzić routing.
Rys. 23.Awaria w sieci FDDI
Rys. 24.A
Jedną z ciekawych własności FDDI jest jej zdolność do wykrywania i korygowania błędów - sprzęt jest w stanie automatycznie obsłużyć błędy. Aby to zapewnić osprzęt FDDI używa dwóch przeciwbieżnych pierścieni. Pierścienie FDDI są nazywane przeciwbieżnymi, gdyż w każdym z nich pakiety wędrują w przeciwną stronę. Dopóki nie wystąpi błąd dopóty sieć FDDI nie potrzebuje obydwu pierścieni. Gdy interfejs FDDI wykryje, że nie może się porozumieć z sąsiednim komputerem wykorzystuje drugi pierścień do przesyłania danych. Sprzęt FDDI automatycznie wykorzystuje przeciwbieżny pierścień do utworzenia zamkniętej pętli.
Warstwy FDDI i format ramki.
W FDDI wyróżnia się nieco inne warstwy niż w modelu OSI. Przedstawia to rysunek.
Warstwy modelu FDDI
Logical Link Control |
Sterowanie dostępem do medium - MAC
|
PROTOKÓŁ WARSTWY FIZYCZNEJ
|
WARSTWA FIZYCZNAZALEŻNA OD MEDIUM
|
Pole |
Długość w jed.. 4 bit |
Zawartość |
PA |
4 lub więcej |
Preambuła |
SD |
2 |
Znacznik początku |
FC |
2 |
Kontrola ramki |
DA |
4 lub 12 |
Adres odbiorcy |
SA |
4 lub 12 |
Adres nadawcy |
RI |
0 do 60 |
Inf . o trasowaniu |
DATA |
0 lub więcej |
Dane |
FCS |
8 |
Sekwencja kontrolna |
ED |
1 |
Znacznik końca |
FS |
3 lub więcej |
Status ramki |
Maksymalna długość wynosi 4500 bajtów.
Zaletą jest duży rozmiar ramki. Informacja w nagłówku zajmuje co najwyżej kilkaset bajtów a zatem pojedyncza ramka może zawierać 4kB danych użytkownika.
Podobnie jak w przypadku innych technik, każdy komputer przyłączony do sieci FDDI ma przypisany adres, a każda ramka zawiera pole adresu odbiorcy. Jednak w celu zapewnienia większej elastyczności sieci FDDI i w celu zapewnienia standardowego sposobu połączenia dwóch pierścieni FDDI projektanci zezwolili na stosowanie wielu różnych formatów ramek. Ramka zawiera także krótkie pole związane z wyznaczaniem trasy. Nadawca może użyć tego pola w celu wskazania, że ramkę należy najpierw przesłać do punktu połączenia, a następnie do odbiorcy znajdującego się w innym, przyłączonym pierścieniu.
Tryby transmisji w FDDI.
Właściwości FDDI, określenie przez technikę token passing oraz zmienna długość pakietów nie pozwalają na zachowanie równomierności przesyłu danych, niezbędnej przy przesyłaniu video w czasie rzeczywistym. Problemy te rozwiązuje się różnymi metodami. W FDDI stosuje się obecnie trzy tryby transmisji: asynchroniczny i synchroniczny (stosowane w standardowych rozwiązaniach FDDI) oraz izochroniczny (w FDDI-II).
Połączenie asynchroniczne - pierścień asynchroniczny wykorzystuje technikę przekazywania znacznika który może przejąć dowolna stacja, uzyskując tym samym dostęp do sieci. Zakłada się tutaj brak priorytetów, na czym cierpi transmisja danych uzależnionych od prędkości. Jedną z metod rozwiązania tego problemu jest buforowanie nadchodzących pakietów.
Połączenie synchroniczne - synchroniczny tryb pracy pierścienia z przekazywaniem znacznika pozwala na nadawanie priorytetu danym uzależnionym od prędkości transmisji co pozwala im docierać w odpowiednim wymaganym czasie. Tryb ten wymaga dodatkowych elementów sprzętowych i programowych.
Każdej stacji może być przydzielony czas na transmisję ramek synchronicznych, zwany czasem alokacji synchronicznej. Dla sieci jest definiowany także parametr TTRT (Target Token Rotation Time) - czas przechodzenia znacznika przez pierścień. Uwzględnia się w nim sumę czasów przydzielonych dla każdej stacji na transmisję synchroniczną oraz czas niezbędny do okrążenia pierścienia przez przewidywaną największą ramkę. Stacja rejestruje ile czasu upłynęło od chwili kiedy ostatnio otrzymała znacznik. W chwili ponownego dotarcia znacznika stacja zapisuje, ile czasu upłynęło i może wysyłać ramki przez przypisany jej czas transmisji. Jeśli zarejestrowana ilość czasu jest mniejsza od określonego przez parametr TTRT, to przez pozostały czas stacja może nadawać ramki asynchroniczne.
Połączenia izochroniczne - tryb ten polega na udostępnianiu, w regularnych odstępach czasu, specjalnego kanału komunikacyjnego o ustalonej szerokości pasma.
Relacja między modelem OSI a FDDI.
Najwyższa warstwa FDDI lokuje się w części sterowania dostępem do medium, warstwy łącza. Tuż ponad nią zaznaczono warstwę sterowania łączem logicznym działająca jako most transferujący pakiety pomiędzy siecią Ethernet a Token Ring. Na rysunku zaznaczono standard zarządzania stacjami (SMT) odpowiedzialny za konfigurację pierścienia, inicjalizację, dołączanie i odłączanie stacji oraz prowadzenie diagnostyki.
Obsługa błędów.
Wszystkie stacje w sieci są odpowiedzialne za monitorowanie operacji przekazywania znacznika i inicjowanie działania, jeśli wystąpi błąd. Błąd taki może objawiać się przedłużonym okresem nieaktywności w pierścieniu (co wskazuje na zgubienie znacznika) lub przedłużonym czasem transmisji danych bez znacznika (co wskazuje na nie zakończoną ramkę).
Jeśli stacja wykryje jedną z wymienionych sytuacji, inicjuje procedurę przejmowania znacznika. Stacja wysyła wówczas ciąg ramek kontrolnych, zwanych ramkami roszczeniowymi (claim frames), z których każda zawiera proponowaną wartość współczynnika TTRT. Gdy do tej stacji dotrze ramka wysłana przez inną stację, nastąpi porównanie w nich wartości TTRT. Jeśli wartość ta jest większa od wartości proponowanej przez stację to stacja kontynuuje wysyłanie ramek roszczeniowych. W przeciwnym razie przystąpi do transmisji ramek takich jak otrzymała. Jeśli wartości TTRT są równe to rozstrzygnięcie następuje na podstawie adresów stacji. W ostateczności stacja z najmniejszą wartością TTRT otrzyma ramkę, którą wysłała i wygra proces rywalizacji o znacznik.
W tym momencie rozpoczyna się faktyczne inicjowanie pierścienia. Zwycięska stacja przejmuje znacznik zawierający przez nią wartość TTRT. Pozostałe stacje dowiadują się, że nastąpiło zainicjowanie pierścienia, ponieważ uprzednio otrzymywały zamiast znaczników ramki roszczeniowe. Każda stacja zachowuje ustaloną wartość TTRT, wykonuje procedury inicjujące i przekazuje znacznik do następnej stacji. Ramki będą mogły być wysyłane dopiero wtedy, gdy znacznik okrąży cały pierścień.
Jeśli w sieci wystąpi poważna awaria, np. rozerwanie pierścienia, to zostanie uruchomiona specjalna procedura nawigacyjna. Gdy stacja wysyłająca ramki roszczeniowe stwierdzi, że nie powróciły one po określonym czasie, to uruchomi nową procedurę wysyłającą ciąg ramek nawigacyjnych. Jeśli stacja otrzyma ramki nawigacyjne od innej stacji, to przestaje wysyłać swoje własne i zacznie retransmitować odebrane. Ramki nawigacyjne wysyłane przez stację, znajdującą się zaraz po awarii po przerwie w pierścieniu, przejdą przez wszystkie stacje wskazując w ten sposób przerwę w pierścieniu i umożliwią naprawę awarii. Jeśli do stacji dotrze wysłana przez nią ramka nawigacyjna, to stacja ta uznaje, że pierścień został przywrócony i uruchomi procedurę przejmowania znacznika.
FDDI-II.
Standard ten opracowany został dla sieci, w których przesyłane są sekwencje video w czasie rzeczywistym i inne dane bez opóźnień transmisji. Jeżeli sieć ma pracować jako FDDI-II to wszystkie węzły sieci muszą posiadać odpowiedni interfejs.
FDDI-II dokonuje podziału pasma na specjalne przydzielane kanały. Dzięki technice multipleksowania możliwe jest zagwarantowanie właściwej obsługi ruchu pomiędzy stacjami multimedialnymi. Można stworzyć do 16 kanałów, pozwalających na transmisję z prędkością od 6,144 Mbit/s do 99,072 Mbit/s. Przyczyna takiego rozrzutu tkwi w tym, że szerokość pasma przydziela się określonej stacji zależnie od potrzeb. Każdy z kanałów może zostać jeszcze podzielony, w efekcie czego dostępnych jest 96 oddzielnych strumieni danych (64 Kbit/s). Tak utworzone kanały mogą realizować transmisję w trybie asynchronicznym lub izochorycznym. Przydzielanie kanałów następuje na podstawie priorytetów.
Porównanie LSK |
|||
|
FDDI |
Ethernet |
Token Ring |
Topologia logiczna |
podwójny pierścień |
szyna |
pojedynczy pierścień |
Topologia fizyczna |
półpierścień, gwiazda, gwiazda hierarchiczna |
szyna, gwiazda hierarchiczna |
półpierścień, gwiazda |
Medium |
światłowód, skrętka |
światłowód, skrętka, kabel koncentryczny |
światłowód, skrętka |
Szybkość |
100 Mb/s |
10 Mb/s |
4 lub 16 Mb/s |
Metoda dostępu do medium |
Timed-token passing |
CSMA/CD. |
Token passing |
Przyjęcie znacznika |
pochłonięcie |
- |
zmiana bitu znacznik→ramka |
Zwolnienie znacznika |
po transmisji |
- |
po odbiorze (4) lub po transmisji (16) |
Liczba komunikatów w sieci |
wiele |
pojedyncze |
1 wiele |
Sieć ATM.
ATM powstała w wyniku połączenia technik sieci lokalnych i rozległych. Według obecnych standardów szybkie sieci to takie, które mogą przesyłać dane z szybkością 100Mbit/sek lub większą. Sieci ATM mogą przekazywać dane z szybkością rzędu Gbit/sek Większość komputerów nie jest w stanie generować ani odbierać danych z taką prędkością. Sieci ATM pracują z taką szybkością przesyłając dane generowane przez wiele komputerów.
ATM w pełni wykorzystuje dużą przepustowość światłowodów, pozwalających na osiągnięcie dużych prędkości transmisji. Szybkie implementacje ATM (o prędkościach transmisji 155 Mbit/s i 622 Mbit/s) w systemach telekomunikacyjnych wykorzystują specyfikację SONET. ATM jest w stanie obsługiwać aplikacje działające w czasie rzeczywistym, gdyż dysponuje odpowiednio dużą szerokością pasma, umożliwia zarezerwowanie części pasma dla określonej aplikacji.
ATM jest metodą komutacji pakietów w paśmie rozszerzonym, służącym do przesyłania głosu, obrazu i danych w sieciach LAN, WAN. Jest to metoda typu cell relay, a zatem pakiety danych mają stały rozmiar. Korzystanie z komórek o jednakowych rozmiarach umożliwia przewidywanie wymagań aplikacji na określony zakres pasma i zagwarantowanie im wymaganych szerokości pasma. Pakiety o zmiennej długości mogą powodować opóźnienia w ruchu na przełącznikach.
Przełączniki są bardzo ważnymi elementami sieci ATM. W ramach organizacji mogą działać jak huby szybko przekazujące pakiety z jednego węzła do drugiego; mogą też być wykorzystywane z w rozległych systemach komunikacyjnych do przesłania - z dużą szybkością - komórek ATM pomiędzy odległymi sieciami LAN.
Przełącznik ATM jest prostym przekaźnikiem komórek. Odczytuje nagłówek i natychmiast rozpoczyna dalsze przesyłanie komórki. Wyeliminowano tutaj czasochłonne metody typu przechowaj i prześlij, wykorzystywane przez routery. W typowych sieciach lokalnych, takich jak Ethernet, FDDI, Token-Ring używane jest wspólne medium komunikacyjne, w którym w jednej chwili może nadawać tylko jeden węzeł. Z kolei ATM zapewnia połączenie typu każdy z każdym, a węzły mogą nadawać jednocześnie. Informacja pochodząca z wielu węzłów przekształcana jest w strumień komórek.
Stały rozmiar komórek i zastosowanie multipleksacji pozwalają dynamicznie dopasować szerokość pasma do potrzeb urządzeń. Natężenie ruchu w sieciach lokalnych bardzo często jest nie równomierne, gdyż przesyłanie plików i inne operacje powodują chwilowe wzrosty aktywności. Przełączniki ATM są w stanie wykrywać takie zwyżki aktywności i dynamicznie przydzielać odpowiednio większą liczbę komórek dla intensywniej napływającego strumienia danych z aktywnego źródła.
Przełączniki i sieci ATM.
Sieci ATM zawierają przełączniki, które - ogólnie rzecz biorąc - są urządzeniami wyposażonymi w wiele portów i realizującymi przełączanie komórek. Po nadejściu komórki do jednego z portów, przełącznik ATM odczytuje dane o jej miejscu przeznaczenia i wysyła do odpowiedniego portu wyjściowego. W przypadku gdy wiele przełączników połączonych jest ze sobą we wspólnej sieci, konieczne zastosowanie jest odpowiedniego protokołu routingu, który umożliwi wymianę między poszczególnymi przełącznikami uaktualnionych tablic połączeń. Wyróżnia się dwa typy przełączników: fabric-type (wyposażone w wiele portów i wykorzystywane w publicznych sieciach komunikacyjnych) oraz bus-based (magistralowe, z mniejszą liczbą portów, które nadają się do zastosowania bardziej w sieciach LAN).
Przełączanie odbywa się z dużą szybkością m in. dlatego, że przełączniki ATM realizują te operację sprzętowo. Przełączniki ATM nie mają warstwy sieciowej (w sensie modelu OSI). ATM jest techniką tzw. szybkiej komutacji pakietów, w tym sensie, że nie obejmuje żadnej kontroli błędów i w związku z tym nie jest spowolniona przez tego rodzaju operacje. Jeżeli jakaś komórka nie dotarła do celu albo została uszkodzona wtedy stacja końcowa musi jej ponownie zażądać od nadawcy. ATM nie odpowiada za ponownie dostarczenie bezbłędnej komórki, gdyż technika ta zakłada, że wykorzystywane będą wysokiej jakości, niepodatne na błędy, urządzenia transmisyjne.
ATM jest protokołem transportowym umiejscowionym mniej więcej w części MAC warstwy łącza danych w odniesieniu do OSI. Dzięki temu może być używany z wieloma różnymi topologiami warstwy łącza fizycznego i jest w stanie przesłać w sieci szkieletowej albo WAN pakiety dowolnego rodzaju po uprzednim ich przekształceniu do obowiązującego formatu 53- bajtowych komórek. Szybkości przesyłania danych w ATM są skalowalne tzn. zależą od możliwości warstwy łącza fizycznego. W ramach ATM nie istnieje żaden standard z góry narzucający prędkość transmisji, jak ma to miejsce w FDDI.
Architektura ATM.
ATM zdefiniowano pierwotnie jako element specyfikacji B-ISDN. B-ISDN stanowi rozszerzenie wąskopasmowego ISDN. B-ISDN oferuje szersze pasmo i umożliwia osiągnięcie większej przepustowości. Na rysunku przedstawiono model odniesienia B-ISDN.
-warstwa łącza fizycznego zawiera definicje interfejsu elektrycznego lub fizycznego, szybkości łącz i innych cech fizycznych.
-warstwa ATM definiuje format komórki
-warstwa adaptacyjna definiuje proces konwersji informacji z warstw wyższych do postaci komórek ATM
Organizacja ATM Forum przedstawiła dwie klasy interfejsów fizycznych dla sieci ATM:
-UNI (User to Network Interfaces) - stanowi punkt połączenia stacji końcowej z siecią ATM;
-NNI (Network to Network Interfaces) - są to interfejsy pomiędzy przełącznikami w publicznych sieciach ATM. Odpowiadają głównie za zarządzanie współdziałaniem tych przełączników. Mogą to też być interfejsy typu sieć-węzeł;
W środowisku ATM połączenie logiczne między stacjami końcowymi określa się terminem virtual channel (VC). Z kolei virtual path (VP) jest wiązką kanałów (VC). Główna zaleta tego rozwiązania jest to, że połączenia poprowadzone w sieci tą samą trasą są zgrupowane i mogą być obsługiwane częściowo wspólnie. Dodanie kanału VC do VP jest stosunkowo proste, gdyż nie trzeba przy tym powtarzać procedury ustalania przebiegu trasy w sieci. Ponadto zmiana przebiegu trasy VP, spowodowana koniecznością uniknięcia zatorów powoduje automatyczną zmianę przebiegu wszystkich związanych z nią kanałów.
Na rysunku przedstawiono architekturę emulacji LAN w sieciach ATM.
Warstwa łącza fizycznego.
Nie definiuje się w niej żadnego konkretnego typu medium transmisyjnego. Specyfikacje ustalano tak, aby były dostosowane do właściwości aktualnie dostępnych elementów elektrycznych. ATM pozwala na zastosowanie wielu różnych mediów transmisyjnych, w tym istniejących już mediów wykorzystujących w innych systemach komunikacyjnych.
Podstawowe funkcje tej warstwy to: dopasowywanie szybkości komórek, generowanie i weryfikacja nagłówka komórek (HEC), wydzielenie pakietów ze strumienia bitów, adaptacja ramki transmisyjnej, generacja i odtwarzanie ramki transmisyjnej.
Warstwa ATM.
Warstwa ta realizuje następujące funkcje: sterowanie przepływem, generowanie i wydzielanie nagłówka, translacja pól VCI i VSI (patrz niżej), multipleksacja i demultipleksacja komórek.
GFC |
VPI |
||
VPI |
VCI |
||
VCI |
|||
VCI |
PTI |
CLP |
|
HEC |
W warstwie ATM zdefiniowana jest struktura komórki ATM Warstwa ta obejmuje ponadto definicje mechanizmów routingu dla kanałów wirtualnych dla kanałów wirtualnych i połączeń VP oraz kontroli błędów. Komórki ATM są pakietami informacji składającymi się z danych i nagłówka, który zawiera informacje o kanale i trasie VP, umożliwiające skierowanie komórki do właściwego przeznaczenia.
Komórka ma długość 53 bajtów z czego 48 stanowią dane, a 5 pozostałych tworzy nagłówek. Poniżej wyjaśniono znaczenie poszczególnych pół nagłówka:
-GFC (generic flow control) - zostało ono wprowadzone aby stacje mogły korzystać z tego samego interfejsu;
-VPI (virtual path indentifier) - identyfikuje połączenia VP pomiędzy użytkownikami lub między użytkownikami a sieciami;
-VCI (virtual channel identifier) - identyfikuje kanały wirtualne pomiędzy użytkownikami lub między użytkownikami a sieciami;
-PTI (payload type indicator) - określa rodzaj informacji zawartej w obszarze danych (informacje użytkownika lub sieciowe);
-CLP (cell loss priority) - określa sposób, w jaki można usunąć daną komórkę w przypadku wystąpienia zatoru w sieci, pole to, gdy zawiera wartość priorytetu 0 oznacza, że komórki nie wolno usuwać;
-HEC (header error control) - zawiera informacje wykorzystywane przy wykrywaniu błędów i korekcji błędnych bitów;
Warstwa adaptycyjna.
Warstwa adaptacyjna AAL (ATM Adaptation Layer) przekształca pakiety pochodzące z wyższych warstw do postaci komórek ATM. Warstwa adaptacyjna dzieli się na dwie części: zbierającą CS (convergence sublayer), która odbiera dane z wyższych warstw i przekazuje je niżej do części dzieląco-scalającej oraz SAR (segmentation and reassembly sublayer). SAR odpowiada za rozbicie danych na 53-bajtowe komórki ATM. Z kolei dane z nadsyłanych komórek są przez SAR scalane i przesyłane do warstw wyższych. Istnieje klika różnych typów warstw AAL, które przedstawione zostały na rysunku poniżej (typ 1, 2, 3, 4, 5).
Klasy usług.
ATM rozwiązuje problem przesyłania różnych informacji, np. głosu, video, i zwykłych danych oferując cztery klasy usług. Klasy usług odpowiadają różnym kategoriom zastosowań, w zależności od sposobu przesyłania bitów, wymaganej szerokości pasma i wymaganego rodzaju połączeń.
Klasa A |
Klasa B |
Klasa C |
Klasa D |
Wymagane mechanizmy czasowe |
Brak mechanizmów czasowych |
||
Stała prędkość transmisji |
Zmienna prędkość transmisji |
||
Połączeniowe |
Bezpołączeniowe |
||
Typ 1 |
Typ 2 |
Typ 3/4 Typ 5 |
Typ 3/4 |
-klasa A obejmuje usługi połączeniowe ze stałą prędkością transmisji. Mechanizmy kompensacji opóźnień powodują, że usługi tej klasy dobrze nadają się do zastosowań związanych z przesyłaniem obrazów wideo i głosu;
-klasa B obejmuje usługi połączeniowe wyposażone w mechanizmy czasowe, umożliwiające przesyłanie głosu i obrazów wideo ze zmienną chwilową prędkością transmisji. Odpowiedni interfejs warstwy adaptacyjnej to AAL typu 2;
-klasa C obejmuje usługi połączeniowe ze zmienną chwilową prędkością transmisji, bez mechanizmów czasowych; odpowiednia dla usług takich jak X.25, Frame Relay i TCP/IP. Odpowiedni interfejs warstwy adaptacyjnej to AAL typu 3/4 lub 5;
-klasa D obejmuje usługi bezpołączeniowe nadające się do zastosowania w środowiskach, w których przepływ danych odbywa się ze zmienną prędkością, i w których nie jest wymagana synchronizacja czasowa pomiędzy węzłami końcowymi. Usługi tej klasy są odpowiednie na przykład do przesyłania pakietów w sieciach LAN. Odpowiedni interfejs warstwy adaptacyjnej to AAL typu 3/4;
ATM a usługi telekomunikacyjne.
ATM określa standard komunikacji w sieciach rozległych. Dzięki niemu zniknie bariera pomiędzy sieciami lokalnymi a rozległymi. Barierą tą jest obecnie spadek przepustowości związany z przesyłaniem danych w sieciach publicznych. Inną barierą są urządzenia realizujące połączenia w sieciach WAN, na zasadzie „przechowaj i prześlij” (np. routery).
Współpraca sieci lokalnych.
Normy, technologie i produkty pozwalają na łączenie sieci lokalnych między sobą lub z komputerami typu mainframe. Tworzenie środowiska połączonych i wzajemnie współpracujących sieci to jedno z najtrudniejszych zadań. Należy znać wszystkie aspekty technologii LAN, technologii komunikacyjnej i oprogramowania. Poniżej zostaną przedstawione elementy umożliwiające pracę międzysieciową: wzmacniaki, routery, bramki i sieci szkieletowe.
Wzmacniak (repeater).
Wzmacniak (regenerator) funkcjonuje na najniższym poziomie modelu odniesienia OSI. Jest najprostszym elementem stosowanym do łączenia sieci LAN. Główne zadanie wzmacniaka (jeśli nie jest stosowany do łączenia różnych sieci) to regeneracja sygnału (patrz wyżej).
Wzmacniak może łączyć różne sieci o jednakowej architekturze, używające tych samych protokołów, metod uzyskiwania dostępu oraz technik transmisyjnych (np. może łączyć segmenty sieci Ethernet lub huby sieci Token Ring, ale nie segmenty Ethernet z hubami Token Ring, nie może także łączyć segmentów sieci podstawowej z pracującymi w paśmie rozszerzonym).
Wzmacniaki Ethernet.
Użycie wzmacniaków w sieci Ethernet jest stosunkowo łatwe, gdyż są one w niej standardowo stosowane do łączenia segmentów magistrali. Wzmacniak jest traktowany jako jeden węzeł w każdym z przyłączonych do niego segmentów. Ponieważ wzmacniak nie kończy segmentu magistrali, do drugiego końca kabla musi być przyłączony terminator.
Wzmacniaki Token Ring.
W sieciach Token Ring stosowane są trzy rodzaje wzmacniaków: Token Ring, rozgałęziające i łączące. Wzmacniak Token Ring jest stosowany, gdy w sieci występuje więcej niż jedna krosownica. Służy do zwiększania odległości między jednostkami MAU, umożliwiając objęcie siecią Token Ring odległych punktów. Wzmacniaki Token Ring pozwalają połączyć jednostki MAU oddalone od siebie o 300-360 m. Wzmacniak rozgałęziający wzmacnia tylko sygnały przesyłane do jednego odgałęzienia, a nie do całej sieci. Spośród ośmiu węzłów, które mogą być przyłączone do jednostki MAU, jeden, dwa lub wszystkie osiem mogą używać wzmacniaka rozgałęziającego. Wzmacniaki łączące wzmacniają sygnały przesyłane między hubami, pozwalając zazwyczaj dwukrotnie zwiększyć dopuszczalną odległość.
Most (bridge).
Most funkcjonuje jako samodzielne urządzenie (może zostać stworzony w serwerze przez zainstalowanie dodatkowych kart sieciowych a system operacyjny musi udostępniać funkcję do jego obsługi), ale jednocześnie jest elementem składowym sieci. W modelu OSI most funkcjonuje w warstwie łącza danych. Za pomocą mostu można połączyć dwa dowolne urządzenia spełniające specyfikacje podwarstwy MAC zawarte w normie IEEE 802. Urządzenia zgodne z tym standardem dysponują modularnym poziomem MAC, mogącym obsługiwać sieci różnych typów. Wyższy poziom (LLC) spełnia rolę „łącznicy” przenosząc ramki pomiędzy poszczególnymi modułami sieciowymi poziomu MAC.
Na rysunku widać jak dane z formatu ramki Ethernet zostają przepisane do ramki Token Ring. Związane z tym przetwarzanie wprowadza oczywiście opóźnienie, dlatego też szybkość mostów ocenia się zazwyczaj na podstawie liczby pakietów przetwarzanych w ciągu sekundy.
Most tworzy tor komunikacji pomiędzy między dwoma lub większą liczbą segmentów sieci lub podsieci. Segment sieci ma ten sam adres sieciowy i korzysta z tej samej technologii sieciowej. Na rysunku przedstawiono serwer pełniący funkcję mostu.
Most umożliwia stacji działającej w jednej podsieci na przesłanie komunikatu w trybie rozgłaszania do innej podsieci.
Z drugiej strony most może zostać użyty do rozdzielenia ruchliwej sieci na dwa segmenty, co spowoduje zwiększenie natężenia ruchu w każdym z segmentów. Główne powody instalowania mostów to:
zwiększenie zasięgu lub liczby węzłów w całej sieci;
zredukowanie nadmiarowego natężenia ruchu;
łączenie różnych sieci (np. Ethernet z Token Ring);
Każdemu z przyłączonych do mostu segmentów sieci LAN jest przypisywany unikalny numer sieci. Most powiela pakiety między przyłączone do niego segmenty.
Mosty mogą odfiltrowywać ramki - odczytują adres zapisany w ramce sieci Ethernet lub Token Ring i na jego podstawie wprowadzają pakiet do sieci lub nie. Mosty nie mają jednak dostępu do informacji protokołów warstwy sieciowej, nie są więc w stanie dokonywać wyboru najlepszej trasy dla pakietów. W miarę rozrastania sieci powstaje problem związany z powstawaniem pętli i nieefektywnych dróg transmisji. Mosty nie rozwiązują też problemów związanych z powstawaniem zatorów. Zator powstaje w sytuacji, gdy wiele stacji próbuje rozsyłać dane w trybie rozgłaszania. W sieciach wielosegmentowych wykorzystujących mosty, zadania związane z kontrolą przepływu spoczywają na systemach końcowych. Może się zdarzyć, że mosty, próbując rozładować zatory i przesyłając nadmiarowe pakiety, przyczynią się do pogorszenia sytuacji.
Zasadniczo wyróżnia się dwa typy mostów: lokalne i zdalne.
Do mostu lokalnego można podłączyć sieci LAN. Używa się go do łączenia między sobą segmentów sieci LAN rozmieszczonych w jednym budynku lub na niewielkim obszarze. Mosty zdalne wyposażone są w porty umożliwiające podłączenie analogowych (przy użyciu modemu) lub cyfrowych linii telekomunikacyjnych (linie dzierżawione) i pozwalają na połączenie odległych sieci.
Mosty realizują następujące funkcje:
powielanie ramek - most powieli pakiet do innego segmentu LAN tylko wtedy, gdy adres tego pakietu będzie odpowiadał adresowi segmentu;
wykrywanie pętli - rozbudowane sieci LAN z połączonymi segmentami mogą zawierać pętle, w których pakiety będą krążyły bez końca, mosty z wykrywaniem pętli likwidują takie pakiety;
techniki uczenia się - mosty tworzą tablice adresów opisujące trasy: przez śledzenie przepływających pakietów lub przez specjalne pakiety (explorer packets), które krążąc po sieci rozpoznają jej topologię. W pierwszej metodzie wykorzystuje się mosty przeźroczyste (inteligentne, uczące się), drugą określa się jako routing źródłowy (patrz dalej);
Starsze typy mostów wymagały ręcznego wprowadzania tablic adresów. Współczesne mosty potrafią same poznawać adresy innych stacji pracujących w sieci, dzięki wyżej wspomnianym metodom.
Mosty przeźroczyste.
Sieć |
Adres źródłowy |
123 |
32156 |
123 |
16584 |
456 |
30925 |
123 |
93643 |
456 |
89621 |
456 |
66329 |
... |
... |
Mosty tego typu po włączeniu w sieć automatycznie rozpoczynają odczyt topologii środowiska sieciowego. Za każdym razem gdy pakiet dotrze do jednego z portów mostu, most przeźroczysty odczytuje adres źródłowy i dopisuję pozycję do wewnętrznej tablicy. Każda pozycja w tablicy kojarzy adres źródłowy z adresem sieci, z której nadszedł pakiet. Zawartość tablicy jest stale uaktualniana.
Nadchodzące pakiety powielane są zgodnie z informacjami zapisanymi w tablicy, a gdy docelowa sieć różni się od źródłowej, dane z pakietu przepisywane są do innej ramki. Jeżeli adres docelowy nie jest jeszcze wpisany w tablicy, to rozpoczyna się proces analizowania sieci. Ramka wysyłana jest do wszystkich segmentów sieci. Gdy węzeł, dla którego ramka była przeznaczona odpowie, podając swój adres sieciowy, most dopisuje nową pozycję w tablicy. Po pewnym czasie most pozna adresy wszystkich węzłów sieci.
Ważnym czynnikiem w procesie uczenia się jest liczba wszystkich połączonych ze sobą segmentów sieci.
Z łączeniem większej liczby sieci związane są pewne problemy.
W przykładowej sieci (górna część rysunku) pakiety pochodzące z lewego segmentu aby dotrzeć do prawego segmentu muszą zostać przesłane przez segment środkowy. Prowadzi to do spadku wydajności w segmencie środkowym. Do rozwiązania tego problemu wystarczą tylko dwa dodatkowe mosty, ale gdyby liczba połączonych sieci była większa to liczba dodatkowych mostów również by wzrosła. Alternatywna metoda polega na zastosowaniu sieci szkieletowej (patrz dalej).
W rozbudowanych sieciach lokalnych możliwe jest kierowanie pakietów do mostów różnymi torami. Może to prowadzić do powstania pętli. Z drugiej strony różne tory są potrzebne w wypadku awarii (wzajemnie się zastępują). Algorytm drzewa rozpinającego STA (Spanning Tree Algorithm) pozwala na tworzenie wielu alternatywnych dróg połączeń bez tworzenia pętli. Algorytm przypisuje każdemu z mostów (będący zazwyczaj adresem mostu) i każdemu portowi unikalny identyfikator. Każdemu z mostów przypisywana jest ponadto wartość określająca priorytet. Z każdym mostem zostaje następnie skojarzona tabela kosztów połączeń, przypisująca wszystkim portom wartości kosztów, nakazując preferowanie transmisji przez określony port. Kolejnym etapem działania algorytmu jest wybór mostu - korzenia. Jest to most o najniższym identyfikatorze. Po wybraniu korzenia pozostałe mosty określają, który z ich portów zapewnia dostęp do mostu korzenia po najmniejszych kosztach. Port taki staje się portem - korzeniem mostu. Jeśli ze wszystkimi portami związany jest ten sam koszt, to wybierany jest port gwarantujący najmniejszą liczbę przejść między mostami. Ostatni etap polega na określeniu, przez które mosty i które porty tych mostów można poprowadzić taki tor do mostu korzenia, który charakteryzowałby się możliwie najmniejszym kosztem. W procesie tym niektóre porty są odblokowywane, co umożliwia stworzenie dróg powielania pakietów dla części mostów, zaś inne porty są blokowane w celu wyeliminowania pętli. Zablokowane porty podłączone są do modemów albo mostów realizujących połączenia na liniach komutowanych. Połączenie nawiązuje się tylko wtedy, gdy tor jest koniecznie potrzebny albo może być bezpiecznie wykorzystywany nie powodując powstania pętli. W sytuacji, gdy rozległe połączenia między mostami są realizowane za pomocą linii dzierżawionych, większość zarządców sieci uważa za nieuzasadnione ekonomicznie blokowanie jednej z linii i utrzymywanie jej w rezerwie. Niektórzy producenci oferują mosty dzielące obciążenie, które potrafią wykorzystać łącza rezerwowe do obsługi części obciążenia, nie powodując przy tym powstawania pętli. Most dzielący obciążenie jest najwydatniejszym typem mostu. Wykorzystuje algorytm drzewa rozpinającego, a jednocześnie używa do przesyłania pakietów podwójnego łącza, co zwiększa wydajność komunikacji międzysieciowej.
Mosty realizujące routing źródłowy.
W sieciach IBM Token Ring wykorzystywany jest specjalny algorytm routingu źródłowego, dzięki któremu most jest informowany nie tylko o tym dokąd pakiety powinny zostać przesłane, ale także jak mają dotrzeć do miejsca przeznaczenia. W rozwiązaniu tym informacja dotycząca powielania pakietów zawarta jest w samych pakietach. Umieszcza się w nich informacje o torze w sieci dzięki czemu mogą trafić na właściwą trasę.
Mosty realizujące routing źródłowy, chcąc po raz pierwszy wyznaczyć trasę, którą pakiet powinien podążać do miejsca przeznaczenia, wykorzystują metodę poznawania sieci. Węzeł źródłowy, chcąc wyznaczyć tor, po którym będą podążały pakiety w sieci, wysyła pakiety poszukiwawcze. Jeżeli w sieci działa wiele mostów to do punktu przeznaczenia dociera wiele pakietów poszukiwawczych ze wszystkich mostów pośrednich. Węzeł źródłowy wybiera najlepszy tor w oparciu o takie czynniki jak np. liczba przejść między mostami. Informacja o przebiegu toru są zapamiętywane w węźle źródłowym, a następnie umieszczane w każdym pakiecie wysyłanym do węzła przeznaczenia. Choć mechanizm ten wygląda podobnie do routingu (patrz dalej), to most realizujący routing źródłowy jest zwykłym urządzeniem powielającym, które zna tylko adresy innych mostów. Informacje dotyczące wyboru najlepszej trasy zawarte są w samych pakietach. Jest to zaleta, która ma duże znaczenie w sieciach rozległych. Routing źródłowy pozwala na wyeliminowanie pętli, co ułatwia tworzenie równoległych nadmiarowych dróg połączeń na duże odległości za pośrednictwem sieci rozległych.
Początkowo proces poznawania sieci wymaga pewnego nakładu pracy, jednak z czasem most może zapamiętać najczęściej używane tory. W dużych sieciach Token Ring występuje niebezpieczeństwo eskalacji pakietów poszukiwawczych, co mogłoby doprowadzić do zakłócenia pracy sieci. Sprzętowa realizacja sieci Token Ring nakłada limit siedmiu przejść dozwolonych dla jednego pakietu, co pomaga w ograniczeniu eskalacji, choć z drugiej strony ogranicza także rozmiar sieci.
Wykorzystanie mostów w sieciach Ethernet i Token Ring.
Mosty dotychczas omawiane były w oparciu o założenie, że pracują tylko w jednym rodzaju sieci. Jednak często zdarza się, że łączy się sieci różnych typów. Powstają przy tym problemy:
w sieciach Ethernet wykorzystuje się mosty inteligentne realizujące algorytm drzewa rozpinającego, a w sieciach Token Ring stosuje się techniki routingu źródłowego;
w ramkach Ethernet i Token Ring w różny sposób kodowane są informacje statusowe i informacje o błędach;
niektóre informacje zawarte w ramkach sieci jednego typu nie mają zastosowania w sieciach drugiego typu. (np. w sieci Token Ring używa się mechanizmu nadawania priorytetów, który pozwala na wyróżnienie niektórych ramek jako ważniejszych od pozostałych, mechanizm taki nie występuje w sieciach Ethernet);
występuje różnica w strukturze pomiędzy 1500-bajtowymi pakietami Ethernet a pakietami Token Ring, które mają długość od 4000 do 17800 bajtów;
Rozwiązanie tego problemu wymaga zastosowania mostu dostosowującego. Most taki jest wyposażony zarówno w port Ethernet jaki port Token Ring i umożliwia translację pakietów. Problem dotyczący struktury ramki rozwiązywany jest przez wymuszenie stosowania ramek o długości 1500 bajtów w sieci Token Ring.
Router.
Często korzystniejsze niż zastosowanie mostów okazuje się zastosowanie routerów, które zapewniają lepszą obsługę ruchu w sieciach o złożonej strukturze. Routery, dzięki wzajemnej wymianie informacji o stanie sieci, potrafią taki kierować ruchem w sieci, by ominąć uszkodzone lub przeciążone łącza. Informacje o stanie sieci dostępne są dla protokołów warstwy sieciowej. Mosty natomiast nie mają dostępu do tych informacji.
Routery funkcjonują w warstwie sieciowej. Mogą łączyć ze sobą sieci lokalne lub rozległe. Jeśli między dwoma punktami końcowymi w sieci istnieje więcej niż jedna ścieżka, to routery sterują ruchem pakietów oraz umożliwiają ich filtrację. Routery należą do podstawowego wyposażenia dużych sieci złożonych oraz sieci rozległych, wykorzystujących łącza telekomunikacyjne. Routery sterują przepływem pakietów do miejsc ich przeznaczenia, wybierając dla nich najefektywniejszą lub najbardziej ekonomiczną drogę wtedy, gdy możliwy jest wybór jednej spośród kilku tras.
Działanie routera.
Router sprawdza informację adresową, zawartą w pakiecie i przesyła pakiet do miejsca przeznaczenia - wzdłuż ustalonej wcześniej trasy. Router ma tablicę zawierającą informacje o sąsiednich routerach i sieciach LAN. Na jej podstawie określa czy odebrany pakiet może być wysłany bezpośrednio do miejsca przeznaczenia. W przypadku braku takiej możliwości, poszukiwany jest inny router, który może przekazać pakiet pod wskazany adres.
Pakiet musi być w pełni odebrany przez router, następnie po odczytaniu adresu, przekazany dalej. Różnice w rozwiązaniach poszczególnych routerów wpływają na ich przepustowość. Niektóre systemy sieciowe (np. Novell) pozwalają na prowadzenie routingu w serwerze.
Routery mogą obsługiwać jeden lub wiele protokołów. Jeśli router nie obsługuje danego protokołu to można go przesłać przez sieć przy wykorzystaniu techniki kapsułkowania. Umożliwiają również podział sieci na mniejsze, oddzielnie adresowane segmenty. Informacja o adresie sieci i adresie stacji w sieci umieszczana jest w pakiecie.
Przetwarzanie pakietów.
Routery obsługują pakiety o tych samych adresach sieciowych. Gdy router odbiera pakiet rozpoczyna procedurę jego rozpakowywania. Proces przetwarzania pakietu w routerze przebiega następująco:
W oparciu o sumy kontrolne sprawdza się czy pakiet nie zawiera błędów.
Odrzuca się informacje umieszczane przez protokoły warstwy fizycznej i warstwy łącza.
Przetwarza się informacje dodane przez protokoły warstwy sieciowej (takie jak: adres przeznaczenia, lista węzłów pośrednich określająca najbardziej korzystną trasę). W zależności od sytuacji router podejmuje jedno z działań:
Pakiet może być adresowany do samego routera - router dokonuje obróbki pozostałych informacji zawartych w pakiecie.
Jeśli miejscem przeznaczenia pakietu jest ta sama sieć - router przesyła go dalej.
Jeśli dostępna jest lista filtracji, router konfrontuje adres pakietu z listą i ewentualnie odrzuca pakiet.
Jeśli w pakiecie zawarta jest informacja routingu źródłowego, wskazująca kolejny router na ścieżce wiodącej do miejsca przeznaczenia, pakiet jest wysyłany do tego routera.
Router aktualizuje swoją tablicę ścieżek istniejących w sieci, wzdłuż których przesyłane są pakiety.
Jeśli router nie zna ścieżki lub też nie może odszukać adresu przeznaczenia pakietu w swojej tablicy routingu, odrzuca pakiet i przesyła stosowny komunikat do jego nadawcy.
Niektóre pakiety zawierają informację o liczbie wykonanych przez pakiet obiegów sieci. Jeśli liczba ta przekracza pewną ustaloną wartość, router odrzuca pakiet, zakładając, że pakiet krąży w zamkniętej pętli, po czym przesyła stosowny komunikat do jego nadawcy.
Wybór najlepszej ścieżki.
Pomiędzy routerami tworzy się szereg ścieżek, tak aby w razie uszkodzenia jakiegoś łącza, zapewnić połączenia alternatywne. Routery mogą wysyłać informacje wybierając najlepszą z dostępnych ścieżek, zależnie od tego która z nich jest najszybsza, najtańsza, najkrótsza, itd.
Cechy routerów.
Łączenie ze sobą więcej niż 10 sieci za pomocą mostów może wprowadzić nadmierny ruch między sieciami. Do łączenia ze sobą sieci różnych typów lub łączenia z siecią WAN należy użyć routerów. Jeśli w sieci wykorzystuje się kilka protokołów należy użyć routera wieloprotokołowego. Routery mogą równoważyć obciążenie poszczególnych łączy i umożliwiają kontrolę przebiegu ścieżek wiodących przez zawiłą siatkę połączeń między routerami. Routery dokonują również rekonfiguracji ścieżek, jeśli któreś z połączeń zawiedzie. Niektóre routery dokonują kompresji pakietów w celu zwiększenia przepustowości pakietów. Aby uniknąć problemów należy starać się instalować wszędzie takie same routery (stosujące te same metody routingu i obsługujące te same protokoły). Konfiguracja routera polega na określeniu parametrów dotyczących protokołów (np. rozmiar), rezerwowych ścieżek, wydajności i bezpieczeństwa. Najdroższe urządzenia tego typu to huby, integrujące w sobie wszystkie porty sieciowe, mosty i routery, zapewniające współpracę z sieciami LAN (routery lokalne) i WAN (routery odległe).
Kryterium porównawczym dla routerów może być ich szybkość pracy (liczba pakietów na sekundę [pps]). Kablem Ethernet jest przekazywanych ok. 14880 64-bajtowych pakietów w ciągu sekundy. Routery zazwyczaj przesyłają od 8000 do 15000 pps. Dla porównania dla mostów wielkość ta wynosi ok. 10000 pps. Dla sieci lokalnych odpowiedni jest router o przepustowości 5000 pps.
Protokoły routingu.
Urządzenie pełniące funkcję routera może mieć dwa lub większą liczbę portów, przez które przesyła pakiety. Musi mieć też tablicę, w której poszczególnym portom przypisane są adresy. Początkowo routery nie wymieniały między sobą informacji o trasach istniejących w sieci i router zwykle wysyłał pakiety każdą możliwą ścieżką „zalewając” nimi sieć. Aby tego uniknąć administratorzy sieci wpisują do pamięci routera opis przebiegu określonych tras. Jest to tzw. routing statyczny. Lepszą metodą jest routing dynamiczny, polegający na zbieraniu informacji dotyczących sieci i budowaniu tablic routingu przez same routery. Wymieniają one między sobą tablice routingu i każdy z routerów aktualizuje swoje zapisy w tablicy (koszty związane ze ścieżkami, liczba skoków). Po pewnym czasie tablice routingu w każdym routerze zawierają w przybliżeniu te same informacje routingu.
Protokoły distance-vector.
Decyzja o dalszej trasie pakietu zostaje podjęta w oparciu o liczbę skoków lub koszt związany z przesłaniem pakietu do miejsca przeznaczenia. Informacje niezbędne do podjęcia decyzji dostarczane są przez sąsiednie routery. Sposób ten bazuje na algorytmie Bellmana-Forda.
Na rysunku przedstawiono router dysponujący pewną liczbą portów. Każdemu z tych portów przypisano koszt, będący pewną wartością ustaloną przez administratora sieci. Koszt ten może być związany z faktycznym kosztem wykorzystania łącza lub też mieć związek z preferencją pewnych linii. Ponadto sąsiednie routery przekazują informacje o ich koszcie, związanym z przekazaniem pakietu do miejsca przeznaczenia. Router sumuje koszty dotyczące portów sąsiednich routerów:
dla portu nr 1: 10 (koszt portu nr 1)+17 (koszt sąsiedniego routera)=27
dla portu nr 2: 20 + 5 = 25
dla portu nr 3: 30 + 7 = 37
Informacje dotyczące routerów (adres następnego routera, numer sieci, numer portu, koszt) przechowywane są w tablicach, wymienianych przez routery w przybliżeniu co 30 sekund. Gdy router otrzymuje tablicę, porównuje znajdujące się w niej zapisy z zapisami we własnej tablicy, po czym aktualizuje własną tablicę. Najpopularniejsze protokoły tej kategorii to:
-protokół RIP (Routing Information Protocol) - opracowany przez firmę Xerox; wykorzystywany jest w sieciach TCP/IP, XNS oraz Novell NetWare jako podstawowa metoda wymiany informacji routingu pomiędzy routerami.
-protokół IGP (Interior Gateway Protocol) - opracowany przez firmę Cisco;
-protokó³ RTMP (Routing Table Maintenance Protocol) - firmy Apple. Wykorzystywany jest w sieciach Apple Talk. Rozmiar tablicy dochodzi tutaj nieraz do 1 MB, tablice przesyłane są co 10 sekund. Nieodpowiedni dla sieci WAN.
Routing oparty o algorytm distance-vector nie jest odpowiedni dla dużych sieci, mających setki routerów lub sieci. W takich przypadkach proces aktualizacji tablic może przebiegać tak długo, iż zapewnienie synchronizacji treści tablic najbardziej oddalonych routerów może okazać się niemożliwe. W takich sytuacjach preferowane jest stosowanie protokołów link-state.
Protokoły link-stae.
Protokoły tego typu wymagają większej mocy przetwarzania, umożliwiają jednak większą kontrolę routingu i szybciej dostosowują się do zmian. Wybór trasy może być podyktowany chęcią ominięcia przeciążonych obszarów, szybkością łącza, kosztem użycia łącza lub też różnymi priorytetami. Trasy wyznaczane są w oparciu o algorytm Dijkstry, z uwzględnieniem:
-liczba routerów pośredniczących w przekazywaniu pakietu do miejsca przeznaczenia (skoki);
-szybkość transmisji linii łączących poszczególne sieci LAN;
-opóźnień spowodowanych przeciążeniem sieci;
-kosztu trasy, który jest miarą określoną przez administratora;
Najpopularniejsze protokoły tej kategorii to:
-OSPF (Open Shortest Path First) - używany jest do routingu ruchu w sieciach z protokołem TCP/IP (Internet). Aktualizacja tablic ma miejsce tylko wtedy, gdy jest to niezbędne, redukuje to znacznie ruch w sieci.
-IS-IS (Intermediate System - Intermediate System);
Routing w modelu OSI.
Architektura routingu w modelu OSI jest hierarchiczna. Jej elementy to:
-systemy końcowe (End System to Intermediate System) - obejmują oddziały lub grupy robocze; tworzą domeny routingu;
-systemy pośrednie (Intradomain Intermediate System to Intermediate System) - są połączone z innymi systemami pośrednimi w tej same domenie; tworzą połączenia międzydomenowe;
-domena administracyjna (Interdomain Intermediate System to Intermediate System) - połączona jest z inną domeną administracyjną tworząc sieć złożoną;
Protokoły ES-IS i IS-IS są protokołami wykorzystywanymi do wymiany informacji routingu:
-protokół ES-IS - jest protokołem poszukiwawczym, używanym przez systemy końcowe do ustalenia adresów sieciowych innych węzłów tej samej sieci;
- protokół IS-IS - jest protokołem kategorii link-stae przeznaczonym do obsługi routingu wewnątrzdomenowego; podstawowym zadaniem na tym poziomie hierarchii routingu OSI jest wymiana informacji routingu i tworzenie tablic routingu;
Routing w sieci Internet.
Bardziej szczegółowe omówienie protokołów routingu w sieci Internet znajduje się przy omówieniu protokółów TCP/IP.
Istnieje pewna hierarchia systemów, w skład której wchodzą podsieci z przyłączonymi hostami. Te podsieci przyłączone są do routerów, łączących je z innymi podsieciami systemów autonomicznych. System autonomiczny, wewnętrzny (interior system) lub domena jest zbiorem podsieci i routerów wykorzystujących ten sam protokół routingu i administrowanych przez ten sam ośrodek. Na krańcach domen znajdują się routery graniczne, łączące jedną domenę z inną. Routery te wykorzystują protokoły routingu zewnętrznego (Exterior Routing Protocols).
Protokoły routingu wewnętrznego IGP (Interior Gateway Protocols) są używane do wymiany informacji wewnątrz domeny. Przykładami takich protokołów są:
protokół ARP (Address Resolution Protocol) - zarówno router jak i serwer używają tego protokołu do sygnalizowania swojej obecności. Router rozsyła pakiety zawierające adres IP. Komputer lub inne urządzenie włączone do sieci z tym adresem odsyła swój adres LAN. Informacja ta jest umieszczana w tablicy routingu;
protokół RIP - wykorzystuje algorytm distance-vector (opisany wyżej);
protokół OSPF - wykorzystuje algorytm link-state (opisany wyżej);
Protokoły routingu zewnętrznego pozwalają routerom znajdującym się na krańcach swych domen na wymianę komunikatów i informacji dotyczących routingu. Każda domena ma jeden lub więcej routerów pracujących z protokołem EGP. Podstawowe funkcje routera zewnętrznego są następujące:
-wykonują procedurę łączenia się z sąsiadem, w której dwa zewnętrzne routery (gateway'e) łączą się i podejmują decyzję o wymianie informacji;
-okresowo sprawdzają obecność sąsiednich routerów, poprzez wysłanie komunikatu i oczekiwanie na odpowiedź;
-okresowo wymieniają informację routingu;
W routerach tych utrzymywane są zazwyczaj dwie tablice: z trasami wewnętrznymi i z trasami zewnętrznymi. Protokół EGP został opracowany, kiedy sieć Internet oparta była na pojedynczym szkielecie i jest nieefektywny w dzisiejszej sieci (wieloszkieletowej).
Nowszym rozwiązaniem jest protokół BGP (Border Gateway Protocol). Należy on do klasy protokołów routingu międzydomenowego opartych na strategii (policy based). Są to protokoły bardziej skalowalne od wcześniej wymienionych (dają administratorowi większą możliwość sprawowania kontroli nad siecią poprzez priorytetyzację ruchu w sieci oraz implementację mechanizmów bezpieczeństwa i opłat za usługi). Podstawowe protokoły routingu międzydomenowego oparte na strategii to:
-protokół BGP - implementowany był w charakterze tymczasowego rozwiązania, zapewniającego ograniczone możliwości strategii, ale nie odpowiadał wymaganiom dotyczącym skalowalności. Uwzględnia takie atrybuty trasy jak koszt lub bezpieczeństwo ścieżki. Informacja o routingu jest wymieniana przyrostowo a nie w całości;
-protokół IDRP (Inter Domain Routing Protocol) - umożliwia przesyłanie pakietów określonymi wcześniej drogami. Jest protokołem typu distance vector.
-protokół IDPR (Inter Domain Policy Routing) - protokół typu link-state, obsługujący routing źródłowy i oparty na strategii;
Bramka (gateway).
Bramka jest komputerem lub innym urządzeniem, działającym jako translator (konwerter) pomiędzy dwoma systemami posługującymi się odmiennymi protokołami, formatami struktur danych lub architekturą. Różnica pomiędzy bramą a mostem polega na tym, że most „przepuszcza” informacje pomiędzy dwoma systemami, nie dokonując konwersji. Brama zmienia natomiast strukturę pakietu na taką, która funkcjonuje w systemie przeznaczenia. Bramy działają w dowolnej warstwie wyższej od warstwy sieciowej modelu OSI. Przepustowość bram nie jest nadzwyczajna.
Bramy w sieciach lokalnych umożliwiają zorganizowanie ścieżek transmisji danych pomiędzy dwiema odrębnymi sieciami za pośrednictwem trzeciej - pośredniczącej. Taka sieć pośrednicząca używa zazwyczaj odmiennego protokołu, toteż dane muszą zostać przekonwertowane dla potrzeb transportu. Może się tym zająć router. Istnieją bramy pomiędzy sieciami stosującymi różne protokoły: Apple Talk - TCP/IP, IPX - TCP/IP itp. Bramy mogą też łączyć komputery typu mainframe z siecią LAN.
Jednym z pierwszych protokołów routingu w sieci Internet był protokół Gateway to Gateway Protocol.
Sieci złożone
Sieć szkieletowa (backbone network).
Sieć szkieletowa to sieć łącząca dwie lub większą liczbę podsieci lub segmentów sieci lokalnych i tworząca tor, którymi mogą być przesyłane między nimi pakiety. Każdy segment sieci przyłączony jest do sieci szkieletowej za pośrednictwem routera lub mostu.
W połączeniach sieci szkieletowej często korzysta się z połączeń światłowodowych (FDDI). Przewód sieci szkieletowej może być poprowadzony przez cały teren, który ona obejmuje lub może być zastosowany hub, który będzie stanowił centralny punkt połączenia wszystkich podsieci. Sieć szkieletowa musi pracować w szerokim paśmie i powinna zapewniać transmisję na duże odległości.
Skupiona sieć szkieletowa to sieć szkieletowa zredukowana do urządzenia mieszczącego się w jednej obudowie (hub), pozwalającego na przyłączenie modułów Ethernet, Token Ring, FDDI i WAN. Dzięki temu osiąga się możliwość łatwego zarządzania siecią.
Jednym z podstawowych niebezpieczeństw związanych z łączeniem sieci jest możliwość wystąpienia dużych różnic potencjałów elektrycznych. Poszczególne podsieci posiadają różne źródła zasilania, na długich przewodach występują duże spadki napięcia. Z tych powodów do łączenia sieci używa się światłowodów.
Sieci szkieletowe można też tworzyć na bazie łączy satelitarnych, mikrofalowych i połączeń realizowanych przez firmy telekomunikacyjne.
Sieć kratowa (mesh network).
Routery połączone są z innymi routerami. Tego typu topologia może istnieć lokalnie, ale częściej występuje w sieciach miejskich niż rozległych.
Sieć wielogwiaździsta (interlinked star).
Stosunkowo nowy typ topologii sieci złożonej dla systemów okablowania strukturalnego w budynkach i kampusach.
Narzędzia i techniki diagnozowania. Pomiary w sieci.
Do podstawowych narzędzi, służących do diagnozowania sieci, zalicza się testery kabli oraz analizatory protokołów.
Pomiary w sieci.
Testery okablowania sieci.
Podstawowym źródłem problemów występujących w sieciach są kable. Testowanie kabla sprowadza się niejednokrotnie do stwierdzenia jego istnienia lub też sprawdzenia czy okablowanie spełnia wymagania określone przez normy. Testy kabli powinny umożliwiać weryfikację następujących parametrów:
-ciągłość - dostępne są urządzenia pozwalające na stwierdzenie ciągłości kabla na podstawie pomiarów na jednym z jego końców (gdy kabel jest już zainstalowany);
-zakłóceń elektrycznych - sprawdzają zakłócenia elektromagnetyczne (permanentne i impulsowe) wprowadzane przez zewnętrzne źródła;
-przesłuchu - przesłuch oznacza, że kable są ułożone zbyt blisko - impulsy pojawiające się w jednym kablu pojawiają się też w drugim; większość urządzeń sprawdzających przesłuch wprowadza sygnał do obu kabli i mierzy energię indukowaną w drugim;
-tłumienie - pomiar tłumienia polega na przesłaniu sygnału kablem i jego pomiarze na drugim końcu;
-pojemność - pomiar pojemności może wskazać czy kabel został naciągnięty lub poplątany;
Lokalizatory kabla umożliwiają określenie trasy kabla umieszczonego w ścianie lub w suficie. Polega to na podłączeniu generatora sygnału do jednego z jego końców i zastosowaniu czujnika ze wzmacniaczem.
Reflektometr - (TDR - Time Domain Reflectometer) określa wystąpienie przerwy lub zwarcia w kablu. Przyrząd ten wysyła przez kabel impuls o wysokiej częstotliwości i mierzy czas powrotu odbitego sygnału. Odbicie zachodzi w miejscach zwarć i przerw, a czas powrotu i amplituda odbitego sygnału umożliwia określenie odległości od miejsca odbicia. Ponadto polaryzacja odbitego sygnału wskazuje czy w kablu jest zwarcie, czy przerwa. Produkuje się też reflektometry optyczne pozwalające na badanie światłowodów.
Analizatory protokołów.
W miarę rozbudowy sieci spada jej wydajność. W celu zapobiegnięcia temu można zmodernizować sieć lub lepiej ją skonfigurować (wyszukać wąskie gardła). Do tego służą właśnie analizatory protokołów. Ich podstawowe zadania to:
-określenie, które stacje w sieci są najbardziej aktywne. Jeśli dana stacja powoduje za duże obciążenie danego segmentu sieci lokalnej to może być przeniesiona do innego segmentu;
-określenie stacji generujących błędy;
-filtracja i podgląd określonych typów pakietów, np. z informacją routingu. W oparciu o uzyskane informacje można skorygować częstotliwość rozsyłania pakietów przez serwery i routery - w celu zredukowania ruchu w sieci;
-filtrowanie pakietów w zależności od protokołów, z których pochodzą - w celu określenia typu sieci, której pakiety są przekazywane przez segment LAN;
-określenie bieżących i perspektywicznych trendów dotyczących wydajności sieci (można np. określić w jakich porach dnia obciążenie sieci jest największe);
-ustawienie sygnalizacji stanów alarmowych, sygnalizujących wystąpienie zdarzeń związanych z anormalną pracą sieci, np. nieprawidłowości dotyczące danego typu pakietów;
-testowanie pracy sieci poprzez wysyłanie pakietów diagnostycznych;
Rodzina protoko³ów TCP/IP (Transmission Control Protocol/Internet Protocol).
Architektura protokołów
Zestaw protokołów został opracowany w celu umożliwienia komunikacji między różnymi typami systemów komputerowych, jak również między różnymi sieciami. Agencja DARPA oraz Stanford University rozpoczęły pracę nad protokołem TCP w 1973 r. Efektem 5-letniego okresu badań było opracowanie dwóch wzajemnie uzupełniających się protokołów: protokołu połączeniowego TCP i protokołu bezpołączeniowego IP (stąd nazwa TCP/IP). W 1983 r. przyjęte jako standard wojskowy. Protokoły TCP/IP są wykorzystywane w systemach UNIX-owych, sieciach lokalnych i sieciach rozległych. Protokoły służą do łączenia oddzielnych fizycznie sieci w jedną sieć logiczną.
Do najistotniejszych zalet protokołów TCP/IP można zaliczyć:
otwartość i niezależność od specyfikacji sprzętowo-programowej systemów komputerowych,
możliwość integracji wielu różnych rodzajów sieci komputerowych,
wspólny schemat adresacji pozwalający na jednoznaczne zaadresowanie każdego użytkownika,
istnienie standardowych protokołów warstw wyższych .
Protokoły TCP/IP to dzisiaj cały zestaw protokołów przeznaczonych do:
transferu danych: IP, TCP, UDP (User Datagram Protocol),
kontroli poprawności połączeń: ICMP (Internet Control Message Protocol),
zarządzania siecią: SNMP (Simple Network Management Protocol),
zdalnego włączania się do sieci: TELNET,
usług aplikacyjnych typu przesyłania plików: FTP (File Transfer Protocol),
Warstwa aplikacji |
Warstwa transportowa |
Warstwa Internet |
Warstwa dostępu do sieci |
Architektura protokołów TCP/IP jest trochę odmienna od modelu ISO/OSI. Mamy tutaj do czynienia z czterowarstwowym hierarchicznym modelem protokołów TCP/IP (TCP/IP rys. 1). Dane generowane przez programy aplikacyjne są przekazywane w dół stosu jeśli mają być przesyłane poprzez sieć i w górę stosu przy odbiorze. Każda warstwa stosu dodaje do danych przekazywanych z warstwy wyższej informacje sterujące w postaci nagłówków. Nagłówek dodany w warstwie wyższej jest traktowany jako dane w warstwie niższej.
Warstwy protokołów TCP/IP używają różnych nazw do określania przekazywanych danych. Aplikacje stosujące w warstwie transportowej protokół TCP nazywają swoje dane strumieniem. Z kolei TCP nazywa swoje dane segmentem. Aplikacje wykorzystujące w warstwie transportowej protokół UDP określają swoje dane jako wiadomości, a dane protokołu UDP to pakiety. W warstwie Internet protokół IP traktuje swoje dane jako bloki zwane datagramami. W najniższej warstwie bloki danych to ramki lub pakiety w zależności od używanego protokołu.
Warstwa dostępu do sieci jest najniższą warstwą w hierarchii architektury protokołów TCP/IP. W warstwie tej do datagramów IP dodaje się nagłówki oraz zakończenie i w ten sposób otrzymuje się ramki przesyłane w sieci. Funkcje tej warstwy odpowiadają w przybliżeniu funkcjom trzech najniższych warstw modelu ISO/OSI. Do komunikacji w sieciach rozległych lub przez łącza szeregowe mogą być stosowane takie protokoły jak X.25, PPP (Point-to-Point Protocol) lub SLIP (Serial Line IP). Te dwa ostatnie protokoły zostały specjalnie opracowane do przesyłania datagramów IP poprzez szeregowe łącza dwupunktowe. Protokół SLIP zazwyczaj jest stosowany do łączenia pojedynczych komputerów poprzez łącza szeregowe. Natomiast w sieciach rozległych zalecane jest stosowanie protokołu PPP.
Warstwa Internet znajduje się powyżej warstwy dostępu do sieci. Podstawowym protokołem tej warstwy jest IP. Protokół ten jest odpowiedzialny za przesyłanie pakietów zwanych datagramami między użytkownikami sieci. Jest to protokół bezpołączeniowy, co oznacza, że datagramy są przesyłane przez sieć bez kontroli poprawności ich dostarczenia. W efekcie datagram może zostać zgubiony w sieci, przekłamany lub zniekształcony. Protokół IP jest przeznaczony do sieci o bardzo dobrej jakości i niezawodności łączy transmisyjnych. Drugim protokołem tej warstwy jest ICMP ściśle związany z IP. Służy on do przesyłania komunikatów o nieprawidłowościach w pracy sieci. Protokół pozwala na przesyłanie wiadomości sterujących między węzłami sieci. Wiadomości te dotyczą sterowania przepływem, testowania połączeń, wskazania alternatywnych połączeń i wykrywania niedostępnych użytkowników.
Warstwa transportowa zapewnia bezpośrednie połączenie między końcowymi użytkownikami (systemami) wymieniającymi informacje. Do najważniejszych protokołów tej warstwy zaliczamy TCP oraz UDP. Protokół TCP jest protokołem połączeniowym umożliwiającym wykrywanie błędów na obu końcach połączenia. Ma on możliwość ustanowienia i utrzymania połączenia wirtualnego między dwoma użytkownikami w celu przesyłania danych, sterowania przepływem, przesyłania potwierdzeń oraz kontroli i korekcji błędów. Protokół UDP jest protokołem bezpołączeniowym, nie posiadających mechanizmów sprawdzania poprawności dostarczenia danych do miejsca przeznaczenia. Segmenty TCP jak i pakiety UDP w celu ich dalszego przesłania są umieszczane wewnątrz datagramu IP.
Warstwa aplikacji zawiera procesy wykorzystujące protokoły TCP lub UDP. Protokoły tej warstwy dostarczają użytkownikom różnych usług. Do najbardziej znanych protokołów warstwy aplikacji korzystających z TCP należą:
TELNET dla usług terminalowych. Pozwala na rozpoczęcie sesji poprzez sieć.
TFTP (Trivial File Transfer Protocol) dla prostych usług transferu plików. Jest to uproszczona wersja protokołu FTP.
FTP (File Transfer Protocol) dla transferu plików. Umożliwia interakcyjne przesyłanie plików.
SMTP (Simple Mail Transfer Protocol) dla wymiany poczty elektronicznej. Umożliwia pracę w trybie zapamiętaj i prześlij (store-and-forward) pomiędzy systemami poczty korzystającymi z serwerów pocztowych.
Natomiast do bardziej znanych protokołów warstwy aplikacji korzystających z protokołu UDP należą:
DNS (Domain Name Service) do zamiany adresów IP na nazwy urządzeń sieciowych.
RIP (Routing Information Protocol) do wymiany informacji związanych z aktualizacją reguły doboru tras w węzłach sieci.
NFS (Network File System) do współdzielenia plików przez wiele komputerów dołączonych do sieci. Jest to rozproszony system plików działających według modelu klient-serwer.
Protokoły TCP/IP wyróżniają dwa typy urządzeń sieciowych: routery (lub gatewaye) oraz hosty (czyli komputery). Routery służą do przesyłania pakietów między sieciami (TCP/IP rys.2), a na hostach instalowane jest oprogramowanie aplikacyjne użytkowników.
Każda aplikacja korzystająca z protokołów TCP/IP jest identyfikowana za pomocą numeru portu. Z kolei protokoły transportowe są określone za pomocą numerów protokołów. Pozwala to łączyć dane generowane przez różne aplikacje z kilkoma protokołami transportowymi i z kolei te protokoły z protokołem IP. Takie podejście daje możliwość multipleksacji danych, czyli np. umożliwia równoczesną komunikację wielu aplikacji z TCP. W Internecie niektóre numery portów są zarezerwowane i wstępnie przypisane do tzw. dobrze znanych usług (mogą przyjmować numery od 0 do 255). Dobrze znane usługi to np. takie protokoły sieciowe jak FTP lub TELNET. Protokoły TCP/IP używają również abstrakcyjnego pojęcia gniazda. Gniazdo to kombinacja adresu IP i numeru portu. W związku z tym gniazdo jednoznacznie określa proces w Internecie. Gniazd to również zakończenie logicznego łącza komunikacyjnego między dwiema aplikacjami. Jeśli aplikacje realizowane są na dwóch różnych komputerach, to para odpowiadających im gniazd definiuje połączenie w protokole połączeniowym TCP.
Protokół IP
Protokół IP zdefiniowany w dokumencie RFC791. Jest to protokół bezpołączeniowy, co oznacza, że sprawdza on poprawności dostarczenia datagramó do miejsc przeznaczenia. Do podstawowych funkcji protokołu IP możemy zaliczyć:
określenie struktury datagramu,
określenie schematu adresacji,
kierowanie ruchem datagramów w sieci,
dokonywanie fragmentacji datagramu i odtwarzanie z fragmentów oryginalnego datagramu.
Datagramy
Protokół IP jest przeznaczony do sieci z komutacją pakietów. Pakiet jest nazywany przez IP datagramem. Każdy datagram jest podstawową, samodzielną jednostką przesyłaną w sieci na poziomie warstwy Internet. Datagramy mogą być adresowane do pojedynczych węzłów lub do wielu węzłów. W przesyłaniu datagramów poprzez sieci uczestniczą routery (węzły sieci), które określają dla każdego datagramu trasę od węzła źródłowego do węzła docelowego.
Ponieważ w różnych sieciach mogą być ustalone różne maksymalne długości datagramów, więc w zależności od potrzeb, datagram może być podzielony na kilka mniejszych części, tzn. na kilka datagramów. Tę operacją nazywamy fragmentacją datagramów. Format każdego fragmentu jest taki sam jak format każdego innego niepodzielnego datagramu. Konieczność fragmentacji datagramu może być również następstwem przesyłania datagramów przez sieci rozległe dopuszczające inne protokoły i inne długości pakietów, np. sieci X.25 z pakietami o maksymalnej długości 128 bajtów. Kompletowanie pierwotnego datagramu z fragmentów dokonuje się w komputerze docelowym. Z chwilą nadejścia pierwszego fragmentu ustala się czas oczekiwania na skompletowanie datagramu. Jeśli w tym okresie czasu nie nadejdą pozostałe fragmenty to następuje przerwanie oczekiwania i skasowanie już otrzymanych fragmentów.
Wersja |
Długość nagłówka |
Typ usług |
Całkowita długość pakietu |
||
Identyfikacja |
Flagi |
Przesunięcie fragmentu |
|||
Czas życia |
Protokół |
Suma kontrolna nagłówka |
|||
Adres źródła |
|||||
Adres docelowy |
|||||
Opcje |
Wypełnienie |
||||
Dane |
TCP/IP Struktura datagramu IP
Pole wersja (4 bity) określa numer użytej wersji protokołu IP. Jest ono konieczne, ponieważ routery lub komputery w sieci mogą używać różnych wersji IP.
Pole długość nagłówka (4 bity) określa liczbę słów 32 bitowych składających się na nagłówek datagramu. Typowa (minimalna) długość nagłówka wynosi 5.
Pole typ usług (8 bitów) określa jakość usług jakiej wymaga się od sieci. Znaczenie poszczególnych bitów tego pola jest następujące:
Pierwsze trzy pola określają tzw. pierwszeństwo, np. 000 - oznacza datagram zwykły, 001 - priorytetowy, 010 - natychmiastowy, 011 błyskawiczny, a 100 - datagram super błyskawiczny.
Bit czwarty to bit D określający opóźnienie w sieci (D=0 oznacza normalne, D=1 małe opóźnienie).
Kolejny bit to bit T związany z przepustowością (T=0 oznacza normalną, a T=1 dużą przepustowość).
Bit szósty R pozwala wybrać niezawodność w dostarczeniu datagramu (R=0 normalna, R=1 duża niezawodność).
Ostatnie dwa bity mają wartości równe zeru i są zarezerwowane dla przyszłych zastosowań.
Pole całkowita długość pakietu (16 bitów)definiuje długość datagramu IP w bajtach (oktetach). Maksymalna długość datagramu wynosi 65535 bajtów.
Kolejne trzy pola w nagłówku są wykorzystywane przez protokół IP do fragmentacji datagramów i do operacji odwrotnej, tzn. do składnia z krótkich fragmentów pierwotnego datagramu. Te pole to identyfikacja, flaga i przesunięci fragmentu.
Pole identyfikacja (16 bitów) jest używane do jednoznacznego oznaczenia każdego fragmentu pierwotnego datagramu. Identyfikator zamieszczony w tym polu jest powtarzany we wszystkich fragmentach składających się na pierwotny datagram.
Pole flagi zawiera 3 bity. (pierwszy - zawsze zero, drugi określa czy można (1) czy nie można (0) fragmentować datagram, trzeci - identyfikacja ostatniego fragmentu składającego się na pierwotny datagram (wartość 0 określa ostatni, 1 oznacza kolejny fragment)).
Pole przesunięcie fragmentu (13 bitów) wskazuje, którą częścią całości pierwotnego datagramu jest dany fragment. Poszczególne fragmenty mają pola danych o długości będącej wielkością 8 bitów. Wyjątkiem jest ostatni fragment, którego długość wynika z długości pierwotnego datagramu. W polu tym podaje się o ile zawartość fragmentu jest przesunięta w stosunku do początku pola danych pierwotnego datagramu.
Pole czas życia (8 bitów) jest parametrem określającym ile czasu datagram może przebywać w sieci. Czas życia datagramu ustala nadawca umieszczając w tym polu liczbę naturalną. Przy przejściu przez kolejny router liczba ta jest zmniejszana o 1. Zmniejszenie do zera powoduje odrzucenie datagramu.
Pole protokół (8 bitów) określa numer protokołu warstwy transportowej, do którego należy przesłać należy przesłać dane z datagramu; np. numer 6 oznacza protokół TCP, a numer 1 protokół ICMP.
Pole suma kontrolna nagłówka (16 bitów) służy do sprawdzania poprawności odbioru wyłącznie nagłówka datagramu. Jest to szesnastobitowe jedynkowe uzupełnienie jedynkowo uzupełnionej sumy wszystkich szesnastobitowych słów nagłówka i danych pakietu. Przy obliczaniu sumy kontrolnej przyjmuje się, że pole to zawiera same zera. Suma ta podlega weryfikacji i modyfikacji np. w trakcie zmian pola czas życia w każdym węźle sieci.
Pola adres źródła i adres docelowy (po 32 bity) zawierają adresy IP odpowiednio komputera źródłowego i docelowego.
Pole opcje, zmiennej długości będącej wielokrotnością 8 bitów, jest wykorzystywane do określenia dodatkowych wymagań dotyczących sposobu przesyłania datagramu, np. do rejestrowania przebytej trasy lub do zapamiętania trasy zdefiniowanej w węźle źródłowym. Pole to nie musi występować w nagłówku datagramu.
Pole wypełnienie jest ewentualnym dopełnieniem pola opcje do wielokrotności 32 bitów.
Adresy IP
W sieciach wykorzystujących protokoły TCP/IP aktualnie są stosowane 32-bitowe adresy które jednoznacznie określają sieć oraz komputer dołączony do tej sieci. Adres IP składa się z dwóch części: części sieciowej i części identyfikującej komputer wewnątrz sieci. Adresy IP można sklasyfikować wg ich formatów. W adresie IP wzajemna relacja między liczbą bitów określających sieć i liczbą bitów określających komputer zależy od klasy adresów. Istnieje 5 klas adresów: A, B, C, D, E. Strukturę adresów w tych klasach, dla protokołu IP w ver 4, przedstawiono na rysunku.
Bajty |
1 |
2 |
3 |
4 |
|||||
Klasa A |
0 |
sieć(7) |
komputer(24) |
||||||
Klasa B |
10 |
sieć(14 |
komputer(24) |
||||||
Klasa C |
110 |
sieć(21) |
komputer(24) |
||||||
Klasa D |
1110 |
adres grupowy (28) |
|||||||
Klasa E |
11110 |
przyszłe zastosowania (27) |
Adresy klasy A posiadają pierwszy bit równy 0. Następne 7 bitów określa sieć, a pozostałe 24 bity komputer wewnątrz sieci. Zauważmy, że ta klasa adresów obejmuje tylko 127 nr-ów sieciowych i ponad 16 mln komputerów w jednej sieci.
Adresy klasy B rozpoczynają się od pary bitów o wartościach 10. Kolejne 14 bitów określa sieć a pozostałe 16 bitów komputer wewnątrz sieci. W klasie B istnieje ponad 16 tys. sieci, a w każdej z nich ponad 65 tys. komputerów.
Adresy klasy C identyfikowane są następującą sekwencją trzech pierwszych bitów 110. Następne 21 bitów przeznaczone jest na wskazanie sieci, a tylko 8 na określenie komputera w każdej sieci. Pozwala to obsłużyć ponad 2 mln sieci i 254 komputery.
Adresy klasy D mają na pierwszych 4 bitach sekwencję 1110, a na pozostałych adres grupowy. Odnoszą się one nie do sieci, a do grupy komputerów, które nie koniecznie muszą się znajdować w tej samej sieci fizycznej. Taki adres IP umożliwia jednoczesną komunikację z grupą komputerów.
Adresy klasy E rozpoczynają się od sekwencji 11110 i są przeznaczone do przyszłych zastosowań.
Adresy IP są zapisywane jako cztery liczby dziesiętne oddzielone kropkami, np. 132.21.123.23. Liczby te odpowiadają liczbą dwójkowym zawartym w kolejnych czterech bajtach adresu IP, a zatem są one z zakresu 0-255.
Przypisanie ustalonych wartości pierwszym bitom pierwszego bajtu adresu IP powoduje, że wartość pierwszej liczby dziesiętnej jest ściśle związana z klasą adresu, a zatem:
wartości mniejsze od 128 - klasa A,
wartości 128 - 191 - klasa B,
wartości 192 - 223 - klasa C,
wartości 224 - 229 - klasa D,
powyżej 239 - klasa E.
Adresy IP umożliwiają utworzenie sieci logicznych w jednej dużej sieci fizycznej posiadającej jeden adres IP. Można tego dokonać korzystając z bitów części identyfikującej komputer w adresie IP oraz 32-bitowej maski podsieci. Zasada użycia maski jest następująca: jeśli bit w masce ma wartość 1, to odpowiadający mu bit w adresie IP jest bitem części sieciowej. Jeśli bit w masce jest równy 0, to bit adresu należy do części określającej komputer. Przykładowo maska 255.255.255.0 zastosowana do adresu klasy B rozszerzy część sieciową o jeden bajt. Pierwsze dwa bajty są częścią sieciową klasy B, trzeci bajt jest adresem podsieci a ostatni określa komputer w podsieci.
Obecnie podstawową niedogodnością sieci Internet jest nieustanna redukcja puli adresów IP - praktycznie nie ma już większych możliwości adresowania w klasach A i B. Rozwiązaniem może być propozycja nowego protokołu IP v6. Proponuje się aby dotychczasowe 32-bitowe adresy zastąpić 128-bitowymi. Oczywiście zakłada się, że nowe adresy obejmą aktualnie używane (32-bitowe).
Protokół ICMP
Protokó³ ICMP (Internet Control Message Protocol).
Protokół ten jest ściśle związany z protokołem IP i jego częścią warstwy internet.
Protokół IP jako protokół bezpołączeniowy nie posiada mechanizmów informowania o błędach. Do tego celu przeznaczony jest protokół ICMP. Umożliwia on przesyłanie między komputerami lub routerami informacji o błędach występujących w funkcjonowaniu sieci IP np.:
brak możliwości dostarczenia datagramu do miejsca przeznaczenia,
zmiana wcześniej wyznaczonej trasy przez jeden z pośredniczących routerów,
brak wolnej pamięci buforowej dla zapamiętania datagramu.
Informacje o tych zaburzeniach w działaniu sieci noszą nazwę komunikatów. Komunikaty protokołu ICMP są przesyłane wewnątrz datagramów IP. Każdy komunikat ma własny format. Jednak wszystkie rozpoczynają się takimi samymi polami: typ, kod oraz suma kontrolna. Dalsze pola zależą od typu komunikatu ICMP. Przykład formatu komunikatu o kłopotach z parametrami datagramu IP:
bajty |
|||
1 |
2 |
3 |
4 |
Typ |
Kod |
Suma kontrolna |
|
Wskaźnik |
Pole nie używane |
||
Informacja |
Pole typ określa rodzaj komunikatu, a pole kod opisuje kod błędu. W polu suma kontrolna zawarte jest szesnastobitowe jedynkowe uzupełnienie jedynkowo uzupełnionej sumy szesnastobitowych słów komunikatu ICMP. Pole wskaźnik określa bajt, w którym wystąpił błąd, natomiast pole informacja zawiera nagłówek oraz pierwsze 64 bity datagramu IP, w którym wykryto błąd.
Protokół ICMP posługuje się 12 komunikatami, które są wymieniane między routerami i / lub komputerami. Komunikaty te dotyczą przede wszystkim:
przekroczenie czasu życia datagramu. Komunikat jest wysyłany jeśli po wykonaniu odpowiednich obliczeń, wartość pola czas życia datagramu IP osiągnie zero,
wystąpienia niezrozumiałego parametru. Komunikat ten sygnalizuje wystąpienie niedopuszczalnej wartości w pewnym polu nagłówka datagramu IP.
wykrycie nieosiągalnych miejsc przeznaczenia. Jeśli nieosiągalnym adresatem jest komputer w sieci, to komunikat ten jest wysyłany przez routery pośredniczące w transferze datagramów. Jeżeli nieosiągalnym miejscem przeznaczenia jest port, to komunikaty wysyła docelowy komputer.
chwilowego wstrzymania nadawania, gdy datagramy przybywają do komputera lub pośredniczącego routera szybciej niż można je przetworzyć i brakuje wolnej pamięci buforowej do ich zapamiętania.
sprawdzenia zasobów sieciowych. W celu sprawdzenia poprawności działania zdalnego systemu wysyła się sygnał echa. System, po otrzymaniu tego komunikatu, musi natychmiast odesłać go do nadawcy. Brak odpowiedzi oznacza, że testowany system nie jest sprawny.
wskazania innej trasy dla datagramów. Komunikat wysyłany do źródłowego routera wskazuje, że znaleziono krótszą trasę dla datagramu.
określenia opóźnienia związanego z przesyłaniem datagramów przez sieć.
identyfikacji sieci przez dołączony do niej komputer (konfiguracja komputera).
otrzymania przez komputer maski podsieci wykorzystywanej w sieci fizycznej.
Protokół TCP
Jest to protokół zorientowany połączeniowo, czyli umożliwia zestawienie połączenia w którym efektywnie i niezawodnie przesyłane są dane. Połączenie to charakteryzuje się możliwością sterowania przepływem, potwierdzania odbioru, zachowania kolejności danych, kontroli błędów i przeprowadzania retransmisji. Blok danych wymieniany między współpracującymi komputerami nosi nazwę segmentu (nagłówek + dane). Znaczenie poszczególnych pól segmentu:
Pole port źródłowy (16 bitów) i pole port docelowy (16 bitów) zawierają numery portów procesów aplikacyjnych korzystających z usług TCP. Kombinacja tych numerów z adresami sieciowymi określa parę gniazd tworzących połączenie protokołu TCP.
Pole numer sekwencyjny (32 bity) zawiera numer sekwencyjny pierwszego bajtu danych w segmencie. Ta wartość określa pozycję segmentu w strumieniu bajtów. Podczas ustanawiania połączenia, i jeśli bit syn w polu znaczniki jest ustawiony na 1, to w tym polu zawarty jest inicjujący numer sekwencyjny ins, od którego rozpoczyna się numerację bajtów w połączeniu. Zatem pierwszy wysłany bajt ma numer ins + 1.
Pole numer potwierdzenia (32 bity) zawiera numer sekwencyjny następnego oczekiwanego bajtu po stronie odbiorczej. Jednocześnie jest to potwierdzenie poprawnego odbioru bajtów o numerach sekwencyjnych mniejszych od zawartego w tym polu. Potwierdzenia mówią nadawcy ile bajtów danych zostało już poprawnie odebranych.
Pole długość nagłówka (4 bity) określa liczbę 32 - bitowych słów w nagłówku segmentu TCP. Tym samym określone zostaje miejsce, w którym rozpoczynają się dane. Pole to ma tak określone znaczenie tylko wtedy, gdy bit ack równy jest 1.
Pole rezerwa (6 bitów) jest przeznaczone dla przyszłych zastosowań. Zawiera same zera.
Pole znaczniki składa się z sześciu bitów sterujących, które ustawione na 2 mają następujące znaczenie
UGR wskazuje na ważność pola wskaźnik pilności,
ACK wskazuje na ważność pola numer potwierdzania,
PSH wskazuje na działanie funkcji wymuszającej wysyłanie segmentu,
RST wyzerowanie połączenia,
SYN wskazuje, że w polu numer sekwencyjny umieszczony jest inicjujący numer sekwencyjny INS. Jest on przeznaczony do synchronizacji numerów sekwencyjnych w fazie ustanowienia połączenia.
FIN wskazuje, że nadawca nie ma nic więcej do nadania - sygnał końca danych.
Bajty |
|||||||||
1 |
2 |
3 |
4 |
||||||
Port źródłowy |
Port docelowy |
||||||||
Numer sekwencyjny |
|||||||||
Numer potwierdzenia |
|||||||||
Długość nagłówka |
Rezerwa |
Znaczniki
|
Okno
|
||||||
|
|
U R G |
A C K |
P S H |
P S T |
SYN |
FIN |
|
|
Suma kontrolna |
Wskaźnik pilności |
||||||||
Opcje |
Wypełnienie |
||||||||
Dane |
Pole okno (16 bitów) określa liczbę bajtów jaką może jeszcze zaakceptować odbiorczy moduł TCP.
Pole suma kontrolna jest 16 - bitowym jedynkowym uzupełnieniem jedynkowo uzupełnionej sumy wszystkich 16 - bitowych słów w segmencie. Ta suma obejmuje zarówno nagłówek jak i dane segmentu.
Pole wskaźnik pilności (16 bitów) jest interpretowane tylko wtedy, gdy bit UGR jest równy 1. Pole to zawiera numer sekwencyjny bajtu następującego po pilnych danych.
Pole opcje ma długość zmienną będącą wielokrotnością 8 bitów. Zawiera ono numery opcji - każdy numer zapisany w jednym bajcie. Dla protokołu TCP zdefiniowano trzy opcje.
0 - koniec listy opcji,
1 - brak działania,
2 - maksymalna długość segmentu.
Pole wypełnienie uzupełnia nagłówek do wielokrotności 32 bitów.
Ponieważ TCP jest protokołem zorientowanym połączeniowo, więc e celu przesłania danych między dwoma modułami TCP, zainstalowanymi w różnych komputerach, konieczne jest ustanowienie, utrzymanie i rozłączenie połączenia wirtualnego.
Ustanowienie połączenia odbywa się w następujących etapach :
-nadawczy moduł TCP wysyła do odbiorczego modułu TCP segment z bitem SYN=1 i z proponowanym numerem INS w polu numer sekwencyjny,
-odbiorczy moduł TCP, jeśli zgadza się na ustanowienie połączenia, to przesyła zwrotnie segment z bitami SYN=1 i ACK=1, a w polu numer sekwencyjny podaje numer INS, z którym rozpocznie działanie
-nadawczy moduł TCP wysyła segment z potwierdzeniem otrzymania zgody (ACK=1) na ustanowienie połączenia i równocześnie zawierający dane.
W ten sposób zostaje ustanowione połączenie wirtualne między dwoma modułami TCP i mogą zostać przesyłane segmenty z danymi. Segmenty te mogą być przesyłane tym połączeniem w obu kierunkach, ponieważ TCP umożliwia transfer danych między dwoma modułami w trybie dupleksowym.
Dla zapewnienia niezawodnej transmisji TCP wykorzystuje sekwencyjną numerację bajtów oraz mechanizm pozytywnych potwierdzeń z retransmisją. Numer sekwencyjny przypisany do każdego przesyłanego bajtu danych pozwala na jego jednoznaczną identyfikację, a także jest używany w mechanizmie przesyłania potwierdzeń. Ponieważ kolejne bajty są numerowane począwszy od INS, a zatem numer pierwszego bajtu wysłanego w połączeniu wirtualnym wynosi INS+1 ( zazwyczaj INS=0).
Nadawczy moduł TCP dokonuje retransmisji danych do czasu, aż otrzyma potwierdzenie poprawnego ich przyjęcia przez odbiorczy moduł TCP. Rozpoczęcie retransmisji uwarunkowane jest przekroczeniem wcześniej ustalonego czasu oczekiwania na nadejście potwierdzenia.
Po stronie odbiorczej poprawność odbioru danych sprawdzana jest przy użyciu pola suma kontrolna znajdującego się w nagłówku segmentu. Jeżeli dane są akceptowane to moduł TCP wysyła zwrotnie pozytywne potwierdzenie. Jest ono zawarte w polu numer potwierdzenia. Wszystkie bajty danych o numerach sekwencyjnych mniejszych od wartości zawarte w tym polu zostały odebrane poprawnie.
W sytuacji, gdy dane zostały odebrane poprawnie, a nadawczy moduł TCP retransmitował je np. z powodu zaginięcia segmentu z pozytywnym potwierdzeniem, odbiorczy moduł TCP ma możliwość odrzucenia nadmiarowych danych (duplikatów).
Protokół TCP umożliwia również zarządzanie buforami. Odbywa się to przez wskazanie ile bajtów odbiorczy moduł TCP jest w stanie zaakceptować. Liczba akceptowanych bajtów określona jest w polu okno w nagłówku segmentu przesyłanego do nadawczego modułu TCP. Liczba ta może być zmieniana w trakcie trwania połączenia wirtualnego.
TCP realizuje również koncepcję funkcji wymuszającej. Operacja ta jest realizowana wtedy, gdy aplikacja chce mieć pewność, że wszystkie dane przekazane przez nią do modułu TCP zostały wysłane. W odpowiedzi na żądanie aplikacji, moduł TCP wysyła wszystkie dane znajdujące się w buforach w postaci jednego lub kilku segmentów do odbiorczego modułu TCP. Działanie funkcji wymuszającej sygnalizowane jest bitem PSH równym 1.
Po przesłaniu danych następuje rozłączenie połączenia wirtualnego. Jest ono realizowane trójetapowo z użyciem bitu FIN ustawionego na 1.
Należy tu przypomnieć, że moduł TCP w celu przesyłania segmentu przez sieć przekazuje go do warstwy internet. Tam jest on umieszczany w wewnątrz datagramu, czyli inaczej segment jest uzupełniany o nagłówek datagramu IP. Z kolei protokół IP przekazuje ten datagram do warstwy dostępu do sieci, gdzie po obudowaniu o kolejny nagłówek tworzona jest ramka przesyłana przez sieć.
Protokół UDP
Protokół UDP (User Datagram Protocol) przedstawiono w dokumencie RFC 760. Jest to protokół bezpołączeniowy, nie posiadający mechanizmów sprawdzających poprawność dostarczenia danych. Protokół UDP został opracowany w celu stworzenia aplikacjom możliwości bezpośredniego korzystania z usług IP. Pozwala on aplikacjom na dołączanie do datagramów IP adresów portów komunikujących się aplikacji. Strukturę pakietu protokołu UDP przedstawiono na rysunku 10.7. Znaczenie poszczególnych pól nagłówka tego pakietu jest następujące :
bajty |
|||
1 |
2 |
3 |
4 |
Port źródłowy |
Port docelowy |
||
Długość |
Suma kontrolna |
||
Dane |
Pole port źródłowy (16 bitów) określa numer portu nadawczego procesu aplikacji. Jeśli pole to nie jest wykorzystane, to zawiera same zera.
Pole port docelowy (16 bitów) zawiera numer procesu aplikacji na komputerze docelowym.
Pole długość (16 bitów) zawiera całkowitą długość pakietu (nagłówek i dane) w bajtach.
Pole suma kontrolna jest szesnastobitowym jedynkowym uzupełnieniem jedynkowo uzupełnionej sumy słów nagłówka i danych pakietu.
Protokół UDP jest wykorzystywany w sytuacjach, gdy przesyłamy niewielką liczbę danych. Również protokół ten mogą używać aplikacje działające według modelu zapytanie-odpowiedź. Ogólnie możemy powiedzieć, że UDP może być z powodzeniem używany tam gdzie nie są wymagane usługi protokołu UDP.
Protokoły reguł doboru tras i transmisji szeregowej.
W sieciach TCP/IP routery (gatewaye) spełniają ważną rolę w zakresie kierowania ruchem datagramów. Ruch ten może odbywać się zarówno wewnątrz sieci jak i dotyczyć wymiany informacji między różnymi sieciami. Ponieważ protokół IP nie określa sposobu kierowania ruchem wewnątrz sieci i między sieciami, a zatem opracowano dla tych celów różne protokoły reguł doboru tras. Protokoły te mają za zadanie przede wszystkim przygotować informacje niezbędne do budowy tablic kierunków w routerach (gatewayach).
Pojedyncze sieci są dołączone do routerów łączących je z innymi sieciami. Grupę sieci i routerów administrowanych przez ten sam ośrodek i stanowiących jednolity system wykorzystujący ten sam protokół reguły doboru tras nazywamy systemem autonomicznym lub systemem wewnętrznym lub też domeną. Przykładem takiego systemu autonomicznego może być sieć kampusowa lub sieć wojskowa. Protokoły reguł doboru tras są podzielone na dwie grupy, zależnie od tego w jakim obszarze sieci są wykorzystywane. Protokoły wewnętrznych reguł doboru tras są używane do przesyłania informacji związanych z reguła doboru tras stosowaną wewnątrz systemu autonomicznego, a na potrzeby reguł doboru tras wykorzystywanych do kierowania ruchem między systemami autonomicznymi stosowane są protokoły zewnętrznych reguł doboru tras.
Przykładami protokołów wewnętrznych reguł doboru tras są protokoły RIP i OSPF.
Protokół RIP (Routing Information Protocol) zaliczamy do kategorii protokołów dystansowo-wektorowych. Protokół ten zwykle wybiera trasy o najmniejszej liczbie „przeskoków”, czyli najmniejszej liczbie routerów (węzłów), przez które muszą przejść datagramy na trasie od routera źródłowego do docelowego. Najdłuższa trasa może składać się z co najwyżej piętnastu przeskoków. Jeżeli wyznaczona trasa posiada więcej niż piętnaście przeskoków to protokół RIP przyjmuje, że router docelowy jest nieosiągalny. Z tego powodu protokół ten nie może być stosowany w systemach autonomicznych składających się z dużej liczby routerów.
Decyzje co do wyboru trasy w protokole RIP mogą być podejmowane nie tylko w oparciu o liczbę przeskoków, ale również na podstawie kosztu trasy. Koszt trasy może reprezentować np. opóźnienie, przepustowość trasy lub stopień zabezpieczenia przed niepowołanym dostępem.
Decyzja co do dalszej tras datagramu podejmowana jest przez router na podstawie adresu przeznaczenia i tablicy kierunków. Każdy router wysyła swoje tablice kierunków wraz z obliczonymi wcześniej kosztami tras do sąsiednich routerów średnio co 30s. Na podstawie informacji otrzymanych od sąsiadów router modyfikuje swoje tablice kierunków. W tym celu wyznacza koszty tras prowadzących do innych routerów. Koszt trasy do routera X jest sumą kosztu transmisji do sąsiedniego routera i kosztu trasy prowadzącej od sąsiedniego routera do routera X. Pierwszy składnik tej sumy jest obliczany przez router, a drugi jest nadsyłany z sąsiedniego routera. Następnie dla każdego docelowego routera wybierana jest trasa o najmniejszym koszcie. Jeśli otrzymane informacje dotyczą routera docelowego, który dotychczas nie występował w tablicy kierunków to tablica ta jest odpowiednio uzupełniana przez dodanie nowej trasy. Jeśli informacje o routerze docelowym już znajdują się w tablicy kierunków, to jej modyfikacja jest dokonywana tylko wtedy gdy koszt nowej trasy jest mniejszy od kosztu trasy dotychczasowej. Natomiast informacje o trasach są usuwane z tablicy kierunków jeśli:
-lista przeskoków na trasie przeskoczyła 15,
-sąsiedni router opóźnia się z przekazaniem swojej tablicy kierunków. Zazwyczaj przyjmuje się, że trasy prowadzące przez ten sąsiedni router są usuwane gdy opóźnienie w przesyłaniu tablicy kierunków przekracza 180s.
Protokół OSPF (Open Shortest-Path-First) zaliczymy do protokołów stanu połączenia. W porównaniu z protokołami dystansowo-wektorowymi protokoły stanu połączenia wymagają większej mocy obliczeniowej, zapewniają większy stopień kontroli nad procesem kierowania ruchem datagramów w sieci i szybciej dostosowują się do zmian struktury sieci. Protokół OSPF jest przystosowany do pracy w dużych systemach autonomicznych. Każdy router pracujący z protokołem OSPF musi znać strukturę sieci, w której pracuje. W związku z tym wykonuje on dwa podstawowe zadania :
-testowanie stanów sąsiednich routerów i własnych linii wyjściowych w celu potwierdzenia ich sprawności. Wymiana informacji między sąsiednimi routerami jest dokonywana z użyciem protokołu „hello”.
-okresowe przesyłanie (rozgłaszanie) informacji o stanie połączeń sąsiednimi routerami do wszystkich routerów pracujących w sieci.
Router, na podstawie otrzymywanych informacji, tworzy graf skierowany będący reprezentacją sieci fizycznej. Wierzchołki tego grafu odpowiadają routerom, a łuki skierowane modelują sprawne łącza transmisyjne. Ponieważ każdy z routerów pracujących w sieci otrzymuje te same informacje o sieci, więc każdy z nich tworzy ten sam graf. Następnie każdy router wyznacza najkrótszą trasę do każdego innego routera. Do wyznaczenia najkrótszych tras zwykle wykorzystywany jest algorytm Dijkstry. Tablice kierunków są uaktualniane w oparciu o obliczone, najkrótsze trasy. W przypadku, gdy do pewnego routera istnieją dwie trasy o jednakowych minimalnych długościach, strumień datagramów dzielony jest na dwie równe części, z których każda przesyłana jest inną trasą.
Każdy router wewnątrz sytemu autonomicznego do wyznaczania najkrótszych tras korzysta z tych samych danych i stosuje ten sam algorytm, a zatem zapobiega to występowaniu pętli na trasach, po których przesyłane są datagramy. Zapobieganie występowaniu pętli na trasach jest bardzo ważną własnością protokołu OSPF, która między innymi wydatnie zwiększa efektywność działania sieci.
Protokoły zewnętrznych reguł doboru tras są wykorzystywane do wymiany informacji związanych ze sposobem przesyłania datagramów między systemami autonomicznymi. Do takich protokołów zaliczamy np. protokoły EGP lub BGP.
Protokół EGP (Exterior Gateway Protocol) umożliwia wymianę komunikatów między parą sąsiednich routerów zewnętrznych. Router zewnętrzny to taki sam router, który z jednej strony ma możliwość komunikowania się z innymi routerami wewnątrz systemu autonomicznego, a z drugiej z routerami zewnętrznymi innych systemów autonomicznych. System autonomiczny może posiadać jeden lub wiele routerów zewnętrznych.
Każdy router zewnętrzny wymienia informacje związane z wewnętrzną reguła doboru tras z routerami wewnętrznymi systemu autonomicznego korzystają z protokołu wewnętrznej reguły doboru tras. Pozwala to routerowi zewnętrznemu na uzyskanie informacji o adresach komputerów (użytkowników końcowych) znajdujących się w systemie autonomicznym. Ponadto każdy router zewnętrzny wymienia informacje związane z zewnętrzną regułą doboru tras z sąsiednimi routerami zewnętrznymi innych systemów autonomicznych.
Podstawowe procedury wykonywane przez router zewnętrzny pracujący według protokołu AGP to :
-poznanie sąsiada poprzez wymianę specjalnych komunikatów między sąsiednimi routerami zewnętrznymi
-okresowa wymiana informacji związanej z kierowaniem ruchem datagramów między dwoma sąsiednimi routerami zewnętrznymi
-monitorowanie dostępności sąsiednich routerów zewnętrznych realizowane przez wysyłanie odpowiedniego komunikatu i oczekiwanie na odpowiedź. Jeśli po trzykrotnym wysłaniu komunikatu ciągle brak odpowiedzi, to zakłada się, że sąsiedni router zewnętrzny przestał działać i wówczas usuwa się z tablicy kierunków wszystkie prowadzące przez niego trasy.
Router zewnętrzny zwykle utrzymuje dwie tablice kierunków. Jedną dotyczącą kierowania ruchem datagramów wewnątrz systemu autonomicznego i drugą z trasami do innych routerów zewnętrznych. Tablica związana z ruchem datagramów wewnątrz sytemu autonomicznego jest wyznaczana (aktualizowana) z użyciem protokołów wewnętrznych reguł doboru tras, a tablica kierunków dotyczących wymiany datagramów między systemami autonomicznymi jest wyznaczana z użyciem procedur nie definiowanych przez protokół EGP.
Protokół BGP (Border Gateway Protocol) zdefiniowany w dokumencie RFC 1163 zaczyna zastępować protokół EGP. Routery zewnętrzne pracujące z protokołem BGP podobnie jak routery z protokołem EGP, wymieniają informację o dostępności systemów autonomicznych. Ponadto przesyłane są atrybuty trasy takie jak koszty czy też zabezpieczenia przed niepowołanym dostępem. Atrybuty te również mogą zawierać informacje służące do wyboru tras na podstawie wymagań administracyjnych (nietechnicznych), np. związanych z bezpieczeństwem datagramów. Na podstawie otrzymanych informacji protokół BGP wybiera najkrótszą trasę. Informacje wymieniane są jedynie przyrostowo, a nie przez przesyłanie całej bazy danych dotyczącej zewnętrznej reguły doboru tras, zatem protokół ten nie powoduje dużego przyrostu ruchu w sieci.
Protokoły TCP/IP mogą działać korzystając z wielu różnych mediów transmisyjnych. Jednym z jednych istotniejszych nośników są łącza szeregowe z uwagi na to, że wielu zdalnych użytkowników łączy się z sieciami TCP/IP poprzez np. łącza telefoniczne, a także z uwagi na rozwój sieci rozległych pracujących z protokołami TCP/IP. Te dwa powody wymusiły standaryzację komunikacji TCP/IP poprzez łącza szeregowe, co doprowadziło do powstania dwóch protokołów dla łączy szeregowych SLIP i PPP.
Protokół SLIP (Serial Line IP) został opisany w dokumencie RFC 1055. Umożliwia on asynchroniczny lub synchroniczny transfer danych przez łącza dzierżawione lub komutowane z szybkością transmisji do 19.2 Kb/s. Pozwala łączyć ze sobą komputery, routery i stacje robocze. Protokół SLIP w prosty sposób obudowuje datagramy IP podczas ich przesyłania przez łącza szeregowe. SLIP traktuje dane jako ciąg bajtów i używa następujących dwóch znaków specjalnych do oznaczania końca datagramu:
-znak SLIP END (kod 192) oznacza koniec datagramu
-znak SLIP ESC (kod 219) wskazujący, że następny znak nie jest znakiem specjalnym protokołu SLIP. W trakcie transmisji może zdarzyć się , że w nadawanym ciągu danych wystąpią sekwencje odpowiadające znakom specjalnym, co oznaczało błędną ich interpretację przez odbiornik. Aby się przed tym zabezpieczyć nadajnik bada wysyłany ciąg bajtów i wstawia dodatkowy znak ESC bezpośrednio przed bajtem odpowiadającym znakowi specjalnemu. Pozwala to zapobiec interpretowaniu przez protokół SLIP bajtu stanowiącego dane jako końca datagramu.
Protokół SLIP może przekazywać datagramy o długości do 1006 bajtów. Nie zawiera on w sobie mechanizmów detekcji i korekcji błędów, a także nie posiada mechanizmów adresowania. Oba komunikujące się systemy muszą znać wzajemnie swoje adresy i mogą przesyłać z użyciem protokołu SLIP wyłącznie datagramy IP. Protokół ten może być wykorzystywany jedynie w transmisji punkt-punkt. Ponadto komunikujące się systemy muszą mieć zainstalowane te same wersje protokołu SLIP.
Wymienione wyżej braki protokołu SLIP nie są istotne dla części zastosowań, a w innych zastosowaniach stanowią wielką przeszkodę. SLIP zaleca się stosować do odległych systemów, komputerów lub stacji roboczych przesyłających wyłącznie datagramy IP, nie zaleca się go stosować w środowisku sieci rozległych do łączenia routerów.
Warstwa sieciowa |
NCP |
Warstwa sterowania łączem |
LCP |
|
DLLP |
Warstwa fizyczna |
V.24, V.35, EIA-232E, EIA-422, EIA-423 |
Protokół PPP (Point to Point Protocol) opracowano jako standard przeznaczony do użycia w sieci Internet. Można go również stosować w innych sieciach rozległych (RFC 1171 i 1172). Jest to protokół do transmisji synchronicznej i asynchronicznej po łączach dzierżawionych i komutowanych. Protokół PPP może przenosić pakiety pochodzące od różnych protokołów warstwy sieciowej: IP, IPX, AppleTalk, DECnet, CLNP oraz MAC. Inną właściwością PPP jest posiadanie mechanizmu adresacji IP co pozwala łączyć się zdalnym użytkownikom w dowolnym miejscu sieci, a także ograniczeń co do szybkości transmisji. Datagramy IP lub pakiety innych protokołów są przesyłane wewnątrz ramek protokołu PPP. Struktura tej ramki jest podobna do struktury ramki HDLC z tym, że ramka PPP ma dodatkowe pole określające od jakiego protokołu pochodzą dane zawarte w polu informacyjnym ramki.
PPP obejmuje swym działaniem trzy najniższe warstwy modelu ISO-OSI. Warstwy PPP pełnią następujące funkcje:
-warstwa fizyczna definiuje transmisję poprzez łącza synchroniczne i asynchroniczne z użyciem takich protokołów EIA-232E, EIA-422, EIA-433, V.24, oraz V.35.
-warstwa sterowania składa się z dwóch części. Protokół DLLP (Data Link Layer Protocol) jest nieznacznie zmodyfikowaną wersją protokołu HDLC. Modyfikacja polega na dodaniu do ramki pola określającego protokół z którego przychodzą dane. DLLP jest używany zarówno do transmisji synchronicznej jak i do asynchronicznej. Protokół LCP (Link Control Protocol) zakłada i utrzymuje łącze między dwoma połączonymi stacjami. Dostarcza on informacji sterującej połączeniem szeregowym. Stosuje się go do ustanawiania połączenia logicznego, negocjacji parametrów konfiguracyjnych połączenia, utrzymywania połączenia, sprawdzania jakości połączenia i rozłączania połączenia.
-warstwa sieciowa zawiera zbiór protokołów NCP (Network Control Protocol). Ponieważ każdy protokół sieciowy posiada swój własny protokół NCP wyposażony w procedury kontrolne, pozwala to PPP na przesyłanie danych pochodzących z różnych protokołów sieciowych. Z czasem producenci protokołów sieciowych zaczęli dołączać swoje protokoły NCP dzięki czemu PPP może obsłużyć różne urządzenia sieciowe pracujące z różnymi protokołami.
Zarządzanie sieciami. Protokół SNMP.
Obszary funkcjonalne zarządzania:
Zarządzanie konfiguracją - identyfikuje, sprawdza i dostarcza dane w celu odpowiedniego przygotowania do inicjowania, startowania i zapewnienia ciągłości funkcjonowania obiektu. Obejmuje m.in. ustawianie wartości atrybutów, które sterują funkcjonowaniem obiektu, zbieranie informacji o bieżącym jego stanie oraz zmieniania konfiguracji obiektu.
Zarządzanie obsługą uszkodzeń - wykrywanie niesprawności, wyizolowanie i korekta niepoprawnego działania obiektu. Uszkodzenia powodują, że obiekt nie realizuje swoich zadań, przy czym mogą być one trwałe lub przejściowe. Funkcje zarządzające w tym zakresie obejmują m.in.: potwierdzanie i podejmowanie akcji po zgłoszeniu wykrycia błędu, śledzenie i identyfikacja niesprawności.
Zarządzanie efektywnością - umożliwia oszacowanie zachowania się obiektu i skuteczności jego funkcjonowania. Obejmuje m.in. funkcje zbierania informacji statystycznych, określenie efektywności obiektu w warunkach naturalnych, sztucznych, zmianę trybu pracy obiektu w celu przeprowadzenia działań związanych z zarządzaniem efektywnością.
Zarządzanie bezpieczeństwem - obejmuje funkcje tworzenia, usuwania i sterowania mechanizmami zabezpieczeń, raportowania zdarzeń związanych z zabezpieczeniem oraz rozdzielania informacji związanych z zabezpieczeniem.
Zarządzanie rozliczeniami - umożliwia ustalanie taryfikacji za dostęp do obiektu i korzystanie z jego zasobów. Funkcja zarządzania rozliczeniami dotyczy m.in. informowania o kosztach wynikających z wykorzystania obiektu.
Oprócz protokołów, które zapewniają usługi na poziomie sieci i programów użytkowych umożliwiających wykorzystywanie tych protokołów oprogramowanie intersieci potrzebuje narzędzi pozwalających administratorom na znajdowanie przyczyn problemów, sterowanie wyznaczaniem tras oraz wykrywanie komputerów, które naruszają standardy protokołów. Zadania tego typu określa się mianem zarządzania intersiecią.
Obecnie standardowym protokołem zarządzania sieciami TCP/IP jest Simple Network Management Protocol (SNMP).
Standard dla informacji sterujących.
Router kontrolowany za pomocą SNMP musi przechowywać i udostępniać administratorowi informacje sterujące i informacje o stanie. Router taki gromadzi np. informacje statystyczne dotyczące stanu jego interfejsów sieciowych, przychodzących i wysyłanych pakietów, porzucanych datagramów oraz wysyłanych komunikatów o błędach. Protokół SNMP umożliwia administratorowi dostęp do tych informacji, ale nie określa, w jaki sposób ten dostęp ma być zrealizowany. Temu zagadnieniu jest poświęcony osobny standard - Management Information Base (MIB), który określa jakie informacje musi przechowywać router i jakie operacje mogą być na nich określone. Standard MIB np. wymaga, aby oprogramowanie IP przechowywało informacje o liczbie oktetów przychodzących do każdego z interfejsów sieciowych, określa też że oprogramowanie zarządzające może jedynie odczytywać tę informację.
Standard MIB dla TCP/IP dzieli informacje sterujące na osiem kategorii, wymienionych w tabelce:
Kategoria MIB |
Związane informacje |
system |
System operacyjny komputera lub routera |
interfaces |
Poszczególne interfejsy sieciowe |
addr.trans. |
Tłumaczenie adresów (np. odwzorowanie ARP) |
ip |
Oprogramowanie IP |
icmp |
Oprogramowanie ICMP |
tcp |
Oprogramowanie TCP |
udp |
Oprogramowanie UDP |
egp |
Oprogramowanie EGP |
Wybór tych kategorii jest istotny, gdyż identyfikator każdej pozycji MIB zawiera kod tej kategorii.
Oddzielenie standardu MIB od protokołu zarządzania siecią ma zalety zarówno dla użytkowników, jak i dla producentów sprzętu i oprogramowania. Producent może dostarczać oprogramowanie SNMP wraz z routerem i mieć pewność, że oprogramowanie to będzie działać poprawnie nawet po określeniu nowych pozycji MIB. Użytkownik może używać tego samego klienta zarządzania siecią do sterowania pracą wielu routerów wyposażonych w różne wersje MIB. Oczywiście router, który nie ma nowych pozycji MIB nie może dostarczyć żądanych informacji, mogą więc analizować używają tego samego języka do przekazywania informacji, mogą więc analizować zapytania i dostarczać żądanych informacji lub wysyłać komunikat, że nie mają potrzebnych pozycji.
Struktura informacji sterujących.
Oprócz standardu MIB, który definiuje zmienne używane przy zarządzaniu siecią oraz znaczenie tych zmiennych, istnieje osobny standard, który określa reguły definiowania i identyfikacji zmiennych MIB. Reguły te znane jako Structure of Management Information (SMI). W celu uproszczenia protokołów zarządzania siecią SMI wprowadza ograniczenia na typy zmiennych MIB, określa reguły nazywania tych zmiennych oraz reguły definiowania typów zmiennych. Standard SMI podaje np. definicję nazw IpAddress (ciąg 4 oktetów) oraz Counter (liczba z przedziału od 0 do 232-1) i określa, że nazwy te mogą być wykorzystywane przy definiowaniu zmiennych MIB. Co więcej reguły SMI precyzują, w jaki sposób można się odwoływać do tabel MIB (np. tablicy tras IP).
Definicje formalne przy użyciu ASN.1.
Standard SMI określa, że definicje i odwołania do wszystkich zmiennych MIB muszą odwoływać notacji dla składni abstrakcyjnej ASN.1 (Abstract Syntax Notation 1), opracowanej przez ISO. ASN.1 jest językiem formalnym, który ma dwie reprezentację informacji używanych w protokołach komunikacyjnych. W obu przypadkach precyzyjna, formalna notacja umożliwia uniknięcie jakichkolwiek niejednoznaczności zarówno dotyczących reprezentacji, jak i znaczenia. Na przykład, zamiast powiedzieć, że wartością zmiennej jest liczba całkowita, projektant protokołu korzystający z ASN.1 musi określić format zapisu liczby i przedział wartości. Taka dokładność jest szczególnie istotna w środowisku zawierającym wiele typów komputerów, które używają różnych reprezentacji danych.
Poza zapewnieniem jednoznaczności dokumentów standaryzacyjnych, ASN.1 umożliwia uproszczenie implementacji protokołów zarządzania siecią i zapewnia współpracę produktów różnych firm. Dostarcza ona ścisłej definicji kodowania nazw i wartości danych w komunikacie. Wobec tego, jeżeli dokumentacja MIB będzie wyrażona w notacji ASN.1, to można bezpośrednio i jednoznacznie przekształcić wersją czytelną dla człowieka na zakodowaną postać używaną w komunikatach.
Protokół SNMP.
Protokoły zarządzania siecią określają sposób komunikacji między programem-klientem do zarządzania siecią używanym przez administratora a serwerem działającym na komputerze lub routerze. Poza określeniem postaci i znaczenia komunikatów oraz reprezentacji nazw i wartości w tych komunikatach, protokoły zarządzania siecią definiują również zależności między kontrolowanymi routerami. Oznacza to, że udostępniają one możliwość uwierzytelniania administratorów.
SNMP używa podejścia do zarządzania siecią, w którym wszystkie operacje są wykonywane przy użyciu modelu przeczytaj-zapisz. SNMP dostarcza tylko dwóch poleceń: do odczytania wartości zmiennej i do jej zapisania. Wszystkie inne operacje są ich efektami ubocznymi. SNMP nie oferuje np. operacji reboot (do przeładowania systemu), ale potrzebny efekt można uzyskać, ustawiając zmienną określającą czas do następnego przeładowania systemu, której wartość może być zmieniona przez administratora (np. ustawiona na wartość 0).
Główne zalety modelu przeczytaj-zapisz to stabilność, prostota i elastyczność. SNMP jest dość stabilny, gdyż jego definicja nie wymaga zmian przy dodawaniu nowych zmiennych do MIB i określaniu operacji na nich (gdyż są one definiowane jako skutki uboczne zmiany wartości tych zmiennych). Protokół SNMP jest łatwy do zrozumienia i implementacji. Umożliwia łatwe wykrywanie błędów, gdyż nie wymaga osobnych przypadków szczególnych dla poszczególnych poleceń. SNMP jest bardzo elastyczny, gdyż umożliwia dodawania nowych poleceń w ramach bardzo eleganckiego mechanizmu.
SNMP zapewnia więcej niż tylko dwie operacje:
Polecenie |
Znaczenie |
get-request |
Odczytaj wartość wskazanej zmiennej |
get-next-request |
Odczytaj wartość bez podania jej dokładnej nazwy |
get-response |
Odpowiedź na operację odczytania wartości |
set-request |
Ustaw wartość określonej zmiennej |
trap |
Odpowiedź wywołana przez zdarzenie |
Operacje get-request, get-response i set-request stanowią podstawowy zestaw operacji do odczytywania i zapisywania danych (oraz odpowiedzi na te operacje). SNMP wymaga, by operacje były niepodzielne (atomic), co znaczy, że jeśli komunikat SNMP nakazuje wykonanie operacji dotyczących wielu zmiennych, to serwer musi wykonać albo wszystkie nakazane operacje, albo żadnej. W szczególności w razie wystąpienia błędu nie zmieni się wartość żadnej ze zmiennych. Operacja trap umożliwia administratorowi wyrażanie żądania, by serwer wysyłał informacje, gdy wystąpią określone zdarzenia. Można np. nakazać serwerowi SNMP wysyłanie do administratora komunikatu trap, gdy jedna z sieci stanie się niedostępna (np. z powodu awarii interfejsu).
Protokół SMNP jest rozszerzalny. Dostawcy mogą poszerzać zakres informacji gromadzonych w bazie MIB, tak aby możliwe było uwzględnienie cech urządzeń przez nich produkowanych.
Format komunikatów SNMP.
W odróżnieniu od większości protokołów TCP/IP komunikaty SNMP nie mają ustalonych pól, lecz używają standardowego kodowania ASN.1. Komunikat SNMP składa się z trzech głównych części: version (wersja protokołu), community (identyfikator wspólnoty SNMP służący do grupowania routerów zarządzanych przez danego administratora) oraz data (obszaru danych). Obszar danych jest podzielony na jednostki danych protokołu (Protocol Data Unit, PDN). Każda jednostka składa się z żądania (wysyłanego przez klienta) lub odpowiedzi (wysyłanej przez serwer).
Podsumowanie.
Protokoły zarządzania siecią umożliwiają administratorowi nadzór i sterowanie pracą routerów i komputerów. Program-klient do zarządzania siecią, który pracuje na komputerze administratora kontaktuje się z jednym lub wieloma serwerami (nazywanymi agentami) działającymi na zarządzanych komputerach. Intersieć składa się z komputerów i sieci różnych typów, oprogramowanie zarządzania intersieciami TCP/IP jest więc programem użytkowym, który używa protokołów transportowych intersieci (np. UDP) w celu zapewnienia komunikacji między klientem i serwerami.
Standardowym protokołem zarządzania sieciami TCP/IP jest SNMP. Jest to protokół niskiego poziomu, który zapewnia dwie podstawowe operacje: odczytywania wartości zmiennej i ustawienia wartości zmiennej. Wszystkie operacje są skutkami ubocznymi zmiany wartości zmiennych. SNMP określa format komunikatów, które są przesyłane między komputerem administrator i zarządzanym przezeń urządzeniem.
Ze standardem SNMP jest związany standard określający zbiór zmiennych, które muszą być dostępne na zarządzanym urządzeniu. Standard ten jest znany jako MIB. Zmienne MIB są zdefiniowane przy użyciu ASN.1, formalnej notacji zapewniającej możliwość zwięzłego kodowania nazw, czytelnej dla człowieka, będącej jednocześnie ścisłą notacją dla nazw i obiektów. ASN.1 używa hierarchicznej przestrzeni nazw, aby zapewnić globalną jednoznaczność nazw MIB, umożliwiając jednocześnie grupom niezależne od innych przydzielanie nazw z różnych części przestrzeni nazw.
Literatura:
Sheldon T., Wielka encyklopedia sieci komputerowych.
Wolisz A., Podstawy lokalnych sieci komputerowych.
Nunenmacher G., Przewodnik po sieciach lokalnych.
Comer D. E., Sieci komputerowe TCP/IP.
Rozległe sieci komputerowe.
Wykorzystano również materiały z wykładu „Sieci komputerowe” prowadzonego przez dr hab. inż. M. Stroińskiego.
2