ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: QoS

[QoS] 3: Policing

Policing ์ด๋ž€, ํŠธ๋ž˜ํ”ฝ์˜ ์ตœ๋Œ€ ์†๋„๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋Œ€์—ญํญ์— ์—ฌ์œ ๊ฐ€ ์žˆ์–ด๋„ ์ตœ๋Œ€ ์†๋„๋ฅผ ๋„˜๊ธฐ๋ฉด ํ•ด๋‹น ํŠธ๋ž˜ํ”ฝ์„ ํ๊ธฐํ•œ๋‹ค.

Input Policing: ํŒจํ‚ท ์ž…๋ ฅ(์ˆ˜์‹ ) ์‹œ ์ ์šฉํ•˜๋Š” Policing
Output Policing: ํŒจํ‚ท ์ถœ๋ ฅ(์†ก์‹ ) ์‹œ ์ ์šฉํ•˜๋Š” Policing, ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์Šค์œ„์น˜๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

1. Policing ์„ค์ •
2. DSCP ๋งˆํฌ๋‹ค์šด


1. Policing ์„ค์ •

ํ† ํด๋กœ์ง€1. Policing ์„ค์ •
Switch(config)# mls qos
Switch(config)#
Switch(config)# policy-map <POLICY_NAME>
Switch(config-pmap)# class [ <CLASS_MAP_NAME> | class-default ]
Switch(config-pmap-c)# police <LIMITED_BPS> <Bc>
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)#
Switch(config)# int <INTERFACE>
Switch(config-if)# service-policy input <POLICY_NAME>

5: ‘<CLASS_MAP_NAME>‘์€ class-map์„ ํ†ตํ•ด ์ง€์ •ํ•œ ํŠธ๋ž˜ํ”ฝ์— ์ ์šฉํ•˜๊ณ , ‘class-default‘๋Š” ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ์ ์šฉํ•œ๋‹ค.
6: ex) police 1000000 31250
<LIMITED_BPS>‘์˜ ๋‹จ์œ„๋Š” bps์ด๋‹ค.
<Bc>’๋Š” ๋‹จ์œ„์‹œ๊ฐ„(Tc)์— ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํŠธ๋ž˜ํ”ฝ ์–‘์ด๋‹ค. Byte ๋‹จ์œ„์ด๋ฉฐ, ์žฅ๋น„๋งˆ๋‹ค ์ตœ์†Œ/์ตœ๋Œ€ BC๊ฐ’์ด ๋‹ค๋ฅด๋‹ค.

Bc ์™€ Tc

– Bc : Burst Committed, ํŒจํ‚ท์„ ๋‹ด๋Š” ๋ฒ„ํ‚ท์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
– CIR : Committed Information Rate, ํด๋ฆฌ์‹ฑ ์†๋„.
– Tc : ๋‹จ์œ„์‹œ๊ฐ„, Bc๋ฅผ ๋‹ค ์ฑ„์šฐ๋Š” ์‹œ๊ฐ„

Bc = (CIR * Tc) / 8‘ ์ด๋ผ๋Š” ๊ณต์‹์— ๋”ฐ๋ผ ๋™์ž‘ํ•œ๋‹ค.
์ตœ๋Œ€ ํŠธ๋ž˜ํ”ฝ ์–‘(Bc)์ด ๋™์ผํ•˜๋‹ค๊ณ  ํ• ๋•Œ, ํด๋ฆฌ์‹ฑ ์†๋„(CIR)๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋‹จ์œ„์‹œ๊ฐ„(Tc)๋Š” ์ž‘์•„์ง„๋‹ค.


2. DSCP ๋งˆํฌ๋‹ค์šด

Policing์—์„œ ์ตœ๋Œ€ ์†๋„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ํ”„๋ ˆ์ž„์€ ํ๊ธฐํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ํ”„๋ ˆ์ž„์„ ํ๊ธฐํ•˜๋Š” ๋Œ€์‹  ‘policed-dscp map’์„ ์ฐธ๊ณ ํ•˜์—ฌ DSCP ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ‘DSCP ๋งˆํฌ๋‹ค์šด’์ด๋ผ๊ณ  ํ•œ๋‹ค.

์„ค์ •

Switch(config)# policy-map <POLICY_NAME>
Switch(config-pmap)# class [ <CLASS_MAP_NAME> | class-default ]
Switch(config-pmap-c)# police <LIMITED_BPS> <Bc> exceed-action policed-dscp transmit

policed-dscp map ํ™•์ธ

