*TCP ํ๋กํ ์ฝ
-์ฐ๊ฒฐ ์งํฅ ํ๋กํ ์ฝ : ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฉํ์ ์ด ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒ์ฒ๋ผ ๊ฐ์์ ์ฐ๊ฒฐํต๋ก๋ฅผ ์ค์ ํด์ ํต์ ํ๋ ๋ฐฉ์
(1) ์์์ ์ด : ๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐํต๋ก๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ๋ก์จ ๋ฐ์ดํฐ ์ ์ก์์ ๋ณด์ฅ
(2) ์คํธ๋ฆผ ๊ธฐ๋ฐ ์ ์ก๋ฐฉ์ : ๋ฐ์ดํฐ๋ฅผ ์ ํด์ง ํฌ๊ธฐ๋ก ์ ์กํ๋ ๊ฒ์ด ์๋๋ผ ์์์ ํฌ๊ธฐ๋ก ๋๋์ด ์ฐ์ํด์ ์ ์ก
-์ ๋ขฐํ ์ ์๋ ํ๋กํ ์ฝ
(1) ํ๋ฆ์ ์ด : ์๋๋ฐฉ์ด ๋ฐ์ ์ ์๋ ๋งํผ๋ง ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ก
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ ์ ์ด๋ฐฉ์ ์ฌ์ฉ
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ : ์๋๋ฐฉ์ด ์์ ๊ฐ๋ฅํ ํฌ๊ธฐ ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ํด์ ์ ์ก
(2) ์ค๋ฅ์ ์ด : ๋ฐ์ดํฐ์ ์ค๋ฅ๋ ๋๋ฝ ์์ด ์์ ํ ์ ์ก์ ๋ณด์ฅ
(3) ํผ์ก์ ์ด : ๋คํธ์ํฌ์ ํผ์ก ์ ๋์ ๋ฐ๋ผ ์ก์ ์๊ฐ ๋ฐ์ดํฐ ์ ์ก๋์ ์ ์ด
*TCP ํ๋กํ ์ฝ ๊ตฌ์กฐ

-Source Port : ์ถ๋ฐ์ง ํฌํธ ๋ฒํธ
-Destination Port : ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ
Sequence Number : ์ก์ ๋ฐ์ดํฐ ์์ ๋ฒํธ
(1) ์ก์ ์ ์ ์กํ๋ ๋ฐ์ดํฐ ์์ ๋ฐ์ดํธ ์๋ฒ
(2) ์ฐ๊ฒฐ์ค์ ๋จ๊ณ์์ ์ด๊ธฐ ์์ ๋ฒํธ(ISN:Initial Sequence Number)๋ฅผ ์ํธ๊ฐ ์ฃผ๊ณ ๋ฐ์.
์ด๊ธฐ ์์๋ฒํธ๋ 0๋ถํฐ ์์X, ์์์ ์ ํ ๋น
-Acknowledgment Number : ์๋๋ฐฉ์ด ๋ค์์ ์ ์กํ ์์๋ฒํธ
-HLEN : ํค๋ ๊ธธ์ด
-Reserved : ์์ฝ
-Control Flags
(1) URG : ๊ธด๊ธ ๋ฐ์ดํฐ ์ค์
(2) ACK : ์์ ํ์ธ ์๋ต ์ค์
(3) PSH : ์ก์์ ๋ฒํผ์ ์๋ ๋ฐ์ดํฐ ์ฆ์ ์ฒ๋ฆฌ
(4) RST : ์ฐ๊ฒฐ ์ค๋จ(๊ฐ์ ์ข ๋ฃ)
(5) SYN : ์ฐ๊ฒฐ ์ค์
(6) FIN : ์ฐ๊ฒฐ ์ข ๋ฃ(์ ์ ์ข ๋ฃ)
-Windows Size : ์์ ์ธก์์ ์ก์ ์ธก์ ๋ณด๋ด๋ Receiver window size. ์์ ๋ฒํผ์ ์ฌ์ ๊ณต๊ฐ
-Checksum : ํค๋ ํฌํจ ์ ์ฒด ์ธ๊ทธ๋จผํธ ์ค๋ฅ ๊ฒ์ฌ ํ๋
-Urgent Pointer : ์ธ๊ทธ๋จผํธ๊ฐ URG ํฌํจ ์ ๊ธด๊ธ ๋ฐ์ดํฐ ์์น๊ฐ ๊ฐ์ง
*์ฐ๊ฒฐ ๊ณผ์ ์ค์ (3-Way Handshake)

