Задание 1: Расчет конфигурации сети Ethernet 1 сегмент 12 10Base-T 2 сегмент 10Base-FB 3 сегмент 10Base-T 4 сегмент 10Base-T 5 сегмент 10BaseFB 6 сегмент 10Base-T Брать максимальную длину сегмента. По результатам расчетов дать заключение о работоспособности сети. Привести свой (работоспособный) вариант сети. Контрольные вопросы Физический и канальный уровень – функциональное назначение. LLC, его уровни. Структура кадра LLC. Метод доступа CSMA/CD. Понятие коллизии причины ее возникновения. Требования к физической среде Ethernet. Interframe gap, jam-последовательность, slot time, collision window – назначение и расчет. 8. Почему окно коллизий равно времени двукратного прохождения сигнала между самыми удаленными узлами сети? 9. Пример расчета максимальной пропускной способности сегмента Ethernet. 10. Формат MAC-кадра и времена его передачи для Ethernet и Fast Ethernet. 11. Форматы кадров Ethernet. 12. По каким критериям производиться расчет сети Ethernet? 13. Почему расчет задержки распространения необходимо в общем случае производить дважды? 14. Почему минимальным временем распространения кадра в 10BASE-T принято 575 бит? 15. Почему уменьшение межкадрового расстояния повышает вероятность потери кадров? 16. Почему происходит рассинхронизация кадров при прохождении повторителей? 1. 2. 3. 4. 5. 6. 7. Отчет по контрольной работе должен содержать: Письменные ответы на контрольные вопросы. Решенная задача по своему варианту с приведенной схемой сети и предложениями по изменению условий в случае невыполнимости базовой задачи. Задание 2: Программирование протоколов сетевого и транспортного уровней. Создание последовательного сервера без установления логического соединения UDP Разработать приложение, реализующее архитектуру «клиент-сервер». Необходимо реализовать последовательный сервер без установления логического соединения (UDP). Логику взаимодействия клиента и сервера реализовать следующим образом: 1. Клиент вводит с клавиатуры строку символов и посылает ее серверу. Признак окончания ввода строки – нажатие клавиши "Ввод". Сервер, получив эту строку, должен определить длину введенной строки и, если длина больше 15, то выделяется подстрока до первого пробела и возвращается назад клиенту. Контрольные вопросы Что содержит UDP-сообщение помимо посылаемых данных? Что называется дейтаграммой? Какие возможности не предоставляет UDP (в отличие от TCP)? Чем функции sendto() и recvfrom() отличаются от функций send() recv()? 5. Что происходит, если размер буфера, переданный в функцию recvfrom(), слишком мал для приема всей дейтаграммы целиком? 6. Приведите примеры сетевых приложений, использующих UDP. 7. В каких случаях применение UDP протокола может быть предпочтительней, чем TCP? 1. 2. 3. 4. Отчет по контрольной работе должен содержать следующее: Решение задачи по своему варианту: o Постановка задачи. o Краткое описание алгоритма. o Листинги с пояснениями. o Результаты тестирования (копии экранов). Письменные ответы на контрольные вопросы по теории. Задание 3: Создание последовательного сервера с установлением логического соединения TCP Разработать приложение, реализующее архитектуру «клиент-сервер». Необходимо реализовать последовательный сервер с установлением логического соединения (TCP). Логику взаимодействия клиента и сервера реализовать следующим образом: 1. Клиент посылает серверу шестизначный номер билета. Сервер определяет, является ли этот билет «счастливым». «Счастливым» называется такой билет, у которого сумма первых трех цифр равна сумме последних трех. Сервер посылает результат назад клиенту. Контрольные вопросы 1. Какая технология называется межсетевым обменом (internetworking)? 2. Объясните понятие «протоколы» в контексте технологий обмена данными. Что они включают? Примеры. 3. Назовите отличия TCP/IP от других средств передачи данных. 4. Дайте определение понятию «сокет». 5. Опишите функцию, которая используется для приема данных через сокет потока (протокол TCP). 6. Назовите функцию, используемую для создания сокета. Опишите ее параметры. 7. Опишите функцию, которая используется для пересылки данных через сокет потока (протокол TCP). 8. Что возвращает функция accept(), в том случае, если соединение открывается успешно? 9. Назовите функцию, которая используется в приложении-клиенте для посылки запроса на открытие соединения. Опишите ее параметры. Отчет по индивидуальной практической работе должен содержать следующее: Решение задачи по своему варианту: o Постановка задачи. o Краткое описание алгоритма. o Листинги с пояснениями. o Результаты тестирования (копии экранов). Письменные ответы на контрольные вопросы по теории. Задание 4: Создание параллельного многопоточного сервера с установлением логического соединения (TCP) Разработать приложение, реализующее архитектуру «клиент-сервер». Необходимо реализовать параллельный многопоточный сервер с установлением логического соединения (TCP). Логику взаимодействия клиента и сервера реализовать так, как указано в варианте индивидуального задания. Предусмотреть возможность просмотра, добавления, редактирования, удаления информации клиентом на сервере. 15. На сервере хранится информация об участниках соревнований по спортивным танцам. Она включает: название танцевальной пары город оценка жюри оценка зрителей возрастная группа Клиент посылает на сервер возраст участников. Назад он получает название той танцевальной пары, суммарная оценка которой в данной возрастной группе максимальна. Контрольные вопросы 1. Что такое параллельное соединение? Особенности параллельного соединения. 2. Отличие параллельного соединения от последовательного? 3. Назовите преимущества многопотоковых процессов по сравнению с однопотоковыми процессами. 4. С чем связано повышение эффективности многопотоковых процессов? 5. Назовите недостатки многопотокового процесса по сравнению с однопотоковым. 6. Какие функции служат для создания потоков? Отчет по индивидуальной практической работе должен содержать следующее: Решение задачи по своему варианту: o Постановка задачи. o Краткое описание алгоритма. o Листинги с пояснениями. o Результаты тестирования (копии экранов). Письменные ответы на контрольные вопросы по теории.