4. ๋คํธ์ํฌ
TCP/IP์ ๊ฐ ๊ณ์ธต
-
TCP/IP: ์ธํฐ๋ท์์ ํ์ค์ผ๋ก ์ฌ์ฉ๋๊ณ ์๋ ๋คํธ์ํฌ ํ๋กํ ์ฝ(๊ท์น)์ ์๋ฏธํ๋ค.
-
TCP/IP 5๊ณ์ธต (4๊ณ์ธต์ ๋ฌผ๋ฆฌ์ ๋งํฌ๋ฅผ ํฉ์น ํํ์ด๋ค.)
-
์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต (L5)
๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ํ๋กํ ์ฝ์ด ์๋ ๊ณณ์ด๋ค.
HTTP, SMTP, FTP์ ๊ฐ์ ๋ง์ ํ๋กํ ์ฝ์ ํฌํจํ๋ค.
DNS(Domain Name Server)๋ฅผ ์ง์ํ๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ํจํท์ ๋ฉ์์ง๋ผ๊ณ ํ๋ค. -
ํธ๋์คํฌํธ ๊ณ์ธต (L4)
๋คํธ์ํฌ ๊ณ์ธต์์ ๋ณด๋ด์จ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ, ์ค๋ฅ ์ ์ ๋ฑ์ ์ํํ๊ณ ์ ๋ขฐํ ์ ์๋ ํต์ ์ ํ๋ณดํ๋ค.
TCP/UDP ๊ฐ์ ํ๋กํ ์ฝ์ด ์ด ๊ณ์ธต์ ์์นํ๋ค.
ํธ๋์คํฌํธ ๊ณ์ธต์ ํจํท์ ์ธ๊ทธ๋จผํธ๋ผ๊ณ ํ๋ค. -
๋คํธ์ํฌ ๊ณ์ธต (L3)
๋ค๋ฅธ ๋คํธ์ํฌ์ ์๋ ๋ชฏ์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ์ญํ ์ ์ํํ๋ค. ์ฆ ๋คํธ์ํฌ ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์ญํ ์ด๋ค.
์ด๋ฅผ ์ํด ๋ผ์ฐํฐ ์ฅ๋น์ IP ํ๋กํ ์ฝ(ํ๋๋ง ์กด์ฌ), ๋ผ์ฐํ ํ๋กํ ์ฝ์ด ์ฌ์ฉ๋๋ค.
๋ผ์ฐํ ํ๋กํ ์ฝ: ๋ค๋ฅธ ๋คํธ์ํฌ์ ํต์ ํ๊ธฐ ์ํด ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๊ณ ๋ ผ๋ฆฌ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ํํ๋ค.
๋คํธ์ํฌ ๊ณ์ธต์์์ ํจํท์ ๋ฐ์ดํฐ๊ทธ๋จ์ด๋ผ ํ๋ค. -
๋งํฌ ๊ณ์ธต(๋ฐ์ดํฐ ๋งํฌ๋ผ๊ณ ๋ ํจ) (L2)
๋คํธ์ํฌ ๊ธฐ๊ธฐ ๊ฐ ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ์ํํ๋ค. ์ฃผ๋ก ๊ฑด๋ฌผ์ด๋ ํน์ ์ง์ญ์ ๋ฒ์๋ก ํ๋ ๋คํธ์ ํฌ์ธ ๋(LAN)์์ ๋ฐ์ดํฐ๋ฅผ ์ ์์ ์ผ๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ํ์ํ ๊ณ์ธต์ด๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ด๋๋ท ํ๋กํ ์ฝ๊ณผ ์ค์์น์ ๊ฐ์ ์ฅ๋น๊ฐ ์ฌ์ฉ๋๋ค.
๋งํฌ ๊ณ์ธต์ ํจํท์ ํ๋ ์์ด๋ผ๊ณ ํ๋ค. -
๋ฌผ๋ฆฌ ๊ณ์ธต(L1)
๋ฌผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ๊ณผ ์ ๊ธฐ ์ ํธ ๋ณํ/์ ์ด๋ฅผ ๋ด๋นํ์ฌ, ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ ์ ํธ๋ก ๋ณํํ๋ค. ๋ํ ์ปดํจํฐ์ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ, ํ๋์ ๋ ธ๋์์ ๋ค๋ฅธ ๋ ธ๋๋ก ๋นํธ๋ฅผ ์ด๋์ํค๋ ์ญํ ์ ์ํํ๋ค.
๋ฌผ๋ฆฌ ๊ณ์ธต์ ํ๋กํ ์ฝ๋ค์ ๋งํฌ(์ค์ ์ ์ก๋งค์ฒด(๊ด์ผ์ด๋ธ))์ ์์กดํ๋ค.
-
OSI 7๊ณ์ธต๊ณผ TCP/IP์ ๊ณ์ธต์ ์ฐจ์ด
- OSI 7๊ณ์ธต: TCP/IP ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต์ ๋ ์ธ๋ถํํ ๊ฒ์ด๋ค.
(์์ ์ค๋ช ํ ๊ณ์ธต์ ์ ์ธ)-
์์ฉ ๊ณ์ธต
์ฌ์ฉ์ or ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋คํธ์ํฌ์ ์ ๊ทผํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ณ์ธต์ด๋ค. ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ ์ ์ผํ ๊ณ์ธต์ด๋ฉฐ ๋ฉ์ผ ์ ์ก, ์ธํฐ๋ท ์ ์ ๋ฑ์ ์์ ์ ์ํํ ์ ์๋ค. -
ํํ ๊ณ์ธต
์์ฉ ๊ณ์ธต์ผ๋ก๋ถํฐ ์ ๋ฌ๋ฐ๊ฑฐ๋ ์ ์กํ๋ ๋ฐ์ดํฐ์ ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ์ด ์ด๋ฃจ์ด์ง๋ ๊ณ์ธต์ด๋ค. ์์ฉ ๊ณ์ธต์์ ๋ฐ์ดํฐ๋ฅผ ์ดํดํ ์ ์๋๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง์ถฐ ๋ณํํ๊ฒ ๋๋ค. ์๋ฅผ๋ค์ด, JPEG, TIFF, GIF, MPEG ๋ฑ์ ๋ค์ํ ํฌ๋งท์ ๊ตฌ๋ถํ๊ฒ ๋๋ค. -
์ธ์ ๊ณ์ธต
์์ฉ ํ๋ก์ธ์ค๊ฐ ํต์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค. ๋คํธ์ํฌ์ ์์ชฝ์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌ/์ง์์ํค๋ ์ญํ ๊ณผ ์ธ์ ์ ๋ง๋ค๊ฑฐ๋ ์์ ๋ ์ญํ ์ ๋ด๋นํ๋ ๊ณ์ธต์ด๋ค. ํต์ ํ๋ ์ฌ์ฉ์๋ค์ ๋๊ธฐํํ๊ณ ์ค๋ฅ๋ณต๊ตฌ๋ฅผ ์งํํ๋ค. ํต์ ์ฐ๊ฒฐ์ ํฌํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑํ์ฌ ์ฐ๊ฒฐ๋๋ฉฐ, OS๊ฐ ์ธ์ ๊ณ์ธต์ ์ํ๋ค.
-
Frame, Packet, Segment, Datagram
-
Packet(ํจํท): ์ปดํจํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋, ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ย ๋ฐ์ดํฐ ์กฐ๊ฐ์ ํจํท์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ก์ ์ธก(์ ํ๋ฆฌ์ผ์ด์ )์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ, ์ผ์ ๋จ์๋ก ์๋ผ์ ๋ณด๋ธ๋ค. ๊ฐ ๊ณ์ธต์์ ํ์ํ ์ ๋ณด๋ ์บก์ํ/์ญ์บก์ํ๋์ด ์ ๋ฌ๋๊ณ , ์์ ์ธก์ ๋ฐ์ ํจํท์ ๋ค์ ์กฐ๋ฆฝํด์ ์ฌ์ฉํ๋ค.
-
Segment: Transport ๊ณ์ธต(L4)์์ ์ ๋ขฐํ ์ ์๋ ํต์ ์ ๊ตฌํํ๊ธฐ ์ํ ํค๋๋ฅผ ๋ฐ์ดํฐ(L5 ๊ณ์ธต ๋ฐ์ดํฐ)์ ๋ถ์ด๋๋ฐ, ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ํจํท์ ์ธ๊ทธ๋จผํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-
Datagram: Network ๊ณ์ธต(L3)์์ ๋ค๋ฅธ ๋คํธ์ํฌ์ ํต์ ํ๊ธฐ ์ํ ํค๋๋ฅผ ์ธ๊ทธ๋จผํธ(L4 ๊ณ์ธต ๋ฐ์ดํฐ)์ ๋ถ์ธ๊ฒ์ ๋ฐ์ดํฐ๊ทธ๋จ, ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
-
Frame: ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต(L2)์์ ๋ฌผ๋ฆฌ์ ์ธ ํต์ ์ฑ๋์ ์ด๊ธฐ ์ํด ํจํท์ ํค๋์ ํธ๋ ์ผ๋ฌ๋ฅผ ๋ถ์ธ๋ค. ํธ๋ ์ผ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ๋ฐ์ดํฐ ๋ ๋ถ๋ถ์ ๋ถ์ด๋ ์ ๋ณด๋ก, ์ฃผ๋ก ์๋ฌ ๊ฒ์ถ์ ์ฌ์ฉ๋๋ค.
-
ํจํท์ ์๋ผ์ ๋ณด๋ด๋ ์ด์ : ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๋ณด๋ด๊ฒ ๋๋ฉด, ๋ฐ์ดํฐ ์์ค์ ๊ฐ๋ฅ์ฑ์ด ์์ผ๋ฉฐ, ๋์ญํญ์ ๋๋ฌด ๋ง์ด ์ฐจ์งํ๊ฒ ๋๋ฏ๋ก ํจํท์ ํ๋ฆ์ ์ํํ ์กฐ์ ํ๊ธฐ ์ํจ์ด๋ค.
-
์์ผ(Socket), ํฌํธ(Port), ํจํท(Packet)
-
Socket: ํ๋ก์ธ์ค๋ก๋ถํฐ ๋คํธ์ํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ์ถ์ ๊ตฌ(์ธํฐํ์ด์ค) ์ญํ ์ ํ๋ค. ์์ ์ธก ํธ์คํธ์ ํธ๋์คํฌํธ ๊ณ์ธต์ ์ค์ ๋ก ๋ฐ์ดํฐ(์ธ๊ทธ๋จผํธ)๋ฅผ ์ง์ ํ๋ก์ธ์ค๋ก ์ ๋ฌํ์ง ์๊ณ , ์ค๊ฐ ๋งค๊ฐ์์ธ ์์ผ์๊ฒ ์ ๋ฌํ๋ค. ํธ์คํธ์์๋ ํ๋ ์ด์์ ์์ผ์ด ์กด์ฌํ ์ ์์ผ๋ฏ๋ก ์์ผ์ ๊ณ ์ ์ ์๋ณ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค. ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ํฌํธ๋ฅผ ๊ฐ์ง๊ณ ๋ ์ฌ๋ฌ ๊ฐ์ ์์ผ์ ์ด ์ ์๊ธฐ ๋๋ฌธ์, ์์ผ๊ณผ ํฌํธ๋ ๋ค๋ฅธ ๊ฐ๋ ์ด๋ค.
-
Port: ํ๋ก์ธ์ค๋ฅผ ์๋ณํ๊ธฐ ์ํด, ํธ์คํธ ๋ด๋ถ์ ์ผ๋ก ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ๋ ๊ณ ์ ํ ๊ฐ์ด๋ค. ๊ฐ์ ํธ์คํธ ๋ด์์ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ํฌํธ ๋๋ฒ๋ฅผ ๊ฐ์ง ์ ์๋ค. ํ์ง๋ง ๊ฐ์ ์์ผ์ ์ฌ์ฉํ์ง๋ ๋ชปํ๋ค. ํฌํธ๋ ๋ ผ๋ฆฌ์ ์ธ ์ ์์ฅ์์ด๋ค.
-
์์ผ์ ํ๋ก์ธ์ค๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ ค๋ฉด ๋ฐ๋์ ์ด์ด์ผ ํ๋ ์ฐฝ๊ตฌ ๊ฐ์ ๊ฒ์ด๊ณ ,ย
ํฌํธ๋ ํ๋ก์ธ์ค ์๋ณ์ ์ํด ํ๋์ ํธ์คํธ์์ ํ๋ก์ธ์ค์ ํ ๋นํ๋ ๊ณ ์ ๊ฐ์ด๊ณ ,ย
ํจํท์ ๋คํธ์ํฌ ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ๋งํ๋ ๊ฒ์ด๋ค.
- ์บก์ํ, ์ญ์บก์ํ
- ์บก์ํ: (๋ฐ์ดํฐ ์ก์ ์)ํ์ ๊ณ์ธต์ผ๋ก ํจํท์ ๋ณด๋ผ๋, ํ์๊ณ์ธต์์ ํ์๋กํ๋ ์ถ๊ฐ์ ๋ณด(๋ฉํ๋ฐ์ดํฐ)๋ฅผ ํค๋/ํธ๋ ์ผ๋ฌ์ ์ถ๊ฐํ์ฌ ๋ณด๋ด๊ฒ๋๋ค.
- ์ญ์บก์ํ: ๋ฐ์ดํฐ ์์ ์, ์์ ๊ณ์ธต์ผ๋ก ํจํท์ ์ ๋ฌํ๊ณ , ์ ๋ฌ๋ ํจํท์ ํค๋๋ฅผ ์ฐจ๋ก๋๋ก ์ ๊ฑฐํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ป๊ฒ ๋๋ค.
TCP์ UDP์ ์ฐจ์ด
-
TCP์ UDP๋ ๋ชจ๋ ํธ๋์คํฌํธ ๊ณ์ธต(4๊ณ์ธต)์ ํ๋กํ ์ฝ์ด๋ค. TCP์ UDP๊ฐย ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ์ ์๋์ ๊ฐ๋ค.
- ํธ๋์คํฌํธ ๋ค์คํ/์ญ๋ค์คํ ๊ธฐ๋ฅ(Transport Multiplexing/Demultiplexing):ย ํธ์คํธ ๋ ํธ์คํธ ์ ๋ฌ์ย ํ๋ก์ธ์ค ๋ ํ๋ก์ธ์ค ์ ๋ฌ๋ก ํ์ฅ
- ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ(์ค๋ฅ๊ฒ์ถ): ํค๋์ ์ค๋ฅ ๊ฒ์ถ ํ๋๋ฅผ ํฌํจ
-
UDP: ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋๊ฐ์ง ๊ธฐ๋ฅ๋ง์ ์ ๊ณตํ๋ค. ๋น์ ๋ขฐ์ ์ธ ์๋น์ค๋ก์, ํ๋ก์ธ์ค์ ์ํด์ ์ ์ก๋ ๋ฐ์ดํฐ๊ฐ ์์๋์ง ์์์ฑ๋ก ๋ชฉ์ ์ง์ ๋์ฐฉํ๋ ๊ฒ์ ๋ณด์ฅํ์ง ์๋๋ค. ๋ํย ๋น์ฐ๊ฒฐํ ์๋น์ค์ด๋ฉฐ, ์ค๋ฅ๊ฒ์ถ์ ์ ํ์ฌํญ์ด๋ค.
- ์ฅ์
์ฐ๊ฒฐ์ค์ ์ด ๋ถํ์ํ๊ณ ์ฐ๊ฒฐ์ํ๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ์ํ ์ด๋ ํ ์ง์ฐ์ด ์๊ณ , ์ ์งํด์ผํ๋ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ํด๋ผ์ด์ธํธ๋ฅผ ์์ฉํ ์ ์๋ค.
๋ํ UDP์ ํจํท ์ค๋ฒํค๋(8 byte per segment)๊ฐ TCP(20 byte per segment)์ ๋นํด ๋ ์๋ค. - ๋จ์
ํผ์ก์ ์ด๋ฅผ ์ฌ์ฉํ์ง ์์, ๋คํธ์ํฌ๊ฐ ํญ์ฃผ์ํ์ ๋น ์ง๋ ๊ฒ์ ๋ง์ ์ ์๋ค๋ ๋จ์ ๊ณผ ์ ๋ขฐ์ ์ด์ง ์์ผ๋ฏ๋ก, ๋ช๋ช์ ์ ๋ณด๋ฅผ ์์ด๋ฒ๋ฆด ์ ์๋ค
- ์ฅ์
-
TCP: ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋๊ฐ์ง ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ฉด์, ์ ๋ขฐ์ ์ธ ๋ฐ์ดํฐ ์ ๋ฌ(Reliable Data Transfer) ๊ธฐ๋ฅ, ์ฐ๊ฒฐ์งํฅํ ์๋น์ค, ํผ์ก์ ์ด(Congestion control) ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
-
์ ๋ขฐ์ ๋ฐ์ดํฐ ์ ๋ฌ: ํ๋ฆ์ ์ด, ์์๋ฒํธ, ํ์ธ์๋ต, ํ์ด๋จธ ๋ฑ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์ค์๊ฒ ๋ฐ์ดํฐ๊ฐ ์์๋๋ก ์ ํํ ์ ๋ฌ๋๋๋ก ํ๋ ์ญํ ์ ํ๋ค. ์ข ๋จ ์์คํ ๊ฐ์ IP์ ๋น์ ๋ขฐ์ ์ธ ์๋น์ค๋ฅผ ํ๋ก์ธ์ค ์ฌ์ด์ ์ ๋ขฐ์ ์ธ ๋ฐ์ดํฐ ์ ์ก ์๋น์ค๋ก ๋ง๋ค์ ์์ผ๋ฉฐ, TCP์์์ ์ค๋ฅ๊ฒ์ถ์ ํ์์ฌํญ์ด๋ค.
-
ํผ์ก ์ ์ด: ๋ณด๋ด๋ ์ชฝ(์ก์ ์ธก)์ ํธ๋ํฝ์ ์กฐ์ ํ์ฌ ์ค์์น/๋งํฌ์ ํผ์ก์ ๋ฐฉ์งํ๋ ์ญํ ์ ํ๋ค.
-
๋ฐ๋ผ์, UDP๋ ์๋์ฆ๊ฐ์ ์ง์ฐ ๊ฐ์๋ฅผ ์ํด์ ๋ง์ด ์ฌ์ฉ๋๊ณ , TCP๋ ์ ๋ขฐ์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ์ ์ฌ์ฉ๋๋ค.
์๋ฅผ๋ค์ด, UDP๋ ๋์์ ์ ์ก๊ณผ ๊ฐ์ด, ๋ช ํ๋ ์ ์ ๋ ์์ค๋์ด๋ ๊ด์ฐฎ์ ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋๊ณ , TCP๋ ๋ช๋ช์ ์ ๋ณด๋ ์์ค๋์ด์๋ ์๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ด์ฉ๋๋ค.
TCP์ UDP์ ํค๋ ๋น๊ต
-
UDP ํค๋
๊ตฌ์ฑ ํ๋: ์ถ๋ฐ์ง ํฌํธ, ๋ชฉ์ ์ง ํฌํธ, ์ฒดํฌ์ฌ, ๊ธธ์ด (์ด 8๋ฐ์ดํธ) -
TCP ํค๋
๊ตฌ์ฑ ํ๋: ์ถ๋ฐ์ง/๋ชฉ์ ์ง ํฌํธ, Sequence Number, Ack Number, ์ต์ ๋ฑ (๊ธฐ๋ณธ 20๋ฐ์ดํธ, ์ต๋ 60๋ฐ์ดํธ) -
ํฌํธ๋ฒํธ๋ IP ์ ๋ณด์ ๊ฒฐํฉํ์ฌ ์ถ๋ฐ์ง, ๋์ฐฉ์ง๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
-
Sequence Number๋ SYN ํจํท์ ๋ณด๋ผ๋, ๋๊ธฐํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๋ฒํธ์ด๋ค. ์ด๊ธฐ Sequence Number๋ฅผ ISN์ด๋ผ ๋ถ๋ฅด๋ฉฐ, ์ฌ๊ธฐ์๋ ๋๋คํ ์๊ฐ ๋ด๊ธด๋ค.
-
Ack Number๋ ACK ํจํท์ ๋ณด๋ผ ๋ ๋๊ธฐํ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๋ฒํธ์ด๋ค.
TCP์ 3-way-handshake์ 4-way-handshake๋ฅผ ๋น๊ต
- ํธ๋์ ฐ์ดํฌ: ํธ์คํธ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ๋จผ์ ์ ํํ ์ ์ก์ ๋ณด์ฅํ๊ธฐ ์ํด ์๋๋ฐฉ ์ปดํจํฐ์ ์ฌ์ ์ ์ธ์ ์ ์๋ฆฝํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
โข 3-way Handshake (์ฐ๊ฒฐ ์ค์ ):
TCP์ ์ฐ๊ฒฐ์ ์ด๊ธฐํ ํ ๋ ์ฌ์ฉํ๋ค.
์์ชฝ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ค๋น๊ฐ ๋์๋ค๋ ๊ฒ์ ๋ณด์ฅํ๊ณ , ์ค์ ๋ก ๋ฐ์ดํฐ ์ ๋ฌ์ด ์์ํ๊ธฐ์ ์ ํ์ชฝ์ด ๋ค๋ฅธ ์ชฝ์ด ์ค๋น๋์๋ค๋ ๊ฒ์ ์์ ์๋๋ก ํ๋ค.
1. ํด๋ผ์ด์ธํธ๊ฐ SYN ์ ์ก
2. ์๋ฒ๊ฐ SYN+ACK ์ ์ก
3. ํด๋ผ์ด์ธํธ๊ฐ ACK ์ ์กํ์ฌ ์ฐ๊ฒฐ ์ฑ๋ฆฝ
-> 2-way๋ก๋ ์ถฉ๋ถํด๋ณด์ด๋๋ฐ 3-way๋ฅผ ์ฌ์ฉํ๋ ์ด์ : ์๋ฐฉํฅ์ฑ ์ฐ๊ฒฐ์ด๊ธฐ ๋๋ฌธ
โข 4-way Handshake (์ฐ๊ฒฐ ์ข
๋ฃ)
์ธ์
์ ์ข
๋ฃํ๊ธฐ ์ํด ์ํ๋๋ ์ ์ฐจ์ด๋ค.
1. FIN ์ ์ก (ํ ์ชฝ ์ข
๋ฃ ์์ฌ ํ์)
2. ์๋๋ฐฉ์ด ACK ์ ์ก ํ, ๋ฐ์ดํฐ ์ ์ก ๋ง๋ฌด๋ฆฌ
3. ์๋๋ฐฉ์ด FIN ์ ์ก
4. ์ฒ์ FIN ์ ์กํ ์ชฝ์ด ACK ์ ์ก ๋ฐ TIME_WAIT ์ํ๋ก ์์ฌ ํจํท ๋๊ธฐ
๐กย
CLOSE_WAIT
ย ์ยTIME_WAIT
ย ์ํ๋ ๋ฌด์์ผ๊น?
TIME_WAIT
ย ์ํ๋ก ๋๊ธฐํ๋ ์ด์ ๋, ์ธ์ ์ข ๋ฃํ, ํน์๋ ๋คํธ์ํฌ์ ์์ง ๋ผ์ด๋ธ ํจํท์ด ์กด์ฌํ ์๋ ์๊ธฐ๋๋ฌธ์ด๋ค.
๐ก ์ฉ์ด
- SYN(Synchronization): ์ฐ๊ฒฐ์์ฒญ, ์ธ์ ์ ์ค์ ํ๋๋ฐ ์ฌ์ฉ๋๋ฉฐ ์ด๊ธฐ์ ์ํ์ค ๋ฒํธ๋ฅผ ๋ณด๋ธ๋ค.
- ACK(Acknowledgement): ๊ทธ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ฐฉํ์์ ์๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ ๋ณด๋ธ ์ํ์ค ๋ฒํธ์ TCP ๊ณ์ธต์์์ ๊ธธ์ด ๋๋ ์์ ๋ํ ๊ฒ๊ณผ ๊ฐ์ ๊ฐ์ ACK์ ํฌํจํ์ฌ ์ ์กํ๋ค.
- FIN(Finish) : ์ธ์ ์ ์ข ๋ฃ์ํค๋๋ฐ ์ฌ์ฉ๋๋ฉฐ ๋ ์ด์ ๋ณด๋ธ ๋ฐ์ดํฐ๊ฐ ์์์ ํ์ํ๋ค.
TCP์ ์ฐ๊ฒฐ ์ค์ ๊ณผ์ (3๋จ๊ณ)์ ์ฐ๊ฒฐ ์ข ๋ฃ(4๋จ๊ณ)์์ ๋จ๊ณ ์ฐจ์ด๊ฐ ๋๋ ์ด์
- ์ฐ๊ฒฐ ์ค์ ๊ณผ ๋ค๋ฅด๊ฒ, ์ฐ๊ฒฐ ์ข
๋ฃ ๊ณผ์ ์์ ๊ณ ๋ คํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. โ ์ ์ก์ค์ธ ๋ฐ์ดํฐ์ ๋ํ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ๊ฐ ์์ง ์๋ฒ๋ก๋ถํฐ ๋ชป ๋ฐ์ ๋ฐ์ดํฐ๊ฐ ์์ ๊ฒ์ ๋๋นํ์ฌ ์ผ์ ์๊ฐ ๋์ ์ธ์
์ ๋จ๊ธฐ๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋
FIN
์ ๋ฐ์ ํ์์ผ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ธฐ ๋๋ฌธ์ด๋ค.
FIN ํจํท๋ณด๋ค ๋ฆ๊ฒ ๋์ฐฉํ๋ ์ํฉ์ด ๋ฐ์ํ๋ค๋ฉด?
- ํจํท์ Drop๋๊ณ ย ๋ฐ์ดํฐ๋ ์ ์ค๋ ๊ฒ์ด๋ค.
- ์ด๋ฌํ ํ์์ ๋๋นํ์ฌ Client๋ Server๋ก๋ถํฐย
FIN
์ ์์ ํ๋๋ผ๋ ์ผ์ ์๊ฐ๋์ ์ธ์ ์ ๋จ๊ฒจ๋๊ณ ์์ฌ ํจํท์ ๊ธฐ๋ค๋ฆฌ๋ ๊ณผ์ ์ ๊ฑฐ์น๊ฒ ๋๋๋ฐ ์ด ๊ณผ์ ์ยTIME_WAIT
ย ๋ผ๊ณ ํ๋ค. ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด, ์ธ์ ์ ๋ง๋ฃํ๊ณ ์ฐ๊ฒฐ์ ์ข ๋ฃ์ํค๋ฉฐ,ยCLOSE
ย ์ํ๋ก ๋ณํํ๋ค.
์ด๊ธฐ Sequence Number์ธ ISN์ 0๋ถํฐ ์์ํ์ง ์๊ณ ๋์๋ฅผ ์์ฑํด์ ์ค์ ํ๋ ์ด์
-
Connection์ ๋งบ์ ๋ ์ฌ์ฉํ๋ ํฌํธ๋ ์ ํ ๋ฒ์ ๋ด์์ ์ฌ์ฉํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌ์ฌ์ฉ๋๋ค. ๋ฐ๋ผ์ ๋ ํต์ ํธ์คํธ๊ฐ ๊ณผ๊ฑฐ์ ์ฌ์ฉ๋ ํฌํธ ๋ฒํธ ์์ ์ฌ์ฉํ๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค.
-
์๋ฒ ์ธก์์๋ ํจํท์ SYN์ ๋ณด๊ณ ํจํท์ ๊ตฌ๋ถํ๊ฒ ๋๋๋ฐ ๋์๊ฐ ์๋ ์์ฐจ์ ์ธ number๊ฐ ์ ์ก๋๋ค๋ฉด ์ด์ ์ connection์ผ๋ก๋ถํฐ ์ค๋ ํจํท์ผ๋ก ์ธ์ํ ์ ์๋ค.
-
์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ์ค์ด๊ธฐ ์ํด์ ๋์๋ก ISN์ ์ค์ ํ๋ ๊ฒ์ด๋ค.
HTTP์ HTTPS์ ์ฐจ์ด
-
HTTP
- ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ค.
- ๋น์ํธํ ํ๋กํ ์ฝ, ๊ธฐ๋ณธ ํฌํธ 80 ์ฌ์ฉ, ์๋๊ฐ ๋น ๋ฅด์ง๋ง ๋ณด์ ์ทจ์ฝ
-
HTTPS
- HTTP์ ๋ฐ์ดํฐ ์ํธํ๊ฐ ์ถ๊ฐ๋ ํ๋กํ ์ฝ์ด๋ค.
- SSL/TLS๋ฅผ ํตํ ์ํธํ, ๊ธฐ๋ณธ ํฌํธ 443 ์ฌ์ฉ, ๋ณด์์ฑ์ด ๋์ผ๋ ์ํธํ ๊ณผ์ ์ผ๋ก ์ธํด ์๋ ์ฝ๊ฐ ๊ฐ์
-
๊ฐ์ธ ์ ๋ณด์ ๊ฐ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ค๋ฉด HTTPS๋ฅผ ์ด์ฉํด์ผ ํ์ง๋ง, ๋จ์ํ ์ ๋ณด ์กฐํ ๋ฑ ๋ง์ ์ฒ๋ฆฌํ๊ณ ์๋ค๋ฉด HTTP๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
HTTP ์์ฒญ/์๋ต ํค๋์ ๊ตฌ์กฐ
- ์์ฒญ/์๋ต ํค๋: ์์ฒญ ๋ฉํ๋ฐ์ดํฐ(๋ฉ์๋, URL, ํ๋กํ ์ฝ ๋ฒ์ , ์ํ ์ฝ๋ ๋ฑ)์ ๋ค์ํ ํ๋(Host, User-Agent, Cookie, Content-Type ๋ฑ)๋ฅผ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ์ ๋ณด ๊ตํ์ ์ง์
HTTP์ HTTPS ๋์ ๊ณผ์ ๋น๊ต
- HTTP: ๋จ์ ์์ฒญ-์๋ต ๋ฐฉ์์ผ๋ก ๋์
- HTTPS: ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ TLS ํธ๋์ ฐ์ดํฌ๋ฅผ ํตํด ๋ณด์ ์ฑ๋ ์ค์ ํ, ์ํธํ๋ ์์ฒญ-์๋ต ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ ๊ตํ
CORS
-
CORS: ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ค๋ฅธ ์ถ์ฒ์ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋๋ก ์ถ๊ฐ HTTP ํค๋(Origin, Access-Control-Allow-Origin ๋ฑ)๋ฅผ ์ฌ์ฉํด ๊ถํ ๋ถ์ฌ
-
๋์ ์๋ฆฌ:
- ํด๋ผ์ด์ธํธ ์์ฒญ ์ Origin ํค๋ ํฌํจ
- ์๋ฒ๊ฐ ํ์ฉ ์ถ์ฒ๋ฅผ ์๋ต ํค๋๋ก ๋ช ์
- ๋ธ๋ผ์ฐ์ ๊ฐ ๋น๊ต ํ ์์ฒญ ํ์ฉ ์ฌ๋ถ ๊ฒฐ์
HTTP GET๊ณผ POST ๋ฉ์๋๋ฅผ ๋น๊ต/์ค๋ช
-
GET: URL์ ์ฟผ๋ฆฌ ์คํธ๋ง์ผ๋ก ๋ฐ์ดํฐ ์ ์ก, ๋ฉฑ๋ฑ์ (์ฌ๋ฌ ๋ฒ ์์ฒญํด๋ ๊ฒฐ๊ณผ ๋์ผ), ์ฃผ๋ก ์กฐํ์ฉ
-
POST: HTTP ๋ฉ์์ง body์ ๋ฐ์ดํฐ ์ ์ก, ๋ฉฑ๋ฑํ์ง ์์, ๋ฐ์ดํฐ ์์ฑ ์ฉ๋
-
์ฐจ์ด์ : GET์ URL ํ๋ผ๋ฏธํฐ์ ์์ฒญํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ HTTP ๋ฉ์์ง์ body๊ฐ ์๋ค. POST๋ body์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋น์ฐํ HTTP ๋ฉ์์ง์ body๊ฐ ์กด์ฌํ๋ค.
์ฟ ํค์ ์ธ์
-
์ฟ ํค: ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ํ์ผ, ์๋ฒ์์ ์์ฒญ ์ ์๋ ์ ์ก, ๋ณด์ ์ทจ์ฝ์ฑ ์กด์ฌ
- ๋์ ๋ฐฉ์
- ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง๋ฅผ ์์ฒญ
- ์๋ฒ์์ ์ฟ ํค๋ฅผ ์์ฑ
- HTTP ํค๋์ ์ฟ ํค๋ฅผ ํฌํจ ์์ผ ์๋ต
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ์ฟ ํค ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์๋ค๋ฉด ํด๋ผ์ด์ธํธ์์ ๋ณด๊ด
- ๊ฐ์ ์์ฒญ์ ํ ๊ฒฝ์ฐ HTTP ํค๋์ ์ฟ ํค๋ฅผ ํจ๊ป ๋ณด๋
- ์๋ฒ์์ ์ฟ ํค๋ฅผ ์ฝ์ด ์ด์ ์ํ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ ๋ ์ฟ ํค๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ณ๊ฒฝ๋ ์ฟ ํค๋ฅผ HTTP ํค๋์ ํฌํจ์์ผ ์๋ต
- ๋์ ๋ฐฉ์
-
์ธ์ : ์๋ฒ ์ธก์์ ๊ด๋ฆฌ๋๋ ์ฌ์ฉ์ ์ํ ์ ๋ณด, ์ธ์ ID๋ฅผ ํตํด ์๋ณ, ๋ณด์์ฑ์ ๋์ง๋ง ์๋ฒ ์์ ์๋ชจ๊ฐ ํผ
- ๋์ ๋ฐฉ์
- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ ์ ์ ์ธ์ ID๋ฅผ ๋ฐ๊ธ
- ํด๋ผ์ด์ธํธ๋ ์ธ์ ID์ ๋ํด ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์ ์ฅํ๊ณ ๊ฐ์ง๊ณ ์์
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์์ฒญํ ๋, ์ด ์ฟ ํค์ ์ธ์ ID๋ฅผ ์๋ฒ์ ์ ๋ฌํด์ ์ฌ์ฉ
- ์๋ฒ๋ ์ธ์ ID๋ฅผ ์ ๋ฌ๋ฐ์์ ๋ณ๋ค๋ฅธ ์์ ์์ด ์ธ์ ID๋ก ์ธ์ ์ ์๋ ํด๋ผ์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ด
- ํด๋ผ์ด์ธํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ฒ ์์ฒญ์ ์ฒ๋ฆฌํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต
- ๋์ ๋ฐฉ์
-
์ฐจ์ด์
- ์ฌ์ฉ์์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ์์น: ์ฟ ํค๋ ์๋ฒ์ ์์์ ์ ํ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ, ์ธ์ ์ ์๋ฒ์ ์์์ ์ฌ์ฉํ๋ค.
- ๋ณด์: ์ฟ ํค๋ ํด๋ผ์ด์ธํธ ๋ก์ปฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ณ์ง๋๊ฑฐ๋ request์์ ์ค๋ํ ๋นํ ์ฐ๋ ค๊ฐ ์์ด์ ๋ณด์์ ์ทจ์ฝํ๋ค. ๋ฐ๋ฉด ์ธ์ ์ ์ฟ ํค๋ฅผ ์ด์ฉํด์ ์ธ์ ID๋ง ์ ์ฅํ๊ณ ๊ทธ๊ฒ์ผ๋ก ๊ตฌ๋ถํด์ ์๋ฒ์์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ๋ณด์์ฑ์ด ์ข๋ค.
- ๋ผ์ดํ ์ฌ์ดํด: ์ฟ ํค๋ ๋ง๋ฃ์๊ฐ์ด ์์ง๋ง ํ์ผ๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๊ณ์ํด์ ์ ๋ณด๊ฐ ๋จ์ ์์ ์ ์๋ค. ๋ํ ๋ง๋ฃ ๊ธฐ๊ฐ์ ๋๋ํ๊ฒ ์ก์๋๋ฉด ์ฟ ํค ์ญ์ ๋ฅผ ํ ๋๊น์ง ์ ์ง๋ ์๋ ์๋ค. ๋ฐ๋ฉด์ ์ธ์ ๋ ๋ง๋ฃ์๊ฐ์ ์ ํ ์ ์์ง๋ง ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ง๋ฃ์๊ฐ์ ์๊ด์์ด ์ญ์ ๋๋ค.
- ์๋: ์ฟ ํค์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ์์ฒญ ์ ์๋๊ฐ ๋น ๋ฅด๋ค. ๋ฐ๋ฉด ์ธ์ ์ ์ ๋ณด๊ฐ ์๋ฒ์ ์๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ๊ฐ ์๊ตฌ๋์ด ๋น๊ต์ ๋๋ฆฐ ์๋๋ฅผ ๋ธ๋ค.
DNS
-
๋๋ฉ์ธ ์ด๋ฆ(์: www.google.com)์ IP ์ฃผ์๋ก ๋งคํํ๋ ์ญํ ์ ํ๋ค.
-
๋ธ๋ผ์ฐ์ ๊ฐ ๋๋ฉ์ธ์ ํด๋นํ๋ IP๋ฅผ ์ฐพ๋ ์์
- local cache ์์ ๊ฒ์ํ ํด๋น ๋๋ฉ์ธ์ IP๊ฐ ์๋์ง ํ์ธํ๋ค. ์ด๋ฏธ ํด๋น ๋๋ฉ์ธ์ ๋ฐฉ๋ฌธํ ์ ์ด ์๋ค๋ฉด ์ปดํจํฐ๊ฐ ํด๋น ๋๋ฉ์ธ์ IP๋ฅผ ๊ธฐ์ตํ๊ณ ์์ผ๋ฏ๋ก ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ค.
- ๋ง์ฝ ์บ์์ ์๋ค๋ฉด ์ปดํจํฐ ๋ด๋ถ์ ํ์ผ ํํ๋ก ์กด์ฌํ๋ hosts ํ์ผ์ ๊ฒ์ํด์ ์ฐพ๋๋ค. ํด๋น hosts ํ์ผ์ ํน์ ๋๋ฉ์ธ๊ณผ IP๋ฅผ ๋งคํ ์์ผ๋์ผ๋ฉด ํด๋น ๋๋ฉ์ธ์ ์ง์ ํ IP๋ก ์ด๋ํ๋ค.
- ๋ง์ฝ ์์ ๊ฒฝ์ฐ์์ ๋๋ฉ์ธ์ ๋ํ IP๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด ์ต์ข ์ ์ผ๋ก DNS๋ฅผ ๊ฒ์ํ๋ค.
REST์ RESTful
-
REST (Representational State Transfer)
- URI๋ฅผ ํตํด ์์(DB)์ ์๋ณํ๊ณ , HTTP ๋ฉ์๋๋ก CRUD ์ฐ์ฐ์ ์ํํ๋ ์ํคํ
์ฒ ์คํ์ผ
- Create
- Read
- Update
- Delete
- URI๋ฅผ ํตํด ์์(DB)์ ์๋ณํ๊ณ , HTTP ๋ฉ์๋๋ก CRUD ์ฐ์ฐ์ ์ํํ๋ ์ํคํ
์ฒ ์คํ์ผ
-
RESTful
- REST ์์น์ ๋ฐ๋ผ ๊ตฌํ๋ ์น ์๋น์ค๋ฅผ ์ง์นญ, "REST API๋ฅผ ์ ๊ณตํ๋ ์น ์๋น์ค๋ RESTfulํ๋ค"์ฒ๋ผ ์ฌ์ฉ๋๋ค.
-
HTTP ๋ฉ์๋
GET: ๋ฐ์ดํฐ ์กฐํ
POST: ๋ฐ์ดํฐ ๋ฑ๋ก, ์ธ์ฆ ์์ ์ ๊ฑฐ์น ๋ ์ฌ์ฉํ๊ธฐ๋ ํจ
DELETE: ๋ฐ์ดํฐ ์ญ์
PUT: ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด์ ์ผ๋ก ์ ๋ฐ์ดํธํ ๋ ์ฌ์ฉ
PATCH: ๋ฐ์ดํฐ๋ฅผ ์ผ๋ถ๋ง ์์ ํ ๋ ์ฌ์ฉ -
URL: ์์์ ์๋ณ์๋ก ์ทจ๊ธํ์ฌ ๋ํ๋ด๋ ์ฃผ์๋ฅผ ๋งํ๋ค. URI์ ์ข ๋ฅ๋ก URL๊ณผ URN์ด ์๋ค. URI๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ํ์์ ๊ฐ๊ณ ์๋ค.
Socket์ด๋?
-
์์ผ: Application ํ๋ก์ธ์ค์ end-to-end ํต์ ์ ์ ๊ณตํ๋ Transport ํ๋กํ ์ฝ ์ฌ์ด์ ์ธํฐํ์ด์ค์ ๋งํ๋ค. ์ฆ, Application์์ Transport ํ๋กํ ์ฝ์ ์ฐ๊ธฐ ์ํ API๋ฅผ ๋งํ๋ค.
-
ํฌ๊ฒ UDP์ TCP์ ๋ ์ข ๋ฅ๋ก ๋ถ๋ฅํ ์ ์๋ค. ์๋๋ ํ์ด์ฌ ์ฝ๋๋ก ํํํ ๊ฒ์ด๋ค.
TCP
- TCP Client
from socket import *
server_name = "example.com"
server_port = 1234
client_socket = socket(AF_INET, SOCKET_STREAM) # ์์ผ ์์ฑ
client_socket.connect((server_name, server_port)) # ์๋ฒ์ ์ฐ๊ฒฐ ์์ฒญ
- TCP Server
from socket import *
server_port = 1234
server_socket = socket(AF_INET, SOCKET_STREAM) # ์์ผ ์์ฑ
server_socket.bind(('', server_port)) # ์์ผ์ ์ฃผ์ ๋ฐ์ธ๋ฉ
server_socket.listen(1) # ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ๋๊ธฐ
(client_socket, client_address) = server_socket.accept() # ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ์๋ฝ
UDP
- UDP Client
from socket import *
server_name = "example.com"
server_port = 1234
client_socket = socket(AF_INET, SOCK_DGRAM) # ์์ผ ์์ฑ
- UDP Server
from socket import *
server_port = 1234
server_socket = socket(AF_NET, SOCK_DGRAM) # ์์ผ ์์ฑ
server_socket.bind(('', server_port)) # ์์ผ์ ์ฃผ์ ๋ฐ์ธ๋ฉ
Socket.io์ WebSocket์ ์ฐจ์ด
-
WebSocket: ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ ์ง์์ ์ด๊ณ ์๋ฐฉํฅ ํต์ ์ ์ํ ํ๋กํ ์ฝ
-
Socket.io: WebSocket์ ํฌํจํ์ฌ ๋ค์ํ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ ๋ง์ถฐ ์๋์ผ๋ก ์ต์ ์ ํต์ ๊ธฐ์ ์ ํํด ์๋ฐฉํฅ ํต์ ์ ๊ตฌํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
IPv4์ IPv6 ์ฐจ์ด
- ์ธํฐ๋ท ํ๋กํ ์ฝ(IP)์ ๋ฒ์ ์ ์๋ฏธํ๋ค. ์ฃผ๋ก ํธ์คํธ ๊ฐ ํจํท ํน์ ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ถ๋ฆฌ๋ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ค.
- IPv4: 32๋นํธ ์ฃผ์, ํค๋ ์ต์
๊ณผ fragmentation ์ง์, ๊ฐ ๋ผ์ฐํฐ๋ง๋ค checksum ๊ฐฑ์
- fragmentation: MTU(Maximum Transport Unit)์ ๋๋ ํฐ ๋ฐ์ดํฐ๊ทธ๋จ์ ์ชผ๊ฐ ์ ์ก์ ํ๊ณ ๋์ฐฉ์ง์์ ์ฌ์กฐํฉ์ ํ๋ค.
- IPv6: 128๋นํธ ์ฃผ์, fragmentation ๊ธฐ๋ฅ ์์(๋น ๋ฅธ ์๋๋ฅผ ์ํด), ์ฐ์ ์์ ์ง์ (priority ๋นํธ) ๋ฑ์ ๊ฐ์ ์ฌํญ ํฌํจ
MAC Address๋
- MAC ์ฃผ์: Data Link Layer์์ ํต์ ์ ์ํดย ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ํ ๋นํ ์๋ณ์๋ฅผ ๋งํ๋ค. ์ฆ, ๋ชจ๋ ๋คํธ์ํฌ ์ฅ๋น๋ ์์ ์ MAC ์ฃผ์๊ฐ ์์ผ๋ฉฐ ์ฃผ์๋ ์ฅ๋น ์ ์กฐ์ ์ฒด๊ฐ ํ ๋นํ๋ค. MAC ์ฃผ์๋ ๋ฌผ๋ฆฌ์ ์ฃผ์(Physical Address)๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ค.
๐ก MAC ์ฃผ์์ IP ์ฃผ์์ ์ฐจ์ด
MAC ์ฃผ์์ IP ์ฃผ์ ๋ชจ๋ ํต์ ๊ธฐ๊ธฐ์ ์๋ณ์๋ผ๋ ๊ฒ์ ๋์ผํ๋ค. ๋ค๋ง MAC ์ฃผ์๋ ์ ์กฐ์
์ฒด๊ฐ ํต์ ๊ธฐ๊ธฐ์ ๋ถ์ฌํ๋ ์๋ณ์์ด๋ฉฐ ๊ฐ์ ์๋ณ์๋ฅผ ๊ฐ๋ ํต์ ๊ธฐ๊ธฐ๋ ์๋ค. IP ์ฃผ์๋ Network Layer์์ ํต์ ์ ํ๊ธฐ ์ํ ์ฃผ์๋ก ๋ณดํต ํต์ ์ฌ์์ ๋ถ์ฌํ๋ฉฐ ๋ฐ๋ ์ ์๋ค.
๋ผ์ฐํฐ, ์ค์์น, ํ๋ธ ์ฐจ์ด
-
๋ผ์ฐํฐ(Router): Network Layer 3๊ณ์ธต ์ฅ๋น๋กย ๋คํธ์ํฌ ์ฌ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ์ฅ์น์ด๋ค. ์ต์ข ๋์ฐฉ์ง์ ๋คํธ์ํฌ์ ๋์ฐฉํ ์ ์๋๋ก ์ ์ ํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ์ฌ ํจํท์ ์ ์กํ๋ค.
-
์ค์์น(Switch): Data Link Layer 2๊ณ์ธต ์ฅ๋น๋กย ๋คํธ์ํฌ ๋ด์์ ํจํท์ ์ ์กํ๋ ์ฅ์น๋ฅผ ๋งํ๋ค. ์ค์์น๋ก ์์ฒญ์ด ๋ค์ด์ค๋ฉด IP ์ฃผ์์ ๋์๋๋ MAC ์ฃผ์๋ฅผ ์ฐพ์ ํด๋น MAC ์ฃผ์๋ก ํจํท์ ์ ์กํ๋ค. ๋ง์ฝ IP ์ฃผ์์ ๋์๋๋ MAC ์ฃผ์๊ฐ ์๋ค๋ฉด ํ๋ธ์ฒ๋ผ ๋ธ๋ก๋์บ์คํธ ๋ฐฉ์์ผ๋ก ํจํท์ ์ ์กํ๊ณ IP ์ฃผ์์ MAC ์ฃผ์๋ฅผ ๋์์ํจ ํ ์ด๋ธ์ ๊ฐฑ์ ์ํจ๋ค.
- ๋ธ๋ก๋์บ์คํธ: LAN์ ์๋ ๋ชจ๋ ๋คํธ์ํฌ ์ฅ๋น๋ค์๊ฒ ๋ณด๋ด๋ ํต์ ์ด๋ค.
-
ํ๋ธ(Hub): Physical Layer 1๊ณ์ธต ์ฅ๋น๋กย ์ฌ๋ฌ ๊ธฐ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ์ฅ์น์ด๋ค. ํจํท์ ๋ฐ์ผ๋ฉด ์ฐ๊ฒฐ๋ ๋ชจ๋ ๊ธฐ๊ธฐ์ ํจํท์ ์ ์กํ๋ค.
SMTP
SMTP(Simple Mail Transfer Protocol)
์ย ์ธํฐ๋ท์์ ์ด๋ฉ์ผ์ ๋ณด๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ TCP/IP ํ๋กํ ์ฝ์ ๋งํ๋ค. ์ฌ์ฉํ๋ TCP Port ๋ฒํธ๋ 25๋ฒ์ด๋ค.- MAIL ๋ช ๋ น: ์ฃผ์ ๋ฐํ ํ๋ฆฝ
- RCPT ๋ช ๋ น: ๋ฉ์์ง ์์ ์ ํ๋ฆฝ
- DATA ๋ช ๋ น: ๋ฉ์์ง ํ ์คํธ์ ์ฒซ ์ ํธ๋ฅผ ์ ๊ณต
๋คํธ์ํฌ topology
-
Star(์ฑํ): ์ค์ ๋ ธ๋๋ฅผ ํตํด ์ฐ๊ฒฐ, ์ฅ์ ๋ฐ๊ฒฌ ๋ฐ ๊ด๋ฆฌ ์ฉ์ดํ์ง๋ง ์ค์ ์ฅ์ ์ ์ ์ฒด ์ํฅ
-
Bus(์ ํ): ๊ณตํต ๋ฒ์ค(๋ฐฐ์ )๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ, ๋ ธ๋ ์ค์น์ ํ์ฅ์ด ์ฉ์ดํ๊ณ ์ฅ์ ๊ฐ ๋ค๋ฅธ ๋ ธ๋์ ์ํฅ์ ์ฃผ์ง ์์, ๋์ญํญ ์ ํ ์กด์ฌํด ๊ณผ๋ถํ๋ก ์ธํ ๋คํธ์ํฌ ์ฑ๋ฅ ์ ํ ๋ฐ์ ๊ฐ๋ฅ
-
Ring(๋งํ): ์ํ ์ฐ๊ฒฐ, ๋จ๋ฐฉํฅ ํต์ , ๋ ธ๋ ์ถ๊ฐ/์ญ์ ๊ฐ ์ด๋ ค์
-
Mesh(๋งํ): ๊ฐ ๋ ธ๋๊ฐ ๋ค์ ์ฐ๊ฒฐ๋์ด ์์ ์ ์ด๋ ๊ตฌ์ถ ๋น์ฉ๊ณผ ๋ณต์ก์ฑ ์ฆ๊ฐ
-
Tree(ํธ๋ฆฌํ): ๋คํธ์ํฌ์ ํ์ฅ์ ์ฉ์ด, ์ฅ์ ๊ฐ ์ ์ฒด ๋คํธ์ํฌ์ ๋ฏธ์น๋ ์ํฅ์ ์ค์.
๋จ, ์ต์์ ๋ฃจํธ ๋ ธ๋๋ ๋ฐฑ๋ณธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด, ๊ทธ ํ์์ ์๋ ๋ชจ๋ ๋คํธ์ํฌ ๊ตฌ์ญ์ด ์ํฅ์ ๋ฐ์
subnet mask โ ์ด๊ฑด ์ข ์ดํด๊ฐ ์๊ฐ๋๋..
IP ์ฃผ์์ ์๋ธ๋คํ (subnetting)
IPv4 ์ ๊ฒฝ์ฐย
ํ์ ๋ ์์์ด๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ผ๋ก ๋ ธ๋์ ์ฃผ์๋ฅผ ํ ๋นํ๋๊ฒ ์ค์ํ๋ค. ์ด๋ฅผ ์ํด IP ๋ฅผ ์ชผ๊ฐ๋, ๋คํธ์ํฌ ํํธ + ํธ์คํธ ํํธ๋ก ๊ตฌ์ฑํ๋ ์๋ธ๋คํ ์ ํ์ฉํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก IP ์ฃผ์์ ๋ฐ๋ผ 5๊ฐ์ ํด๋์ค๋ก ๊ตฌ๋ถ๋๋ค. ๊ฐ ํด๋์ค์ ๋ฐ๋ผ ๋คํธ์ํฌ ํํธ์ ํธ์คํธ ํํธ๊ฐ ์ ํด์ง๋ค.
์์ ๊ฐ์ ํด๋์ค ๊ตฌ์กฐ์ ๋๋ถ์ด ๋์ฑ ํจ์จ์ ์ธ ์๋ธ๋คํ
์ ์ํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ธ๋ท ๋ง์คํฌ์ด๋ค.
์๋ธ๋ท ๋ง์คํฌ (subnet mask)
ํ ๋น๋ IP ์ฃผ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋คํธ์ํฌ ํํธ์ ํธ์คํธ ํํธ๊ฐ ์ ํด์ ธ์๋ค.
ํจ์จ์ ์ธ ์ฃผ์ ๊ด๋ฆฌ๋ฅผ ์ํด ๋ด๋ถ์ ์ผ๋ก ํธ์คํธ ํํธ๋ฅผ ์๋ก์ด ๋คํธ์ํฌ ํํธ์ ํธ์คํธ ํํธ๋ก ๋๋ ์ ์๋ค. ์ด ๋ ์๋ธ๋ท ๋ง์คํฌ๋ฅผ ํ์ฉํ ์ ์๋ค.
๋ง์ฝ C ํด๋์ค์ธ 192.12.16.1 IP, 255.255.255.0 ์๋ธ๋ท ๋ง์คํฌ(ํธ์คํธ ํํธ)๊ฐ ํ ๋น๋์์ ๋ ๊ธฐ์กด์ ์๋ธ๋ท ๋ง์คํฌ์ธ ๋ง์ง๋ง 8 ๋นํธ๋ฅผ 1111 0000 ์ผ๋ก ๋ฐ๊พผ๋ค๋ฉด, 4 ๋นํธ๋งํผ์ ๋คํธ์ํฌ ํํธ (๊ทธ๋ฃน), 4 ๋นํธ๋งํผ์ ํธ์คํธ (๋ฉค๋ฒ) ๋ฅผ ํ ๋นํ ์ ์๋ค. ์ด๋ ๊ฒ ๋๋ค๋ฉด ๋์ผ ๋คํธ์ํฌ ๊ฐ์๋ ์ปค๋ฎค๋์ผ์ด์ ์ด ์์ ๋กญ์ง๋ง, ๋ค๋ฅธ ๋คํธ์ํฌ ๊ฐ์๋ ๋ผ์ฐํฐ๋ฅผ ๊ฑฐ์ณ์ผ ์ปค๋ฎค๋์ผ์ด์ ์ ํ ์ ์๋ค.
์ด๋ค ๊ธฐ์ ์ ์๊ฐํด๋ณด์. ์๋ธ๋ท ๋ง์คํฌ๋ก ์ถ๊ฐ์ ์ธ ์๋ธ๋คํ ์ ์ํ๋ค๋ฉด ์ธ์ฌํ, ์ฌ๋ฌดํ ๋ฑ๋ฑ ์ฌ๋ฌ ํ๋ค์ด ๋ชจ๋ ๊ฐ์ ๋คํธ์ํฌ ํํธ๋ฅผ ์ง๋๋ฏ๋ก ์๋ก์๊ฒ ์ ๊ทผํ ์ ์๋ค. ์ด๋ด ๋ ์๋ธ๋ท ๋ง์คํฌ๋ฅผ ํ์ฉํ ์๋ธ๋คํ ์ผ๋ก ํจ์จ์ ์ผ๋ก IP ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
DHCP
-
DHCP: ๋์ ์ผ๋ก IP ์ฃผ์๋ ๊ธฐํ ์ ๋ณด๋ค์ ๊ด๋ฆฌํด์ฃผ๋ ํ๋กํ ์ฝ์ ๋งํ๋ค. ๊ด๋ฆฌํด์ผํ๋ ์ปดํจํฐ๊ฐ ๋ง๊ณ ์ด๋ค์ IP ๋ฅผ ๋ชจ๋ ์ง์ ํ ๋นํ๊ณ ๊ด๋ฆฌํ๋ ค๋ฉด ์๋นํ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด๋ค์ง๋ง, DHCP ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์๋ค.
- ๊ณผ์
DHCP discover
: ์ปดํจํฐ๊ฐ ๋์ผ ์๋ธ๋ท์ผ๋ก ๋ธ๋ก๋์บ์คํ (255.255.255.255)์ผ๋ก DHCP ์๋ฒ๋ฅผ ์ฐพ๋๋ค.DHCP offer
: DHCP ๊ฐ ์ฌ์ฉ๊ฐ๋ฅํ IP ์ฃผ์์ ๋ฆฌ์คํธ๋ฅผ ์ปดํจํฐ์๊ฒ ์ ๋ฌํ๋ค.DHCP request
: ์ปดํจํฐ๊ฐ ๋ฆฌ์คํธ ์ค ํ๋์ IP ์ฃผ์๋ฅผ ์ ํํ์ฌ ์๋ฒ์ ์ ๋ฌํ๋ค.DHCP ack
: DHCP ๊ฐ ์ปดํจํฐ์๊ฒ ํด๋น IP ์ฃผ์๋ฅผ ํ๋ฝ/๊ฑฐ์ ํ๋ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ๋ค.
- ๊ณผ์
-
์ฅ์
- DHCP ์๋ฒ์์ ์๋์ผ๋ก IP ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ฏ๋ก ํธ๋ฆฌํ๋ค. IP ์ ๋ณ๋์ด ์์ ๋, DHCP ์๋ง ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ฉด ๋๋ค.
- ์ฌ์ฉ์ค์ธ ์ปดํจํฐ์ ๋ํด์๋ง ํ ๋นํ๋ฏ๋ก ํจ์จ์ ์ด๋ค.
-
๋จ์
- DHCP ์๋ฒ์ ์์กดํ๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ๋ค์ด๋๋ ๊ฒฝ์ฐ ๋ชจ๋ ์ปดํจํฐ์์ ์ธํฐ๋ท์ ํ ์ ์๋ค.
- ์ด๊ธฐ DHCP ์ธํ ์๊ฐ ๋ฐ ํธ๋ํฝ์ด ํฌ๋ค.
- ๋จ๋ง ์ปดํจํฐ๋ฅผ ๋ ๊ฒฝ์ฐ, ์์ ํ ์ฃผ์๊ฐ release ๋ ๋ ๊น์ง ํด๋น IP ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๋ผ์ฐํ ํ๋กํ ์ฝ (Link State vs. Distance Vector)
- ๋ผ์ฐํ : ํจํท์ ์ ๋ฌํ ๋ ์ด๋ ๊ฒฝ๋ก๋ก ๊ฐ์ง ์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ ์ ๋ผ์ฐํ : ๋คํธ์ํฌ ๋ผ์ฐํฐ์ ๊ฒฝ๋ก๋ฅผ ๋คํธ์ํฌ ๊ด๋ฆฌ์๊ฐ ์๋์ผ๋ก ์ค์ ํ๋ ๋ฐฉ์
- ๋์ ๋ผ์ฐํ
: ์ ์ ๋ผ์ฐํ
๊ณผ ๋ฌ๋ฆฌ ๋คํธ์ํฌ ์ํฉ์ ๋ฐ๋ผ ๊ฒฝ๋ก๋ฅผ ๋์ ์ผ๋ก ๊ฐฑ์
- IGP: ํ๋์ ๋คํธ์ํฌ ๊ด๋ฆฌ์์ ์ํด ๊ด๋ฆฌ๋๋ ๋คํธ์ํฌ ์ง๋จ(AS)์ ๊ธฐ์ค์ผ๋ก ๋ด๋ถ ๋ผ์ฐํ
- Distance Vector: ๊ฐ ๋
ธ๋๊ฐ ์ธ์ ๋
ธ๋๋ก๋ถํฐ ๊ฑฐ๋ฆฌ์ ๋ฐฉํฅ ์ ๋ณด๋ฅผ ๋ฐ์ ๋ผ์ฐํ
ํ
์ด๋ธ ๊ฐฑ์ (์: RIP, IGRP, BGP)
๊ฐ๋จํ์ง๋ง ๋ฃจํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ (๋ฒจ๋งโํฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฐ) - Link State: ๋คํธ์ํฌ ๋ด ๋ชจ๋ ๋
ธ๋๊ฐ ์ ์ฒด ํ ํด๋ก์ง๋ฅผ ํ์
ํ์ฌ ๊ฒฝ๋ก ๊ณ์ฐ (์: OSPF, IS-IS)
์ ํํ๋ CPU, ๋ฉ๋ชจ๋ฆฌ ์์ ์๋ชจ๊ฐ ํผ (๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฐ)
- Distance Vector: ๊ฐ ๋
ธ๋๊ฐ ์ธ์ ๋
ธ๋๋ก๋ถํฐ ๊ฑฐ๋ฆฌ์ ๋ฐฉํฅ ์ ๋ณด๋ฅผ ๋ฐ์ ๋ผ์ฐํ
ํ
์ด๋ธ ๊ฐฑ์ (์: RIP, IGRP, BGP)
- EGP: AS๊ธฐ์ค ์ธ๋ถ ๋ผ์ฐํ
- IGP: ํ๋์ ๋คํธ์ํฌ ๊ด๋ฆฌ์์ ์ํด ๊ด๋ฆฌ๋๋ ๋คํธ์ํฌ ์ง๋จ(AS)์ ๊ธฐ์ค์ผ๋ก ๋ด๋ถ ๋ผ์ฐํ
์ด๋๋ท์ด๋?
-
์ด๋๋ท: ๊ทผ๊ฑฐ๋ฆฌ ์ ์ ํต์ ์ ์ํด ์ฌ์ฉ๋๋ ๋คํธ์ํน ๋ฐฉ๋ฒ์ผ๋กย CSMA/CDํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ค. IEEE 802.3 ์ ํ์ค์ผ๋ก ์ ์๋์๋ค.
-
์ฅ์
- ์ ์ ์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ฑ๋ฅ์ด ์ข๋ค.
- ๋น์ฉ์ด ์ ๊ณ ๊ด๋ฆฌ๊ฐ ์ฝ๋ค.
- ๊ตฌ์กฐ๊ฐ ๋จ์ํ๋ค.
-
๋จ์
- ์บ๋ฆฌ์ด ์ถฉ๋์ด ๋ฐ์ํ ์ ์๋ค.
- ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ง์ฐ์ด ์๊ธด๋ค.
CSMA/CD vs CSMA/CA
- CSMA/CD (Collision Detection)
- ์ฃผ๋ก ์ ์ ๋คํธ์ํฌ(Ethernet)์์ ์ฌ์ฉ
- ์ฑ๋์ ๊ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ์ฆ์ ์ค๋จํ๊ณ ๋์ ๊ฐ๋ฅ
- ์ถฉ๋์ด ๋ฐ์ํ๋ฉด ๋คํธ์ํฌ ์์์ ๋ญ๋นํ๊ฒ ๋์ง๋ง, ์ ์ ํ๊ฒฝ์์๋ ์ ํธ ๊ฐ์ง๊ฐ ๋น๊ต์ ์ ํํ์ฌ ํจ์จ์ ์ผ๋ก ๋์
- CSMA/CA (Collision Avoidance)
- ๋ฌด์ ๋คํธ์ํฌ(Wi-Fi)์์ ์ฌ์ฉ
- ๋ฌด์ ํ๊ฒฝ์์๋ ์ถฉ๋ ๊ฐ์ง๊ฐ ์ด๋ ค์
- RTS/CTS(Request to Send / Clear to Send) ํธ๋์ ฐ์ดํฌ ๋ฑ์ ์ ์ฐจ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ์ ์ก ์ ์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์ต์ํ
- ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ์ง๋ง, ๋ฌด์ ํน์ฑ์ ๋ง๊ฒ ์ค๊ณ
Client์ Server ์ฐจ์ด
- ๋คํธ์ํฌ ์์์ ์์ฒญ์ ๋ณด๋ด๋ ๋์์ย
client
, ์์ฒญ์ ์๋ตํ๋ ๋์์ยserver
ย ๋ผ๊ณ ํ๋ค. client ์ server ๋ ๊ณ ์ ๋์ง ์๊ณ ์์ฒญ์ ๋ฐ๋ผ ๋ฐ๋๋ค.
Delay, Timing(jitter), Throughput์ ์ฐจ์ด
-
์ 3๊ฐ์ง ์ฉ์ด ๋ชจ๋ ๋คํธ์ํฌ ์ฑ๋ฅ์ ๋ํ๋ธ๋ค.
-
Delay (์ง์ฐ):
- ํจํท์ด ์ถ๋ฐ์ง์์ ๋์ฐฉ์ง๊น์ง ์ ๋ฌ๋๋ ์ ์ฒด ์๊ฐ
- ๊ตฌ์ฑ
Processing Delay (์ฒ๋ฆฌ ์ง์ฐ)
: ๋ผ์ฐํฐ๊ฐ ๋ค์ด์จ ํจํท์ ํค๋๋ฅผ ํ์ธํ๊ณ ์ฒ๋ฆฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐQueueing Delay (ํ ์ง์ฐ)
: ๋ผ์ฐํฐ๊ฐ ๋ค๋ฅธ ํจํท์ ์ฒ๋ฆฌํ๋๋ผ ํจํท์ด ๋ผ์ฐํฐ์ ํ์์ ๋๊ธฐํ๋ ์๊ฐTransmission Delay (์ ์ก ์ง์ฐ)
: ๋ผ์ฐํฐ์ ์ฑ๋ฅ (์ ์ก ์๋) ์ ๋ฐ๋ผ ํจํท์ด ๋ ผ๋ฆฌํ๋ก๋ฅผ ํต๊ณผํ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐPropagation Delay (์ ํ ์ง์ฐ)
: ๋ผ์ฐํฐ๊ฐ ๊ฑฐ๋ฆฌ์ ์ํด ๋ฐ์ํ๋ ์ง์ฐ ์๊ฐ
-
Jitter (์งํฐ):
- ํจํท ์ง์ฐ ์๊ฐ์ ๋ณ๋ ํญ, ์ผ์ ํ์ง ์์ ์ ์ก ์ง์ฐ์ ์๋ฏธ
-
Throughput (์ฒ๋ฆฌ๋):
- ๋จ์ ์๊ฐ๋น ์ค์ ์ ์ก๋๋ ๋ฐ์ดํฐ ์, ๋คํธ์ํฌ์ ํจ์จ์ฑ์ ๋ํ๋