Тестовая исходная конфигурация:
Код: Выделить всё
interface gigabitethernet1/0/9
switchport access vlan 2
exit
!
interface gigabitethernet1/0/10
rate-limit 50000 burst 130000
traffic-shape 50000 130000
switchport access vlan 2
exit
Коммутатор MES2324, ПО 4.0.11.1, к порту 9 подключен компьютер с сетевой картой BCM5705, pause поддерживается, стоит iperf3-сервер; к порту 10 - с AR8151, pause не поддерживается. С указанными настройками передача с порта 10 на 9 получается такая:
Код: Выделить всё
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-5.00 sec 4.03 MBytes 6.76 Mbits/sec 1188 sender
[ 5] 0.00-5.04 sec 3.31 MBytes 5.50 Mbits/sec receiver
Практически в 10 раз меньше. По идее, это ожидаемо. Но ничего не меняется, если поменять местами настройки портов (и направление передачи трафика соответственно), хотя тут уже должно всё работать. Ничего, так же, не меняется, если принудительно включить flow control. В тесте ещё использован SNR-S2985G-8T, с ним поведение ожидаемое: плохо при работе с устройством без поддержки pause и хорошо, когда подключенное оборудование pause поддерживает.
Дале возвращаемся к исходной конфигурации. Если теперь ограничить скорость ge1/0/10 до 100M всё становится значительно лучше даже для устройства без поддержки pause:
Код: Выделить всё
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-5.00 sec 13.6 MBytes 22.8 Mbits/sec 1313 sender
[ 5] 0.00-5.04 sec 12.5 MBytes 20.8 Mbits/sec receiver
Код: Выделить всё
interface gigabitethernet1/0/10
negotiation 100f
rate-limit 50000 burst 130000
traffic-shape 50000 130000
switchport access vlan 2
exit
Код: Выделить всё
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-5.00 sec 29.3 MBytes 49.2 Mbits/sec 2344 sender
[ 5] 0.00-5.04 sec 28.4 MBytes 47.2 Mbits/sec receiver
Это, напоминаю, с компьютера, где сетевая карта pause не поддерживает. Это что касается Linux. Если теперь на этом же самом компьютере загрузить Windows 7, всё становится хуже: 30 мегабит исходящая до iperf3 за роутером и 6.5 до компьютера с BCM5705 на соседнем порту.
Соответственно, тот вопрос, что я задал в начале.