Pobierz
najnowszy numer

Newsletter

Zapisz się do naszego Newslettera, aby otrzymywać informacje o nowościach z branży!

Jesteś tutaj

Wpływ opóźnień w sieciach IP na skuteczność monitoringu wizyjnego (cz. 1)

Printer Friendly and PDF

lead.jpgSzybki rozwój sieci komputerowych spowodował ich szerokie wykorzystanie w wielu dziedzinach techniki. W szeroko rozumianych systemach bezpieczeństwa, a zwłaszcza w monitoringu wizyjnym, wykorzystywane są sieci oparte na technologii Ethernet oraz sieci bezprzewodowe. Posiadając połączenie z Internetem, systemy te dają możliwość przesyłania sygnałów audio/wideo i udostępniania ich stacjom monitorującym lub indywidualnym użytkownikom. Umożliwia to stworzenie struktury o prawie nieograniczonym zasięgu. Przykładem jest zastosowanie telewizji dozorowej IP w monitoringu miasta, zabezpieczeniu lotniska itp.

Chociaż obecnie większość używanych kamer dozorowych to kamery analogowe, stan ten szybko się zmienia. Prawdopodobnie w najbliższym czasie sprzedaż kamer IP przewyższy sprzedaż kamer analogowych. W analogowych systemach dozorowych informacja z kamery przesyłana jest w sposób ciągły, natomiast w sieciowych systemach dozoru wizyjnego obraz jest przesyłany poprzez sieć IP, za pośrednictwem przełączników. Podczas transmisji sygnałów w sieci występują różnego rodzaju utrudnienia. W przypadku potrzeby odczytywania informacji w czasie rzeczywistym, w trakcie którego ważne jest dokładne i wierne określenie zaistniałej sytuacji, mogą one stanowić ograniczenie zastosowania.

Opóźnienia związane z przesyłaniem danych cyfrowych są główną przyczyną tych ograniczeń. Niniejszy artykuł ma za zadanie nakreślić czytelnikom zarys problemów związanych z zastosowaniem transmisji IP w systemach bezpieczeństwa na podstawie badań przeprowadzonych w ramach pracy dyplomowej w Wojskowej Akademii Technicznej im. Jarosława Dąbrowskiego na kierunku Inżynieria Systemów Bezpieczeństwa Wydziału Elektroniki. Celem wymienionej pracy było zaprojektowanie stanowiska laboratoryjnego, na którym możliwy jest pomiar opóźnień w przesyłanych obrazach sieciowego monitoringu wizyjnego. Przeprowadzenie badań na stanowisku umożliwiło poznanie możliwych źródeł opóźnień i określenie ich wartości.

W pierwszej części artykułu omówiono problematykę monitoringu wizyjnego wykorzystującego sieci IP ze szczególnym uwzględnieniem analizy powstających w takim przypadku opóźnień transmisji.

1. Wymagania użytkowe mające na celu zapewnienie skutecznego monitoringu wizyjnego

System nadzoru wizyjnego jest skutecznym narzędziem poprawy bezpieczeństwa. W ostatnim czasie liczba systemów monitoringu wizyjnego gwałtownie wzrosła. Na przykład w Wielkiej Brytanii jedna kamera dozorowa przypada na 14 osób [4]. W Londynie osoba przebywa w polu widzenia kamer 300 razy dziennie. Światowy rynek urządzeń dozoru wizyjnego IP wzrósł w 2006 r. o 41,9%. Branża telewizji dozorowej dysponuje obecnie szeroką gamą systemów i urządzeń do monitorowania oraz ochrony osób i mienia. Mimo wszystko nadal istnieją wątpliwości dotyczące tego, jak dobrze i skutecznie wykorzystać system nadzoru wizyjnego. Zgromadzony i podłączony sprzęt nie wystarcza. Po zainstalowaniu musi spełniać zamierzone cele ochrony. Dopiero wtedy będzie to prawdziwy system monitoringu.

