인터페이스 처리 속도 제한이 패킷 대기 시간에 미치는 영향을 테스트하고 싶습니다. veth-red라는 인터페이스가 있습니다. ICMP 패킷을 수신하여 veth-green으로 라우팅합니다. 그런 다음 veth-green은 ICMP 응답으로 응답합니다.
1500바이트 ICMP 패킷을 보내고 veth-red의 속도를 초당 10000비트로 설정하여 1.2초 후에 응답을 수신하려고 합니다. 나는 다음을 사용했다
sudo tc qdisc add dev veth-red root tbf rate 10000bit burst 12kbit latency 5000ms
예기치 않게 ping 응답이 0.057밀리초 만에 수신되었습니다. 또한 버스트를 12kbit 미만으로 변경하자마자 응답이 실패합니다. 예상되는 동작을 보려면 속도를 올바르게 설정하려면 어떻게 해야 합니까?
askubuntu 포럼에 이 질문을 게시했지만 답변이나 제안을 받지 못했습니다.
답변1
Linux 트래픽 셰이퍼(및 이더넷)는 한 번에 하나의 패킷을 처리하므로 단일 패킷을 처리하는 데 필요한 시간을 늘리는 것이 아니라 패킷 간 시간을 늘립니다.
최대 버스트를 패킷보다 작게 설정하면 패킷을 보낼 수 없습니다.