Computer network 13
13์ฅ ๋คํธ์ํฌ ํผ์ก ์ ์ด ์์ ์ ๋ฆฌ
13.1 ํผ์ก์ ํจ๊ณผ
ํผ์ก(Congestion)์ ์ ์
- ํผ์ก: ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ํจํท์ ์๊ฐ ๋คํธ์ํฌ์ ์ฒ๋ฆฌ ์ฉ๋์ ๋๋ฌํ๊ธฐ ์์ํ๋ฉด ๋ฐ์
- ํผ์ก ์ ์ด(congestion control)์ ๋ชฉ์ : Network ์์ packet์ ์๋ฅผ ์ผ์ ํ ๊ฐ์ ์ดํ๋ก ์ ์งํ์ฌ network์ ์ฑ๋ฅ์ด ๊ธ๊ฒฉํ ๋จ์ด์ง์ง ์๋๋ก ํ๋ ๊ฒ
ํผ์ก ์ ์ด๋ฅผ ํ์ง ์์ ๊ฒฝ์ฐ์ ๋ฌธ์ ์
๊ฒฝํ์ ์ผ๋ก queue์ ๊ธธ์ด๊ฐ 80% ์ด์ ์ฐจ๋ฉด:
- queue์ ๊ธธ์ด๋ ๋น ๋ฅธ ์๋๋ก ์ฆ๊ฐ
- average packet delay๊ฐ ๋ฌดํ๋๋ก ์ฆ๊ฐ
- ์ฒ๋ฆฌ์(Throughput)์ โ0โ์ผ๋ก ๋จ์ด์ง๋ค
๋ฐ์ดํฐ ๋คํธ์ํฌ์ ํน์ง
- ๊ธฐ๋ณธ์ ์ผ๋ก ํ(queue)๋ก ์ด๋ฃจ์ด์ง ๋คํธ์ํฌ
- ๋ ธ๋์๋ ๊ฐ๊ฐ์ ์ถ๋ ฅ ์ฑ๋์ ๋ํ์ฌ ํจํท ํ๊ฐ ์๋ค
- node๋ ๊ฐ link๋ง๋ค:
- ๋์ฐฉํ๋ packet์ ์ํ buffer (input buffer)
- ์ถ๋ ฅ์ ๊ธฐ๋ค๋ฆฌ๋ packet์ ์ํ buffer (output buffer)
- ๋ ๊ฐ์ ํฉ์ ์ผ์ ํ๋ค
ํจํท ์ฒ๋ฆฌ ๊ณผ์
- packet์ด ๋์ฐฉํ๋ฉด ํด๋น link์ input buffer์ ์ ์ฅ
- ๊ฒฝ๋ก๊ฒฐ์ ์ ํ ํ ํด๋นํ๋ output buffer๋ก ์ฎ๊ฒจ์ง
- ๋ฒํผ ํฌํ ์กฐ๊ฑด:
- input buffer์์ node๊ฐ ๊ฒฝ๋ก๊ฒฐ์ ํ๋ ์๋๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ packet์ด ๋์ฐฉํ๊ฑฐ๋
- output buffer์์ packet์ด ๋ ๋๋ ์๋๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ packet์ด ๋์ฐฉํ๋ฉด
- node์ ํน์ link์ buffer๋ ํฌํ๋ ์ ์๋ค
ํผ์ก ์ ์ด์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
1) Input packet์ ๋ฒ๋ฆฐ๋ค
- Output link์ ์ฌ์ฉ๋๋ buffer์ ์๋ฅผ ์ ํ
- buffer๊ฐ ์ฐจ๋ฉด, ๊ทธ output link๋ก ๋๊ฐ์ผ ๋ packet์ ๋ฒ๋ฆฐ๋ค
2) Flow control์ ํ์ฌ
- node๊ฐ ์ด์ node์ ๋ํด flow control์ ํ์ฌํด์ ํ ์ง์ ์์์ ๊ณผ์๋ฐ์ง์ด network ์ ์ฒด์ ํผ์ง๋๋ก ํ๋ค
- ๋ ธ๋ 6์ด ๋ ธ๋ 5์ ๋ํด์ ํจํท ํ๋ฆ์ ์ ์ดํ๋ฉด ๋ ธ๋ 6์ ํฅํ๋ ๋ ธ๋ 5์ ํ์๋ ํจํท์ด ์์ผ ๊ฒ์ด๋ค
- ๋คํธ์ํฌ ์์ ํ ์ง์ ์ ํผ์ก(Congestion)์ ์ ์ฒด ๋คํธ์ํฌ ๋๋ ๊ตฌ์ญ์ผ๋ก ์ ํ๋ ๊ฒ์ด๋ค
- ํ๋ฆ ์ ์ด๋ ๊ฐ๋ ฅํ ์๋จ์ผ๋ก์ ์ ์ฒด ๋คํธ์ํฌ์ ํธ๋ํฝ์ ๊ด๋ฆฌํ๋ ์๋จ์ผ๋ก ์ฌ์ฉ๋๋ค
13.1.1 ์ด์์ ์ธ ์ฑ๋ฅ
์ฒซ ๋ฒ์งธ ๊ทธ๋ํ (Throughput vs Load)
- ์ก์ ์(source end)๊ฐ ์ ์กํ ๋คํธ์ํฌ ์ ๋ ฅ ๋ก๋(offered load)์ ๋ํด์ ๋คํธ์ํฌ๋ฅผ ํตํ์ฌ ๋ชฉ์ ์ง(destination end)์ ์ ๋ฌ๋ ํจํท์ ์๋ก์ Steady-state total throughput(์ ์ ์ํ์ผ ๋)
- Maximum theoretical throughput์ ๋ํด์ ์ ๊ทํ(normalized)ํ๋ค
- ์ด๋ก ์ ์ผ๋ก: Offered load๋ฅผ ๋คํธ์ํฌ ์ฉ๋์ ์ต๋์น๋งํผ ์ฆ๊ฐ์ํค๋ฉด ๋คํธ์ํฌ์ throughput์ ์ฆ๊ฐํ๋ค
- Input load๋ฅผ ๋คํธ์ํฌ ์ฉ๋์ ์ต๋์น ์ด์ ์ฌ๋ ค๋ normalized throughput์ โ1โ๋ก ๋จ์ ์๋ค
๋ ๋ฒ์งธ ๊ทธ๋ํ (Delay vs Load)
- ์ด์์ ์ธ ๊ฒฝ์ฐ์ ํ๊ท ์ ์ธ ํจํท์ end-to-end delay
- Load๊ฐ ์ ์ ๊ฒฝ์ฐ: delay๋ source์์ destination์ผ๋ก ๊ฐ๋ propagation delay์ ๋ ธ๋์์์ processing delay์ ํฉ์ผ๋ก ๊ตฌ์ฑ
- Load๊ฐ ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ: ๋ ธ๋์์ queueing delay๊ฐ ์ถ๊ฐ์ ์ผ๋ก ๋ํด์ง๋ค
- Load๊ฐ ๋คํธ์ํฌ ์ฉ๋์ ๋์ด์๋ฉด: ์ง์ฐ(delay)์ ๋ฌดํ๋๋ก ๋์ด๋๋ค
์ด์์ ์ธ ๊ฒฝ์ฐ์ ํน์ง
- ๋ฒํผ๊ฐ infinite ์ฌ์ด์ฆ๋ก ๊ฐ์ ํด๋ normalized throughput์ 1.0์ผ๋ก ์ ์ง
- ๋คํธ์ํฌ๋ฅผ ๋ ๋๋ ํจํท์ ๋น์จ์ โ1โ์ด๋ค
- ๋คํธ์ํฌ๋ก ๋ค์ด๊ฐ๋ ํจํท์ด โ1โ๋ณด๋ค ํฌ๋ฉด ๋ด๋ถ์ ์ธ ํ์ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐ
- ์ ์์ํ์์ ์ ๋ ฅ์ด ์ถ๋ ฅ๋ณด๋ค ํฌ๋ฉด queueing delay๋ ๋ฌดํ๋๋ก ๋์ด๋๋ค
์ธ ๋ฒ์งธ ๊ทธ๋ํ (Power)
- ํ์(power): ์ง์ฐ์ ๋ํ ์ฒ๋ฆฌ๋์ ๋น๋ก ์ ์๋๋ค (ratio of throughput to delay)
- Power = Normalized throughput/Delay
13.1.2 ์ค์ ์ฑ๋ฅ
์ด์์ ์ฑ๋ฅ๊ณผ์ ์ฐจ์ด์
๊ทธ๋ฆผ 13-3์ ๋ค์์ ๊ณ ๋ คํ์ง ์์๋ค:
- infinite buffer
- ํจํท ์ ์ก์ด๋ ํผ์ก์ ์ด ๊ฐ์ ์ค๋ฒํค๋
์ค์ ๋:
- ๋ฒํผ๋ ์ ํ๋์ด ์์ด์ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๊ฐ ์๊น
- ํผ์ก ์ ์ด๋ฅผ ์ํ ์ ์ด ํจํท์ด ๊ตํํ๋ฏ๋ก์ ๋คํธ์ํฌ ์ฉ๋์ด ๋ญ๋น๋จ
์ธ ์ง์ญ์ผ๋ก ๋ถ๋ฅ
1) No congestion (ํผ์ก ์์)
- Load๊ฐ ๊ฐ๋ฒผ์ธ ๋
- Offered load๊ฐ ์ฆ๊ฐํ๋ฉด throughput๋ ๋ฐ๋ผ์ ์ฆ๊ฐํ๋ค
2) Moderate Congestion (์ค๊ฐ ํผ์ก)
- Load๊ฐ ์ฆ๊ฐํ๋ฉด moderate congestion์ ๋๋ฌ
- ํน์ง: Throughput ์ฆ๊ฐํ๋ ์๋๊ฐ offered load๋ณด๋ค ๋ฆ๋ค (์ด์์ ์ธ ๊ฒฝ์ฐ์์ ๋ฉ์ด์ง)
๊ทธ ์ด์ ๋ค:
- load๊ฐ ๋คํธ์ํฌ์ ๊ณจ๊ณ ๋ฃจ ํผ์ง๋ ๊ฒ์ด ์๋๋ค
- ์ด๋ค ๋ ธ๋๋ moderate congestion์ ๊ฒฝํํ๊ณ ์ด๋ค ๋ ธ๋๋ severe congestion์ ๊ฒฝํํ๋ฉด์ ํจํท์ ๋ฒ๋ฆฌ๊ฒ ๋๋ค
- Load๊ฐ ์ฆ๊ฐํ๋ฉด์ ๋คํธ์ํฌ๋ ํจํท์ ํผ์ก์ด ์๋ ์ง์ญ์ผ๋ก ๋ณด๋ด์ ๋คํธ์ํฌ์ ๊ท ํ์ ์ก์ผ๋ ค ํ๋ค
- ๋ ธ๋ ์ฌ์ด์ ํผ์ก์ง์ญ์ ์๋ก ์๋ ค์ฃผ๊ธฐ ์ํด์ Routing message๊ฐ ๊ตํ์ด ๋๋ฉด์ overhead๊ฐ ๋ฐ์ํ๊ณ , ์ด overhead๊ฐ ๋ฐ์ดํฐ ํจํท์ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ ์ฉ๋(network capacity)์ ์ฌ์ฉํ๊ฒ ๋๋ค
3) Severe Congestion (์ฌ๊ฐํ ํผ์ก)
- Load๋ฅผ ๋ ์ฆ๊ฐ์ํค๋ฉด severe congestion์ ๋๋ฌ
- ํน์ง: Load๋ฅผ ์ฆ๊ฐ์ํค๋ฉด Throughput์ด ์คํ๋ ค ๊ฐ์ํ๋ค
๊ทธ ์ด์ ๋ค:
- ๋ ธ๋์ ๋ฒํผ ์ฌ์ด์ฆ๊ฐ ์ ํ๋์ด ์๊ธฐ ๋๋ฌธ
- ๋ ธ๋์ ๋ฒํผ๊ฐ ์ฐจ๋ฉด ๋ ธ๋๋ ํจํท์ ๋ฒ๋ฆฌ๊ธฐ ์์ํ๋ค
- ์์ค ๋ ธ๋๋ ์๋ก์ด ํจํท์ ์ ์กํ๋ ๋์ค์ ๋ฒ๋ ค์ง ํจํท์ ์ฌ์ ์กํด์ผ ํ๋ค
- ์ด๊ฒ์ด ์ํฉ์ ์ ํ์ํจ๋ค: ๋ง์ ํจํท์ด ์ฌ์ ์ก๋ ์๋ก ๋คํธ์ํฌ์ load๊ฐ ์ฆ๊ฐํ๊ณ ๋ฒํผ๊ฐ ํฌํ๋๋ค
- ์ฌ์ ์ก์ด ์ฑ๊ณตํ๋ค๊ณ ํ ์ง๋ผ๋ higher layer์์ (์: Transport layer) ACK(Acknowledgement packet)๋ฅผ ๋ฆ๊ฒ ์๋ตํด์ ์ก์ ์๋ ์ฌ์ ์ก์ด ์คํจํ๋ค๊ณ ๊ฐ์ ํ๊ณ ๋ ๋ค์ ์ฌ์ ์ก์ ํด์ผํ๋ค
- ๊ฒฐ๊ณผ: ์ด ์ํ์์ ์์คํ ์ throughput์ด โzeroโ๊ฐ ๋๋ค
13.2 ํผ์ก์ ์ด
13.2.1 ํ๋ฉด ์๋ฐ(Backpressure)
์ ์ ๋ฐ ๋์
- ํ๋ฉด ์๋ฐ์ ๋งํฌ๋ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์ํ(๊ฐ์ํ์ )์์ ์ฌ์ฉํ๋ค
- ๋ ธ๋ 6์ด ๋ฒํผ๊ฐ ์ฐจ์ ํผ์กํ๋ฉด ๋ ธ๋ 6์ ๋ ธ๋5๋ ๋ ธ๋ 3์์ ์ค๋ ํจํท์ ์ฒ์ฒํ ์ค๊ฒ ํ๊ฑฐ๋ ์ค๋จ์ํจ๋ค
- ๊ทธ๋ฌ๋ฉด ๋ ธ๋ 5๋ ๋ ธ๋ 3๋ ์์ ์๊ฒ ๋ค์ด์ค๋ ํธ๋ํฝ์ ์ค์ด๊ฑฐ๋ ์ ์ง์ํจ๋ค
- ์ด๋ฐ ํ๋ฆ์ด ์์ค๋ฅผ ํฅํ์ฌ (๋ฐ์ดํฐ ํธ๋ํฝ์ ํ๋ฆ์ ๊ฑฐ์ฌ๋ฌ์) ์ญ๋ฐฉํฅ์ผ๋ก ์ ํ๋๋ฉฐ ์์ค๋ ๋คํธ์ํฌ์ ์๋ก์ด ํจํท์ ๋ณด๋ด๋ ๊ฒ์ ๋ํ์ฌ ์ ์ฝ์ ๋ฐ๊ฒ ๋๋ค
ํ๋ฉด ์๋ฐ์ ์ ํ์
์ ์ฉ์ฑ์ด ์ ํ๋์ด ์๋ค:
- ํ ๋จ์์ ํ๋ฆ ์ ์ด๊ฐ ๊ฐ๋ฅํ ์ฐ๊ฒฐ ์์ฃผ์ ๋คํธ์ํฌ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ X.25 (X dot 25๋ก ์ฝ์ต๋๋ค) ๊ธฐ๋ฐ์ ํจํท ๊ตํ ๋คํธ์ํฌ๋ ์ด๋ฐ ๋ฐฉ๋ฒ์ ์ง์ํ๋ค
- ํ๋ ์ ๋ฆด๋ ์ด๋ ATM ๋คํธ์ํฌ์์๋ ํ ๋จ์์ ํ๋ฆ์ ์ ์ดํ๋ ๋ฅ๋ ฅ์ด ์๋ค
- IP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ธํฐ๋ท์ ๊ฒฝ์ฐ์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ์ ๋ผ์ฐํฐ์ ๋ผ์ฐํฐ ์ฌ์ด์์ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ท์ ํ๋ ๊ธฐ๋ฅ์ด ์๋ค
13.2.2 ์ดํฌ ํจํท(Choke Packet)
์ ์ ๋ฐ ๋์
- ์ดํฌ ํจํท(choke packet): ํธ๋ํฝ ํ๋ฆ์ ์ ํํ๊ธฐ ์ํ์ฌ โํผ์กํ ๋ ธ๋โ์์ ์์ฑ๋์ด โ์์ค ๋ ธ๋โ๋ก ์ญ์ผ๋ก ์ ์ก๋๋ค
์์ : ICMP Source Quench
- ์์ : ICMP(Internet Control Message Protocol)์ ์์ค ์ ์ง(Source Quench) ํจํท
- ๋ผ์ฐํฐ๋ ๋ชฉ์ ์ง ์์คํ ์ด ICMP Source Quench packet๋ฅผ ์์ค๋ก ๋ณด๋ผ ์ ์๊ณ ์์ค ๋ ธ๋์๊ฒ ๋ชฉ์ ์ง๋ก ๋ณด๋ด๋ ํธ๋ํฝ์ ์ค์ด๋๋ก ์๊ตฌํ๋ค
- ์์ค ์ ์ง ํจํท์ ๋ฐ์ ์์ค๋ ๋ค์์ ์์ค ์ ์ง ํจํท์ ๋ฐ์ ๋๊น์ง ํธ๋ํฝ ์ ์ก์ ์ค์ธ๋ค
์ฌ์ฉ ์์
- ๋ฒํผ๊ฐ ์ฐจ์ IP ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ฒ๋ ค์ผ ํ๋ ๋ผ์ฐํฐ๋ ํธ์คํธ๊ฐ ์์ค ์ ์ง ํจํท์ ์ฌ์ฉํ ์ ์๋ค
- ๋ํ ๋ฒํผ๊ฐ ์ผ์ ์ด์ ์ฐจ์ค๋ฅด๊ฒ ๋๋ฉด ํผ์ก์ ์์ํ์ฌ ์์ค ์ ์ง ํจํท์ ๋ณด๋ผ ์๋ ์๋ค
13.2.3 ์์์ ์ธ ํผ์ก ์ ์ด ์ ํธ(Implicit Congestion Signaling)
๋์ ์๋ฆฌ
- ๋คํธ์ํฌ๊ฐ ํผ์กํด์ง๋ฉด:
- ์์ค์์ ๋ชฉ์ ์ง๊น์ง ํจํท์ ์ ์ก ์๊ฐ์ด ์ฆ๊ฐ
- ํจํท๋ค์ด ๋ฒ๋ ค์ง๋ค
- ์์ค๊ฐ ์ง์ฐ์๊ฐ์ ์ฆ๊ฐ์ ํจํท์ด ๋ฒ๋ ค์ง๋ ๊ฒ์ ์๊ณ ํ๋ฆ์ ์ค์ธ๋ค๋ฉด ํผ์ก์ ์ค์ด๋ ๋ค
- ํน์ง: ์์์ ์ธ ์ ํธ๋ฅผ ๋ฐํ์ผ๋ก ํ ํผ์ก์ ์ด๋ ์ ์ข ๋จ ์์คํ ์ ์ฑ ์์ด๋ฉฐ ๋ ธ๋๋ ์๊ดํ์ง ์๋๋ค
์ ์ฉ ๋ถ์ผ
- ๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋คํธ์ํฌ๋ IP ๊ธฐ๋ฐ์ ์ธํฐ๋ท๊ฐ์ ๋น์ฐ๊ฒฐ ๋๋ ๋ฐ์ดํฐ๊ทธ๋จ ๋คํธ์ํฌ์์ ํจ๊ณผ์ ์ด๋ค
- IP ๋ ๋ฒจ์์๋ ํ๋ฆ์ ๊ท์ ํ๋ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์ด ์๋ค
TCP ๋ ๋ฒจ์์ ํผ์ก ์ ์ด
- TCP์ ์ธ๊ทธ๋ฉํธ๋ฅผ ๋ฐ์์ ๋์ ์ก์ ์ธก์ ์๋ ค์ฃผ๋ ๋ฉ์ปค๋์ฆ
- ์ง์ฐ์๊ฐ์ ์ฆ๊ฐ์ ์ธ๊ทธ๋ฉํธ์ ๋ถ์ค์ ๊ฐ์งํ๋ ๋ฅ๋ ฅ์ ๊ทผ๊ฑฐ
- TCP์ ์์ค์ ๋ชฉ์ ์ง ์ฌ์ด์ ๋ฐ์ดํฐ ํ๋ฆ์ ๊ท์ ํ๋ ๋ฉ์ปค๋์ฆ
- 17์ฅ์์ ๋ค๋ฃจ์ด์ง๋ค
13.2.4 ๋ช ์์ ์ธ ํผ์ก ์ ์ด (Explicit Congestion Signaling)
๊ธฐ๋ณธ ๊ฐ๋
- ๋คํธ์ํฌ์ ํผ์ก์ด ์ฆ๊ฐํ ๋์ ๊ทธ๊ฒ์ ์ข ๋จ ์์คํ ์ ๊ฒฝ๋ณด(alarm)ํ๋ฉด ์ข ๋จ ์์คํ ์ ๋คํธ์ํฌ์ ๋ํ ๋ถํ๋ฅผ ์ค์ด๋ ๋ฐฉ๋ฒ์ด๋ค
- ์ฐ๊ฒฐ ์์ฃผ(connection oriented)์ ๋คํธ์ํฌ์ ์ ์ฉ๋ ์ ์๊ณ ๊ฐ ์ฐ๊ฒฐ์์ ํจํท ํ๋ฆ์ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ดํ๊ฒ ๋๋ค
๋ช ์์ ํผ์ก ์๊ทธ๋๋ง์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
1) ์ญ๋ฐฉํฅ(Backward)
- ์์ค์๊ฒ ํต๋ณด๋ฅผ ์์ ํ ๋ฐฉํฅ์ ๋ฐ๋ ๋ฐฉํฅ ํธ๋ํฝ์ ๋ํด์ โํผ์ก ์ ์ดโํ ๊ฒ์ ํต๋ณดํ๋ค
- ๋ฐฉ๋ฒ:
- ์์ค๋ก ํฅํ๋ ํจํท์ ํค๋์ ํน์ ๋นํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ ํ์ํ๊ฑฐ๋
- ์์ค๋ก ๋ณ๋์ ํจํท์ ์ ์กํ์ฌ ํต๋ณดํ๋ค
2) ์๋ฐฉํฅ(Forward)
- ์ฌ์ฉ์์๊ฒ ํต๋ณด๋ฅผ ์์ ํ ๋ฐฉํฅ๊ณผ ๊ฐ์ ๋ฐฉํฅ ํธ๋ํฝ์ ๋ํด์ โํผ์ก ์ ์ดโํ ๊ฒ์ ํต๋ณดํ๋ค
- ๋ฐฉ๋ฒ:
- ์ฌ์ฉ์๋ก ํฅํ๋ ํจํท์ ํค๋์ ํน์ ๋นํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ ํ์ํ๊ฑฐ๋
- ์ฌ์ฉ์๋ก ๋ณ๋์ ํจํท์ ์ ์กํ์ฌ ํต๋ณดํ๋ค
- ์๋ฐฉํฅ ํต๋ณด๋ฅผ ๋ฐ์ ์ข
๋จ ์์คํ
์ ๋์:
- ํต๋ณด๋ฅผ ์์ค์๊ฒ ๋ค์ ๋ฐ๋ณตํ์ฌ ์ ์กํ๊ฑฐ๋ (Echo Back)
- ์๋ฐฉํฅ ํต๋ณด๋ฅผ ๋ฐ์ ์ข ๋จ ์์คํ ์ ์์ค์๊ฒ ํ๋ฆ ์ ์ด(Flow Control)๋ฅผ ํ์ฌํ ์ ์๋ค (TCP ๋ ๋ฒจ์์์ ํ๋ฆ ์ ์ด)
์ธ ๊ฐ์ง ๋ถ๋ฅ ๋ฐฉ๋ฒ
1) ์ด์ง(Binary)
- ํผ์กํ ๋ ธ๋๊ฐ ํจํท์ ์ ๋ฌ(forward)ํ ๋์ ํผ์ก์ ๋ํ๋ด๋ ๋นํธ๋ฅผ ์ค์ (set)ํ๋ค
- ์์ค๊ฐ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์์์ โํผ์ก์ ๋ํ๋ด๋ ๋นํธโ๊ฐ ์ค์ (Set)๋ ํจํท์ ๋ฐ์ผ๋ฉด ํธ๋ํฝ ํ๋ฆ์ ์ค์ผ ์ ์๋ค
2) ํฌ๋ ๋ง ๊ธฐ๋ฐ(Credit-based)
- ํฌ๋ ๋ง: ์์ค(๋ ธ๋)๊ฐ ๋ณด๋ผ ์ ์๋ ํจํท(๋๋ ์ฅํ )์ ์
- ํฌ๋ ๋ง์ ๋ค ์ฌ์ฉํ ์์ค๋ ๋จ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด ์ถ๊ฐ์ ํฌ๋ ๋ง์ ๋ฐ์์ผ ํ๋ค
3) ์ ์ก๋ฅ ๊ธฐ๋ฐ(Rate-based)
- ๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ์์ ์์ค์๊ฒ ๋ช ์์ ์ผ๋ก ๋ฐ์ดํฐ ์ ์ก๋ฅ ์ ์ ํ์ ์ค๋ค
- ํผ์ก์ด ์๊ธฐ๋ฉด ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์์ ์์์ ๋ ธ๋๊ฐ ์์ค์๊ฒ ๋ฐ์ดํฐ ์ ์ก๋ฅ ์ ๋ฎ์ถ๋๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค
13.4 ํจํท ๊ตํ ๋คํธ์ํฌ์ ํผ์ก์ ์ด
1) Choke packet ์ฌ์ฉ
- congested node๊ฐ ๋ชจ๋ ๋๋ ์ผ๋ถ์ source node๋ก choke packet์ ๋ณด๋ธ๋ค
- choke packet์ ๋ฐ์ source node๋ choke packet์ ๋ฐ์ ์ดํ ์ผ์ ์๊ฐ ๋์ packet์ ๋ณด๋ด๋ ์๋๋ฅผ x% ๊ฐ์์ํจ๋ค
- ์ผ์ ์๊ฐ์ด ์ง๋ ํ ๋ค์ choke packet์ ๋ฐ์ง ์์ผ๋ฉด ์๋์ ์๋๋ก packet์ ๋ณด๋ธ๋ค
- choke packet์ source node์ ์ ์ก ์๋๋ฅผ ๋๋ฆฌ๊ฒ ํ๊ฑฐ๋ ๋ฉ์ถ๊ฒ ํด์ network ์์ ์ ์ฒด packet์ ์๋ฅผ ์ ํํ๋ค
- ๋จ์ : congestion์ด ์๋ ๋์ ์ถ๊ฐ์ traffic์ด ์๊ธด๋ค
2) ๊ฒฝ๋ก ๋ฐฐ์ ์ ์์กด
- node๊ฐ ๋ค๋ฅธ node๋ค์๊ฒ link์ ์ง์ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ routing ๊ฒฐ์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค
- ์ด ์ ๋ณด๋ ์๋ก์ด packet์ ์์ฑ์จ์๋ ์ํฅ์ ๋ฏธ์น ์ ์๋ค
- ์ฌ์ฉ ์: ARPA Net์์ ์ฌ์ฉ
3) End-to-end probe packet ์ฌ์ฉ [Probe packet]
- sender๋ packet์ destination node๋ก ์ ์กํ๋ ๋์ค์ ๋ถ๊ท์นํ ๊ฐ๊ฒฉ์ผ๋ก (์: 50 msec ~150 msec) probe packet์ ๋ณด๋ธ๋ค
- Destination์ congestion์ด ์์ผ๋ฉด: ACK๋ฅผ ๋ณด๋ด๊ณ source๋ packet์ ๋ณด๋ด๋ ์๋๋ฅผ ์ฆ๊ฐ์ํจ๋ค
- Destination์ congestion์ด ์์ผ๋ฉด: probe packet์ ๋ฌด์ํ๊ณ (ACK๋ฅผ ๋ณด๋ด์ง ์๊ณ ), source (sender)๋ ๊ณ์ ๊ฐ์ ์๋๋ฅผ ์ ์ง
4) ํจํท์ ํผ์ก์ ๊ดํ ์ ๋ณด ์ถ๊ฐ
์ญ๋ฐฉํฅ ์ ๋ณด ์ถ๊ฐ
- Congestion์ ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก(source node ๋ฐฉํฅ์ผ๋ก) ๊ฐ๋ packet์ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
- ์์์ ๋ฐฐ์ด โ์ญ๋ฐฉํฅโ ๋ช ์ ํผ์ก ์ ์ด ์๊ทธ๋๋ง
- ์ฅ์ : ์ ์ด ์ ๋ณด๊ฐ ๋ ธ๋์ ๋นจ๋ฆฌ ๋๋ฌํ๋ค
- ๊ฒฐ๊ณผ: source node์์ ๋์ค๋ packet์ ํ๋ฆ์ ์ค์ธ๋ค
์๋ฐฉํฅ ์ ๋ณด ์ถ๊ฐ
- Congestion๊ณผ ๊ฐ์ ๋ฐฉํฅ์ผ๋ก ๊ฐ๋ packet์ โํผ์ก์ ๊ดํ ์ ๋ณดโ๋ฅผ ์ถ๊ฐ
- ์์์ ๋ฐฐ์ด โ์๋ฐฉํฅโ ๋ช ์ ํผ์ก ์ ์ด ์๊ทธ๋๋ง
- ๋์:
- destination node๊ฐ source node์๊ฒ ๋ถํ ์กฐ์ ์ ์์ฒญํ๊ฑฐ๋
- Destination ๋ ธ๋๊ฐ ์์ค ๋ ธ๋์ ํจํท์ ๋ณด๋ผ ๋์ (๋๋ ACK)๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์์ค ๋ ธ๋๋ก ๋๋์๊ฐ๊ฒ ํ๋ค
- ์ฌ์ฉ ์: SNA์์ ์ฌ์ฉ