1. ์ธํฐ๋ท ๊ตฌ์ฑ ์์
- ํธ์คํธ: ๋คํธ์ํฌ ๊ธฐ๋ฅ์ ํฌํจํ๋ ์ปดํจํฐ๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํํ๋ ์ฃผ์ฒด์ด๋ค.
- ๋ผ์ฐํฐ: ๋ชฉ์ ์ง๊น์ง ๊ฐ์ฅ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ํ ํธ์คํธ ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ด ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ฅ์น์ด๋ค.
- ํต์ ํ๋กํ ์ฝ: ํธ์คํธ-ํธ์คํธ, ํธ์คํธ-๋ผ์ฐํฐ, ๋ผ์ฐํฐ-๋ผ์ฐํฐ ์ฌ์ด์ ํต์ ํ๊ธฐ ์ํ ์ ํด์ง ์ ์ฐจ์ ๋ฐฉ๋ฒ์ด๋ค.
2. TCP/IP
์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ์๋ก ๋ค๋ฅธ ๊ธฐ์ข ์ ์ปดํจํฐ๋ค์ด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ํ๋ ํ์ค ํ๋กํ ์ฝ๋ก TCP์ IP๋ฅผ ๋น๋กฏํ ๊ฐ์ข ํ๋กํ ์ฝ์ ์ด์นญํ๋ค.
- ํด๋ผ์ด์ธํธ-์๋ฒ ๋ชจ๋ธ: ์ฌ์ฉ์์ธ ํด๋ผ์ด์ธํธ์ ์๊ตฌ์ ๋์ํ์ฌ ๋คํธ์ํฌ ์์ ์๋ฒ๊ฐ ์น ํ์ด์ง๋ฅผ ๋ณด๋ธ๋ค.
- ์ ๋์ ํต์ : ๊ฐ ํต์ ์ด ๋คํธ์ํฌ ์์ ํ ์ (ํธ์คํธ)์ผ๋ก๋ถํฐ ์์ํด ๋ค๋ฅธ ์ (ํธ์คํธ)์ผ๋ก ์ ๋ฌํ๋ค.
1) TCP
์ธํฐ๋ท์์์ ๋ฐ์ดํฐ๋ฅผ ๋ฉ์์ง์ ํํ๋ก ๋ณด๋ด๊ธฐ ์ํด IP์ ํจ๊ป ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๋ค.
- ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ๋ ์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ์ด๋ค.
- ๋ฐ์ดํฐ๊ฐ ๊ฐ๋จ์ ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ ์ํด ๊ตํ๋๋ ์๊ฐ ๋์ ์ฐ๊ฒฐ์ ์ ์งํ๋ ๊ฒ์ ์ฐ๊ฒฐ ์งํฅํ์ด๋ผ ํ๋ค.
- ์ธ์
์ ์ฐ๊ฒฐ๊ณผ ์ข
๋ฃ, ํจํท์ ์ถ์ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํํ๋ค.
- ํจํท์ด๋ ๋ผ์ฐํ ์ ํจ์จ์ ์ผ๋ก ํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋๋ ์กฐ๊ฐ์ ๋งํ๋๋ฐ, ๋ฐ์ดํฐ๋ฅผ ํจํท ๋จ์๋ก ๋๋์ด ํจํท ๋ฒํธ๋ฅผ ๋ถ์ธ ํ IP ๊ณ์ธต์ผ๋ก ์ ์กํ๋ฉด ๋ฐ๋ํธ์์๋ ๋๋ ์ง ํจํท์ ์์ ํ ๋ฐ์ดํฐ๋ก ์ฌ์กฐ๋ฆฝํ๋ค.
- ์ข
๋จ ์์คํ
๊ฐ์ ํ๋ฆ ์ ์ด, ํผ์ก ์ ์ด, ์ค๋ฅ ์ ์ด๋ฅผ ์ง์ํ๋ฉฐ ๋ฐ์ดํฐ์ ์์๋ฅผ ๋ณด์ฅํ๋ค.
- ํ๋ฆ ์ ์ด: ๋ณด๋ด๋ ์ธก๊ณผ ๋ฐ๋ ์ธก์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด๋ฅผ ์กฐ์ ํ๋ค.
- ํผ์ก ์ ์ด: ๋คํธ์ํฌ ๋ด์ ํจํท ์๊ฐ ๋์น์ง ์๋๋ก ๋ฐฉ์งํ๋ค.
2) IP
๋คํธ์ํฌ ์ ๊ทผ ๊ณ์ธต์ ๋์์ ๋ฐ์ IP ์ฃผ์๋ก ๋ฐ์ดํฐ๋ฅผ ๋ชฉ์ ์ง ํธ์คํธ๊น์ง ๋ฐฐ๋ฌํ๋ ํ๋กํ ์ฝ์ด๋ค.
- ๋น์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ์ด๋ค.
- ๊ฐ ํจํท์ ์ฃผ์ ๋ถ๋ถ์ ์ฒ๋ฆฌํจ์ผ๋ก์จ ํจํท๋ค์ด ๋ชฉ์ ์ง์ ์ ํํ๊ฒ ๋๋ฌํ ์ ์๊ฒ ํ๋ ๋ผ์ฐํ (๊ฒฝ๋ก ๋ฐฐ์ )์ ์ํํ๋ค.
3) TCP/IP 4๊ณ์ธต
- ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๊ณ์ธต: ์ผ์ด๋ธ, LAN ์ ์ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ฐ๊ฒฐ์ ๊ตฌ์ฑํ๋ค.
- ์ธํฐ๋ท ๊ณ์ธต: ๋ฐ์ดํฐ ์ ์ก์ ์ํ ์ฃผ์ ์ง์ ๊ณผ ๊ฒฝ๋ก ์ค์ ์ ์ ๊ณตํ๋ค.
- ์ ์ก ๊ณ์ธต: ํธ์คํธ ๊ฐ์ ํต์ ์ ์ ๊ณตํ๊ณ ๋ฐ์ดํฐ์ ์ค์ ์ก์์ ์ ๋ด๋นํ๋ค.
- ์์ฉ ๊ณ์ธต: ๋คํธ์ํฌ๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑํ๋ค.
3. TCP ์ฐ๊ฒฐ ๋ฐ ํด์
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ TCP ์ฐ๊ฒฐ์ ์ฑ๋ฆฝํ๊ณ ํด์ ๋ผ๋ ๊ณผ์ ์ ๋งํ๋ค
1) 3-way handshake
TCP๋ ์ ํํ ์ ์ก์ ๋ณด์ฅํด์ผ ํ๋ฏ๋ก ํต์ ์ ๋ ผ๋ฆฌ์ ์ธ ์ ์์ ์ฑ๋ฆฝํ๊ธฐ ์ํด ํ๋ ๊ณผ์ ์ด๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ ์์ ์์ฒญํ๋ SYN(x) ํจํท์ ๋ณด๋ธ๋ค. ์ด๋ x๋ ์์์ ๋๋ค ์ซ์๋ก ์ง์ ํ๋ค.
- SYN(Synchronize sequence numbers)์ ๋๊ธฐํ ์์ฒญ์ ๋ปํ๋ค.
- x๋ ์ ๋๋ค ์ซ์๋ฅผ ๋ณด๋ผ๊น? Connection์ ๋งบ์ ๋ ์ฌ์ฉํ๋ ํฌํธ(Port)๋ ์ ํ ๋ฒ์ ๋ด์์ ์ฌ์ฉํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌ์ฌ์ฉ๋๋ค. ๋ฐ๋ผ์ ๋ ํต์ ํธ์คํธ๊ฐ ๊ณผ๊ฑฐ์ ์ฌ์ฉ๋ ํฌํธ ๋ฒํธ ์์ ์ฌ์ฉํ๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค. ์๋ฒ ์ธก์์๋ ํจํท์ SYN์ ๋ณด๊ณ ํจํท์ ๊ตฌ๋ถํ๊ฒ ๋๋๋ฐ ๋์๊ฐ ์๋ ์์ฐจ์ ์ธ Number๊ฐ ์ ์ก๋๋ค๋ฉด ์ด์ ์ Connection์ผ๋ก๋ถํฐ ์ค๋ ํจํท์ผ๋ก ์ธ์ํ ์ ์๋ค.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ธ SYN(x) ํจํท์ ๋ฐ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ์ ์๋ฝํ๋ค๋ ACK(x+1)์ ํด๋ผ์ด์ธํธ๋ ํฌํธ๋ฅผ ์ด์ด๋ฌ๋ผ๋ SYN(y)๊ฐ ์ค์ ๋ ํจํท์ ๋ณด๋ธ๋ค.
- ํ์ธ, ์๋ต์ ๋ปํ๋ ACK(Acknowledgment)๋ ์ ๋ขฐ์ ๋ฐ์ดํฐ ์ ์ก์ ์ํด ์ฌ์ฉ๋๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์๋ต์ธ ACK(x+1)์ SYN(y) ํจํท์ ๋ฐ๊ณ ACK(y+1)๋ฅผ ์๋ฒ๋ก ๋ณด๋ด๋ฉด ์ฐ๊ฒฐ์ด ์ฑ๋ฆฝ๋๋ค.
2) 4-way handshake
์ฐ๊ฒฐ ์ฑ๋ฆฝ ํ, ๋ชจ๋ ํต์ ์ด ๋๋ฌ๋ค๋ฉด ํด์ ํด์ผ ํ๋ค.
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ค๋ FIN ํ๋๊ทธ๋ฅผ ๋ณด๋ธ๋ค.
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ(FIN)์ ๋ฐ๊ณ ํ์ธ ๋ฉ์์ง๋ก ACK๋ฅผ ๋ณด๋ธ๋ค. ์ด๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋๊น์ง ์ ๊น TIME_OUT์ด ๋๋ค.
- ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ณด๋ด๊ณ ํต์ ์ด ๋๋ฌ๋ค๋ฉด ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋์๋ค๊ณ ํด๋ผ์ด์ธํธ์๊ฒ FIN ํ๋๊ทธ๋ฅผ ๋ณด๋ธ๋ค.
- ํด๋ผ์ด์ธํธ๋ FIN ํ๋๊ทธ๋ฅผ ๋ฐ๊ณ ํ์ธํ๋ค๋ ACK๋ฅผ ์๋ฒ์๊ฒ ๋ณด๋ธ๋ค.
- ํด๋ผ์ด์ธํธ์ ACK ๋ฉ์์ง๋ฅผ ๋ฐ์ ์๋ฒ๋ ์์ผ ์ฐ๊ฒฐ์ Close ํ๋ค.
- ํด๋ผ์ด์ธํธ๋ ์์ง ์๋ฒ๋ก๋ถํฐ ๋ฐ์ง ๋ชปํ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒ์ ๋๋นํด ์ผ์ ์๊ฐ ๋์ ์ธ์ ์ ๋จ๊ฒจ๋๊ณ ์์ฌ ํจํท์ ๊ธฐ๋ค๋ฆฐ๋ค. TIME_WAIT ์๊ฐ์ด ๋๋๋ฉด ํด๋ผ์ด์ธํธ๋ Close ํ๋ค.
4. TCP/UDP
1) TCP(Transmission Control Protocol)
- ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ๋ ์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ์ด๋ค.
- ๋ฐ์ ์ง์ ์์ ์ง๋ฅผ ์ฐ๊ฒฐํ์ฌ ํจํท์ ์ ์กํ๊ธฐ ์ํ ๋ ผ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ๋ฐฐ์ ํ๋ ๊ฐ์ ํ์ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ๋ฉํฐ ์บ์คํ ์ด๋ ๋ธ๋ก๋์บ์คํ ์ ์ง์ํ์ง ์๋๋ค.
- ๋๋ถ๋ถ์ ์น HTTP ํต์ , ์ด๋ฉ์ผ, ํ์ผ ์ ์ก์ ์ฌ์ฉ๋๋ค.
2) UDP(User Datagram Protocol)
- ์ ๋ขฐ์ฑ์ด ๋ฎ์ ๋ฐ์ดํฐ ์ ์ก์ ์ง์ํ๋ ๋น์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ์ด๋ค.
- ์ฐ๊ฒฐ์ ์ํด ํ ๋น๋๋ ๋ ผ๋ฆฌ์ ๊ฒฝ๋ก๊ฐ ์๊ณ ์ฌ์ ์ก์ ํ์ง ์๋๋ค.
- ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ ๋ฆฝ์ ์ธ ๊ด๊ณ๋ฅผ ๊ฐ๋ ํจํท์ผ๋ก ๊ฐ๊ฐ์ ํจํท์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ์ ์ก๋๋ ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
- ํผ์ก ์ ์ด๋ฅผ ํ์ง ์์ TCP ๋ณด๋ค ๋น ๋ฅด๋ค.
- RTP(Real Time Protocol), ๋ฉํฐ์บ์คํธ, DNS์ ์ด๋ฆ ํด๊ฒฐ์์ ์ฌ์ฉ๋๋ค.
3) ์ฐจ์ด์