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

 
 
> Ограничение скорости Ethernet канала, Flow Control
DuHast
сообщение Apr 12 2009, 08:24
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 314
Регистрация: 13-07-06
Из: Москва
Пользователь №: 18 797



Схема устройства в первом приближении такая RJ-45 -> PHY -> FPGA -> PHY-> RJ-45. К разъёмам RJ-45 могут подключаться любые сетевые устройства (компы, свитчи и т.д.). В FPGA MII интерфейсы двух PHY просто соединены друг с другом. Встала задача ограничивать скорость Ethernet потока через такое устройство с заданным шагом. Сначала рассуждал так: k интервалов времени пропускаю пакеты через FPGA, n не пропускаю, получаю скорость k/(n+k) от начальной. На практике получил такой результат: UDP поток ограничивается за счёт потери пакетов, TCP еле поднимается на очень низкой скорости, не зависимо от значений n и k. Теперь хочу попробовать Flow Control и использованием Pause фреймов. Вопросы следующие:

1 Подходит ли этот механизм для решения моей задачи (будем считать, что все подключаемые устройства его потдерживают);

2 Если да, то какой выставлять MAC-адрес в поле отправителя pause фрейма, ведь MAC уровень в моём устройстве не реализован и у его портов нет MAC адресов.

3 Какие ещё есть варианты для решения этой задачи.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Apr 12 2009, 20:09
Сообщение #2


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

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



Цитата
А какие требования к размеру FIFO?


Ну желательно выбрать такой размер, чтобы обеспечить более-менее плавную регулировку. Пакетов 200-300 я бы взял (опираясь на обычные настройки для програмных шейперов на большом брате). Вообще, огласите-ка требуемые скорости после ограничения (до - я так понимаю, 100Мбит/с).

Можно, кстати, поступить еще одинм занятным способом - соединить 2 микросхемы свичей (например, RTL8305) через MII-интерфейс, при этом затактировав его (интерфейс) c частотой, равной требуемой битовой скорости, деленной на 4. Это решение из недорогих.

А если работать с Half-Duplex, то для шейпинга можно обойтись простенькой CPLD, просто регулярно удавливая канал передачей Back-Pressure. Вообще дешево выйдет. Я бы реализовывал именно так - ну неравнодушен я к экстремально дешевым решениям wink.gif

В любом случае, я бы на Вашем месте крепко подумал вот над чем - если Ваше устройство получается дороже $30, то проще взять какой-нибудь вайфай/адсл-роутер с линухом и банально поднять на нем шейпер.


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



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:45
Рейтинг@Mail.ru


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