주 메뉴 열기

wwiki β

바뀜

Queueing Disciplines

2,021 바이트 추가됨, 2021년 10월 28일 (목) 07:46
편집 요약 없음
{{DISPLAYTITLE:Queueing Disciplines}}
[[tc]]명령어에서 qdisc의 묶음사용하는 오브젝트의 한 종류로 대기열 규칙에 관한 것들.
=== Simple classless Queueing Disciplines ===
트래픽의 우선순위를 다른 종류로 설정하도록 도와준다.
* Class Based Queueing (CBQ): 오래되고 복합한 복합하다.
* Hierarchical Token Bucket (HTB)
==== Hierarchical Token Bucket (HTB) ====
HTB를 사용하여 소규모 사무실에 대한 몇 가지 규칙을 만들고 싶다고 가정해보자. [[파일:Hierarchical Token Bucket Sample.png|가운데|781x781픽셀]]  eth0: 외부 인터페이스, public ip eth1: 내부 인터페이스, local ip<syntaxhighlight lang="text">이메일은 우선 순위가 높다.다른 것들은 보통의 우선 순위이다.비디오 스트리밍은 낮은 순위로 하고 싶다.<br /syntaxhighlight>'root 1: '과 '1:1'을 HTB를 사용해서 생성한다. ('default 6'은 매칭되는 규칙이 없으면 '1:6'을 따른다.) #tc qdisc add dev eth1 root handle 1: htb default 6 #tc class add dev eth1 parent 1: classid 1:1 htb rate 2mbit ceil 2mbit하위 클래스 '1:5'를 생성한다. ('prio'는 priority이다. 0이 최우선이다.) #tc class add dev eth1 parent 1:1 classid 1:5 htb rate 1mbit ceil 1.5mbit #tc filter add dev eth1 protocol ip parent 1:0 prio 0 u32 match ip src YOUR_MAIL_SERVER_IP/32 flowid 1:5 #tc filter add dev eth1 protocol ip parent 1:0 prio 0 u32 match ip sport 22 0xffff flowid 1:5하위 클래스 '1:6'을 생성한다. (이건 root의 기본값이므로 하위 규칙을 설정하지 않는다. ) #tc class add dev eth1 parent 1:1 classid 1:6 htb rate 0.5mbit ceil 1.5mbit하위 클래스 '1:7'을 생성한다.(특정 아이피를 지정하려면 /32를 사용하고, 범위를 지정하려면 /24를 사용해라. 'prio 5'는 낮은 우선 순위이다. "iptraf"를 사용해서 ip주소를 얻을 수 있다.) #tc class add dev eth1 parent 1:1 classid 1:7 htb rate 0.2mbit ceil 1mbit #tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 match ip src VIDEO_STREAM_IP/32 flowid 1:7선택적으로 하위에 규칙을 더할 수도 있다.(예를 들면 '1:5"하위 클래스에 SFQ를 추가) #tc qdisc add dev eth1 parent 1:5 handle 20: sfq perturb 10삭제하려면 #tc qdisc del dev eth1 root handle 1: htb[[분류:리눅스]][[분류:네트워크]]
편집
2,431