Distributed Queue Dual Bus

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

DQDB (ang. Distributed Queue Dual Bus) - protokół warstwy MAC przeznaczony dla sieci miejskich MAN (ang. Metropolian Area Network). Standard IEEE 802.6 DQDB opublikowany w grudniu 1990 roku jako standard do budowania sieci miejskich z możliwością integracji różnych usług, został również zaakceptowany przez ETSI (ang. "European Telecommunications Standard Institiute") jako podstawa do tworzenie europejskich sieci MAN

Standard 802.6 opisuje podsieć sieci miejskiej, która zawiera w sobie wiele siec DQDB połączonych ze sobą za pomocą ruterów bram oraz mostów. Sieć ta bardzo dobrze spełnia zadanie sieci miejskiej, zapewnia zarówno połączeniowy jak i bezpołączeniowy transfer danych a także transmisje głosu i obrazu, oraz zdalnego nadzorowania sieci przez administratora w czasie rzeczywistym. Szybkość transmisji DQDB wynosi 155 Mb/s przy zasięgu sieci około 50 kilometrów. Trwają prace nad zwiększeniem przepustowości kanału.

Architektura sieci DQDB[edytuj | edytuj kod]

Struktura sieci DQDB oparta jest na dwóch magistralach jak na to wskazuje drugi człon nazwy. Transmisja danych odbywa się w przeciwnych kierunkach na każdej z szyn magistrali. Dzięki czemu informacje przesyłane są w obu kierunkach bez straty prędkości transmisji (ang. full-duplex), pomiędzy dowolnymi węzłami.

Architekturę sieci przedstawia poniższy rysunek:

struktura protokołu DQDB

Transmisja danych odbywa się w sposób zsynchronizowany. Dane mogą być przesyłane na dwa sposoby: są albo formatowane w szczeliny o stałej długości albo w oktety, które zawierają informacje do zarządzania pracą sieci. Za wprowadzenie struktury ramki odpowiedzialna jest stacja początkowa. Każda ramka ma długość 125µs i jest podzielona na szczeliny o długości 53 oktety. Każda ze szczelin jest wyposażona w 8 bitowy nagłówek (1 bajt) oraz segment danych użytkownika. Węzeł końcowy usuwa wszystkie dochodzące do niego szczeliny oraz generuje sygnał synchronizacyjny dla drugiej magistrali, który ma taką samą szybkość.

Struktura szczeliny[edytuj | edytuj kod]

'Format szczeliny Szczelina służy do przesyłania danych pomiędzy sąsiadującymi między sobą węzłami. Slot ten jest podzielony na pole sterujące ACF (ang. Access Control Field), który ma długość jednego bajta oraz na 52 bajtowy segment. Poniższa tabela przedstawia kolejne bajty pola sterującego:

ASF 1 oktet
BUSY SL_TYPE PRS RESERVED RESERVED REQ_2 REQ_1 REQ_0

Pierwszy bit określa nam czy szczelina jest wolna czy zajęta natomiast drugi czy mamy do czynienia z usługą izochroniczną (szczelina PA), czy też jest to usługa typu asynchronicznego (szczelina QA). Poniższa tabela przedstawia kombinacje tych dwóch bitów:

Bit BUSY Bit SL_TYPE Stan szczeliny
0 0 Pusta szczelina typu QA (ang. Queued Arbitrated)
0 1 Kombinacja nieużywana
1 0 Zajęta szczelina typu QA
1 1 Szczelina typu PA (ang. Pre-Arbitrated)

Bit PSR mówi o tym czy segment z poprzedniej szczeliny znalazł odbiorcę (1), czy nie (0), bity RESERVED nie są dotychczas wykorzystywane i czekają na swoje zastosowanie są ustawione w stanie 0. Trzy bity REQ są wykorzystywane do do kolejkowania segmentów oczekujących na przesłanie danych. Bity te mają początkową wartość 0, natomiast mogą być zmienione na 1 przez dalsze węzły.

Format segmentu Segment jest podzielony na nagłówek składający się z 4 oktetów oraz 48 bajtowego pola przeznaczonego na transmisje danych użytkownika.

Nagłówek przedstawia poniższa tabela:

Nagłówek VCI Typ playload`u Priorytet segmentu HCS
Bity 0 20 2 2 8

Pole VCI w nagłówku szczeliny, pozwala zidentyfikować kanał wirtualny, do którego dany segment należy. Jeżeli bity te ustawione są na zera to oznacza to że nie został przypisany żaden kanał wirtualny. Bity typu playload określają typ danych umieszczonych w segmencie, obecnie te bity ustawione są na 00 co oznacza że dane pochodzą od użytkownika a pozostałe 3 kombinacje są zarezerwowane na poczet przyszłych rozwiązań. Kolejne dwa bity wskazują priorytet segmentu jak sama nazwa wskazuje, gdy pracują standardowo oba bity ustawione są na 0. Bity HCS służą do wykrywania lub korygowania błędów, która mogą powstać podczas transmisji danych.

Ogólna struktura szczeliny przedstawia się następująco:

ASF 1 oktet segment 52 oktety
Nagłówek 4 oktety Informacje użytkownika 48 oktetów

Protokół dostępu do szczelin[edytuj | edytuj kod]

Ponieważ są dwa typy szczelin (PA i QA), protokół DQDB przewiduje dwa tryby dostępu do magistrali IEEE 802.6. Są to tryby PA i QA.

Tryb PA służy do przesyłania danych w czasie rzeczywistym, używamy go wtedy gdy chcemy przesyłać na przykład rozmowę głosową lub video konferencję. Dane muszą być transmitowane w stałych odstępach czasu ze stałą szybkością, aby zapewnić dobre parametry transmisji. Dostęp do tego typu szczelin jest przydzielany na początkach magistrali i może on być przyznany kilku węzłom jednocześnie. Węzeł który chce wysyłać tego typu dane jest informowany, w których segmentach może umieszczać swoje dane.

Innym trybem pracy protokołu DQDB jest tryb QA, służy on do przesyłania danych asynchronicznie. Nie ma potrzeby przesyłania danych w czasie rzeczywistym, do tego typu danych należą informacje tekstowe, przesyłanie filmów. W tym przypadku szczeliny mogą być nadawane wtedy gdy dany użytkownik chce przesłać dane. Do przyznawania szczelin służy protokół DQDB, który steruje ruchem poprzez pole sterujące szczeliny ACF.

Uproszczona zasada działania protokołu DQDB[edytuj | edytuj kod]

Aby wyznaczyć szczelinę w której można przesyłać dane protokół IEEE 802.6 DQDB wykorzystuje bity umieszczone w nagłówku szczeliny ACF są to bit BUSY oraz trzy bity REQ. Za ich pomocą protokół DQDB wyznacza wolne szczeliny w których może transmitować dane. Robi to niezależnie dla obu magistral. Bit BUSY informuje czy szczelina jest zajęta czy można transmitować dane jeżeli jest ustawiony na 0 to można przesyłać informacje, w przeciwnym wypadku nie jest to możliwe i trzeba czekać na następną szczelinę. Bity REQ służą do zakomunikowania że chce się przesłać dane. jeżeli szczelina jest zajęta to wartość tych bitów wzrasta o jeden natomiast jeżeli jest zajęta to spada o jeden. Jeżeli te bity będą miały wartość 000 wtedy nastąpi transmisja danych.

zasada działania protokołu DQDB

Topologia sieci DQDB[edytuj | edytuj kod]

Sieć DQDB jest siecią dwu wstęgową i zwykle magistrale są sporo oddalone od siebie. Aby bardziej uodpornić system na awarie zastosowano topologię zagiętą. Polega ona na tym, że początek i koniec magistrali są umieszczone bardzo blisko siebie, jest też możliwość umieszczenia ich w tym samym węźle ale pod warunkiem że nie będą miały ze sobą połączenia fizycznego. Co powoduje że pomimo iż są w tym samym węźle to i tak dane z jednej magistrali nie wpływają do drugiej i odwrotnie. Takie zastosowanie magistrali pozwala na szybkie i proste przywrócenie transmisji, gdyby doszło do zerwania fizycznego sieci. Ma on jeszcze jedna zaletę, nie potrzeba nam dwóch generatorów do wyznaczania ciągu ranek czasowych, wystarczam nam tylko jeden dla obu magistral. Przypadek przerwania fizycznego sieci DQDB oraz jego naprawy, gdy mamy do czynienia z topologią zagiętą przedstawiają poniższe rysunki:

Jakość usługi[edytuj | edytuj kod]

Gdyby nasz system był idealny czyli nieskończenie szybkie łącze i jednoczenie nieskończenie mały czas propagacji sygnału w magistrali IEEE 802.6 DQDB to dane przychodzące do magistrali byłyby obsługiwane niemal natychmiast i w myśl kolejki FIFO, niestety w rzeczywistości mamy ograniczenia sprzętowe i szybkość transmisji jest rzędu kilkuset Mb/s a prędkość rozchodzenia się światła w światłowodzie jest skończona. Jeżeli mamy niewielką sieć to zasada kolejki FIFO jest zachowana natomiast jeżeli ta sieć jest rozległa wtedy natrafiamy na przeszkody. Z obserwacji wynika, że węzły które znajdują się bliżej magistrali uzyskują częstszy dostęp do systemu niż węzły znajdujące się na jej końcu. Jest to spowodowane tym, że węzeł końcowy nie zdaje sobie sprawy, że węzeł początkowy wysyłał informacje z prośbą o udostępnienie pasma. Aby nasz standard działał bardziej sprawiedliwie do protokołu DQDB dodano mechanizm BWB (ang. BandWidth Balancing). Mechanizm ten ma zagwarantować równe przydzielanie pasma transmisji, ale kosztem przepustowości ponieważ w sieci jest rozsyłana dodatkowa informacja potrzebna temu mechanizmowi do działania. Metoda BWB polega na tym, że gdy węzeł już wysłał pewną ilość danych to odpuszcza sobie następną szczelinę przeznaczoną dla niego. Ten system zapewnia równy dostęp do magistrali IEEE 802.8 DQDB wszystkim węzłom.

Bibliografia[edytuj | edytuj kod]

  • IEEE standard 802.6 - Distributed Queue Dual Bus (DQDB); Subnetwork of a Metropolitan Area Network, Final Draft DIS, December 1990.
  • Pach A. "SP-DQDB: Nowy protokół dla szerokopasmowych sieci miejskich z integracją usług" Krajowe Sympozjum Telekomunikacji KST'92, Bydgoszcz 1992.
  • Pach A. "Analiza sieci miejskich DQDB z możliwością wielokrotnego wykorzystania pojedynczej szczeliny" Krajowe Sympozjum Telekomunikacji KST'93, Bydgoszcz 1993.
  • Pach A., Lasoń A. "Nowoczesne sieci miejskie", Wydawnictwo Postępu Telekomunikacji, Kraków 1994.

Linki zewnętrzne[edytuj | edytuj kod]