Switch# show mls qos maps policed-dscp

[QoS] 2: Trusting

QoS ํ๋ฆ„ ์ค‘ ํ”„๋ ˆ์ž„์„ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์„ Trusting์ด๋ผ๊ณ  ํ•œ๋‹ค. Trusting์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ 2๊ฐ€์ง€์ด๋‹ค.

1. ‘trust๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฅ˜ํ•˜๊ณ , ํŠธ๋ž˜ํ”ฝ์˜ QoS๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

2. ์•ž์„œ ์‚ดํŽด๋ณธ QoS ์„ค์ •์˜ MQC ๋ช…๋ น์–ด ์ค‘ ‘class-map‘์„ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฅ˜ํ•˜๊ณ , ‘policy-map‘์„ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์˜ QoS๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

  1. trust ๋ช…๋ น์–ด
  2. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ trusting
  3. policy-map์„ ์ด์šฉํ•œ trusting

1. trust ๋ช…๋ น์–ด

์ˆ˜์‹ ๋œ ํ”„๋ ˆ์ž„์˜ QoS ๊ฐ’ ์ค‘ ์–ด๋–ค ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ• ์ง€ ๊ฒฐ์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. QoS ๊ฐ’ ์—†์ด QoS๋ฅผ ์„ค์ •ํ•œ๋‹ค๋ฉด, ‘trust๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
trust๋ช…๋ น์–ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ MQC์˜ ‘policy-map‘์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.

– ‘trust‘๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฏธ์‚ฌ์šฉ ์ƒํƒœ๋‹ค.
– ‘trust‘๋ฅผ ๋ฏธ์‚ฌ์šฉํ•ด๋„ ์ˆ˜์‹ ํ•œ ํ”„๋ ˆ์ž„์˜ ์šฐ์„ ์ˆœ์œ„ ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ๋‹ค.
– ๋‹จ, QoS๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ณ„๋„ ์„ค์ •์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์šฐ์„ ์ˆœ์œ„ ๊ฐ’์€ 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜๋‹ˆ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.


2. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ trusting

Switch(config)# mls qos
Switch(config)#
Switch(config)# int <INTERFACE>
Switch(config-if)# mls qos [ cos | device | dscp | ip-precedence | <cr> ]

2: qos๋ฅผ ํ™œ์„ฑํ™”ํ•œ๋‹ค.
5: cos, dscp, ip-precedence -> QoS ์šฐ์„ ์ˆœ์œ„์˜ ์ข…๋ฅ˜๋ฅผ ์ง€์ •.
device -> Cisco IP ์ „ํ™”๊ธฐ๊ฐ€ ์„ค์น˜๋œ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.
๋ณ„๋„ ์ข…๋ฅ˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด, dscp๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

[ QoS ์šฐ์„ ์ˆœ์œ„๋ฅผ CoS๊ฐ’ ๊ธฐ์ค€, CoS๊ฐ’์ด ์—†๋‹ค๋ฉด 2๋กœ ์ง€์ • ]

Switch(config-if)# mls qos trust cos
Switch(config-if)# mls qos cos 2

[ ์ˆ˜์‹  ํ”„๋ ˆ์ž„์˜ coS ๊ฐ’์„ ๋ฌด์‹œ, ๋ฌด์กฐ๊ฑด 1๋กœ ์ง€์ • ]

Switch(config-if)# mls qos cos 1
Switch(config-if)# mls qos cos override

3. Policy-map์„ ์ด์šฉํ•œ trusting

์ธํ„ฐํŽ˜์ด์Šค์—์„œ trusting์„ ํ•˜๋ฉด, ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ต๊ณผํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ์ „์ฒด์— ์ ์šฉ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Policy-map์„ ์ด์šฉํ•ด trusting์„ ํ•œ๋‹ค๋ฉด, ‘class-map‘์œผ๋กœ ์ง€์ •๋œ ํŠธ๋ž˜ํ”ฝ์—๋งŒ ์ ์šฉ๋œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, Policy-map์„ ํ†ตํ•ด ๋” ์ •๊ตํ•œ trusting์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋งŒ์ผ, ์ธํ„ฐํŽ˜์ด์Šค์™€ Policy-map ๋ชจ๋‘ trusting์„ ์ ์šฉํ•˜๋ฉด Policy-map์˜ trusting์ด ์šฐ์„ ํ•œ๋‹ค.

trusting ์„ค์ •

ACL ์„ค์ • โ†’ class-map ์„ค์ • โ†’ policy-map ์„ค์ • โ†’ policy-map ์ ์šฉ

