๐ ์ ์ก ๊ณ์ธต
์ ์ก ๊ณ์ธต(Transport Layer)์ ์ก์ ์์ ์์ ์๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ณ์ธต์ผ๋ก, ๋ํ์ ์ผ๋ก TCP์ UDP๊ฐ ์๋ค.
TCP๋ ํจํท ์ฌ์ด์ ์์๋ฅผ ๋ณด์ฅํ๋ค. ๋ํ, ์ฐ๊ฒฐ ์งํฅ ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ์ ๋ขฐ์ฑ์ ๊ตฌ์ถํด์ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉฐ '๊ฐ์ ํ์ ํจํท ๊ตํ ๋ฐฉ์'์ ์ฌ์ฉํ๋ค.
๋ฐ๋ฉด UDP๋ ํจํท ์ฌ์ด์ ์์๋ฅผ ๋ณด์ฅํ์ง ์๊ณ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์์ผ๋ฉฐ ๋จ์ํ ๋ฐ์ดํฐ๋ง ์ฃผ๋ '๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์'์ ์ฌ์ฉํ๋ค.
๐ฏ ๊ฐ์ํ์ ํจํท ๊ตํ ๋ฐฉ์
๊ฐ์ ํ์ ์๋ณ์๊ฐ ํฌํจ๋๋ฉฐ ๋ชจ๋ ํจํท์ ์ ์กํ๋ฉด ๊ฐ์ ํ์ ์ด ํด์ ๋๊ณ ํจํท๋ค์ ์ ์ก๋ ์์๋๋ก ๋์ฐฉํ๋ ๋ฐฉ์์ด๋ค.
๐ฆ ๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์
๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์์ ํจํท์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ด๋ํ๋ฉฐ, ๊ฐ๊ฐ์ ํจํท์ด ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ์ฌ ์ด๋ํ๋ ๋ฐฉ์์ด๋ค. ๋ฐ๋ผ์ ํจํท์ด ๋์ฐฉํ ์์๊ฐ ๋ฌ๋ผ์ง ์ ์๋ค.
๐ UDP(User Datagram Protocol): ๋น์ฐ๊ฒฐํ
UDP๋ ํธ๋์คํฌํธ ๊ณ์ธต ํ๋กํ ์ฝ์ด ํ ์ ์๋ ์ต์ ๊ธฐ๋ฅ์ผ๋ก ๋์ํ๋ค. ๋ค์คํ/์ญ๋ค์คํ์ ๊ฐ๋จํ ์ค๋ฅ ๊ฒ์ฌ ๊ธฐ๋ฅ๋ง ์ ๊ณตํ ๋ฟ, UDP๋ ํ๋ฆ ์ ์ด, ์ค๋ฅ์ ์ด ๋๋ ์์๋ ์ธ๊ทธ๋จผํธ์ ์์ ์ ๋ํ ์ฌ์ ์ก์ ํ์ง ์๋๋ค.
๋ํ, UDP๋ ์ธ๊ทธ๋จผํธ๋ฅผ ์ก์ ํ๊ธฐ ์ ์ ํธ๋์ ฐ์ดํฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ด ์๋ค. ๋๋๋ก ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ๋งค์ฐ ๊ฐ๋จํ ์์ฒญ์ ๋ณด๋ด๊ณ , ๋น ๋ฅธ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ธฐ์ ์ด๋ฐ ๊ฒฝ์ฐ๋ UDP๊ฐ ์ ํฉํ๋ค. ํ์ง๋ง ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ๋ชปํ๋ค๋ ๋จ์ ์ด ์๋ค.
๐ TCP(Transmission Control Protocol): ์ฐ๊ฒฐ ์งํฅํ
์์์ ๋งํ ๊ฒ์ฒ๋ผ UDP๋ ๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ ์ก ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค. ๋จผ์ ๋ณด๋ธ ๊ฒ ์ ์ผ ๋ง์ง๋ง์ ๋์ฐฉํ ์๋ ์๊ณ ๋ค์ฃฝ๋ฐ์ฃฝ ๋ ์ ์๋ค.
ํ์ง๋ง ๋ง์ ์ธํฐ๋ท ๋ถ์ผ์์๋ ๋ฐ์ดํฐ์ ์์ฐจ์ ๋ฌ๊ณผ ์ ๋ขฐ์ฑ์ ์๊ตฌํ๊ธฐ ๋๋ฌธ์ TCP๊ฐ ๋ฑ์ฅํ๊ฒ ๋์๋ค.
TCP ์๋น์ค๋ ์ก์ ์์ ์์ ์ ๋ชจ๋๊ฐ ์์ผ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ข ๋จ์ ์ ์์ฑํจ์ผ๋ก์จ ์ด๋ฃจ์ด์ง๋ค. TCP๋ 3-way hankshake๋ฅผ ํตํด ์ ๋ขฐ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ์ ์์ ํ๊ฒ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ ์งํฅํ์ด๋ค.
TCP ์ฐ๊ฒฐ์ ์ ์ด์ค(full-duplex) ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. A๊ฐ B์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋์์ B๊ฐ A์๊ฒ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ก ์ฆ, A๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋์์ ์์ ํ ์ ์๋ ๊ฒ์ด๋ค.
๋ํ, TCP ์ฐ๊ฒฐ์ ํญ์ ๋จ์ผ ์ก์ ์์ ๋จ์ผ ์์ ์ ์ฌ์ด์ ์ ๋์ (point-to-point) ๋ฐฉ์์ด๋ค. A๊ฐ B์ C์๊ฒ ๋์์ ์ฐ๊ฒฐ์ ์ค์ ํ ์ ์๋ ๊ฒ์ด๋ค.
๐คทโ๏ธ ํญ์ TCP๊ฐ UDP ๋ณด๋ค ๋ ์ข์๊น?
TCP๋ 3-handshaking์ ํตํด ์ ๋ขฐ์ ์ธ ๋ฐ์ดํฐ ์ ์ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. UDP๋ ๊ทธ๋ ์ง ๋ชปํ๋๊น ํญ์ TCP๊ฐ ๋ ์ข์ ๊ฑฐ ์๋๊ฐ?๋ผ๊ณ ์๊ฐํ ์ ์์ง๋ง ์ ๋ต์ ์๋๋ค. ์ค์ ๋ก ๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ TCP๋ณด๋ค UDP์ ๋ ์ ํฉํ๋ฐ ๊ทธ ์ด์ ๋ ์๋์ ๊ฐ๋ค.
1. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ด
์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋๋ก ์ต์ ์ ์ก๋ฅ ์ ์๊ตฌํ๊ณ , ๊ณผ๋ํ๊ฒ ์ง์ฐ๋๋ ์ธ๊ทธ๋จผํธ ์ ์ก์ ์ํ์ง ์์ผ๋ฉฐ, ์กฐ๊ธ์ ๋ฐ์ดํฐ ์์ค ์ ๋๋ ํ์ฉํ ์๋ ์๋ค. ๋๋ฌธ์ ํผ์ก ์ ์ด ๋ฉ์ปค๋์ฆ์ ๊ฐ์ง TCP์๋ ์ ํฉํ์ง ์๋ค. ๋์ UDP๋ฅผ ์ฌ์ฉํ๋ฉด์ UDP๊ฐ ์ ๊ณตํ์ง ์๋ ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ถ๊ฐ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ ์ ์๋ค.
2. ์ฐ๊ฒฐ ์ค์ ์ด ์๋ค.
TCP๋ ์ ๋ขฐ์ ์ธ ๋ฐ์ดํฐ ์ ์ก์ ์ํด 3-way handshaking์ ์ฌ์ฉํ๋ค. ๋ฐ๋ฉด์ UDP๋ ์ด๋ฌํ ๊ณผ์ ์์ด ๋ฐ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๋ค. ๋ฐ๋ผ์ UDP๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ด์ ์ ์ด๋ ํ ์ค๋น๊ณผ์ ๋ ์๊ธฐ ๋๋ฌธ์ ๊ต์ฅํ ๋น ๋ฅด๋ค.
3. ์ฐ๊ฒฐ ์ํ๊ฐ ์๋ค.
์ฐ๊ฒฐ ์ํ๊ฐ ์๋ค๋ ๊ฒ์ ๊ณต๊ฐ์ ๋ง์ด ์ฐจ์งํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
TCP์ ๊ฒฝ์ฐ ์ข ๋จ ์์คํ ์์ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํด์ผ ํ๊ณ , ์ด ๋ง์ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ด ํ์ํ๋ค๋ ๊ฒ์ด๋ค. ์์ ๋ฒํผ, ์ก์ ๋ฒํผ, ํผ์ก ์ ์ด ํ๋ผ๋ฏธํฐ... ๋ฑ๋ฑ TCP๋ ์ ์ฅํด์ผ ํ ์ ๋ณด๊ฐ ๊ต์ฅํ ๋ง๋ค.
๋ฐ๋ฉด์ UDP๋ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํ์ง ์๊ณ ๋ฐ๋ผ์ ์ด๋ ํ ์ ๋ณด๋ ๊ธฐ๋กํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐ์ ๋ ์ฐจ์งํ๊ณ , ๋์ฑ ๋ง์ ํด๋ผ์ด์ธํธ๋ฅผ ์์ฉํ ์ ์๋ค.
4. ์์ ํจํท ํค๋ ์ค๋ฒํค๋
TCP๋ ์ ์ฅํด์ผ ํ ์ ๋ณด๊ฐ ๋ง์ ๋งํผ ํค๋์ ํฌ๊ธฐ๊ฐ ์ต์ 20๋ฐ์ดํธ์ด๋ค. ๋ฐ๋ฉด์ UDP๋ TCP๋ณด๋ค 12๋ฐ์ดํธ๋ ์ ์ 8๋ฐ์ดํธ์ ํค๋๋ฅผ ๊ฐ๊ณ ์๋ค.
โก๏ธ ํ๋์ ๋น๊ตํ๋ TCP vs UDP
๐ References
๐ ์ปดํจํฐ ๋คํธ์ํน ํํฅ์ ์ ๊ทผ
'CS > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DNS Round Robin (0) | 2022.10.24 |
---|---|
DNS (0) | 2022.10.24 |
HTTP vs HTTPS (1) | 2022.10.08 |
TCP 3-way handshaking & 4-way handshaking (0) | 2022.10.08 |
HTTP GET vs POST (0) | 2022.10.08 |