728x90
3-way handshake
- TCP ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๊ณผ์
- ์ ์ธก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ค๋น๊ฐ ๋์ด์์์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ์ ์ ์ธ์ ์ ์๋ฆฝํจ
- ์ค์ ๋ก ๋ฐ์ดํฐ ์ ๋ฌ์ด ์์๋๊ธฐ ์ ์ ์์ ์ธก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ค๋น๊ฐ ๋์ด ์๋ค๋ ๊ฒ์ ์ ์ ์๋๋ก ํจ
3-way hanshaking ๊ณผ์
* Host A(=ํด๋ผ์ด์ธํธ), Host B(=์๋ฒ) ํต์
- Host A๋ Host B์๊ฒ ์ ์์ ์์ฒญํ๋ SYN ํจํท ์ ์ก
- ์ก์ ์๊ฐ ์ต์ด๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ Sequence Number๋ ์์์ ์ซ์๋ก ์ง์ ํ๊ณ , SYN ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ ์ธ๊ทธ๋จผํธ ์ ์ก
- ํฌํธ ์ํ Host A: CLOSED / Host B: LISTEN
- ์ ์ ์์ฒญ์ ๋ฐ์ Host B๋ Host A์๊ฒ ํด๋น ์์ฒญ์ ์๋ฝํ๋ฉฐ ํฌํธ๋ฅผ ์ด์ด๋ฌ๋ผ๋ SYN + ACK ์ ์ก
- ์์ ์๋ Acknowledgement Number๋ฅผ (Sequence Number + 1)๋ก ์ง์ ํ๊ณ , SYN๊ณผ ACK ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ ์ธ๊ทธ๋จผํธ ์ ์ก
- ํฌํธ ์ํ Host A: SYN_SENT / Host B: SYN_RCV
- Host A๊ฐ Host B์๊ฒ ์๋ฝ์ ํ์ธํ๋ค๋ ACK ์ ์ก
- ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด ๋ฐ์ดํฐ ์ ์ก ๊ฐ๋ฅ
- ํฌํธ ์ํ Host A: ESTABLISHED / Host B: SYN_RCV โก Host A: ESTABLISHED / Host B: ESTABLISHED
์ฐธ๊ณ - ํฌํธ ์ํ ์ ๋ณด
- CLOSED: ํฌํธ๊ฐ ๋ซํ ์ํ
- LISTEN: ํฌํธ๊ฐ ์ด๋ฆฐ ์ํ๋ก ์ฐ๊ฒฐ ์์ฒญ ๋๊ธฐ ์ํ
- SYN_SENT: SYN ์ ๋ณด๋ด๊ณ SYN/ACK ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
- SYN_RCV: SYN ์์ฒญ์ ์๋ฝํ๊ณ ์๋๋ฐฉ์ ์๋ต ๋๊ธฐ ์ํ
- ESTABLISHED: ํฌํธ ์ฐ๊ฒฐ ์ํ
4-way handshake
- TCP์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ํด์ ํ๋ ๊ณผ์
4-way hanshaking ๊ณผ์
* Host A(=ํด๋ผ์ด์ธํธ), Host B(=์๋ฒ) ํต์
- Host A๊ฐ Host B์๊ฒ ์ฐ๊ฒฐ์ ์ข
๋ฃํ๊ฒ ๋ค๋ FIN ํ๋๊ทธ ์ ์ก
- Host B๊ฐ FIN ํ๋๊ทธ๋ก ์๋ตํ๊ธฐ ์ ๊น์ง๋ ์ฐ๊ฒฐ ์ ์ง
- Host B๋ ์ผ๋จ ํ์ธํ๋ค๋ ACK ์ ์ก ํ ์์ ์ ํต์ ์ด ๋๋ ๋๊น์ง ๋๊ธฐ (CLOSE_WAIT ์ํ)
- ์์ ์๋ Acknowledgement Number ํ๋๋ฅผ (Sequence Number + 1)๋ก ์ง์ ํ๊ณ , ACK ํ๋๊ทธ ๋นํธ๋ฅผ 1๋ก ์ค์ ํ ์ธ๊ทธ๋จผํธ ์ ์ก
- ์์ ์ด ์ ์กํ ๋ฐ์ดํฐ๊ฐ ๋จ์์๋ค๋ฉด ๋ง์ ์ ์ก
- ๋์ด์ ์ ์กํ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด Host B๋ ์ฐ๊ฒฐ ์ข ๋ฃ ์์ฒญ์ ์๋ฝํ๋ค๋ ์๋ฏธ๋ก Host A์๊ฒ FIN ํ๋๊ทธ ์ ์ก
- Host A๊ฐ Host B์๊ฒ ์๋ฝ์ ํ์ธํ๋ค๋ ACK ์ ์ก
- Host A๋ CLOSED ์ํ ์ด์ ์ TIME-WAIT ์ํ๋ฅผ ๊ฑฐ์นจ
โป TIME-WAIT ์ํ๊ฐ ํ์ํ ์ด์
- Server ์ธก์์ ๋ฆ๊ฒ ๋์ฐฉํ๋ ์ง์ฐ ํจํท์ด๋ ์ ์ค๋ก ์ธํด ์ฌ์ ์ก ๋ ํจํท ๋ฑ์ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด
- Client๊ฐ ACK ํจํท์ ๋ณด๋ธ ์งํ ๋ฐ๋ก CLOSED ํด๋ฒ๋ฆฌ๋ฉด Client์ ์ํ๋ CLOSED์ธ๋ฐ Server์ ์ํ๊ฐ LAST-ACK์ธ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ -> ์ดํ ์ฌ์ฐ๊ฒฐ ์ Client์ Server์ ํฌํธ ์ํ๊ฐ ๋ชจ๋ CLOSED๊ฐ ์๋๋ฏ๋ก ์ฐ๊ฒฐ ์คํจ
728x90
'Computer Science > ๐ก Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋คํธ์ํฌ] ์ฟ ํค(Cookie)์ ์ธ์ (Session) ํน์ง, ์ฐจ์ด (0) | 2022.04.02 |
---|---|
[๋คํธ์ํฌ] GET ๋ฉ์๋์ POST ๋ฉ์๋ ํน์ง, ์ฐจ์ด (0) | 2022.03.31 |
[๋คํธ์ํฌ] HTTP์ HTTPS ํ๋กํ ์ฝ (0) | 2022.02.09 |
[๋คํธ์ํฌ] TCP์ UDP ํน์ง, ํค๋ ๋ถ์, ๋น๊ต (0) | 2022.01.28 |
[๋คํธ์ํฌ] OSI 7๊ณ์ธต ๋ชจ๋ธ๊ณผ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ (0) | 2022.01.21 |