W drugiej części artykułu będą przedstawione badania kamer sieciowych, w związku z tym główny nacisk został położony poniżej na sieciowy system wizyjny, często nazywany systemem telewizji dozorowej IP, który umożliwia użytkownikowi monitorowanie i rejestrację obrazów poprzez sieć (LAN, WAN, Internet). Do transferu danych system ten wykorzystuje sieć, a nie bezpośrednie połączenie kablowe, jak w przypadku systemów analogowych. Nie istnieją jeszcze polskie normy dotyczące protokołów i urządzeń wykorzystywanych w systemach wykorzystujących technologię IP. Szybki rozwój tej technologii spowodował, że obowiązujące normy dla telewizji dozorowej odnoszą się na razie tylko do systemów telewizji analogowej. Mimo to stanowią one dla inwestora, projektanta i instalatora niezbędną pomoc przy opracowywaniu wymagań użytkowych i projektowaniu systemów sieciowych telewizji dozorowej IP. W związku z tym, iż nie ma jasno sprecyzowanych wymagań co do samego monitoringu sieciowego, należy również zwrócić uwagę na techniczne aspekty użycia kamer sieciowych oraz podstawowe zasady ich instalacji.

2. Analiza opóźnień w sieciach IP

Głównym środkiem łączności internetowej, umożliwiającym komunikację audio/wideo za pomocą różnych rodzajów mediów oraz sieci, stał się protokół TCP/IP. Wraz z nowymi metodami komunikowania pojawiły się nowe zagadnienia dotyczące wydajności sieci. Aby dobrze zrozumieć protokół TCP/IP, a zwłaszcza opóźnienia w komunikacji, należy poznać podstawowe zagadnienia telekomunikacyjne.

rys1.gif
Rys. 1. Przesyłanie danych
 
2.1. Przyczyny i źródła opóźnień w sieci

Rozmiar nagłówka

Przyczyny opóźnienia w przesyłaniu danych przez sieci komputerowe można znaleźć już w samym modelu TCP/IP. Mianowicie do każdej warstwy modelu dodawany jest nagłówek (rysunek 1).

Standardowy rozmiar nagłówka to 20 B. Ich suma wynosi ok. 56 B dla TCP przy maksymalnej wielkości danych równej 1460 B (w przypadku komunikacji przez sieć Ethernet) [1]. Jeśli danych jest niewiele, to jest możliwe, że suma rozmiarów nagłówków przewyższa wielkość danych. Jeśli danych jest więcej, to wykonywany jest podział na ramki, z których każda zawiera nagłówek IP, a tylko jedna nagłówek TCP lub UDP. Liczba ramek zależy między innymi od obciążenia interfejsu sieciowego i procesora. Każdy powstały z podziału fragment może „podróżować” niezależnie od innych fragmentów. Podział może nastąpić u źródła lub przy udziale jednego z ruterów pośredniczących. W miejscu docelowym następuje proces składania fragmentów. Wszystkie te procesy przyczyniają się do dodatkowego opóźnienia, gdyż dodatkowo dochodzi czas odstępu międzyramkowego (ok. 10 μs) [2], a także czas przesłania znacznika początku ramki.

System operacyjny

Realizacja całego procesu wysyłania i odbierania przez sieć jest możliwa dzięki kartom sieciowym zainstalowanym w hostach. Typowe opóźnienie przy przejściu sygnału przez nadajnik/odbiornik (transceiver) karty sieciowej można oszacować jako ok. 0,27 μs [2]. Obsługą tego sprzętu zajmuje się system operacyjny, który ze względu na możliwość obciążenia go innymi aplikacjami może wpłynąć na szybkość transmisji danych. Opóźnienia te, mimo iż są trudne do wyznaczenia, również powinny być brane pod uwagę w celu całkowitego wyznaczenia ich w sposób dokładny.

Fizyczny nośnik

Kolejna przyczyna opóźnień wynika ze skończonej szybkości przepływu sygnału przez przewody sieciowe. Opóźnienia te niekiedy są znaczne, a ich wartość zależy od użytego nośnika. Nie musi być on identycznego typu w przypadku poszczególnych par nadajnik – odbiornik, które występują na drodze transmisji. Istnieją dwie kategorie nośników: przewodowe i bezprzewodowe.