Switch(config)# ip access-list extended <ACL_NAME>
Switch(config-ext-nacl)# permit ip <SOURCE_IP> <DESTINATION_IP>
Switch(config-ext-nacl)# exit
Switch(config)#
Switch(config)# class-map <CLASS_MAP_NAME>
Switch(config-cmap)# match access-group name <ACL_NAME>
Switch(config-cmap)# exit
Switch(config)#
Switch(config)# policy-map <POLICY_NAME>
Switch(config-pmap)# class <CLASS_MAP_NAME>
Switch(config-pmap-c)# trust [ cos | dscp | ip-precedence | <cr> ]
Switch(config-pmap-c)# exit
Switch(config-pmap)# exit
Switch(config)#
Switch(config)# int <INTERFACE>
Switch(config-if)# service-policy input <POLICY_NAME>

[QoS] 1: ๊ฐœ๋…

Quality of Service

์ˆ˜ ๋งŽ์€ ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ƒํ™ฉ์—์„œ ๋‹ค๋ฅธ ํŒจํ‚ท ๋ณด๋‹ค ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ์ค‘์š”ํ•œ ํŒจํ‚ท์ด ์žˆ๊ธฐ ๋งˆ๋ จ์ด๋‹ค. ๊ทธ๋Ÿฐ ํŒจํ‚ท์„ ์œ„ํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ QoS์ด๋‹ค.
VoIP์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŒจํ‚ท์„ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด์„œ ์ง€์—ฐ๋˜์ง€ ์•Š๋„๋ก, ๊ทธ๋ฆฌ๊ณ  ์ค‘์š”ํ•œ ํŠธ๋ž˜ํ”ฝ์˜ ๋Œ€์—ญํญ์„ ๋ณด์žฅํ•˜๊ณ  ํŠน์ • ํŠธ๋ž˜ํ”ฝ์„ ์ œํ•œํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

Qos ์ž‘์—…์€ 6๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜์žˆ๊ณ , 1~6๋ฒˆ ์ˆœ์„œ๋Œ€๋กœ ํ๋ฆ„์ด ์ง„ํ–‰๋œ๋‹ค.

  1. Classification (ํŠธ๋ž˜ํ”ฝ ๋ถ„๋ฅ˜)
  2. Policing (ํด๋ฆฌ์‹ฑ)
  3. Marking (์šฐ์„ ์ˆœ์œ„ ํ‘œ์‹œ)
  4. Congestion Avoidance (ํ˜ผ์žก ํšŒํ”ผ)
  5. Queueing (ํ์ž‰)
  6. Scheduling (์Šค์ผ€์ค„๋ง)
  7. Switch QoS ์„ค์ •
QoS ๊ฐ„๋žต ํ๋ฆ„

1. Classification – ํŠธ๋ž˜ํ”ฝ ๋ถ„๋ฅ˜

QoS ์ •์ฑ…์„ ์„ค์ •ํ•˜๊ธฐ ์•ž์„œ ๋จผ์ € QoS๋ฅผ ์ ์šฉํ•  ํŒจํ‚ท์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด,
(1) ํŠน์ • IP์—์„œ ์˜จ ํŒจํ‚ท
(2) ํŠน์ • ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์˜จ ํŒจํ‚ท
(3) ํŠน์ • ์šฐ์„ ์ˆœ์œ„(IP Precedence/DSCP/CoS)๋ฅผ ๊ฐ€์ง„ ํŒจํ‚ท

์ด๋ ‡๊ฒŒ ๋ง์ด๋‹ค.


2. Policing – ํด๋ฆฌ์‹ฑ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†๋„๋ฅผ ์ œํ•œํ•œ๋‹ค. ํ†ต์‹ ์‚ฌ์—…์ž๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
100Mbps๋กœ Policingํ•œ๋‹ค = ์ตœ๋Œ€ ์†๋„๊ฐ€ 100Mbps๊นŒ์ง€ ๋‚˜์˜จ๋‹ค.


3. Marking – ์šฐ์„ ์ˆœ์œ„ ํ‘œ์‹œ

ํ”„๋ ˆ์ž„์— ์šฐ์„  ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์ผ, ์šฐ์„ ์ˆœ์œ„๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ํŒจํ‚ท์ด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋‹ค.
ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ์ง€์ •/์ง€์ • ๋ถˆ๊ฐ€ํ•˜๋‹ค.

3-1. Ethernet ํ”„๋ ˆ์ž„๊ณผ 802.1Q ํ”„๋ ˆ์ž„

