Управление потоком Ethernet — это механизм временной остановки передачи данных в компьютерных сетях семейства Ethernet . Целью этого механизма является предотвращение потери пакетов при перегрузке сети .
Первый механизм управления потоком, кадр паузы , был определен стандартом IEEE 802.3x . Последующее управление потоком на основе приоритетов , как определено в стандарте IEEE 802.1Qbb , обеспечивает механизм управления потоком на уровне канала, который может управляться независимо для каждого класса обслуживания (CoS), как определено IEEE P802.1p , и применим к сетям мостов центров обработки данных (DCB), а также для обеспечения приоритетности трафика передачи голоса по IP (VoIP), видео по IP и синхронизации баз данных по сравнению с трафиком данных по умолчанию и пакетной передачей файлов.
Отправляющая станция (компьютер или сетевой коммутатор ) может передавать данные быстрее, чем другой конец соединения может их принять. Используя управление потоком , принимающая станция может подать отправителю сигнал о приостановке передачи, пока получатель не догонит ее. Управление потоком в Ethernet может быть реализовано на уровне канала передачи данных .
Первый механизм управления потоком, кадр паузы , был определен рабочей группой Института инженеров по электротехнике и электронике (IEEE), которая определила сегменты полнодуплексного соединения Ethernet. Стандарт IEEE 802.3x был выпущен в 1997 году. [1]
Перегруженный сетевой узел может отправить кадр паузы, который останавливает передачу отправителя на определенный период времени. Кадр управления доступом к среде (MAC) ( EtherType 0x8808) используется для передачи команды паузы, при этом код операции Control установлен на 0x0001 ( шестнадцатеричный ). [1] Только станции, настроенные на полнодуплексную работу, могут отправлять кадры паузы. Когда станция хочет приостановить другой конец канала, она отправляет кадр паузы либо на уникальный 48- битный адрес назначения этого канала, либо на 48-битный зарезервированный многоадресный адрес 01-80 -C2-00-00-01 . [2] : Приложение 31B.3.3 Использование известного адреса делает ненужным для станции обнаружение и сохранение адреса станции на другом конце канала.
Другое преимущество использования этого адреса многоадресной рассылки возникает из-за использования управления потоком между сетевыми коммутаторами. Конкретный используемый адрес многоадресной рассылки выбирается из диапазона адресов, зарезервированных стандартом IEEE 802.1D , который определяет работу коммутаторов, используемых для мостового соединения . Обычно кадр с многоадресным назначением, отправленный на коммутатор, будет переслан на все остальные порты коммутатора. Однако этот диапазон адресов многоадресной рассылки является специальным и не будет переслан коммутатором, совместимым с 802.1D. Вместо этого кадры, отправленные в этот диапазон, понимаются как кадры, предназначенные для обработки только внутри коммутатора.
Кадр паузы включает период времени запрашиваемой паузы в виде двухбайтового ( 16-битного) целого числа без знака (от 0 до 65535). Это число является запрашиваемой длительностью паузы. Время паузы измеряется в единицах квантов паузы , где каждый квант равен 512 битовым временам .
К 1999 году несколько поставщиков поддерживали прием кадров паузы, но меньшее количество реализовало их отправку. [3] [4]
Одной из первоначальных причин для кадра паузы была обработка контроллеров сетевого интерфейса (NIC), у которых не было достаточной буферизации для обработки приема на полной скорости. Эта проблема встречается не так часто с достижениями в скорости шины и размерах памяти. Более вероятным сценарием является перегрузка сети внутри коммутатора. Например, поток может поступать в коммутатор по более скоростному каналу, чем тот, который он покидает, или несколько потоков могут поступать по двум или более каналам, общая пропускная способность которых превышает пропускную способность выходного канала. В конечном итоге это исчерпает весь объем буферизации в коммутаторе. Однако блокировка отправляющего канала приведет к задержке всех потоков по этому каналу, даже тех, которые не вызывают перегрузки. Эта ситуация является случаем блокировки заголовка очереди (HOL) и может чаще возникать в основных сетевых коммутаторах из-за большого количества потоков, которые обычно объединяются. Многие коммутаторы используют технику, называемую виртуальными выходными очередями, для устранения внутренней блокировки HOL, поэтому никогда не будут отправлять кадры паузы. [4]
Еще одна попытка началась в марте 2004 года, и в мае 2004 года она стала Целевой группой по управлению перегрузкой IEEE P802.3ar. В мае 2006 года цели целевой группы были пересмотрены, чтобы указать механизм ограничения скорости передачи данных с гранулярностью около 1%. Запрос был отозван, и целевая группа была расформирована в 2008 году. [5]
Управление потоком Ethernet нарушает класс обслуживания Ethernet (определенный в IEEE 802.1p ), поскольку данные всех приоритетов останавливаются для очистки существующих буферов, которые также могут состоять из низкоприоритетных данных. В качестве решения этой проблемы Cisco Systems определила собственное расширение управления потоком приоритетов для стандартного протокола. Этот механизм использует 14 байт из 42-байтового заполнения в обычном кадре паузы. Код операции управления MAC для кадра паузы приоритета равен 0x0101. В отличие от исходной паузы, пауза приоритета указывает время паузы в квантах для каждого из восьми классов приоритета отдельно. [6] Впоследствии расширение было стандартизировано проектом управления потоком на основе приоритетов (PFC), авторизованным 27 марта 2008 года как IEEE 802.1Qbb. [7] Проект 2.3 был предложен 7 июня 2010 года. Редактором был Клаудио ДеСанти из Cisco. [8] Эта работа была частью рабочей группы по созданию мостов для центров обработки данных , которая разработала Fibre Channel через Ethernet . [9]
{{cite book}}
: |website=
проигнорировано ( помощь ) [ мертвая ссылка ]