Канальный уровень Канальный уровень Типы каналов точка-точка (двухточечные) широковещательные (Ethernet, WiFi, Спутник) последовательные (переключаемые) Основные задачи: передача кадров между непосредственно связанными компьютерами управление доступом к линии связи – иногда выделяют как отдельный подуровень (MAC) управление потоком обнаружение и исправление ошибок Ошибки: контроль четности Ошибки: контрольная сумма CRC Ошибки: контрольная сумма CRC Коды Хемминга Управление доступом к среде передачи Протоколы коллективного доступа Аналогия из жизни: в аудитории преподаватель и студенты используют один широковещательный канал Главный вопрос: Кто сейчас будет говорить?, т.е., передавать данные по каналу Можно придумать несколько правил общения: o “дайте возможность поговорить каждому” o “не говорите, пока вам не дадут слово” o “не говорите долго” o “если у вас есть вопрос, поднимите руку” o “не перебивайте говорящего” o “не спите, когда преподаватель говорит” 9 Типы протоколов Протоколы разделения каналов Протоколы произвольного доступа TDMA FDMA CDMA SDMA ALOHA CSMA/CD (Ethernet, WiFi) Протоколы последовательного доступа Протокол опроса Протокол передачи маркера (Token ring) Протоколы разделения каналов Временное разделение TDM (Time Division Multiplexing) Протоколы разделения каналов Частотное разделение FDM (Frequent Division Multiplexing) Протоколы разделения каналов Множественный доступ с кодовым разделением CDMA (Code Division Multiple Access) Каждому передатчику присваивается свой код, который он использует для кодирования данных Сигнал получают все, а расшифровывает правильно только тот, кому предназначено Помехоустойчив Ёмкость CDMA сети обычно в несколько раз выше FDMA и TDMA-сетей SDMA - Space Division Multiple Access Пространственное разделение канала: Деление региона на соты Использование направленных антенн, излучающих сигнал по выделенным секторам Протоколы произвольного доступа. ALOHA Первый протокол такого типа Каждый узел предает сразу после поступления данных от сетевого уровня Если произошла коллизия, то передает повторно Узлы, как невоспитанные собеседники, перебивают остальных говорящих и при этом не прекращают говорить Следует ли передавать повторно сразу же? Slotted ALOHA Сравнение ALOHA collision sender A sender B sender C Slotted ALOHA sender A sender B sender C t collision t DAMA - Demand Assigned Multiple Access Эффективность использование канала: 18% для Aloha, 36% для Slotted Aloha Резервирование канала может повысить эффективность до 80% отправитель резервирует таймслот в будущем для отправки данных отправка данных в зарезервированный таймслот гарантированно происходит без коллизий резервирование приводит к увеличению времени отклика Примеры алгоритмов: Явное резервирование по Робертсу (ReservationALOHA) Неявное резервирование (PRMA) Резервирование в TDMA DAMA: явное резервирование Два режима: режим запросов о резервировании (обычный ALOHA): узлы отправляют просьбы о резервировании, коллизии возможны режим пересылки данных в зарезервированный слот (коллизии невозможны) коллизии запросы запросы запросы запросы данные данные данные t DAMA: неявное резервирование – множественный доступ с пакетным резервированием фиксированный набор временных слотов образует кадр; кадры повторяются отправители запрашивают резервирование как в slotted ALOHA (вначале незарезервированного слота) если узел зарезервировал слот, то он будет принадлежать ему для всех кадров, пока узел отправляет данные если узел не использовал слот, то в следующем кадре он будет считаться незарезервированным PRMA кадр кадр кадр кадр кадр 1 A A A A A 2 3 4 5 CDAB C AB B B CEEB 6 A A A A A 7 8 номера слотов F F F D FD коллизии при резервировании t DAMA: резервирование в TDMA Каждый кадр состоит из N минислотов (по количеству узлов) и x слотов данных (x меняется от кадра к кадру) Каждый узел имеет свой минислот и с его помощью может сигнализировать о необходимости отправки данных. Время для пересылки данных в кадре делится поровну между пославшими сигнал узлами Протоколы произвольного доступа. CSMA/CD Carrier-Sense Multiple Access with Collision Detection — множественный доступ с контролем несущей и обнаружением коллизий Правила: Слушайте прежде чем говорить (контроль несущей) Если кто-то начал говорить, прекращайте разговор (обнаружение коллизий) CSMA/CD: обнаружение коллизий CSMA/CD: обнаружение коллизий При возникновении коллизии компьютеры прерывают передачу и ждут некоторое (случайное) время Обнаружение коллизий во время передачи легко реализовать в проводных сетях: «узлы слушаю то, что передают» В беспроводных сетях включение приемника при работающем передатчике привело бы к поломке приемника. Выход – использование CSMA/CA 25 MACA - collision avoidance MACA (Multiple Access with Collision Avoidance) использует короткие сигнальные пакеты для предотвращения коллизий RTS (request to send): отправитель просит разрешения перед передачей данный CTS (clear to send): получатель выдает разрешение Сигнальные пакеты содержат адрес отправителя адрес получателя размер данных Протоколы последовательного доступа Проблема безопасного разделения канала (TDM и FDM): один узел не может использовать весь канал, когда тот свободен Протоколы произвольного доступа позволяют сделать это, но разные узлы «мешают» друг другу Протоколы последовательного доступа позволяют безопасно разделять или полностью использовать канал, если он не занят o Протокол опроса: главный узел сети по очереди разрешает узлам передавать данные. Проблемы: дополнительные затраты на отправку разрешений; поломка главного узла o Протокол передачи маркера: маркер (спец. кадр) передается от одного узла к другому. Проблема: нужны спец. алгоритмы для случая потери маркера. 27 Адресация в локальных сетях MAC–адрес (6 байт) 00:1e:4a:82:ec:00 Протокол ARP – протокол преобразования IP-адресов в физические адреса На каждом компьютере храниться таблица соответствия IP-адресов MAC-адресам Чтобы узнать MAC-адрес, узел выполняет широковещательный запрос: «Кто-нибудь знает физический адрес устройства, обладающего следующим IP-адресом?» Адресация в локальных сетях Пример ARP-таблицы mmcs-d1.r61.net (195.208.237.1) at 00:1e:4a:82:ec:00 r203-04.mmcs.rsu.ru (195.208.237.67) at 00:14:85:83:10:33 r202-04.mmcs.rsu.ru (195.208.237.103) at 00:18:f3:10:fe:6b edu.mmcs.rsu.ru (195.208.237.128) at 00:1c:23:d4:aa:37 class.mmcs.rsu.ru (195.208.237.129) at 00:1c:23:d4:aa:37 web.mmcs.rsu.ru (195.208.237.241) at 00:1c:23:d4:aa:37 ? (192.168.10.3) at 00:16:76:a2:92:e3 ? (192.168.10.52) at 00:1e:4f:97:5c:8f ? (192.168.11.101) at 00:19:5b:ef:18:88 ? (192.168.11.102) at 00:19:5b:ee:c2:d0 ? (192.168.11.118) at 00:19:5b:7e:2e:41 ? (192.168.11.119) at 00:19:5b:ef:18:8d