๐ ์น ๊ฐ๋ฐ์๋ผ๋ฉด ํ์๋ก ์๊ณ ์์ด์ผ ํ๋ ๊ฐ๋ ์ธ TCP/IP์ HTTP์ ๋ํด ๊ฐ๋จํ๊ฒ ๊ธฐ์ ํ๊ณ , ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ๋ํด ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก ํต์ ํ๊ธฐ ์ํด์๋ ๊ฐ์์ IP ์ฃผ์๊ฐ ํ์ํ๋ค. ์๋ํ๋ฉด, ์ธํฐ๋ท ๋ง์๋ ์๋ง์ ๋ ธ๋๋ค์ด ์๊ณ ์์ฒญํ๊ณ , ๋ฐ๋ ์ฃผ์๊ฐ ์ง์ ๋์ด ์์ด์ผ๋ง ์ ํํ ํต์ ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋, ํจํท์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ฒ ๋๋๋ฐ ํด๋น ํจํท์๋ ์ถ๋ฐ์งIP์ ๋ชฉ์ ์งIP, ์ ์ก ๋ฐ์ดํฐ์ ์ ๋ณด๊ฐ ๋ค์ด์๋ค.
ํ์ง๋ง IP์ฃผ์ ๋ง์ผ๋ก๋ ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ฐ ํ๊ณ๊ฐ ์๋ค.
์ด๋ฐ ๊ฒฝ์ฐ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด TCP, UDPํ๋กํ ์ฝ์ด ๋ฑ์ฅํ๊ฒ ๋๋ค.
๋จผ์ , ์ธํฐ๋ท ํ๋กํ ์ฝ ์คํ์ 4๊ณ์ธต์ ๋จผ์ ์ดํด๋ณธ๋ค.
์์ ๋งํ IP๋ ์ธํฐ๋ท ๊ณ์ธต์ ํด๋นํ๋ฉฐ, TCP์ UDP๋ ์ ์ก๊ณ์ธต์ ํด๋นํ๋ค.
๋์ ์์๋ฅผ ์ดํด๋ณด๋ฉด, ํด๋ผ์ด์ธํธ์ ํ๋ก๊ทธ๋จ์ด Hello world๋ผ๋ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ฉด SOCKET LIBRARY๋ฅผ ํตํด์ ์ ๋ฌ์ด ๋๊ณ OS์์ TCP์ ๋ณด๋ฅผ ์์ฑํ๊ณ ๋ฉ์์ง ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๊ฒ ๋๋ค. ๊ทธ๋ค์ TCP์ ๋ณด๊ฐ ํฌํจ๋ IPํจํท์ ์์ฑํ๊ฒ ๋๊ณ LAN์ ํตํด ์๋ฒ๋ก ์ ์กํ๊ฒ ๋๋ค.
์ต์ข
์ ์ผ๋ก TCP/IP ํจํท์ ๋ค์ด์๋ ์ ๋ณด๋ ์๋์ ๊ฐ๋ค.
TCP๋ ์ ์ก ์ ์ด ํ๋กํ ์ฝ(Transmission Control Protocol)์ด๋ผ๊ณ ๋ ํ๋ฉฐ ํน์ง์ ์๋์ ๊ฐ๋ค.
์ฐ๊ฒฐ์งํฅ - TCP 3 way handshake
ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๊ฐ ์์ฒญ์๋ฝ๊ณผ ํจ๊ป ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ , ํด๋ผ์ด์ธํธ๋ ์ ๋ฐ์๋ค๊ณ ๋ค์ ์์ฒญ์๋ฝ ์๋ต์ ๋ณด๋ด๋ ๊ณผ์
๋ฐ์ดํฐ ์ ๋ฌ ๋ณด์ฆ
ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ์๋ฒ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์๋ค๊ณ ์๋ต ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๊ณผ์ ์ ์งํ
์์ ๋ณด์ฅ
ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ ํจํท์ด ์๋ฒ์ ์์๊ฐ ์ ์์ ์ผ๋ก ๋์ฐฉํ์ง ์์๋ค๋ฉด, ์ ์์ ์ผ๋ก ๋์ฐฉํ์ง ์์ ํจํท๋ถํฐ ์ฐจ๋ก๋๋ก ๋ค์ ๋ณด๋ด๋ผ๊ณ ์๋ตํ๊ฒ ๋๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด MTU ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ชผ๊ฐ๋๋ฐ ์ด ์ชผ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋จผํธ๋ผ๊ณ ํ๊ฒ ๋๋ค. ์ธ๊ทธ๋ฉํธ๋ฅผ ์ก์ ํ ๋๋ง๋ค ์ชผ๊ฐ์ง ๋ฐ์ดํฐ์ ์์๋ฅผ ์ ์ ์๋๋ก sequence ๋ฒํธ๊ฐ tcpํค๋์ ๊ธฐ๋ก์ด ๋๋๋ฐ, ์ด ํค๋๋ฅผ ํตํด ํจํท์ ์์๋ฅผ ์ ์ ์๋ค.
ํฌํธ๋ ๊ฐ์ IP๋ด์์ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ํ์ํ ๋ฒํธ์ด๋ค.
๊ธ์ ๋ง์น๋ฉฐ, ํ๋ถ์๋ ๋ฐฐ์ด ๋ด์ฉ์ด์์ง๋ง ์๊ฐ์ด ์ง๋๋ฉด์ ์ ์ ํดํ๋๊ณ ์์๋๋ฐ ๋ค์ ๊ฐ๋ ์ ๋ค์ง๋ฉฐ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํ๋ค๋ ์๊ฐ์ ๋ ํ๊ฒ ๋๋ค. ๊ทธ๋ฅ ์ฑ ๋ง ์ฝ์๋ ์ง๋ฃจํ๊ณ ํฌ๊ฒ ์ดํด๋์ง ์๋ ๋ด์ฉ์ด์๋๋ฐ ์ค๋ฌด๋ฅผ ์กฐ๊ธ ํ๊ณ ๋๋ ๋ฌด์จ ์๋ฏธ์ธ์ง ๋ ํฌ๊ฒ ์๋ฟ๋๊ฒ ๊ฐ๋ค. ์ธ๊ฐ๋ ์ข์ง๋ง, ์ญ์ ์ฌ๋ ์๊ฒ ๊ณต๋ถํ๋ ค๋ฉด ์ฑ ์ด ์ต๊ณ ์ธ ๊ฒ ๊ฐ๋ค. :-)
(์ฐธ๊ณ )์ธํ๋ฐ์ ๊น์ํ๋ HTTP๊ฐ์
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard