Wzmacniak w Ethernecie Cechy fizyczne sprzętu Ethernet Thicknet: 10BASE5 Thinnet:
10BASE2 do budowy tej sieci używa się kabla
koncentrycznego cienkiego (thinnet lub cheapernet)o średnicy 0.25'' 30 komputerów (maksymalnie) można
umieścić w segmencie sieci o maksymalnej długości 185 m, a minimalna
odległość pomiędzy komputerami musi wynosić co najmniej 0.5m zamiast kabli dołączeniowych są używane
trójniki BNC, do których można dołączyć kolejne nadajniki - odbiorniki instalacje grubego i cienkiego
Ethernetu mogą być łączone z użyciem regeneratorów (repeater) wady
ograniczona jest całkowita długość
sieci każda para węzeł/nadajnik -
odbiornik staje się aktywną częścią sieci - podobnie do lampek na
choince - uszkodzenie jednej powoduje zgaszenie całej choinki nie można go instalować blisko
urządzeń elektrycznych dużej mocy Nieekranowana
skrętka: 10BASET nieekranowana skrętka (unshielded
twisted pair - UTP) jest obecnie najchętniej używana do budowy
sieci Ethernet, wg. standardu 10BASET jest to kabel miedziany 4 - parowy o
impedancji charakterystycznej 100 ohm dla częstotliwości
od 1 MHz do 100
MHz kable UTP
są zwykle tańsze niż kable koncentryczne, łatwiejsze do instalacji i
testowania sieć tego typu ma topologię określoną
jako hierarchia drzew
kabel przyłączeniowy (patchcord)
o maksymalnej długości do 100m posiada z
obu stron wtyczki RJ 45 (kabel przyłączeniowy
- kawałek skrętki) jeden koniec kabla jest dołączony
do komputera, a drugi do koncentratora
(hub), posiadającego 8 - 12 portów urządzenie hub służy
jako regenerator (repeater) dla każdego połączenia
w sieci - jego zadaniem jest odbiór sygnału z portu i jego retransmisja do
innych portów urządzenia hub,
rozlokowane w różnych częściach budynku, łączone są przy użyciu
grubego kabla koncentrycznego lub światłowodu do głównego urządzenia w
sieci tak więc używane są jako koncentratory i jako
regeneratory wyróżnia się 5
rodzajów nieekranowanej skrętki UTP stosowanej w LAN (pod względem
wydajności oraz pod względem bezpieczeństwa)
kable typu Level - I
i Level - II stosuje się jedynie do
przesyłania głosu kabel Level - III
jest używany w sieciach lokalnych; jest on standardem w sieciach 10BASET
o szybkości transmisji do 10 Mbit/s Level - IV - nie
wiadomo do czego; czasem w sieciach UTP o
szybkości transmisji 16 Mbit/s Level - V może
pracować w sieciach o szybkości 100 Mbit/s
i jest podstawą wielu nowych standartów UTP połączenia 10BASET
wymagają dwóch par 24 - żyłowych kabli Level
- III; każde połączenie ma długość
ograniczoną do 100m do realizacji połączenia z koncentratorem i z
nadajnikiem - odbiornikiem są używane złącza RJ -
45 (niektóre komputery obecnie są dostępne z interfejsami RJ - 45
10BASET chociaż do uruchomienia połączenia są wymagane
dwie pary kabla Level - III, to przy instalacji nowej sieci zaleca się używanie
8 -żyłowego (czteroparowego) kabla Level
- V, dołączenia go do wszystkich 8 styków
gniazd RJ - 45, w tym z użyciem tego złącza
z kablem dołączonym do styków 1,2,3
i 6.
Format ramki Ethernetu Protokół dostępu protokół jest
implementowany sprzętowo w adapterze sieci Format ramki 64-
bitowa preambuła pozwala odbiornikowi zsynchronizować się z sygnałem nadawca/odbiorca jest
identyfikowany przez 48-
bitowy adres pole typ służy do
demultipleksacji: identyfikuje właściwy protokół, a wielu protokołów
wyższego poziomu, do którego ramka ma być dostarczona ramka musi zawierać minimum 46
bajtów danych (aby wykryć koluzję) do 1500
bajtów max. ramka zawiera 32-
bitowe pole CRC
oraz 8-
bitową postambułę oznaczającą koniec ramki Ethernet
jest protokołem bitowym, podobnie jak protokół HDLC z punktu widzenia komputera,
ramka Ethernetu
posiada 14-
bajtowy nagłówek: dwa 6-
bajtowe adresy i 2-
bajtowe pole typu
adapter nadający dołącza
preambułę, CRC
i postambułę, a adapter odbierający usuwa je opisany format ramki pochodzi
z normy Ethernetu
opracowanej przez firmę Xerox,
w 1978 aktualna norma znana jest
jako IEEE 802.3
i nieco modyfikuje poprzedni opis
zastępuje 16-
bitowym polem długości 16-
bitowe pole typu; pole długości mówi jak długa jest ramka (nie
plegamy już na znaczniku końca ramki) do demultipleksacji jest
wykorzystywana informacja w części zawierającej dane w praktyce dominującym
formatem jest norma Ethernetu,
a nie IEEE 802.3
2. Adresy każdy komputer
Ethernetu na świecie ma unikalny
adres ethernetowy ; adres faktycznie należy do adaptera, a nie komputera i
jest zapisany w ROM adres ethernetowy podawany
jest jako sekwencja sześciu liczb oddzielonych przez dwukropki, np. w celu zapewnienia unikalności
adresu związanego z adapterem, każdy z producentów ma przydzielony
odmienny przedrostek
(prefix),
który musi być dołączony do adresu każdego adaptera np. firma AMD
ma 20-
bitowy przedrostek x08002
(albo 8:0:2) każda ramka nadawana w
Ethernecie jest odbierana przez każdy adapter dołączony do Ethernetu, ale
adapter rozpoznaje i przekazuje swojemu komputerowi tylko ramki jemu
adresowane dodatkowo istnieje specjalny
adres ethernetowy, same jedynki,
traktowany jako adres rozgłoszeniowy (broadcast) ramki przekazywane pod adres
rozgłoszeniowy są zawsze przekazywane do komputera inny adres specjalny to adres
grupowy (multicast);
dany komputer może zaprogramować swój adapter, aby akceptował pewien zbiór
adresów grupowych 3. Algorytm
nadajnika kiedy nadajnik ma ramkę
do nadania, a linia jest wolna
(idle),
to nadaje ramkę
górna granica rozmiaru
ramki to 1500
bajtów danych następnie adapter musi
odczekać 9.6ms
zanim może nadać następną ramkę jeżeli linia jest zajęta (busy)
to nadajnik czeka na zwolnienie linii, a następnie nadaje jeżeli nadajnik stwierdza,
że jgo wysłana ramka koliduje z ramką innego nadajnika, wtedy nadaje 32-
bitową sekwencje zagłuszającą
(jamming sequence),
aby inne stacje też wykryły kolizję i kończy transmisję
nadajnik w przypadku
kolizji wyśle co najmniej 96
bitów: 64
bity preambuły i 32 bity
sekwencji zagłuszającej aby wiedzieć na pewno, że
ramkę, którą nadajnik właśnie nadaje, nie kolidowała z inną ramką,
nadajnik musi nadać aż 512
bitów
ten minimalny czas
zagłuszenia (jam
time) 512
bitów wynika z faktu, że w Ethernecie o maksymalnym rozmiarze, opóźnienie
od jednego końca do drugiego wynosi 51,2
us jest t czas
wystarczający w sieci 10 Mb/s na
transmisje 512
bitów 512 bitów
oznacza, że każda ramka musi posiadać co najmniej 46
bajtów danych: 14 bajtów
nagłówka +
46
bajtów danych +
4
bajty CRC
= 64
bajty =
512
bitów gdy adapter wykrył kolizję
i wstrzymał transmisje, wtedy czeka pewną ilość czasu i próbuje znowu
za każdym razem, gdy próbuje
nadawać i mu się nie udaje, to podwaja
ilość czasu jaką czeka przed następną próbą jest to tzw. wycofywanie
się wykładnicze (exponential
bachoff) dokładniej, adapter na
początku wprowadza opóźnienie albo
0
albo
51,2 us
wybrane losowo jeżeli próba zawodzi,
adapter czeka 0,
51.2,
102,4
albo 204,8 us,
itd. adapter rezygnuje po określonej
liczbie prób, zwykle 16, i
powiadamia komputer o błędzie nadawania Doświadczenia z Ethernetu najlepiej pracuje on w
warunkach niewielkiego
obciążenia
przy dużych obciążeniach,
a jest to dla niego już wykorzystanie rzędu 30%,
w wyniku kolizji traci się zbyt wiele na przepustowości liczba komputerów w sieciach
Ethernet jest jednak zwykle poniżej 200
komputerów, chociaż maksymalna ich liczba na którą pozwala norma to 1024 wiele sieci jest zwykle
znacznie krótszych niż 1500 m,
z opóźnieniem propagacji bliższym 5us
niż 51,2 us Ethernet odniósł sukces, bo
:
jest nadzwyczajnie łatwy
w administracji i konserwacji : nie ma komutatorów, wyboru trasy,
tablic konfiguracyjnych, łatwo przyłączyć nowy komputer jest tani : niedrogi
kabel + koszt adaptera przy każdym komputerze CSMA/CD (Ethernet)
Pierścień ze znacznikiem (FDDI)
Pierścień ze znacznikiem
Pierścień z podwójnym światłowodem
Cechy fizyczne
Stacje SAS dołączone do koncentratora
Algorytm czasowego posiadania znacznika
TRT<= Active Nodes * THT + Ring Latency,
gdzie:
Ring Latency (opóźnienie pierścienia) oznacza ile czasu zajmuje znacznikowi przejście przez pierścień, gdy nikt nie ma danych do nadania, a
Active Nodes (węzły aktywne) oznacza liczbę węzłów, które mają dane do nadania,
THT - czas posiadania znacznika przez węzeł
aby zapewnić górną granicę na czas powrotu TRT, definiujemy docelowy czas powrotu znacznika (target token rotation time - TTRT), a wszystkie węzły godzą się na to, aby istnieć w granicach określonych TTRT (patrz niżej)
w tym celu każdy węzeł mierzy czas między kolejnymi przejściami znacznika, tzw. zmierzony TRT (measured TRT) węzła
jeżeli zmierzony TRT jest większy niż uzgodniony TTRT, wtedy znacznik jest opóźniony i węzeł nie nadaje żadnych danych
jeżeli zmierzony TRT jest mniejszy niż TTRT, wtedy dopuszczalne jest, aby węzeł posiadał posiadał znacznik przez czas różnicy między TTRT i zmierzonym TRT
w rzeczywistości powyższa reguła jest modyfikowana poprzez wprowadzenie dwóch klas ruchu: synchronicznej i asynchronicznej
kiedy węzeł odbiera znacznik, to zawsze ma pozwolenie na nadawanie danych synchronicznych (głos na wideo)
węzeł może nadawać ruch asynchroniczny tylko wtedy, gdy otrzymany znacznik jest przedwczesny (przesyłanie plików)
czy docelowy czas powrotu znacznika będzie bez znaczenia, jeżeli każdy węzeł będzie miał sporą ilość danych synchronicznych do nadania?
całkowita ilość danych synchronicznych, które mogą być nadane podczas jednego przejścia znacznika, jest również ograniczona TTRT
to oznacza w najgorszym wypadku, węzły o asynchronicznym ruchu wpierw wykorzystają czas w wartości jednego TTRT a następnie węzły o ruchu synchronicznym konsumują czas o wartości następnego TTRT
oznacza to, że zmierzony TRT w dowolnym węźle może osiągnąć wielkość równą 2 * TTRT
Zwalnianie znacznika : (a) natychmiastowe; (b) opóźnione
zauważmy, że jeżeli ruch synchroniczny już skonsumował czas o wartości jednego TTRT, to węzły o ruchu asynchronicznym nie nadzą żadnych danych
kiedy węzeł nadający zwalnia znacznik?
(a) natychmiast po wysłaniu swojej ramki (patrz rysunek) - jest to zwolnienie natychmiastowe
(b) po tym, jak ramka, którą nadaje przejdzie przez cały pierścień i zostanie usunięta - jest to zwolnienie opóźnione
w FDDI stosuje się natychmiastowe zwolnienie; norma IEEE 802.5 początkowo stosowała opóźnione zwolnienie
w jaki sposób węzeł określa, czy może nadawać ruch asynchroniczny?
co będzie, jeżeli zmierzony TRT jest mniejszy niż TTRT, ale o tak małą wartość, że nie jest możliwe przesłanie pełnego komunikatu bez przekroczenia TTRT?
węzłowi wolno nadawać w takim przypadku; w rezultacie zmierzony TRT jest w rzeczywistości ograniczony przez TTRT plus czas, jaki węzłowi zajmuje nadanie pełnej ramki FDDI
Konserwacja znacznika
znacznik jest jedynie specjalnym wzorcem bitów, więc gdy zdarzy się błąd bitu, możliwe jest, że nastąpi strata znacznika
znacznika może być również stracony, gdy węzeł, który go posiada, ulegnie awarii
niezbędne są więc metody monitorowania ważności znacznika i generacji nowego
Generowanie znacznika
nowy znacznik jest generowany, kiedy nowy węzeł wchodzi do pierścienia, albo węzeł podejrzewa, że wystąpił pewien rodzaj błędu
podczas procesu generacji znacznika dochodzi do uzgodnienia przez węzły w pierścieniu, co do bieżącej wartości czasu TTRT
# algorytm procesu uzgadniania znacznika (token claim process)
każdy węzeł nadaje specjalną ramkę uzgadniania, która zawiera ofertę danego węzła na TTRT, czyli czasu powrotu znacznika, który jest potrzebny węzłowi, aby wykonać aplikację
węzeł może nadać ramkę bez posiadania znacznika i zazwyczaj to robi, kiedy podejrzewa awarię albo pierwszy raz włącza sie do sieci
jeżeli ta ramka wróciła do węzła nadającego, wtedy węzeł ją usuwa wiedząc że, jego oferta na TRT jest mniejsza
węzeł ten posiada teraz znacznik, jest odpowiedzialny za wprowadzenie znacznika do pierścienia i może kontynuować normalny algorytm posiadania znacznika
kiedy węzeł odbiera ramkę uzgadniania, to wpierw sprawdza, czy oferta na TTRT jest nmiejsz od jego własnej
jeżeli tak jest to węzeł ustawia lokalną definicję TTRT na tę umieszczoną w ramce uzgadniania i przekazuje tę ramkę do następnego węzła
jeżeli oferta na TTRT jest większa niż wymagane minimum dla TTRT przez ten węzeł, wtedy ramka uzgadniania jest usuwana z pierścienia i węzeł wchodzi ponownie w proces przedstawiania ofert przez umieszczenie swojej własnej ramki uzgadniania w pierścieniu
jeżeli obie oferty są sobie równe, to węzeł porównuje swój adres z adresem węzła nadającego i wygrywa węzeł z wyższym adresem
Monitorowanie ważnego znacznika
każdy węzeł powinien obserwować, co jakiś czas, albo transmisję ramki z danymi, albo znacznika
największy czas bezczynności pomiędzy transmisjami uznanymi za ważne, dla danego węzła, jest równy opóźnieniu pierścienia plus czas jaki zajmuje jemu transmisja pełnej ramki
w pierścieniu o maksymalnym rozmiarze czas ten jest trochę mniejszy od 2.5 ms
jeżeli czas ten upłynął, to węzeł podejrzewa, że zaszło coś złego i nadaje ramkę uzgadniania
Format ramki FDDI
Format ramki (patrz rysunek)
FDDI stosuje kodowanie 4B/5B, co oznacza, że wiele z pól w jego nagłówku, np: znaczniki końca i początku ramki, są w rzeczywistości podane przez symbole sterujące schematu kodowania 4B/5B
adresy FDDI, podobnie do Ethernetu mają długość 48 bitów, chociaż norma dopuszcza adresy 16 bitowe
adresy 48 - bitowe są interpretowane dokładnie jak adresy w Ethernecie
podobnie jak w Ethernecie, FDDI stosuje bitowe rozpoznawanie ramek, z unikalną sekwencją bitów oznaczającą początek i koniec ramki
ramka FDDI zawiera również 32 - bitowe CRC (cyclic redudancy check - cykliczna kontrola dynamiczna) stosowane do wykrywania błędów transmisji
ramki FDDI mogą mieć długość do 4500 bitów, z nagłówkiem włącznie, co oznacza, że w ramce stosującej 48 0 bitowe adrsy można przesłać 4478 bajtów danych
8 - bitowe pole sterujące w nagłówku zawiera
pierwszy bit wskazuje, czy ramka przenosi ruch asynchroniczny (0) czy synchroniczny(1)
drugi bit informuje, czy stosuje się adresy 16 - bitowe (0) czy 48 - bitowe (1)
ostatnie 6 bitów podaje klucz demultipleksacji (czyli te 6 bitów pełni tę samą rolę, co 8 bitowe pole typu w nagłówku Ethernetu) - identyfikator określający do jakiej aplikacji dana ramka należy
nagłówek FDDI zawiera równierz 24 - bitowe pole statusu ramki
odbiorca ramki używa tego pola do podania informacji z powrotem do nadawcy, o tym czy w odebranej ramce nastąpił błąd, czy rozpoznał on adres czy nie rozpoznał, czy skopiował on ramkę, gdy przesyła
tak więc to pole umożliwia odbiorcy nadawanie z powrotem do nadawcy informacji sterującej przepływem
Schemat blokowy typowego adaptera sieci.
prawie wszystkie funkcje sieci, a więc rozpoznawanie ramek, wykrywanie błędów i protokół dostępu do medium są implementowane w adapterze sieci
wyjątkiem są schematy automatycznego powtórzenia (ARQ), omawiane wcześniej, które są implementowane w protokole najniższego poziomu w komputerze
Składniki
adapter służy jako interfejs między komputerem a siecią i posiada
interfejs szyny, który rozumie jak porozumieć się z komputerem
interfejs łącza, który posługuje się poprawnym protokołem sieci
adaptery sieci są zawsze zaprojektowane dla konkretnej szyny wejścia / wyjścia - nie jest więc zwykle możliwe przeniesienie adaptera z komputera jednego dostawcy do komputera drugiego dostawcy
każda szyna definiuje
protokół stosowany przez jednostkę centralną komputera do programowania adaptera
protokół stosowany przez adapter do generowania przerwania do jednostki centralnej
protokół stosowany przez adapter do odczytu i zapisu pamięci komputera
jedną z głównych cech szyny wejścia / wyjścia jest szybkość transmisji danych, jaką ona obsługuje
np. typowa szyna może mieć ścieżkę danych o szerokość 32 bitów (tzn. przesyłać równolegle 32 bity), pracując z częstotliwością 25MHz ( czas cyklu szyny 40 ns), dając maksymalną szybkość transmisji 800 Mb/s wystarczającą do obsługi łącza STS - 12 o szerokości 800 Mb/s
część adaptera od strony łącza implementuje protokół poziomu łącza
dla Ethernetu i FDDI część adaptera od strony łącza jest implementowana przez zestaw układów scalonych, które można kupić w handlu
dla nowszych technik łączy, protokół na poziomie łącza może być zaimplementowany przez oprogramowanie na uniwersalnym mikroprocesorze; podnosi to koszt adaptera, ale czyni go bardziej elastycznym (łatwiej jest modyfikować oprogramowanie niż sprzęt)
ponieważ szyna komputera i łącze sieciowe działają zwykle z różnymi szybkościami, to istnieje potrzeba umieszczania niewielkiej liczby buforów między dwoma składnikami adaptera (patrz, rysunek)
Spojrzenie na adapter od strony komputera
#1: Rejestr stanu sterowania
adapter sieci jest sterowany oprogramowaniem uruchomionym w jednostce centralnej (CPU)
procesor i adapter komunikują się poprzez rejestr stanu sterowania - specjalną komurkę w pamięci komputera
rejestr ten umożliwia procesorowi, poprzez odczytywanie zawartości rejestru, lub przez zapis do niego (a) poznanie aktualnego stanu adaptera (b) nakazanie mu nadania lub odbioru ramki
#2: Przerwania
jednostka centralna komputera znajduje się w pętli, czytając rejestr stanu sterowania i czeka, aż zdarzy się coś interesującego i następnie podejmuje odpowiednią akcję
może to być np. obserwacja pojedynczego bity rejestru stanu, który identyfikuje nadejście nowej ramki
nazywa się to odpytywaniem (pooling)
zamiast odpytywania, wiele komputerów zwraca uwagę na urządzenia sieciowe tylko wtedy, adapter generuje przerwanie do komputera
architektura komputera posiada mechanizm powodujący wywołanie odpowiedniej procedury w systemie operacyjnym, kedy takie przerwanie występuje
procedura ta nazywana programem obsługi przerwań, bada rejestr CSR, określa przyczynę przerwania i podejmuje odpowiednie działanie
przy obsłudze przerwania, komputer zazwyczaj wprowadza zakaz (disable) innych przerwań
Bezpośredni dostęp do pamięci a programowane wejście / wyjście
istnieją dwa podstawowe sposoby przesyłania bajtów ramek między adapterem a pamięcią komputera
bezpośredni dostęp do pamięci (direct memory access - DMA)
adapter bezpośrednio czyta i zapisuje pamięć komputera bez żadnego zaangażowania jednostki centralnej
komputer po prostu podaje adapterowi adres pamięci, a adapter czyta do niego albo z niego zapisuje
programowane wejście / wyjście (programmed input /output - PIO)
za przesyłanie danych jest odpowiedzialna jednostka centralna
aby nadać ramkę, jednostka centralna wchodzi w pętle, w której najpierw odczytuje słowo z pamięci komputera, a następnie zapisuje je do adaptera
Lista deskryptorów buforów.
przy korzystaniu z DMA jednostka centralna przekazuje adapterowi dwie listy deskryptorów buforów (do transmisji do sieci/z sieci)
lista jest tablicą par adres / długość (patrz, rysunek)
przy odbiorze ramek adapter stosuje tyle buforów, ile jest mu potrzebne, aby przechować przychodzącą ramkę
ramki są umieszczane w całości w buforach, albo jeśli się nie mieszczą, są rozrzucane między wiele buforów (odczyt rozrzucony)
Programowane wejście / wyjście.
w przypadku PIO , adapter sieci musi zawierać pewną liczbę buforów - jednostka centralna kopiuje ramki między pamięcią komputera a pamięcią adaptera ( patrz, rysunek )