Методы восстановления искаженных и потерянных кадров
Методы коррекции ошибок в вычислительных сетях основаны на повторной передаче кадра данных в том случае, если кадр теряется и не доходит до адресата или приемник обнаружил в нем искажение информации. Чтобы убедиться в необходимости повторной передачи данных, отправитель нумерует отправляемые кадры и для каждого кадра ожидает от приемника так называемой положительной квитанции - служебного кадра, извещающего о том, что исходный кадр был получен и данные в нем оказались корректными. Время этого ожидания ограничено - при отправке каждого кадра передатчик запускает таймер, и, если по его истечении положительная квитанция на получена, кадр считается утерянным. Приемник в случае получения кадра с искаженными данными может отправить отрицательную квитанцию - явное указание на то, что данный кадр нужно передать повторно.
Существуют два подхода к организации процесса обмена квитанциями: с простоями и с организацией "окна".
Метод с простоями (Idle Source)требует, чтобы источник, пославший кадр, ожидал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или повторял искаженный). Если же квитанция не приходит в течение тайм-аута, то кадр (или квитанция) считается утерянным и его передача повторяется. На рис. 7.4, а видно, что в этом случае производительность обмена данными существенно снижается, - хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции. Снижение производительности этого метода коррекции особенно заметно на низкоскоростных каналах связи, то есть в территориальных сетях.
Рис. 7.4. Методы восстановления искаженных и потерянных кадров
Второй метод называется методом "скользящего окна"- (sliding window). В этом методе для повышения коэффициента использования линии источнику разрешается передать некоторое количество кадров в непрерывном режиме, то есть в максимально возможном для источника темпе, без получения на эти кадры положительных ответных квитанций. (Далее, где это не искажает существо рассматриваемого вопроса, положительные квитанции для краткости будут называться просто "квитанциями".) Количество кадров, которые разрешается передавать таким образом, называется размером окна. Рисунок 7.4, б иллюстрирует данный метод для окна размером в W кадров.
В начальный момент, когда еще не послано ни одного кадра, окно определяет диапазон кадров с номерами от 1 до W включительно. Источник начинает передавать кадры и получать в ответ квитанции. Для простоты предположим, что квитанции поступают в той же последовательности, что и кадры, которым они соответствуют. В момент t1 при получении первой квитанции К1 окно сдвигается на одну позицию, определяя новый диапазон от 2 до (W+1).
Процессы отправки кадров и получения квитанций идут достаточно независимо друг от друга. Рассмотрим произвольный момент времени tn, когда источник получил квитанцию на кадр с номером n. Окно сдвинулось вправо и определило диапазон разрешенных к передаче кадров от (n+1) до (W+n). Все множество кадров, выходящих из источника, можно разделить на перечисленные ниже группы (рис. 7.4, 6).
Кадры с номерами от 1 до п уже были отправлены и квитанции на них получены, то есть они находятся за пределами окна слева.
Кадры, начиная с номера (п+1) и кончая номером (W+n), находятся в пределах окна и потому могут быть отправлены не дожидаясь прихода какой-либо квитанции. Этот диапазон может быть разделен еще на два поддиапазона:
кадры с номерами от (n+1) до m, которые уже отправлены, но квитанции на них еще не получены;
кадры с номерами от m до (W+n), которые пока не отправлены, хотя запрета на это нет.
Все кадры с номерами, большими или равными (W+n+1), находятся за пределами окна справа и поэтому пока не могут быть отправлены.
Перемещение окна вдоль последовательности номеров кадров показано на рис. 7.4, в. Здесь to - исходный момент, t1 и tn - моменты прихода квитанций на первый и n-й кадр соответственно. Каждый раз, когда приходит квитанция, окно сдвигается влево, но его размер при этом не меняется и остается равным W. Заметим, что хотя в данном примере размер окна в процессе передачи остается постоянным, в реальных протоколах (например, TCP) можно встретить варианты данного алгоритма с изменяющимся размером окна.
Итак, при отправке кадра с номером n источнику разрешается передать еще W-1 кадров до получения квитанции на кадр n, так что в сеть последним уйдет кадр с номером (W+n-1). Если же за это время квитанция на кадр n так и не пришла, то процесс передачи приостанавливается, и по истечении некоторого тайм-аута кадр n (или квитанция на него) считается утерянным, и он передается снова.
Если же поток квитанций поступает более-менее регулярно, в пределах допуска в W кадров, то скорость обмена достигает максимально возможной величины для данного канала и принятого протокола.
Метод скользящего окна более сложен в реализации, чем метод с простоями, так как передатчик должен хранить в буфере все кадры, на которые пока не получены положительные квитанции. Кроме того, требуется отслеживать несколько параметров алгоритма: размер окна W, номер кадра, на который получена квитанция, номер кадра, который еще можно передать до получения новой квитанции.
Приемник может не посылать квитанции на каждый принятый корректный кадр. Если несколько кадров пришли почти одновременно, то приемник может послать квитанцию только на последний кадр. При этом подразумевается, что все предыдущие кадры также дошли благополучно.
Некоторые методы используют отрицательные квитанции. Отрицательные квитанции бывают двух типов - групповые и избирательные. Групповая квитанция содержит номер кадра, начиная с которого нужно повторить передачу всех кадров, отправленных передатчиком в сеть. Избирательная отрицательная квитанция требует повторной передачи только одного кадра.
Метод скользящего окна реализован во многих протоколах: LLC2, LAP-B, X.25, TCP, Novell NCP Burst Mode.
Метод с простоями является частным случаем метода скользящего окна, когда размер окна равен единице.
Метод скользящего окна имеет два параметра, которые могут заметно влиять на эффективность передачи данных между передатчиком и приемником, - размер окна и величина тайм-аута ожидания квитанции. В надежных сетях, когда кадры искажаются и теряются редко, для повышения скорости обмена данными размер окна нужно увеличивать, так как при этом передатчик будет посылать кадры с меньшими паузами. В ненадежных сетях размер окна следует уменьшать, так как при частых потерях и искажениях кадров резко возрастает объем вторично передаваемых через сеть кадров, а значит, пропускная способность сети будет расходоваться во многом вхолостую - полезная пропускная способность сети будет падать.
Выбор тайм-аута зависит не от надежности сети, а от задержек передачи кадров сетью.
Во многих реализациях метода скользящего окна величина окна и тайм-аут выбираются адаптивно, в зависимости от текущего состояния сети.
Yandex.RTB R-A-252273-3- Раздел I. Общие принципы построения вычислительных сетей 3
- Многотерминальные системы – прообраз сети
- Появление глобальных сетей
- Первые локальные сети
- Создание стандартных технологий локальных сетей
- Современные тенденции
- 1.2. Вычислительные сети - частный случай распределенных систем
- Мультипроцессорные компьютеры
- Многомашинные системы
- Вычислительные сети
- Распределенные программы
- 1.3. Что дает предприятию использование сетей
- 2. Основные проблемы построения сетей
- 2.1. Проблемы физической передачи данных по линиям связи
- 2.2. Проблемы объединения нескольких компьютеров
- Топология физических связей
- Организация совместного использования линий связи
- Адресация компьютеров
- 2.3. Ethernet - пример стандартного решения сетевых проблем
- 2.4. Структуризация как средство построения больших сетей
- Физическая структуризация сети
- Логическая структуризация сети
- 2.5. Сетевые службы
- 3. Модель взаимодействия открытых систем и проблемы стандартизации
- 3.1. Многоуровневый подход. Протокол. Интерфейс. Стек протоколов
- 3.2. Модель osi
- 3.3. Уровни модели osi Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Представительный уровень
- Прикладной уровень
- Сетезависимые и сетенезависимые уровни
- 3.4. Стандартные стеки коммуникационных протоколов
- Стек tcp/ip
- Стек ipx/spx
- Стек NetBios/smb
- 4. Локальные и глобальные сети. Требования, предъявляемые к современным вычислительным сетям
- 4.1. Локальные и глобальные сети
- 4.2 Требования, предъявляемые к современным вычислительным сетям
- Производительность
- Надежность и безопасность
- Расширяемость и масштабируемость
- Прозрачность
- Поддержка разных видов трафика
- Управляемость
- Совместимость
- Раздел II. Основы передачи дискретных данных
- 5. Линии связи
- 5.1. Типы линий связи
- 5.2. Аппаратура линий связи
- 5.3. Характеристики линий связи
- Амплитудно-частотная характеристика, полоса пропускания и затухание
- Пропускная способность линии
- Связь между пропускной способностью линии и ее полосой пропускания
- Помехоустойчивость и достоверность
- 10 Log Рвых/Рнав ,
- 5.4. Стандарты кабелей
- Кабели на основе неэкранированной витой пары
- Кабели на основе экранированной витой пары
- Коаксиальные кабели
- Волоконно-оптические кабели
- 6. Методы передачи дискретных данных на физическом уровне
- 6.1. Аналоговая модуляция
- Методы аналоговой модуляции
- Спектр модулированного сигнала
- 6.2. Цифровое кодирование
- Требования к методам цифрового кодирования
- Потенциальный код без возвращения к нулю
- Метод биполярного кодирования с альтернативной инверсией
- Потенциальный код с инверсией при единице
- Биполярный импульсный код
- Манчестерский код
- Потенциальный код 2b1q
- 6.3. Логическое кодирование
- Избыточные коды
- Скрэмблирование
- 6.4. Дискретная модуляция аналоговых сигналов
- 6.5. Асинхронная и синхронная передачи
- 7. Методы передачи данных канального уровня. Методы коммутации
- 7.1. Методы передачи данных канального уровня
- Асинхронные протоколы
- Синхронные символьно-ориентированные и бит-ориентированные протоколы
- Символьно-ориентированные протоколы
- Бит-ориентированные протоколы
- Протоколы с гибким форматом кадра
- Передача с установлением соединения и без установления соединения
- Обнаружение и коррекция ошибок
- Методы обнаружения ошибок
- Методы восстановления искаженных и потерянных кадров
- Компрессия данных
- 7.2. Методы коммутации
- Коммутация каналов
- Коммутация каналов на основе частотного мультиплексирования
- Коммутация каналов на основе разделения времени
- Общие свойства сетей с коммутацией каналов
- Обеспечение дуплексного режима работы на основе технологий fdm, tdm и wdm
- Коммутация пакетов. Принципы коммутации пакетов
- Виртуальные каналы в сетях с коммутацией пакетов
- Пропускная способность сетей с коммутацией пакетов
- Коммутация сообщений
- Раздел III. Базовые технологии локальных сетей
- 10. Технологии Token Ring, fddi, Fast Ethernet
- 10.1. Технология Token Ring (802.5) Основные характеристики технологии
- Маркерный метод доступа к разделяемой среде
- Форматы кадров Token Ring
- Кадр данных и прерывающая последовательность
- Приоритетный доступ к кольцу
- Физический уровень технологии Token Ring
- Раздел IV. Построение локальных сетей по стандартам физического и канального уровней
- 11. Кабельная система. Концентраторы и сетевые адаптеры
- 11.1. Структурированная кабельная система
- Иерархия в кабельной системе
- Выбор типа кабеля для горизонтальных подсистем
- Выбор типа кабеля для вертикальных подсистем
- Выбор типа кабеля для подсистемы кампуса
- 11.2. Концентраторы и сетевые адаптеры
- Сетевые адаптеры
- Классификация сетевых адаптеров
- Концентраторы
- Поддержка резервных связей
- Защита от несанкционированного доступа
- Многосегментные концентраторы
- Управление концентратором по протоколу snmp
- Конструктивное исполнение концентраторов
- Раздел V. Сетевой уровень как средство построения больших сетей
- 13.Ip-сети. Адресация в ip-сетях
- 13.1. Принципы объединения сетей на основе протоколов сетевого уровня
- Ограничения мостов и коммутаторов
- Понятие internetworking
- Функции маршрутизатора
- Реализация межсетевого взаимодействия средствами tcp/ip
- Многоуровневая структура стека tcp/ip
- Уровень межсетевого взаимодействия
- Основной уровень
- Прикладной уровень
- Уровень сетевых интерфейсов
- Соответствие уровней стека tcp/ip семиуровневой модели iso/osi
- 13.2. Адресация в ip-сетях Типы адресов стека tcp/ip
- Классы ip-адресов
- Особые ip-адреса
- Использование масок в ip-адресации
- Порядок распределения ip-адресов
- Автоматизация процесса назначения ip-адресов
- Отображение ip-адресов на локальные адреса
- Отображение доменных имен на ip-адреса
- Система доменных имен dns
- 14. Протокол ip
- 14.1. Основные функции протокола ip
- 14.2. Структура ip-пакета
- 14.3. Таблицы маршрутизации в ip-сетях
- Примеры таблиц различных типов маршрутизаторов
- Назначение полей таблицы маршрутизации
- Источники и типы записей в таблице маршрутизации
- 14.4. Маршрутизация без использования масок
- 14.5. Маршрутизация с использованием масок Использование масок для структуризации сети
- Использование масок переменной длины
- Технология бесклассовой междоменной маршрутизации cidr
- 14.6. Фрагментация ip-пакетов
- 14.7. Протокол надежной доставки tcp-сообщений
- Сегменты и потоки
- Соединения
- Реализация скользящего окна в протоколе tcp