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.