Управление потоком Ethernet

Метод приостановки передачи данных для избежания перегрузки
Скриншот Wireshark кадра паузы Ethernet

Управление потоком 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]

Смотрите также

Ссылки

  1. ^ ab Стандарты IEEE для локальных и городских сетей: Дополнения к методу доступа с множественным доступом с контролем несущей и обнаружением коллизий (CSMA/CD) и спецификации физического уровня — спецификация для полнодуплексной работы 802.3 и спецификация физического уровня для работы со скоростью 100 Мбит/с на двух парах кабеля категории 3 или лучше сбалансированной витой пары (100BASE-T2). Институт инженеров по электротехнике и электронике . 1997. doi :10.1109/IEEESTD.1997.95611. ISBN 978-1-55937-905-2. Архивировано из оригинала 13 июля 2012 года.
  2. ^ Стандарт IEEE для Ethernet (PDF) . Ассоциация стандартов IEEE. 2018-08-31. doi :10.1109/IEEESTD.2018.8457469. ISBN 978-1-5044-5090-4. Получено 29.11.2022 . {{cite book}}: |website=проигнорировано ( помощь ) [ мертвая ссылка ‍ ]
  3. ^ Энн Салливан; Грег Килмартин; Скотт Гамильтон (13 сентября 1999 г.). «Поставщики коммутаторов проходят тесты на совместимость». Network World . стр.  81–82 . Получено 10 мая 2011 г.
  4. ^ ab "Vendors on flow control". Network World Fusion . 13 сентября 1999 г. Архивировано из оригинала 2012-02-07.Комментарии поставщика по управлению потоком в тесте 1999 года.
  5. ^ "IEEE P802.3ar Congestion Management Task Force". 18 декабря 2008 г. Получено 10 мая 2011 г.
  6. ^ "Управление приоритетным потоком: создание надежной инфраструктуры уровня 2" (PDF) . Белая книга . Cisco Systems. Июнь 2009 . Получено 10 мая 2011 .
  7. ^ IEEE 802.1Qbb
  8. ^ "IEEE 802.1Q Priority-based Flow Control". Институт инженеров по электротехнике и электронике. 7 июня 2010 г. Получено 10 мая 2011 г.
  9. ^ "Data Center Bridging Task Group". Институт инженеров по электротехнике и электронике. 7 июня 2010 г. Получено 10 мая 2011 г.
  • "Ethernet Media Access Control - PAUSE Frames". TechFest Ethernet Technical Summary . 1999. Архивировано из оригинала 2012-02-04 . Получено 10 мая 2011 .
  • Тим Хиггинс (7 ноября 2007 г.). «Когда управление потоком — нехорошая вещь». Small Net Builder . Получено 6 января 2020 г. .
  • Инструмент Linux для генерации кадров PAUSE управления потоком. Архивировано 24.05.2012 на Wayback Machine.
  • Инструмент Python для генерации кадров PFC
  • "Ethernet Flow Control". Темы в разделе Высокопроизводительные сообщения . Архивировано из оригинала 2007-12-08.
Получено с "https://en.wikipedia.org/w/index.php?title=Ethernet_flow_control&oldid=1267700920#Priority_flow_control"