구조는 논문 참조 [II. 리눅스 트래픽 컨트롤]
💡 참고 : [https://ettrends.etri.re.kr/ettrends/79/0905000395/18-1_001_006.pdf](https://ettrends.etri.re.kr/ettrends/79/0905000395/18-1_001_006.pdf)리눅스에서 트래픽 컨트롤 기능을 제공하는 도구
사용자로 하여금 네트워크의 Queue와 Queuing 매커니즘을 제어 할 수 있도록 하는 도구
Traffic Control는 일반적으로 FIFO 를 사용
TC는 인터페이스의 패킷 Input과 Output에서 패킷의 송수신 속도와 순서를 결정 가능
qdisc는 단순한 FIFO 큐로 인위적인 패킷 유실, 패킷 지연, 전송 속도 제한 등 조절 가능
총 대역폭 제한 : TBF, HTB with child class
특정 사용자, 서비스 또는 client의 대역폭 제한 : HTB classes / classifying with filter
비대칭 링크에서 TCP 처리량 극대화, ACK 패킷의 전송 우선순위 지정
네트워크 리소스를 보다 균등하게 분배 가능
Queue는 스케줄링 핵심 개념으로 처리되기를 기다리는 작업 혹은 서비스 포함
Tocken Bucket
shaping(응용 레벨에서의 data rate 설정)
scheduling(패킷 전송 순서 조절)
policing(arriving traffic 제어)
qdisc
dropping(들어오고 나가는 패킷에 대한 drop) 지원
💡 참고 : [https://soheemon.tistory.com/entry/Traffic-Control-정리](https://soheemon.tistory.com/entry/Traffic-Control-%EC%A0%95%EB%A6%AC)