Сетевые технологии
Лекции
Тема 1 | Эталонная модель взаимодействия открытых систем OSI/RM. Сопоставление стека протоколов сети Интернет с OSI/RM. Клиент-серверная архитектура. Роль и место прикладных протоколов в стеке. | ![]() |
Тема 2 | Электронная почта. Схема взаимодействия почтовых агентов. Структура электронных сообщений. Протоколы: SMTP, POP3, IMAP4. | ![]() ![]() |
Тема 3 | Протокол передачи гипертекстовой информации (HTTP). Взаимодействие HTTP-агентов. Структура заголовков HTTP-сообщения. Общий вид запроса-ответа. Методы запросов. Вопросы кэширования. Расширения HTTP. | ![]() ![]() |
Тема 4 | Протокол передачи файлов (FTP). Назначение. Схема взаимодействия. Режимы передачи (активный, пассивный, FXP). | ![]() |
Тема 5 | Служба доменных имён. Прямая, обратная зоны. Схема запроса информации. Структура DNS-записи. Проблемы DNS. | ![]() |
Тема 6 | Вопросы безопасной передачи данных в Интернет (DH, RSA, PKI, ECC, ...). Протокол Secure Shell (SSH). Безопасные протоколы транспортно-сеансового уровня (SSL/TLS). |
![]() ![]() ![]() |
Тема 7 | Интернет-протокол управляющих сообщений (ICMP). Назначение, общие черты, формат пакета, типы сообщений. Приложения ICMP. | |
Тема 8 | Маршрутизация в сети Интернет. Протоколы внутренней и внешней маршрутизации. Понятие автономной системы. Таблицы маршрутизации. Статическая и динамическая маршрутизация. Маршрутизация по вектору расстояния и по состоянию канала связи. Примеры протоколов (RIP, OSPF, BGP). Multicast. IGMP. | ![]() ![]() ![]() |
Лабораторные работы
- Изучение почтовых протоколов
- Изучение дополнительных возможностей протокола HTTP
- Изучение системы доменных имён (DNS)
- Знакомство с IPv6
- Обеспечение доступа к сервисам между двумя немаршрутизируемыми сетями
- Знакомство с Multicast
Учебник
- Сетевые технологии : E-mail и WWW
- Сетевые технологии : DNS и FTP
- Сетевые технологии : Вопросы безопасности
- Сетевые технологии : Маршрутизация
- Лабораторные работы
Дополнительные материалы
Домашнее задание по DNS
12) Используя RFC2317, предложите способ делегирования обратных зон трём разным организациям для сетей (по вариантам):
- 194.85.172.0/26, 194.85.172.64/26 и 194.85.172.128/25;
- 193.232.254.0/25, 193.232.254.128/26, 193.232.254.192/26;
- 172.20.168.0/26, 172.20.168.64/26 и 172.20.168.128/25;
- 195.209.249.0/25, 195.209.249.128/26, 195.209.249.192/26.
Альтернативное д/з по FTP
Опишите последовательность действий клиента и сервера при передаче файла:
- в активном режиме FTP,
- в пассивном режиме FTP,
- в режиме FXP.
Домашнее задание по ICMP
Ознакомьтесь со справочным руководством по программе traceroute:
man tracerouteи законспектируйте различные способы трассировки маршрута (LIST OF AVAILABLE METHODS).
Флаг (RSA)
- Флаг зашифрован открытым ключом: зашифрованное сообщение, открытый ключ.
Задача 2024 года решена! Ответ: «Umhüllen ihn Eis und Schnee».
То, чего здесь пока нет, смотрим по старому адресу: http://lab127.karelia.ru/~alexmou/net_tech/
Проектирование сетевых приложений
Лекции
Тема 1 | Программные интерфейсы, обеспечивающие сетевое взаимодействие (Berkeley Sockets API) | |
Тема 2 | Стратегии ввода-вывода |
Запись лекции 08.02.2021
Запись лекции 15.02.2021: ч.1, ч.2, ч.3.
Учебное пособие
- Жиганов Е. Д., Мощевикин А. П. Передача данных в компьютерных сетях. Петрозаводск, 2007. 156 с.
POSIX | Win32 | Java | |
---|---|---|---|
синхронный блокирующий ввод-вывод, многопоточный сервер |
pthread или fork | CreateThread | java.net+Thread |
синхронный ввод-вывод с мультиплексированием, однопоточный сервер |
select, poll, epoll | select | java.nio |
ввод-вывод с синхронным уведомлением, однопоточный сервер |
sigwaitinfo | WSAAsyncSelect | |
ввод-вывод с асинхронным уведомлением, однопоточный сервер |
sigaction | ||
асинхронный ввод-вывод, однопоточный сервер |
Overlapped I/O |
fork/pre-fork | pthread | select | poll | epoll | sigaction | sigwaitinfo | WSA (OverlappedIO) | java.net/nio.* | |
---|---|---|---|---|---|---|---|---|---|
SMTP (MDA или relay MTA) | N1 | N2 | N3 | N4 | N5 | N6 | N7 | N8 | |
POP3 | N11 | N12 | N13 | N14 | N15 | N16 | N17 | N18 | |
FTP (passive) | N21 | N22 | N23 | N24 | N25 | N26 | N27 | N28 | |
HTTP | N31 | N32 | N33 | N34 | N35 | N36 | N37 | N38 | |
DNS (vs. TCP) | N41 | N42 | N43 | N44 | N45 | N46 | N47 | N48 | |
Др. стд. протокол* | N51 | N52 | N53 | N54 | N55 | N56 | N57 | N58 | N59 |
Словарь | N61 | N62 | N63 | N64 | N65 | N66 | N67 | N68 | |
Сетевая игра | N71 | N72 | N73 | N74 | N75 | N76 | N77 | N78 | |
Обмен сообщениями (чат или IM) | N81 | N82 | N83 | N84 | N85 | N86 | N87 | N88 | |
Калькулятор | N91 | N92 | N93 | N94 | N95 | N96 | N97 | N98 | |
Другое сетевое приложение* | N51 | N52 | N53 | N54 | N55 | N56 | N57 | N58 | N59 |
В одной колонке или строке должно быть выбрано не более трёх ячеек.
При тестировании сервера убедиться:
- что он корректно работает со стандартным клиентом;
- что он корректно работает одновременно с несколькими (двумя-тремя) стандартными клиентами;
- что он корректно отрабатывает нештатное поведение клиента (неизвестные команды, мусор, внезапный разрыв соединения, большие блоки данных);
- что он корректно обрабатывает запросы от 1000 клиентов (написать скрипт или специального клиента, "бомбящего" сервер запросами).