-
Notifications
You must be signed in to change notification settings - Fork 1
Description
๐ IP ํ๋กํ ์ฝ์ ํ๊ณ
- ๋น์ฐ๊ฒฐ์ฑ : ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ํจํท ์ ์ก
- ๋น์ ๋ขฐ์ฑ : ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง์, ํจํท์ด ์์๋๋ก ์์ฌ์
- ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ : ๊ฐ์ IP๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ ์ด์์ด๋ผ๋ฉด ? ๋์ ์๋ฒ๊ฐ ํจํท์ ๋ฐ์ ์ ์๋ ์ํ์ธ์ง ๋ชจ๋ฅธ๋ค.
๐ ์ธํฐ๋ท ํ๋กํ ์ฝ ์คํ์ 4๊ณ์ธต
- ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต - HTTP, FTP
- ์ ์ก ๊ณ์ธต - TCP, UDP
- TCP๋ IP ํ๋กํ ์ฝ์์ ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง๊ณ ์์๊ฐ ๊ผฌ์ด๊ณ ๊ทธ๋ฐ ๊ฒ๋ค์ ํด๊ฒฐ์ ํด์ค๋ค.
- ์ธํฐ๋ท ๊ณ์ธต IP
- ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๊ณ์ธต
IP ํจํท ์ ๋ณด (์ถ๋ฐ์ง IP / ๋ชฉ์ ์ง IP / ๊ธฐํ)
ํจํท = ์ํ๋ฌผ, ๊ทธ๋ฆฌ๊ณ ๋ฉ์ด๋ฆฌ๋ฅผ ๋ปํจ ํ๋ฐฐ๋ฌผ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ดํดํ๊ธฐ๊ฐ ์ฝ๋ค.
[์ ํ๋ฆฌ์ผ์ด์ ] ๋คํธ์ํฌ ๊ฒ์ ์ฑํ ํ๋ก๊ทธ๋จ (Hello ์ ๋ ฅ) --> socket ๋ผ์ด๋ธ๋ฌ๋ฆฌ (์ ๋ ฅํ Hello ์ด๋ฐ์ค) --> [OS] TCP (์ ๋ ฅํ Hello TCP ์์์ ์ด๋ฐ์ค) --> [OS] IP(Internet Protocol) ์ ๋ ฅํ Hello IP ์์์ ์ด๋ฐ์ค --> [๋คํธ์ํฌ ์ธํฐํ์ด์ค] LAN ๋๋ผ์ด๋ฒ LAN ์ฅ๋น --> Ethernet Frame์ ์์์ ธ์ ๋๊ฐ๊ฒ๋๋ค.
TCP/IP ํจํท ์ ๋ณด
์ถ๋ฐ์ง PORT, ๋ชฉ์ ์ง PORT, ์ ์ก์ ์ด, ์์, ๊ฒ์ฆ ์ ๋ณด
๐ TCP ํน์ง
์ ์ก ์ ์ด ํ๋กํ ์ฝ(Transmission Control Protocol)
-
์ฐ๊ฒฐ์งํฅ TCP 3 way handshake(๊ฐ์์ฐ๊ฒฐ) : ์ฐ๊ฒฐ์ด ๋์ด์ผ ๋ฉ์์ง๋ฅผ ์ ์กํ๋ค.
ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก syn๋ฅผ ๋ณด๋ธ๋ค. ๊ทธ๋ผ ์๋ฒ๊ฐ ์์๋จน๊ณ SYN + ACK๋ฅผ ๋ณด๋ด๊ณ ํด๋ผ์ด์ธํธ๋ ์๊ฒ ๋ค๊ณ ACK๋ฅผ ๋ณด๋ธ๋ค.
์ด 3๋ฒ ์ฃผ๊ณ ๋ฐ์์ ์ฐ๋ฆฌ ์จ์ด ํธ๋์์ดํฌ๋ผ๊ณ ํจ. -
๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ (๋ฉ์์ง ๋ณด๋ด๋ฉด ํจํท์ด ์ค๊ฐ์ ๋๋ฝ๋๋ฉด ๋ฐ๋ํธ์์ ๋ฉ์์ง๋ฅผ ๋ชป๋ฐ์๋ค๋ ๊ฒ์ ์๋ ค์ค๋ค)
-
์์ ๋ณด์ฅ : ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ํจํท1, ํจํท2, ํจํท3 ์์๋ก ์ ์กํ๋ค. ๊ทธ๋ผ ์๋ฅผ๋ค์ด ์๋ฒ์ ๋์ฐฉํ ๊ฒ์ 1,3,2 ์์๋ก ๋์ฐฉ. ๊ทธ๋ผ ์๋ฒ์์ ํจํท 2๋ถํฐ ๋ค์ ํด๋ผ์ด์ธํธ๋ก ๋๋ ค๋ณด๋ธ๋ค. ๊ทธ๋ฌ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ 2๋ฒ๋ถํฐ ์๋ชป๋๊ตฌ๋ ์ธ์ํ๊ณ ๋ค์ ์ ์กํ๋ค.
๊ทธ๋ ๊ฒ ์ฐ๊ฒฐ์ด ๋๊ณ ๋๋ฉด ๋ง์ง๋ง์ ๋ฐ์ดํฐ ์ ์ก์ ๋์์ค๋ค.
๐ UDP ํน์ง
์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ
- ํ์ ๋ํ์ง์ ๋น์ ํ๋ค.(๊ธฐ๋ฅ์ด ๊ฑฐ์ ์์)
- ์ฐ๊ฒฐ์งํฅ - TCP 3WAY handshake (x)
- ๋ฐ์ดํฐ ์ ๋ฌ๋ณด์ฆ (x)
- ์์๋ณด์ฅ (x)
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐ ์์๊ฐ ๋ณด์ฅ๋์ง ์์ง๋ง ๋จ์ํ๊ณ ๋น ๋ฅด๋ค.
๋ง๋ฌด๋ฆฌ ์ ๋ฆฌํ์๋ฉด IP์ ๊ฑฐ์ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. PORT ์ฒดํฌ์ฌ ์ ๋๋ง ์ถ๊ฐ(์ด ๋ฉ์์ง์ ๋ํด์ ์ ๋๋ก ๋ง๋์ง ๊ฒ์ฆํด์ฃผ๋ ๊ฒ) ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
๐ ์ฝ๋๋ฅผ ์ข ๋ ์ต์ ํ ์์ผ์ฃผ๊ณ ์ถ๋ค๋ฉด TCP๋ ๊ทธ๋๋ก ์ฐ๊ณ UDP๋ง ๋ ๊ฐ์ ์ํค๋ฉด ๋๋ค.
๋ด๊ฐ ์ํ๋ ๊ฒ์ ๋ ๋ ๋ฒจ์
์์ผ์ ๋ง๋ค์ด ๋ด์ ์ต์ ํ ํ ์ ์๋ค๊ณ ํ๋ค. ๊ทผ๋ฐ ์๊ฐ์ด ์ง๋๋ฉด์ TCP ํ๋กํ ์ฝ์ด 90ํ๋ก ์ ์ ์จ ํ๋ค๊ณ ํจ. ์๋๊ฐ ๋ณํ๋ฉด์ ์ต๊ทผ์๋ UDP๊ฐ ๋จ๊ณ ์๋ค๊ณ ํ๋ค. ์น ๋ธ๋ผ์ฐ์ ์์ HTTP ํต์ ํ ๋ ์ต๊ทผ์ 3์คํ(3WAY ํธ๋์ํน)์ด ๋์๋๋ฐ ์ฌ๊ธฐ์ TCP 3ํธ๋์ํน ํ ๋ (์ฝ ๋ณด๋ด๊ณ ์ํฌ๋ณด๋ด๊ณ ์ฝ์ํฌ์ฝ์จ) ์ด๋ ๊ฒ ํด์ผ๋๋๋ฐ ์ด๋ฐ๊ฑฐ๋ฅผ ๋ค ์ค์ฌ๋ณด์! ํด์ ๋ ์ต์ ํ ํ๋ฉด์ UDP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด์ ์์ฆ๋ค์ด ๊ต์ฅํ ๋จ๊ณ ์๋ค๊ณ ํ๋ค~
ํ์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก๋ TCP ํ๋กํ ์ฝ๋ง ์ดํดํด๋ ๊ด์ฐฎ๋ค.