Internet

Методические указания к лабораторной работе по курсу «инфокоммуникационные системы и сети»

К рассмотрению предложен ряд протоколов, применяемых в современном Internet, в ряде их реализаций. Протокол HTTP осознанно обойден вниманием, поскольку рассмотрен в работе, посвященной Всемирной паутине. (Которая, в противном случае, была бы неполной.) Вопросам, связанным с применением протокола SSH, иных прикладных криптографических систем, и системы электронной почты (Internet email) также посвящены отдельные работы.

Номинальный вклад этой работы в оценку — 35 баллов.

Маршрутизация в Internet

  1. (2 балла) Используя http://lg.he.net/ определите четыре маршрута до каких-либо двух хостов Internet с каких-либо двух маршрутизаторов — и соответствующие времена доставки. (Функция traceroute.) Опишите четыре промежуточных маршрутизатора (автономная система, владелец, географическое расположение — используя, например, данные системы Whois) — по одному для каждого маршрута.

    Обратите внимание, что для включения результата в «текстовый» отчет, может быть полезно применить опцию raw output (no tables).

  2. (1 балл) Используя http://lg.he.net/ определите времена доставки ICMP echo-пакетов до каких-либо двух хостов Internet с каких-либо двух маршрутизаторов. («Каждый с каждым.» Функция ping.)

  3. (2 балла) Определите глобально-маршрутизируемый IP-адрес используемой системы. Используя http://lg.he.net/ определите маршрут и времена доставки до нее с каких-либо четырех маршрутизаторов.

  4. (2 балла) Соберите командой mtr статистику по временам доставки пакетов до какого-либо хоста Internet. Сбор статистики должен выполняться в течение четырех минут и включать порядка 64 циклов доставки.

Равноранговое распространение больших объемов данных; BitTorrent

  1. (2 балла) Примите участие в законном распространении каких-либо данных с использованием протокола BitTorrent (например, обратившись к ресурсам из списка ниже.) Запишите сведения о распространяемых данных (infohash, общий объем, краткое описание) и семи участниках «torrent-роя» (swarm; IP-адрес, объем переданных и полученных данных, время соединения, использовалось ли шифрование), с которыми выполнялся обмен данными.

  2. (2 балла) Сформируйте .torrent-файл для набора данных, состоящего из небольшого количества файлов, общим объемом порядка 4 ÷ 16 MiB. Распространите данные на две другие машины без использования torrent tracker (используя, например, local peer discovery, LPD, или DHT.)

