реклама на сайте
подробности

 
 
> Ethernet: насколько распространена поддержка Flow control?, (xon/xoff) Делать поддержку, или не делать.
Koluchiy
сообщение Nov 9 2011, 06:24
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Здравствуйте, уважаемые гуру.

Делаю девайс, который, если в общих чертах, принимает пакеты Ethernet, кладет их в FIFO, вынимает из FIFO и без изменения кидает дальше.

Возможна проблема - переполнение FIFO из-за разницы частот входящего и выходящего трафика, различных значений IPG и прочих факторов.

Один из путей решения проблемы - использование механизма Flow Control - а именно, слать передающему девайсу Pause фреймы в случае, если FIFO почти заполнилось.

Собственно, вопрос: а насколько распространена поддержка этого механизма в оборудовании различных производителей?
Прежде всего интересуют различные свичи и прочее "магистральное" оборудование.

Насколько велика вероятность того, что посланный Pause фрейм найдет понимание в оборудовании, сопряженном с моим.

Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Dec 27 2011, 13:51
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Теперь и у меня возник вопрос - допустим имеются две машины (A и Б), соединенные через свитч. На свитч от машины A приходит пакет-пауза, как тогда должен поступить свитч - пробросить этот пакет-паузу до машины Б, или же приостановить трафик от машины Б (просто отбрасывать пакеты) ???


Т.к. в любом свиче есть буфер, то алгоритм должен быть следующий.

Со стороны свич<->B:
При приеме пакета определить, куда он направляется. Допустим, в А. Если буфер передачи свич->A у свича близок к заполнению, то передать в B пакет PAUSE. По освобождению буфера передать пакет PAUSE с нулевым таймером (разрешить передачу B->свич). Если место в буфере есть - положить туда пакет.

Со стороны свич<->A:
Если A прислал пакет PAUSE, прекратить передачу из буфера (а если состояния PAUSE нет, то передавать что есть в буфере). По окончанию таймера PAUSE (или по приему пакета PAUSE(0)) возобновить передачу из буфера в A.

Естественно, алгоритм одинаков на всех портах.

Все.

А MAC-адрес в пакете PAUSE не используется - ибо соединение у 100/1000/1G/10G - точка-точка.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Aprox
сообщение Jan 7 2012, 08:05
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131



Цитата(Rst7 @ Dec 27 2011, 16:51) *
А MAC-адрес в пакете PAUSE не используется - ибо соединение у 100/1000/1G/10G - точка-точка.

Странно. Я вот читаю описание PAUSE пакета и вижу, что MAC адреса, и Dst, и Src, очень даже используются. Причем, Dst может указывать на конкретный хост в сети, который надо тормозить. Также Dst может быть равным 01-80-С2-00-00-01, что означает- тормозить все устройства в сегменте сети. В этой связи выглядит неубедительным ваше описание работы свитча. По-моему, ему нет никакой нужды реализовать какой-либо Flow-Control внтури себя, достаточно тупо пересылать PAUSE пакеты по назначению хостам. Или я что-то неправильно понял?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Koluchiy   Ethernet: насколько распространена поддержка Flow control?   Nov 9 2011, 06:24
- - vitan   В больших свитчах даже есть отдельные интерфейсы д...   Nov 9 2011, 07:40
- - d1n1s   Наличи режима Flow Control, на сколько я помню мож...   Nov 9 2011, 08:35
- - AndreiUS   ЦитатаНаличи режима Flow Control, на сколько я пом...   Dec 26 2011, 14:07
|- - Aprox   Цитата(AndreiUS @ Dec 26 2011, 17:07) дол...   Dec 26 2011, 18:47
|- - VslavX   Цитата(Aprox @ Jan 7 2012, 10:05) Причем,...   Jan 7 2012, 09:19
- - AndreiUS   Спасибо, теперь разобрался   Dec 27 2011, 19:07
- - Rst7   QUOTE Я вот читаю описание PAUSE пакета и вижу, чт...   Jan 7 2012, 10:20
|- - Aprox   Цитата(Rst7 @ Jan 7 2012, 13:20) Простите...   Jan 8 2012, 08:41
|- - VslavX   Цитата(Aprox @ Jan 8 2012, 10:41) Читаю з...   Jan 8 2012, 18:43
|- - Aprox   Цитата(VslavX @ Jan 8 2012, 21:43) В случ...   Jan 9 2012, 09:00
|- - VslavX   Цитата(Aprox @ Jan 9 2012, 11:00) Не совс...   Jan 9 2012, 10:11
||- - Aprox   Цитата(VslavX @ Jan 9 2012, 13:11) Дальше...   Jan 9 2012, 15:33
|- - Костян   QUOTE (Aprox @ Jan 9 2012, 07:00) Я заним...   Jan 9 2012, 16:43
|- - VslavX   Цитата(Костян @ Jan 9 2012, 18:43) У меня...   Jan 10 2012, 06:53
|- - Aprox   Цитата(Костян @ Jan 9 2012, 19:43) У меня...   Jan 10 2012, 07:21
|- - VslavX   Цитата(Aprox @ Jan 10 2012, 09:21) У PHY-...   Jan 10 2012, 07:32
- - Rst7   QUOTE Чтаю здесь. Чтото не то Вы читаете. Надо бы...   Jan 8 2012, 09:10
|- - Aprox   Цитата(Rst7 @ Jan 8 2012, 12:10) Чтото не...   Jan 8 2012, 17:23
- - Rst7   QUOTE Upd: редакция стандарта 2002 говорит тоже са...   Jan 8 2012, 19:05
- - vitan   Цитата(Aprox @ Jan 9 2012, 13:00) Еще пре...   Jan 9 2012, 09:37


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 04:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01394 секунд с 7
ELECTRONIX ©2004-2016