๐TCP & UDP
์ ์ก ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
๐TCP์ UDP์ ํ์๋ฐฐ๊ฒฝ
IP์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด ICMP์์ ์๋ ค์ฃผ์ง๋ง, ์๋ ค์ฃผ๊ธฐ๋ง ํ ๋ฟ ๋์ฒ๋ฅผ ๋ชปํ๊ธฐ ๋๋ฌธ์ IP๋ณด๋ค ์์์ ์ฒ๋ฆฌ ํ์
โ ์ด๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ํ๋กํ ์ฝ์ธ TCP์ UDP ํ์
IP์ ICMP
ICMP
- ์ธํฐ๋ท ์ ์ด ๋ฉ์ธ์ง ํ๋กํ ์ฝ
- ๋คํธ์ํฌ ๋ด ์ฅ์น๊ฐ ๋ฐ์ดํฐ ์ ์ก๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
IP(Internet Protocol)
ํจํท์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ ์ ๋ฌ- Host to Host(์ฅ์น to ์ฅ์น)๋ง์ ์ง์
๐ย IP์ ํ๊ณ ํ๋์ ์ฅ์น์์์ ์๋ง์ ํ๋ก๊ทธ๋จ๋ค์ด ํต์ ์ ํ ๊ฒฝ์ฐ์๋ IP๋ง์ผ๋ก๋ ํ๊ณ ์กด์ฌ โ ์ด๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํ์ฌ
ํฌํธ๋ฒํธ๊ฐ ํ์
๐๊ทธ๋ ๋ค๋ฉด TCP์ UDP๊ฐ ์ด๋ป๊ฒ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋๊ฐ?
TCP์ ๊ฒฝ์ฐ
- ๋ฐ์ดํฐ์ ๋ถ์ค, ์ค๋ณต, ์์๊ฐ ๋ค๋ฐ๋ ๋ฑ์ ์๋์ผ๋ก ๋ณด์ ํด์ค์ ์ก์์ ๋ฐ์ดํฐ์ ์ ํํ ์ ๋ฌ์ ํ ์ ์๋๋ก ํจ
UDP์ ๊ฒฝ์ฐ
- IP๊ฐ ์ ๊ณตํ๋ ์ ๋์ ์์ค๋ง์ ์ ๊ณต
- TCP์๋ ๋ค๋ฅด๊ฒ ์๋ฌ๊ฐ ๋ ์๋ ์๊ณ , ์ฌ์ ์ก์ด๋ ์์๊ฐ ๋ค๋ฐ๋ ์๋ ์์ด์ ์ด ๊ฒฝ์ฐ, ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฒ๋ฆฌํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์กด์ฌ
๐TCP(Transmission Control Protocol)
๐TCP๋?
- ์ ์ก๊ณ์ธต์ ์ฐ๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ
- ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ๋ ํ๋กํ ์ฝ
- network congestion avoidance algorithm ์ฌ์ฉ
๐TCP ํน์ง
- ์ฐ๊ฒฐํ ์๋น์ค
- 3-way handshaking๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ 4-way handshaking์ ํตํด ์ฐ๊ฒฐ ํด์
- ๋์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅ โ TCP ํ๋ฆ์ ์ด & ํผ์ก์ ์ด
- ์๋์ ์ผ๋ก UDP๋ณด๋ค ์ ์ก์๋๊ฐ ๋๋ฆผ
- ์ ์ด์ค(Full-Duplex), ์ ๋์ (Point to Point) ๋ฐฉ์
๐TCP ๋์๊ณผ์ เดฆเตเดฆเดฟแขโขแโขแขโ go go
๐UDP(User Datagram Protocol)
๐UDP๋?
- ์ ์ก๊ณ์ธต์ ๋น์ด๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ์ฒ๋ฆฌํ๋ ํ๋กํ ์ฝ
๐UDP ํน์ง
- ๋น์ฐ๊ฒฐํ ์๋น์ค๋ก ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์์ ์ ๊ณต
- ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ ๋ณด๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๋๋ค๋ ์ ํธ์ ์ฐจ๋ฅผ ๊ฑฐ์น์ง X
- UDP Header์
CheckSumํ๋๋ฅผ ํตํด ์ต์ํ์ ์ค๋ฅ๋ง ๊ฒ์ถ - ์ ๋ขฐ์ฑ ๋ฎ์ (๋ฐ์ดํฐ ์ฌ์ ์กX, ๋ฐ์ดํฐ ์์ ์ ์ง๋ฅผ ์ํ ์์ X)
- ํจํท ์ค๋ฒํค๋๊ฐ ์ ์ด ๋คํธ์ํฌ ๋ถํ๊ฐ ๊ฐ์
- ์๋์ ์ผ๋ก TCP๋ณด๋ค ์ ์ก์๋๊ฐ ๋น ๋ฆ
- ์ฐ์์ฑ์ด ์ค์ํ ์๋น์ค(streaming) ๋ฑ์ ์์ฃผ ์ฌ์ฉ
๐UDP ๋์๊ณผ์

