1. TCP ํจํท
TCP ํจํท์ UDP ํจํท๊ณผ ๋ค๋ฅด๊ฒ ์ ์ก๋๋ ๋ฐ์ดํฐ ์์ ์กฐ์ ํ๋ ํ๋ฆ ์ ์ด, ๋ฐ์ดํฐ ์ ์ค์ ๋์ฒํ๋ ์ค๋ฅ ์ ์ด, ๋คํธ์ํฌ ๋ฌธ์ ์ ๋ฐ๋ผ ํผ์ก ์ ์ด ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ํ์ฌ TCP๋ ์๋์ ๊ฐ์ด 3 way Handshaking์ ํตํ์ฌ ์ธ์ ์ ๋งบ๊ณ ํต์ ์ ์์ํฉ๋๋ค. ํต์ ๊ณผ์ ์์ "์ธ์ ๋งบ์!" SYN ํจํท(์ธ์ ๋งบ์ ํ์๋ ๋ฐ์ดํฐ ํจํท)์ ์ ์กํ๊ณ "์ค์ผ์ด, ํจํท ๋ฐ์์ด! ๋ค์ ํจํท ๋ณด๋ด์ค!" ACK ํจํท์ ํตํด "๋ด๊ฐ ๋ณด๋ธ ํจํท์ ์๋๋ฐฉ์ด ์ง์ง ๋ฐ์๊ตฌ๋?" ํ์ธ ํ ๋ค์ ํจํท์ ๋ณด๋ ๋๋ค. ๋ง์ฝ ACK ํจํท์ ๋ฐ์ง ๋ชปํ๋ค๋ฉด "์ค๊ฐ์ ํจํท์ด ์ ์ค๋์๋? ๋ค์ ํ๋ฒ ๋ณด๋ด์ผ๊ฒ ๋ค!" ํจํท์ ์ฌ์ ์กํ๋ฉฐ ์ค๋ฅ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค.
์ค์ ํต์ ์ ์์ํ๊ณ ๊ต์ฅํ ๋ง์ ํจํท๋ค์ด ์๋ค ๊ฐ๋ค ํ ํ ๋ฐ ๊ทธ๋ผ ๊ทธ๋ "๋ฐฉ๊ธ ๋ฐ์ ACK ํจํท์ด ์ด๋ค ํจํท์ ๋ํ ACK ํจํท์ธ์ง ์ด๋ป๊ฒ ์์ง,,,?" ํ์ธ์ด ํ์ํ๊ณ ์ด๋ฅผ ์ํด Sequence Number์ ACK Number๋ฅผ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
๊ฐ ๊ณ์ธต์์๋ ๊ฐ ๊ณ์ธต ํต์ ์ ์ํ ํค๋๊ฐ ๋ถ๊ฒ ๋ฉ๋๋ค. ์ ์ก ๊ณ์ธต(Layer 4)์์๋ TCP ํต์ ์ ์ํ ํค๋๊ฐ ๋ถ๊ฒ ๋ฉ๋๋ค. ํ์ ํ๋๊ฐ ์๊ณ ์ต์ ํ๋๊ฐ ์๋๋ฐ ํ์ ํ๋๋ก๋ 20bytes, ์ต์ ํ๋๋ 32bytes๋ก ํค๋ ํฌ๊ธฐ๋ ์ต์ 20bytes ~ ์ต๋ 60bytes์ ๋๋ค. ์ด๋ฒ์ ์ค์ํ๊ฒ ํ์ธํ ํ๋๋ Sqeunce Number, ACK Number ํ๋์ ๋๋ค.
Squence Number๋ TCP ์ธ๊ทธ๋จผํธ์ ์ฐ์๋ ๋ฐ์ดํฐ ๋ฒํธ์ ๋๋ค. Sequence Number ํ๋์๋ ์ ์ก๋๋ ์ธ๊ทธ๋จผํธ์ ๊ฐ์ฅ ์์ ์๋ ์ซ์๋ฅผ ํ๊ธฐํ๊ณ ์์ต๋๋ค. ํจํท์ ์บก์ณํด์ ํ์ธํด๋ณด๋ฉด ํด๋น ํจํท์ 1129๋ถํฐ ์์ํด์ 1181๊น์ง์ TCP ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ์์ด Sequence Number๋ 1129๋ก ํ๊ธฐ๋์ด์์ต๋๋ค.
- Sequence Number : 1129
- Next Sequence Number : 1182
ACK Number๋ ์๋๋ฐฉ์ผ๋ก ๋ถํฐ ๋ฐ์์ผํ๋ ๋ค์ TCP ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ ๋ฒํธ์ ๋๋ค. ํด๋น ๋ฒํธ ์๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ ์๋ฃํ์ฌ ํด๋น ๋ฒํธ TCP ์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํด๋ฌ๋ผ๋ ์๋ฏธ์ ๋๋ค. ํจํท์ ์บก์ณํด์ ํ์ธํด๋ณด๋ฉด ํด๋น ํจํท์ 4472๊น์ง ์ฒ๋ฆฌํ๊ณ ๋ค์์ธ 4473 TCP ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ์์ด ACK Number๋ 4473์ผ๋ก ํ๊ธฐ๋์ด์์ต๋๋ค.
- Acknowledgment Number : 4473
2. ํต์ ๊ณผ์
TCP๋ฅผ ์ฌ์ฉํ๋ HTTPS์ ์ค์ ํต์ ๊ณผ์ ์ ๋๋ค. TCP 3 way Handshaking, TLS 4 way Handshaking ํ ์ํธํ๋ Data๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฒ ๋ฉ๋๋ค. ๋ชจ๋ ํจํท์์๋ ์๋ ๋ณด์ด๋๊ฒ์ฒ๋ผ Sequence Number์ ACK Number๋ฅผ ๊ฐ์ง๊ณ ํต์ ํ๊ณ ์์ต๋๋ค.
TCP 3 way Handshaking
(Client์ Server ๋ชจ๋ Sqeunce Number๋ 0์ผ๋ก๋ถํฐ ์์)
TLS 4 way Handshaking
Data ์ ์ก
3. Sequence Number(raw)?
ํ๋๋ฅผ ๋ณด๊ฒ ๋๋ฉด raw๊ฐ ๋ถ์ ํ๋์ ๋ถ์ง ์์ ํ๋๊ฐ ์์ต๋๋ค. Squence Number(raw)๊ฐ ์ค์ TCP ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ ๋ฒํธ์ด๋ฉฐ Squence Number๋ ๋ณด๊ธฐ ํธํ๊ฒ ๊ฐ๊ณต๋ ๋ฒํธ์ ๋๋ค. ํต์ ์ด ์์ํ๋ฉฐ ๋์์ธ ISN(Initial Sequence Number)๊ฐ ๊ฒฐ์ ๋๊ณ ํด๋น ๋ฒํธ๋ถํฐ ์์๊ฐ ์์๋์ด Sequence Number(raw)๊ฐ ๋ฉ๋๋ค.
๊ตณ์ด ๋์๋ฅผ ์์ฑํด์ ์นด์ดํ ํ๋ ์ ์ฐจ๊ฐ ๋ค์ด๊ฐ๋ ์ด์ ๋,,,? ๋ง์ฝ ๋ชจ๋ TCP ์ธ๊ทธ๋จผํธ ๋ฐ์ดํฐ ๋ฒํธ๊ฐ 0์ผ๋ก ์์ํ๊ฒ ๋ ๊ฒฝ์ฐ Sequence Number๋ฅผ ์ด์ฉํ ํดํน(TCP Seq Prediction Attack)์ด ๋ฐ์ํ ์๋ ์๊ณ Port๊ฐ ์ฌํ์ฉ๋๋ฉฐ Sequence Number๊ฐ ์ค๋ณต๋์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
'Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TCP ํผ์ก ์ ์ด (0) | 2021.08.05 |
---|---|
TCP/UDP ์ค๋ฅ์ ํ๋ฆ ์ ์ด (0) | 2021.08.02 |
MTU์ TCP MSS, UDP (0) | 2021.07.25 |
ํ์ด์ฌ netmiko ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋คํธ์ํฌ ์ฅ๋น ์ ์ (3) | 2021.07.23 |
๋คํธ์ํฌ ์ฅ๋น ๊ตฌ์ฑ ์์ (0) | 2021.07.16 |