Jednym z problemów występujących w dużych systemach Internetu Rzeczy, złożonych z tysięcy urządzeń IoT, są przeciążenia sieci w pobliżu urządzeń pełniących rolę hubów komunikacyjnych (brokerów danych, chmur obliczeniowych). Przeciążenia te nie są w wystarczającym stopniu rozładowywane przez protokół TCP, który (ze względu na specyfikę ruchu telekomunikacyjnego w systemach IoT) nie jest w stanie prawidłowo oszacować, dostępnych dla danej transmisji, zasobów sieciowych. W artykule przedstawiono prototypowe urządzenie IoT, zbudowane na mikrokontrolerze Raspberry PI pracującym pod kontrolą systemu operacyjnego Linux, które szacuje wielkość, dostępnej dla protokołu TCP, przepustowości ścieżki komunikacyjnej. Urządzenie korzysta ze znanej metody par pakietów. Aby poprawić dokładność szacunków, użyto wariantu metody, który ocenia wielkość dostępnej przepustowości na podstawie ciągów par. Badania przeprowadzone w dedykowanej sieci lokalnej pozwoliły zarówno ocenić pracę urządzenia, jak i dokonać analizy dokładności szacunków przeprowadzanych w obecności ruchu charakterystycznego dla systemów Internetu Rzeczy. Oceniono również narzut ruchu wnoszonego do sieci Internetu Rzeczy przez pomiary metodą par testowych TCP. Ze względu na ograniczoną moc obliczeniową mikrokontrolera Raspberry PI, urządzenie korzysta z prostych, szybkich wariantów obliczeniowych metody par pakietów PTR (bez odstępu czasowego między parami pakietów) oraz zmodyfikowany IGI (ze zmiennym odstępem czasowym między parami pakietów). Urządzenie umożliwia szybką ocenę stanu sieci w trakcie trwania transmisji IoT. Znajomość stanu sieci, w tym przepustowości dostępnej dla transmisji TCP, pozwoli na efektywniejsze działanie systemu wykorzystującego dużą liczbę urządzeń Internetu Rzeczy.
EN
One of the serious problems with large-scale Internet of Things systems, composed of thousands of IoT devices, are network congestions that occur near communication hubs (data brokers, computing clouds). These congestions cannot be enoughly discharged by the TCP protocol, which (due to specific teletraffic, generated by IoT devices) is not able to correctly estimate bandwidth available for a given transmission. In this article, a prototype IoT device that estimates amount of bandwidth of transmission path, available for TCP transmissions, is presented. The device is built with the use of the Raspberry PI microcontroller, working under the control of the Linux operating system, and uses packet pairs method for bandwidth estimation. To improve estimation accuracy, Probing Packet Trains (PPT) variant of packet pairs method was used. Results of experiments carried out in local area network are presented in figures and includes both analysis of estimation accuracy, and analysis of amount of control traffic that will be injected to an IoT network during a single measurement with the use of several probing packet trains. Due to limited computing power of the Raspberry PI, the device uses two, simple for computing, versions of the PPT: Packet Transmission Rate and Initial Gap Increasing. The device enables fast assessment of networks conditions. Knowledge of bit rate available for current TCP transmissions allows for more efficient performance of IoT systems that use large amount of devices.
W artykule przedstawiono budowę klienta sygnalizacji współpracującego z prostym serwerem sygnalizacyjnym. Klient taki może być prostym klientem, wymagającym jedynie podstawowej sygnalizacji, lub bardziej złożonym. Jako przykład systemu o większym stopniu złożoności pokazano aplikację zgodną z architekturą WebRTC. W artykule przedstawiona została przykładowa komunikacja pomiędzy klientem i serwerem zebrana podczas sesji WebRTC. Artykuł zawiera również przykłady dwóch rozwiązań aplikacji czatu internetowego, które wykorzystują ten sam interfejs użytkownika oraz ten sam system sygnalizacji (drugie rozwiązanie rozszerza pierwsze o obsługę komunikatów sygnalizacyjnych techniki WebRTC), różnią się natomiast sposobem transmisji danych użytkownika (wiadomości tekstowych czatu). W pierwszym rozwiązaniu dane użytkownika przenoszone są kanałem sygnalizacyjnym (via serwer sygnalizacyjny) z wykorzystaniem interfejsu WebSocket. W drugim rozwiązaniu dane użytkownika przenoszone są bezpośrednio pomiędzy przeglądarkami (kanałem WebRTC przeznaczonym do transmisji danych niemedialnych) z wykorzystaniem interfejsu RTCDataChannel techniki WebRTC.
EN
A simple signalling server, written in JavaScript and running in node.js run-time environment, was presented in the previous paper of the Authors [3]. In this paper, principles of building of WebRTC signalling client are presented, as well as exemplary communication between the client and the server, captured with the use of WireShark software tool during experimental WebRTC sessions. The paper includes also an example of application of Internet chat, that uses the simple signalling server [3]. The chat was builreneusz in two versions, which uses the same user interface and their signalling systems were build according to the same methodology, but differs in method of transmission of chat messages. The first version transmits user data (text messages of the chat) via signalling server, with the use of signalling channel. This version uses WebSocket interface for transmission of chat messages. In the case of the second version, user data are transmitted directly between web browsers, using WebRTC's channel dedicated for transmission of nonmedia data. This version transmits chat messages with the use of WebRTC's RTCDataChannel interface.
W artykule omówiony został protokół RTP do transmisji informacji multimedialnej w czasie rzeczywistym oraz jego profil RTP/SAVP, szerzej znany pod nazwą SRTP (Secure RTP), stanowiący rozszerzenie znanego profilu RTP/AVP o kwestie związane z bezpieczeństwem transmisji. SRTP pozwala na uwierzytelnianie pakietu RTP oraz szyfrowanie danych użytkownika (danych medialnych) przenoszonych w pakiecie RTP.
EN
In the paper, the Real-time Transport Protocol (RTP), intended for real-time transmission of multimedia information was described, as well as its RTP/SAVP profile, also known as the Secure RTP (SRTP), which extends the well-known Audio/Video Profile of the RTP with security. The SRTP allows for authentication of RTP packets and encryption of the payload of RTP's packet (de facto, encryption of media data).
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.