Ethernet ํ”„๋ ˆ์ž„์—๋Š” ์šฐ์„ ์ˆ˜์œ„๋ฅผ ํ‘œ์‹œํ•  ํ•„๋“œ๊ฐ€ ์—†๋‹ค.
์ฆ‰, ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์—†๋‹ค.

802.1Q ํ”„๋ ˆ์ž„์˜ Tag ํ•„๋“œ์— CoS(Priority) ํ•ญ๋ชฉ์ด ์žˆ๋‹ค.
์šฐ์„ ์ˆ˜์œ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฆ‰, Trunking ํฌํŠธ๋ฅผ ํ†ตํ•ด ์†ก์ˆ˜์‹ ๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

3-2. IP ํ—ค๋”

์ถœ์ฒ˜: What 8-bit field exists in IP packet for QoS?, ITExamAnswers, https://itexamanswers.net/question/what-8-bit-field-exists-in-ip-packet-for-qos

IP ํ—ค๋”์—์„œ IP Precedence ํ˜น์€ DSCP๋ฅผ ์ด์šฉํ•ด ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.
IP Precedence : ๊ฐ’ 0~7, ๊ฐ’์ด ํด์ˆ˜๋ก ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์•„์ง„๋‹ค.
DSCP : ๊ฐ’ 0~63, ๊ฐ’์˜ ํฌ๊ธฐ์˜ ๋”ฐ๋ฅธ ์˜๋ฏธ๋Š” ์—†๋‹ค. ๋ณดํ†ต VoIP์— DSCP ๊ฐ’ 46์„ ๋ถ€์—ฌํ•œ๋‹ค. 46์„ EF(Expected Forwarding)์ด๋ผ๊ณ  ํ•œ๋‹ค.
* DSCP ๊ฐ’ ์ฐธ๊ณ  : Cisco Configuration Guides

3-3. Marking ์‚ฌ์šฉ ์˜ˆ์‹œ

ํ† ํด๋กœ์ง€1. Marking ์‚ฌ์šฉ ์˜ˆ์‹œ

โ‘  โ‘ก : 802.1Q TAG์˜ CoS ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
โ‘ข : Serial์€ Ethernet ๋ฐฉ์‹์ด ์•„๋‹Œ RS232C, RS422A, RS485 ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ IPํ—ค๋”์˜ IP Precedence๋‚˜ DSCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
โ‘ฃ : Access ํฌํŠธ๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์—†์–ด์„œ IPํ—ค๋”์˜ IP Precedence๋‚˜ DSCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
โ‘ค : 802.1Q TAG์˜ CoS ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


4. Congestion Avoidance -ํ˜ผ์žก ํšŒํ”ผ

ํ”„๋ ˆ์ž„์„ ์ž„์‹œ ์ €์žฅํ•  ํ๊ฐ€ ๊ฐ€๋“ ์ฐจ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ํ˜ผ์žก์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ํ๊ฐ€ ๊ฐ€๋“ ์ฐจ์žˆ๋Š” ์ƒํƒœ์—์„œ ํ”„๋ ˆ์ž„์„ ํ๊ธฐํ•˜๋Š” ๊ฒƒ์„ ํ˜ผ์žก ํšŒํ”ผ๋ผ๊ณ  ํ•œ๋‹ค. ํ˜ผ์žก ํšŒํ”ผ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

TailDrop, WTD, WRED

4-1. TailDrop

๊ฐ„๋‹จํ•˜๋‹ค. ํ๊ฐ€ ๊ฐ€๋“ ์ฐผ์„ ๋•Œ, ์ดํ›„์— ๋„์ฐฉํ•˜๋Š” ํŒจํ‚ท๋“ค์„ ๋ชจ์กฐ๋ฆฌ ํ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

4-2. WTD

Weighted Tail Drop

CoS / DSCP ๊ฐ’์— ๋”ฐ๋ผ Taildrop์ด ์ผ์–ด๋‚˜๋Š” ์ž„๊ณ„์น˜(Threshold๋ผ๊ณ ๋„ ํ•จ)๋ฅผ ๋‹ค๋ฅด๊ฒŒ ํ•˜์—ฌ ํ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. UDP๊ฐ€ ๋งŽ์€ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ํ˜ผ์žก ์ œ์–ด์— ์œ ๋ฆฌํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.

4-3. WRED

Weighted Random Early Detection

WRED๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์•ž์„œ ๋จผ์ € ‘Global TCP Synchronization’์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.


