TCP / UDP
TCP (Transmission Control Protocol)
๋ฐ์ดํฐ๊ฐ ๋ฐ๋์ ์ ๋ฌ๋๋ ๊ฒ์ ๋ณด์ฅํ๋ ํ๋กํ ์ฝ์ ๋๋ค.
์ฐ๊ฒฐ์งํฅ (Connection-oriented) ์ผ๋ก ํต์ ์ ํ๊ธฐ ์ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.
๋์ ์ ๋ขฐ์ฑ (Reliability) ๊ณผ ์์ (In-order delivery) ๋ฅผ ๋ณด์ฅํฉ๋๋ค.
ํ๋ฆ ์ ์ด(Flow control) ๋ฅผ ํตํด ์ก์ ์์ ๋ฐ์ดํฐ ์์ ์กฐ์ ํฉ๋๋ค.
ํผ์ก ์ ์ด(Congestion control) ๋ฅผ ํตํด ๋คํธ์ํฌ ์ํฉ์ ๊ฐ์งํ๊ณ ์ก์ ์์ ๋ฐ์ดํฐ ์์ ์กฐ์ ํฉ๋๋ค.
์๋ฌ ๊ฐ์ง(Error detection) ๋ฅผ ํตํด ์๋ชป ์ ์ก๋์์ ๊ฒฝ์ฐ ์ฌ์ ์กํฉ๋๋ค.
์ ์ด์ค(Full duplex) ๋ฐฉ์ ์ผ๋ก ๋ ํธ์คํธ ๋ชจ๋ ์ก์ ์์ ์์ ์๊ฐ ๋ ์ ์์ต๋๋ค.
๋ฐ์ดํธ ์คํธ๋ฆผ(Byte stream) ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฐ์์ ์ธ ๋ฐ์ดํธ๋ก ๊ฐ์ฃผํ๊ณ , ์ธ๊ทธ๋จผํธ(Segment) ๋ผ๋ ๋จ์์ ํจํท์ผ๋ก ์ชผ๊ฐ์ ๋ณด๋ ๋๋ค.
HTTP, FTP, SMTP, TELNET ๋ฑ์์ ์ฌ์ฉ๋ฉ๋๋ค.
UDP (User Datagram Protocol)
TCP์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ์ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ์ง ์๋ ํ๋กํ ์ฝ์ ๋๋ค.
๋น์ฐ๊ฒฐํ (Connection-less) ์ผ๋ก ์ฐ๊ฒฐ ์ค์ , ํด์ ๊ณผ์ ์ด ์์ต๋๋ค.
์ ๋ขฐ์ฑ์ด ์๊ณ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์๋ฅผ ๋ณด์ฅํ์ง ์์ต๋๋ค.
ํ๋ฆ ์ ์ด, ํผ์ก ์ ์ด๊ฐ ์์ต๋๋ค.
์๋ฌ ๊ฐ์ง๋ ํค๋์ ์ฒดํฌ์ฌ (Checksum) ์ ์์กดํฉ๋๋ค.
ํจํท์ ๋จ์๊ฐ ๋ฐ์ดํฐ๊ทธ๋จ (Datagram) ์ผ๋ก ๊ฒฝ๊ณ๊ฐ ๋ถ๋ช ํ์ฌ ์์ ์๋ ์ก์ ์๊ฐ ๋ณด๋ธ ๊ทธ๋๋ก์ ํฌ๊ธฐ๋ก ๋ฐ์ต๋๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ๋ ์ ๋์บ์คํธ (1:1), ๋ธ๋ก๋์บ์คํธ (1:N), ๋ฉํฐ์บ์คํธ (1:M)๊ฐ ๊ฐ๋ฅํฉ๋๋ค. (N์ ์ ์ฒด, M์ ์ผ๋ถ)
TCP์ ๋นํด์ ํ๋ ์์ ๋ค์ด ๊ต์ฅํ ์ ๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ๋น ํก๋๋ค.
DNS, DHCP, ๋น๋์ค/์ค๋์ค ์คํธ๋ฆฌ๋ฐ ๋ฑ์ ์ฌ์ฉ๋ฉ๋๋ค.
3 Way-Handshake & 4 Way-Handshake
3 Way-Handshake
ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ ์์ ์์ฒญํ๋ SYN ์ ๋ณด๋ ๋๋ค. ์ด๋ ํด๋ผ์ด์ธํธ๋ SYN ์ ๋ณด๋ด๊ณ SYN/ACK ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ SYN_SENT ์ํ๊ฐ ๋ฉ๋๋ค.
์๋ฒ๋ SYN ์์ฒญ์ ๋ฐ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์์ฒญ์ ์๋ฝํ๋ค๋ ACK ์ SYN ์ ๋ฐ์กํ๊ณ ํด๋ผ์ด์ธํธ๊ฐ ๋ค์ ACK ์ผ๋ก ์๋ตํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๋ ์๋ฒ๋ SYN_RECEIVED ์ํ๊ฐ ๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ACK ์ ๋ณด๋ด๊ณ ์ดํ๋ก๋ถํฐ๋ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง๊ณ ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค. ์ด๋์ ์ํ๊ฐ ESTABLISHED ์ ๋๋ค.
4 Way-Handshake
ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ฒ ๋ค๋ FIN ์ ์ ์กํฉ๋๋ค.
์๋ฒ๋ ์ผ๋จ ํ์ธํ๋ค๋ ACK ์ ๋ณด๋ด๊ณ , ์์ ์ ํต์ ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋๋ฐ ์ด ์ํ๊ฐ TIME_WAIT ์ ๋๋ค.
์๋ฒ๊ฐ ํต์ ์ด ๋๋ฌ์ผ๋ฉด ์ฐ๊ฒฐ์ด ์ข ๋ฃ๋์๋ค๊ณ ํด๋ผ์ด์ธํธ์๊ฒ FIN ์ ์ ์กํฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ํ์ธํ๋ค๋ ACK ์ ์ ์กํฉ๋๋ค.
Last updated