МЕТОД ПОБУДОВИ СИМУЛЯЦІЇ ЛОКАЛЬНОЇ МЕРЕЖІ НА ОСНОВІ AMQP ТА НАБІР ПРОТОКОЛІВ ПІДТРИМКИ
DOI: 10.31673/2412-4338.2024.031219
Анотація
Сучасні масштабовані рішення вимагають спрощеного режиму управління зв'язком. Щоб досягти масштабованості, репліковані служби або кластерні рішення часто використовують або централізований підхід до управління, або мережу однорангових вузлів. В останньому випадку повинно бути запроваджене рішення, яке керує засобами зв’язку. Часто безпека в таких мережах досягається за допомогою використання VPN (віртуальних приватних мереж), які дозволяють абстрагувати компоненти цілісності зв’язку та конфіденційності. Для досягнення адресації, виявлення мережі та прямого зв’язку зазвичай використовується складний набір мережевих протоколів. Таке налаштування створює надзвичайний тягар для інженерів, які повинні проектувати та впроваджувати складні топологічні структури мережі та інтегрувати їх із кодовою базою прикладного рівня. Мета цієї статті — запропонувати новий підхід до побудови однорангових мереж на основі протоколу AMQP. У ході дослідження буде описано внутрішню роботу протоколу AMQP через впровадження брокера RabbitMQ. Надано опис розробленого клієнта симуляції локальної мережі (LAN). Крім того, такі показники продуктивності, як затримка та пропускна здатність, були розглянуті для використання змодельованого середовища локальної мережі. У даній статті наведено міркування щодо безпеки під час побудови імітованих локальних мереж із заданим методом. Крім того, було розроблено набір протоколів підтримки реплік, їх призначення та опис надаються як чітка ілюстрація можливого використання методу моделювання локальної мережі.
Ключові слова: Local Area Network (LAN); Advanced Message Queuing Protocol (AMQP); імітація мережі; черга повідомлень; архітектура мережі; продуктивність мережі; комунікаційні протоколи; обмін даними; топологія мережі; масштабованість; надійність; затримка; пропускна здатність; розподілені системи; реальний час зв'язку; інтероперабельність; проміжне програмне забезпечення.
Список використаної літератури
1. Prateek S. Leader election in distributed systems - A deep dive!. LinkedIn: Log In or Sign Up. URL: https://www.linkedin.com/pulse/leader-election-distributed-systems-deep-dive-saurav-prateek/ (date of access: 11.04.2024).
2. Leader Election Algorithms: History and Novel Schemes. IEEE Xplore. URL: https://ieeexplore.ieee.org/abstract/document/4682163 (date of access: 12.04.2024).
3. Kotov M., Toliupa S., Nakonechnyi V. REPLICA STATE DISCOVERY PROTOCOL BASED ON ADVANCED MESSAGE QUEUING PROTOCOL. Cybersecurity: Education, Science, Technique. 2024. Vol. 3, no. 23. URL: https://doi.org/10.28925/2663-4023.2024.23.156171 (date of access: 13.04.2024).
4. WireGuard: Next Generation Kernel Network Tunnel - NDSS Symposium. NDSS Symposium. URL: https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/wireguard-next-generation-kernel-network-tunnel/ (date of access: 18.04.2024).
5. AMQP 0-9-1 model explained | rabbitmq. RabbitMQ: easy to use, flexible messaging and streaming | RabbitMQ. URL: https://rabbitmq-website.pages.dev/tutorials/amqp-concepts (date of access: 23.04.2024).
6. OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0, Part 3: Messaging. OASIS. URL: https://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html (date of access: 23.04.2024).
7. Selvam M. AMQP – introduction and story of the rabbitmq. Medium. URL: https://medium.com/@manikandanselvam_89994/amqp-introduction-and-story-of-the-rabbitmq-6f905980369a (date of access: 23.04.2024).
8. Tezer O. S. An advanced message queuing protocol (AMQP) walkthrough. DigitalOcean | Cloud Infrastructure for Developers. URL: https://www.digitalocean.com/community/tutorials/an-advanced-message-queuing-protocol-amqp-walkthrough (date of access: 23.04.2024).
9. Ashtari H. AMQP vs. MQTT: 9 key differences - spiceworks. Spiceworks. URL: https://www.spiceworks.com/tech/networking/articles/amqp-vs-mqtt/ (date of access: 03.02.2024).
10. Clients Libraries and Developer Tools | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/client-libraries/devtools (date of access: 25.04.2024).
11. Consumer Acknowledgements and Publisher Confirms | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/confirms (date of access: 26.04.2024).
12. Reliability Guide | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/reliability (date of access: 28.04.2024).
13. Dead Letter Exchanges | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/dlx (date of access: 03.05.2024).
14. Ibrahim D. Semapores and mutexes. ResearchGate. URL: https://www.researchgate.net/publication/341708618_Semapores_and_mutexes (date of access: 04.05.2024).
15. Overview | Prometheus. Prometheus - Monitoring system & time series database. URL: https://prometheus.io/docs/introduction/overview/ (date of access: 06.05.2024).
16. When to use the Pushgateway | Prometheus. Prometheus - Monitoring system & time series database. URL: https://prometheus.io/docs/practices/pushing/ (date of access: 08.05.2024).
17. Pull doesn't scale - or does it? | Prometheus. Prometheus - Monitoring system & time series database. URL: https://prometheus.io/blog/2016/07/23/pull-does-not-scale-or-does-it/ (date of access: 08.05.2024).
18. Consumer Prefetch | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/consumer-prefetch (date of access: 10.05.2024).
19. Quorum Queues | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/quorum-queues (date of access: 14.05.2024).
20. Date - JavaScript | MDN. MDN Web Docs. URL: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#the_epoch_timestamps_and_invalid_date (date of access: 16.05.2024).
21. OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0, Part 5: Security. OASIS. URL: https://docs.oasis-open.org/amqp/core/v1.0/amqp-core-security-v1.0.html (date of access: 18.05.2024).
22. SASL Overview (GNU Simple Authentication and Security Layer 2.2.1). The GNU Operating System and the Free Software Movement. URL: https://www.gnu.org/software/gsasl/manual/html_node/SASL-Overview.html (date of access: 18.05.2024).
23. RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2. IETF Datatracker. URL: https://datatracker.ietf.org/doc/html/rfc5246 (date of access: 22.05.2024).
24. AMQP Claims-based Security Version 1.0. OASIS. URL: https://docs.oasis-open.org/amqp/amqp-cbs/v1.0/amqp-cbs-v1.0.html (date of access: 24.05.2024).
25. Authentication, Authorisation, Access Control | RabbitMQ. RabbitMQ: One broker to queue them all | RabbitMQ. URL: https://www.rabbitmq.com/docs/access-control (date of access: 27.05.2024).