|
Размер буфера для Ethernet |
|
|
|
Jan 16 2012, 21:37
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(_Anatoliy @ Jan 17 2012, 00:22)  А разве протокол TCP не ограничит скорость передачи при потерях пакетов? Источник - сеть с десятком компьютеров,в том числе и компьютер посылающий/принимающий данные. Для управления скоростью передачи в Ethernet предусмотрены специальные пакеты pause. Странно, а как жили до 1997 года? Всё современное сетевое оборудование вроде бы поддерживает паузу. Надо заметить, что раньше в TCP максимальный размер окна был 64К, и при буфере в 256К можно было держать до 3 TCP линков без потерь пакетов. А сейчас винда с ходу выдаёт окно около мегабайта, и никаких буферов на него не напасешься.
|
|
|
|
|
Jan 17 2012, 04:05
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(_Anatoliy @ Jan 17 2012, 00:00)  Интересно,а в чём же тогда проблема может быть? Фильтрацию пакетов по МАС адресам делать надо, зачем пихать все пакеты на другую сторону через узкий канал, если этот пакет предназначен локальной стороне? Стройте в памяти Циклона таблицу МАКов и фильтруйте, а пакет храните во внешней памяти, причем со временем выборки не более 12нс для скорости 10BASE-T, для 100BASE-T надо быстрее или 16 битную Что за PHY?
|
|
|
|
|
Jan 17 2012, 04:38
|

МедвеД Инженер I
   
Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951

|
Цитата(_Anatoliy @ Jan 17 2012, 04:22)  Ethernet раньше не занимался. Коллеги,а вот такой вопрос.Встала задача передавать по Ethernet (радиоканал,TCP/IP)небольшой поток информации,порядка 2Мбит при 100 Мбит сети. Девайс сделал на Циклоне-3, всё работает при 25Мбит. Но как только начинаю ограничивать пропускную способность канала связи до нужных 2Мбит - всё валится. Подозреваю что чем меньше пропускная способность канала связи тем большего размера нужен входной буфер. У меня сейчас 256 Кбайт - мало или нет?Если мало то как определить нужный размер?
p.s. Если это важно, IP никак не обрабатывается,что пришло то и отправляется(требование заказчика). делал подобное, но у меня был 1 PC подключенный через через 2 Мбит.с канал к 100Мбит.с сети. на начальном этапе работало как-то странно, например сообщения в icq появлялись с обалденной задержкой, если вообще появлялись. оказалось что была проблема в циркулярном буфере(данные от pc хранились во внешней рам, оттуда потом доставались и передавлись в 2мб канал) начало встречалось с концом и пошло поехало. когда исправил работу с буфером - заработало как и ожидалось(проверял с ftp, http ) размер буфера был 256Kб
--------------------
Cogito ergo sum
|
|
|
|
|
Jan 17 2012, 06:57
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(Timmy @ Jan 16 2012, 23:37)  Для управления скоростью передачи в Ethernet предусмотрены специальные пакеты pause. Странно, а как жили до 1997 года? Всё современное сетевое оборудование вроде бы поддерживает паузу. Надо заметить, что раньше в TCP максимальный размер окна был 64К, и при буфере в 256К можно было держать до 3 TCP линков без потерь пакетов. А сейчас винда с ходу выдаёт окно около мегабайта, и никаких буферов на него не напасешься. Проверяли,на некотором оборудовании pause срабатывает,на некотором нет.Хочется универсальности. Т.е. чтобы работать без проблем нужно сохранять сразу всё окно?А если компьютеров 10 то буфер нужен 10 Мбайт? Цитата(Postoroniy_V @ Jan 17 2012, 06:38)  размер буфера был 256Kб Странно,и у меня такой же.Я проверяю так - копирую через мост файл большого размера и параллельно пингую свой сервер.При скорости 25Мбит всё идёт совсем без проблем.На 10 Мбит редко идут потери пингов,но файл копируется,а при 5 потери пингов очень часто идут,а копирование совсем обрывается. Цитата(vadimp61 @ Jan 17 2012, 06:05)  Фильтрацию пакетов по МАС адресам делать надо, зачем пихать все пакеты на другую сторону через узкий канал, если этот пакет предназначен локальной стороне? Стройте в памяти Циклона таблицу МАКов и фильтруйте, а пакет храните во внешней памяти, причем со временем выборки не более 12нс для скорости 10BASE-T, для 100BASE-T надо быстрее или 16 битную Что за PHY? dp83848cvv,память 16-ти битная,10нс
|
|
|
|
|
Jan 17 2012, 08:18
|
Знающий
   
Группа: Участник
Сообщений: 599
Регистрация: 28-08-08
Из: Ростов папа
Пользователь №: 39 872

|
Цитата(petrov @ Jan 17 2012, 11:39)  Надо брать другой контроллер Ethernet, которому на MII интерфейс можно любой клок подавать, он сам делает flow control, нет никаких дополнительных буферов в FPGA и потерь пакетов. Этот вариант будет потреблять больше минимиум в 2 раза. Если к энергопотреблению нет претензий то этот вариант лучший. А еще есть контроллеры не с MII, а с 1 битной шиной HDLC, там вообще делать ничего не надо)))
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|