|
Реально Fast Ethernet, Использование RAW-пакетов |
|
|
|
Mar 3 2008, 21:30
|

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

|
Периодически вспыхивают дискуссии о реальной скорости передачи данных по Ethernet. У меня именно такая задача - в сенменте Ethernet-100 обеспечить передачу потока данных со скоростью не менее 80 Мbps. Как я уже докладывал, существующие стеки TCP/IP не обеспечивают такой скорости, даже в протоколе UDP. Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps. Поэтому было решено отойти от стандартов TCP/IP и максимально сократить программное вмешательство процессора в процесс отсылки пакетов. Городить FPGA для ENET-100 тоже не показалось оправданным. В результате, поиск остановился на кристалле STR912FAxx c ARM9 и Ethernet контроллером на борту. Почему именно на нем. Потому, что в нем так организована периферия, AHB шина, контроллер внешней шины и DMA-MAC, что позволяет заполнять FIFO MAC-контроллера внешними данными автономно, минуя шину процессора и минуя шину FLASH и SRAM. Т.е. процессор практически не тормозится, а закачка данных идет на максимальной скорости. Я реализовал простейший вид RAW-пакетов в формате Ethernet-II: <Dst><Src><FrameId><...Data...>. Где FrameId мне любезно предоставил наш уважаемый гуру. Вот первые результаты натурных испытания на модуле MMstr912 от Propox получена максимальная скорость передачи данных- 96 Mbps. Использование 100M сети на 96%. Это скорость, когда процессор ничем не занят. В реале же, я ожидаю незначительного снижения производительности из-за того, что подготовка и отсылка пакетов практически полностью осуществляется аппаратными средствами кристалла. Было проверено также прохождение такого потока данных через свитч. Нареканий нет. Также проверена возможность WinPCAP капчурить поток пакетов такой скорости поступления и записывать их в файл. Работает исправно на Windows XP c обычным пентиумом 800MHz. Сейчас я полон оптимизма и приступаю к реализации WEB-сервера на RAW-пакетах.
|
|
|
|
|
 |
Ответов
|
Mar 3 2008, 22:10
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Aprox @ Mar 4 2008, 00:30)  Как я уже докладывал, существующие стеки TCP/IP не обеспечивают такой скорости, даже в протоколе UDP. Для известных конструкций на микроконтроллерах, реальная скорость не превышает 20..25 Mbps. На ARM9 200MHz под Linux'ом получается скорость 93.9МБит/с для TCP соединения. Измерялось iperf'ом. Цитата(Aprox @ Mar 4 2008, 00:30)  Сейчас я полон оптимизма и приступаю к реализации WEB-сервера на RAW-пакетах. Какие же тут RAW-пакеты, если WEB-сервер предполагает использование TCP/IP?
|
|
|
|
|
Mar 4 2008, 09:22
|

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

|
Цитата(aaarrr @ Mar 4 2008, 01:10)  На ARM9 200MHz под Linux'ом получается скорость 93.9МБит/с для TCP соединения. Измерялось iperf'ом. Мой выбор конструкции- все на одном кристалле, в корпусе LQFP-128, стоимостью $14. Ваш вариант ARM9 200MHz с Linux сопоставим по простоте и стоимости? Цитата Какие же тут RAW-пакеты, если WEB-сервер предполагает использование TCP/IP? Точно такой же, как делают WEB-сервер в сети на RS-485. Через шлюз CGI.
|
|
|
|
|
Mar 4 2008, 15:06
|

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

|
Цитата(aaarrr @ Mar 4 2008, 13:18)  По стоимости сопоставим, по простоте - не очень  Если не секрет, какой кристалл используете, какая вокруг обвязка, сколько потребляет все вместе. И самый главный вопрос, ваш процессор кроме прокачки по TCP может заниматься еще чем-нибудь, например, управлением моторами, DSP обработкой речи?
|
|
|
|
|
Mar 4 2008, 15:29
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Aprox @ Mar 4 2008, 18:06)  Если не секрет, какой кристалл используете, какая вокруг обвязка, сколько потребляет все вместе. Скорость измерялась на платформе EP9312, но он уже старенький и потому дорогой. За $20 можно поставить AT91SAM9260+SDRAM+Flash. Цитата(Aprox @ Mar 4 2008, 18:06)  И самый главный вопрос, ваш процессор кроме прокачки по TCP может заниматься еще чем-нибудь, например, управлением моторами, DSP обработкой речи? Может, но "прокачка" при этом пострадает. Только зачем контроллеру мотора иметь 100Мбит Ethernet на полной скорости? Жевать полноценно такие потоки он все равно не сможет.
|
|
|
|
Сообщений в этой теме
Aprox Реально Fast Ethernet Mar 3 2008, 21:30     Aprox Цитата(aaarrr @ Mar 4 2008, 18:29) Скорос... Mar 5 2008, 15:19 aaarrr Понятно. У меня тоже в одной разработке использует... Mar 5 2008, 15:27 Raimis Цитата(Aprox @ Mar 4 2008, 01:30) Периоди... Mar 9 2008, 18:33 Aprox Цитата(Raimis @ Mar 9 2008, 21:33) Как я ... Mar 10 2008, 08:04  Raimis Цитата(Aprox @ Mar 10 2008, 12:04) Я проб... Mar 11 2008, 13:47   Aprox Цитата(Raimis @ Mar 11 2008, 16:47) это о... Mar 11 2008, 18:39 AlexandrY Решил я тут проверить эти утверждения.
Картина нем... Mar 13 2008, 21:40  Aprox Цитата(AlexandrY @ Mar 14 2008, 00:40) Ре... Mar 14 2008, 12:14   AlexandrY Нет PAUSE пакетов никаких не было.
Во первых карта... Mar 14 2008, 14:41    Aprox Цитата(AlexandrY @ Mar 14 2008, 17:41) Не... Mar 14 2008, 15:33 GL_basik А как Ваше устройство отреагирует на сеть, где mul... Mar 11 2008, 07:03 Aprox Цитата(GL_basik @ Mar 11 2008, 10:03) А к... Mar 11 2008, 12:36  Aprox Цитата(Aprox @ Mar 11 2008, 15:36) Как ра... Mar 12 2008, 17:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|