Модернізація стеку протоколів TCP/IP для роботи у мережах з низькою пропускною здатністю

Описано варіанти організації мережевої взаємодії пристроїв системи, розглянуто переваги кожного варіанту та труднощі, які виникають при імплементації стеку протоколів TCP/IP у мережах з низькою пропускною здатністю. Наведено опис замін та особливостей.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 26.11.2023
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Модернізація стеку протоколів TCP/IP для роботи у мережах з низькою пропускною здатністю

Айзенберг Євген Аркадійович магістр кафедри комп'ютерної інженерії факультету радіофізики, електроніки та комп'ютерних систем, Київський національний університет імені Тараса Шевченка, професійна кваліфікація: молодший науковий співробітник (обчислювальні системи), інженер з комп'ютерних систем

Анотація

Наведено короткий опис реалізації комунікаційної системи з використанням технології зв'язку LoRa для обміну інформацією у надзвичайних ситуаціях, окрім цього, ще одним її призначенням є збільшення зони роботи численних IoT-пристроїв. Описано два варіанти організації мережевої взаємодії простроїв системи, розглянуто переваги кожного варіанту та труднощі, які виникають при імплементації стеку протоколів TCP/IP у мережах з низькою пропускною здатністю. Висловлено припущення, що шляхом деяких замін протоколів на більш прості, спрощень, можна зробити стек придатним для роботи у вищезгаданих мережах. На основі статистики щодо розподілу типу Інтернет-трафіку в світі зроблено висновок щодо необхідності дослідження проблеми на прикладі реалізації HTTP API-сервера. Для визначення найбільш ефективного алгоритму стиснення проведене невелике дослідження з різними комбінаціями "представлення - алгоритм стиснення", способи представлення даних були наступні: JSON, CBOR, Msgpack, а алгоритми стиснення - Deflate, Bzip2, Zstd, Lzma, на основі результатів якого була обрана комбінація, яка застовувалася у перевірці. Запропоновано стек протоколів, придатний для мереж з низькою пропускною здатністю, який включає такі протоколи та алгоритми як JSON, Deflate, CoAP, Noise, UDP. Наведено детальний опис переваг кожної складової в порівнянні з відповідником у стеці TCP/IP, недоліків останніх. Наведено опис замін та особливостей запропонованого стеку. Проведено порівняння об'ємів передаваних даних при реалізації одного запиту за допомогою ПЗ Wireshark. Написано допоміжне програмне забезпечення для оцінки і порівняння стеків протоколів, яке працює у двох режимах, наведено опис файлів програм. В ході тестування отримано результат економії від 20% до 86.5% в залежності від режиму роботи.

Ключові слова: комунікаційна система, пристрій, LoRa, стек протоколів, TCP/IP, UDP, CoAP, HTTP, Noise, TLS, Deflate, JSON, API.

Aizenberh Yevhen Arkadiiovych Master's Degree at Computer Engineering department, Faculty of Radio physics, Electronics and Computer Systems, Taras Shevchenko National University of Kyiv, Professional Qualification: Junior Research Fellow (computing systems), Engineer in Computer Systems

TCP/IP PROTOCOL STACK UPGRADE FOR LOW BANDWIDTH NETWORKS

A brief description of the implementation of a communication system using LoRa communication technology for information exchange in emergency situations is provided. Additionally, another purpose of this system is to expand the coverage area for numerous IoT devices. Two variants of network interaction organization for system devices are described, advantages of each variant are considered, and challenges arising from implementing the TCP/IP protocol stack in low-bandwidth networks are discussed. An assumption is made that by replacing certain protocols with simpler, streamlined alternatives, the protocol stack can be made suitable for operation in the aforementioned networks. Based on statistics regarding the distribution of Internet traffic types worldwide, a conclusion is drawn about the need to study the problem through the implementation of an HTTP API server. A small study was conducted to determine the most effective compression algorithm through various combinations of "representation - compression algorithm," with the following data representations: JSON, CBOR, Msgpack, and compression algorithms: Deflate, Bzip2, Zstd, Lzma. A combination was selected based on the results and applied in the evaluation. A protocol stack suitable for low-bandwidth networks is proposed, which includes protocols and algorithms such as JSON, Deflate, CoAP, Noise, UDP. Detailed descriptions of the advantages of each component in comparison to its counterpart in the TCP/IP stack and their shortcomings are provided. Descriptions of substitutions and features of the proposed stack are given. A comparison of data transmission volumes for implementing a single request using Wireshark software is conducted. Auxiliary software for assessing and comparing protocol stacks was developed, functioning in two modes, and descriptions of the program files are provided. During testing, results showed savings ranging from 20%ЃZ to 86.5%ЃZ, depending on the operational mode. стек пропускний мережевий

