Chapter 2 : ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต
๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฆฌ
- ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ
- server
- ํญ์ host์ด๋ค.
- ๊ณ ์ ๋ IP ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๋ณดํต ๋ฐ์ดํฐ ์ผํฐ์ ์์นํ๊ณ ์๋ค.
- client
- ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ ํต์ ํ๋ค.
- ๊ฐ๋ ๋๋ ํญ์ ์ผ์ ธ ์์ ์ ์๋ค.
- ์ฃผ์ ๋ณ๋ ๊ฐ๋ฅ (๋ฐ์ดํฐ๋ฅผ ๋จผ์ ์์ฒญํ๊ธฐ ๋๋ฌธ์ ์์ ์ ์ฃผ์๋ฅผ ๋ด์์ ๋ณด๋ผ ์ ์์)
- ์๋ก ์ง์ ํต์ ํ์ง ์๋๋ค.
- ์) HTTP, IMAP, FTP
- server
- P2P ๊ตฌ์กฐ
- ํญ์ ์ผ์๋ ์๋ฒ๊ฐ ์กด์ฌํ์ง ์๋๋ค.
- ํผ์ด๋ผ๋ ๊ฐํ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ํธ์คํธ ์์ด ์๋ก ์ง์ ํต์ ํ๊ฒ ํ๋ค.
- Self-scalability ํ๋ค. ์๋ก์ด ํผ์ด๋ ์์ ๋ถํ๋ฅผ ๋ง๋ค์ด๋ด์ง๋ง, ์๋น์ค ๋ฅ๋ ฅ์ ์ถ๊ฐํ๊ธฐ๋ ํ๋ค. ์ฆ, ํด๋ผ์ด์ธํธ์ ์๊ฐ ๋ง์์ ธ๋ ์์ ์ ์ผ๋ก ์๋น์คํ ์ ์๋ค.
- ํ๋ก์ธ์ค ๊ฐ ํต์
- ํ๋ก์ธ์ค: ์ด์์ฒด์ ์ฉ์ด์์ ์ค์ ํต์ ํ๋ ๊ฒ. ์ข
๋จ ์์คํ
์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ.
- ๊ฐ์ ์ข ๋จ ์์คํ (host) ๋ด์์๋ ์ด์์ฒด์ ๊ฐ ๊ฒฐ์ ํ inter-process communication์ ์ฌ์ฉํ๋ค.
- ๋ค๋ฅธ ์ข ๋จ ์์คํ ์์์ ํ๋ก์ธ์ค๋ ๋ฉ์์ง์ ๊ตํ์ ํตํด ํต์ ํ๋ค.
- ํ๋ก์ธ์ค: ์ด์์ฒด์ ์ฉ์ด์์ ์ค์ ํต์ ํ๋ ๊ฒ. ์ข
๋จ ์์คํ
์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ.
- ์์ผ
- ํ๋ก์ธ์ค๋ ์์ผ์ ํตํด ๋คํธ์ํฌ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ๋ฐ๋๋ค.
- ํ๋ก์ธ์ค๋ ์ง๊ณผ ๋น์ทํ๋ฉฐ ์์ผ์ ๋ฌธ๊ณผ ๊ฐ๋ค.
- ํธ์คํธ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต๊ณผ ํธ๋์คํฌํธ ๊ณ์ธต ๊ฐ์ ์ธํฐํ์ด์ค์ด๋ค.
- ํ๋ก์ธ์ค ์ฃผ์ ๋ฐฐ์
- IP์ฃผ์์ ํฌํธ ๋ฒํธ๊ฐ ํ์ํ๋ค.
- 0๋ถํฐ 1023๊น์ง์ ํฌํธ๋ฒํธ๋ HTTP(80), FTP, SMTP(25)์ ๊ฐ์ ์ธ๊ธฐ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฝ๋์ด ์๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
ํ๋กํ ์ฝ
- ๊ตํ ๋ฉ์์ง ํ์ (request, response), message syntax, message semantics, ์ธ์ /์ด๋ป๊ฒ ํ๋ก์ธ์ค๊ฐ ๋ฉ์์ง๋ฅผ ์ ์กํ๊ณ ์๋ตํ๋์ง ๊ฒฐ์ ํ๋ ๊ท์น์ ์ ์ํ๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
์ด ์ด์ฉ ๊ฐ๋ฅํ ํธ๋์คํฌํธ ์๋น์ค
- ์ ๋ขฐ์ ๋ฐ์ดํฐ ์ ์ก
- ์ฒ๋ฆฌ์จ
- ์๊ฐ
- ๋ณด์
Web๊ณผ HTTP
- HTTP ๊ฐ์
- ์น์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ํ๋กํ ์ฝ
- ํด๋ผ์ด์ธํธ-์๋ฒ ๋ชจ๋ธ
- TCP ์ฌ์ฉ
- stateless: HTTP ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋๋ค.
- ์ฟ ํค: ์น์ฌ์ดํธ์ ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์ํ๋ฅผ ์ ์งํ ์ ์๋ค. ์ฟ ํค ๊ธฐ์ ์ ์๋์ ๊ฐ์ด 4๊ฐ์ง ์์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- HTTP ์๋ต ๋ฉ์์ง ์ฟ ํค ํค๋๋ผ์ธ
- HTTP ์์ฒญ ๋ฉ์์ง ์ฟ ํค ํค๋๋ผ์ธ
- ์ฟ ํคํ์ผ์ ์ฌ์ฉ์์ ํธ์คํธ์ ์ ์ฅ๋๊ณ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ๊ฐ ๊ด๋ฆฌ
- ์น์ฌ์ดํธ์ ๋ฐฑ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๊ณ ์๋ค.
- ์ฟ ํค๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ
- ์ฌ์ฉ์ ์๋ณ
- ์ฅ๋ฐ๊ตฌ๋
- ์ถ์ฒ
- ์ฌ์ฉ์ ์ธ์ ๊ณ์ธต ์์ฑ(web e-mail)
- ์ฟ ํค: ์น์ฌ์ดํธ์ ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ ์ํ๋ฅผ ์ ์งํ ์ ์๋ค. ์ฟ ํค ๊ธฐ์ ์ ์๋์ ๊ฐ์ด 4๊ฐ์ง ์์๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- HTTP ์ฐ๊ฒฐ์ 2๊ฐ์ง ํ์
์ด ์๋ค(๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ์ HTTP ์ฐ๊ฒฐ์ ํธ๋์คํฌํธ ๋ ์ด์ด์ TCP ์ฐ๊ฒฐ๊ณผ ๋ค๋ฅด๋ค).
- ๋น์ง์(non-persistent) ์ฐ๊ฒฐ
- ์๋ต์๊ฐ = 2RTT (round trip time) + file transmission time
- RTT๋ ํจํท์ด ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ์๋ฒ๊น์ง ๊ฐ๊ณ , ๋ค์ ํด๋ผ์ด์ธํธ๋ก ๋๋์์ค๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ์ง์(consistent) ์ฐ๊ฒฐ (HTTP 1.1)
- ๋น์ง์(non-persistent) ์ฐ๊ฒฐ
E-mail, SMTP, IMAP
- E-mail
- ์ฌ์ฉ์ ์์ด์ ํธ, ๋ฉ์ผ ์๋ฒ, SMTP๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- SMTP (Simple Mail Transfer Protocol)
- ์์ ์์ ์๋ฒ์ ์ด๋ฉ์ผ ๋ฉ์์ง๋ฅผ ์ ๋ฌ/์ ์ฅํ๋ค.
- HTTP์ ๋น๊ตํ์ ๋ HTTP๋ ํด๋ผ์ด์ธํธ๊ฐ pullํ์ง๋ง SMTP์์๋ ํด๋ผ์ด์ธํธ๊ฐ push ํ๋ค. ๋ฐ๋ผ์ ๋ฉ์ผ์ ์์ ํ ๋๋ IMAP๋ HTTP๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
- ์ง์ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๋ค.
- CRLF.CRLF ๋ก ๋ฉ์์ง์ ๋์ ๋ํ๋ธ๋ค.
- IMAP (Internet Mail Access Protocol)
- ๋ฉ์์ง๋ฅผ ๋ถ๋ฌ์ค๊ฑฐ๋ ์ญ์ ํ๊ฑฐ๋ ํด๋๋ก ์ด๋ํ ์ ์๋ค.
DNS (The Domain Name System)
- DNS๋ ๋ค์๊ณผ ๊ฐ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
- hostname to IP address translation
- host aliasing
- mail server aliasing
- load server distribution
- ๋ถ์ฐ ๊ณ์ธต ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๋ฃจํธ DNS ์๋ฒ(Root) -> ์ต์์ ๋ ๋ฒจ ๋๋ฉ์ธ (Top Level Domain) -> ์ฑ ์ DNS ์๋ฒ (Authoritative)
- DNS ๋ ์ฝ๋
- ํธ์คํธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋งคํํ๊ธฐ ์ํด ์์ ๋ ์ฝ๋(resource record, RR)๋ฅผ ์ ์ฅํ๋ค.
- ์์๋ ์ฝ๋์ ํฌ๋งท: (name, value, type, ttl)
Video Streaming๊ณผ CDN (Content Distribution Networks)
- DASH (Dynamic, Adaptive, Streaming over HTTP)
- ์๋ก ๋ค๋ฅธ ์ธํฐ๋ท ์ ์ ํ์ ์ ๊ฐ์ง ํด๋ผ์ด์ธํธ๋ค์๊ฒ ์๋ก ๋ค๋ฅธ ์ธ์ฝ๋ฉ๋ฅ ์ ๊ฐ๋ ๋น๋์ค๋ฅผ ์ ํํ ์ ์๋๋ก ํ๋ค.
- HTTP ์๋ฒ๋ ๋นํธ์จ์ ๋ฐ๋ฅธ ๊ฐ ๋ฒ์ ์ URL์ ์ ๊ณตํ๋ ๋งค๋ํ์คํธ ํ์ผ(manifest file)์ ๊ฐ๊ณ ์๋ค.
- CDN
- ์ ์ธ๊ณ์ ์ฌ์ฉ์๋ค์๊ฒ ๋ง์ ์์ ๋น๋์ค ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฐฐํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.
- CDN์ ๋ค์์ ์ง์ ์ ๋ถ์ฐ๋ ์๋ฒ๋ค์ ์ด์ํ๋ฉฐ, ๋น๋์ค ๋ฐ ๋ค๋ฅธ ํํ์ ์น ์ฝํ ์ธ ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ณธ์ ๋ถ์ฐ ์๋ฒ์ ์ ์ฅํ๋ค.
- ์๋ฒ์ ์์น์ ๋ํด 2๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฑ์ฉํ๋ค.
- Enter Deep: ์๋ฒ ํด๋ฌ์คํฐ๋ฅผ ์ธ๊ณ ๊ณณ๊ณณ์ ์ ์ ๋คํธ์ํฌ์ ๊ตฌ์ถ -> ISP์ ์ ์ ๋คํธ์ํฌ๋ก ๊น์์ด ๋ค์ด๊ฐ -> ์๋ฒ๋ฅผ ์ต๋ํ ์ฌ์ฉ์ ๊ฐ๊น์ด์ ์์น์์ผ ์ฌ์ฉ์์ CDN ์๋ฒ ์ฌ์ด์ ๋งํฌ ๋ฐ ๋ผ์ฐํฐ ์๋ฅผ ์ค์ด๊ณ , ์ฌ์ฉ์๊ฐ ๊ฒฝํํ๋ ์ง์ฐ ์๊ฐ ๋ฐ ์ฒ๋ฆฌ์จ ๊ฐ์
- Bring Home: ์ ์ ์์ ํต์ฌ ์ง์ ์ ํฐ ๊ท๋ชจ์ ์๋ฒ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถ -> ISP๋ฅผ Home์ผ๋ก ๊ฐ์ ธ์ด
๋๊ธ