๊ฐ๋ฐ ์ง์/Network ์ง์
๐ผ TCP / IP 4๊ณ์ธต ๋ชจ๋ธ - ํต์ฌ ์ด์ ๋ฆฌ
์ธํ_
2021. 10. 23. 20:01
TCP / IP ๊ฐ๋ ์ ๋ฆฌ (์ ์ ์ง์)
IP (์ธํฐ๋ท ํ๋กํ ์ฝ)
- ์ง์ ํ IP ์ฃผ์์ ๋ฐ์ดํฐ์ ์กฐ๊ฐ๋ค์ ํจํท(Packet)์ด๋ผ๋ ํต์ ๋จ์๋ก ์ต๋ํ ๋นจ๋ฆฌ ๋ชฉ์ ์ง๋ก ๋ณด๋ด๋ ์ญํ .
- ์กฐ๊ฐ๋ค์ ์์๊ฐ ๋ค๋ฐ๋๊ฑฐ๋ ์ผ๋ถ๊ฐ ๋๋ฝ๋๋๋ผ๋ ํฌ๊ฒ ์๊ดํ์ง ์๊ณ ๋ณด๋ด๋ ๋ฐ ์ง์ค์ ํ๋ค.
- ๊ทธ๋์ IP ํ๋กํ ์ฝ์ ํจํท์ ์์ ๋ณด์ฅ๋ ํ ์ ์๊ณ ํจํท์ด ์ค๊ฐ์ ์ ์ค๋๋ ์ด์๋ํ ๋ฐฉ์์ด ์๋ค.
TCP (์ ์ก ์ ์ด ํ๋กํ ์ฝ)
- ํจํท ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ณด์ฆํ๊ณ ๋ณด๋ธ ์์๋๋ก ๋ฐ๊ฒ ํด์ค๋ค
- ๋์ฐฉํ ์กฐ๊ฐ์ ์ ๊ฒํ์ฌ ์ค์ ์ธ์ฐ๊ณ ๋ง๊ฐ์ก๊ฑฐ๋ ๋น ์ง ์กฐ๊ฐ์ ๋ค์ ์์ฒญํ๋ ์์ผ๋ก ์์๋ฅผ ๋ณด์ฆ.
- TCP๋ ๋ฐ์ดํฐ๋ฅผ ์๋๋ฐฉ์๊ฒ ํ์คํ๊ฒ ๋ณด๋ด๊ธฐ ์ํด์ 3 way ํธ๋์์ดํน์ด๋ผ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๊ณ ์๋ค.
์ด ๋ฐฉ๋ฒ์ ํจํท์ ๋ณด๋ด๊ณ ์ ๋ณด๋ด์ก๋์ง ์ฌ๋ถ๋ฅผ ์๋์๊ฒ ํ์ธํ๋ฌ ๊ฐ๋ค. - ์ฌ๊ธฐ์์ ๊ณ ์ ์ 'SYN'์ 'ACK'๋ผ๋ TCP ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ค. (์ผ์ข ์ ํ์ธ ๋งํฌ ์ ๋๋ก ์ดํดํ๋ฉด ๋๋ค)
- ํ๋ง๋๋ก TCP๋ IP์ ๋ฌธ์ ๋ฅผ ๋ณด์ํด์ฃผ๋ ๋ ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
TCP 3 way handshake
๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋๊ธฐ ์ ์ ๊ฐ์ ์ฐ๊ฒฐ์ ํด์ ํจํท์ผ๋ก ๋ณด๋ด์ ํ์ธํ๋ ๋์์ด๋ค.
- SYN : ์ ์ ์์ฒญ
- ACK : ์์ฒญ ์๋ฝ
์ด๋ฆ | ์๋ฏธ |
SYN | ์ฐ๊ฒฐ์ ์์ฑํ ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ํ์ค ๋ฒํธ๋ฅผ ๋ณด๋ด๋ ํจํท |
SYN-ACK | ์ํ์ค ๋ฒํธ๋ฅผ ๋ฐ์ ์๋ฒ๊ฐ ACK ๊ฐ์ ์์ฑํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ตํ๋ ํจํท |
ACK | ACK ๊ฐ์ ์ฌ์ฉํ์ฌ ์๋ตํ๋ ํจํท |
- ํด๋ผ์ด์ธํธ → ์๋ฒ : SYNํจํท ์ ์ก
- ์๋ฒ → ํด๋ผ์ด์ธํธ : SYN + ACKํจํท ์ ์ก
- ํด๋ผ์ด์ธํธ → ์๋ฒ: ACK + ๋ฐ์ดํฐ ํจํท ์ ์ก
- ๋ฐ์ดํฐ ํจํท ์ ์ก
โ
TCP ์์ ๋ณด์ฅ ๋ฐฉ๋ฒ
- ํด๋ผ์ด์ธํธ์์ ํจํท1, ํจํท2, ํจํท3 ์์๋ก ์ ์ก
- ์๋ฒ์์ ํจํท1, ํจํท3, ํจํท2 ์์๋ก ๋ฐ์
- ์๋ฒ์์ ํจํท2๋ฒ๋ถํฐ ๋ค์ ๋ณด๋ด๋ผ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ(TCP ๊ธฐ๋ณธ ๋์)
์ด๋ ๊ฒ ํจํท์ ์์๋๋ก ์ ์ด๋ฅผ ํ ์ ์๋ ์ด์ ๋ TCP ๋ฐ์ดํฐ ์์ ์ ์ก ์ ์ด, ์์, ์ ๋ณด๋ค์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ TCP๋ ์ ๋ขฐํ ์ ์๋ ํ๋กํ ์ฝ์ด๋ผ๊ณ ์๊ธฐํ๋ค.
UDP (์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ)
- ๋น ์ฐ๊ฒฐ์งํฅ์ ํ๋กํ ์ฝ
- ๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ X
- ์์ ๋ณด์ฅ X
- TCP์ ๋น๊ตํด์ ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์์ด ๋จ์ํ์ง๋ง ์ค๋ก์ง ๋น ๋ฅด๊ฒ ํจํท์ ๋ณด๋ด๋ ๋ชฉ์
- IP์ ๊ฑฐ์ ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋๋ค. PORT ์ ์ฒดํฌ์ฌ(๋ฉ์์ง ๊ฒ์ฆํด์ฃผ๋ ๋ฐ์ดํฐ) ์ ๋๋ง ์ถ๊ฐ๋ ํํ์ด๋ค.
- IP์ ๊ธฐ๋ฅ์ด ๊ฑฐ์ ์ถ๊ฐ๋์ง ์์ ํ์ ๋ํ์ง ๊ฐ์ ์ํ์ด๊ธฐ ๋๋ฌธ์ ์ต์ ํ ๋ฐ ์ปค์คํฐ๋ง์ด์ง์ด ์ฉ์ดํ๋ค.
TCP vs UDP ๋น๊ตํ
TCP | UDP |
์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ | ๋น ์ฐ๊ฒฐ์งํฅํ ํ๋กํ ์ฝ |
๋ฐ์ดํธ ์คํธ๋ฆผ์ ํตํ ์ฐ๊ฒฐ | ๋ฉ์ธ์ง ์คํธ๋ฆผ์ ํตํ ์ฐ๊ฒฐ |
ํผ์ก์ ์ด, ํ๋ฆ์ ์ด | ํผ์ก์ ์ด์ ํ๋ฆ์ ์ด ์ง์ X |
์์ ๋ณด์ฅ, ์๋์ ์ผ๋ก ๋๋ฆผ | ์์ ๋ณด์ฅ๋์ง ์์, ์๋์ ์ผ๋ก ๋น ๋ฆ |
์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก - ์์ ์ | ๋ฐ์ดํฐ ์ ์ก ๋ณด์ฅ X |
์ธ๊ทธ๋จผํธ TCP ํจํท | ๋ฐ์ดํฐ๊ทธ๋จ UDP ํจํท |
HTTP, Email, File transfer ์์ ์ฌ์ฉ | ๋๋ฉ์ธ, ์ค์๊ฐ ๋์์ ์๋น์ค์์ ์ฌ์ฉ |
TCP / IP 4๊ณ์ธต
4์ธต - ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต — HTTP, FTP, DNS, SMTP
3์ธต - ์ ์ก ๊ณ์ธต — TCP, UDP
2์ธต - ์ธํฐ๋ท ๊ณ์ธต — IP
1์ธต - ๋คํธ์ํฌ ์์ธ์ค ๊ณ์ธต — Ehternet(์ด๋๋ท)
TCP / IP 4๊ณ์ธต ์ข ๋ฅ
1. Network Layer (OSI 7๊ณ์ธต์์ ๋ฌผ๋ฆฌ+๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต)
- ์ด ๊ณ์ธต์ Node-To-Node๊ฐ์ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ด๋นํ๋ ๊ณ์ธต์ด๋ค.
- OSI7 ๊ณ์ธต์ ๋ฌผ๋ฆฌ ๊ณ์ธต๊ณผ ๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต์ ์ญํ ์ ๋ฐ๋ก ์ด ๊ณ์ธต์ด ๋ด๋นํ๋ ๊ฒ์ผ๋ก ๋ณผ ์ ์๋ค.
- ์๋ง์ ํ๋์จ์ด๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋๋๋ก MAC์ฃผ์๋ฅผ ํธ๋ค๋ง ํ๋๊ฒ ๋ฟ ์๋๋ผ, ๋ฐ์ดํฐ ํจํท์ ์ ๊ธฐ์ ํธ๋ก ๋ณํํ์ฌ ์ ๋ก๋ฅผ ํตํ์ฌ ์ ๋ฌํ ์ ์๊ฒ ์ค๋น ํด์ค๋ค.
โ
2. Internet Layer (OSI 7๊ณ์ธต์์ ๋คํธ์ํฌ ๊ณ์ธต)
- IP๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต
- IP๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ์์ฒ์ง(origin)๊ณผ ๋ชฉ์ ์ง(destination)์ ๊ดํ ์ ๋ณด๋ฅผ ์ฒจ๋ถํ๋ค.
- IP๋ ๋ณต์กํ ๋คํธ์ํฌ ๋ง์ ํตํ์ฌ ๊ฐ์ฅ ํจ์จ์ ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ์ ์์ ์กฐ๊ฐ๋ค์ ๋๋๋ก ๋นจ๋ฆฌ ๋ณด๋ด๋ ์ผ์ ํ๋ค.
- ๋ฐ๋ผ์ IP๋ ํจํท ์ ๋ฌ ์ฌ๋ถ๋ฅผ ๋ณด์ฆํ์ง ์๊ณ , ๊ฒฝ๋ก๋ฅผ ์ค์ ํ์ฌ ์ด๋ป๊ฒ๋ ๋นจ๋ฆฌ ๋ณด๋ด๋๋ก ํ๋ค.
Protocol | Content |
IP | ๋น์ฐ๊ฒฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ ์ง์ ๋ชฉ์ ์ง๊น์ง์ ๋ผ์ฐํ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ |
ICMP | IP์ ์ด์ ๋ฉ์์ง ๊ธฐ๋ฅ์ ๋ด๋น |
ARP | IP์ฃผ์๋ฅผ ์ด์ฉํด ์๋๋ฐฉ์ MAC์ฃผ์๋ฅผ ์์์ค๋ ํ๋กํ ์ฝ (๋ธ๋ก๋์บ์คํธ ์์ฒญ, ์ ๋์บ์คํธ ์๋ต) |
RARP | MAC์ฃผ์์ ํด๋นํ๋ IP์ฃผ์๋ฅผ ์์์ค๋ ํ๋กํ ์ฝ (๋ธ๋ก๋์บ์คํธ ์์ฒญ, ์ ๋์บ์คํธ ์๋ต) |
โ
3. Transport Layer (OSI 7๊ณ์ธต์์ ์ ์ก ๊ณ์ธต)
- TCP / UDP๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต
- TCP๋ IP ์์์ ๋์ํ๋ ํ๋กํ ์ฝ๋ก, ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ณด์ฆํ๊ณ ๋ณด๋ธ ์์๋๋ก ๋ฐ๊ฒ ํด์ค๋ค.
- ์ฆ, ์์๊ฐ ๋ง์ง ์๊ฑฐ๋ ์ค๊ฐ์ ๋น ์ง ๋ถ๋ถ์ ์ ๊ฒํ์ฌ ๋ค์ ์์ฒญํ๋ ์ผ์ ๋ด๋น.
Protocol | Content |
TCP (Transmission Control Protocol) | ์ฐ๊ฒฐ ์งํฅ์ (Connection Oriented) ์ ๋ขฐ์ , ํ๋ฆ์ ์ด, ์๋ฌ์ง์ด (์์๋ฒํธ, ACK๋ฒํธ ์ฌ์ฉ) ACK ๋ฐ์ง ๋ชปํ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฌ์ ์ก ์ฅ์ ์ ๋ณด์ฅ๋ ์ธ๊ทธ๋จผํธ๋ก ์ ๋ฌํ๊ธฐ์ ์ ๋ขฐ์ฑ์ด ์๋ค ๋จ์ ์ ์ฐ๊ฒฐ์ ์ํ ์ด๊ธฐ ์ค์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค |
UDP (User Datagram Protocol) | ๋น์ฐ๊ฒฐ ์งํฅ์ (Connectionless Oriented) ๋น์ ๋ขฐ์ , ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ธ ํ์ ์ ๋์ฐฉํ๋์ง ๊ฒ์ฌํ๋ ๊ธฐ๋ฅ์ด ์๋ค ์ฅ์ ์ ๋น ๋ฅด๋ฉฐ, ์ฐ๊ฒฐ์ ๋งบ์ง ์์ผ๋ฏ๋ก ์ ์ด ํ๋ ์ ์ ์ก์ ํ ํ์๊ฐ ์๊ธฐ์ ๋คํธ์ํฌ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ค ์ ๋ขฐ์ฑ๋ณด๋ค๋ ๊ณ ์์ฑ์ ์๊ตฌํ๋ ๋ฉํฐ๋ฏธ๋์ด ์์ฉ๋ฑ์ ์ผ๋ถ ์ฌ์ฉ๋๊ณ ์๋ค |
โ
4. Application Layer (OSI 7 ๊ณ์ธต์์ 5, 6, 7 ๊ณ์ธต)
- HTTP / FTP๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต
- OSI7 ๊ณ์ธต์ 5๊ณ์ธต๋ถํฐ 7๊ณ์ธต๊น์ง์ ๊ธฐ๋ฅ์ ๋ด๋นํ๊ณ ์๋ค.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ด ๊ณ์ธต์์ ๋์ํ๋ค.
- ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๋ธ๋ผ์ฐ์ ๋ ํ ๋ท๊ฐ์ ์๋น์ค๊ฐ ์ด ๊ณ์ธต์ ๋์
Protocol | Content |
DNS (Domain Name System) | ์ธํฐ๋ท์์ ์ฌ์ฉํ๋ ์ด๋ฆ์ ํด๋น IP ์ฃผ์๋ก ๋ณํํด์ฃผ๋ ์๋น์ค |
SNMP (Simple Network Management Protocol) | ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๋ ํ๋กํ ์ฝ |
FTP (File Transfer Protocol) | TCPํ๊ฒฝ์์ ํ์ผ ์ ์ก ํ๋กํ ์ฝ |
TFTP (Trival File Transfer Protocol) | UDPํ๊ฒฝ์์ ํ์ผ ์ ์ก ํ๋กํ ์ฝ |
HTTP (Hypertext Transfer Protocol) | ์น์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ |
TCP / IP 4๊ณ์ธต ๋์ ์์
- ์ก์ ์ธก ํด๋ผ์ด์ธํธ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ์ด๋ ์น ํ์ด์ง๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ผ๋ HTTP ์์ฒญ์ ์ง์ํ๋ค.
- ๊ทธ ๋ค์์ ์๋ ํธ๋์คํฌํธ ๊ณ์ธต์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์์ ๋ฐ์ ๋ฐ์ดํฐ(HTTP ๋ฉ์์ง)๋ฅผ ํต์ ํ๊ธฐ ์ฝ๊ฒ ์กฐ๊ฐ๋ด์ด ์๋ด ๋ฒํธ์ ํฌํธ ๋ฒํธ(TCP ํจํท)๋ฅผ ๋ถ์ฌ ๋คํธ์ํฌ ๊ณ์ธต์ ์ ๋ฌํ๋ค.
- ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ์ IP ํจํท์ ์ถ๊ฐํด์ ๋งํฌ ๊ณ์ธต์ ์ ๋ฌํ๋ค.
- ๋งํฌ ๊ณ์ธต์์๋ ์์ ์ง MAC ์ฃผ์์ ์ด๋๋ท ํ๋ ์์ ์ถ๊ฐํ๋ค.
- ์ด๋ก์จ ๋คํธ์ํฌ๋ฅผ ํตํด ์ก์ ํ ์ค๋น๊ฐ ๋์๋ค.
- ์์ ์ธก ์๋ฒ๋ ๋งํฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค์ฌ ์์๋๋ก ์์ ๊ณ์ธต์ ์ ๋ฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊น์ง ๋๋ฌํ๋ค.
- ์์ ์ธก ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ๋๋ฌํ๊ฒ ๋๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ ํ๋ HTTP ๋ฆฌํ์คํธ๋ฅผ ์์ ํ ์ ์๋ค.
ํ์ฌ OSI 7๊ณ์ธต๋ณด๋ค๋ TCP/IP 4๊ณ์ธต์ด ๋ ๋ง์ด ํ์ฉ๋๊ณ ์๋ค.
OSI 7๊ณ์ธต์ ์ด๋ก ์ ์ธ ๋๋์ด๋ผ๋ฉด TCP/IP 4๊ณ์ธต์ ์ด๋ก ์ ์ค์ ๋ก ์ฌ์ฉํ๋ค๋ ๋๋์ด๋ค.
๋ค์ด๋ฒ ์ ์ ์๋๋ฆฌ์ค
- ์น ๋ธ๋ผ์ฐ์ ์ www.naver.com ์ ๋ ฅ.
- DNS๋ก ๋ค์ด๋ฒ ์๋ฒ IP์ฃผ์ ํ ๋น.
- ์์ฉ ๊ณ์ธต(L4)์์ ๋ฉ์ธ์ง ๋ฐ์ดํฐ ํจํน(HTTP ๋ฉ์์ง).
- ์ ์ก ๊ณ์ธต(L3)์์ PORT์ ๋ณด(์ถ๋ฐ์ง, ๋ชฉ์ ์ง), ์ ์ก์ ์ด ์ ๋ณด, ์์ ์ ๋ณด, ๊ฒ์ฆ ์ ๋ณด ํจํน (TCP).
- ์ธํฐ๋ท ๊ณ์ธต(L2)์์ IP์ ๋ณด(์ถ๋ฐ์ง, ๋ชฉ์ ์ง) ํจํน
- ๋คํธ์ํฌ ์์ธ์ค(L1) ๊ณ์ธต์์ MAC์ฃผ์ ํจํน
- ๊ฒ์ดํธ์จ์ด๋ฅผ ํตํด ์ธํฐ๋ท๋ง ์ ์.
- ๋ผ์ฐํฐ๋ฅผ ํตํด ๋ชฉ์ ์ง(๋ค์ด๋ฒ ์๋ฒ)๋ฅผ ์ฐพ์ ์ฐ๊ฒฐ.
- ๋ค์ด๋ฒ ์๋ฒ์ ๋์ฐฉํ๋ฉด ํจํท์ ํ๋ ํ๋ ๊น๋ฉด์ ๋ชฉ์ ํฌํธ์ ๋ฉ์ธ์ง ๋ฐ์ดํฐ ์ ๋ฌํ์ฌ ๋ค์ ์๋ต.
# ์ฐธ๊ณ ์๋ฃ
https://it-and-life.tistory.com/112
https://tobuymacbookpro.tistory.com/4
https://thefif19wlsvy.tistory.com/53?category=805916
https://velog.io/@conatuseus/2019-09-10-2009-%EC%9E%91%EC%84%B1%EB%90%A8-xsk0ds2eqf
https://byfuls.com/programming/read?id=64