Keywords: communication system, device, LoRa, protocol stack, TCP/IP, UDP, CoAP, HTTP, Noise, TLS, Deflate, JSON, API.

Постановка задачі. В рамках виконання дипломної роботи магістра було досліджено технологію зв'язку LoRa та використано її для комунікації користувачів. Був розроблений пристрій, маючи який користувачі можуть надсилати один одному текст та медіа подібно до того, як це відбувається в месенджерах Telegram, Viber, WhatsApp тощо. Також архітектурно закладалася можливість, щоб пристрій окрім функції месенджера міг бути одноканальним LoRaWAN-шлюзом для різноманітних кінцевих пристроїв з модуляцією LoRa. Проект отримав назву LoRaMobGate (Мобільний LoRa-шлюз).

В подальшому з'явилося більш детальне бачення того, що цей пристрій буде з себе представляти. Для максимального здешевлення та спрощення конструкції обробка даних відбувається не на самому пристрої, а на головній ЕОМ (далі - "хост"), хост - це обчислювальна потужність, що використовується пристроєм. Отже, пристрій виконано у форматі приставки до смартфона/ноутбука/комп'ютера. Спеціальне програмне забезпечення на хості містить всю логіку роботи та опрацьовує дані - обчислювальні потужності сучасних смартфонів та ноутбуків значно перевищують ті, що необхідні для роботи створеного ПЗ. Схематично складові частини системи та їх взаємодія показані на рис. 1.

Оскільки тематика цієї статті пов'язана з подальшими дослідженнями створеної системи, більш детальну інформацію про хід процесу реалізації пристрою, задачі та способи їх розв'язання, схему, друковану плату та ПЗ пристрою, ПЗ хоста, опис та програмну реалізацію протоколу прикладного рівня взаємодії пристрою та хоста наведені за посиланнями [1] та [2].

Рис.1 Основні компоненти системи та їх взаємодія

Одним з векторів подальшого розвитку вищезгаданої системи є інтеграція Мережі з мережею Інтернет. Це може надати нові можливості та підвищити значимість системи у надзвичайних ситуаціях, наприклад, у випадку відсутності доступу до мережі Інтернет можна буде отримати його за допомогою Мережі системи. Враховуючи великий радіус дії модуляції LoRa, це можна буде зробити на великих відстанях, використовуючи радіорелейний зв'язок пристроїв. З технічної точки зору це може бути реалізовано шляхом інкапсуляції пакетів TCP/IP у пакет Мережі, проте цей варіант створює завади подальшої інтеграції з мережею Інтернет та передачу зайвих, дубльованих за типом даних.

Альтернативним варіантом інтеграції є приведення мережевого стеку системи до стану сумісності з TCP/IP або заміна окремих його компонентів на аналогічні з цього стеку. Проте використання стеку TCP/IP з його стандартним набором протоколів у мережах з низькою пропускною здатністю є нераціональним та важким завданням через великі обсяги передаваних його складовими даних. Для вирішення цієї проблеми постала необхідність модернізації стеку TCP/IP для роботи у мережах з низькою пропускною здатністю та з високим відсотком втрат.

Аналіз останніх досліджень і публікацій. Проблематика використання стеку протоколів TCP/IP у мережах з обмеженими ресурсами (зокрема для потреб ЮТ) широко висвітлена у літературі. Авторами пропонуються різні способи адаптації цього стеку, які умовно можна поділити на три категорії. Кожен підхід до вирішення проблеми має свої переваги, свою складність імплементації та кінцеву ефективність.

Перша з цих категорій є найбільш поширеною серед публікацій і включає різноманітні техніки стиснення заголовків протоколів та їх спрощення шляхом виключення певних полів. Такий підхід, наприклад, описується у роботі Mikael Degermarkt, Mathias Engant Bjorn Nordgren та Stephen Pinkt "Low-loss TCP/IP Header Compression for Wireless Networks".

