Sieci i Systemy Teleinformatyczne (SIST)
4. Podstawy architektury sieci logicznej
Sieci komputerowe, łączące róŜnorodne systemy operacyjne i platformy
sprzętowe przy uŜyciu róŜnych mediów transmisyjnych, musiały zostać w jakiś
sposób znormalizowane. Nie było to jednak łatwe. Do roku 1978 nie istniał Ŝaden
standard określający sposób komunikacji komputerowej, w związku z czym
powstawały róŜne modele zamknięte, wśród których były między innymi:
• Model SNA (System Network Architecture) opracowany przez firmę IBM.
Architektura ta słuŜyła głównie do komunikacji między produktami tej firmy, a w
szczególności między duŜymi i średnimi systemami komputerowymi.
• Model DNA (Digital Network Architecture) opracowany przez firmę DEC. W
ramach tej architektury zdefiniowany został zestaw protokołów oraz formaty i
mechanizmy wymiany komunikatów w sieci.
Modele te miały jedną, podstawową wadę - nie mogły współpracować między
sobą, były ze sobą niekompatybilne. O ile pozwalały na łączenie systemów
jednego producenta, o tyle połączenie róŜnych systemów było bardzo uciąŜliwe,
często wręcz niemoŜliwe (nie były jeszcze znane urządzenia sieciowe zwane
bramkami (gateway).
W roku 1978 zdecydowano się na opracowanie otwartego standardu, który
umoŜliwiałby komunikację zgodnych z nim systemów komputerowych.
Często wygodnym podejściem do problemu jest rozbicie go na mniejsze, juŜ
łatwiejsze do rozwiązania. Ta sprawdzona strategia znalazła takŜe zastosowanie w
przypadku sieci komputerowych (logicznych), a rezultatem takiego podejścia jest
model OSI
, który to skrót oznacza
Open Systems Interconnection
, czyli połączenie
systemów otwartych. Model ten jest normą komunikacji komputerowej, określoną
przez Międzynarodową Organizację Normalizacyjną ISO. Problem komunikacji
komputerowej został rozbity na 7 warstw, łączących w sobie logicznie powiązane
funkcje. KaŜda ze wspomnianych warstw funkcjonuje jako moduł. Teoretycznie
istnieje moŜliwość podmienienia dowolnej warstwy, nie wpływając na działanie
pozostałych.
Ostatecznie, model OSI (Open Systems Interconnection) składa się z
następujących siedmiu (7) warstw:
Warstwa fizyczna
(physical layer) - umoŜliwia przesyłanie pojedynczych bitów
między połączonymi stacjami z wykorzystaniem łącza. Usługi tej warstwy
polegają na przesłaniu informacji reprezentowanej przez ciąg bitów z
zachowaniem ich oryginalnej sekwencji oraz wykrywaniem nieprawidłowości
występujących w trakcie ich transmisji przez odbiorcę informacji. Warstwa ta
odpowiedzialna jest takŜe za wykrywanie stanów specjalnych łącza. Na poziomie
tej warstwy zdefiniowane są równieŜ cechy fizyczne interfejsu sieciowego: cechy
mechaniczne, elektryczne, złącza, poziomy napięć oraz inne aspekty elektryczne.
Warstwa fizyczna przesyła dane dla wszystkich wyŜszych warstw modelu.
Warstwa łącza danych
(data link layer) - na poziomie tym zdefiniowane są reguły
przesyłania i otrzymywania informacji. Warstwa ta zapewnia prawidłową
transmisję między węzłami sieci oraz umoŜliwia wykrywanie oraz korekcję
błędów powstałych na warstwie niŜszej, czyli w warstwie fizycznej. W przypadku
połączenia wielu węzłów sieci z wykorzystaniem jednego nośnika, do obowiązków
warstwy łącza danych naleŜy prawidłowe wykrywanie stanu łącza oraz organizacja
bezkolizyjnego dostępu do medium.
W przeciwieństwie do warstwy fizycznej przesyłającej bity informacji
,
warstwa
łącza danych przesyła ramki o określonej strukturze i jawnym określeniu początku
i końca porcji informacji
. Istnieje szeroka gama protokołów wykorzystywanych
przez warstwę łącza, a wybór konkretnego z nich uzaleŜniony jest od jakości łącza
i jego zastosowania. Na poziomie tej warstwy pracują mosty sieciowe (bridge).
Warstwa sieciowa
(network layer)- warstwa ta ma za zadanie umoŜliwienie
utworzenia drogi między stacją nadawczą, a odbiorczą oraz wybór
najkorzystniejszej z moŜliwych dróg transmisji (routing) i uniknięcie przeciąŜenia
sieci. Na poziomie warstwy sieciowej pracują routery. Warstwa ta musi pozwalać
na fragmentację ramek, w przypadku gdy wykorzystywana sieć posiada mniejszą
maksymalną wartość MTU (Maximum Transmission Unit). Sfragmentowane
ramki muszą zostać poprawnie złoŜone po dotarciu do stacji docelowej. Warstwa
sieciowa odpowiada takŜe za rozwijanie nazwy komputera (z warstwy sieciowej)
do adresu NIC (Network Interface Card) wykorzystywanego w warstwie łącza
danych. Warstwa sieciowa komputera nadającego musi stworzyć swój nagłówek w
taki sposób, by inne systemy wykorzystywane w sieci mogły rozpoznać ją w
prawidłowy sposób, co umoŜliwia przesłanie informacji do stacji docelowej.
Dzięki tej warstwie wyŜsze warstwy nie muszą posiadać wiedzy na temat
wykorzystywanych technologii przesyłania danych oraz innych technologii
wykorzystywanych przy łączeniu poszczególnych stacji. Nawiązywanie,
utrzymywanie oraz przerywanie połączeń z innymi systemami naleŜy do zadań
warstwy sieciowej.
Warstwa transportowa
(transport layer) - obowiązkiem warstwy tej jest
zapewnienie transmisji zgodnie z wymaganymi charakterystykami, do których
zalicza się m.in.: przepustowość, stopę błędów, opóźnienia transmisji. Warstwa
transportowa powinna realizować transmisję w sposób najbardziej efektywny,
czyli spełniać wymagane warunki techniczne w sposób najbardziej ekonomiczny
(
uzgodniony poziom jakości
).
W realizacji swych zadań warstwa ta wykorzystuje usługi oferowane przez
wcześniej omówione warstwy i ukrywa je przed warstwami wyŜszymi oferując im
ustalony interfejs, przez co wyŜsze warstwy nie muszą wnikać w strukturę
konkretnej sieci. Warstwa ta ponadto gwarantuje dostarczenie danych do odbiorcy
oraz niezawodność transmisji o ile nie są one realizowane przez niŜsze warstwy.
Warstwa ta oferuje usługi połączeniowe, a więc zestawiane jest łącze, którym
wędrują
pakiety
danych
docierające
do
odbiorcy
sekwencyjnie,
lub
bezpołączeniowe (łącze nie jest zestawiane). Typowo wykorzystywanymi
protokołami pracującymi w tej warstwie są: TCP, UDP, SPC lub NetBEUl.
Warstwa sesji
(session layer) - rolą tej warstwy jest rozszerzenie warstwy
transportowej o środki umoŜliwiające synchronizację sieciowego dialogu oraz
zarządzanie wymianą danych między aplikacjami. W warstwie tej mogą być
tworzone punkty synchronizacji, które w przypadku wystąpienia błędów transmisji
(na przykład w przypadku awarii łącza) umoŜliwiają cofnięcie dialogu i
kontynuowanie synchronicznej transmisji.
Głównym zadaniem tej warstwy jest sprawdzanie, kiedy uŜytkownik moŜe
wysłać lub odebrać dane, zaleŜnie od tego, czy dane moŜna wysyłać i odbierać
jednocześnie, czy na przemian.
Warstwa prezentacji
(presentation layer)- warstwa ta ma za zadanie
przekształcenie róŜnorodnych sposobów reprezentacji danych, jakie spotykane są
w róŜnych systemach operacyjnych na jednorodną formę sieciową, w taki sposób
by wymiana danych moŜliwa była między wszystkimi istniejącymi systemami
implementującymi model OSI. Warto podkreślić, Ŝe przekształcenie to dotyczy
jedynie sposobu reprezentacji informacji, nie ingeruje w jej treść. W warstwie tej
dokonywane jest takŜe szyfrowanie danych (translacja kodów znaków) oraz ich
konwersja i kompresja.
Warstwa aplikacji
(application layer) - jest to najwyŜsza warstwa omawianego
modelu. Oferuje ona całość usług komunikacyjnych procesom uŜytkowników.
Udostępniane w warstwie tej funkcje to: ustalenie protokołu transmisji,
nawiązywanie i zawieszanie połączenia, synchronizacja transmisji, autentykacja
połączeń, monitorowanie i zarządzanie połączonymi systemami oraz uŜywanymi
przez zasobami.
Prace nad modelem OSI wciąŜ trwają. Dla pewnych warstw opracowano juŜ
specjalne standardy dopasowane do wymogów modelu, natomiast standardy dla
pozostałych warstw są dopiero formułowane. Model OSI miał i wciąŜ ma wielki
wpływ na zagadnienia związane z przesyłaniem danych - szczególnie w kontekście
sieci lokalnych. Wiele standardów stosowanych w sieciach lokalnych pochodzi
właśnie z modelu OSI. Na przykład
dwie pierwsze warstwy modelu (fizyczna i
łącza danych) bardzo wpłynęły na opracowanie i zdefiniowanie standardów sieci
lokalnych
. Największą zasługę ma tu Projekt 802, który skoncentrował się na tych
właśnie warstwach modelu, podczas gdy funkcje wyŜszych warstw modelu OSI
pozostawiono do opracowania autorom implementacji sieci.
IEEE Projekt 802
W lutym roku 1980 organizacja IEEE powołała komitet standardów, którego
zadaniem miały być prace w zakresie modelu odniesienia OSI. Projekt 802
wprowadził jedną (zasadniczą) zmianę: warstwę łącza danych podzielono na dwie
podgrupy.
NiŜsza podwarstwa nosi nazwę MAC (Media Access Control) i
zapewnia wspólny dostęp do fizycznej warstwy sieci. WyŜsza warstwa nazywa się
LLC (Logical Link Control) i zapewnia usługi dotyczące łącz danych dla
wyŜszych poziomów modelu OSI
.
Komitet 802 opublikował serię dokumentów opracowanych przez jego grupy
robocze, w tym m.in.:
802.1 - przegląd prac projektu definiującego model odniesienia dla sieci
lokalnej. Dotyczy równieŜ takich zagadnień, jak formaty, zarządzanie siecią,
oraz łączenie sieci.
802.2 - opisuje usługi warstwy LLC oraz pojęcia pierwotne uŜywane we
wszystkich specyfikacjach sieci opracowanych przez IEEE.
802.3
- definiuje standardy dla warstwy MAC i fizycznej w sieciach
magistralowych działających zgodnie z algorytmem CSMA/CD.
802.4 - definiuje standardy dla warstwy MAC i fizycznej w sieciach
magistralowych z przesyłaniem znaczników.
802.5
- definiuje standardy dla warstwy MAC i fizycznej w sieciach
pierścieniowych z przesyłaniem znaczników w paśmie podstawowym.
802.7 - dokument opracowany przez grupę doradczą, dotyczący sieci
szerokopasmowych. Zawiera materiały informacyjne dla innych grup, dotyczące
transmisji szerokopasmowych.
502.5 - dokument opracowany przez grupę doradczą, dotyczący sieci światłowo-
dowych, zawierający analizę wpływu technologii światłowodowych na
pozostałe grupy tematyczne.
Wśród wymienionych wyŜej dokumentów, dwa mają zasadnicze znaczenie dla
dzisiejszych sieci lokalnych:
802.3
i
802.5
.
Znaczenie grupy 802.3 wynika z tego, Ŝe opracowane prze nią dokumenty
wyjaśniają zasady podstawowej metody dostępu
CSMA/CD
(omówionej dalej) do
sieci.
Grupa ta sformułowała równieŜ standard dla sieci pracujących w paśmie
podstawowym. Specyfikacja opracowana przez grupę 802.3 bardzo przypomina
architekturę Ethemet, jedno z podstawowych rozwiązań stosowanych we
współczesnych sieciach lokalnych.
Grupa 802.5 jest równieŜ waŜna, a to na skutek opublikowanej przez nią
definicji sposobu
przesyłania znaczników
w sieci o topologii pierścieniowej. Dziś
uŜywa się tej metody w architekturze Token Ring.
Podsumowując, najczęściej obecnie stosowane sieci Ethemet i Token Ring - mają
swój początek w Projekcie 802.
Metody dostępu
Sieć lokalną składającą się z wielu stacji roboczych moŜna zestawiać na wiele
róŜnych sposobów, stosując róŜne topologie. KaŜda topologia moŜe mieć
odmienny układ okablowania i fizycznego ustawienia stacji i zawsze powstaje
pytanie, w jaki sposób stacje robocze mają uzyskiwać dostęp do okablowania w
celu wysyłania i odbierania informacji.
Węzły sieci uzyskują dostęp do sieci lokalnej korzystając z metod dostępu do
nośnika (ang. Media Access Method) - z góry zdefiniowanego zestawu reguł lub
protokołów.
Koncepcję metod dostępu łatwiej wyjaśnić stosując analogię do ruchu na
autostradzie. Jeśli przyjmie się, Ŝe okablowanie odpowiada autostradzie, to
serwery i stacje robocze moŜna porównać do startowych i docelowych punktów
podróŜy. Stacja robocza komunikuje się z serwerem wysyłając do niego Ŝądanie,
które dociera do serwera „podróŜując” przez kabel (autostradę). WjeŜdŜając na
autostradę i opuszczając ją naleŜy przestrzegać pewnych reguł: wjazdy słuŜą do
przyspieszenia i dopasowania się do szybkiego ruchu na autostradzie, natomiast
zjazdy pozwalają zwolnić po opuszczeniu głównego ciągu szybkiego ruchu na
autostradzie.
Metody dostępu do nośnika określają sposoby, na jakie stacje robocze
wprowadzają i odbierają dane z okablowania. Największą popularność zdobyły
dwie: CSMA/CD i Przekazywanie znacznika.
Metoda CSMA/CD
CSMA/CD
- to skrót od angielskiego terminu Carrier Sense Multiple Access with
Collision Detection (
dostęp wielokrotny z wykrywaniem nośnej i detekcją kolizji
).
Zasadnicza idea polega na tym, Ŝe stacje robocze (karty sieciowe) „przysłuchują"
się ruchowi w sieci i transmitują dane tylko wtedy, kiedy wykryją ciszę,
„rywalizując” o dostęp do sieci z innymi stacjami.
Metodę CSMA/CD najprościej opisać przez analogię do staromodnego telefonu
towarzyskiego. Dopóki dostęp do linii komunikacyjnych był utrudniony, ludzie
musieli korzystać ze wspólnych linii. Kiedy ktoś chciał gdzieś zadzwonić, musiał
najpierw podnieść słuchawkę i sprawdzić, czy ktoś inny właśnie nie rozmawia.
Oczywiście moŜna podnieść słuchawkę i po prostu zacząć mówić, ale głosy na linii
będą ze sobą kolidowały i rozmowa stanie się kompletnie niezrozumiała. Przy
załoŜeniu przychylnego nastawienia wszystkich uŜytkowników wspólnej linii moŜna
ustalić pewne reguły (protokoły), opisujące sposoby postępowania podczas takich
wypadków.
Podobnie działa metoda CSMA/CD. Po ustaleniu protokołów węzły sieci mogą
bez zakłóceń wysłać swoje dane. Metodę tą po raz pierwszy wdroŜono w sieci
rozległej
ALOHA na Uniwersytecie Hawajskim w latach sześćdziesiątych.
Metoda Przekazywanie znacznika
Przekazywanie znacznika
- to deterministyczna metoda dostępu, gdyŜ węzeł (karta
sieciowa) moŜe wysyłać informacje do sieci tylko wtedy, kiedy jest w posiadaniu
znacznika. Znacznik podróŜuje przez sieć zatrzymując się przy kaŜdym węźle w
celu sprawdzenia, czy dany węzeł nie ma czegoś do wysłania. Jeśli nie ma nic do
wysłania, znacznik przechodzi do następnego węzła i sprawdza jego stan. Ten
proces jest kontynuowany, aŜ znacznik natrafi na stację, która chce coś wysłać do
sieci.
Powiedzmy, Ŝe węzeł l musi porozumieć się z węzłem 3. Kiedy znacznik dotrze do
węzła l i sprawdzi jego stan, wtedy ten węzeł zaznaczy znacznik jako zajęty,
dołączy do niego dane i informacje o adresie docelowym i wyśle go na powrót do
sieci. Znacznik podróŜuje przez sieć i zatrzymuje się przy miejscu przeznaczenia
(węzeł 3). Następnie znacznik powraca do węzła początkowego (l), który usuwa
znacznik zajętości i wysyła aktywny znacznik z powrotem do sieci, w celu
kontynuowania sprawdzania stanu innych węzłów
Metoda Odpytywanie
Odpytywanie
(ang. polling) stosuje się głównie w duŜych systemach
komputerowych i sieciach minikomputerowych. Protokoły wykorzystywane
podczas odpytywania wymagają uŜycia „inteligentnego" urządzenia centralnego.
To urządzenie komunikuje się w określonej kolejności oddzielnie z kaŜdą stacją
roboczą. Jeśli jakaś stacja chce przekazać Ŝądanie do serwera plików, to zostanie
ono wysłane do sieci przy najbliŜszym cyklu odpytywania tej stacji. Jeśli stacja nie
ma Ŝadnych Ŝądań w stosunku do serwera, to urządzenie centralne przechodzi do
odpytywania następnej stacji. Stacja uzyskuje dostęp do sieci tylko wtedy, kiedy
jest odpytywana. Ta metoda dostępu nie jest dziś tak popularna, jak CSMA/CD
czy przekazywanie znacznika, ale jest nadal często wykorzystywana w sieciach
duŜych systemów komputerowych i pracujących z komputerem centralnym.