////
Search
Duplicate
๐Ÿšง

tcp, udp(์ •๋ฆฌ์ค‘)๐Ÿšง

TCP(Transmission Control Protocol)๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ธ ํ”„๋กœํ† ์ฝœ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. TCP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์ „์— ๋จผ์ € ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์„ '3-way handshaking'์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. 3-way handshaking์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค:

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYN(Synchronize) ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด ํŒจํ‚ท์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ , SYN ํŒจํ‚ท์— ๋Œ€ํ•œ ACK(Acknowledgment)๋ฅผ ๋ณด๋‚ด๊ณ , ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ค€๋น„๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ACK๋ฅผ ๋ฐ›์œผ๋ฉด, ๋‹ค์‹œ ACK๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ 3-way handshaking์ด ์™„๋ฃŒ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์—ฐ๊ฒฐ์ด ํ˜•์„ฑ๋ฉ๋‹ˆ๋‹ค. TCP๋Š” ์ดํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ณ , ์ˆ˜์‹  ํ™•์ธ ์‘๋‹ต(ACK)์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ณ  ์žฌ์ „์†ก์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, TCP๋Š” ํ๋ฆ„ ์ œ์–ด์™€ ํ˜ผ์žก ์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์†ก์ˆ˜์‹  ์†๋„๋ฅผ ์กฐ์ ˆํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ํ˜ผ์žก์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ ์ „๋‹ฌ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. TCP๋Š” ์ด๋ฉ”์ผ, ํŒŒ์ผ ์ „์†ก, ์›น ํŽ˜์ด์ง€ ๋กœ๋”ฉ๊ณผ ๊ฐ™์ด ์‹ ๋ขฐ์„ฑ์ด ์ค‘์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ฐ˜๋ฉด์— UDP(User Datagram Protocol)๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. UDP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ๋ณ„๋„์˜ ์—ฐ๊ฒฐ ์„ค์ • ๊ณผ์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉด ๊ทธ๋Œ€๋กœ ์ „์†ก๋˜๋ฉฐ, ์ˆ˜์‹  ํ™•์ธ ์‘๋‹ต์ด๋‚˜ ์žฌ์ „์†ก ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ UDP๋Š” ์‹ ์†ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ, ์˜จ๋ผ์ธ ๊ฒŒ์ž„ ๋“ฑ์—์„œ๋Š” ์†๋„๊ฐ€ ์ค‘์š”ํ•˜๋ฏ€๋กœ UDP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ UDP๋Š” ๋ฐ์ดํ„ฐ์˜ ์†์‹ค์ด๋‚˜ ์ค‘๋ณต ์ „์†ก์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์š”์•ฝํ•˜์ž๋ฉด, TCP๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ธ ํ”„๋กœํ† ์ฝœ๋กœ, 3-way handshaking์„ ํ†ตํ•ด ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์—ฐ๊ฒฐ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— UDP๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ• ์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ํŠน์„ฑ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์š”์•ฝ
TCP๋Š” ์—ฐ๊ฒฐ์ง€ํ–ฅ ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์ „์— ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ •์„ 3-way handshakeing ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค.
1.
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— SYN ํŒจํ‚ท์„ ๋ณด๋‚ธ๋‹ค.
2.
์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›๊ณ  ACK๋ฅผ ๋ณด๋‚ธ ํ›„ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ค€๋น„๋ฅผ ํ•œ๋‹ค.
3.
ํด๋ผ์ด์–ธํŠธ๋Š” ACK๋ฅผ ๋ฐ›์œผ๋ฉด ๋‹ค์‹œ ACK๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•œ๋‹ค.
TCP๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•  ๋•Œ ์“ฐ๊ณ  ์ˆ˜์‹  ํ™•์ธ ์‘๋‹ต์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค ์—ฌ๋ถ€๋ฅผ ํ™•์ธ ์žฌ์ „์†ก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
TCP๋Š” ํ๋ฆ„์ œ์–ด์™€ ํ˜ผ์žก์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์—ฌ ์†ก์ˆ˜์‹  ์†๋„๋ฅผ ์กฐ์ ˆํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ํ˜ผ์žก์„ ๋ฐฉ์ง€ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ •ํ™•ํ•œ ์ „๋‹ฌ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.
UDP๋Š” ๋น„ ์—ฐ๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ๊ณผ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋ณ„๋„์˜ ์—ฐ๊ฒฐ ์„ค์ •๊ณผ์ •์„ ํ•„์š”ํ•˜์ง€ ์•Š๋Š”๋‹ค. TCP์—์„œ ์ œ๊ณต๋˜๋Š” ์ˆ˜์‹ ํ™•์ธ ์‘๋‹ต์ด๋‚˜ ์žฌ์ „์†ก๊ธฐ๋Šฅ์ด ์—†์œผ๋ฏ€๋กœ ์‹ ์†ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๋ฐ์ดํ„ฐ ์†์‹ค์ด๋‚˜ ์ค‘๋ณต ์ „์†ก์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
tcp
udp
๋ณดํ˜ธ
๋น„๋ณดํ˜ธ
์—ฐ๊ฒฐ ์ง€ํ–ฅ
๋ฌด์—ฐ๊ฒฐ
๋Š๋ฆผ
๋น ๋ฆ„
์ „์†ก ๋ณด์žฅ
๋ณด์žฅํ•˜์ง€ ์•Š์Œ
์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์ด ์ค‘์š”ํ•œ ์•ฑ์—์„œ ์‚ฌ์šฉ๋จ
์‹ค์‹œ๊ฐ„ ์†ก์ถœ์—์„œ ์‚ฌ์šฉ๋จ
ํŒจํ‚ท ์žฌ์ •๋ ฌ ๋งค์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง
๊ฐ€์ง€์ง€ ์•Š์Œ
ํ๋ฆ„ ์ œ์–ด
๊ฐ€์ง€์ง€ ์•Š์Œ
์—๋Ÿฌ ์ฒดํ‚น
๊ฐ€์ง€์ง€ ์•Š์Œ
20byte์˜ ํ—ค๋”
8byte์˜ ํ—ค๋”
Acknowledgement mechanism
no acknowledgement
three-way handshake
๊ฐ€์ง€์ง€ ์•Š์Œ
DNS, HTTPS, FTP, SMTP
DNS, DHCP, TFTP, SNMP
tcp๋Š” three-way handshake๋กœ ์—ฐ๊ฒฐ์„ ๋งบ๊ณ  four-way handshake๋กœ ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค.
ํŒจํ‚ท์€ ํƒ๋ฐฐ๋ฐ•์Šค์™€ ๊ฐ™๋‹ค. ์ „์†ก์ด ๋ ๋•Œ๋Š” ์•„๋žซ๊ณ„์ธต์„ ์ง€๋‚˜๋ฉฐ ์บก์Šํ™”๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์ˆ˜์‹ ์ž ์ธก์—์„œ๋Š” ์•„๋žซ๊ณ„์ธต์—์„œ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๋””์บก์Šํ™”๊ฐ€ ์ผ์–ด๋‚œ๋‹ค.
ack1,2โ€ฆ๊ฐ€ ๊ฐ€๊ณ  ์ˆ˜์‹ ์ž์ธก์—์„œ ack3์„ ๋‚ ๋ฆผ ack3์„ ๋‹ฌ๋ผ๊ณ  ํ•˜๋Š”๊ฑด๋ฐ ack3์€ ์˜ค๊ธฐ์ „๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆผ ์ด๋•Œ ์†๋„์ง€์—ฐ์ด ๋ฐœ์ƒ๋จ (udp์™€ ์†๋„ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ์ด์œ )
window size : ์ˆ˜์‹ ์ธก์—์„œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์กฐ๋ฆฝํ•ด์„œ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ž„
์ˆ˜์‹ ์ธก์—์„œ ack3์„ ๋ณด๋‚ผ๋•Œ window size๋ฅผ ์ „์†กํ•จ
๊ฝ‰์ฐจ๋ฉด ack3์„ ์ „์†กํ•˜์ง€ ์•Š์Œ(์ „์†ก์ง€์—ฐ์ด ๋ฐœ์ƒ๋จ)