Powszechnie stosowane w Internecie nośniki transmisyjne to skrętka miedziana, kabel koncentryczny, światłowód oraz kanały radiowe. Najmniejszymi opóźnieniami charakteryzuje się światłowód (0,005 μs/m) [2]. Światłowody stały się preferowanym nośnikiem transmisyjnym między innymi ze względu na oferowaną szybkość transmisji wynoszącą dziesiątki, a nawet setki gigabitów na sekundę. Ta cecha pozwala na łączenie komputerów z odległą siecią lokalną.

Dla sieci UTP/STP opóźnienie wynosi 0,0057 μs/m, a dla 10Base2 – 0,00433 μs/m [2].

Urządzenia sieci

Następną przyczyną opóźnień są urządzenia znajdujące się na drodze przesyłanych informacji. Podobnie jak w przypadku fizycznego nośnika wynika to ze skończonej szybkości przepływu sygnału. Opóźnienia te są trudne do wyznaczenia, gdyż zależą od wielu zmiennych czynników, na przykład od producenta, modelu urządzenia czy obciążenia sieci.

Urządzeniem, które ma największy wpływ na czas przesyłania danych, jest ruter. Jego głównym zadaniem jest przekierunkowywanie pakietów między sieciami po odczytaniu adresów IP. Do wyjaśnienia istoty opóźnień posłuży rysunek 2. Gdy pakiet dociera do rutera A, jest przez niego identyfikowany (sprawdzanie nagłówka), a następnie kierowany do odpowiedniego łącza wyjściowego (w tym przypadku do łącza B). W ruterze A, przed łączem wyjściowym do rutera B, znajduje się bufor, czyli kolejka, gdzie pakiety oczekują na transmisję. Przyczyną tego oczekiwania jest to, że:

  • szybkość przychodzenia pakietów jest większa od przepustowości łącza,
  • pakiety po sprawdzeniu czekają na swoją kolej.
rys2.gif
Rys. 2. Opóźnienia węzła w ruterze (białe prostokąty oznaczają wolne miejsca w kolejce, bordowe i błękitne – „podróżujące” pakiety) 1 – opóźnienie przetwarzającego węzła, 2 – opóźnienie kolejkowania (oczekiwanie), 3 – opóźnienie transmisji, 4 – opóźnienie propagacji

 

Pakiety są transmitowane bezkolizyjnie, niezależnie, z odpowiednio zachowanym uporządkowaniem, tzn. mogą być przesyłane wówczas, gdy łącze nie przysyła w danej chwili innych danych oraz gdy w buforze nie są przechowywane inne pakiety. Kolejne pakiety ustawiają się w kolejce, czekając na dalszą transmisję. Brak miejsca w buforze (skończona kolejka) powoduje odrzucanie nadchodzących danych, czyli straty w dostarczonej informacji. Utracone pakiety mogą być retransmitowane między węzłami przez system końcowy źródła lub protokół warstwy transportowej.

Wyróżniamy cztery typy opóźnień pakietów w węźle [3] (rysunek 2):

  • opóźnienia przetwarzania,
  • opóźnienie kolejkowania (oczekiwania),
  • opóźnienie transmisji,
  • opóźnienie propagacji.
2.2. Rodzaje opóźnień w sieci

W czasie swojej „podróży” pakiet jest transmitowany od jednego węzła do drugiego. Po drodze podlega on kilku typom opóźnień (wymienionych w poprzednim punkcie). Razem tworzą one całkowite opóźnienie węzła.

2.2.1. Opóźnienie przetwarzającego węzła

Opóźnienie to określa czas potrzebny na skierowanie pakietu do odpowiedniego łącza wyjściowego po uprzednim odczytaniu i sprawdzeniu jego nagłówka. Do tego wliczany jest również czas na sprawdzenie błędów bitowych. Po tym procesie pakiet jest ustawiany w buforze i oczekuje na transmisję. W nowych ruterach opóźnienie przetwarzającego węzła jest mierzone w mikrosekundach.

