๊ธฐ์ดˆ ๋„คํŠธ์›Œํฌ[์œ ํˆฌ๋ธŒ ์กฐ์ฝ”๋”ฉ - ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ง€์‹...(feat.๊ฐ•๋ฏผ์ฒ )

2024-06-20
๐Ÿ“‚ infra > network
๐Ÿงถ #network #http

ํ•™์Šต ๋ฐฐ๊ฒฝ


๊ฑฐ์‹œ์ ์œผ๋กœ ๋ณธ ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

1. ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ

image
์ถœ์ฒ˜ : midinum - Swapnil Bandgar

  1. ํ˜ธ์ŠคํŠธ
  • ์œ„ ๊ทธ๋ฆผ์—์„œ ๊นŒ๋งŒ ์›=node๋“ค ์ค‘, ๋„คํŠธ์›Œํฌ ์ •๋ณด๋ฅผ ์†ก์‹ /์ˆ˜์‹ ํ•˜๋ ค๊ณ  ํ•˜๋Š” node
  • ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—ฌ์•ผ ํ•จ
  • ์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ๋„ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๊ด€์ ์—์„œ๋Š” ๋ชจ๋‘ ํ˜ธ์ŠคํŠธ
  1. ๋„คํŠธ์›Œํฌ ์žฅ๋น„
  • ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜ ๋“ฑ ํ˜ธ์ŠคํŠธ ๊ฐ„์˜ ์ •๋ณด ์ „๋‹ฌ์„ ์„œํฌํŠธํ•˜๋Š” node
  1. ํ†ต์‹  ๋งค์ฒด
  • ์œ„ ๊ทธ๋ฆผ์—์„œ ๊นŒ๋งŒ ์„ =link์— ํ•ด๋‹นํ•˜๋ฉฐ ์ •๋ณด๊ฐ€ ์ „๋‹ฌ๋  ๋•Œ ๋งค์งˆ์˜ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ์ดํ•ดํ•จ
  • ์œ ์„  ๋งค์ฒด - ์ผ€์ด๋ธ” / ๋ฌด์„  ๋งค์ฒด - wifi

๋„คํŠธ์›Œํฌ = { ํ˜ธ์ŠคํŠธ, ๋„คํŠธ์›Œํฌ ์žฅ๋น„, ํ†ต์‹  ๋งค์ฒด, ๋ฉ”์‹œ์ง€(์ •๋ณด) }

2. ๋„คํŠธ์›Œํฌ์˜ ๋ถ„๋ฅ˜

  1. ๋ฒ”์œ„์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜
  • LAN (Local Area Network) : ํ•œ์ •๋œ ๊ณต๊ฐ„ ์•ˆ์—์„œ Node๋“ค ๋ผ๋ฆฌ ์—ฐ๊ฒฐํ•จ(์ง‘, ํšŒ์‚ฌ, ํ•™๊ต ๋“ฑ..)
  • WAN (Wide Area Network) : ๊ด‘์—ญ ๋ฒ”์œ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹
    • LAN ๋‚ด๋ถ€์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅธ ์ง€์—ญ์˜ LAN๊ณผ ํ†ต์‹ ํ•˜๊ณ ์ž ํ•  ๋•Œ ํ•„์š”ํ•˜๊ณ , ๊ฐ๊ฐ์˜ LAN์— ์—ฐ๊ฒฐ๋œ ๋ผ์šฐํ„ฐ๊ฐ„์— ์ •๋ณด๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค
    • LAN์€ ์ธํ”„๋ผ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ง์ ‘ ๊ตฌ์ถ• ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, WAN์˜ ๊ฒฝ์šฐ ISP(Internet Service Provider)๊ฐ€ ์ฃผ์ฒด๊ฐ€ ๋˜์–ด ๊ตฌ์ถ•ํ•œ๋‹ค(KT,SKT,LGU...)
  1. ๋ฉ”์‹œ์ง€ ๊ตํ™˜ ๋ฐฉ์‹์— ๋‹ค๋ฅธ ๋ถ„๋ฅ˜
  • ํšŒ์„  ๊ตํ™˜ : ๋ฉ”์‹œ์ง€ ๊ตํ™˜ ์ „, ํšŒ์„ (๋ฉ”์‹œ์ง€ ์ „์†ก๋กœ)๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ทธ๊ณณ์œผ๋กœ๋งŒ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง(์ „ํ™”๋ง) ํšŒ์„ ์„ ์ƒ์„ฑํ•œ ๋’ค ์ง€์†์ ์œผ๋กœ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด์šฉ ํšจ์œจ์ด ๋‚ฎ์•„์ง€๊ฒŒ ๋œ๋‹ค
  • ํŒจํ‚ท ๊ตํ™˜ : ๋ฉ”์‹œ์ง€๋ฅผ ์ชผ๊ฐ  ๋’ค ํŒจํ‚ท์œผ๋กœ ๋งŒ๋“ค์–ด ์†ก์‹ /์ˆ˜์‹ (์ˆ˜์‹ ์ง€์—์„œ ์›๋ž˜ ๋ฐ์ดํ„ฐ๋กœ ์žฌ๊ฒฐํ•ฉ๋จ)
    • ๋…ธ๋“œ๊ฐ„ ๋งํฌ๋ฅผ ๋‹ค์ˆ˜์˜ ํŒจํ‚ท์ด ๊ณต์œ ํ•˜๋Š” ํ˜•ํƒœ๋กœ, ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์ธ ๋งํฌ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ๋ชฉ์  ํ˜ธ์ŠคํŠธ๋กœ ์ „๋‹ฌํ•œ๋‹ค
    • ์ชผ๊ฐœ์ง„ ํŒจํ‚ท์€ ๊ณ ์œ  ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์†ก์‹ ๋œ๋‹ค
    • ํŒจํ‚ท์€ ํ—ค๋” / ํŽ˜์ด๋กœ๋“œ / ํŠธ๋ ˆ์ผ๋Ÿฌ(Optional)๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ์‹ค์งˆ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฉ”์‹œ์ง€๋Š” ํŽ˜์ด๋กœ๋“œ์— ํ•ด๋‹นํ•œ๋‹ค

๋ฏธ์‹œ์ ์œผ๋กœ ๋ณธ ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ

1. ํ”„๋กœํ† ์ฝœ

  • ๋…ธ๋“œ ๊ฐ„ ์ •๋ณด ์ „๋‹ฌ ๊ทœ์น™. ํ˜ธ์ŠคํŠธ-๋„คํŠธ์›Œํฌ ์žฅ๋น„-ํ˜ธ์ŠคํŠธ ์ด๋™ ์‹œ ๋™์ผํ•œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์•ผ ์ „๋‹ฌ์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ฃจ์–ด ์ง„๋‹ค
  • ํ”„๋กœํ† ์ฝœ๋งˆ๋‹ค ๋ชฉ์ ๊ณผ ํŠน์ง•์ด ์„œ๋กœ ๋‹ค๋ฅด๋ฉฐ ๊ทธ์— ๋”ฐ๋ฅธ ํ—ค๋”๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค
    • IP(Internet Protocol) : ํŒจํ‚ท์„ ์ˆ˜์‹ ์ง€๊นŒ์ง€ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • HTTP(Hyper Text Transfer Protocol) : ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ด๋ฃจ์–ด์ง€๋Š” ์š”์ฒญ/์‘๋‹ต ํ”„๋กœํ† ์ฝœ
    • TCP(Transmission Control Protocol) : ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜์‹  ๋๋Š”์ง€ ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

TCP์™€ IP ์ถ”๊ฐ€์„ค๋ช… - ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ๋ณด๋Š” TCP

2. ๋„คํŠธ์›Œํฌ ์ฐธ์กฐ ๋ชจ๋ธ

  • ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋‹จ๊ณ„๋ฅผ ๊ณ„์ธต์œผ๋กœ ํ‘œํ˜„ํ•จ. ๋Œ€ํ‘œ์ ์œผ๋กœ OSI ๋ชจ๋ธ(OSI 7๊ณ„์ธต), TCP/IP ๋ชจ๋ธ์ด ์žˆ๋‹ค
  • ํŒจํ‚ท์„ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ณผ์ •์—๋Š” ์ •ํ˜•ํ™”๋œ ์ˆœ์„œ = ๊ณ„์ธต์ด ์žˆ์Œ
  • ๊ณ„์ธต๋งˆ๋‹ค ํฌํ•จ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด ์„œ๋กœ ๋‹ค๋ฆ„(HTTP: ์‘์šฉ, TCP: ์ „์†ก, IP: ๋„คํŠธ์›Œํฌ)
  • OSI ๊ธฐ์ค€ ์ „์†ก๊ณ„์ธต ~ ์‘์šฉ๊ณ„์ธต์„ ์ƒ์œ„ ๊ณ„์ธต, ๋ฌผ๋ฆฌ๊ณ„์ธต ~ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์„ ํ•˜์œ„ ๊ณ„์ธต์ด๋ผ๊ณ  ์ผ์ปซ๋Š”๋‹ค
  • ๋ฐ์ดํ„ฐ ๋‹จ์œ„(OSI ๊ธฐ์ค€)
    • ์‘์šฉ๊ณ„์ธต - ๋ฉ”์‹œ์ง€ (์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์„œ๋น„์Šค๋ฅผ ๋ฐ›๋Š” ๊ณ„์ธต)
    • ์ „์†ก๊ณ„์ธต - ์„ธ๊ทธ๋จผํŠธ
      • ๊ด€๋ จ ์žฅ๋น„ : Gateway
    • ๋„คํŠธ์›Œํฌ๊ณ„์ธต(์ธํ„ฐ๋„ท๊ณ„์ธต) - ํŒจํ‚ท(IPํŒจํ‚ท)
    • ๋ฐ์ดํ„ฐ๋งํฌ๊ณ„์ธต - ํ”„๋ ˆ์ž„
    • ๋ฌผ๋ฆฌ๊ณ„์ธต - ๋น„ํŠธ(์ „๊ธฐ ์‹ ํ˜ธ๋กœ ์ •๋ณด ์ „๋‹ฌ์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณ„์ธต)

image

๐Ÿ”ผOSI ๋ชจ๋ธ. ์ถœ์ฒ˜ : OSI ์ฐธ์กฐ๋ชจ๋ธ

3. ์บก์Аํ™”/์—ญ์บก์Аํ™”

  1. ์บก์Аํ™” : ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•  ๋•Œ ๊ณ„์ธต๋งˆ๋‹ค ํ—ค๋”, ํŠธ๋ ˆ์ผ๋Ÿฌ๊ฐ€ ์ถ”๊ฐ€๋˜๋Š” ๊ณผ์ •
  • ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ƒ์œ„๊ณ„์ธต์—์„œ ํ—ค๋”+ํŽ˜์ด๋กœ๋“œ๊ฐ€ ๊ฒฐํ•ฉ๋œ ํ˜•ํƒœ๋Š” ํ•˜์œ„ ๊ณ„์ธต์—์„œ ํŽ˜์ด๋กœ๋“œ๊ฐ€ ๋˜๋ฉฐ, ์—ฌ๊ธฐ์— ๋‹ค์‹œ ํ•ด๋‹น ๊ณ„์ธต์˜ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ๋„˜๊ฒจ์ค€๋‹ค image

    ์ถœ์ฒ˜ : OSI ์ฐธ์กฐ๋ชจ๋ธ

  1. ์—ญ์บก์Аํ™” : ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•  ๋•Œ ์บก์Аํ™”์˜ ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ ํŽ˜์ด๋กœ๋“œ๋ฅผ ์ฝ์–ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •
/end of ๊ธฐ์ดˆ ๋„คํŠธ์›Œํฌ[์œ ํˆฌ๋ธŒ ์กฐ์ฝ”๋”ฉ - ๊ผญ ์•Œ์•„์•ผ ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ง€์‹...(feat.๊ฐ•๋ฏผ์ฒ )
CONTENT LISTMERRI๏ผ‡s DEVELOG
File Upload์— ํ•„์š”ํ•œ Request Annotation(@RequestParam, @RequestPart, @ModelAttribute, @RequestBody)
2024-11-27