Система доменных имен DNS

  1. (1 балл) Выполните четыре запроса к DNS используя dig. Используйте не менее двух различных типов ресурсных записей; имена должны принадлежать по меньшей мере двум различным доменам второго уровня.

  2. (1 балла) Получите из DNS две различные MX-записи. Объясните их назначение и действие.

  3. (2 балла) Получите из DNS три различные SRV-записи. Объясните их назначение и действие.

  4. (2 балла) Выполните проверку цифровых подписей трех различных наборов записей (RRset) DNS используя dig +sigchase.

  5. (1 балл) Выполните проверку цифровых подписей трех различных наборов записей используя http://dnsviz.net/.

  6. (1 балл) Опубликуйте в DNS три «осмысленных» записи для двух различных имен. Удостоверьтесь в их работоспособности.

    (Здесь можно воспользоваться, например, http://freedns.afraid.org/.)

Текстовые конференции в реальном времени; IRC

  1. (1 балл) Подключитесь к какому-либо серверу IRC (Freenode, или же локальному); например, используя sic. Найдите «проверочную» конференцию и отправьте в нее сообщение. Получите ответ.

  2. (2 балла) Подключитесь к серверу «диагностическим» TCP-клиентом (socat, PuTTY, etc.) Отправьте сообщение в «проверочную» конференцию и получите ответ.

  3. (2 балла) Запустите собственный IRC-сервер (например, ngircd.) Проверьте работоспособность, создав не менее двух каналов и подключив не менее трех клиентов.

Kerberos

  1. (1 балл) Используя kinit, аутентицируйтесь в домене (realm) Kerberos. Сравните вывод klist до и после аутентикации. Удостоверьтесь в действительности полученного ticket успешно обратившись к какому-либо серверу, аутентицировавшись используя GSSAPI.

  2. (1 балл) Измените собственный пароль в домене Kerberos используя kpasswd.

Сетевая файловая система NFS

  1. (1 балл) Выясните, какие сетевые файловые системы подключены к используемой системе (например, выполнив df -t nfs4 — или же обратившись к /proc/mounts непосредственно.) Прочитайте пять файлов с удаленного сервера, включая по меньшей мере один обычный.

  2. (1 балл) Разместите на NFS-сервере три файла, включая по меньшей мере одну новую директорию. Удостоверьтесь в их доступности с удаленного клиента.

Телеконференции; NNTP

  1. (1 балл) Подключитесь к какому-либо серверу NNTP (например, nntp://news.aioe.org/) используя какой-либо пользовательский агент телеконференций (netnews user agent; alpine, neomutt, etc.) Отправьте сообщение в какую-либо «проверочную» конференцию (news:alt.test, news:relcom.test, etc.) Получите ответ.

  2. (1 балл) Зарегистрируйтесь на каком-либо NNTP-сервере, требующем регистрации (например, Eternal September.) Отправьте сообщение в «проверочную» конференцию. Получите ответ.

  3. (2 балла) Подключитесь к серверу «диагностическим» TCP-клиентом (socat, PuTTY, etc.) Отправьте сообщение в «проверочную» конференцию и получите ответ.

Синхронизация времени; NTP

  1. (1 балл) Изучите состояние локального NTP-сервера, выполнив ntpq -pn. Объясните вывод команды.

  2. (1 балл) Изучите состояние двух удаленных NTP-серверов.

Синхронизация директорий; Rsync

  1. (2 балла) Получите доступ к какому-либо из общедоступных Rsync-серверов Internet. Найдите на сервере директорию с небольшим (1 ÷ 16 MiB) общим объемом содержащихся файлов. Выполните рекурсивную синхронизацию локальной директории с содержимом найденной, сохраняя кроме того времена последнего изменения файлов (например, -rOt.) Через некоторое время (не менее 30 мин) выполните повторную синхронизацию. В обоих случаях, запишите список переданных файлов, объемы переданных данных и время синхронизации (-v.)

  2. (2 балла) Выполните синхронизацию директорий между двумя хостами используя Rsync поверх SSH. Измените один из файлов директории-источника и удостоверьтесь в том, что при повторной синхронизации этот и только этот файл был обновлен.

  3. (1 балл) Выполните синхронизацию небольшой (1 ÷ 16 MiB) выборки из большой (не менее 64 MiB) директории используя фильтр команды rsync (например, --filter=, --include=, --exclude=.) Измените настройки фильтра так, чтобы в выборку вошел еще один небольшой файл и удостоверьтесь в том, что при повторной синхронизации этот файл был добавлен к копии.

  4. (1 балл) Измените поведение команды rsync используя одну из опций ниже. Объясните изменения.

    • -c
    • -H
    • -L
    • -u
    • -x

Internet-телефония (VoIP)

  1. (1 балл) Установите равноранговое VoIP-соединение между машинами программой Linphone. Выявите созданные программой Internet-соединения (например, командой lsof.)

  2. (2 балла) Установите VoIP-соединение через SIP-коммутатор.

Оформление отчета

  1. (1 балл) Оформите отчет в виде документа HTML.

    Обратите внимание на то, что документ должен не только корректно воспроизводится соответствующим программным обеспечением, но и успешно проходить формальную проверку с использованием http://html5.validator.nu/ и (или) иных подобных средств. Элементы и атрибуты HTML должны быть использованы семантически-обоснованно — сообразно смыслу, которым их наделяет текущая практика и актуальные спецификации.