2.2.2. Opóźnienie kolejkowania

Opóźnienie to określa czas oczekiwania pakietu w kolejce na przesłanie łączem wyjściowym. Wielkość tego opóźnienia zależy od liczby pakietów już oczekujących w buforze. Pusta kolejka oraz brak transmisji innych danych oznacza, iż opóźnienie kolejkowania dla nadchodzącego pakietu będzie zerowe. Jego wartość zwiększa się wraz ze wzrostem liczby oczekujących w kolejce pakietów i może być wyrażona w mikrosekundach lub milisekundach. W przeciwieństwie do innych typów opóźnienie kolejkowania może mieć różne wartości w zależności od pakietu. Jeśli będą to pakiety z kolejki przesyłane w pierwszej kolejności, opóźnienie będzie zerowe lub bardzo małe. Jeśli będą to pakiety z końca kolejki, będzie ono odpowiednio większe. Dlatego do opisu opóźnienia kolejkowania bierze się średnie wartości. Opóźnienie kolejkowania zależy od wielu czynników, z których główne to szybkość umieszczania danych w kolejce, szybkość transmisji łącza, sposób pojawiania się danych w kolejce (cyklicznie, impulsowo).

Istotną rolę w określaniu opóźnienia kolejkowania stanowi natężenie ruchu, czyli tzw. współczynnik La/R [3], gdzie:

L – liczba bitów, z których składają się pakiety, długość pakietów (bit),
a – średnia szybkość, z jaką pakiety pojawiają się w kolejce (pakiety/s),
R – przepustowość łącza (bit/s),
La – średnia szybkość, z jaką bity są ustawiane w kolejce (bit/s).

Jeśli La/R > 1, średnia szybkość, z jaką bity są umieszczane w kolejce, przekracza szybkość pobierania z niej bitów, co prowadzi do znacznego powiększania się kolejki. W wyniku tej obserwacji powstała jedna z podstawowych zasad ruchu sieciowego: natężenie ruchu nie może przekroczyć wartości 1.
W przypadku, gdy La/R ≤ 1, opóźnienie kolejkowania będzie zależało od ruchu sieciowego, tzn. jeśli pakiety będą się pojawiały cyklicznie (jeden pakiet co L/R sekund), wówczas każdy pakiet będzie „wędrował” do pustej kolejki i opóźnienie będzie zerowe, jeśli natomiast pakiety będą się pojawiać okresowo, to tylko pierwszy nie będzie miał opóźnienia. Opóźnienie zwiększy się z każdym kolejnym pakietem. Współczynnik La/R nie ustala jednak dokładnie rzeczywistego opóźnienia kolejkowania. Pakiety z reguły nie pojawiają się w ściśle określony sposób, tylko w różnych odstępach czasu. Zależność ta jest jednak pomocna w zrozumieniu zakresu oddziaływania opóźnienia kolejkowania. Rysunek 3 przedstawia zależność średniego opóźnienia kolejkowania od natężenia ruchu [3]. W miarę zbliżania się wartości natężenia ruchu do 1 średnia długość kolejki będzie coraz większa. Przy wartości 1 niewielki procentowy wzrost natężenia ruchu przyczynia się do dużo większego procentowego wzrostu wartości opóźnienia.

tab1.gif
Tab. 1. Wpływ natężenia ruchu La/R na czas oczekiwania w kolejce

 

W rzeczywistości kolejka przed łączem wyjściowym ma ograniczoną pojemność. Może ona być ograniczona w różny sposób, w zależności od producenta, konstrukcji czy ceny. W związku z tym jeśli natężenie ruchu zbliża się do wartości 1, opóźnienia pakietów nie rosną do nieskończoności. Jeśli kolejka zapełni się, kolejny pakiet zostanie odrzucony przez ruter, co wiąże się z jego utratą. Utracony pakiet może być ponownie przesłany przez aplikację lub protokół TCP.

rys3.gif
Rys. 3. Zależność średniego opóźnienia kolejkowania od natężenia ruchu [3]

 

