TCP ?
์ฐ๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ
์ฅ์น๋ค ์ฌ์ด ๋
ผ๋ฆฌ์ ์ธ ์ ์์ ์ฑ๋ฆฝํ๊ธฐ ์ํด์ ์ฐ๊ฒฐ์ ์ค์ ํด "์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ ์ฐ๊ฒฐํ ์๋น์ค"
TCP๋ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ๊ฐ์ "์ผ๋ จ์ ์ฅํ
(๋ฐ์ดํฐ, ๋ฉ์์ง, ์ธ๊ทธ๋ฐํธ๋ผ๋ ๋ธ๋ก ๋จ์)์"
"์์ ์ ์ผ๋ก, ์์๋๋ก, ์๋ฌ์์ด" ๊ตํํ ์ ์๊ฒ ๋ง๋ค์ด์ค๋ค.
์ฐ๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ ?
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ฐ๊ฒฐ๋์ด ์๋ ์ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํ๋กํ ์ฝ์ ์๋ฏธ
TCP์ ํน์ง
1. ์ฐ๊ฒฐํ ์๋น์ค๋ก ๊ฐ์ ํ์ ๋ฐฉ์์ ์ ๊ณต
- 3-way handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ์ค์ ํ๊ณ
- 4-way handshaking ๊ณผ์ ์ ํตํด ์ฐ๊ฒฐ์ ํด์ ํ๋ค.
2. ํ๋ฆ ์ ์ด
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ์๋๋ฅผ ์กฐ์ ํ์ฌ ์์ ์์ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ๋ฐฉ์ง
3. ํผ์ก ์ ์ด
- ๋คํธ์ํฌ ๋ด์ ํจํท ์๊ฐ ๊ณผ๋ํ๊ฒ ์ฆ๊ฐํ์ง ์๋๋ก ๋ฐฉ์ง
4. ๋์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅ
- ์ ๋ขฐ์ฑ์ด ๋์ ์ ์ก์ ํ๊ธฐ ๋๋ฌธ์ UDP๋ณด๋ค ์๋๊ฐ ๋๋ฆฌ๋ค.
5. ์ ์ด์ค, ์ ๋์ ๋ฐฉ์
- ์ ์ด์ค : ์ ์ก์ด ์๋ฐฉํฅ์ผ๋ก ๋์์ ์ผ์ด๋ ์ ์๋ค.
- ์ ๋์ : ๊ฐ ์ฐ๊ฒฐํ ์ ํํ 2๊ฐ์ ์ข ๋จ์ ์ ๊ฐ์ง๊ณ ์๋ค.
๊ฐ์ ํ์ ๋ฐฉ์์ ์ ๊ณต ?
๋ฐ์ ์ง์ ์์ ์ง๋ฅผ ์ฐ๊ฒฐํ์ฌ ํจํท์ ์ ์กํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ๋ฐฐ์ ํ๋ค๋ ์๋ฏธ
3-way handshaking ?
๋ฐ์ ์ง์ ์์ ์ง ์ฌ์ด์ ๋ ผ๋ฆฌ์ ์ธ ์ ์(์ธ์ )์ ์ฑ๋ฆฝํ๋ ๊ณผ์ ์ ์๋ฏธ
TCP๊ฐ ์์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ ์ด์
TCP๋ ์ฐ๊ฒฐํ ์๋น์ค๋ก "์ ๋ขฐ์ฑ"์ ๋ณด์ฅํ๊ธฐ ๋๋ฌธ.
๋ฐ๋ผ์, 3-way handshaking ๊ณผ์ ๋ ์ฌ์ฉ์ ํ๋๊ฒ์ด๊ณ , ๋ฐ์ดํฐ์ ํ๋ฆ / ํผ์ก ์ ์ด์ ๊ฐ์ ๊ธฐ๋ฅ๋ ํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋๋ฉด์์๋ UDP๋ณด๋ค ๋๋ฆฐ ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
TCP ์ฐ๊ฒฐ๊ณผ์ (3-way handshaking)
1. ํด๋ผ์ด์ธํธ -> ์๋ฒ : ๋ด ๋ง ๋ค๋ฆฌ๋ ? (SYN)
SYN(Syncronize sequence Numbers) - ์ฐ๊ฒฐ ํ์ธ์ ๋ณด๋ด๋ ๋ฌด์์ ์ซ์๊ฐ (๋ด ๋ง ๋ค๋ฆฌ๋?)
2. ์๋ฒ -> ํด๋ผ์ด์ธํธ : ์ ๋ค๋ ค! ๋๋ ๋ด ๋ง ์ ๋ค๋ ค ? (SYN + ACK)
ACK(acknowledgements) - ํด๋ผ์ด์ธํธ ํน์ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ SYN์ 1์ ๋ํ๊ฐ์ ๋ณด๋ด ์ ๋ฐ์๋ค๋ ์๋ต (์ ๋ค๋ ค!)
3. ํด๋ผ์ด์ธํธ -> ์๋ฒ : ์ด ์ ๋ค๋ ค ! (ACK)
TCP ์ฐ๊ฒฐํด์ ๊ณผ์ (4-way handshaking)
1. ํด๋ผ์ด์ธํธ -> ์๋ฒ : ์ฐ๋ฆฌ ๋ณผ ์ผ ๋๋ฌ์ผ๋ ์ด์ ์ฐ๊ฒฐ ๋๋ด์ ! (FIN)
2. ์๋ฒ -> ํด๋ผ์ด์ธํธ : ์ค์ผ์ด ๊ธฐ๋ค๋ ค๋ด ~ (ACK)
3. ์๋ฒ -> ํด๋ผ์ด์ธํธ : ๋๋ ์ด์ ๋๋๋ค ? (FIN)
4. ํด๋ผ์ด์ธํธ -> ์๋ฒ : ์ค์ผ์ด ~! (ACK)
UDP ?
๋น ์ฐ๊ฒฐํ ํ๋กํ ์ฝ
๋น ์ฐ๊ฒฐํ ํ๋กํ ์ฝ ?
์ฐ๊ฒฐ์ ์ํด ํ ๋น๋ ๋ ผ๋ฆฌ์ ์ธ ๊ฒฝ๋ก๊ฐ ์กด์ฌํ์ง ์๊ณ , ๊ฐ๊ฐ์ ํจํท์ ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ ์ก๋๋ฉฐ ๋ ๋ฆฝ์ ์ธ ๊ด๊ณ๋ฅผ ์ง๋๊ฒ๋๋ค.
UDP ํน์ง
1. ๋น ์ฐ๊ฒฐํ ์๋น์ค๋ก ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์์ ์ ๊ณต
- ๋ฐ์ดํฐ์ ์ ์ก ์์๊ฐ ๋ฐ๋ ์ ์๋ค.
2. ๋ฐ์ดํฐ์ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์๋๋ค.
- TCP์ 3-way handshaking๊ณผ ๊ฐ์ ๊ณผ์ X
3. ์ ๋ขฐ์ฑ์ด ๋ฎ๋ค
- ํ๋ฆ์ ์ด๊ฐ ์์ด์ ์ ๋๋ก ์ ์ก๋์๋์ง, ๋๋ ์ค๋ฅ๊ฐ ์๋์ง ํ์ธํ ์ ์๋ค.
4. TCP๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด๋ค.
5. 1:1 / 1:N / N:N ํต์ ์ด ๊ฐ๋ฅํ๋ค.
TCP vs UDP
TCP
UDP
์ ๋ฆฌํ์๋ฉด TCP๋ ์ฐ์์ฑ๋ณด๋ค๋ ์ ๋ขฐ์ฑ์ด ์ค์์ ๋๋ ์ ์ก์ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ด๊ณ ,
UDP๋ TCP๋ณด๋ค ๋น ๋ฅด๊ณ ๋คํธ์ํฌ ๋ถํ๊ฐ ์ ๋ค๋ ์ฅ์ ์ ๊ฐ๊ณ ์์ง๋ง , ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์๋ ์๋ง์ง ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ UDP๋ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ๊ฐ์ ์๋น์ค์ ์์ฃผ ์ฌ์ฉ๋๋ค.
'CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] : ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2023.08.30 |
---|---|
[CS] : DI ์ IoC (0) | 2023.08.29 |
[CS] : ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฐ์ด๋ ๋ฐ์ดํฐ ๋จ์ (0) | 2023.08.28 |
[CS] : ๋ธ๋ผ์ฐ์ ์ ์๋ ์๋ฆฌ (0) | 2023.08.24 |