tc 필터에서 UDP 패킷 필터링

tc 필터에서 UDP 패킷 필터링

안녕하세요. UDP 테스트의 대역폭을 제한하려고 합니다 iperf( iperf -u). 나는 tc qdiscand 클래스를 사용하여 보장된 요금과 한도 요금을 설정했습니다. 그런데 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 -uiperf -c -u ip) 결과는 1.05Mbps로 동일하게 유지되는 것 같습니다.

UDP를 올바르게 필터링하는 방법을 아는 사람이 있습니까?

답변1

tc-filter전송된 제어 패킷에 대한 트래픽을 조절하지만 수신된 패킷에 대한 트래픽은 조절하지 않습니다. 따라서 udp를 사용하면 iperf응답이 필요하지 않으며 속도는 동일하게 유지됩니다. TCP를 사용할 때 iperf작동하려면 ack가 필요합니다.

관련 정보