์์ ๋คํธ์ํฌ ๊ณ์ธต ๋ชจ๋ธ์ธ OSI 7๊ณ์ธต์ ๋ํด ์ดํด๋ณด์๋ค.
์ด๋ฒ์ ๋คํธ์ํฌ ๊ณ์ธต์ค 4๋ฒ์งธ ๊ณ์ธต์ธ '์ ์ก๊ณ์ธต' ์ ๋ํด ์ดํด๋ณผ๊ฑด๋ฐ
์ฐ๋ฆฌ๊ฐ ๋ง์ด ๋ค์ด๋ดค์๋ฒํ TCP , UDP ๊ฐ ํด๋น ๊ณ์ธต์ ์ํ๋ ๋ํ์ ์ธ ํ๋กํ ์ฝ์ด๋ค. 
OSI 7๊ณ์ธต ๋ชจ๋ธ์์ ์ ์ก ๊ณ์ธต (Transport layer) ๋
์์ ์ ์ธ ์ ์ก๋ก๋ฅผ ์ ๊ณตํ๋ฉฐ ๋ฐ์ดํฐ ์ ์ก ์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๋ค.
์ค๋ฅ๊ฐ ํ์ธ๋๋ฉด ์ฌ์ ์ก์ ์์ฒญํ๊ฑฐ๋, ๋ณต๊ตฌ๋ฅผ ์งํํ๊ฒ ๋๋๋ฐ ์ด๋ฌํ ์ ๋ขฐ์ฑ ์๋ ์ ์ก ์ ์ฐจ๋ TCP ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๊ธด ํน์ง์ด๋ค.
์ ์ก ๊ณ์ธต์์์ ๋ฐ์ดํฐ ๋จ์๋ ์ธ๊ทธ๋จผํธ(Segment) ์ด๋ฉฐ ,
TCP , UDP ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ก ๋๋์ด ์์ ๋ฒํธ , ์์ ์ธก ์ฃผ์ , ์๋ฌ ๊ฒ์ถ ์ฝ๋ ๋ฅผ ์ถ๊ฐํ์ฌ ์ ์กํ๋ค.
๋ํ ํ์๊ณ์ธต์์ ์ ๋ฌ ๋ฐ์ ์ธ๊ทธ๋จผํธ๋ฅผ ์๋์ ๋ฉ์ธ์ง๋ก ๋ณต๊ตฌํ๋ ๊ณผ์ ์ ์ํํ๊ฒ ๋๋ค
TCP๋ Trancemission Control Protocol์ ์ฝ์์ด๋ค.
โถ๏ธ ์ก์ ์ธก TCP ๋ ๋ฐ์ดํฐ๋ฅผ ํจํท์ผ๋ก ๋๋์ด ์ผ๋ จ๋ฒํธ , ์์ ์ธก ์ฃผ์, ์๋ฌ ๊ฒ์ถ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ์ ์กํ๋ค
โถ๏ธ ์์ ์ธก ๋์ฐฉ ์ ํจํท์ ์์๋๋ก ์ฌ์กฐ์ ํ๊ณ , ์๋ฌ๊ฐ ์๋ ๊ฒฝ์ฐ ์ก์ ์ธก์ ์ฌ์ ์ก์ ์์ฒญํ๋ค
์ด๋ ์์ ์ธก์ ์ธ์ฆ์ด ํ์ํ๋ค
โถ๏ธ ์ด๋ฌํ ํน์ง์ผ๋ก ์ธํด ์์ ์ ์ธ ์ ์ก๋ก๋ฅผ ์ ๊ณตํ๋ฉฐ , ์ ๋ขฐ์ฑ ๊ธฐ๋ฐ์ ํ๋กํ ์ฝ ์ด๋ผ๊ณ ํ ์ ์๋ค.
โถ๏ธ ๋ฐ์ดํธ ์คํธ๋ฆผ(Byte Stream) ์๋น์ค: TCP๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ์๋ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ์ทจ๊ธํ๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์กํ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํฌ๊ธฐ์ ์ธ๊ทธ๋จผํธ๋ก ๋๋์ด ์ ์กํ๋ฉฐ, ์์ ์ธก์์๋ ์ด๋ฅผ ๋ค์ ๋ฐ์ดํธ ์คํธ๋ฆผ์ผ๋ก ์ฌ๊ตฌ์ฑํ๋ค.

