안녕하세요. UDP 테스트의 대역폭을 제한하려고 합니다 iperf
( iperf -u
). 나는 tc qdisc
and 클래스를 사용하여 보장된 요금과 한도 요금을 설정했습니다. 그런데 UDP 성능을 제한하려면 어떤 필터를 사용해야 할지 모르겠습니다. 다음과 같은 몇 가지 일치 기준을 시도했습니다.
$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match ip src 10.0.0.1 match ip protocol 17 0xffff flowid 1:20
$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match ip src 10.0.0.1 match ip protocol 17 0xff flowid 1:20
$ sudo tc filter add dev $DEV parent 1: prio 1 u32 match udp src 10.0.0.1 flowid 1:20
그러나 그들 중 누구도 작동하지 않습니다. 여러 번 시도했지만 UDP iperf
( iperf -s -u
및 iperf -c -u ip
) 결과는 1.05Mbps로 동일하게 유지되는 것 같습니다.
UDP를 올바르게 필터링하는 방법을 아는 사람이 있습니까?
답변1
tc-filter
전송된 제어 패킷에 대한 트래픽을 조절하지만 수신된 패킷에 대한 트래픽은 조절하지 않습니다. 따라서 udp를 사용하면 iperf
응답이 필요하지 않으며 속도는 동일하게 유지됩니다. TCP를 사용할 때 iperf
작동하려면 ack가 필요합니다.