-์ฒซ ๋ฒ์งธ ๋จ๊ณ
(1) ์ต์ด ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ฐ๊ฒฐ ์ค์ ์ ์ํด SYN ์ ์ก.
Active Open : ์ฐ๊ฒฐ์์ฒญ์ ์ํด ๋ฅ๋์ ์ผ๋ก ํฌํธ ์ด๊ณ ์๋ ์ํ
Passive Open : ์ฐ๊ฒฐ ์์ฒญ์ ์์ฉํ๊ธฐ ์ํด ์๋์ ์ผ๋กํฌํธ๋ฅผ ์ด๊ณ ์๋ ์ํ
(2) SYN : ์์ ๋ฒํธ ๋๊ธฐํ. ๋๋ค๊ฐ ์์
(3) ์ต์ด SYN ํจํท์ ๋ณด๋ธ TCP ์ํ : SYN_SENT
-๋ ๋ฒ์งธ ๋จ๊ณ
(1) ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ ์์ฒญ(SYN)์ ์์ ํ์ธ ์๋ต(ACK)์ ํจ๊ป ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์ฐ๊ฒฐ ์์ฒญ(SYN)
(2) ACK์ ๋ฐ๋์ Acknowledgment Number ์ค์ : ์๋๋ฐฉ์ด ๋ค์์ ๋ณด๋ผ ํจํท์ ์์ ๋ฒํธ
SEQ=x ๋ค์์ SYN+ACK์์ Ack.Num์ด x+1์ด ๋ ์ด์
(3) SYNํจํท ์์ TCP ์ํ : SYN_RECEIVED
-์ธ ๋ฒ์งธ ๋จ๊ณ
(1) server์ SYN์ ๋ํด ACK๋ฅผ ์ ์กํ ํ ์ต์ข ์ ์ผ๋ก ์ฐ๊ฒฐ ์ค์ ์๋ฃ
(2) ACK ํ TCP ์ํ : ESTABLISHED
-๋นํธ
(1) SYN : 000010
(2) SYN+ACK : 010010
(3) ACK : 010000
*๋ฐ์ดํฐ ์ก์์ ๊ณผ์
-์ฌ์ ์ก ๊ณผ์ (Retransmission)

-๋น ๋ฅธ ์ฌ์ ์ก(Fast Retransmission)

*์ฐ๊ฒฐ ์ข ๋ฃ ๊ณผ์ (4-Way Handshake)

| FIN_WAIT_1 | ์ฒซ ๋ฒ์งธ FIN+ACK ํจํท์ ๋ํ ACK ๋๊ธฐ |
| FIN_WAIT_2 | ์ฒซ ๋ฒ์งธ FIN+ACK ํจํท์ ๋ํ ACK ์์ ํ, ๋ ๋ฒ์งธ FIN+ACK ํจํท์ ์์ ํ ๋๊น์ง ๋๊ธฐ |
| TIME_WAIT | ๋ง์ง๋ง ACK ์ ์ก ํ 2MSL |
| CLOSE_WAIT | ์๋๋ฐฉ์ ์ฒซ ๋ฒ์งธ FIN+ACK ํจํท์ ๋ํ ACK ์๋ต ํ ๋ ๋ฒ์งธ FIN+ACK ํจํท ์ ์ก๊น์ง ๋๊ธฐ |
| LAST_ACK | ๋ ๋ฒ์งธ FIN+ACK ์ ์ก ํ ๋ง์ง๋ง ACK ๋๊ธฐ |
| CLOSED | ์ข ๋ฃ |
-๋นํธ
(1) FIN+ACK : 010001
(2) ACK : 010000
*์ฐ๊ฒฐ ์์ฒญ ๊ฑฐ๋ถ(๊ฐ์ ์ข ๋ฃ)

*์ฐ๊ฒฐ ์ค๋จ(abort)

*TCP ์ธ์ ํ์ด์ฌํน(Session Hijacking)

: ์ธ์ ์๋ณ์ ๋ณด (์ถ๋ฐ์ง IP์ Port, ๋ชฉ์ ์ง IP์ Port, Sequence Number์ Acknowledgment Number)๋ฅผ
๊ณต๊ฒฉ์๊ฐ ์์กฐํ์ฌ ์ธ์ ์ ํ์ทจํ๋ ๊ณต๊ฒฉ.
์ ์์ ์ธ ์ฌ์ฉ์์ ์ถ๋ฐ์ง IP์ Port๋ก ์์กฐํ๊ณ Sequence Number๋ฅผ ์์ธกํ์ฌ ์ธ์ ํ์ทจ.
'์ฌ๋ฌ๊ฐ์ง > ์ ๋ณด๋ณด์ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ๋คํธ์ํฌ - UDP ํ๋กํ ์ฝ (0) | 2023.03.29 |
|---|---|
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ๋คํธ์ํฌ - ICMP ํ๋กํ ์ฝ (0) | 2023.03.24 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ๋คํธ์ํฌ - IP ํ๋กํ ์ฝ (2) | 2023.03.22 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ๋คํธ์ํฌ - ARP/RARP ๋ฐ GARP (2) | 2023.03.21 |
| [์ ๋ณด๋ณด์ ์ ๋ฆฌ] ๋คํธ์ํฌ - TCP/IP ํ๋กํ ์ฝ (0) | 2023.03.20 |