Реализуйте эмулятор работы протокола RIP в виде консольного приложения.
Ваша автономная сеть (АС) из маршрутизаторов может быть сконфигурирована на основе файла
(например, .json) либо генерироваться случайным образом каждый раз при запуске.
Каждый маршрутизатор должен иметь свой уникальный IP адрес. Это приложение не предполагает передачу данных по сети, поэтому IP адреса, как и связи между маршрутизаторами, могут быть произвольными.
Программа должна корректно работать с произвольной АС.
В конце работы программы для каждого маршрутизатора должна быть выведена таблица маршрутизации. Пример таблицы:
Final state of router 198.71.243.61 table:
[Source IP] [Destination IP] [Next Hop] [Metric]
198.71.243.61 122.136.243.149 42.162.54.248 4
198.71.243.61 157.105.66.180 42.162.54.248 2
198.71.243.61 229.28.61.15 42.162.54.248 3
198.71.243.61 42.162.54.248 42.162.54.248 1
Приведите скрин или лог работы программы.
todo
Выведите на консоль промежуточные этапы работы протокола: по каждому маршрутизатору должна быть выведена его текущая таблица маршрутизации.
Simulation step 3 of router 42.162.54.248
[Source IP] [Destination IP] [Next Hop] [Metric]
42.162.54.248 122.136.243.149 157.105.66.180 3
42.162.54.248 157.105.66.180 157.105.66.180 1
42.162.54.248 229.28.61.15 157.105.66.180 2
42.162.54.248 198.71.243.61 198.71.243.61 1
todo
Реализуйте имитацию работы маршрутизаторов в виде отдельных потоков на примере приложения, рассмотренного на занятии.
Бонус: Не используйте общую память, а вместо этого реализуйте общение потоков через сокеты (+3 балла).
Реализуйте программу, которая измеряет скорость передачи информации по протоколам TCP и UDP, а также выводит количество потерянных пакетов.
Программа состоит из двух частей: клиента и сервера. Клиент создает трафик случайным образом (т.е. генерируется случайная последовательность данных) и отправляет их на сервер. Сервер подсчитывает количество полученных данных и выводит результат. Время отправки указывается клиентом вместе с данными.
Ваше приложение должно иметь GUI.
Пример интерфейса:
todo
Пример интерфейса:
todo
Разработать приложение – транслятор портов. Трансляция осуществляется в соответствии с набором правил трансляции, заданных в конфигурационном файле. Каждое правило должно указывать, с какого порта на какие IP адрес и порт транслировать. При изменении конфигурационного файла новые правила должны вступать в действие, но установленные соединения не должны разрываться. В программе должен быть реализован GUI.
Пример GUI:
todo


