[์์ฑ์: ๋
ธํฌ์ฌ]
๐กย ์ด๋ฒ ๋ฐํ์์ TCP/IP ๋ฅผ ๋์ฑ ์์ธํ ์์๋ณด๋ฉฐ
TCP/IP ์ ํ๋ฆ๊ณผ ์ค๋ฅ ์ ์ด ๋ฐฉ์ ๋ฑ์ ๋ํด ๋ค๋ฃจ์ด ๋ณด๊ฒ ์ต๋๋ค.
์ธํฐ๋ท์์ ์ปดํจํฐ๋ค์ด ์๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ์ ์ฐ์ด๋ ํ๋กํ ์ฝ์ ์งํฉ
ํ๋์ ์ธํฐ๋ท์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ TCP/IP Updated ๋ชจ๋ธ์ 5๊ฐ์ ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- encoding ๊ณผ decoding ์ด ์ด๋ฃจ์ด์ง๋ ๋ฌผ๋ฆฌ ๊ณ์ธต
- ๊ฐ์ ๋คํธ์ํฌ์ ์๋ ์ฌ๋ฌ๋์ ์ปดํจํฐ๋ค์ด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต
- routing, forwarding, segmentation ์ด ์ด๋ฃจ์ด์ง๋ ๋คํธ์ํฌ ๊ณ์ธต
- ์ต์ข ๋ชฉ์ ์ง์ธ ํ๋ก์ธ์ค๊น์ง ๋ฐ์ดํฐ๊ฐ ๋๋ฌํ๊ฒ ํ๊ธฐ ์ํด port ๋ฒํธ๋ฅผ ๋ถ์ด๋ ์ ์ก ๊ณ์ธต
- ์์ฉ ํ๋ก์ธ์ค์ ์ง์ ๊ด๊ณํ์ฌ ์์ฉ ์๋น์ค๋ฅผ ์ํํ๋ ์์ฉ ๊ณ์ธต
์ฌ๊ธฐ์ TCP/IP ๋ ๊ฐ๊ฐ
IP - 3๊ณ์ธต, TCP - 4๊ณ์ธต์์ ์ด๋ฃจ์ด์ง๋๋ค.
Internet Protocol ์ ์ฝ์.
์์ค IP ์ ๋ชฉ์ ์ง IP ๋ฅผ ์ฃผ์ด ์๋๋จ์ ํธ์คํธ๊ฐ์ ํต์ ์ ์ฑ ์์ง๋๋ค.
IP ์ ํน์ง์ ์ ๋ขฐ์ฑ ๋ฐ ํ๋ฆ ์ ์ด ๊ธฐ๋ฅ์ด ์ ํ ์๊ธฐ ๋๋ฌธ์
์ ๋ขฐ์ฑ์ ํ๋ณดํ๋ ค๋ฉด TCP ์ ๊ฐ์ ์์ ํธ๋์คํฌํธ ๊ณ์ธต์ ์์กดํด์ผ ํฉ๋๋ค.
๋ชฉ์ ์ง๊น์ง์ Routing ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ฃผ๋ ๊ฒ์ด IP ์ ํต์ฌ ๊ธฐ๋ฅ์
๋๋ค.
Transmission Control Protocol ์ ์ฝ์.
๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง์ด๋ ์ธํธ๋ผ๋ท, ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ์์
์คํ๋๋ ํ๋ก๊ทธ๋จ ๊ฐ์ ์์ ์ ์ผ๋ก, ์์๋๋ก, ์๋ฌ ์์ด ๊ตํ ํ ์ ์๊ฒ ํฉ๋๋ค.
TCP ํต์ ์ ์์ํ๊ธฐ ์ ์,
์ฐ๊ฒฐ์ ์ฑ๋ฆฝํ ์ค๋น๊ฐ ๋์๋์ง ๊ฒ์ฆํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
TCP ํต์ ์ ๋๋ด๊ธฐ ์ ์,
์ฐ๊ฒฐ์ ํด์ ํ ์ค๋น๊ฐ ๋์๋์ง ๊ฒ์ฆํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
*Acknowledgement
์ง๊ธ๊น์ง ๋ณด๋ด๊ฑฐ๋ ๋ฐ์ ๋ฐ์ดํฐ๋์ ์ฒดํฌํ์ฌ ์๋๋ฐฉ์๊ฒ ๋ณด๋ด๋ ๊ฒ์ ๋งํฉ๋๋ค.
๋ง์ฝ ์ก/์์ ์๊ฐ 300๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค๋ฉด 301๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ผ๋ ๋ป์ผ๋ก 1์ ์ถ๊ฐํ์ฌ 301์ ๋ณด๋ ๋๋ค.
*Negative Acknowledgement
ํต์ ์ ์ด์ฉ ์ ํธ๋ก, ๋ฐ์ดํฐ ์์ ์ ์๋ฌ๊ฐ ์์์์ ํ์ธํ๋ ์ ํธ์ ๋๋ค.
*Window Size
ํ ๋ฒ์ ๋ฐ์ ์ ์๋ ๋ฐ์ดํฐ์ ์์ ๋งํ๋ฉฐ 3-way Handshake ๋ ์์ ์ ์ธก์ด ์ ํฉ๋๋ค.
-
ํ๋ฆ ์ ์ด
๋ฐ์ดํฐ์ ์์ค์ด๋ ๋ถํ์ํ ์ก์ /์์ ์ ๋ง๊ธฐ ์ํด
์์ ์์ ๋ฐ๋ผ ์ก์ ์์ ๋ฐ์ดํฐ ์ ์ก๋์ ์กฐ์ ํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
๋ถํ ๋ ๋ฐ์ดํฐ์๋ ๊ณ ์ ํ ๋ฒํธ๊ฐ ๋ถ์ฌ ๋๋๋ฐ,
์ด๋ฅผ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ๋๋ก ์ ๋ฌ๋๋์ง ์ ์ ์๊ธฐ ๋๋ฌธ์
๋ฐ์ดํฐ ์ ๋ขฐ๋๊ฐ ๋์ง๋ง ์๋๋ ๋จ์ด์ง๋ ํน์ง์ ๊ฐ์ง๋๋ค.
Stop and Wait, Sliding Window ๋ฑ์ด ์์ต๋๋ค.
-
Stop and Wait
๋งค๋ฒ ์ ์กํ ํจํท์ ๋ํ ํ์ธ ์๋ต์ ๋ฐ์์ผ ๊ทธ ๋ค์ ํจํท์ ์ ์กํ ์ ์๊ธฐ ๋๋ฌธ์
๋นํจ์จ์ ์ด๋ผ๋ ๋จ์ ์ด ์์ต๋๋ค.
-
Sliding Window
์์ ์ธก์์ ์ค์ ํ ์๋์ฐ ํฌ๊ธฐ๋งํผ ์ก์ ์ธก์์ ํ์ธ ์๋ต ์์ด
์ธ๊ทธ๋จผํธ๋ฅผ ์ ์กํ ์ ์๊ฒ ํ์ฌ ๋ฐ์ดํฐ ํ๋ฆ์ ๋์ ์ผ๋ก ์กฐ์ ํ๋ ๋ฐฉ์์ ๋๋ค.
์ก์ ์ธก์์ ACK ํ๋ ์์ ์์ ํ์ง ์๋๋ผ๋ ์ฌ๋ฌ๊ฐ์ ํ๋ ์์ ์ฐ์์ผ๋ก ์ ์กํ ์ ์์ต๋๋ค.
-
-
์ค๋ฅ ์ ์ด
ํต์ ๊ณผ์ ์์ ๋ฐ์ํ ์ค๋ฅ ๊ฒ์ถ๊ณผ
๋ฐ์ดํฐ๊ฐ ์์ค๋์๋ค๋ฉด ์ฌ์ ์ก์ ํตํด ๋ณต๊ตฌ์ํค๋ ๊ฒ์ ๋งํฉ๋๋ค.
Stop and Wait ARQ, Go-Back-n ARQ ๋ฑ์ด ์์ต๋๋ค.
-
Stop and Wait ARQ
์ก์ ์ธก์์ 1๊ฐ์ ํ๋ ์์ ์ก์ ํ๊ณ , ์์ ์ธก์์ ์์ ๋ ํ๋ ์์ ์๋ฌ ์ ๋ฌด์ ๋ฐ๋ผ
ACK ํน์ NAK(Negative Acknowledgement) ๋ฅผ ๋ณด๋ด๋ ๋ฐฉ์์ ๋๋ค.
์๋ณ์ ์ํด ๋ฐ์ดํฐ ํ๋ ์๊ณผ ACK ํ๋ ์์ ๊ฐ๊ฐ 0, 1 ๋ฒํธ๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋ถ์ฌํฉ๋๋ค.
์์ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ง ๋ชปํ์ ๊ฒฝ์ฐ NAK ๋ฅผ ๋ณด๋ด๊ณ ,
NAK ๋ฅผ ๋ฐ์ ์ก์ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํฉ๋๋ค.
๋ง์ฝ ๋ฐ์ดํฐ๋ ACK ๊ฐ ๋ถ์ค๋์์ ๊ฒฝ์ฐ ์ผ์ ๊ฐ๊ฒฉ์ ์๊ฐ์ ๋๊ณ
ํ์์์์ด ๋๋ฉด ์ก์ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํฉ๋๋ค.
-
Go-Back-n ARQ
์ ์ก๋ ํ๋ ์์ด ์์๋๊ฑฐ๋ ๋ถ์ค๋ ๊ฒฝ์ฐ,
๊ทธ๋ฆฌ๊ณ ACK ํจํท์ ์์ค๋ก ์ธํ TIME-OUT ์ด ๋ฐ์ํ ๊ฒฝ์ฐ,
ํ์ธ๋ ๋ง์ง๋ง ํ๋ ์ ์ดํ๋ก ๋ชจ๋ ํ๋ ์์ ์ฌ์ ์กํฉ๋๋ค.
์ฌ๋ผ์ด๋ฉ ์๋์ฐ๋ ์ฐ์์ ์ธ ํ๋ ์ ์ ์ก ๊ธฐ๋ฒ์ผ๋ก
์ ์ก์ธก์ ์ ์ก๋ ํ๋ ์์ ๋ณต์ฌ๋ณธ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ฉฐ, ACK ์ NAK ๋ชจ๋ ๊ฐ๊ฐ ๊ตฌ๋ณํด์ผ ํฉ๋๋ค.
- ์ฌ์ ์ก ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ ๋ฆฌํด๋ณด์๋ฉด
- ์ ์ก์ธก์ NAK ํ๋ ์์ ๋ฐ์์ ๊ฒฝ์ฐ, NAK ํ๋ ์ ๋ฒํธ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํฉ๋๋ค.
- ์์ ์ธก์ ์ํ๋ ํ๋ ์์ด ์๋ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ๊ธฐ ์ฒ๋ถํฉ๋๋ค.
- TIME-OUT ์ ๊ฒฝ์ฐ, ๋ง์ง๋ง ACK ๋ ๋ฐ์ดํฐ๋ถํฐ ์ฌ์ ์กํฉ๋๋ค.
- ์ฌ์ ์ก ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ ๋ฆฌํด๋ณด์๋ฉด
-
-
ํผ์ก ์ ์ด
๋ง์ฝ ํ ๋ผ์ฐํฐ์ ๋ฐ์ดํฐ๊ฐ ๋ชฐ๋ฆด ๊ฒฝ์ฐ
์์ ์๊ฒ ์จ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ฒ๋ฆฌ ํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ํธ์คํธ๋ค์ ๋ ๋ค์ ์ฌ์ ์ก์ ํ๊ณ ํผ์ก๋๋ฅผ ๊ฐ์ค์์ผ
์ค๋ฒํ๋ก์ฐ๋ ๋ฐ์ดํฐ ์์ค์ ์ ๋ฐํ๋๋ฐ, ์ด๋ฅผ ๋ง๊ธฐ ์ํด
์ก์ ์ธก์์ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ์ค์ด๋ ๊ฒ์ ๋งํฉ๋๋ค.
AIMD, Slow Start, Fast Retransmit, Fast Recovery ๋ฑ์ด ์์ต๋๋ค.
-
AIMD (Additive Increase Multicative Decrease)
ํฉ ์ฆ๊ฐ/๊ณฑ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํฉ๋๋ค.
์ฒ์์ ํจํท ํ๋๋ฅผ ๋ณด๋ด๋ ๊ฒ์ผ๋ก ์์ํ์ฌ ์ ์กํ ํจํท์ด ๋ฌธ์ ์์ด ๋์ฐฉํ๋ฉด Window Size ๋ฅผ 1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ์ ์กํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ง์ฝ ํจํท ์ ์ก์ ์คํจํ๊ฑฐ๋ TIME-OUT ์ด ๋ฐ์ํ๋ฉด Window Size ๋ฅผ ์ ๋ฐ์ผ๋ก ๊ฐ์ ์ํต๋๋ค.
๋คํธ์ํฌ๊ฐ ํผ์กํด์ง๊ณ ๋์์ผ ๋์ญํญ์ ์ค์ด๋ ๋ฐฉ์์ด๋ผ๋ ๋จ์ ๊ณผ
๋คํธ์ํฌ ์์ฉ๋ ๋ฉด์์๋ ํจ์จ์ ์ผ๋ก ๋์ํ์ง๋ง
์ฒ์ ์ ์ก ์๋๋ฅผ ์ฌ๋ฆฌ๋๋ฐ์ ์๊ฐ์ด ๊ธธ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
-
Slow Start
AIMD ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํจํท์ ํ๋์ฉ ๋ณด๋ด๋ ๊ฒ๋ถํฐ ์์ํ์ง๋ง
์ด ๋ฐฉ์์ ํจํท์ด ๋ฌธ์ ์์ด ๋์ฐฉํ๋ฉด ACK ํจํท๋ง๋ค Window Size ๋ฅผ 1์ฉ ๋๋ฆฌ๊ณ
ํผ์ก ํ์์ด ๋ฐ์ํ๋ฉด Window Size ๋ฅผ 1์ฉ ๋จ์ด๋จ๋ฆฝ๋๋ค.
์ฒ์์๋ ๋คํธ์ํฌ ์์ฉ๋์ ์์ธกํ ์ ์๋ ์ ๋ณด๊ฐ ์์ง๋ง,
ํ ๋ฒ ํผ์ก ํ์์ด ๋ฐ์ํ์๋ Window Size ์ ์ ๋ฐ๊น์ง๋ ์ด์ ์ฒ๋ผ ์ง์ ํจ์ ๊ผด๋ก ์ฆ๊ฐ์ํค๊ณ
๊ทธ ์ดํ๋ถํฐ๋ ์๋งํ๊ฒ 1์ฉ ์ฆ๊ฐ์ํค๋ ๋ฐฉ์์ ๋๋ค.
Slow Start ๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ง๋ง, ๋งค ์ ์ก๋ง๋ค 2๋ฐฐ์ฉ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์
์ ์ก๋์ด์ง๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ ์ง์ํจ์์ ๋ชจ์ต์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
-
OSI 7 Layer ๋ฐํ ๋ ์๋ตํ๋ ๋ถ๋ถ๋ค์ ๋ค๋ฃฐ ์ ์์ด์ ์ข์์ต๋๋ค!
ํ์ง๋ง ์ญ์๋ ๋คํธ์ํฌ๋ ํ ์๋ก ๋ง์ ์ง์์ด ๋ธ๋ ค์ค๊ธฐ ๋๋ฌธ์,,
์ต๋ํ ์์ธํ ๋ค๋ค๋ณด๋ ค ํ์ง๋ง ์ด๋ฒ ์๊ฐ์๋ ์๋ตํ๋ ๋ถ๋ถ๋ค์ด ์์ต๋๋ค.
์๋กญ๊ฒ ์๊ฒ๋ ๋จ์ด๋ค์ ๊ผญ ํ ๋ฒ ํ์ด๋ณด์๊ธธ ๋ฐ๋ผ์!