Acknowledgments (ACKs)

ACK(๊ธ์ •์  ํ™•์ธ)์™€ NACK(๋ถ€์ •์  ํ™•์ธ): ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์˜ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ ๊ธฐ์ˆ 

๋„คํŠธ์›Œํฌ ํ†ต์‹ ์—์„œ ACK(Acknowledgment) ์‹ ํ˜ธ๋Š” ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ด ์‹ ํ˜ธ๋Š” ํฌ๊ฒŒ ๊ธ์ •์  ํ™•์ธ(Positive ACK)๊ณผ ๋ถ€์ •์  ํ™•์ธ(Negative ACK) ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.


1. ๊ธ์ •์  ํ™•์ธ (ACKs)

๊ธ์ •์  ํ™•์ธ์€ ์ˆ˜์‹ ์ž๊ฐ€ ์†ก์‹ ์ž์—๊ฒŒ ๋ฐ์ดํ„ฐ ํŒจํ‚ท์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ž˜ ๋ฐ›์•˜๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ธ์ •์  ์‘๋‹ต์ž…๋‹ˆ๋‹ค. ์†ก์‹ ์ž๋Š” ACK๋ฅผ ๋ฐ›์ง€ ๋ชปํ•˜๋ฉด ํŒจํ‚ท์„ ์žฌ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ TCP์™€ ๊ฐ™์€ ์ผ๋Œ€์ผ(Unicast) ํ†ต์‹ ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

1.1 ์ง€์—ฐ ACK (Delayed ACKs)

์ˆ˜์‹ ์ž๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•ด ์ฆ‰์‹œ ACK๋ฅผ ๋ณด๋‚ผ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ACK๋ฅผ ์ž ์‹œ ์ง€์—ฐ์‹œ์ผฐ๋‹ค๊ฐ€ ๋‹ค์Œ์— ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ์— ACK๋ฅผ ํ•จ๊ป˜ ์‹ค์–ด ๋ณด๋‚ด๋Š” ๊ฒƒ์„ **ํ”ผ๊ธฐ๋ฐฑ(piggybacking)**์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ถˆํ•„์š”ํ•œ ํŒจํ‚ท ์ˆ˜๋ฅผ ์ค„์—ฌ ๋„คํŠธ์›Œํฌ ํšจ์œจ์„ ๋†’์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ…”๋„ท(Telnet)์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์„œ๋ฒ„๋Š” ACK๋ฅผ ๋ฐ”๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ , ํ‚ค ์ž…๋ ฅ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ณด๋‚ผ ๋•Œ ACK๋ฅผ ํ•จ๊ป˜ ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.

1.2 ๋ˆ„์  ACK (Cumulative ACKs)

TCP์˜ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ํ”„๋กœํ† ์ฝœ ๋•๋ถ„์— ์†ก์‹ ์ž๋Š” ์—ฌ๋Ÿฌ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์—ฐ์†์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ์ด ์—ฌ๋Ÿฌ ์„ธ๊ทธ๋จผํŠธ๋“ค์— ๋Œ€ํ•ด ํ•˜๋‚˜์˜ ๋ˆ„์  ACK๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ฐ›์€ ํ›„ ๋งˆ์ง€๋ง‰ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ACK๋งŒ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ด๋Š” FTP์ฒ˜๋Ÿผ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

1.3 ์„ ํƒ์  ACK (Selective ACKs, SACKs)

๋ˆ„์  ACK๋Š” ์ค‘๊ฐ„์— ํŒจํ‚ท์ด ์œ ์‹ค๋˜๋ฉด ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ ์ค‘ 3๋ฒˆ๋งŒ ์œ ์‹ค๋˜๋ฉด, ์ˆ˜์‹ ์ž๋Š” 1, 2๋ฒˆ๊นŒ์ง€ ๋ฐ›์•˜๋‹ค๊ณ  ์•Œ๋ฆฌ๊ณ , ์†ก์‹ ์ž๋Š” ์œ ์‹ค๋œ 3๋ฒˆ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ทธ ์ดํ›„์˜ 4~10๋ฒˆ ํŒจํ‚ท๊นŒ์ง€ ๋ชจ๋‘ ์žฌ์ „์†กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. SACKs๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ์œ ์‹ค๋œ ํŒจํ‚ท ์™ธ์— ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹ ํ•œ ๋‹ค๋ฅธ ํŒจํ‚ท๋“ค์˜ ๋ฒ”์œ„๋ฅผ ์†ก์‹ ์ž์—๊ฒŒ ์•Œ๋ ค์ฃผ์–ด, ์†ก์‹ ์ž๋Š” ์œ ์‹ค๋œ ํŒจํ‚ท๋งŒ ์žฌ์ „์†กํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


2. ๋ถ€์ •์  ํ™•์ธ (NACKs)

**๋ถ€์ •์  ํ™•์ธ(NACK)**์€ ์ˆ˜์‹ ์ž๊ฐ€ ํŒจํ‚ท์ด ์œ ์‹ค๋˜์—ˆ์Œ์„ ๊ฐ์ง€ํ–ˆ์„ ๋•Œ ์†ก์‹ ์ž์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ์‹ ํ˜ธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•œ ์†ก์‹ ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์ˆ˜์‹ ์ž์—๊ฒŒ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ์บ์ŠคํŠธ์—์„œ ๋ชจ๋“  ์ˆ˜์‹ ์ž๊ฐ€ ACK๋ฅผ ๋ณด๋‚ด๋ฉด, ์†ก์‹ ์ž๋Š” ์ˆ˜๋งŽ์€ ACK์— ์••๋„๋˜๋Š” ACK ์ž„ํ”Œ๋กœ์ „(Implosion) ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. NACK๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜์‹ ์ž๋Š” ์˜ค์ง ํŒจํ‚ท์ด ์œ ์‹ค๋˜์—ˆ์„ ๋•Œ๋งŒ NACK๋ฅผ ๋ณด๋‚ด๋ฏ€๋กœ, ๋ถˆํ•„์š”ํ•œ ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ž…๋‹ˆ๋‹ค. NACK๋ฅผ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ๋กœ ๋ณด๋‚ด๋ฉด, ๋‹ค๋ฅธ ์ˆ˜์‹ ์ž๋“ค๋„ ์žฌ์ „์†ก์ด ์‹œ์ž‘๋  ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์–ด ์ค‘๋ณต๋œ NACK๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NACK ์ „์†ก ์ „ ๋ฌด์ž‘์œ„ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋‘๋Š” ๊ฒƒ๋„ NACK ์ž„ํ”Œ๋กœ์ „ ๋ฐฉ์ง€์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Last updated