* Global TCP Synchronization์ด๋ž€?
TCP์™€ ๊ฐ™์ด ์‹ ๋ขฐ์„ฑ์ด ํ•„์š”ํ•œ ํ†ต์‹ ์€ ํŒจํ‚ท 1๊ฐœ๋ฅผ ๋ณด๋‚ด๊ณ  Ack๋ฅผ ๋ฐ›์•„์•ผ ๋‹ค์Œ ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. ํ•˜์ง€๋งŒ ๊ณ„์† ์ด๋ ‡๊ฒŒ ํ†ต์‹ ํ•˜๋ฉด ๋‹น์—ฐํžˆ ํ†ต์‹ ์†๋„๋Š” ๋А๋ ค์งˆ ๊ฒƒ์ด๋‹ค.
์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ์ƒ๋Œ€ Ack์—†์ด ํ•œ๋ฒˆ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ท ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ‘Window Size’๋ผ๋Š” ๊ฐœ๋…์„ ๋„์ž…ํ–ˆ๋‹ค. ์—๋Ÿฌ๊ฐ€ ์—†๋‹ค๋ฉด Window Size๊ฐ€ ํฐ ๊ฒƒ์ด ์œ ๋ฆฌํ•  ๊ฑฐ๊ณ , ์—๋Ÿฌ๊ฐ€ ๋นˆ๋ฒˆํ•˜๋‹ค๋ฉด Window Size๊ฐ€ ์ž‘์€ ๊ฒƒ์ด ์œ ๋ฆฌํ•  ๊ฒƒ์ด๋‹ค.
ํ•œ ๋ฒˆ์— 1500๊ฐœ TCP ํŒจํ‚ท์„ ๋ณด๋ƒˆ๋Š”๋ฐ ๊ทธ ์ค‘ ์ƒ๋Œ€๊ฐ€ 500๊ฐœ๋ฅผ ๋ชป๋ฐ›์€ ์ƒํ™ฉ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์ธ๋ฐ, ์ด๋Ÿด ๋•Œ๋Š” Window Size๋ฅผ ์ค„์—ฌ์„œ ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค. ํ•œ๋ฒˆ์— ๋ณด๋‚ด๋Š” ํŒจํ‚ท๋Ÿ‰์ด ์ ์–ด์ง€๋‹ˆ ํ†ต์‹  ์†๋„๋„ ๋‚ฎ์•„์งˆ ๊ฒƒ์ด๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ๋งŒ์•ฝ PC๊ฐ€ ์—ฌ๋Ÿฌ ๋Œ€ ์žˆ๋‹ค๋ฉด..? ์—ฌ๋Ÿฌ ๋Œ€์˜ PC๊ฐ€ ์ƒ๋Œ€์—๊ฒŒ ์ง€๊ธˆ ์—๋Ÿฌ๋‚ฌ์œผ๋‹ˆ ์žฌ์ „์†ก ์š”์ฒญ์„ ํ•  ๊ฒƒ์ด๋‹ค. ์ด๋ฏธ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์ด๋ฏ€๋กœ ์ƒ๋Œ€๊ฐ€ Window Size๋ฅผ ์ค„์—ฌ์„œ ์žฌ์ „์†กํ•œ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ „์ฒด ํŒจํ‚ท ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค๊ณ  ๋งํฌ ์‚ฌ์šฉ๋ฅ ๋„ ๋‚ฎ์•„์งˆ ๊ฒƒ์ด๋‹ค.
์ด๋ ‡๊ฒŒ ๋™์‹œ์— TCP Window Size ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ‘Global TCP synchronization’์ด๋ผ๊ณ  ํ•œ๋‹ค.


WRED๋Š” Global TCP Synchronization์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด TailDrop(์ „์ฒด ์—๋Ÿฌ)๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „ ์ž„์˜์˜ ํŒจํ‚ท์„ ํ๊ธฐํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ํŠน์ • ์žฅ๋น„์—์„œ๋งŒ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ์ธ์‹ํ•˜๊ณ  Window Size๋ฅผ ์ค„์ธ๋‹ค.

์ฆ‰, ๋Œ€์˜๋ฅผ ์œ„ํ•ด ์ผ๋ถ€๋ฅผ ํฌ์ƒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.


5. Queueing – ํ์ž‰

