Adaptive QoS Optimization - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
์๊ฐ
QoS๋ ๋คํธ์ํฌ ์ฌ์ฉ์ ์ต์ ํํ์ฌ ๋คํธ์ํฌ์์ ๊ฐ์ฅ ์ค์ํ ํธ๋ํฝ์ ์ฐ์ ์์๋ก ์ค์ ํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ฅญํ ๊ธฐ๋ฅ์ ๋๋ค. ์ ๋ฐ์ดํธ๋ฅผ ๋ค์ด๋ก๋ํ ๋ Netflix๊ฐ ๋ฒ๋ฒ ์ด๋ ๋ฌธ์ ๊ฐ ์๋์? ๋ฃธ๋ฉ์ดํธ๊ฐ YouTube๋ฅผ ์์ฒญํ ๋ ๊ฒ์ ํ์ด ๋จ์ด์ง๋์? QoS๊ฐ ํ์ํฉ๋๋ค.
QoS์๋ ์ธ ๊ฐ์ง ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค - ์ฅ์น ์ฐ์ ์์, ์ ํต์ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ ์ํ. ์ด ํ์ด์ง๋ ์ ์ํ QoS์ ๋ํ ๊ฒ์ ๋๋ค.
๊ตฌ์ฑ
Asus์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ ์ํ QoS์๋ ์ ํ์ด ์์ด, FreshJR์ด ์์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๊ฒ ๋์์ต๋๋ค. FreshJRQoS์ ์ค์น์ ๊ตฌ์ฑ์ ์ํด์๋ AMTM์ ์ฌ์ฉํ๊ณ FreshJRQoS ์คํฌ๋ฆฝํธ๋ฅผ ์ ํํ์ญ์์ค.
QoS ๊ตฌ์ฑ์ ํ ๊ฐ์ง ์ธก๋ฉด์ ์ด๋ค ๋๊ธฐ์ด ๊ท์น(discipline)์ ์ฌ์ฉํ ๊ฒ์ธ์ง์ ๋๋ค. ๋๊ธฐ์ด์ ๋ํ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ํ๋ค๋ฉด, QoS Queue Disciplines๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
์ผ๋ฐ์ ์ผ๋ก ๋ค์ ์ค์ ์ ์ฌ์ฉํ๊ณ ์ ํ ๊ฒ์ ๋๋ค:
- FreshJRQoS ์คํฌ๋ฆฝํธ
- ์ฅ์น ์ฐ์ ์์ ์์
- ์ ์ํ QoS
- QoS๊ฐ ํ์ฑํ๋์ง ์์ ์ํ์์์ ๋์ญํญ ํ ์คํธ๋ก ์ป์ ์ค์ ์๋์ 85-95%๋ก ์๋ ๋์ญํญ ์ค์
- fq_codel ๋๊ธฐ์ด ๊ท์น
์ ์ํ QoS๋ฅผ ์ฌ์ฉํ์ง ์์์ผ ํ๋ ๊ฒฝ์ฐ
๋งค์ฐ ๋น ๋ฅธ ์ฐ๊ฒฐ, ์๋ฅผ ๋ค์ด ๊ธฐ๊ฐ๋นํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด, ๊ทธ ์๋์์ ์ ์ํ QoS๋ฅผ ์ ๊ณตํ ์ ์๋ ์ถฉ๋ถํ ๊ฐ๋ ฅํ ๋ผ์ฐํฐ๋ฅผ ์ฐพ๊ธฐ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค. ๋ก์ปฌ ๋คํธ์ํฌ์ ํธ๋ํฝ ํผ์ก์ ์ค์ด๊ธฐ ์ํด ํน์ ์ฅ์น์ ๊ฐ๋จํ ๋์ญํญ ํ ๋น์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
์ ์ํ QoS์ ์๋ ค์ง ๋ฌธ์ ์
์ ์ํ QoS๋ DHCP ๊ฐฑ์ ์ ๋ฐฉํดํจ
์ฃผ์: Release 386.1์์๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์์ ์ ์ถ๊ฐํ์ต๋๋ค. ๋ค์ ์ ๋ณด๋ ๋ ์ด์ ์ ์ฉ๋์ง ์์ ์ ์์ต๋๋ค.
WAN ์ฐ๊ฒฐ์ด ๋์ด์ง๊ฑฐ๋ DHCP ๊ฐฑ์ ์ ์คํจํ๋ ๋ฌธ์ ๊ฐ ์๊ณ ์ ์ํ QoS๋ฅผ ํ์ฑํํ๋ค๋ฉด, ์ด ๋ฌธ์ ๋ก ์ธํด ๊ณ ํต๋ฐ๊ณ ์์ ์ ์์ต๋๋ค. Asus ์ ์ํ QoS๋ ๋ฆฌ์ค๊ฐ ๋ง๋ฃ๋ ๋ DHCP ๊ฐฑ์ ์ ์ฐจ๋จํ๋ iptables ๊ท์น์ ์ค์ ํฉ๋๋ค. ์ด๋ค ์ด์ ๋ก ์ DHCP ์์ฒญ์ ํต๊ณผํ์ง๋ง DHCP ๊ฐฑ์ ์ ํต๊ณผํ์ง ์์ต๋๋ค. ๋ฉฐ์น ์ด๋ ์ฃผ์ผ ๋์ ๋ฆฌ์ค๋ฅผ ์ค์ ํ๋ ๊ด๋ํ ISP์ ์๋ค๋ฉด ๋์น์ฑ์ง ๋ชปํ ๊ฒ์ ๋๋ค. AT&T์ ๊ฐ์ด DHCP ๋ฆฌ์ค๋ฅผ 10๋ถ์ผ๋ก ์ค์ ํ๋ ๋ ๊ด๋ํ ISP์ ์๋ค๋ฉด, DHCP ๊ฐฑ์ ์ด ์คํจํ๊ณ WAN ์ฐ๊ฒฐ์ด ๋งค 10๋ถ๋ง๋ค ๋์ด์ง ๊ฒ์ ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์๋ ค์ง ๊ตฌ์ฑ์ AT&T FTTN / Uverse์ DMZ+ ๋ชจ๋์์ Pace 5268ac ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ Asus RT-AC68U ๋ผ์ฐํฐ์ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๋ค๋ฉด, ์๋ ๋ชฉ๋ก์ ์ ๋ฐ์ดํธํ์ฌ ๊ตฌ์ฑ์ ํฌํจ์ํค์ญ์์ค.
์ง๋จ
์์คํ ๋ก๊ทธ์์ WAN IP ์ฃผ์์ ๋ํ DHCP ๊ฐฑ์ ์ ๊ดํ DHCP ์๋ฆผ์ ํ์ธํ์ธ์. ์๋ฅผ ๋ค์ด,
dhcp_client: bound 108.228.12.xxx/255.255.252.0 via 108.228.12.1 for 600 seconds.
๋๋
lldpd[309]: removal request for address of 108.228.12.xxx%4, but no knowledge of it
DHCP๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ ์ ํ์ธํ๋ ค๋ฉด JFFS ์คํฌ๋ฆฝํ ์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธํ ํ ๋ผ์ฐํฐ์ SSH๋ก ์ ์ํ๊ณ ์ด๋ฌํ ๋ช ๋ น์ ์คํํ์ธ์.
touch /jffs/scripts/wan-event
touch /jffs/scripts/dhcpc-event
chmod 755 /jffs/scripts/wan-event
chmod 755 /jffs/scripts/dhcpc-event
๊ทธ๋ฐ ๋ค์ ์ ์ํ QoS๋ฅผ ๋นํ์ฑํํ๊ณ ์์คํ
๋ก๊ทธ์์ DHCP๊ฐ ์์๋๋ก ๊ฐฑ์ ๋๋ ์ ๋ณด๋ฅผ ํ์ธํ์ธ์. ์๋ฅผ ๋ค์ด,
custom_script: Running /jffs/scripts/dhcpc-event (args: renew)
๊ทธ๋ฐ ๋ค์ QoS๋ฅผ ๋ค์ ํ์ฑํํ๊ณ WAN์ด ๋์ด์ง๊ณ DHCP ๋ฆฌ์ค๊ฐ ํ๋๋๋ ๊ฒ์ ํ์ธํ์ธ์. ์๋ฅผ ๋ค์ด,
custom_script: Running /jffs/scripts/dhcpc-event (args: deconfig)
custom_script: Running /jffs/scripts/wan-event (args: 0 disconnected)
custom_script: Running /jffs/scripts/wan-event (args: 0 stopped)
custom_script: Running /jffs/scripts/dhcpc-event (args: bound)
custom_script: Running /jffs/scripts/wan-event (args: 0 connected)
๋ฌธ์ ๋ ๊ธฐ๋ณธ ASUS ์ ์ํ QoS์ ์ํด ์์ฑ๋ ๊ท์น์ด ๊ฒ์ดํธ์จ์ด๋ก์ DHCP ํธ๋ํฝ์ ์ฐจ๋จํ๋ ๊ฒ์ ๋๋ค.
Iptables ๋ณ๊ฒฝ
์ด ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐ๋๋ฉด ๋ผ์ฐํฐ์ SSH๋ก ์ ์ํ์ฌ ์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ iptables ๊ท์น์ ๋ณ๊ฒฝํ์ฌ ๊ฒ์ดํธ์จ์ด๋ก์ DHCP๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. "YOUR_GATEWAY_IP_ADDRESS"๋ฅผ ๊ฒ์ดํธ์จ์ด์ IP ์ฃผ์๋ก ๋ณ๊ฒฝํ๊ณ , ์๋ฅผ ๋ค์ด Pace 5268ac ๊ฒ์ดํธ์จ์ด์ ๊ธฐ๋ณธ IP๋ 192.168.1.254์ด๋ฉฐ, "WAN_IF" (๋ณดํต eth0, ์๋ก์ด ๋ชจ๋ธ์์๋ eth4์ผ ์ ์์)๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค:
iptables -t mangle -I PREROUTING 1 -i WAN_IF -s YOUR_GATEWAY_IP_ADDRESS/32 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
๊ทธ๋ฐ ๋ค์ ์ ์ํ QoS๋ฅผ ๋ค์ ์์ํ๊ณ DHCP ์์ฒญ์ด ํต๊ณผ๋๋์ง ํ์ธํ์ธ์.
๊ทธ๋ ์ง ์๋ค๋ฉด ์ ์ํ QoS๋ฅผ ๋๊ณ "service firewall_restart" ๋ช ๋ น์ด๋ก ๋ฐฉํ๋ฒฝ์ ๋ค์ ์์ํ์ฌ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค๋ฉด, /jffs/scripts/firewall-start ์คํฌ๋ฆฝํธ์ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐํ์ฌ ํด๊ฒฐ์ฑ ์ ์๊ตฌ์ ์ผ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ํด๋น ์คํฌ๋ฆฝํธ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ์์ touch์ chmod ๋ช ๋ น์ ์ฌ์ฉํ์ฌ "firewall-start"๋ฅผ ํ์ผ ์ด๋ฆ์ผ๋ก ๋์ฒดํ์ฌ ๋ง๋ค ์ ์์ต๋๋ค.
if [ "$(nvram get qos_enable)" = "1" ] && [ "$(nvram get qos_type)" = "1" ]; then
iptables -t mangle -I PREROUTING 1 -i WAN_IF -s YOUR_GATEWAY_IP_ADDRESS/32 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
fi
๊ทธ๋ฐ ๋ค์ ๋ผ์ฐํฐ๋ฅผ ๋ค์ ์์ํ๊ณ QoS์ DHCP๊ฐ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ์ธ์.
๋ชจ๋ ๊ฒ์ด ์๋ํ๋ฉด ์์์ ์์ฑํ ์ฌ์ฉ์ ์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
rm /jffs/scripts/wan-event
rm /jffs/scripts/dhcpc-event
์๋ ค์ง ๋ฌธ์ ๊ตฌ์ฑ
- DMZ+ ๋ชจ๋์์ Pace 5268ac ๊ฒ์ดํธ์จ์ด์ ํจ๊ป ์ฌ์ฉํ๋ AC68U