У публікаціях другої категорії пропонується замінити окремі протоколи на більш економічні і таким чином зекономити на передаваних даних. Наприклад, Manveer Joshi, Bikram Pal Kaur у своїй статті "CoAP Protocol for Constrained Networks" пропонують замінити протокол передачі даних HTTP на CoAP, а транспортний протокол з гарантованою доставкою TCP замінити на UDP.

Автори третьої категорії публікацій пропонують глибокі модифікації складових стеку або навіть заміну самого стеку в цілому. Так, у статті "Improvement of TCP Performance based on Characteristics of Private LoRa Interface" Jumpei Sakamoto та інші дослідники висувають ідею суттєвої трансформації TCP-протоколу з огляду на мережі з низькою пропускною здатністю (на прикладі модуляції LoRa). А у статті "Challenges in IoT Networking via TCP/IP Architecture" Wentao Shang, Yingdi Yu, Ralph Droms та Lixia Zhang порушують питання суттєвого переосмислення стеку та підходів, що використовуються в IOT.

Мета статті - модернізація стеку мережевих протоколів TCP/IP шляхом заміни протоколів на більш сумісні для роботи у мережах з низькою пропускною здатністю та подальшого його використання для організації обміну даними між терміналами комунікаційної системи.

Пропонований стек протоколів для мереж з низькою пропускною здатністю. Під час проектування архітектури системи LoRaMobGate розглядалися два можливих варіанти організації обміну даними між терміналами: розробка власного стеку протоколів з використанням інкапсуляції пакетів мережі Інтернет або адаптація широко використовуваного стеку протоколів TCP/IP для взаємодії з модуляцією LoRa. Був обраний перший варіант, оскільки на той момент функціональні вимоги не включали інтеграцію з мережею Інтернет. З іншого боку вибір другого варіанту спростив би реалізацію такого завдання. Типовий пакет Ethernet займає близько 1500 байтів і для модуляції LoRa це нераціонального багато. Але тим не менш з деякими спрощеннями та замінами, про які далі піде мова, все ж можна адаптувати вищезгаданий стек протоколів для ефективної роботи у мережах з низькою пропускною здатністю, використовуючи стек протоколів, складові якого наведені у таблиці 1.

В останні роки стпостерігається швидке поширення та інтенсивний розвиток Інтернет-пов'язаних додатків. Незалежно від їх призначення повсякденне життя стає все тісніше пов'язаним з системами, підключеними до глобальної мережі. Разом з тим значного поширення набули API-сервіси - за даними Cloudflare у 2021-ому році (перший тиждень грудня) трафік API-сервісів склав 54% від загального трафіку, ставши до того ж найбільш швидкозростаючим типом трафіку (+21% за рік) [3]. Така популярність API- інтерфейсів пов'язана зі зручністю у проектуванні систем (через розділення серверної та зовнішньої частин) та великими можливостями інтеграції. З огляду на вищесказане, у порівнянні мережевих стеків буде розглядатися емуляція роботи API-сервера, який використовує HTTP+JSON для обміну даними.

Порівняння протоколів у стеках

Таблиця 1