ํ”„๋ ˆ์ž„์„ ์ „์†กํ•˜๊ธฐ ์ „ ์ž„์‹œ๋กœ ๋ณด๊ด€ํ•˜๋Š” ์žฅ์†Œ๋ฅผ Queue๋ผ๊ณ  ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด Queue๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ Queueing์ด๋ผ๊ณ  ํ•œ๋‹ค.

ํ†ต์‹ ์žฅ๋น„๋Š” ์ž…๋ ฅํ/์ถœ๋ ฅํ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. (์žฅ๋น„๋งˆ๋‹ค ํ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค.)
– ์ž…๋ ฅํ: ํ”„๋ ˆ์ž„ ์ˆ˜์‹  ํ›„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „ ๋ณด๊ด€ํ•˜๋Š” ํ
– ์ถœ๋ ฅํ: ์ฒ˜๋ฆฌ ํ›„ ์™ธ๋ถ€๋กœ ์ „์†กํ•˜๊ธฐ ์ „ ๋ณด๊ด€ํ•˜๋Š” ํ
ํ ์ „์†ก ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ํ‘œ์ค€ํ/์šฐ์„ ํ๋กœ ๋‚˜๋ˆˆ๋‹ค. ์šฐ์„ ํ์— ์ €์žฅ๋œ ํ”„๋ ˆ์ž„์ด ๋” ๋จผ์ € ์ „์†ก๋œ๋‹ค.


6. Scheduling – ์Šค์ผ€์ค„๋ง

Queue์— ์ €์žฅ๋œ ํ”„๋ ˆ์ž„์„ ์™ธ๋ถ€๋กœ ์ „์†กํ•œ๋‹ค.
Scheduling ๋ฐฉ์‹์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

WRR, DWRR, Strict-priority queueing

6-1. WRR

Weighted Round Robin

์ •ํ•ด์ง„ ๋น„์œจ๋Œ€๋กœ ์ฐจ๋ก€์ฐจ๋ก€ ๋Œ์•„๊ฐ€๋ฉฐ ํ”„๋ ˆ์ž„์„ ์ „์†กํ•œ๋‹ค.

6-2. DWRR

Deficit Weighted Round Robin

์ˆœ์„œ(์ฐจ๋ก€)๊ฐ€ ๋˜์–ด๋„ ์ „์†กํ•  ํ”„๋ ˆ์ž„ ํฌ๊ธฐ๋ณด๋‹ค deficit counter ์ž‘์œผ๋ฉด, ํ”„๋ ˆ์ž„์„ ์ „์†กํ•˜์ง€ ์•Š๊ณ  deficit counter๋ฅผ ์ฆ๊ฐ€์‹œํ‚จ ๋’ค ๋‹ค์Œ ์ฐจ๋ก€์— ์ „์†กํ•œ๋‹ค.

6-3. Strict-priority Queueing

์ตœ์šฐ์„  ํ์ž‰

์šฐ์„ ํ์— ์ €์žฅ๋œ ํ”„๋ ˆ์ž„์„ ๋จผ์ € ์ „์†กํ•œ๋‹ค.
๋ณดํ†ต VoIP ํ”„๋ ˆ์ž„์„ ์ตœ์šฐ์„ ํ์ž‰ํ•œ๋‹ค.


7. Switch QoS ์„ค์ •

QoS ์„ค์ •์€ MQC ๊ด€๋ จ ๋ช…๋ น์–ด์™€ mls qos ๊ด€๋ จ ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค.

7-1. MQC ๊ด€๋ จ ๋ช…๋ น์–ด

Modular QoS CLI

์Šค์œ„์น˜๋‚˜ ๋ผ์šฐํ„ฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” QoS ๋ช…๋ น์–ด ์ฒด๊ณ„์ด๋‹ค. ์Šค์œ„์น˜์—์„œ๋Š” ์ฃผ๋กœ Marking์ด๋‚˜ Policing์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

– ์„ค์ •4๋‹จ๊ณ„
(1) class-map : QoS ์ž‘์—… ๋Œ€์ƒ ๋ถ„๋ฅ˜
(2) policy-map : QoS ์ •์ฑ… ํ‘œ์‹œ
(3) service-policy : policy-map ์ ์šฉ
(4) show policy-map interface <INTERFACE> : QoS ๋™์ž‘ ํ™•์ธ

7-2. mls qos ๊ด€๋ จ ๋ช…๋ น์–ด

Queue ๋ณ„ ๋Œ€์—ญํญ ๋น„์œจ, ๊ธธ์ด, ๋งคํ•‘ ๋“ฑ Queue์™€ ๊ด€๋ จ๋œ ์„ค์ •์ด๋‹ค.