2.2.3. Opóźnienie transmisji

Opóźnienie to, zwane także buforowym, określa czas potrzebny na wysłanie do łącza wszystkich bitów pakietu. W sieciach z komutacją pakietów dane są przesyłane dopiero wtedy, gdy zostały wysłane wszystkie pakiety, które wcześniej odebrano. Opóźnienie transmisji jest definiowane jako stosunek L/R [3], gdzie:

L – długość pakietu (bit),
R – przepustowość łącza, szybkość łącza wyjściowego (np. dla łącza Ethernet 100 Mb/s wartość R wynosi 100 Mb/s).

Wartość opóźnienia transmisji jest określana w mikrosekundach lub milisekundach.

2.2.4. Opóźnienie propagacji

Opóźnienie to określa czas niezbędny do przesłania bitu z początku łącza wyjściowego do kolejnego rutera. Definiowane jest jako stosunek odległości między dwoma ruterami do szybkości propagacji d/s [3], gdzie:

d – długość fizycznego łącza,
s – szybkość propagacji w medium transmisyjnym.

Szybkość ta w zależności od fizycznego nośnika zawiera się w przedziale 2 ⋅ 108 ÷ 3 ⋅ 108 m/s.

Gdy cały pakiet dotrze do kolejnego rutera, zostaje tam zapisany i przekazywany dalej.

Wartość opóźnienia propagacji w sieciach rozległych jest wyrażana w milisekundach.

2.2.5. Opóźnienie całkowite w węźle

Całkowite opóźnienie węzła określa równanie [3]:

owęz = oprzet + okolejk + otrans + oprop    (2.1)

w którym:

owęz – całkowite opóźnienie węzła,
oprzet – opóźnienie przetwarzającego węzła,
okolejk – opóźnienie kolejkowania,
otrans – opóźnienie transmisji,
oprop – opóźnienie propagacji.

Poszczególne opóźnienia i ich wkład w całkowitą wartość mogą się znacząco różnić. Jeśli przykładowo rutery znajdują się niedaleko, opóźnienie propagacji będzie bardzo małe, natomiast jeśli rutery będą połączone przy użyciu łącza satelitarnego, opóźnienie propagacji będzie miało znaczną wartość. Wówczas właśnie to opóźnienie może przede wszystkim decydować o wartości całkowitego opóźnienia. Podobnie jest z opóźnieniem transmisji w przypadku przesyłania dużych pakietów za pośrednictwem łącza obsługiwanego przez modem telefoniczny.

2.2.6. Opóźnienia pomiędzy węzłami

Między hostem źródłowym a docelowym może znajdować się szereg ruterów. Korzystając z poprzednich punktów, w których omówiono poszczególne opóźnienia, można wywnioskować, iż przy założeniu, że:

  • opóźnienie kolejkowania jest pomijalne – sieć nie jest przeciążona,
  • opóźnienie propagacji dla każdego łącza jest takie same,
  • opóźnienie każdego przetwarzającego węzła i źródłowego hosta jest takie same,
  • szybkość wysyłania danych przez rutery i hosta źródłowego wynosi R bitów/s,
  • między hostem źródłowym a docelowym znajduje się N – 1 routerów

opóźnienie międzywęzłowe ( owęz–węz ) [3] charakteryzuje zależność:

owęz – węz = N ( oprzet + otrans + oprop ) (2.2)
2.3. Przykładowe wyznaczenie opóźnienia

