Не получается получить гигабит по гигабитному каналу связи?

Не получается получить гигабит по гигабитному каналу связи?

Я только что обновил свою локальную сеть до гигабитной. Вот что говорит netperf о вещах.

До:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) 
port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.02      94.13   

После:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.01     339.15   

Всего 340 Мбит/с? Что с этим?

Справочная информация: Я подключаюсь через гигабитный коммутатор к sheevaplug. У меня в стенах проложена проводка Cat5e, длина которой составляет около 30 футов. Если вы не знакомы с netperf, он имеет тенденцию выдавать очень стабильные результаты и никогда не лжет.

решение1

Проверитьэта тема. Один из участников (Frennzy) очень хорошо это описывает. Я процитирую:

«Реальная» скорость гигабитного Ethernet составляет...

1Гбит/с.

То есть он будет передавать биты со скоростью 1 миллиард в секунду.

То, какой объем данных вы получите, зависит от различных факторов:

Подключение сетевой карты к системе (PCI против PCIe против северного моста и т. д.).

Пропускная способность жесткого диска.

Автобусный спор.

Протокол уровня 3/4 и связанные с ним накладные расходы.

Эффективность приложений (FTP против SMB/CIFS и т. д.)

Размер кадра.

Распределение размеров пакетов (по отношению к общей пропускной способности)

Сжатие (аппаратное и программное).

Конфликт буфера, работа с окнами и т. д.

Емкость и архитектура сетевой инфраструктуры (количество портов, емкость объединительной платы, конкуренция и т. д.)

Короче говоря, вы не узнаете наверняка, пока не протестируете. NetCPS — хороший инструмент для этого, как и многие другие.

И это, далее в теме (выделено мной):

Перестаньте так думать. Перестаньте сейчас же. Все вы.

Как бы вам ни хотелось вычислить кило- или мегабайтную передачу в секунду, факт в том, что она изменчива, даже когда скорость сети остается постоянной. «Скорость» сети (биты в секунду) абсолютна. Пропускная способность сети (фактическая полезная нагрузка данных в секунду) — нет.

Автору вопроса: вы в целом увидите более быструю передачу данных при переключении со 100 Мбит/с на 1000 Мбит/с? Почти наверняка.Будет ли он где-то близок к теоретическому максимуму? Нет.Стоит ли оно того? Это вам решать.

Если вы хотите поговорить о скорости сети, говорите о скорости сети. Если вы хотите поговорить о пропускной способности данных, говорите о пропускной способности данных. Эти два понятия не связаны друг с другом в соотношении 1 к 1.

решение2

Термин «теоретический максимум» используется повсюду, но он имеет практическое применение в технологиях Ethernet. В системе CSMA/CD, такой как Ethernet, вы можете отправить только около половины пропускной способности трафика, которую поддерживает провод, часто немного меньше. Причина в том, что как только вы пытаетесь выйти за пределы этого «максимума», то трансиверы начинают обнаруживать коллизии чаще, чем они передают пакеты. Затем в игру вступает экспоненциальный откат, и передача пакетов ухудшается еще больше. Token Ring обошла это, но у нее было много собственных проблем, и я считаю, что она больше не используется. Ethernet/IP стал фактическим стандартом.

Технологии восходящей связи, такие как T3, используют асинхронные пары, которые обеспечивают полную пропускную способность на каждом проводе, но это также не протокол на основе Ethernet.

При использовании базовых стандартных устройств Ethernet всегда будет существовать «теоретический максимум».

решение3

Разговоры о CSMA/CD в контексте GbE — это полная чушь. Gigabit Ethernet или любой «полнодуплексный» Ethernet не использует CSMA/CD. И хотя GbE все еще сохранял теоретическую возможность полудуплексной работы, я вообще не уверен, что когда-либо существовал какой-либо реальный серийный комплект GbE, который делал полудуплекс.

Что касается того, почему OP достиг только 300 с лишним Мбит/с по каналу 1000 Гбит/с, я бы предложил собирать статистику netstat для TCP до и после каждого запуска netperf и включать глобальные параметры командной строки -c и -C, чтобы увидеть, какова загрузка ЦП на обоих концах. Возможно, что-то теряет пакеты, или, возможно, ЦП на одной или другой стороне становится насыщенным. Если системы на обоих концах многоядерные, обязательно проверьте загрузку по ядрам либо с помощью внешнего инструмента, либо пробираясь через отладочный вывод netperf.

Остальные вопросы по netperf, вероятно, лучше оставить для обсуждения в списке рассылки netperf-talk на netperf.org.

Связанный контент