- UDP๋ ์ฐ๊ฒฐ์ด๋ ๊ฐ๋
์ด ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์
listen,connect,acceptํจ์ ํ์ X

UDP๋ ํด๋น ํ๋ก์ธ์ค๋ฅผ ์๋ณํ ์ ์๋ ํฌํธ(ํ๋ก์ธ์ค๊ฐ ์์๋๋ฉด ํ๋ก์ธ์ค๋ ์ด์ ์ฒด์ ๋ก๋ถํฐ ํฌํธ ๋ฒํธ ๋ถ์ฌ๋ฐ์)์ ํต์ ํ๊ธฐ ์ํด ๋ฒํผ ์ญํ ์ ํ๋ ๋ ๊ฐ์ ํ(Queue)๋ฅผ ๋ง๋ค๊ณ ์ฐ๊ฒฐ
- ์ก์ ์ฉ ๋ชฉ์ ์ธ
์ก์ ํ(Outgoing Queue), ์์ ์ฉ ๋ชฉ์ ์ธ์์ ํ(Incoming Queue)๋ก ๊ตฌ๋ถ
- ํ๋ก์ธ์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ๋ก ์ ์กํ๊ธฐ ์ํด
์ก์ ํ(Outgoing Queue)์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ด๋ฃ์ผ๋ฉด,UDP๋ ํ๋ก์ธ์ค์์ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์ฝ๊ณ ํค๋๋ฅผ ๋ถ์ฌ์ 3๊ณ์ธต(IP)์ผ๋ก ๋๊ฒจ์ค ํ์ก์ ํ(Outgoing Queue)์์ ์ ๊ฑฐ
์ก์ ํ(Outgoing Queue)์ ๋ฌด์์ ๋ง๋ํ ๋ฐ์ดํฐ๋ฅผ ์ง์ด๋ฃ๋๋ค๋ฉด?์ค๋ฒํ๋ก๊ฐ ๋ฐ์ ๊ฐ๋ฅ
๐ย ๋ณดํต ์ด์ ์ฒด์ ์์๋
์ก์ ํ(Outgoing Queue)์ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ์ง ์๋๋ก ๋ฐ๋ก ๊ด๋ฆฌ
์์ ํ(Incoming Queue)๋ 3๊ณ์ธต(IP)์์ ์์ ๋ ํจํท์ด ์๋ค๋ฉด, ์ด๋ฅผ ๋ถ์ํ์ฌ ํต์ ํ๊ณ ์ ํ๋ ํ๋ก์ธ์ค์ ํฌํธ ๋ฒํธ์ ์ฐ๊ฒฐ์ ์๋. ํ์ฌ ์ปดํจํฐ์ ํด๋น ํฌํธ ๋ฒํธ๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ํจํท์์ ํต์ ๊ณผ์ ์ ํ์ํ๋ ํค๋ ์ ๋ณด๋ฅผ ๋ฒ๊ฒจ๋ธ ํ, ์ด๋ฅผ ํด๋น ํ๋ก์ธ์ค๋ก ์ ์ก
๐TCP VS UDP
TCP : ์ ํ์ฑ UDP : ์ ์์ฑ
๐TCP์ UDP์ ๊ณตํต์
- ํฌํธ ๋ฒํธ๋ฅผ ์ด์ฉํ์ฌ ์ฃผ์ ์ง์
- ๋ฐ์ดํฐ ์ค๋ฅ ๊ฒ์ฌ๋ฅผ ์ํ ์ฒดํฌ์ฌ ์กด์ฌ
๐TCP์ UDP์ ์ฐจ์ด์