Istnieje wiele modeli umożliwiających przedstawienie i wyznaczenie czasu opóźnienia. Jednym z nich jest model ze statycznym oknem przeciążenia. Chociaż TCP korzysta z dynamicznego okna, to przedstawiony model pokazuje podstawowe procesy i czasy występujące podczas wysyłania danego obiektu. Analiza przeprowadzana jest w kontekście prostej sieci z jednym łączem pośredniczącym. Przyjęto, że sieć nie jest przeciążona, nie mają miejsca retransmisje, bufory odbiorcze są duże, rozmiar przesyłanego obiektu – O bitów, maksymalny rozmiar segmentu (MSS) – S bitów, szybkość transmisji łącza – R bitów/s, czas na zainicjowanie połączenia – RTT [3], niezmienna wielkość statycznego okna przeciążenia – W (gdy serwer odbierze żądanie od klienta, natychmiast odeśle mu W segmentów), dla każdego potwierdzenia serwer umieści jeden segment. Poniżej przedstawiony zostanie wariant, w którym serwer wysyła wszystkie segmenty okna przed odebraniem potwierdzenia dla pierwszego segmentu okna. Rysunek 4 przedstawia taką sytuację. Przyjęto, że W = 2. Inicjacja połączenia trwa przez czas oznaczony RTT. Klient zaczyna odbierać segmenty po upływie czasu dwukrotnie dłuższego niż RTT. Segmenty są dostarczane z serwera co S/R sekund. Po otrzymaniu każdego segmentu klient wysyła potwierdzenie. Serwer kończy nadawanie segmentów pierwszego okna przed nadejściem potwierdzenia. W związku z tym przechodzi w stan oczekiwania na potwierdzenie. Serwer zacznie wysyłać następny segment w chwili otrzymania potwierdzenia. Kolejne potwierdzenia nadchodzą co S/R sekund. Opóźnienie jest zatem sumą dwóch czasów RTT, czasu potrzebnego na przesłanie obiektu O/R oraz czasu oczekiwania serwera. Jeśli przyjmiemy, że K oznacza liczbę okien danych obiektu, wówczas K = O/WS. Okresów oczekiwania serwera będzie K – 1, a każdy okres będzie trwał RTT – (W – 1) S/R. Zatem opóźnienie wynosi [3]:

o = 2 RTT + O/R + (K – 1) [RTT + S/R – WS/R]  (2.3)

Jeśli serwer otrzyma potwierdzenie pierwszego segmentu pierwszego okna, zanim zakończy transmisję segmentów tego okna, wówczas opóźnienie wynosi:

o = 2 RTT + O/R (2.4)
 
rys4.gif
Rys. 4. Serwer wysyłający wszystkie segmenty okna jeszcze przed odebraniem potwierdzenia dla pierwszego segmentu okna

 

Podsumowanie

W pierwszej części artykułu opisano opóźnienia, jakie można napotkać przy zestawianiu sieciowych urządzeń nadzoru wideo, a także przedstawiono wyniki badań opóźnień w transmisji obrazu przykładowych, dostępnych na naszym rynku kamer sieciowych. Po przeanalizowaniu teoretycznych podstaw pracy sieci można stwierdzić, że poszczególne opóźnienia i ich wkład w całkowitą wartość mogą się znacząco różnić. Przykładowo istotnym rodzajem opóźnienia, mającym największy wpływ na całkowitą jego wartość podczas przesyłania dużej liczby pakietów przez ruter, ma opóźnienie kolejkowania. Przy przesyłaniu na dużą odległość najważniejszy jest czas propagacji.

W drugiej części artykułu zostanie przedstawiona koncepcja stanowiska laboratoryjnego do badania opóźnień w sieciach IP, a także zostaną zaprezentowane wyniki przeprowadzonych na tym stanowisku badań.

dr inż. Marek Życzkowski
mgr inż. Łukasz Stawicki

Literatura

  1. Mahbub Hassan, Raj Jain, Wysoko wydajne sieci TCP/IP, Wydawnictwo Helion, Gliwice 2004.
  2. Sportach M., Sieci komputerowe. Księga eksperta, Wydawnictwo Helion, Gliwice 1999.
  3. James F. Kurose, Keith W. Ross, Sieci komputerowe. Od ogółu do szczegółu z Internetem w tle, Wydawnictwo Helion, Gliwice 2006.
  4. http://en.wikipedia.org/wiki/Closed-circuit_television

Zabezpieczenia 2/2009

 

Wszelkie prawa zastrzeżone. Kopiowanie tekstów bez zgody redakcji zabronione / Zasady użytkowania strony