TCP/IP 5๊ณ์ธต
๐TCP/IP Protocol Suite
์ธํฐ๋ท ํ๋กํ ์ฝ ์ค์ํธ(Internet Protocol Suite)๋ ์ธํฐ๋ท์์ ์ปดํจํฐ๋ค์ด ์๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฐ์ด๋ ํต์ ๊ท์ฝ(ํ๋กํ ์ฝ)์ ๋ชจ์์ด๋ค. ์ธํฐ๋ท ํ๋กํ ์ฝ ์ํธ ์ค TCP์ IP๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๊ธฐ ๋๋ฌธ์ TCP/IP ํ๋กํ ์ฝ ์ํธ๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
๐TCP/IP Protocol Suite์ ๊ณ์ธต ๊ตฌ์กฐ
layer 5 | ์์ฉ ๊ณ์ธต (Application Layer) |
layer 4 | ์ ์ก ๊ณ์ธต (Transport Layer) |
layer 3 | ๋คํธ์ํฌ ๊ณ์ธต (Network Layer) |
layer 2 | ๋งํฌ ๊ณ์ธต (Data Link Layer) |
layer 1 | ๋ฌผ๋ฆฌ ๊ณ์ธต (Physical Layer) |
์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋๋ฐ์ด์ค๋ค์ ์์ 5๊ณ์ธต์ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค. ๋ฌผ๋ฆฌ ๊ณ์ธต๋ถํฐ ์์ฉ ๊ณ์ธต๊น์ง ๊ฐ ๋จ๊ณ๋ค์ด ์ ํ์ํ์ง, ์ด๋ป๊ฒ ๋์ํ๋์ง ์ค๋ช ํด๋ณด์.
๐Layer 1 : ๋ฌผ๋ฆฌ ๊ณ์ธต (Physical Layer)
์ ํธ ๋ณํ
์ปดํจํฐ๋ 0๊ณผ 1์ ์ ๋ณด๋ง์ ๊ฐ์ง๊ณ ๋ชจ๋ ๊ฒ์ ํํํ๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๊ฐ ์ด๋ฌํ ์ ๋ณด๋ฅผ ๋ฌผ๋ฆฌ์ ์ ํธ(ํํ, ๋น ๋ฑ)๋ฅผ ํตํด ์ ๋ฌํด์ผํ๋๋ฐ, ๋ฌผ๋ฆฌ ๊ณ์ธต์ ์ด๋ฅผ ๋ณํํ์ฌ ๋ฉ๋ฆฌ ๋จ์ด์ง ๊ณณ๊น์ง ์ ๋ณด๋ฅผ ์ก์ ํ ์ ์๋๋ก ํด์ฃผ๋ ๊ณ์ธต์ด๋ค.
ํนํ ๊ดํต์ ์ ์ ์ธ๊ณ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๋ ๊ด์ผ์ด๋ธ์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ์ง๊ตฌ ๋ฐ๋ํธ์์ ์ก์ ๋ ์ ๋ณด๋ฅผ 0.2์ด๋ง์ ๋ฐ์ ์ ์๋ค. ์ง๊ณต์ํ์์๋ ์ฝ 0.13์ด๊ฐ ๊ฑธ๋ฆฌ์ง๋ง, ๊ด์ฌ์ ์ ๊ตด์ ๊ณผ ๋ฐ์ฌ๋ก ์ธํด 30~40% ์ ๋ ์ง์ฐ๋์ด 0.2์ด๊ฐ ๊ฑธ๋ฆฐ๋ค.
๊ดํต์ ์์๋ 0(๋น์ด ํ๋ฅด์ง ์๋๋ค), 1(๋น์ด ํ๋ฅธ๋ค)๋ก ์ปดํจํฐ์ 0๊ณผ 1์ ์ ๋ณด์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์, ๋ณํํ๋ ๊ณผ์ ์ด ๋จ์ํ๋ค. ํ์ง๋ง, ๊ณต์ค์ ๋ ๋ค๋๋ ํ์ฅ์ ์ก์ ์ํ๋ ์ ๋ณด๋ฅผ ์ฐพ์์ ๋ณํํ๋ ๊ณผ์ ์ ์กฐ๊ธ ๋ณต์กํ๋ค. ์๋ง์ ํํ๋ค์ด ์ค์ฒฉ๋์ด์๋ ๋ณต์กํ ํํ์์ ๊ธฐ๋ณธ์ ์ธ ์ฃผ๊ธฐํจ์์ธ ์ฌ์ธํจ์์ ์ฝ์ฌ์ธ ํจ์์ ์กฐํฉ์ผ๋ก ๋ณํํ๋ ๊ณผ์ (ํธ๋ฆฌ์ ๋ณํ)์ด ํ์ํ๋ฐ, ๊ทธ ๊ณผ์ ์ญ์ ๋ฌผ๋ฆฌ ๊ณ์ธต์ ํฌํจ๋๋ค.
๐Layer 2 : ๋งํฌ ๊ณ์ธต (Data Link Layer)
๋ฐ์ดํฐ๊ทธ๋จ(datagram) -> ํ๋ ์(frame)
TCP/IP ์ธํฐ๋ท์์ ๊ธฐ๋ณธ ์ ์ก ๋จ์๋ฅผ ๋ฐ์ดํฐ๊ทธ๋จ(datagram)์ด๋ผ๊ณ ํ๋๋ฐ, 3๊ณ์ธต์ ํด๋นํ๋ ๋คํธ์ํฌ ๊ณ์ธต์์ ๋ฐ์ดํฐ๊ทธ๋จ์ ๊ฐ์ ธ์ ๋งํฌ๋ฅผ ํตํด ์ด๋์ํจ๋ค. ์ด๋ ๋ผ์ฐํฐ๋ ์ต์์ ๋งํฌ๋ฅผ ์ ํํด ์ ์กํ๊ฒ๋๊ณ , ์ธํฐ๋ท์ ์ด๋ ๊ฒ ๋ผ์ฐํฐ์ ์ํด ์ฐ๊ฒฐ๋ ์๋ง์ ๋งํฌ๋ก ๊ตฌ์ฑ๋๋ค(3๊ณ์ธต). ์ด๋๋ท(Ethernet), ๋ฌด์ LAN, ์ ์ WAN, ๋ฌด์ WAN(LTE, 5G NR)์ด ์ด์ ํด๋นํ๋ค. ๋ฐ๋ผ์ 2๊ณ์ธต์์๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ๊ฐ์ ธ์ ํ๋ ์(frame)์ด๋ผ๋ ํจํท์ ์บก์ํ์ํจ๋ค.
์๋ฌ ์ ์ด
๋งํฌ ๊ณ์ธต์์๋ ์๋ฌ๋ฅผ ๊ฐ์งํ๊ณ ์ฒ๋ฆฌํ๋ ์ญํ ๋ ํ๋ค. ์ ๊ธฐ์ ์ ํธ๋ค์ ์ธ๋ถ ์ํฅ์ ๋ฐ๋ผ ๋ฌผ๋ฆฌ์ ์์ค๊ณผ ์ ๊ธฐ์ ์ ํธ ๋ณํ์ ๋งค์ฐ ์ทจ์ฝํ๋ฐ, ์์ ๊ณผ์ ์์ 1๊ณ์ธต์์์ ์ ๊ธฐ์ ์ ํธ๋ฅผ ํ๋ ์(frame)ํ ํ๋ ๊ณผ์ ์์ ์๋ฌ๋ฅผ ๊ฒ์ถํ๊ณ ์ฒ๋ฆฌํ๋ค.
๐Layer 3 : ๋คํธ์ํฌ ๊ณ์ธต (Network Layer)
๋คํธ์ํฌ ๊ณ์ธต์ ํธ์คํธ๊ฐ ํต์ ๊ณผ, ๊ฐ๋ฅํ ๊ฒฝ๋ก๋ฅผ ํตํด ํจํท์ ๋ผ์ฐํ ํ๋ค. ๋ฐ๋ผ์ ๋คํธ์ํฌ ๊ฐ์ ํต์ ์ ํธ์คํธ ๊ฐ์ ํต์ ์ด ๋๋ฉฐ, ๊ฐ ํจํท์ ๋ํ ์ต์์ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค. ์ด๋ ์ด๋ํ๋ ์ ๋ณด์ ์ ์ก ๋จ์์ธ ๋ฐ์ดํฐ๊ทธ๋จ์ ์ํํธ์จ์ด์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉฐ, ๊ทธ ํ์๊ณผ ๋ด์ฉ์ด ํ๋์จ์ด์ ์ผ๋ก ์ ์ฝ์ ๋ฐ์ง ์๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ก์์ ์ ๋งค๊ฐ์ฒด์ธ ๋ผ์ฐํฐ๋ ์ํํธ์จ์ด ์ฒ๋ฆฌ ์ฅ์น๋ผ๊ณ ํ ์ ์๋ค.
์ธํฐ๋ท ํ๋กํ ์ฝ(IP)
์ฐ๋ฆฌ๊ฐ ํ์์ ์๊ณ ์๋ IP ์ฃผ์๋ 3๊ณ์ธต์์ ์ฒ์ ๋ฑ์ฅํ ๊ฐ๋ ์ด๋ค. ๋ผ์ฐํ ์ด ์งํ๋๊ธฐ ์ํด์ ๋ชฉ์ ์ง์ ๊ฒฝ๋ก์ ์ฃผ์๊ฐ ํ์ํ๋ฐ, ์ด๋ ๋ฑ์ฅํ ๊ฐ๋ ์ด IP์ธ ๊ฒ์ด๋ค. 3๊ณ์ธต์์๋ ์ด๋ฌํ ์ฃผ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ์ด์ IP ํด๋๋ฅผ ๋ถํ๋ค.
๐Layer 4 : ์ ์ก ๊ณ์ธต (Transport Layer)
์์ฉ ๊ณ์ธต(Application Layer)์์ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ์ด๋ฅผ ์ ์ก ๊ณ์ธต์ ํจํท์ ์บก์ํํ์ฌ ์ ์กํ๋ค. ์ด๋ ๊ฒ ์ ์ก๋๋ 4๊ณ์ธต์ ๋จ์๋ฅผ ์ธ๊ทธ๋จผํธ(segment) ํน์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ(user datagram)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ ์ก ์ ์ด ํ๋กํ ์ฝ(TCP)
TCP๋ ์ฐ๊ฒฐํ ํ๋กํ ์ฝ๋ก์จ, ๋ฐ์ดํฐ์ ํ๋ฆ์ ์ ์กํ๊ธฐ ์ํด ๋ TCP ์ฌ์ด์ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์ ์์ฑํ๋ค.
- ํ๋ฆ ์ ์ด(Flow Control) ํธ์คํธ๊ฐ ์ ์กํ ์๋ณธ ๋ฐ์ดํฐ์ ์๋๋ฅผ ๋์ ํธ์คํธ์ ์์ ๋ฐ์ดํฐ ์๋์ ์ผ์น์์ผ์ ํ๋ฆ์ ์ ์ดํ๋ค.
- ์ค๋ฅ ์ ์ด(Error Control) ์ธ๊ทธ๋จผํธ๊ฐ ์ค๋ฅ ์์ด ๋ชฉ์ ์ง์ ๋์ฐฉํ๋๋ก ๋ณด์ฅํ๊ณ , ์์๋ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ ์กํ๋ค. 2๊ณ์ธต(๋งํฌ ๊ณ์ธต)์์๋ ์๋ฌ๋ฅผ ๊ฐ์งํ๊ณ ์ฒ๋ฆฌํ๋๋ฐ, 4๊ณ์ธต์์๋ ๋ฐ๋ณตํ๋ ์ด์ ๋ ์๋ฌ๋ฅผ ์๋ฌด๋ฆฌ ์ฒดํฌํด๋ 100% ์ก์ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๊ณผ์ ์ ๋ฐ๋ณตํ์ฌ ํ๋ฅ ์ ์ค์ด๋ ๊ฒ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก TCP๋ ์ถฉ๋ถํ ๋ฎ์ ์๋ฌ ํ๋ฅ ์ ํตํด ์ ๋ขฐ์ฑ์ ๋ณด์ฅํด์ค๋ค.
- ํผ์ก ์ ์ด(Congestion Control) ๋คํธ์ํฌ ํผ์ก์ผ๋ก ์ธํ ์ธ๊ทธ๋จผํธ์ ์์ค์ ๊ฐ์์ํจ๋ค.
์ฌ์ฉ์ ๋ฐ์ดํฐ๊ทธ๋จ ํ๋กํ ์ฝ(UDP)
UDP๋ TCP์๋ ๋ค๋ฅด๊ฒ ๋น์ฐ๊ฒฐํ ํ๋กํ ์ฝ๋ก์จ, TCP์์๋ ํ๋ฆ์ ์ ์ดํ์ฌ ์ ์ก ์์๊ฐ ๋ณด์ฅ๋์ง๋ง, UDP์์๋ ์ ์ก ์์๊ฐ ๋ฐ๋ ์๋ ์๋ค. ๋ํ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ์ง ์์ผ๋ฏ๋ก, ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ ํ๋ฅ ์ด ๋ ๋๊ณ ์ ๋ขฐ์ฑ์ด ๋ฎ๋ค. ๊ทธ๋ ๋ค๊ณ UDP๊ฐ TCP๋ณด๋ค ์ธ๋ชจ๊ฐ ์๋ ๊ฒ์ ์๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ด ์๋ ๋งํผ ๋ฐ์ดํฐ์ ์ ์ก ์๋๊ฐ TCP๋ณด๋ค ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ป๊ฒ ํ์ฉ๋๋์ง์ ๋ฐ๋ผ TCP๋ฅผ ์ฌ์ฉํ ์ง, UDP๋ฅผ ์ฌ์ฉํ ์ง๊ฐ ๋ฌ๋ผ์ง๋ค.
๋ฐ๋ผ์, TCP๋ ์ค์ํ ์ ๋ณด๋ ์ ๋ขฐ์ฑ ํ๋ณด๊ฐ ํ์ํ ์ ์ก์ ํ ๋, ์ฆ ์น ํ์ด์ง ์ ์(HTTP/HTTPS), ๋ฉ์ผ, ํฐ๋ฏธ๋ ์ ์ ๋ฑ์ ํ์ฉ๋๋ฉฐ, UDP๋ ์ค์๊ฐ์ผ๋ก ๋น ๋ฅธ ์ ๋ณด๋ฅผ ์ ์กํด์ผํ ๋, ์ฆ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ, ์์ฑ ์ ํ ๋ฑ์ ํ์ฉ๋๋ค.
๐Layer 5 : ์์ฉ ๊ณ์ธต (Application Layer)
์์ฉ ๊ณ์ธต์ ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค. HTTP/HTTPS๋ฅผ ์ด์ฉํ์ฌ World Wide Web(WWW)์ ์ ์ํ๊ธฐ๋ ํ๊ณ , ํฐ๋ฏธ๋ ๋คํธ์ํฌ(TELNET), ๋ณด์ ์ (SSH)๋ฅผ ์ด์ฉํ์ฌ ์๊ฒฉ ์ฌ์ดํธ์ ์ ์ํ๊ธฐ๋ ํ๋ค. ๋ฐ๋ผ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ๋ณด๋ฅผ ๊ตํํ๋ค. ๊ฐ์ฅ ์ฌ์ฉ์์ ๋ง๋ฟ์์๋ ๊ณ์ธต์ด๊ธฐ ๋๋ฌธ์ ์๋ ์์คํ ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ๋ณด๋ฅผ ๊ตํํ๋ค. ์์ฉ ๊ณ์ธต์ ํจํท์ ๋ฉ์ธ์ง(message)๋ผ๊ณ ๋ถ๋ฅธ๋ค.