- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
Лабораторная работа №4
Написать программу, которая осуществляет передачу сообщений по сети по протоколу TCP/IP. При этом:
1) Адрес получателя и адрес отправителя должен отличаться не менее, чем на 3 IP-адреса (с IP-адреса 192.168.3.21 можно отправить сообщения на адреса до 192.168.3.17 и после 192.168.3.25, а на адреса от 192.168.3.18 и до 192.168.3.24 – нельзя);
2) Сообщения должны передаваться по сегментам сети, при этом сообщение может передаваться не далее, чес на 2 IP-адреса (с IP-адреса 192.168.3.21 можно отправить сообщения на адреса 192.168.3.19, 192.168.3.20, 192.168.3.22, 192.168.3.23, а на адреса до 192.168.3.18 и после 192.168.3.24 – нельзя);
3) На каждом сегменте к сообщению добавляется IP-адрес посредника;
4) Ввести элемент случайности: каждый посредник может либо принять, либо отклонить сообщение с вероятностью отказа 0,3. Факт отказа отмечать в формируемом для дальнейшей отправки сообщении. При этом маршрут не может содержать более 10 узлов. Если количество узлов оказалось более 10 (из-за протяжённости маршрута или из-за ошибок и отказов), вернуть ответ напрямую отправителю о невозможности отправки сообщения, но с указанием проделанного маршрута;
5) Ввести контроль ошибок с помощью кода Хэмминга, на каждом этапе пересылки ЄAaь код Хэмминга и передавать следующему адресату, который проверяет наличие ошибки. Отправитель с вероятностью 0,1 может допустить одиночную ошибку. Если адресат получает ошибочное сообщение, он его исправляет и отмечает этот факт в формируемом для отправки далее сообщении;
6) Если сообщение достигло адресата, то на адрес отправителя напрямую отправляется сообщение о доставке с указанием проделанного маршрута.
Для проверки работы программы необходимо разместить несколько копий на компьютерах в сети и запустить их на приём и передачу сообщений. Проверить, как передаются сообщения и какие при этом формируются маршруты.