Плавающее окно
Как и большинство протоколов, осуществляющих управление потоком данных (например, HDLC и Х.25), протокол TCP использует механизм плавающих окон. Протоколы HDLC и Х.25 используют этот механизм в классическом виде — на каждый отправленный блок данных должно быть получено подтверждение. Протокол TCP несколько отходит от классической схемы.
Основной недостаток классической схемы заключается в том, что только один сегмент может быть передан за один сеанс. В данном случае под сеансом понимается посылка сегмента и получение подтверждения на его успешный прием. Такая схема не позволяет работать с максимальной производительностью. Эффективность может быть значительно повышена, если разрешить передачу множества сегментов за один сеанс с группировкой всех подтверждений для них в одно.
Рассмотрим схему работы этого метода на примере двух станций — А и Б, которым необходимо обмениваться данными. Станция Б выделяет буферное пространство для приема п сегментов. Поэтому станция Б может принять п сегментов, а станция А может послать те же п сегментов без необходимости ожидания подтверждений об их приеме. Для отслеживания подтверждений о принятых сегментах каждый из них помечается номером в последовательности. Станция Б подтверждает получение сегмента посылкой подтверждения на него, которое содержит номер в последовательности следующего ожидаемого сегмента. Это подтверждение также косвенным образом извещает станцию А о том, что станция Б готова получить следующие п сегментов, начиная с указанного номера. Такая схема работы годится для подтверждения получения множества сегментов. Например, станция Б получает сегменты 2, 3 и 4, но воздерживалась от отправки подтверждения на сегменты 2 и 3 до получения сегмента 4. Посылая подтверждение с номером в последовательности 5, станция Б подтверждает получение сегментов 2, 3 и 4 за один раз. Таким образом, можно сказать, что станция А ведет список номеров в последовательности сегментов, которые ей разрешено посылать, а станция Б поддерживает список номеров в последовательности сегментов, которые она готова принять. Эти списки называют окнами сегментов, а такую схему передачи сообщений часто называют управлением потоком с использованием плавающего окна.
Так как номер в последовательности занимает одно поле в сегменте, то очевидно, что номер не может быть слишком большим. Например, если это поле занимает 3 бита, то номер в последовательности сегментов может иметь значения от 0 до 7. Соответственно, сегменты нумеруются по модулю 8, то есть за номером в последовательности 7 следует номер в последовательности 0. Таким образом, для поля номера в последовательности, состоящего из k бит, границы изменения номера равны 0 и 2k-l, а сегменты нумеруются по модулю 2k. С учетом приведенных рассуждений на рис. 7.7 показаны значения передаваемых и принимаемых сегментов на принимающей и передающей сторонах с фиксацией границ плавающего окна. В этом примере для простоты размер поля «Номер в последовательности» принят равным 3 битам. Серые прямоугольники указывают сегменты, которые могут быть посланы. В соответствии с рис. 7.7 отправитель может послать 5 сегментов, начиная с сегмента с номером 0. Каждый раз, когда сегмент посылается, ширина окна (серого прямоугольника) уменьшается. При получении подтверждения ширина окна увеличивается. Сегменты, находящиеся между черной вертикальной чертой и серым прямоугольником (окном) уже были посланы, но еще не были подтверждены. Отправитель должен хранить копии этих сегментов в своем буфере на случай, если потребуется их повторная передача.
Рассмотрим следующий пример (рис. 7.8), позволяющий проследить последовательность обмена информацией. В этом примере для наглядности поле номера в последовательности имеет длину три бита, следовательно, максимальный номер равен 7 и окно не может содержать более семи номеров сегментов.
В начале работы станции А и Б имеют окна длиной семь сегментов. То есть, станция А может передать семь сегментов, начиная с сегмента SO, а станция Б — принять такое же количество сегментов. После передачи трех сегментов (SO, S1 и S2) без подтверждения станция А сокращает размер своего окна до четырех сегментов и сохраняет в буферной памяти копию трех посланных сегментов. Новый размер окна указывает на то, что станция А может передать четыре сегмента, начиная с сегмента S3. Станция Б после получения сегментов передает сообщение RR3, в котором заложена следующая информация: «Я приняла все сегменты до номера S2 включительно и готова принять сегмент S3; в действительности я готова принять семь сегментов, начиная с сегмента S3». После получения подтверждения с такой информацией станция А считает себя вправе передать семь сегментов, начиная с сегмента S3. Кроме того, станция А может очистить свою буферную память от копий первых трех сегментов, так как они были успешно приняты. Теперь станция А передает сегменты S3, S4, S5 и S6. Станция Б в ответ на получение сегмента S3 отправляет подтверждение RR4 и позволяет производить передачу сегментов с номерами от S4 до S2 (этот сегмент относится уже к следующей последовательности из семи сегментов). На момент получения станцией А этого подтверждения сегменты S4, S5 и S6 уже были посланы и, следовательно, станция А может расширить свое окно и послать четыре сегмента, начиная с сегмента S7.
- Максим Кульгин Технологии корпоративных сетей. Энциклопедия
- Часть I основы корпоративных сетей.
- 1. Базовые сетевые технологии
- Соединения и каналы
- Технологии b-isdn и atm
- Технология Frame Relay
- Технология isdn
- Плезиохронная и синхронная цифровые иерархии
- Технология sonet
- Технология smds
- Технология Ethernet
- Дальнейшее развитие технологии Ethernet
- Технология 100vg-AnyLan
- 2. Методология построения корпоративной сети
- Сравнение современных технологий передачи данных
- Требования к сети
- Архитектура сети
- Магистраль на базе коммутации ячеек
- Маршрутизация
- Коммутация
- Выделение маршрутов
- Сетевые шаблоны
- Сетевой шаблон глобальной сети
- Сетевой шаблон городской сети
- Шаблон городской сети с технологией sonet/sdh
- Шаблон городской сети с передачей atm поверх sonet/sdh
- Шаблон городской сети, как расширенной локальной сети
- Сетевой шаблон центрального офиса
- Реализация доступа и магистрали
- Критерии выбора технологии
- 3. Качество обслуживания в современных сетях
- Характеристики трафика
- Трафик разных приложений
- Качество обслуживания «на самоокупаемости»
- Обзор технологий качества обслуживания
- Обеспечение перекрывающей пропускной способности
- Приоритетные очереди в маршрутизаторах
- Протокол резервирования ресурсов
- Установление приоритетов в виртуальных сетях
- Качество обслуживания в сетях Frame Relay
- Качество обслуживания в сетях atm
- Рекомендации
- 4. Модель и уровни osi
- Эталонная модель osi
- Протоколы и интерфейсы
- Уровни модели osi Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Уровень представления
- Прикладной уровень
- Назначение уровней модели osi
- 5. Основные типы сетевых устройств
- Витая пара
- Коаксиальный кабель
- Оптоволоконный кабель
- Сетевые адаптеры
- Концентраторы
- Коммутаторы
- Коммутация «на лету»
- Коммутация с буферизацией
- Бесфрагментная коммутация
- Дополнительные функции коммутаторов
- Протокол stp
- Протокол stp и виртуальные сети
- Протокол stp: заключение
- Маршрутизаторы
- Брандмауэры
- Часть II стек протоколов тср/ip
- 6. Ip и другие протоколы нижнего уровня
- Протокол ip
- Протокол arp
- Протокол 1смр
- Протокол udp
- Протокол rtp
- Адресная схема протокола ip
- 7. Протокол tcp
- Формат заголовка
- Состояние системы
- Блок управления передачей
- Установление и закрытие соединений
- Плавающее окно
- Пропускная способность
- Контроль за перегрузками
- Управление потоком данных
- Политики отправки и приема сегментов
- Таймер повторной передачи
- Адаптивный таймер повторной передачи
- Узкие места в сети
- Протокол tcp в сетях atm
- 8. Маршрутицазия протокола ip
- Автономные системы
- Подсети
- Маска подсети
- Протокол rip
- Маска подсети переменной длины
- 9. Протоколы маршрутизации Протокол ospf
- Протоколы igrp и eigrp
- Протоколы политики маршрутизации egp и bgp
- Протокол igmp
- Алгоритмы построения дерева доставки
- Магистраль mbone
- Протоколы групповой маршрутизации Протокол dvmrp
- Протокол mospf
- Протокол рiм
- Бесклассовая междоменная маршрутизация
- Часть III Технология atm
- 10. Введение в технологию атм
- Появление atm
- Форум atm
- Основные компоненты atm
- Уровни atm
- Уровень адаптации atm
- Уровень atm
- Физический уровень
- Прямая передача ячеек
- Использование транспортных кадров
- Использование plcp
- Интерфейсы atm
- Мультиплексирование в сетях atm
- Инверсное мультиплексирование
- Безопасность в сетях atm
- Сигнализация atm
- 11. Основы технологии атм Соединения atm
- Сети без установления соединения
- Сети с установлением соединения
- Виртуальные соединения в сетях atm
- Типы виртуальных соединений
- Виртуальные пути и виртуальные каналы
- Установление соединений atm
- Ячейки atm
- Сети с передачей ячеек
- Формат ячеек atm
- Ячейки формата uni
- Ячейки формата nn1
- Подготовка ячеек к передаче
- Уровень адаптации aal1
- Уровень адаптации aal3/4
- Уровень адаптации aal5
- Адресация atm
- Адрес dcc aesa
- Адреса icd и е.164 aesa
- Управление адресами
- 12. Коммутация и маршрутизация в атм Коммутаторы atm
- Архитектура коммутаторов atm
- Интеграционные функции коммутаторов
- Управляемость
- Маршрутизация в atm
- Протокол маршрутизации запросов pnni
- Протокол сигнализации pnni
- Качество обслуживания
- Протокол tcp
- Протокол udp
- Резервирование ресурсов и протоколы управления потоком данных
- Организация очередей в маршрутизаторе
- Метод явного контроля скорости
- 14. Интегрированные и дифференцированные услуги Качество обслуживания
- Интегрированные услуги
- Сервисные уровни обслуживания
- Сервисное управление нагрузкой
- Гарантируемое обслуживание
- Протокол резервирования ресурсов rsvp
- Стили резервирования
- Развитие сетей с is
- Дифференцированные услуги
- Архитектура системы с предоставлением ds
- Граничные устройства домена ds
- Внутренние устройства домена ds
- Выходные домены
- Использование протокола rsvp в сетях с ds
- 15. Управление трафиком в атм
- Трафик-контракт
- Параметры трафика
- Категории сервиса
- Связь механизмов управления трафиком
- Контроль за установлением соединения
- Контроль за использованием полосы пропускания
- Формирование трафика
- Контроль потока abr
- Контроль приоритетов
- Организация очередей в коммутаторах
- Реализация очередей для службы ubr
- Реализация очередей для службы abr
- Методы отбрасывания пакетов
- Адаптивное управление буферами в коммутаторах
- 16. Интеграция с атм
- Протокол ip поверх atm
- Передача ip-Дейтаграмм по сети atm
- Взаимодействие устройств в одной логической подсети
- Групповая доставка информации в сети atm
- Взаимодействие устройств в разных логических подсетях
- Протокол nhrp
- Оценка потерь при работе протокола ip поверх atm
- Передача ip-дейтаграмм в кадрах sonet
- Технология эмуляции локальной сети — lane
- Концепция lane
- Технология мроа
- Клиент мроа
- Сервер мроа
- Взаимодействие технологий мроа и nhrp
- Масштабируемость в глобальных сетях
- Технология Tag Switching фирмы Cisco
- Технология aris фирмы ibm
- Технология mpls комитета ietf
- Перспективные разработки. Рекомендации
- Взаимодействие технологий atm и Frame Relay
- 17. Интеграция маршрутизации и коммуникации
- Общие вопросы выбора технологий
- Коммутирующие маршрутизаторы
- Коммутация третьего уровня в atm
- Технологии фирм Ipsilon и Toshiba
- Технология FastIp фирмы 3Com
- Технология NetFlow фирмы Cisco
- Технология SecureFast фирмы Cabletron
- Технология Multiprotocol Switched Services фирмы ibm
- 18. Мультимедиа в сети
- Передача видеоинформации
- Технические требования к передаче видеоинформации в сетях atm
- Некоторые рекомендации по созданию сетей atm с видео
- Передача голоса
- Часть V Приложения
- 1. Стандарты стека протоколов tcp/ip
- 2. Порты протоколов tcp и udp
- 3. Выделение ip - подсетей
- 4. Теория очередей и расчет параметров сети
- 5. Организации по стандартизации
- 6 Список фирм - членов Форума атм
- 7. Спецификации Форума атм
- 8. Список терминов
- 9. Список литературы Основная литература
- Дополнительная литература Технология atm и протокол ip поверх atm
- Технология качества обслуживания
- Система ip-адресаиии
- Некоторые ресурсы Internet
- Алфавитный указатель
- Оглавление
- Часть I 3
- Часть II 109
- Часть III Технология atm 207
- Часть IV 269
- Часть V Приложения 402