UDP(User Datagram Protocol)๋ ๋ฐ์ดํฐ๋ฅผ ๋น์ฐ๊ฒฐ์ ์ด๊ณ ์ ์ํ๊ฒ ์ ์กํ๊ธฐ ์ํ ํ๋กํ ์ฝ์ ๋๋ค. UDP๋ ์ฐ๊ฒฐ ์ค์ ๊ณผ ์ข ๋ฃ ๊ณผ์ ์ด ์์ผ๋ฉฐ, ๋ฐ์ดํฐ ์ ์ก์ ์์์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ์ด๋ฌํ ํน์ฑ์ผ๋ก ์ธํด ๋จ์ํ๊ณ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ์ก์ ์ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋น์ฐ๊ฒฐ์ฑ: UDP๋ ์ฐ๊ฒฐ ์ค์ ์ ํ์๋ก ํ์ง ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด ์ฌ์ ์ ์ฐ๊ฒฐ์ ์ค์ ํ ํ์๊ฐ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ ์ ์ก ํ์ ์ฐ๊ฒฐ์ ์ข ๋ฃํ์ง ์์ต๋๋ค.
์ ์ํ ์ ์ก: UDP๋ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ ์ด ์๊ณ , ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์์ ๋ณด์ฅํ์ง ์์: UDP๋ ๋ฐ์ดํฐ ์ ์ก ์์๋ฅผ ๋ณด์ฅํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ํจํท์ด ์์ ๋๋ ์์๋๋ก ์ฒ๋ฆฌ๋์ง ์์ ์ ์์ต๋๋ค.
์ ๋ขฐ์ฑ ๋ถ์กฑ: UDP๋ ๋ฐ์ดํฐ ์ ์ก ์ค์ ๋ฐ์ํ๋ ํจํท ์์ค์ด๋ ์ค๋ฅ์ ๋ํ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
์์ ํค๋ ํฌ๊ธฐ: TCP์ ๋นํด UDP ํค๋ ํฌ๊ธฐ๊ฐ ์์์ ์ค๋ฒํค๋๊ฐ ์ ์ต๋๋ค.
UDP๋ ๋น์ฐ๊ฒฐํ ์๋น์ค์ด๊ธฐ ๋๋ฌธ์, ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ ํด์ ํ๋ ๊ณผ์ ์ด ์กด์ฌํ์ง ์์ต๋๋ค. ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํจ์๋ ํจํท์ ์์๋ฅผ ๋ถ์ฌํ์ฌ ์ฌ์กฐ๋ฆฝ์ ํ๊ฑฐ๋ ํ๋ฆ ์ ์ด ๋๋ ํผ์ก ์ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ๋ ์ฒ๋ฆฌํ์ง ์๊ธฐ์ TCP๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๋ฉฐ ๋คํธ์ํฌ ๋ถํ๊ฐ ์ ๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ ๋ขฐ์ฑ์๋ ๋ฐ์ดํฐ์ ์ ์ก์ ๋ณด์ฅํ์ง๋ ๋ชปํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ๋ขฐ์ฑ๋ณด๋ค๋ ์ฐ์์ฑ์ด ์ค์ํ ์๋น์ค ์๋ฅผ ๋ค๋ฉด ์ค์๊ฐ ์๋น์ค(streaming)์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
Source port : ์์ ํฌํธ
Destination port : ๋์ฐฉ์ง ํฌํธ
Length : ๊ธธ์ด
Checksum : ์ค๋ฅ ๊ฒ์ถ
DNS๋ ๋๋ฉ์ธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ๊ฑฐ๋, IP ์ฃผ์๋ฅผ ๋๋ฉ์ธ ์ด๋ฆ์ผ๋ก ๋ณํํ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ด๋ฉฐ, ์ธํฐ๋ท์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. DNS๋ UDP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.
DNS ํน์ง
๋น ๋ฅธ ์๋ต: DNS๋ ๋๋ฉ์ธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ๋ ๊ณผ์ ์์ ๋งค์ฐ ๋น ๋ฅธ ์๋ต์ด ํ์ํฉ๋๋ค. UDP์ ๋น์ฐ๊ฒฐ์ฑ๊ณผ ๋ฎ์ ์ค๋ฒํค๋๋ ์ด๋ฌํ ๋น ๋ฅธ ์๋ต์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋จ์ํ ์กฐํ: DNS ์กฐํ(Query)๋ ์ผ๋ฐ์ ์ผ๋ก ์์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ฐ๋จํ ์์ ์ ๋๋ค. TCP์ ๊ฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ ํ์๊ฐ ์์ผ๋ฉฐ, ์ด๋ฌํ ์์ ๋ฐ์ดํฐ ํจํท์ ๋น ๋ฅด๊ฒ ์ ์กํ๊ธฐ ์ํด UDP๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ง์ ๋์ ์์ฒญ: DNS ์๋ฒ๋ ๋ง์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋์์ ์กฐํ ์์ฒญ์ ๋ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. UDP๋ ์ฐ๊ฒฐ ์ค์ ๊ณผ ํด์ ์ ๋๋ ์๊ฐ์ด ์์ผ๋ฏ๋ก, ๋์ ์์ฒญ์ ๋ํ ์๋ต์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ TCP๊ฐ ์๋๋ผ UDP๋ก ๋์ํ ๊น?
1. TCP๊ฐ 3-way handshake๋ฅผ ์ฌ์ฉํ๋ ๋ฐ๋ฉด, UDP๋ connection ์ ์ ์งํ ํ์๊ฐ ์์.
2. DNS request๋ UDP segment์ ๊ผญ ๋ค์ด๊ฐ ์ ๋๋ก ์์. -> DNS query๋ single UDP request์ server๋ก๋ถํฐ์ single UDP reply๋ก ๊ตฌ์ฑ๋์ด ์์.
3. UDP๋ not reliable์ด๋, reliability๋ application layer์ ์ถ๊ฐ๋ ์ ์์. (Timeout ์ถ๊ฐ๋, resend ์์
์ ํตํด)