์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ์ฟ ํกDB
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ์คํ
- ์ฟ ํกERD
- ๋ฐฑ์ค9093
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- java
- ์ฐ
- StringBuilder
- ์คํ์์ด
- StringBuffer
- ์
- ๋ฐฑ์ค9012
- stream
- ๋ฐ์ดํฐํ์
- ๋ฌธ์์ด
- ๋ฐฑ์ค1874
- ๋ฐฐ์ด
- ์๋ฐ
- ๋
- ์ฐ์ฐ์
- ์คํธ๋ฆผ
- Today
- Total
Tech Log ๐ ๏ธ
TCP์ UDP ๋ณธ๋ฌธ
TCP - ์ ์ก ์ ์ด ํ๋กํ ์ฝ
TCP ํ๋กํ ์ฝ์ ์์๋ฅผ ๋ณด์ฅํ๊ณ ์ฐ๊ฒฐ์งํฅ์ ์ด๋ผ๋ ํน์ง์ด ์์ผ๋ฉฐ ๊ฐ์ ํ์ ํจํท ๊ตํ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
IP์ ๋จ์ ์ด์๋ ํจํท ์์ค์ด๋ ์์ ๋ฏธ๋ณด์ฅ ๊ฐ์ ๋ฌธ์ ๋ค์ ํจํท์ ์ ์ดํ์ฌ ํด๊ฒฐํด ์ค๋ค.
๊ฐ์ ํ์ ํจํท ๊ตํ ๋ฐฉ์
๊ฐ์ํ์ ํจํท ๊ตํ ๋ฐฉ์์ ๊ฐ ํจํท์ ๊ฐ์ํ์ ์๋ณ์๊ฐ ํฌํจ๋๊ณ ํจํท๋ค์ด ์์๋๋ก ๋์ฐฉํ๋ ๋ฐฉ์์ด๋ค.
๋ชจ๋ ํจํท์ ์ ์กํ๋ฉด ๊ฐ์ ํ์ ์ด ํด์ ๋๋ค.
TCP ํ๋กํ ์ฝ์ ์ฐ๊ฒฐ์ ์์ํ ๋ 3 way ํธ๋์ ฐ์ดํฌ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉฐ ์ฐ๊ฒฐ์ ์ข ๋ฃํ ๋ 4way ํธ๋ ์ ฐ์ดํฌ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
3way ํธ๋์ ฐ์ดํฌ
- SYN : ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ *ISN๊ณผ SYN์ ๋ณด๋ธ๋ค.
*ISN : TCP ์ฐ๊ฒฐ์ ์ฒซ ๋ฒ์งธ ํจํท์ ํ ๋น๋ ์์์ ์ํ์ค ๋ฒํธ์ด๋ค. ์ง์ฐ ์ ์ก๋ ํจํท์ ํฌํธ ๋ฒํธ๋ก ์ธ์ํ๋ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์์์ ๋์๋ฅผ ์ฌ์ฉํ๋ค. ๋ํ ์์์ ๋์๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์์ธก์ด ํ๋ค๊ฒ ๋ง๋ค์ด ๋ณด์์ ๊ฐํ์ํจ๋ค.
- SYN + ACK : ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ SYN์ ๋ฐ๊ณ ์๋ต๊ฐ์ผ๋ก ์๋ฒ์ ISN๊ณผ ์น์ธ๋ฒํธ๋ก ISN + 1์ ๋ณด๋ธ๋ค.
- ACK : ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์น์ธ ๋ฒํธ๋ฅผ ๋ด์์ ACK๋ฅผ ๋ณด๋ธ๋ค.
์ด ๊ณผ์ ์ด ๊ตฌ์ถ๋๊ณ ๋ ๋ค์ ๋ฐ์ดํฐ ์ ์ก์ ์์ํ๊ธฐ ๋๋ฌธ์, TCP๋ ์ ๋ขฐ์ฑ์ด ์๋ค๊ณ ๋งํ ์ ์๋ค.
ํ์ง๋ง ๋ชจ๋ ํต์ ์์ ์ด ๊ณผ์ ์ ์งํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ ์ฒ๋ฆฌ ๊ฐ์ ์๋๊ฐ ์ค์์ ๋๋ ํต์ ์๋ ์ ํฉํ์ง ์๋ค.
4way ํธ๋์ ฐ์ดํฌ
- FIN_WAIT_1 : ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ๋ซ์ผ๋ ค๊ณ ํ ๋ FIN์ผ๋ก ์ค์ ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ด๋ฉด ์๋ฒ์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ฉด์ FIN_WAIT_1์ ์ํ๊ฐ ๋๋ค.
- CLOSE_WAIT : ์๋ฒ๋ ํด๋ผ์ด์ธํธ๋ก ACK๋ผ๋ ์น์ธ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ด๊ณ ์๋ฒ๋ CLOSE , ํด๋ผ์ด์ธํธ๋ FIN_WAIT2 ์ํ์ ๋ค์ด๊ฐ๋ค.
- LAST_ACK : ์๋ฒ๋ ACK๋ฅผ ๋ณด๋ด๊ณ ์ผ์ ์๊ฐ ์ดํ์ FIN์ด๋ผ๋ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ณด๋ธ๋ค.
- *TIME_WAIT : ์ผ์ ์๊ฐ์ ๊ธฐ๋ค๋ฆฐ ๋ค์ ์๋ฒ๋ก ACK๋ฅผ ๋ณด๋ด์ ์๋ฒ๋ CLOSED ์ํ๊ฐ ๋๋ค. ์ดํ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ด ๋ซํ๋ฉด ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ๋ชจ๋ ์์์ ์ฐ๊ฒฐ์ด ํด์ ๋๋ค.
TIME_WAIT : ์์ผ์ด ๋ฐ๋ก ์๋ฉธ๋์ง ์๊ณ ์ผ์ ์๊ฐ ๋์ ์ ์ง๋๋ ์ํ์ด๋ฉฐ, ์ง์ฐ ํจํท์ด๋ ์ฐ๊ฒฐ ์ค๋ฅ ๋ฑ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์กด์ฌํ๋ค.
2way ํธ๋์ ฐ์ดํฌ๊ฐ ์๋ ์ด์ : ์ ์ก ์ธก ์ ์ฅ์์ ์๊ธฐ์ ์ ํธ๊ฐ ์ ๋๋ก ์ ๋ฌ๋์๋ ์ง ํ์ธํ ์ ์๋ค. ์ด๋ TCP์ ๊ทผ๋ณธ์ธ ์๋ฑกํฅ ์ฐ๊ฒฐ์ด ๊นจ์ ธ๋ฒ๋ฆฌ๊ฒ ๋๊ณ ๊ณง ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ ์ ์๊ฒ๋๋ค.
TCP ์ ์ก ์ ์ด
ํ๋ฆ์ ์ด
์ก์ ์ธก์ ์์ ์ธก์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ฅผ ํ์ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ด๋ ์ ๋๋ก ๋ณด๋ด์ค์ผ ํ ์ง๋ฅผ ์ ์ดํ ์ ์๋ค.
ex) ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ์ ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋์ ์กฐ์
์ค๋ฅ์ ์ด
ํต์ ๋์ค์ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์์ ๊ฒฝ์ฐ์ ๋ํด์ ๋์ฒํ ์ ์๋ค.
ex) go back n - ๋ฐ์ดํฐ๊ฐ ์ ์ค๋ ์์ ๋ถํฐ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ๋ค.
selective repeat - ์ ์ค๋ ๋ฐ์ดํฐ๋ง ์ ํ์ ์ผ๋ก ๋ณด๋ธ๋ค.
ํผ์ก์ ์ด
๋คํธ์ํฌ ํผ์ก์ ๊ฐ์งํ์ฌ์ ์ํฉ์ ๋ง๊ฒ ์ก์ ์ธก์ ๋ฐ์ดํฐ ์ ์ก๋์ ์กฐ์ ํ๋ค.
ex)
AIMD
- ์ก์ ์ธก์ด transmission rate(window size)๋ฅผ ํจํท ์์ค์ด ์ผ์ด๋ ๋๊น์ง ์ฆ๊ฐ
Slow Start
- Slow Start๋ ์ก์ ์ธก์ด window size๋ฅผ 1๋ถํฐ ํจํท ์์ค์ด ์ผ์ด๋ ๋๊น์ง ์ง์์น(exponentially)์ผ๋ก ์ฆ๊ฐ
TCP ํค๋
TCP ํ๋กํ ์ฝ์ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ํ์ค ๋ฒํธ๋ ACK ๋ฒํธ๊ฐ์ ๋ค์ํ ์ ๋ณด๋ค์ ํค๋์ ๋ด๊ณ ์๋ค.
TCP์ ํน์ง ์ ๋ฆฌ
1. ์ฐ๊ฒฐ ์งํฅ(๊ฐ์ํ์ ํจํท ๊ตํ) ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
2. 3way , 4way ํธ๋ ์ ฐ์ดํฌ๋ฅผ ํตํด ์ฐ๊ฒฐ์ ์๋ฆฝํ๊ณ ํด์ ํ๋ค.
3. ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ๋ฌ ์ ์ก ์ ์ด ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค.
4. ํจํท์ ๋ํ ์๋ต์ ๋ฐ์์ผํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์๋๊ฐ ๋๋ฆฌ๋ค.
UDP - ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ
๋ฐ์ดํฐ๊ทธ๋จ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ํ๋กํ ์ฝ์ด๋ค. TCP์ ๊ณ ์ง์ ์ธ ๋ฌธ์ ์ธ ์๋๋ก ์ธํด์ ๋น ๋ฅธ ์ฒ๋ฆฌ๊ฐ ์๊ตฌ๋๋ ํ๋์ ํ์์ฑ์ด ๋๋๋์์ผ๋ฉฐ HTTP/3.0์์ ํ์ค์ผ๋ก ์ฑํ๋์๋ค.
ํ์ง๋ง ๋น ๋ฅธ ์๋ ๋์ ์ ์ก ์ ์ด๋ ํธ๋ ์ ฐ์ดํฌ(๋น์ฐ๊ฒฐ์ฑ) ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ์ง ์๋๋ค.
๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์
๋ฐ์ดํฐ๊ทธ๋จ์ ์ฌ์ฉํ์ฌ์ ๋ฐ์ดํฐ์ ์์๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๊ณ ๋ชฉ์ ์ง๋ก ๋ผ์ฐํ ํ๋ ์ญํ ๋ง ์ํํ๋ค.
์ด ๊ณผ์ ์์ ํธ๋ ์ ฐ์ดํฌ๋ ์ ์ก ์ ์ด๊ฐ์ ๊ธฐ๋ฅ๋ ์ํํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋๋ ๋ ๋นจ๋ผ์ง ๋์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋จ์ด์ง๋ค.
UDP ํค๋
UDP ํ๋กํ ์ฝ์ ์๋์ ์ผ๋ก ๋จ์ํ๊ธฐ ๋๋ฌธ์ ํค๋์์๋ ๋ง์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ง์๋ค.
checksum ํ๋๋ฅผ ํตํด ์ต์ํ์ ์ค๋ฅ ๊ฒ์ถ์ ์ํํ๋ค.
UDP์ ํน์ง ์ ๋ฆฌ
1. ๋น์ฐ๊ฒฐํ ํ๋กํ ์ฝ์ด๋ฉฐ, ๋ฐ์ดํฐ๊ทธ๋จ ํจํท ๊ตํ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
2. ์ฐ๊ฒฐ ๊ณผ์ ์์ ๋ณ๋์ ์ ์ฐจ๋ฅผ ๊ฑฐ์น์ง ์๋๋ค. -> ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
3. ์ ๋ขฐ์ฑ์ด ๋ฎ์ ๋์ ์๋๊ฐ ๋น ๋ฅด๋ค.
4. ์๋๊ฐ ์ค์์๋๋ ์ค์๊ฐ ์๋น์ค์ ์ ํฉํ๋ค.
'Computer Science > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ธ์ฆ, ์ธ๊ฐ ๋ฐฉ์์ ์ข ๋ฅ - ์ฟ ํค , ์ธ์ , JWT(Json Web Token) (0) | 2024.02.29 |
---|---|
๋ก๋ ๋ฐธ๋ฐ์(Load Balancer)๋ (๊ฐ๋ , ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ) (0) | 2024.02.21 |
DNS๋? (0) | 2024.02.19 |
HTTP , HTTPS์ ํน์ง๊ณผ ์ฐจ์ด (0) | 2024.02.12 |
๋คํธ์ํฌ ๊ฐ๋ ์ ๋ฆฌ (ํ๋กํ ์ฝ , ๊ณ์ธต ๊ตฌ์กฐ , IP) (0) | 2024.01.30 |