๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์Šคํ„ฐ๋””/๋„คํŠธ์›Œํฌ

[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ] 2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต

by moon101 2023. 1. 28.

Chapter 2 : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต

๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์›๋ฆฌ

  • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ตฌ์กฐ
    • server 
      • ํ•ญ์ƒ host์ด๋‹ค.
      • ๊ณ ์ •๋œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
      • ๋ณดํ†ต ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์œ„์น˜ํ•˜๊ณ  ์žˆ๋‹ค.
    • client
      • ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•˜๊ณ  ํ†ต์‹ ํ•œ๋‹ค.
      • ๊ฐ€๋” ๋˜๋Š” ํ•ญ์ƒ ์ผœ์ ธ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
      • ์ฃผ์†Œ ๋ณ€๋™ ๊ฐ€๋Šฅ (๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์š”์ฒญํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์‹ ์˜ ์ฃผ์†Œ๋ฅผ ๋‹ด์•„์„œ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ)
      • ์„œ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
      • ์˜ˆ) HTTP, IMAP, FTP
  • 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)
    • HTTP ์—ฐ๊ฒฐ์€ 2๊ฐ€์ง€ ํƒ€์ž…์ด ์žˆ๋‹ค(๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ๊ฐ„์˜ HTTP ์—ฐ๊ฒฐ์€ ํŠธ๋žœ์ŠคํฌํŠธ ๋ ˆ์ด์–ด์˜ TCP ์—ฐ๊ฒฐ๊ณผ ๋‹ค๋ฅด๋‹ค). 
      • ๋น„์ง€์†(non-persistent) ์—ฐ๊ฒฐ
        • ์‘๋‹ต์‹œ๊ฐ„ = 2RTT (round trip time) + file transmission time
        • RTT๋Š” ํŒจํ‚ท์ด ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์„œ๋ฒ„๊นŒ์ง€ ๊ฐ€๊ณ , ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋˜๋Œ์•„์˜ค๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
      • ์ง€์†(consistent) ์—ฐ๊ฒฐ (HTTP 1.1)

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์œผ๋กœ ๊ฐ€์ ธ์˜ด

 

๋Œ“๊ธ€