БЕЗСЕРВЕРНИЙ ПРОТОКОЛ ГРУПОВОГО ОБМІНУ ДАНИХ ДЛЯ СИНХРОНІЗАЦІЇ ДЕКІЛЬКОХ КОМП’ЮТЕРІВ У ЛОКАЛЬНІЙ МЕРЕЖІ
11.11.2021 21:45
[1. Інформаційні системи і технології]
Автор: Горєліков А.М, магістрант, кафедра програмного забезпечення, Національний університет «Львівська політехніка»
Зараз у повсякденному житті, практично у всіх галузях використовують комп’ютер: розробники, дизайнери, аналітики, тощо. Зачасту для виконання задач вони використовують специфічне ПЗ, яке працює лише в певних середовищах, такі як ПЗ для моделювання для систем macOS, що приводить до використання декількох комп’ютерів користувачем локально, або ж з інших причин пов’язаних зі специфікою роботи. У таких випадках виникає проблема зручного та швидкого управління цими комп’ютерами, якби це був один комп’ютер, адже підключення декількох комп’ютерних гарнітур для цього не є зручним, а перенесення файлів через фізичні носії чи через хмарні сховища займає багато часу. Для вирішення цієї проблеми потрібно створити протокол та його реалізацію для синхронізації декількох комп’ютерів у локальній мережі.
Протокол (або мережевий протокол) - це зазвичай набір документації що описує послідовність роботи цього протоколу, хоча цей термін також вживається у значенні “реалізації” протоколу. Протоколи структуровані у вигляді стеку протоколів.
Ролі рівнів протоколів:
● Фізичний (Physical) – протокол передачі даних безпосередньо в середі передачі даних. Приклад: Ethernet 802.3 який описує як саме має передаватися дані по витій парі кабелів.
● З’єднання (Data Link) – протокол якій відповідає за з’єднання двох сусідніх сутностей у мережі. Приклад: Ethernet 802.2 описує розбиття інформації на кадри (frames) та описує системи контролю помилок (контрольні суми, біти парності, тощо.).
● Мережевий (Internet) – протокол який відповідає за з’єднання між двома сутностями (не обов’язково сусідніми) у мережі. Приклад: IPv4, протокол який є найрозповсюдженішим протоколом мережевого рівня на сьогоднішній день та протокол ICMP який надає можливість відправки сервісних повідомлень.
● Транспортний (Transport) – протокол який відповідає за цілісність даних при передачі. Приклад – протокол TCP, який гарантує повну передачу непошкоджених даних через мережу.
● Застосунку (Application) – протокол рівня користувача. Приклад – HTTP, який надає нам можливість переглядати веб-сторінки.
Основною метою проекту є розроблення безсерверного протоколу групового обміну, у результаті використання якого можна вирішити проблему масштабування безсерверних протоколів та його реалізувати у вигляді програмного засобу для синхронізації декількох комп’ютерів у локальній мережі.
Синхронізація комп’ютерів здійснюється за допомогою синхронізації буферів обміну між комп’ютерами, з можливістю подальшого модульного розширення функціоналу до синхронізації пристроїв вводу.
Наукові статті розглядають проблеми синхронізації та передачі даних на низьких рівнях (канальному, мережевому та транспортному) і існує багато досліджень щодо ефективності протоколів цих рівнів, але не розглядається створення протоколу синхронізації прикладного рівня.
Також хоча досліджується використання групової передачі даних у протоколах (IRC), але не розглядається безсерверний варіант групової передачі. Тому існує потреба у створенні безсерверного протоколу групової передачі даних, якій вирішує проблему масштабування груп.
Вирішення проблеми масштабування протоколу з забезпеченням цілісності даних досягнуто використанням архітектури мігруючого серверу.
Література:
1. Wibling O. Creating Correct Network Protocols [Electronic resource] : Doctoral thesis, comprehensive summary / Wibling Oskar. – [S. l.], 2008.
2. Rosti E. IP Multicast [Electronic resource] / Emilia Rosti // Handbook of Computer Networks. – Hoboken, NJ, USA, 2011. – P. 407–416.
3. James F. Kurose and Keith W. Ross. Computer Networking: A top down approach featuring the Internet (2nd edition). Addison-Wesley, 2002.
4. Paul S. Pros and cons of Reliable Multicast Protocols [Electronic resource] / Sanjoy Paul // Multicasting on the Internet and its Applications. – Boston, MA, 1998. – P. 245–253
5. Simpson C. Internet relay chat. [Syracuse, NY] : Clearinghouse on Information & Technology, 1999.
_______________
Науковий керівник: Гавриш В.І., д.т.н., професор кафедри програмного забезпечення, Національний університет «Львівська політехніка»