глава 3 Канальный уровень

advertisement
Глава 3
Канальный уровень
(уровень звена данных)
Рассматриваемые вопросы
организации канального уровня
•
•
•
•
Сервис для сетевого уровня
Формирование кадра
Обработка ошибок
Управление потоком
Функции канального уровня
•
•
•
Предоставление сервиса сетевому уровню
Обработка ошибок
Управление потоком
(быстрый отправитель не должен
перегружать медленного получателя)
Функции канального уровня (2)
Получатель
Отправитель
Пакет
Заголовок
Концевик
Кадр
Поле данных
Связь между пакетами и кадрами
Сервис для сетевого уровня
Основная задача - передать данные процесса на сетевом уровне
одной машины процессу на сетевой уровень другой машины
Виды сервиса:
1. Сервис без уведомления и без соединения.
2. Сервис с уведомлением и без соединения.
3. Сервис с уведомлением и с соединением.
Сервис, предоставляемый сетевому
уровню (2)
Виртуальный
путь
Фактический
путь
(a) Виртуальная связь
(b) Реальная связь
Сервис, предоставляемый сетевому
уровню (3)
Маршрутизатор
Процесс маршрутизации
Процесс канального уровня
Кадры здесь
Пакеты здесь
Протокол
передачи
данных
Линия связи с маршрутизатором
Место протокола канального уровня
Формирование кадра
Цель – распознать на стороне приемника начало и окончание кадра
Основные методы формирования кадра:
•
счетчик символов
•
вставка специальных стартовых и конечных символов
•
вставка стартовых и концевых битов
•
нарушение кодировки на физическом уровне
Формирование кадра (2)
Счетчик символов
Кадр 1
5 символов
Кадр 1
Один символ
Ошибка
Неправильный
Теперь этот символ
воспринимается как счетчик
Поток символов: (а) без ошибок, (b) с одной ошибкой
Счетчик символов
Формирование кадра (3)
Исходные символы
После стаффинга
(вставки)
(a) Обозначение границ кадра с помощью флаговых байтов (FLAG)
(b) 4 примера последовательности байтов до и после стаффинга
Вставка стартовых и стоповых символов
Формирование кадра (4)
Вставленные биты
Вставка битов
(a) Исходные данные
(b) Данные в линии
(c) Данные, переданные сетевому уровню на принимающей стороне после
удаления вставленных битов
Вставка битовой последовательности 01111110
Обнаружение и исправление ошибок
• Коды, исправляющие ошибки
• Коды, обнаруживающие
ошибки
Коды, исправляющие ошибки
Символ
Контрольные биты
Порядок передачи бит
Корректирующий код Хемминга
Коды, обнаруживающие ошибки
Кадр
Образующий многочлен
Сообщение после добавления 4 нулевых битов
G(x) = х4+х+1
Вычисление контрольной суммы
циклического кода
Три международных стандарта на вид G(x):
CRC-12 = x12+x11+x3+x2+x+1
CRC-16 = x16+x15+x2+1
CRC-CCITT = x16+x12+x5+1
Остаток
Передаваемый кадр
Простейшие протоколы канального
уровня
•
•
•
Симплексный протокол без ограничений
Симплексный старт-стопный протокол
Симплексный протокол для канала с
шумом
Объявление протокола
Continued 
Продолжение
Общие объявления для последующих протоколов
Объявления располагаются в файле protocol.h
Объявление
протокола
Общие объявления
для последующих
протоколов.
Объявления
располагаются в
файле protocol.h
Симплексный
протокол без
ограничений
Протокол 1 (идеализация)
обеспечивает передачу только
в одном
направлении, канал связи без ошибок.
Приемная сторона может
обрабатывать
любой объем переданных данных.
Следовательно, передатчик
отправляет данные в линию сразу
после
их появления
Симплексный
старт-стопный
протокол
Протокол 2.
Как и в протоколе 1
данные без ошибок передаются
только в одном направлении.
Приемник имеет ограниченный
буфер
и ограниченную
производительность.
Поэтому предусматривается
механизм
управления потоком
Симплексный протокол для канала с шумом
Протокол с
позитивным
подтверждением и
повторной
передачей.
Протокол 3.
Передача в обоих направлениях
через канал с ошибками
Continued 
Симплексный протокол для канала с шумом
Протокол с позитивным подтверждением и повторной
передачей
Протоколы скользящего окна
• Протокол скользящего окна с окном в
1 бит
• Протокол с возвратом к N (с откатом)
• Протокол с выборочным повторением
Протоколы скользящего окна (2)
Отправитель
Получатель
Скользящее окно размера 1, с 3-битовым счетчиком
(a) Начальная ситуация
(b) После отправки первого кадра
(c) После приема первого кадра
(d) После приема первого подтверждения
Протокол скользящего окна с окном в 1 бит
Continued 
Протокол скользящего окна с окном в 1 бит
Протокол скользящего окна с окном в 1 бит (2)
Нормальная работа протокола
Аномальная ситуация
Два сценария для протокола 4.
Звездочка означает, что сетевой уровень принял пакет
Протокол с возвратом к N
Интервал ожидания
Ошибка
Ошибка
Кадры, сброшенные канальным уровнем
Время
Кадры, буферизованные канальным уровнем
Пример передачи и восстановления искаженного кадра.
(a) Влияние ошибки при размере окна 1 бит
(b) Влияние ошибки при большем размере окна
Протокол
скользящего
окна с
возвратом
кN
Continued 
Протокол скользящего окна с возвратом к N
Continued 
Протокол скользящего окна с возвратом к N
Continued 
Протокол скользящего окна с возвратом к N
Протокол скользящего окна с возвратом к N (2)
Реальное
время
Указатель на следующий таймаут
Номер кадра
Интервал времени в тиках до старта
Программное моделирование нескольких таймеров
Протокол скользящего окна с выборочным повторением
Continued 
Протокол скользящего окна с выборочным повторением (2)
Continued 
Протокол скользящего окна с выборочным повторением (3)
Continued 
Протокол скользящего окна с выборочным повторением (4)
Протокол скользящего окна с выборочным повторением (5)
Отправитель
Получатель
(a) Начальная ситуация при размере окна 7
(b) 7 кадров были отправлены и приняты, но не подтверждены
(c) Начальная ситуация при размере окна 4
(d) 4 кадра были отправлены и приняты, но не подтверждены
Спецификация и проверка
протоколов
• Модели в виде конечного автомата
• Модели в виде сети Петри
Модели в виде конечного автомата
Переход
Кадр
Кадр
Кто
управляет? принятый переданный
(a) Диаграмма состояний для протокола 3
(b) Передача
Сетевому
уровню
Модели в виде сети Петри
Сеть Петри с двумя состояниями и двумя переходами
Модели в виде сети Петри (2)
Кадр 0 в линии
Подтверждение в линии
Кадр 1 в линии
Обработка кадра 0
Передача кадра 0
Ожидание кадра 1
Ожидание
подтверждения 0
Передача кадра 1
Обработка кадра 1
Ожидание
подтверждения 1
Ожидание кадра 0
Состояние отправителя
Состояние канала
Состояние получателя
Модель в виде сети Петри для протокола 3
Примеры протоколов передачи
данных
• Протокол HDLC
• Уровень передачи данных в Интернете
• Протокол подуровня управления
логической связью в ЛВС (LLC)
Протокол HDLC
(High level Data Link Control)
Адрес
Данные
Управление
Контрольная
сумма
Формат кадра бит-ориентированных протоколов
Протокол HDLC (2)
Поле управления (Control)
(a) Информационного кадра
(b) Супервизорного кадра
(c) Ненумерованного кадра
Уровень передачи данных в
Интернет
Пользователь
Офис поставщика услуг Интернет
Клиентский процесс,
использующий TCP/IP
Телефонная
линия
Модем
TCP/IP соединение,
использующее PPP
Маршрутизатор
Процесс
маршрутизации
Домашний персональный компьютер, действующий как хост
Интернет
Протокол PPP
Полный формат кадра РРР для работы в ненумерованном режиме
Протокол PPP (2)
Несущая
обнаружена
Обе стороны договорились
о параметрах
Установить
Идентификация
успешная
Идентифицировать
Неудача
Сеть
Выключено
Завершить
Линия
освобождена
Готово
Открыть
Конфигурирование
NCP
Упрощенная диаграмма состояний при установлении соединения
Протокол PPP (3)
Имя
Направление
Описание
Configurerequest
I-R
Предложение о параметрах и их
назначениях
Configure-ack
I-R
Все предложенные параметры
приняты
Configure-nak
I-R
Некоторые параметры не приняты
Configure-reject
I-R
Некоторые параметры не
обсуждаются
Terminaterequest
I-R
Запрос на разрыв соединения
Terminate-ack
I-R
Согласие на отключение линии
Code-reject
I-R
Получен неизвестный запрос
Protocol-reject
I-R
Запрошен неизвестный протокол
Echo-request
I-R
Запрос на обратную пересылку
кадра
Echo-reply
I-R
Согласие на обратную пересылку
кадра
Discard-request
I-R
Предложение проигнорировать этот
кадр(для тестирования)
Типы LCP - кадров
Протокол подуровня управления
логической связью в ЛВС (LLC)
В В соответствии со стандартом 802.2 уровень управления логическим каналом LLC
предоставляет верхним уровням три типа сервиса:
• ·
LLC1 - сервис без установления соединения и без подтверждения;
• ·
LLC2 - сервис с установлением соединения и подтверждением;
• ·
LLC3 - сервис без установления соединения, но с подтверждением.
Флаг
(011111
10)
Адрес точки доступа к
сервису назначения
DSAP
Адрес точки доступа
к сервису источника
SSAP
Формат кадра LLC
Управляюще
е поле
Control
Данн
ые
Data
Флаг
(011111
10)
Download