Информационные сети и телекоммуникации (ИСиТ)
Версия по адресу uii.mpei.ru/study/courses/int — основная,
запасная — uii.bitbucket.io/study/courses/int.
Организация
- Лекционный курс включает изучение принципов постороения и работы информационных сетей, обзор распространенных сетевых протоколов, технологий и алгоритмов.
- Лабораторный практикум посвящен программированию сетевых приложений с использованием Windows Sockets (BSD sockets).
-
Устный экзамен: 2 вопроса, по теоретическому и по практическому материалу
(итоговая программа:
).
Учебный процесс
N. B.: Так как к экзамену — допуск, оценки особого смысла не несут.
Лекционный курс
-
Лекционный курс читается по авторским конспектам
(
).
Версия от 25.04.
-
На некоторых лекциях будут читаться и введения к предстоящим ЛР —
на основе раздаточных материалов, которые нужно иметь с собой.
-
Современные воспросы ИСиТ будут рассмотрены на последней лекции (смотря,
как получится соблюсти график), в конспекты и программу экзамена не входят.
Лабораторный практикум
-
Лабораторная работа № 1 «Блокирующие дейтаграммные сокеты»:
введение
,
задание
,
образец.
-
Лабораторная работа № 2 «Блокирующие потоковые сокеты»:
введение
,
задание
,
образцы:
В Linux их нужно сделать исполняемыми:
chmod +x server client
.
-
Лабораторная работа № 3 «Асинхронный режим передачи»:
введение
,
задание: сервер ЛР № 2 должен обслуживать несколько клиентских сеансов одновременно.
Контрольные вопросы:
,
-
Лабораторная работа № 4 «Диагностика сетевых протоколов»:
руководство по Wireshark,
задание
.
Дополнительные материалы
Литература
В конце глав авторского конспекта приведены ссылки
(сводный список:
),
и полужирным выделены основные источники, с которыми стоит ознакомиться.
Электронные ресурсы
-
The TCP/IP Guide —
бесплатно доступная книга об устройстве сетей и протоколов интернета.
Содержит много иллюстраций, хорошо перекликается с лекциями и дополняет их.
-
Beej’s Guide to Network Programming
(русский перевод) —
руководство по программированию сетевых приложений.
Включает справку по функциям API сокетов с комментариями и примерами.
-
Материалы для подготовки к CCNA —
«младшей» ступени сертификации администраторов устройств Cisco.
Содержит наглядные схемы и анимированные модели по некоторым темам курса.
-
Материалы по неблокирующему режиму работы сокетов
-
Презентация по асинхронному сетевому взаимодействию
в ОС Windows. Содержит намного больше, чем нужно для курса ИСиТ,
см. слайды 49—60.
-
Пример использования неблокирующего
режима для передачи файлов (в *nix). Класс
filesender_t
—
хорошая отправная точка для класса клиента в ЛР № 3. В коде есть опечатки.
-
Урок
работы с неблокирующими сокетами в Windows. Используются специфичные для этой ОС
функции семейства
WSA*
, которые можно заменить аналогичными стандартными.
Программное обеспечение
Перечисленное ниже ПО является бесплатным и кроссплатформенным, установлено в лаборатории.
-
VirtualBox —
программа для запуска виртуальных машин (ВМ), создания и управления ими
(нужна для запуска Linux из Windows).
-
Wireshark —
развитой анализатор сетевого трафика
(нужен для ЛР № 5).
-
Packet Sender —
графическая программа для отправки произвольных пакетов
(полезна для ЛР №№ 1—4).
Среда разработки в Windows
Параметры сборки
В диалоге Project / Build options... на вкладке Linker settings
(иллюстрация):
-
Требуется добавить
ws2_32
(без .dll
) в список Link libraries
для компоновки с библиотекой ws2_32.dll
.
-
Удобно в поле Other linker options вписать
-static
(с дефисом
в начале), чтобы программы запускались извне Code::Blocks без библиотек MinGW-w64.
Вспомогательные материалы
-
Шаблон проекта
с подробной инструкцией, как им пользоваться в Windows и Linux,
включая то, как работать с Git.
-
Мини-библиотека
для кроссплатформенной сетевой разработки. Используется в шаблоне проекта,
но может пригодиться и отдельно тем, кто не хочет им пользоваться.
Преподаватели
Благодарности
-
Иван «Кот» Милохин
выполнил корректуру конспекта.
-
Студенты А-01-10 и А-02-10 с А. А. Бородкиным
любезно опробовали часть ЛР, выявив недорабоки.
-
Руслан Юров из А-01-11
нашел перевод руководства Beej.
Авторы курса: Козлюк Д. А., Кузнецов В. В., Никитин В. В.,
кафедра Управления и информатики НИУ «МЭИ», 2014—2016 гг.
Ответственный за страницу: Козлюк Д. А.