25장. Linux 트래픽 제어
Linux 트래픽 제어(TC)는 네트워크 트래픽을 배치, 분류, 형성 및 스케줄링하는 데 도움이 됩니다. 패킷 콘텐츠 조작을 포함하여 패킷 전송을 관리하고 조작하기 위해qdisc(qdisc )와 필터를 큐잉합니다.
스케줄링 메커니즘은 다른 큐에 입력하거나 종료하기 전에 패킷을 준비하거나 다시 정렬합니다. 가장 일반적인 스케줄러는 FIFO(First-In-First-Out) 스케줄러입니다. tc 유틸리티를 사용하거나 NetworkManager를 사용하여 영구적으로 qdiscs 작업을 수행할 수 있습니다.
Red Hat Enterprise Linux에서는 네트워크 인터페이스에서 트래픽을 관리하는 다양한 방법으로 기본 대기열 구성 요소를 구성할 수 있습니다.
25.1. 자주하는 질문 링크 복사링크가 클립보드에 복사되었습니다!
큐잉(qdiscs)은 네트워크 인터페이스에 의해 트래픽 전송 스케줄링을 대기하는 데 도움이 됩니다.
qdisc 에는 두 가지 작업이 있습니다.
- 이후 전송을 위해 패킷을 큐에 추가할 수 있도록 요청을 큐에 넣습니다.
- 즉시 전송을 위해 대기 중인 패킷 중 하나를 선택할 수 있도록 큐를 요청합니다.
모든 qdisc 에는 소켓이라는 16비트 16진수 식별 번호가 있으며, 연결된 콜론(예: 1: 또는 abcd: )이 있습니다. 이 수를 qdisc 주요 번호라고 합니다. qdisc 에 클래스가 있는 경우 식별자는 마이너 이전의 메이저 숫자가 있는 두 숫자의 쌍으로 구성됩니다(예 : abcd:1 ). 마이너 번호의 번호 지정 스키마는 qdisc 유형에 따라 다릅니다. 1 클래스의 ID < major>:1, 두 번째 < major>:2 가 있는 경우가 있습니다. 일부 qdiscs 를 사용하면 클래스를 생성할 때 사용자가 클래스 마이너 번호를 임의로 설정할 수 있습니다.
- 클래스적
qdiscs 다양한 유형의
qdiscs가 존재하며 네트워크 인터페이스로 패킷을 전송하는 데 도움이 됩니다. root, parent 또는 하위 클래스를 사용하여qdiscs를 구성할 수 있습니다. 자식을 연결할 수 있는 지점을 클래스라고 합니다.qdisc의 클래스는 유연하며 항상 여러 개의 하위 클래스 또는 단일 자식인qdisc를 포함할 수 있습니다. 클래스qdisc자체를 포함하는 클래스에 대한 금지는 없으므로 복잡한 트래픽 제어 시나리오를 용이하게 합니다.클래스적
qdiscs는 패킷을 자체적으로 저장하지 않습니다. 대신qdisc와 관련된 기준에 따라 요청을 큐에 추가 및 큐에 추가합니다. 결국 이 재귀 패킷 전달은 패킷이 저장되는 위치(또는 데크립션의 경우 선택)로 끝납니다.- 클래스리스
qdiscs -
일부
qdiscs에는 하위 클래스가 포함되어 있지 않으며 클래스가 없는qdiscs라고 합니다. 클래스리스qdiscs는 classfulqdiscs에 비해 사용자 지정이 줄어듭니다. 일반적으로 인터페이스에 연결하는 것으로 충분합니다.