У таблиці 1 наведене порівняня протоколів, що застосовуються у стеках відповідно до рівнів моделі OSI [4]. У обох варіантах на прикладному рівні фігурує формат обміну даними JSON з єдиним нюансом, що у запропонованому стеку для економії даних при конвертації (дампі) у байтовий рядок з кодуванням UTF-8 вилучаються символи пробілу, які покращують читабельність даних. Для цього, наприклад, у мові програмування Python вказують такий додатковий аргумент: json.dumps(data, separators=(,,',

Представлення та стиснення даних. Для визначення найбільш ефективного алгоритму стиснення було проведене невелике дослідження з різними комбінаціями "представлення - алгоритм стиснення", способи представлення даних були обрані наступні: JSON, CBOR, Msgpack, а алгоритми стиснення - Deflate, Bzip2, Zstd, Lzma [5]. Був обрахований відсоток "економії" - відсоткова різниця розміру оригінальних даних та стиснених. В ролі останніх виступали 150 відформатованих файлів JSON розміром від 15 до 2650 байтів, згенеровані випадковим чином за допомогою сервісу codebeautify.org. Ці ж файли будуть використані далі у тестуванні запропонованого стеку як дані, що надаються АРІ-сервером.

Рис. 2 Порівняння різних комбінацій представлення та стиснення

Отримані результати показані на рис. 2. Вісь абсцис - розмір оригінальних даних у байтах, вісь ординат - відсоток економії. Ліва частина рисунку показує загальну картину, а права частина деталізує результати у діапазоні розмірів даних до 150 байтів. Попри очікування найкращих результатів у комбінацій з новим алгоритмом стиснення Zstd, найкращою виявилася пара "JSON+Deflate". З отриманих результатів видно, що на вкрай малих об'ємах даних усі розглянуті алгоритми стиснення не працюють ("економія" від'ємна), особливо погано спрацював алгоритм Lzma (-400%, тобто стиснуті дані займають у 5 разів більше місця, ніж нестиснуті). Але така поведінка спостерігається тільки до 40 байтів - після цієї відмітки алгоритми Deflate та Zstd починають стискати, а після 250 байтів - усі. В цілому після 1200 байтів усі досліджені алгоритми стискають з економією у проміжку 40-50%. Зважаючи на результати дослідження, було прийнято рішення використовувати формат даних JSON та алгоритм стиснення Deflate.

Протокол прикладного рівня передачі даних. CoAP (Constrained Application Protocol) - спеціалізований протокол інтернет-додатків для пристроїв з обмеженими ресурсами, як визначено в RFC 7252, і дозволяє пристроям спілкуватися через Інтернет. Протокол особливо орієнтований на обладнання з обмеженими ресурсами, таке як 8-бітні мікроконтролери, датчики низької потужності та аналогічні пристрої, які не можуть працювати з HTTP або TLS. Це спрощення протоколу HTTP, що працює через UDP, що допомагає зберегти пропускну здатність. Він призначений для використання у пристроях в межах однієї обмеженої мережі (наприклад, малопотужної або мережі з великим відсотком втрат), між пристроями та загальними вузлами в Інтернеті, а також між пристроями у різних обмежених мережах, які об'єднані мережею Інтернет. CoAP надає модель взаємодії "запит/відповідь" між кінцевими точками застосувань, підтримує вбудоване виявлення сервісів і ресурсів, і включає ключові концепції Web, такі як URI та MIME-типи. CoAP призначений для зручної взаємодії з HTTP для інтеграції з Web, задовольняючи спеціалізованим вимогам, таким як підтримка multicast, дуже низькі накладні витрати та простота для обмежених середовищ [6].

Формат повідомлення CoAP

Таблиця 2

er

TKL

Code

Message ID

Token (if any, TKL байт)

Options (if any)

Payload (if any)

Формат повідомлення CoAP наведений у таблиці 2. Він містить такі обов'язкові поля:

• Version (ver). Вказує номер версії CoAP. Реалізації цієї специфікації RFC7252 повинні встановити це поле у значення 1. Інші значення зарезервовані для майбутніх версій. Займає 2 старших біти.

• Type (T) . Вказує, що це повідомлення має тип Confirmable (0), Non-confirmable (1), Acknowledgement (2) або Reset (3). Займає наступні 2 біти.

• Token Length (TKL) . Вказує довжину поля "токен" змінної довжини (0-8 байтів). Займає другу половину байту.

• Code. Число, розділене на два класи: 3 старші біти, та наступні 5, документоване як "c.dd", де "с" - цифра від 0 до 7 для 3-бітного підполя і "dd" - дві цифри від 00 до 31 для 5-бітного підполя. Клас може вказувати запит (0), відповідь на успіх (2), відповідь на помилку клієнта (4) або відповідь на помилку сервера (5). Код 0.00 вказує на порожнє повідомлення. У разі запиту у полі вказується метод запиту; у разі відповіді - код відповіді. Якщо прибрати крапку, то отримані коди у своїй більшості збігатимуться з відповідними кодами стану HTTP, проте такий спосіб зберігання числа дозволяє зекономити один байт, наприклад, для запису коду 504 (Gateway Timeout) знадобиться 9 бітів (2 байти), а "5.04" у вищезгаданому форматі потребує для зберігання рівно байт.

• Message ЌH D. 16-бітне ціле число без знаку. Використовується для виявлення дублювання повідомлень.

Враховуючи схожість з протоколом HTTP та в загальному випадку досить обмежене використання функціоналу останнього, легко написати програмне забезпечення, яке буде конвертувати HTTP-пакети у CoAP і навпаки.

Організація захищеного з 5 єднання. На жаль, TLS не підходить на роль протоколу безпеки транспортного рівня по ряду причин. Найголовніша, з них - високі накладні витрати, оскільки TLS додає заголовки до кожного пакету даних і процес встановлення шифрування потребує обміну ключами, які порівняно великі за розміром, а це додаткове навантаження на мережу. Друга причина полягає в тому, що цей протокол чутливий до затримок та у деяких режимах роботи може ініціювати додаткові рукостискання (handshakes), що збільшить об'єм переданих даних. І остання причина полягає в тому, що операції TLS потребують значних обчислювальних ресурсів. Хоч у Пристроях обробка даних відбувається на Хостах, проте у разі можливих змін архітектури системи це могло би стати проблемою, наприклад, у разі переносу частини алгоритмів роботи Мережі на Пристрій, зокрема шифрування.

Враховуючи вищесказане, прийнято рішення використовувати протокол Noise, який використовує протокол обміну ключами Діффі-Хелмана, може використовувати AES та HMAC і був розроблений як більш гнучка та ефективна альтернатива іншим протоколам. Він може працювати у різних режимах в залежності від потреб застосування: у безпечному режимі він використовує всі інструменти та методи для забезпечення максимальної безпеки, а у режимі продуктивності він оптимізований для мереж з низькою пропускною здатністю, через це не використовує всі функції безпеки, проте забезпечує достатній для більшості застосувань рівень безпеки [7].

Протокол транспортного рівня. Протокол UDP був обраний замість TCP з все тих же міркувань передаваних у мережі даних. Останній має вищі накладні витрати через те, що має забезпечувати гарантовану доставку даних, звідси наявність різних механізмів, які збільшують об'єм даних. Враховучи малу пропускну здатність модуляції LoRa, високі рівні затримок та можливість реалізувати гарантовану доставку програмно на більш високому рівні, вибір припадає на UDP.

Формат пакету пропонованого стеку та його особливості. Короткий опис замін і перетворень у пропонованому стеці протоколів:

• JSON зменшується у розмірі шляхом вилучень зайвих знаків.

• HTTP конвертується безпосередньо в CoAP.

• TLS замінюється на Noise. Це дає 1RTT (рукостискання XX) для першого з'єднання з співрозмовником, і 0RTT (рукостискання IK) для всіх наступних з'єднань [8].

• Заголовки CoAP розміщуються перед Noise, дозволяючи використовувати їх для обрамлення Noise без дублювання заголовків на рівнях CoAP та Noise (табл. 3). Пакети Noise формуються як CoAP з користувацькими типами повідомлень 250, 251, 252. Навіть рукостискання Noise оформлюються у пакет наведеного формату, що робить його уніфікованим.

Таблиця 3

Формат пакету пропонованого стеку

* Корисне навантаження CoAP стискається за допомогою алгоритму Deflate.

Перевірка і порівняння ефективності запропонованого стеку протоколів зі стандартним. Для оцінки і порівняння стеків протоколів мовою Python було написано кілька програм "клієнт - сервер", що реалізують кожен варіант та два режими роботи: всі дані передаються після встановлення одного сеансу шифрування або шифрування налаштовується при кожному запиті. Нагадаємо, що це реалізація API-сервера, яка за запитом назви файлу (їх 150) у відповідь надсилає їх JSON-зміст. Код програм розміщений у репозиторії на Github [9]. Призначення та опис файлів програм наведений у таблиці 4:

Програми для перевірки стеків протоколів

Таблиця 4

Файл

Опис

coap udp noise server.py

Програма слухає UDP порт 2000, обробляє вхідні підключення, встановлює захищене з'єднання, відповідає на запити. JSON+CoAP+Noise+Deflate+ UDP

coap udp noise client each.py

Програма надсилає запити на UDP порт 2000, кожного разу встановлюючи захищене Noise з'єднання

coap udp noise client all.py

Програма надсилає запити на UDP порт 2000, лише один раз встановлюючи захищене Noise з'єднання

https server.py

Програма слухає TCP порт 2000, обробляє вхідні підключення, встановлює захищене з'єднання TLS, відповідає на запити. JSON+Deflate+HTTP+TLS+ TCP

https client each.py

Програма надсилає запити на TCP порт 2000, кожного разу встановлюючи захищене TLS з'єднання

https client all.py

Програма надсилає запити на TCP порт 2000, лише один раз встановлюючи захищене TLS з'єднання

utils.py

Допоможні функції: конвертація HTTP - CoAP і навпаки, конвертація кодів станів HTTP, визначення допоміжних Enum-типів, функції стискання

Рис. 3 Передані пакети для однакового запиту у двох випадках

Для підрахунку переданих під час тестування кожного режиму даних використовувалося ПЗ Wireshark з фільтрами: tcp.port == 2000 - для стеку протоколів TCP/IP, udp.port == 2 000 - для пропонованого стеку. Послідовності пакетів, що надсилається в кожному з варіантів стеків, показані відповідно на рис. 3.

Конкретно в наведеному вище випадку для встановлення з'єднання, надсилання запиту та отримання відповіді (запит та відповідь однакові для обох рисунків) стек TCP/IP потребує пересилки 4477 байт у 17 пакетах, а пропонований - всього 679 байт у 4-х (!) пакетах, тобто у 6.5 разів менший об'єм даних та у 4 рази менше пакетів.

Як вже зазначалося, оцінка та порівняння двох стеків протоколів включає в себе передачу даних у двох режимах - у випадку встановлення одного захищеного з'єднання для усіх 150 запитів або встановлення нового захищеного з'єднання на кожен запит. Очевидно, що у останньому випадку кількість переданих даних буде кратно більша, особливо у випадку TLS, де на етапі встановлення з'єднання використовується обмін довгими ключами. Результати запуску вищеописаних програм наведено у таблиці 5. Як видно з неї, пропонований стек дає економію близько 20% у першому режимі та цілих 86.5% у другому. Фактично отримані результати описують мінімальний та максимальний ступінь економії даних. У процесі експлуатації відсоток економії, ймовірно, буде ближче до середнього значення між цими двома крайніми точками.

Таблиця 5 - Результати перевірки стеків протоколів

Передані дані, байт

Стек TCP/IP

Пропонований стек

s

2

Одне захищене з'єднання

92930

74154

Багато захищених з'єднань

751118

100676

Висновки

В статті порушується питання використання стеку протоколів TCP/IP в мережах з низькою пропускною здатністю, зокрема в мережі, що утворена пристроями комунікаційної системи LoRaMobGate, які використовують для цього модуляцію LoRa. Запропоновано модернізацію стеку, в якій використовуються протоколи, що дозволяють значно зменшити розмір передаваних даних. Для порівняння та оцінки написане відовідне ПЗ та на основі отриманих позитивних результатів зроблено висновок про можливість використання вищезгаданого модернізованого стеку у мережах з низькою пропускною здатністю. Запропонований стек протоколів дозволяє зекономити до 86.5% переданих даних.

Література

1. Айзенберг Є.А. Багатоцільова система пакетного бездротового зв'язку на базі технології LoRa [Електронний ресурс] / Є.А. Айзенберг, Є.А. Слюсар // Наука і техніка сьогодні. - 2023. - №. 4 (18). - С. 237-250. - Режим доступу: http://perspectives.pp.ua/ index.php/nts/issue/download/139/218.

2. Instant messaging over a long distance using LoRa & singlechannel LoRa gateway [Електронний ресурс]. - Режим доступу: https://github.com/comradeFreeman/loramobgate (дата звернення: 13.08.2023).

3. Landscape of API Traffic [Електронний ресурс]. -Режим доступу: https://blog.cloudflare.com/ landscape-of-api-traffic/ (дата звернення: 13.08.2023).

4. Internet protocol suite. [Електронний ресурс]. - Режим доступу: https://en.wikipedia.org/ wiki/Internet_protocol_suite (дата звернення: 13.08.2023).

5. Comparing Compression Methods on Linux: gzip, bzip2, xz, and zstd. [Електронний ресурс]. - Режим доступу: https://dev.to/cookiebinary/comparing-compression-methods-on- linux-gzip-bzip2-xz-and-zstd-3idd (дата звернення: 13.08.2023).

6. The Constrained Application Protocol (CoAP) [Електронний ресурс]. - Режим доступу: https://datatracker.ietf.org/doc/html/rfc7252 (дата звернення: 13.08.2023).

7. The Noise Protocol Framework [Електронний ресурс]. - Режим доступу: https://noiseprotocol.org/noise.html (дата звернення: 13.08.2023).

8. Хотите зашифровать вообще любое TCP соединение? Теперь у вас есть NoiseSocket [Електронний ресурс]. - Режим доступу: https://habr.com/ru/companies/ virgilsecurity/articles/334506/ (дата звернення: 13.08.2023).

9. Lightweight TCP/IP protocol stack upgrade for low bandwidth networks, particularly LoRa. [Електронний ресурс]. - Режим доступу: https://github.com/comradeFreeman/- lightweight_stack (дата звернення: 13.08.2023).

10. References:

11. Aizenberh, Ye.A., & Sliusar, Ye.A. (2023). Bahatotsilova systema paketnoho bezdrotovoho zviazku na bazi tekhnolohii LoRa [LoRa-based multi-purpose packet wireless system]. Nauka i tekhnika sohodni - Science and technology today, 4 (18), 237-250. Retrieved from http://perspectives.pp.ua/index.php/nts/issue/download/139/218 [in Ukrainian].

12. Instant messaging over a long distance using LoRa & singlechannel LoRa gateway. (n.d.). github.com. Retrieved from https://github.com/comradeFreeman/loramobgate [in Russian].

13. Landscape of API Traffic. (n.d.) blog.cloudlare.com. Retrieved from https://blog.cloudflare.com/ landscape-of-api-traffic/ [in English].

14. Internet protocol suite. (n.d.). wikipedia.org. Retrieved from https://en.wikipedia.org/ wiki/Internet_protocol_suite [in English].

15. Comparing Compression Methods on Linux: gzip, bzip2, xz, and zstd. (n.d.). dev.to. Retrieved from https://dev.to/cookiebinary/comparing-compression-methods-on-linux-gzip-bzip2- xz-and-zstd-3idd [in English].

16. The Constrained Application Protocol (CoAP). (n.d.). datatracker.ietf.org. Retrieved from https://datatracker.ietf.org/doc/html/rfc7252 [in English].

17. The Noise Protocol Framework. (n.d.). noiseprotocol.org. Retrieved from https:// noiseprotocol.org/ noise.html [in English].

18. Khotyte zashyfrovat voobshche liuboe TCP soedynenye? Teper u vas est NoiseSocket [Want to encrypt any TCP connection at all? Now you have NoiseSocket]. (n.d.). habr.com. Retrieved from https://habr.com/ru/companies/virgilsecurity/articles/334506/ [in Russian].

19. Lightweight TCP/IP protocol stack upgrade for low bandwidth networks, particularly LoRa. (n.d.). github.com. Retrieved from https://github.com/comradeFreeman/lightweight_stack [in English].

Размещено на Allbest.ru

...

Подобные документы

  • МАС-адреса як унікальний ідентифікатор мережевого інтерфейсу (зазвичай мережевої карти) для реалізації комунікації пристроїв в мережі на фізичному рівні. IP-адреса: поняття та призначення, принципи та етапи настройки. Основи роботи з утилітами TCP/IP.

    лабораторная работа [161,6 K], добавлен 15.10.2013

  • Механізми та етапи доступу до фізичного середовище передачі даних. Типи та класи адрес стеку TCP/IP. Поняття та суть локальної адреси, ієрархічна ознака символьних доменних імен. Використання масок в ІР-адресації. Спеціальні адреси стеку TCP/IP.

    контрольная работа [382,0 K], добавлен 29.10.2009

  • Особливості налагодження протоколів канального рівня для з’єднань глобальних мереж на базі обладнання Cisco. Методика та головні етапи налагодження з’єднання мереж через маршрутизатори Cisco з використанням протоколів HDLC, PPP та технології Frame Relay.

    лабораторная работа [1,1 M], добавлен 17.06.2012

  • Описано вказану систему, побудована її концептуальна модель, зроблено формальний опис системи та імітаційної моделі, виконано програмування моделі системи та наведено результати моделювання.

    курсовая работа [73,1 K], добавлен 16.06.2007

  • Огляд і архітектура обчислювальних мереж, переваги їх використання та обґрунтування вибору. Пошук несправностей в мережах на базі операційної системи Windows, виявлення причин. Особливості методів захисту від несанкціонованого доступу в мережі TCP/IP.

    курсовая работа [2,8 M], добавлен 28.01.2011

  • Визначення ATM (Asynchronous Transfer Mode - Режим асинхронної передачі) та її характеристики. Алгоритм RED: червоне світло для зайвих пакетів. RED в мережах TCP/IP. RED в мережах ATM.

    реферат [17,7 K], добавлен 12.06.2007

  • Опис та криптоаналіз шифрів простої заміни, перестановки та багатоалфавітних шифрів. Стандарт DЕS. Мережі Фейстеля. Криптосистеми з відкритим ключем. Структура системи RSA. Означення та принципи організації криптографічних протоколів. Кодування алфавіта.

    дипломная работа [782,5 K], добавлен 29.01.2013

  • Аналіз мережевих протоколів та їх основних параметрів. Описання алгоритму розв’язання задач написання мережевих програм, та реалізація їх на базі Winsock. Створення простого чату для передачі повідомлень користувачів, на основі протоколів IEEE та ISO.

    курсовая работа [86,1 K], добавлен 17.06.2015

  • Формати прийому та передачі даних через послідовний порт, його технічні характеристики, будова і принцип роботи. Характеристика протоколів послідовної передачі. Способи керування портами у WINDOWS95 та WINDOWS XP. Опис алгоритму і функціонування програми.

    дипломная работа [752,6 K], добавлен 09.06.2010

  • Стандартизація опису мережних специфікацій та технологій організації взаємодії пристроїв у мережі. Характеристика та призначення фізичного рівня еталонної моделі OSI. Характеристика протоколу ІСМР, обмін керуючими повідомленнями, повідомлення про помилки.

    контрольная работа [32,6 K], добавлен 23.10.2009

  • Структура захищених систем і їх характеристики. Моделі елементів захищених систем. Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей. Нормативно-правова база розробки, впровадження захищених систем.

    дипломная работа [332,1 K], добавлен 28.06.2007

  • Питання, моделі та десять технологічних тенденцій розвитку мережних розподілених обчислень. "Візантійські відмови" і проблема вибору лідера. Рівні архітектури протоколів Грід і їх відповідність рівням архітектури протоколів Інтернет. Структура GRAM.

    курс лекций [1,4 M], добавлен 25.08.2014

  • Обчислення максимальної довжини загальної шини в мережах Ethernet. Типи середовищ передачі даних в мережах Ethernet. Підключення до загальної шини в мережах10Base-5. Конструкція tap-адаптера "зуб вампіра". Основні характеристики коаксіальних кабелів.

    лекция [2,7 M], добавлен 18.10.2013

  • Технології організації безпечного доступу на об’єкт. Принцип роботи мережевої системи контролю доступу. Технологія сканування відбитків пальців. Опис базових параметрів біометричного обладнання. Елементи ідентифікації в сучасних системах доступу.

    дипломная работа [4,9 M], добавлен 27.01.2012

  • Створення операційної системи UNIX. Історія створення і розвитку протоколів ТСР/ІР. Протокол транспортного рівня. Логічний комунікаційний канал між джерелом і отримувачем даних без встановлення зв’язку. Протокол взаємодії з сервером доменних імен.

    контрольная работа [23,1 K], добавлен 18.05.2009

  • Визначена оптимальна кількість верстатів і накопичувачів, що обумовлюють досягнення головної мети роботи – вибір кращого варіанту гнучкої виробничої системи.

    курсовая работа [42,3 K], добавлен 16.06.2007

  • Поняття маршрутизаторів, їх принцип роботи та призначення, необхідність використання в комп’ютерній мережі. Типи адрес стеку ТСР/ІР: локальні (апаратні), ІР-адреси та символьні доменні імена. Класи ІР-адрес, їх класифікація, призначення та інтерпретація.

    контрольная работа [25,4 K], добавлен 12.09.2009

  • Загальна характеристика підприємства "Focus". Огляд програмного забезпечення для створення комп’ютерної мережі. Вибір мережевої служби та протоколів, архітектури, кабелю. Розрахунок обсягу даних, мінімальної конфігурації для серверів та робочих станцій.

    курсовая работа [600,9 K], добавлен 20.05.2015

  • "Критичні" комплектуючі комп'ютера. Процесор та оперативна пам'ять. Швидкість роботи комп'ютера. Порівняння швидкодії комплектуючих з роботою еталонних моделей. Стратегія і варіанти модернізації. Функціональні особливості побудови материнської плати.

    курсовая работа [4,6 M], добавлен 24.06.2013

  • Розробка інформаційної системи для автоматизації, підвищення ефективності та спрощення роботи відділень та приймальної комісії. Опис основних класів, варіантів взаємодії системи. Процес авторизації реєстратора. Процес створення запиту в системі.

    курсовая работа [694,9 K], добавлен 16.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.