2024. 1. 11. 17:46ใ๋ฉด์ ์ค๋น/๋ฉด์ ์คํฐ๋
23.01.10 ์๋ก ์งํ๋ ๋ฉด์ ์คํฐ๋์ ๋ด์ฉ์ ์์นด์ด๋นํ๊ธฐ ์ํด ์์ฑ๋ ๋ฌธ์์ ๋๋ค.
OSI 7๊ณ์ธต
1. OSI 7๊ณ์ธต์ ์ด๋ค ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋์ง ์ค๋ช ํด์ฃผ์ธ์.
OSI 7๊ณ์ธต์ ๋ฌผ๋ฆฌ ๊ณ์ธต, ๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต, ๋คํธ์ํฌ ๊ณ์ธต, ์ ์ก ๊ณ์ธต, ์ธ์ ๊ณ์ธต, ํํ ๊ณ์ธต, ์์ฉ ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์์ฉ ๊ณ์ธต ์ชฝ์ผ๋ก ๊ฐ์๋ก ์ฌ์ฉ์์ ๊ฐ๊น์์ง๋ ๊ตฌ์กฐ๋ก, ์์ ๊ฐ์ด ๊ณ์ธต ๋ณ๋ก ๋ถ๋ฆฌ๋ฅผ ํด๋ ์ผ๋ก์จ ๊ณ์ธต ๊ฐ ์ฑ ์์ ๋ถ๋ฆฌ์ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
2. ๊ฐ ๊ณ์ธต์์ ์ฌ์ฉํ๋ PDU์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
์ ์ก ๊ณ์ธต์์ ์ฌ์ฉํ๋ PDU๋ ์ธ๊ทธ๋จผํธ์ ๋๋ค. ์ด์๋ ์์ ๊ณ์ธต์์ ์ ๋ฌ ๋ฐ์ ํ์ด๋ก๋์ ์ ์ก์ง Port, ์์ ์ง Port, ์ฒดํฌ์ฌ ๋ฑ์ ๋ด์ ํค๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋คํธ์ํฌ ๊ณ์ธต์์ ์ฌ์ฉํ๋ PDU๋ ํจํท์ ๋๋ค. ์ด์๋ ์์ ๊ณ์ธต์์ ์ ๋ฌ ๋ฐ์ ํ์ด๋ก๋(์ธ๊ทธ๋จผํธ)์ ์ ์ก์ง IP, ์์ ์ง IP, TTL, ์ฒดํฌ์ฌ ๋ฑ์ด ํฌํจ๋๋ ํค๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต์์ ์ฌ์ฉํ๋ PDU๋ ํ๋ ์์ ๋๋ค. ์ด์๋ ์์ ๊ณ์ธต์์ ์ ๋ฌ ๋ฐ์ ํ์ด๋ก๋(ํจํท)์ ์ ์ก์ง MAC ์ฃผ์, ๋ค์ ํ์ MAC ์ฃผ์ ๋ฑ์ ๋ด์ ํค๋, ๊ทธ๋ฆฌ๊ณ CRC ๊ฒ์ถ์ ์ํ ํํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
3. ๋ธ๋ผ์ฐ์ ์ ๋๋ฉ์ธ์ ์ ๋ ฅํ์ฌ ํน์ ํ์ด์ง์ ์ ์ํ๋ ์ํฉ์์ ์ด๋ค ์ผ๋ค์ด ๋ฐ์ํ๋์ง OSI 7๊ณ์ธต๊ณผ ์ฐ๊ด์ง์ด ์ค๋ช ํด์ฃผ์ธ์.
ํน์ ๋๋ฉ์ธ์ผ๋ก ํด๋น ์๋ฒ๋ฅผ ์ฐพ์๊ฐ๋ ์ํฉ์์, ํด๋น ๋๋ฉ์ธ์ ๋์ํ๋ IP์ Port ์ ๋ณด๋ฅผ ํ๋ํด์ผ ๋คํธ์ํฌ์์ ์ฌ๋ฐ๋ฅธ ๋ชฉ์ ์ง๋ฅผ ์ฐพ์๊ฐ ์ ์๋ค. ์ด๋ฅผ ์ํด, ๋ธ๋ผ์ฐ์ ์ ๋๋ฉ์ธ์ ์ ๋ ฅํ๋ ๊ฒฝ์ฐ ํด๋น ์ ๋ณด๋ฅผ ์ฐพ๊ธฐ ์ํ DNS ์์นญ์ด ์ด๋ฃจ์ด์ง๋ค. ์ด ๋ DNS ์์ฒด๋ ์์ฉ ๊ณ์ธต ํ๋กํ ์ฝ์ด๊ณ , ๋ด๋ถ์ ์ผ๋ก๋ UDP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค.
๋ชฉ์ ์ง์ IP์ Port๋ฅผ ํ์ธํ๋ค๋ฉด ์ด๋ฅผ ํตํด ๋คํธ์ํฌ ํต์ ์ ์๋ํ๋ค. ๊ฐ์ฅ ๋จผ์ TCP ์ฐ๊ฒฐ์ ์๋ฆฝํ๊ธฐ ์ํ 3way Handshake๊ฐ ์ด๋ฃจ์ด์ง๋ค. ์ฐ๊ฒฐ์ด ์ ์์ ์ผ๋ก ์๋ฆฝ๋์๋ค๋ฉด, L4, L3, L2๋ฅผ ๊ฑฐ์ณ ๋ชฉ์ ์ง๋ฅผ ํฅํด ์์ฒญ์ด ์ถ๋ฐํ๋ค. ์ด ๋ L2์์๋ IP๋ฅผ ํตํด ์์ฒญ์ ์ ๋ฌํ ๊ฒฝ๋ก์ MAC ์ฃผ์๋ฅผ ํ๋ํ๋ ๊ณผ์ ์ด ํฌํจ๋๋ค.
์ ์ก๋ ์์ฒญ์ ์๋ง์ ๋ผ์ฐํฐ, ์ค์์น๋ฅผ ๊ฑฐ์ณ ์ต์ข ์ ์ผ๋ก๋ ๋ชฉ์ ์ง ํธ์คํธ์ ๋๋ฌํ๋ค. ์ด๋ ์ ๊ธฐ ์ ํธ๋ก๋ถํฐ ํ๋ ์, ํจํท, ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฑฐ์น ์์ฒญ ๋ฐ์ดํฐ๊ฐ ์์ฉ ๊ณ์ธต์ ์๋ฒ๋ก ์ ๋ฌ๋๊ณ , ์๋ฒ๋ ์ ์ ํ ์๋ต์ ์์ฑํ์ฌ ์ญ์์ผ๋ก ๋๋๋ ค์ค๋ค.
TCP / UDP
1. UDP์ TCP์์ ๊ณตํต์ผ๋ก ์ํํ๋ ๋ค์คํ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๋ค์คํ(๋ฉํฐํ๋ ์ฑ)์ด๋, ์์ ๊ณ์ธต์ ์ฌ๋ฌ ์์ผ์์ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋ฉํ ์ด์ ์ ๊ฑฐ์ณ ํ๋์ ํ๋ฆ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด ๊ณผ์ ์์ ํฌํธ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ธ๊ทธ๋จผํธ ํค๋๋ฅผ ๋ถ์ฐฉํ๊ฒ ๋๋ค.
๋ฐ๋๋ก ํ์ ๊ณ์ธต์์ ์์ ํ ์ธ๊ทธ๋จผํธ๋ฅผ ํค๋์ ํฌํธ ์ ๋ณด์ ๋ง๊ฒ ์ฌ๋ฌ ์์ผ์ผ๋ก ๋ถ๋ฐฐํด์ฃผ๋ ์์ ์ ์ญ๋ค์คํ(๋๋ฉํฐํ๋ ์ฑ)์ด๋ผ๊ณ ํ๋ค.
2. TCP์ UDP์ ๋ํด ๋น๊ตํ๊ณ ์ด๋ค ๊ฒฝ์ฐ์ UDP๋ฅผ ์ ํํ๋์ง ์ค๋ช ํด์ฃผ์ธ์.
UDP๋ ๋ค์คํ์ ์ค๋ฅ ๊ฒ์ถ ๋ง์ ์ง์ํ๋ ์ ์ก ๊ณ์ธต์ ํ๋กํ ์ฝ์ด๋ค. UDP๋ ์ ์ก ๊ณ์ธต์ ์ต์ํ์ ์ฑ ์ ๋ง์ ์ํํ๊ธฐ ๋๋ฌธ์ ํผ์ก ์ ์ด ๊ธฐ๋ฅ์ด๋, ๋์ฐฉํ๋ ํจํท์ ์์๋ฅผ ๋ณด์ฅ, ์ค๊ฐ์ ๋๋ฝ๋ ํจํท์ ๋ํ ํ์ผ ์ค๋ฒ๋ ์ํํ์ง ์๋๋ค.
TCP๋ ๋ค์คํ์ ์ค๋ฅ ๊ฒ์ถ ๊ธฐ๋ฅ ์ธ์, ํจํท ๊ฐ์ ๋์ฐฉ ์์ ๋ณด์ฅ, ๋๋ฝ ํจํท ์ฌํ๋, ๋คํธ์ํฌ ํผ์ก ์ ์ด ๋ฑ์ ์ญํ ์ ์ถ๊ฐ๋ก ์ํํ๋ค. ์ด๋ฅผ ํตํด TCP๋ ์ฐ๊ฒฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ค.
UDP๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋, TCP๊ฐ ์ถ๊ฐ์ ์ผ๋ก ์ง์ํด์ฃผ๋ ๊ธฐ๋ฅ๋ค์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ์ด๋ค. ๊ฐ๋ น ์์์ ํจํท์ ๋๋ฝ์ด ๋์ด๋ ์๊ด์๋ค๊ฑฐ๋, ํจํท์ ๋์ฐฉ ์์์ ๋ํ ๋ณด์ฅ์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ๊ฐ ์ด์ ํด๋นํ๋ค. ์ด ๊ฒฝ์ฐ, UDP๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ TCP์ ๋นํด ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
3. ์ผ๋ฐ์ ์ผ๋ก ํ๋์ ์๋ฒ๋ ํ๋์ ํฌํธ๋ฅผ ์ด๊ฒ ๋๋๋ฐ, TCP๊ฐ ์ปค๋ฅ์ ์ ์ ์งํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค๋ฉด ์ด๋ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋์ง ์ค๋ช ํด์ฃผ์ธ์.
์๋ฒ ํ๋ก์ธ์ค๋ฅผ ์คํํ ๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋์ ๋ฆฌ์ค๋ ํฌํธ๋ฅผ ์ง์ ํ๋ ์์ผ๋ก ์คํ์ด ์ด๋ฃจ์ด์ง๋ค.
์ด๋ก ์ธํด, ํด๋ผ์ด์ธํธ - ์๋ฒ ๊ฐ ํต์ ์ด ๋ชจ๋ ํ๋์ ๋ฆฌ์ค๋ ํฌํธ๋ฅผ ์ด์ฉํ์ฌ ์ํ๋๋ค๊ณ ์คํดํ ์ ์๋๋ฐ ์ด๋ ์ฌ์ค์ด ์๋๋ค. ๋ฆฌ์ค๋ ํฌํธ๋ ๋จ์ํ ์๋ฒ - ํด๋ผ์ด์ธํธ ๊ฐ ์ฐ๊ฒฐ ์๋ฆฝ์ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋๋ ํฌํธ์ด๋ฉฐ ์ฐ๊ฒฐ์ด ์๋ฆฝ๋๊ณ ๋๋ฉด ์ค์ ํต์ ์ ์๋กญ๊ฒ ์์ฑํ๋ ์์ ํฌํธ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค. ํด๋น ๋ฐฉ์์ ํตํด ์๋ฒ๋ ๋์์ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ด์ง๋ค.
4. TCP์์ 3way, 4way Handshake๋ฅผ ์ํํ๋ ์ด์ ๋ฅผ ์ค๋ช ํด์ฃผ์ธ์.
TCP๋ ์ฐ๊ฒฐ ์งํฅ์ ํ๋กํ ์ฝ์ด๋ค. ์ด ๋ง์ ์๋ฏธ๋ TCP ํ๋กํ ์ฝ์ ๊ฒฐ๊ตญ ์ฐ๊ฒฐ์ ์ ์งํ๊ณ ์๋ค๋ ์๋ฏธ๊ฐ ๋๋๋ฐ, ์ด ์ฐ๊ฒฐ์ ์์๊ณผ ๋ ์ง์ ์ด ๋ฐ๋ก 3way, 4way Handshake์ด๋ค.
3way Handshake๋ ์ ์ก ์ธก SYN(a) -> ์์ ์ธก SYN(b) + ACK(a+1) -> ์ ์ก ์ธก ACK(b+1) ํํ๋ก ์ด๋ฃจ์ด์ง๊ฒ ๋๋๋ฐ, ์ด ๋ฐฉ์์ ํตํด ์์ชฝ ์๋ํฌ์ธํธ๊ฐ ๋ชจ๋ ํต์ ์ ์ํํ ์ค๋น๊ฐ ๋์์์ ํ์ธํ๊ณ ์์ ์ ์ธ ํต์ ์ ๊ธฐ๋ํ ์ ์๋ ํ๊ฒฝ์ธ์ง ํ์ธํ๊ฒ ๋๋ค.
4way Handshake๋ ์ ์ก ์ธก FIN -> ์์ ์ธก ACK -> ์์ ์ธก TIME_WAIT -> ์์ ์ธก FIN -> ์ ์ก ์ธก ACK ํํ๋ก ์ด๋ฃจ์ด์ง๋ค. ์ด๋ฅผ ํตํด TCP ์ฐ๊ฒฐ์ ์์ ์ ์ผ๋ก ์ข ๋ฃํ ์ ์๊ฒ ๋๋ค. ์ด ๋ TIME_WAIT๊ฐ ์กด์ฌํ๋ ์ด์ ๋, ํต์ ์ข ๋ฃ๋ฅผ ์๋ ธ์ง๋ง ์์ง ๋ฏธ์ฒ ์ ๋ฌ๋์ง ๋ชปํ ํจํท์ด ์กด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์์ด๋ค.
HTTP vs HTTPS (ํฅํ ์ถ๊ฐ ์์ )
1. ๋์นญํค์ ๋น๋์นญํค์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
2. HTTPS์์๋ ์ด๋ค ์ข ๋ฅ์ ํค๋ฅผ ์ฌ์ฉํ๋์ง ์ค๋ช ํด์ฃผ์ธ์.
3. TLS Handshake์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
'๋ฉด์ ์ค๋น > ๋ฉด์ ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉด์ ๋๋น ์์ ์ง๋ฌธ (Database & ์ด์์ฒด์ ์ผ๋ถ) (0) | 2024.01.11 |
---|---|
JOIN - ๋ฉด์ ๋๋น (0) | 2024.01.02 |
์ด์ ํ์, ์ ๊ทํ - ๋ฉด์ ๋๋น (0) | 2024.01.01 |
๋ฉด์ ๋๋น ์ง๋ฌธ ์์ (์ด์์ฒด์ ) (0) | 2023.12.27 |