ํผ์ก ์ ์ด Congestion Control
Congestion ํผ์ก ์ด๋, ๋คํธ์ํฌ๊ฐ ๊ฐ๋นํ ์ ์๋ ์ ๋ณด๋ค ๋ง์ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๊ณ ์์๋๋ฅผ ์๋ฏธํ๋ค.
๊ตฌ์ฒด์ ์ผ๋ก ๋คํธ์ํฌ ๊ฒฝ๋ก์์ ๋ผ์ฐํฐ๋ ์ค์์น ๊ฐ์ ์ค๊ฐ ์ฅ๋น๋ค(์ฝ์ด)์ด ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ์ ์ ๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ๋ชฐ๋ ค๋ค ๋ ๋ฐ์ํ๋ค.
ํผ์ก์ ํน์ง๊ณผ ์ ์ํ
ํผ์ก ์ํฉ์ ๊ฐ์ฅ ํฐ ํน์ง์ ์ ์ํ์ ์ผ๊ธฐํ๋ค๋ ๊ฒ์ด๋ค. ํผ์ก์ด ๋ฐ์ํ๋ฉด ๋ผ์ฐํฐ์ ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐจ์ ํจํท์ด ์ ์ค๋๊ณ , ์ด๋ก ์ธํด ์ฌ์ ์ก์ด ํ์ํ๊ฒ ๋์ด ๋คํธ์ํฌ ์์์ ์ถ๊ฐ๋ก ์๋ชจํ๋ค. ์ฌ์ ์ก ๊ณผ์ ์์ฒด๊ฐ ๋ค์ ํผ์ก์ ์ผ๊ธฐํ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๋ฉฐ, ์ ์ค๋ ๋ฐ์ดํฐ๋ค์ ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋ ๋คํธ์ํฌ ์์๋ค(๋์ญํญ, ์ ๋ ฅ ๋ฑ)์ ๋ฌด์๋ฏธํ๊ฒ ๋ญ๋น๋๋ค.
vs Flow Control
์ ๋ฒ์๊ฐ์ ๋ฐฐ์ ๋ flow control์ ์ก์ ์์ ์์ ์(์ฃ์ง) ์ฌ์ด์์ ๋ฐ์ํ๋ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด์๋ค๋ฉด congestion control์ ๋คํธ์ํฌ ์ ์ฒด(์ฝ์ด)์ ์ฉ๋ ํ๊ณ์ ๊ดํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ก์ ์๋์ฐ
์ง๋ ์๊ฐ์ ์ก์ ๋ฒํผ์ ์๋์ฐ ์ฌ์ด์ฆ๋ฅผ ๊ฒฐ์ ํ๋ ์์ธ์ด ์์ ์ ์ธก์ ์์ ๋ฒํผ ์ํ(์์ ์๋์ฐ rwnd)๋ผ๊ณ ๋ฐฐ์ ๋๋ฐ, ์ฌ์ค ํ๊ฐ์ง ์์ธ์ด ๋ ์๋ค. ํผ์ก ์๋์ฐ Congestion Window(cwnd) ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋คํธ์ํฌ ์ํฉ์ ๋ฐ์ํ๋ ์์น์ด๋ค. ์ก์ ์๋์ฐ๋ rwnd์ cwnd์ค ์์๊ฒ์ผ๋ก ๊ฒฐ์ ๋๋ค.
ํผ์ก ์๋์ฐ ์ธก์
๊ทธ๋ผ ์ด๋ป๊ฒ cwnd๋ฅผ ์ธก์ ํ ๊น?
๊ธฐ๋ณธ์ ์ผ๋ก TCP๋ ํจํท ์ ์ค์ ๊ณง ๋คํธ์ํฌ ํผ์ก๋๋ฅผ ์๋ฏธํ๋ค๊ณ ๊ฐ์ ํ๋ค.
ํจํท ์ ์ค์ ์ ์ ์๋ ๋ฐฉ๋ฒ์ ์ผ๋จ ํ์์์์ด ์๊ณ ๊ทธ๋ฆฌ๊ณ ์ ๋ฒ ์๊ฐ์ ๋ดค๋ ์ค๋ณต ACK๊ฐ ์๋ค.
๋ณต์ต : ์ค๋ณต ACK๋? ์ก์ ์๋ ์์ ์๋ก๋ถํฐ ๊ฐ์ ๋ฒํธ์ ACK๋ฅผ ์ค๋ณต์ผ๋ก 3๋ฒ ๋ฐ๊ฒ ๋๋ฉด ํด๋น ์ธ๊ทธ๋จผํธ๋ง์ ๋ค์ ๋ณด๋ธ๋ค.
๊ทธ๋ฐ๋ฐ TCP๋ ๋ ๊ฒฝ์ฐ๋ฅผ ๋ค๋ฅด๊ฒ ์ทจ๊ธํ๋๋ฐ, ์ผ๋จ cwnd๋ ํจํท ์ ์ค์ด ์๋ค๋ฉด ์ ์ง์ ์ผ๋ก ๋์ด๋๋ค.
๊ทธ๋ฌ๋ค๊ฐ ์ค๋ณต ACK๋ฅผ ๊ฐ์งํ๋ฉด cwnd๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ธ๋ค.
ํ์ง๋ง ํ์์์ ๋ฐ์์์๋ cwnd๋ฅผ 1๋ก ๋ฆฌ์
ํ๋ค.
์ด๋ ๋ณดํต ํ์์์์ด ๋คํธ์ํฌ์ ํผ์ก์ด ์ฌ๊ฐํ ๋ ๋ฐ์ํ๋ค๋ ์๋ฏธ์ผ ๊ฒ์ด๋ค.
UDP์ ๊ฒฝ์ฐ
๋ฐ๋ฉด UDP ํต์ ์์๋ ์ด ๋ชจ๋ ๊ฒ์ ์ก์ ์์ ํ๋ก์ธ์ค์ ์๋๋ง ๊ฐ์ง๊ณ ๊ฒฐ์ ํ๋ค. TCP์ ๋ฐ์ดํฐ ์ ์ก๋(์ฐ๋ฃจํ throughput)์ ๋คํธ์ํฌ ์ํฉ๊ณผ ์์ ์์ ์ํ๋ฅผ ๋ฐ์ํ์ฌ ๊ฒฐ์ ๋๋๊ฒ์ ๋ฐํด UDP๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ ์๋์ ์ํด ๊ฒฐ์ ๋๋ค.