โถ๏ธ ์ ์ด์ค(Full-duplex) ํต์ : ๋ฐ์ดํฐ๊ฐ ์๋ฐฉํฅ์ผ๋ก ๋์์ ์ ์ก๋ ์ ์๋ค. ์ฆ, ์์ชฝ ๋๋จ์์ ๋์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
โถ๏ธ ์ฐ๊ฒฐ ์ค์ ๋ฐ ํด์ : 3-way handshake๋ฅผ ํตํ ์ฐ๊ฒฐ ์ค์ ๊ณผ 4-way handshake๋ฅผ ํตํ ์ฐ๊ฒฐ ์ข ๋ฃ ๊ณผ์ ์ ๊ฐ์ง๋ค.
โถ๏ธ ํ๋ฆ ์ ์ด(Flow Control):
์์ ๋ฒํผ์ ์ค๋ฒํ๋ก์ฐ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์๋์ฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ (๋์ ๋ณํ)ํ์ฌ ์ก์ ์์ ์ ์ก ์๋๋ฅผ ์ ์ดํ๋ค(sliding windows) , ๋ํ ์์ ๋ฒํผ์ ๋ฐ๋ผ ์ก์ ์ ์ ์ดํ๋ XON/XOFF ๊ธฐ๋ฒ ์ ์ ๊ณตํ๋ค .
โถ๏ธ ํผ์ก ์ ์ด(Congestion Control):
๋คํธ์ํฌ์ ํผ์ก ์ํ๋ฅผ ๊ฐ์งํ๊ณ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ์กฐ์ ํ๋ ๊ธฐ๋ฅ์ด ์๋ค. ์ฌ๋ก์ฐ ์คํํธ, ํผ์ก ํํผ, ๋น ๋ฅธ ์ฌ์ ์ก, ๋น ๋ฅธ ํ๋ณต ๋ฑ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค.
โถ๏ธ ์์ ๋ณด์ฅ: ์ธ๊ทธ๋จผํธ์ ์ผ๋ จ๋ฒํธ(Sequence Number)๋ฅผ ๋ถ์ฌํ์ฌ ๋ฐ์ดํฐ๊ฐ ์์๋๋ก ์ ๋ฌ๋๋๋ก ๋ณด์ฅํ๋ค.
โถ๏ธ ์ค๋ฅ ๊ฒ์ถ ๋ฐ ๋ณต๊ตฌ: ์ฒดํฌ์ฌ(Checksum)์ ํตํ ์ค๋ฅ ๊ฒ์ถ๊ณผ ์ฌ์ ์ก์ ํตํ ์ค๋ฅ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ Stop and Wait(๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ํ์ธ ์๋ต์ ๊ธฐ๋ค๋ฆฐ๋ค) ์ ์ ๊ณตํ๋ค.

์์ ๊ทธ๋ฆผ์ tcp ์ ํค๋์ ๊ดํ ๊ทธ๋ฆผ์ด๋ค.
โถ๏ธํ๋๊ทธ ๋นํธ๋ ?
TCP ํค๋์ ํ๋๊ทธ๋ TCP ์ธ๊ทธ๋จผํธ์ ํน์ฑ๊ณผ ๋ชฉ์ ์ ๋ํ๋ด๋ ์ค์ํ ์์์ด๋ค. ๊ฐ ํ๋๊ทธ๋ 1๋นํธ๋ก ํํ๋๋ฉฐ, ํ์ฑํ ์ ํน์ ๊ธฐ๋ฅ์ด๋ ์ํ๋ฅผ ๋ํ๋ด๊ฒ ๋๋ค.
TCP๋ ์ฐ๊ฒฐํ(๋
ผ๋ฆฌ์ ์ฐ๊ฒฐ) ์๋น์ค ํ๋กํ ์ฝ์ด๋ค.
3-way handshake ๋ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๊ณผ์ ์ผ๋ก, ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ์ ๋ขฐ์ฑ์๋ ์ฐ๊ฒฐ์ ํ๋ฆฝํ๊ธฐ ์ํ ํต์ฌ ์ ์ฐจ์ด๋ค.

์ด ๊ณผ์ ์ ํตํด ์๋ฐฉํฅ ํต์ ์ฑ๋์ด ์ค์ ๋๊ณ , ๋ ํธ์คํธ๋ ์๋ก์ ์ด๊ธฐ ์ํ์ค ๋ฒํธ๋ฅผ ์ธ์ํ๊ฒ ๋๋ค. 3-way handshake๊ฐ ์๋ฃ๋๋ฉด ๋ฐ์ดํฐ ์ ์ก์ด ์์๋ ์ ์๋ค.
4-way handshake๋ TCP ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ ๊ณผ์ ์ผ๋ก, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ฐ๊ฒฐ์ ์์ ํ๊ฒ ์ข ๋ฃํ๊ธฐ ์ํ ์ ์ฐจ์ด๋ค. ์ฌ๊ธฐ์๋ FIN ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ค

๐FIN (finish) : ์ธ์ ์ ์ข ๋ฃ์ํค๋๋ฐ ์ฌ์ฉ๋๋ฉฐ, ๋ ์ด์ ๋ณด๋ธ ๋ฐ์ดํฐ๊ฐ ์์์ ๋ํ๋ธ๋ค.
4-way handshake๋ TCP ์ฐ๊ฒฐ์ ์์ ํ ์ข ๋ฃ๋ฅผ ๋ณด์ฅํ๋ฉฐ, ์์ชฝ ๋ชจ๋ ๋ชจ๋ ๋ฐ์ดํฐ ์ ์ก์ ์๋ฃํ ๊ธฐํ๋ฅผ ์ ๊ณตํ๋ค. ์ด ๊ณผ์ ์ ํตํด ๋ฐ์ดํฐ ์์ค ์์ด ๊น๋ํ ์ฐ๊ฒฐ ์ข ๋ฃ๊ฐ ์ด๋ฃจ์ด์ง๋ค.