Skip to content

Latest commit

 

History

History

network

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Network (๋„คํŠธ์›Œํฌ)

์ž‘์„ฑ์ž : ๊ถŒํ˜์ง„, ์„œ๊ทธ๋ฆผ, ์œค๊ฐ€์˜

Table of Contents

OSI 7 ๊ณ„์ธต

๊ฐœ๋ฐฉํ˜• ์‹œ์Šคํ…œ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๊ธฐ์ดˆ ์ฐธ์กฐ ๋ชจ๋ธ(Open Systems Interconnection Reference Model)

OSI 7 ๊ณ„์ธต์ด๋ž€, ๊ตญ์ œํ‘œ์ค€ํ™”๊ธฐ๊ตฌ(ISO)์—์„œ ๊ฐœ๋ฐœํ•œ ๋ชจ๋ธ๋กœ, ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ ๋””์ž์ธ๊ณผ ํ†ต์‹ ์„ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช…ํ•œ ๊ฒƒ์ด๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๊ณ„์ธต ๋ชจ๋ธ์— ์˜ํ•ด ํ”„๋กœํ† ์ฝœ๋„ ๊ณ„์ธต๋ณ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ํ˜„์žฌ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ฐ˜์ด ๋œ ๋ชจ๋ธ์ด๋ฉฐ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ์€ ์ด ๊ณ„์ธต ๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต์‹ ํ•œ๋‹ค. (ํ˜„์žฌ์˜ ์ธํ„ฐ๋„ท์€ ๊ฐ ๊ณ„์ธต์˜ ์—ญํ• ๋“ค์ด ํ•ฉ์ณ์ง€๋ฉด์„œ TCP/IP 4 ๊ณ„์ธต ๋ชจ๋ธ(๋งํฌ ๊ณ„์ธต, ์ธํ„ฐ๋„ท ๊ณ„์ธต, ์ „์†ก ๊ณ„์ธต, ์‘์šฉ ๊ณ„์ธต)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.)

ํ˜„์žฌ์˜ ์ธํ„ฐ๋„ท ๊ณ„์ธต ๋ชจ๋ธ ์ฐธ์กฐ : RFC1122 ๊ณต์‹ ๋ฌธ์„œ - Internet Protocol Suite

OSI 7 ๊ณ„์ธต์„ ๋‚˜๋ˆˆ ์ด์œ ๋Š” ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์•Œ ์ˆ˜ ์žˆ๊ณ , 7๋‹จ๊ณ„ ์ค‘ ํŠน์ •ํ•œ ๊ณณ์— ์ด์ƒ์ด ์ƒ๊ธฐ๋ฉด ๋‹ค๋ฅธ ๋‹จ๊ณ„์™€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ทธ ๋‹จ๊ณ„๋งŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

OSI 7 ๊ณ„์ธต์€ ๋ฌผ๋ฆฌ ๊ณ„์ธต, ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต, ๋„คํŠธ์›Œํฌ ๊ณ„์ธต, ์ „์†ก ๊ณ„์ธต, ์„ธ์…˜ ๊ณ„์ธต, ํ‘œํ˜„ ๊ณ„์ธต, ์‘์šฉ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ์ด๋ž€

์œ„์—์„œ ํ”„๋กœํ† ์ฝœ์ด ๊ณ„์ธต๋ณ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜์˜€๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์ด๋ž€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์–‘์‹์ด๋‚˜ ๊ทœ์น™์„ ์˜๋ฏธํ•˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค.

์‹œ์Šคํ…œ ๊ฐ„ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•œ์ชฝ์—์„œ ๋ณด๋‚ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜๋Œ€์ชฝ์—์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•œ์ชฝ์—์„œ '์•ˆ๋…•' ์ด๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒˆ์„ ๋•Œ ์ธ์‚ฌ๋กœ ์•Œ์•„๋“ฃ๊ณ  ๋Œ€๋‹ต์œผ๋กœ '์•ˆ๋…•' ์ด๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ํ†ต์‹  ๋ชจ๋ธ์—์„œ๋„ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ํ†ต์‹ ํ•  ๋•Œ ๊ทธ ์–ธ์–ด์™€ ๋Œ€ํ™” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์žˆ์–ด์•ผ ์˜์‚ฌ์†Œํ†ต์„ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด ๊ทœ์น™์„ ์ •์˜ํ•œ ๊ฒƒ์ด ํ”„๋กœํ† ์ฝœ์ด๊ณ  ์ด ๊ทœ์น™์€ ๊ณ„์ธต๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์กด์žฌํ•œ๋‹ค.

OSI 7 ๊ณ„์ธต์˜ ๊ตฌ์กฐ

osi-7-layer osi-7-layer

[7] ์‘์šฉ ๊ณ„์ธต (Application Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ message | ํ”„๋กœํ† ์ฝœ HTTP, SMTP, FTP, SIP ๋“ฑ

  • ํ†ต์‹ ์˜ ์ตœ์ข… ๋ชฉ์ ์ง€๋กœ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํ†ต์‹ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณ„์ธต์ด๋ฉฐ ์›น ๋ธŒ๋ผ์šฐ์ €, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์™€ ์ง์ ‘์ ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•œ๋‹ค.
  • ๋งŽ์€ ํ”„๋กœํ† ์ฝœ์ด ์กด์žฌํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์ƒˆ๋กœ์šด ํ”„๋กœํ† ์ฝœ ์ถ”๊ฐ€๋„ ๊ต‰์žฅํžˆ ์‰ฝ๋‹ค.

[6] ํ‘œํ˜„ ๊ณ„์ธต (Presentation Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ message | ํ”„๋กœํ† ์ฝœ ASCII, MPEG ๋“ฑ

  • ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™”์™€ ๊ฐ™์ด ์‘์šฉ ๊ณ„์ธต์—์„œ ๊ตํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ โ‡” ๋„คํŠธ์›Œํฌ ๊ฐ„ ์ •ํ•ด์ง„ ํ˜•์‹๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜, ์ฆ‰ ํ‘œํ˜„ํ•œ๋‹ค.
  • ์ธํ„ฐ๋„ท์˜ ๊ณ„์ธต ๊ตฌ์กฐ์—๋Š” ํฌํ•จ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉฐ ํ•„์š”์— ๋”ฐ๋ผ ์‘์šฉ ๊ณ„์ธต์—์„œ ์ง€์›ํ•˜๊ฑฐ๋‚˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค.

[5] ์„ธ์…˜ ๊ณ„์ธต (Session Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ message | ํ”„๋กœํ† ์ฝœ NetBIOS, TLS ๋“ฑ

  • ๋ฐ์ดํ„ฐ ๊ตํ™˜์˜ ๊ฒฝ๊ณ„์™€ ๋™๊ธฐํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ์„ธ์…˜ ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ์—ฐ๊ฒฐ์ด ์†์‹ค๋˜๋Š” ๊ฒฝ์šฐ ์—ฐ๊ฒฐ ๋ณต๊ตฌ๋ฅผ ์‹œ๋„ํ•œ๋‹ค. ์˜ค๋žœ ์‹œ๊ฐ„ ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š์œผ๋ฉด ์„ธ์…˜ ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์ด ์—ฐ๊ฒฐ์„ ๋‹ซ๊ณ  ๋‹ค์‹œ ์—ฐ๊ฒฐ์„ ์žฌ๊ฐœํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ๋Œ€๋ฐฉ์ด ๋ณด๋‚ด๊ณ  ์žˆ์„ ๋•Œ ๋™์‹œ์— ๋ณด๋‚ผ์ง€์— ๋Œ€ํ•œ ์ „์ด์ค‘(๋™์‹œ์— ๋ณด๋ƒ„, ์ „ํ™”๊ธฐ), ๋ฐ˜์ด์ค‘(๋™์‹œ์— ๋ณด๋‚ด์ง€ ์•Š์Œ, ๋ฌด์ „๊ธฐ) ํ†ต์‹ ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ธํ„ฐ๋„ท์˜ ๊ณ„์ธต ๊ตฌ์กฐ์—๋Š” ํฌํ•จ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฉฐ ํ•„์š”์— ๋”ฐ๋ผ ์‘์šฉ ๊ณ„์ธต์—์„œ ์ง€์›ํ•˜๊ฑฐ๋‚˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๊ฐœ๋ฐœํ•ด์•ผ ํ•œ๋‹ค.

[4] ์ „์†ก ๊ณ„์ธต (Transport Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ segment | ํ”„๋กœํ† ์ฝœ TCP, UDP, SCTP ๋“ฑ

  • ์ƒ์œ„ ๊ณ„์ธต์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ๋ฉ”์‹œ์ง€์˜ ์˜ค๋ฅ˜๋ฅผ ์ œ์–ดํ•˜๋ฉฐ, ๋ฉ”์‹œ์ง€๊ฐ€ ํด ๊ฒฝ์šฐ ์ด๋ฅผ ๋‚˜๋ˆ ์„œ(Segmentation) ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ›์€ ํŒจํ‚ท์„ ์žฌ์กฐ๋ฆฝํ•ด์„œ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.
  • ๋Œ€ํ‘œ์ ์œผ๋กœ TCP, UDP ํ”„๋กœํ† ์ฝœ์ด ์žˆ๋‹ค. TCP๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅํ˜• ํ†ต์‹ ์„, UDP๋Š” ๋น„์—ฐ๊ฒฐํ˜• ํ†ต์‹ ์„ ์ œ๊ณตํ•œ๋‹ค.

[3] ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ datagram, packet | ํ”„๋กœํ† ์ฝœ IP, ICMP, ARP, RIP, BGP ๋“ฑ

  • ํŒจํ‚ท์„ ํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. (์—ฌ๋Ÿฌ ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•œ ๋ผ์šฐํŒ…, ๊ทธ๋ฅผ ํ†ตํ•œ ํŒจํ‚ท ์ „๋‹ฌ)
  • ์ „์†ก ๊ณ„์ธต์—๊ฒŒ ์ „๋‹ฌ ๋ฐ›์€ ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ํŒจํ‚ท์„ ๋งŒ๋“ค๊ณ  ๊ทธ ๋ชฉ์ ์ง€์˜ ์ „์†ก ๊ณ„์ธต์œผ๋กœ ํŒจํ‚ท์„ ์ „๋‹ฌํ•œ๋‹ค.
  • ์ธํ„ฐ๋„ท์˜ ๊ฒฝ์šฐ IP ํ”„๋กœํ† ์ฝœ์ด ๋Œ€ํ‘œ์ ์ด๋‹ค.

[2] ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต (Data Link Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ frame | ํ”„๋กœํ† ์ฝœ PPP, Ethernet, Token ring, IEE 802.11(Wifi) ๋“ฑ

  • ๋ฐ์ดํ„ฐ๋ฅผ frame ๋‹จ์œ„๋กœ ํ•œ ๋„คํŠธ์›Œํฌ ์š”์†Œ์—์„œ ์ด์›ƒ ๋„คํŠธ์›Œํฌ ์š”์†Œ๋กœ ์ „์†กํ•˜๋Š” ๊ณ„์ธต์ด๋‹ค. (๋ฌผ๋ฆฌ ๊ณ„์ธต์„ ์ด์šฉํ•ด ์ „์†ก)
  • ์ธํ„ฐ๋„ท์˜ ๊ฒฝ์šฐ Ethernet ํ”„๋กœํ† ์ฝœ์ด ๋Œ€ํ‘œ์ ์ด๋‹ค. Ethernet์€ MAC ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด Node-to-Node, Point-to-Point๋กœ ํ”„๋ ˆ์ž„์„ ์ „์†กํ•œ๋‹ค.
  • ์ด ๊ณ„์ธต์˜ ์žฅ๋น„๋กœ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์€ ์Šค์œ„์น˜, ๋ธŒ๋ฆฟ์ง€์ด๋‹ค.

[1] ๋ฌผ๋ฆฌ ๊ณ„์ธต (Physical Layer) : ๋ฐ์ดํ„ฐ ๋‹จ์œ„ bit | ํ”„๋กœํ† ์ฝœ DSL, ISDN ๋“ฑ

  • ์žฅ์น˜ ๊ฐ„ ์ „๊ธฐ์  ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณ„์ธต์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„ ๋‚ด๋ถ€์˜ ๊ฐ bit๋ฅผ ํ•œ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์‹ค์ œ๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ณ„์ธต์ด๋‹ค.
  • ์ธํ„ฐ๋„ท์˜ Ethernet ๋˜ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฌผ๋ฆฌ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.
  • ์ด ๊ณ„์ธต์˜ ์žฅ๋น„๋กœ ๋Œ€ํ‘œ์ ์ธ ๊ฒƒ์€ ํ—ˆ๋ธŒ, ๋ฆฌํ”ผํ„ฐ์ด๋‹ค.

TCP 3-way-handshake & 4-way-handshake

์ฐธ๊ณ  : [Network] TCP 3-way handshaking๊ณผ 4-way handshaking

TCP๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ค‘ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์ค‘ ํ•˜๋‚˜๋กœ, ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค์ด๋‹ค.

TCP์˜ 3-way-handshake๋ž€ TCP ํ†ต์‹ ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝ (Connection Establish) ํ•˜๋Š” ๊ณผ์ •์ด๋ฉฐ, 4-way-handshake๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์ œ (Connection Termination) ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ Connect Oriented ๋ฐฉ์‹์ด๋ผ ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

TCP 3-way-handshake : Connection Establish

3-way-handshake ๊ณผ์ •์„ ํ†ตํ•ด ์–‘์ชฝ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•œ๋‹ค.

3-way-handshake

A ํ”„๋กœ์„ธ์Šค(Client)๊ฐ€ B ํ”„๋กœ์„ธ์Šค(Server)์— ์—ฐ๊ฒฐ์„ ์š”์ฒญ

  1. A(CLOSED) โ†’ B(LISTEN) : SYN(a)
    • ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์—ฐ๊ฒฐ ์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ „์†ก (SYN)
    • ์ด ๋•Œ Sequence Number๋ฅผ ์ž„์˜์˜ ๋žœ๋ค ์ˆซ์ž(a)๋กœ ์ง€์ •ํ•˜๊ณ , SYN ํ”Œ๋ž˜๊ทธ ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•œ segment๋ฅผ ์ „์†กํ•œ๋‹ค.
  2. B(SYN_RCV) โ†’ A(CLOSED) : ACK(a+1), SYN(b)
    • ์—ฐ๊ฒฐ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค B๋Š” ์š”์ฒญ์„ ์ˆ˜๋ฝ(ACK)ํ–ˆ์œผ๋ฉฐ, ์š”์ฒญํ•œ A ํ”„๋กœ์„ธ์Šค๋„ ํฌํŠธ๋ฅผ ์—ด์–ด๋‹ฌ๋ผ(SYN)๋Š” ๋ฉ”์‹œ์ง€ ์ „์†ก
    • ๋ฐ›์€ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์ˆ˜๋ฝ์— ๋Œ€ํ•ด์„œ๋Š” Acknowledgement Number ํ•„๋“œ๋ฅผ (Sequence Number + 1)๋กœ ์ง€์ •ํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  SYN๊ณผ ACK ํ”Œ๋ž˜๊ทธ ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•œ segment๋ฅผ ์ „์†กํ•œ๋‹ค.
  3. A(ESTABLISHED) โ†’ B(SYN_RCV) : ACK(b+1)
    • ๋งˆ์ง€๋ง‰์œผ๋กœ ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์ˆ˜๋ฝ ํ™•์ธ์„ ๋ณด๋‚ด ์—ฐ๊ฒฐ์„ ๋งบ์Œ (ACK)
    • ์ด ๋•Œ, ์ „์†กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ์ด ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

์ตœ์ข… PORT ์ƒํƒœ : A-ESTABLISHED, B-ESTABLISHED (์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ)

TCP 4-way-handshake : Connection Termination

4-way-handshake

A ํ”„๋กœ์„ธ์Šค(Client)๊ฐ€ B ํ”„๋กœ์„ธ์Šค(Server)์— ์—ฐ๊ฒฐ ํ•ด์ œ๋ฅผ ์š”์ฒญ

  1. A(ESTABLISHED) โ†’ B(ESTABLISHED) : FIN
    • ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „์†ก
    • ํ”„๋กœ์„ธ์Šค B๊ฐ€ FIN ํ”Œ๋ž˜๊ทธ๋กœ ์‘๋‹ตํ•˜๊ธฐ ์ „๊นŒ์ง€ ์—ฐ๊ฒฐ์„ ๊ณ„์† ์œ ์ง€
  2. B(CLOSE_WAIT) โ†’ A(FIN_WAIT_1) : ACK
    • ํ”„๋กœ์„ธ์Šค B๋Š” ์ผ๋‹จ ํ™•์ธ ๋ฉ”์‹œ์ง€(ACK)๋ฅผ ๋ณด๋‚ด๊ณ  ์ž์‹ ์˜ ํ†ต์‹ ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.
    • Acknowledgement Number ํ•„๋“œ๋ฅผ (Sequence Number + 1)๋กœ ์ง€์ •ํ•˜๊ณ , ACK ํ”Œ๋ž˜๊ทธ ๋น„ํŠธ๋ฅผ 1๋กœ ์„ค์ •ํ•œ segment๋ฅผ ์ „์†กํ•œ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ์ด ์ „์†กํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์žˆ๋‹ค๋ฉด ์ด์–ด์„œ ๊ณ„์† ์ „์†กํ•œ๋‹ค. (ํด๋ผ์ด์–ธํŠธ ์ชฝ์—์„œ๋„ ์•„์ง ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๊ฒƒ์„ ๋Œ€๋น„ํ•ด ์ผ์ • ์‹œ๊ฐ„๋™์•ˆ ์„ธ์…˜์„ ๋‚จ๊ฒจ๋†“๊ณ  ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. ์ด๋ฅผ TIME_WAIT ์ƒํƒœ๋ผ๊ณ  ํ•œ๋‹ค.)
  3. B(CLOSE_WAIT) โ†’ A(FIN_WAIT_2) : FIN
    • ํ”„๋กœ์„ธ์Šค B์˜ ํ†ต์‹ ์ด ๋๋‚˜๋ฉด ์ด์ œ ์—ฐ๊ฒฐ ์ข…๋ฃŒํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๋Š” ์˜๋ฏธ๋กœ ํ”„๋กœ์„ธ์Šค A์—๊ฒŒ FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „์†กํ•œ๋‹ค.
  4. A(TIME_WAIT) โ†’ B(LAST_ACK) : ACK
    • ํ”„๋กœ์„ธ์Šค A๋Š” FIN ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ–ˆ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†ก (ACK)
    • ํ”„๋กœ์„ธ์Šค A๋กœ๋ถ€ํ„ฐ ACK ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค B๋Š” ์†Œ์ผ“ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ๋‹ค.

์ตœ์ข… PORT ์ƒํƒœ : A-CLOSED, B-CLOSED (์—ฐ๊ฒฐ ํ•ด์ œ)


TCP ์™€ UDP

์•„๋ž˜์˜ ์ž๋ฃŒ์—์„œ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


HTTP ์š”์ฒญ ๋ฐฉ์‹ - GET, POST

HTTP์˜ GET, POST ๋ฉ”์„œ๋“œ๋ž€ HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ(์š”์ฒญ ์ •๋ณด)๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

HTTP GET ๋ฉ”์„œ๋“œ

GET ๋ฉ”์„œ๋“œ๋Š” ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๋กœ, ์„œ๋ฒ„์—์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ์šฉ๋„์˜ ๋ฉ”์„œ๋“œ์ด๋‹ค. "๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ(Select)"

GET ๋ฐฉ์‹์€ ์š”์ฒญํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ HTTP Request Message์˜ Header ๋ถ€๋ถ„์˜ url์— ๋‹ด๊ฒจ์„œ ์ „์†ก๋œ๋‹ค. ์ด๋Š” ์š”์ฒญ ์ •๋ณด๋ฅผ url ์ƒ์— ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ์š”์ฒญ ์ •๋ณด๋ฅผ url์— ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์€ ์š”์ฒญํ•˜๋ ค๋Š” url์˜ ๋์— ?๋ฅผ ๋ถ™์ด๊ณ , (key=value) ํ˜•ํƒœ๋กœ ์š”์ฒญ ์ •๋ณด๋ฅผ ๋‹ด์œผ๋ฉด ๋œ๋‹ค. ์š”์ฒญ ์ •๋ณด๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ์—๋Š” &๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

ex. www.urladdress.xyz?name1=value1&name2=value2, www.google.com/search?q=์„œ๊ทธ๋ฆผ

GET ๋ฐฉ์‹์€ ๊ฒŒ์‹œํŒ์˜ ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ์“ฐ์ด๋ฉฐ ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ์™ธ์ ์œผ๋กœ ๋ฐฉ๋ฌธ์ž์˜ ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ ๊ธฐ๋Šฅ์ด๋‚˜ ๊ธ€์„ ์ฝ์€ ํšŸ์ˆ˜ ์ฆ๊ฐ€ ๊ธฐ๋Šฅ์—๋„ ์“ฐ์ธ๋‹ค.

GET ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.

  • url์— ์š”์ฒญ ์ •๋ณด๊ฐ€ ์ด์–ด๋ถ™๊ธฐ ๋•Œ๋ฌธ์— ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์ ์ด๋‹ค. (์ฃผ์†Ÿ๊ฐ’ + ํŒŒ๋ผ๋ฏธํ„ฐ ํ•ด์„œ 255์ž๋กœ ์ œํ•œ๋œ๋‹ค. HTTP/1.1์€ 2048์ž)
  • HTTP ํŒจํ‚ท์˜ Body๋Š” ๋น„์–ด ์žˆ๋Š” ์ƒํƒœ๋กœ ์ „์†กํ•œ๋‹ค. ์ฆ‰, Body์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํ‘œํ˜„ํ•˜๋Š” Content-Type ํ•„๋“œ๋„ HTTP Request Header์— ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
  • ์š”์ฒญ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋Œ€๋กœ url์— ๋…ธ์ถœ๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด POST ๋ฐฉ์‹๋ณด๋‹ค ๋ณด์•ˆ์ƒ ์ทจ์•ฝํ•˜๋‹ค. ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” GET ๋ฐฉ์‹์ด ์ ์ ˆํ•˜์ง€ ์•Š๋‹ค.
  • GET ๋ฐฉ์‹์€ ๋ฉฑ๋“ฑ์„ฑ(Idempotent, ์—ฐ์‚ฐ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ ์šฉํ•˜๋”๋ผ๋„ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๋Š” ์„ฑ์งˆ)์ด ์ ์šฉ๋œ๋‹ค.
  • GET ๋ฐฉ์‹์€ ์บ์‹ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด, GET ์š”์ฒญ๊ณผ ๊ทธ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์บ์‰ฌ๋œ๋‹ค. ๋”ฐ๋ผ์„œ POST ๋ฐฉ์‹๋ณด๋‹ค ๋น ๋ฅด๋‹ค.

GET ๋ฐฉ์‹์˜ ์บ์‹ฑ : ์„œ๋ฒ„์— ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ๋•Œ ์›น ์บ์‹œ๊ฐ€ ์š”์ฒญ์„ ๊ฐ€๋กœ์ฑ„ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  ๋ฆฌ์†Œ์Šค์˜ ๋ณต์‚ฌ๋ณธ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. HTTP ํ—ค๋”์—์„œ cache-control ํ—ค๋”๋ฅผ ํ†ตํ•ด ์บ์‹œ ์˜ต์…˜์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ถœ์ฒ˜: [๋„คํŠธ์›Œํฌ] get ๊ณผ post ์˜ ์ฐจ์ด)

HTTP POST ๋ฉ”์„œ๋“œ

POST ๋ฉ”์„œ๋“œ๋Š” ์„œ๋ฒ„์˜ ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ์šฉ๋„์˜ ๋ฉ”์„œ๋“œ์ด๋‹ค. "์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ(Insert, Update, Delete)"

POST ๋ฐฉ์‹์€ ์š”์ฒญํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ HTTP Request Message์˜ Body ๋ถ€๋ถ„์— ๋‹ด๊ฒจ์„œ ์ „์†ก๋œ๋‹ค. Request Header์˜ Content-Type์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ํ‘œํ˜„๋˜๋ฉฐ, ์ „์†กํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

  • Default : application/octet-stream
  • ๋‹จ์ˆœ txt : text/plain
  • ํŒŒ์ผ : multipart/form-data

POST ๋ฐฉ์‹์€ ๊ฒŒ์‹œํŒ ๊ธ€์“ฐ๊ธฐ ๊ธฐ๋Šฅ์ฒ˜๋Ÿผ ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ์“ฐ์ธ๋‹ค.

POST ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.

  • Body ์•ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ์— ์ ํ•ฉํ•˜๋‹ค.
  • GET ๋ฐฉ์‹๋ณด๋‹ค ๋ณด์•ˆ์ƒ ์•ˆ์ „ํ•˜์ง€๋งŒ, ์•”ํ˜ธํ™”๋ฅผ ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๋ณด์•ˆ์— ์ทจ์•ฝํ•œ ๊ฒƒ์€ ๊ฐ™๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ ์ชฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๊ณ , ์ด๋ฅผ ๋ฐ›์€ ์„œ๋ฒ„ ์ชฝ์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋””์ฝ”๋”ฉํ•œ๋‹ค.

๋ชฉ์ ์— ๋งž๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. - GET ๋ฐฉ์‹์˜ ์บ์‹ฑ๊ณผ ์—ฐ๊ด€์ง€์–ด ์ƒ๊ฐํ•ด๋ณด๊ธฐ

GET ๋ฐฉ์‹์˜ ์š”์ฒญ์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์บ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๋•Œ๋ฌธ์— POST ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญํ•ด์•ผ ํ•  ๊ฒƒ์„, ์š”์ฒญ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๊ณ  ๋ณด์•ˆ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋Š” ์ด์œ ๋กœ GET ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญํ•œ๋‹ค๋ฉด ๊ธฐ์กด์— ์บ์‹ฑ๋˜์—ˆ๋˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‘๋‹ต๋  ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•œ๋‹ค. ๋•Œ๋ฌธ์— ๋ชฉ์ ์— ๋งž๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.


HTTP ์™€ HTTPS

์•„๋ž˜์˜ ์ž๋ฃŒ์—์„œ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


DNS round robin ๋ฐฉ์‹

์•„๋ž˜์˜ ์ž๋ฃŒ์—์„œ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


์›น ํ†ต์‹ ์˜ ํ๋ฆ„

์›น์ด๋ž€ ?

WWW (world wide web) ์˜ ์•ฝ์ž์ด๋ฉฐ ์ธํ„ฐ๋„ท์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ๋œปํ•œ๋‹ค.

ํ”ํžˆ๋“ค ์›น๊ณผ ์ธํ„ฐ๋„ท์„ ํ†ต์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์—„์—ฐํžˆ ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค.

์›น ํ†ต์‹ 

๊ธฐ๋ณธ์ ์œผ๋กœ ์›น ํ†ต์‹ ์€ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.

ํ†ต์‹ ์˜ ์ฃผ์ฒด๋ฅผ ํฌ๊ฒŒ Client์™€ Server๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • Client: ์„œ๋ฒ„์—๊ฒŒ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์ ‘์†ํ•˜๊ณ ์ž ํ•˜๋Š” ์ฃผ์ฒด

    • ex) ๋ธŒ๋ผ์šฐ์ €
  • Server: ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ •๋ณด ํ˜น์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํ“จํ„ฐ (ํ˜น์€ ์‹œ์Šคํ…œ)

์ด๋Ÿฌํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ Request์™€ Response ๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ ํ†ต์‹ ์ด ์ผ์–ด๋‚œ๋‹ค.

์›น ํ†ต์‹  ์„ธ๋ถ€๊ณผ์ •

https://www.naver.com/ ์ฃผ์†Œ์ฐฝ์— ํ•ด๋‹น URL์„ ์ž…๋ ฅํ•œ ๋’ค ํด๋ผ์ด์–ธํŠธ์— ํ™”๋ฉด์ด ๋ Œ๋”๋ง ๋˜๊ธฐ๊นŒ์ง€ ์–ด๋–ค ๊ณผ์ •์ด ์žˆ์„๊นŒ?

๊ทธ ์ „์—, IP์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ์ด๋ฆ„ ๊ทธ๋ฆฌ๊ณ  ์ด ๋‘˜์˜ ๊ด€๊ณ„์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

  • IP์ฃผ์†Œ๋ž€, ์ปดํ“จํ„ฐ๋“ค์˜ ๊ณ ์œ  ์‹๋ณ„๋ฒˆํ˜ธ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. IP์ฃผ์†Œ๋Š” 127.0.0.1๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์˜ ์ˆซ์ž๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

    ํ˜„์žฌ๋Š” .์œผ๋กœ ๊ตฌ๋ถ„๋œ ๊ฐ ์ž๋ฆฌ์—์„œ 0~255๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” 32๋น„ํŠธ์˜ IPv4 ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋‚˜, ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž ์ˆ˜ ์ฆ๊ฐ€๋กœ IP์ฃผ์†Œ ๋ถ€์กฑ ํ˜„์ƒ์ด ์ผ์–ด๋‚ฌ๊ณ  ์ด๋Š” 128๋น„ํŠธ์˜ IPv6๊ฐ€ ๋“ฑ์žฅํ•˜๋Š” ๋ฐฐ๊ฒฝ์ด ๋˜์—ˆ๋‹ค.

  • ๋„๋ฉ”์ธ ์ด๋ฆ„์ด๋ž€, ์‚ฌ๋žŒ์ด ์‰ฝ๊ฒŒ ์™ธ์šธ ์ˆ˜ ์žˆ๋„๋ก IP์ฃผ์†Œ๋ฅผ ์–ด๋– ํ•œ ๋ฌธ์ž๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ์œ„ URL์—์„œ naver.com์ด ๋„๋ฉ”์ธ ์ด๋ฆ„์— ํ•ด๋‹นํ•œ๋‹ค.

ํ„ฐ๋ฏธ๋„์„ ์ผ  ๋’ค host naver.com์„ ์ž…๋ ฅํ•ด๋ณด์ž. naver.com ๋„๋ฉ”์ธ์ด ๊ฐ–๋Š” IP์ฃผ์†Œ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ณ , ์ฃผ์†Œ์ฐฝ์— ํ•ด๋‹น IP์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋‹ค.

์ฆ‰, ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅ๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ†ตํ•ด ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ IP์ฃผ์†Œ๋ฅผ ์–ป์€ ๋’ค ํ†ต์‹ ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ ์ด๋ฆ„->IP ๊ณผ์ •์—์„œ ํ•„์š”ํ•œ ๋„์šฐ๋ฏธ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด DNS์ด๋‹ค.

๋‹ค์Œ์˜ ๊ทธ๋ฆผ๊ณผ ํ•จ๊ป˜ ์‚ดํŽด๋ณด์ž.

์ž‘๋™ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ž…๋ ฅ
  2. DNS๋ฅผ ํ†ตํ•ด ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ ๋งคํ•‘๋˜๋Š” IP์ฃผ์†Œ ํš๋“
  3. HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ (=HTTP Request) ์ƒ์„ฑ
  4. TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์˜ IP์ฃผ์†Œ ์ปดํ“จํ„ฐ๋กœ Request ์ „์†ก
  5. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต (=HTTP Response) ์ „์†ก
  6. ๋ธŒ๋ผ์šฐ์ €์— ๋„์ฐฉํ•œ Response๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋‚จ.

์›น ํ†ต์‹ ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์š”์†Œ์™€ ๊ด€๋ จ๋œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜์˜ ์ž๋ฃŒ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


์งˆ์˜์‘๋‹ต

์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ๋งํ•ด๋ณด๋ฉฐ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํด๋ฆญํ•˜๋ฉด ๋‹ต๋ณ€ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OSI 7๊ณ„์ธต์„ ํƒํ•˜๋ฉด ์ข‹์€์ ์ด ๋ฌด์—‡์ผ๊นŒ์š”?

  1. ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํ•„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ์›์ธ์˜ ๋ฒ”์œ„๋ฅผ ์ขํž ์ˆ˜ ์žˆ์–ด ํšจ์œจ์ ์ด๋‹ค.
  2. ์žฅ๋น„ ๊ฐ„ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ ๋„คํŠธ์›Œํฌ ์žฅ์น˜/์ปดํ“จํŒ… ์žฅ์น˜๋ฅผ ๋งŒ๋“ค ๋•Œ์˜ ์ฐธ์กฐ๋ชจ๋ธ ํ‘œ์ค€์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

๋งŽ์€ ์ง์žฅ์ธ๋“ค์ด ์•„์›ƒ๋ฃฉ์„ ์ด์šฉํ•˜์—ฌ ํšŒ์‚ฌ ๋ฉ”์ผ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์›ƒ๋ฃฉ๊ณผ ๊ด€๋ จ๋œ ๊ณ„์ธต๊ณผ ํ”„๋กœํ† ์ฝœ์„ ๋งํ•ด์ฃผ์„ธ์š”.

  • ๊ณ„์ธต : 7๊ณ„์ธต, Application Layer
  • ํ”„๋กœํ† ์ฝœ : SMTP, POP3

์•„์›ƒ๋ฃฉ์€ ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.

์ด์ „์— ์ €ํฌ ํšŒ์‚ฌ์˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›๋Š” ๋ชจ๋“  ๊ณ ๊ฐ์˜ pc์—์„œ ์„œ๋น„์Šค ์ค‘๋‹จ ์ด ์ผ์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. OSI 7๊ณ„์ธต์˜ ๊ด€์ ์œผ๋กœ ๋ช‡๋ฒˆ์งธ ๊ณ„์ธต์˜ ๋ฌธ์ œ์ž„์„ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

ํ•œ๋ช…์˜ ๊ณ ๊ฐ์ด ์•„๋‹Œ, โ€œ๋ชจ๋“  ๊ณ ๊ฐ์˜ pcโ€์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์œผ๋ฏ€๋กœ, 1๊ณ„์ธต ํ˜น์€ 3๊ณ„์ธต์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋Š”๋ฐ, Ping Test ์‹œ ๋ฌธ์ œ๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋Š ๊ณ„์ธต์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

Ping Test๋Š” 3๊ณ„์ธต(๋„คํŠธ์›Œํฌ ๋ ˆ์ด์–ด)์— ์†ํ•œ๋‹ค. ์ฆ‰, 4๊ณ„์ธต ~ 7๊ณ„์ธต ์‚ฌ์ด์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์œผ๋กœ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ ํŠœ๋ธŒ์™€ ๊ฐ™์€ ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค๋ฅผ ์ œ์ž‘ํ•ด๋ณด๋ คํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์–ด๋–ค ํ”„๋กœํ† ์ฝœ๋กœ ๊ตฌํ˜„ํ•  ๊ฒƒ์ธ์ง€ ๊ด€๋ จ ๊ณ„์ธต๊ณผ ์—ฐ๊ด€์ง€์–ด ๋งํ•ด์ฃผ์„ธ์š”.

์˜๋„ํ•œ ๋‹ต : ์ŠคํŠธ๋ฆฌ๋ฐ์—์„œ๋Š” ์—ฐ์†์„ฑ์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐ๋„๋Š” ๋‚ฎ์ง€๋งŒ ๋น ๋ฅธ 4๊ณ„์ธต transport layer์˜ UDP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


http ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

์ •ํ•ด์ง„ ๋‹ต ์—†์Œ.

http๋Š” ์—ฐ๊ฒฐ์„ฑ์ผ๊นŒ์š”, ๋น„ ์—ฐ๊ฒฐ์„ฑ์ผ๊นŒ์š”? ๊ทผ๊ฑฐ๋ฅผ ๋“ค์–ด ๋งํ•ด์ฃผ์„ธ์š”.

๋น„์—ฐ๊ฒฐ์„ฑ์ด๋‹ค.

๋น„์—ฐ๊ฒฐ์„ฑ์ด๋ž€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ•œ ๋ฒˆ ์—ฐ๊ฒฐ์„ ๋งบ์€ ํ›„, ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋Œ€ํ•ด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋งˆ์น˜๋ฉด ๋งบ์—ˆ๋˜ ์—ฐ๊ฒฐ์„ ๋Š์–ด ๋ฒ„๋ฆฌ๋Š” ์„ฑ์งˆ์„ ๋งํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ๋‹ค์ˆ˜์˜ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ์ž์›์ด ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค. HTTP๋Š” ๋‹ค์ˆ˜์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹์„ ๋„๋ฏ€๋กœ ์—ฐ๊ฒฐ์ง€์†์— ํ•„์š”ํ•œ ์ž์›์„ ์ค„์—ฌ ๋” ๋งŽ์€ Connection ์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ฒƒ์— ์ค‘์ ์„ ๋‘”๋‹ค.

๋น„ ์—ฐ๊ฒฐ์„ฑ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์„œ๋ฒ„์—์„œ ๋‹ค์ˆ˜์˜ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•œ๋‹ค๋ฉด, ๊ทธ๋งŒํผ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค. ๋น„์—ฐ๊ฒฐ์„ฑ์ด๋ฉด, ์ด์— ๋”ฐ๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ์ค„์—ฌ ๋” ๋งŽ์€ ์—ฐ๊ฒฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋น„ ์—ฐ๊ฒฐ์„ฑ์˜ ๋‹จ์ ์€ ๋ฌด์—‡์ด๊ณ , ํ•ด๊ฒฐ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„ ๋™์ผํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ๋งค๋ฒˆ ์—ฐ๊ฒฐ ์‹œ๋„/ํ•ด์ œ์˜ ์ž‘์—…์„ ํ•ด์•ผํ•˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ HTTP Header์—๋Š” Keep-Alive ์†์„ฑ์ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ํƒ€์ž„์•„์›ƒ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฐ๊ฒฐ์„ฑ์™ธ์— ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Cookie, Token, Session ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋„ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ POST๊ฐ€ ์•„๋‹Œ GET ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
  1. ์„ค๊ณ„ ์›์น™์— ๋”ฐ๋ผ GET ๋ฐฉ์‹์€ ์„œ๋ฒ„์—๊ฒŒ ์—ฌ๋Ÿฌ ๋ฒˆ ์š”์ฒญ์„ ํ•˜๋”๋ผ๋„ ๋™์ผํ•œ ์‘๋‹ต์ด ๋Œ์•„์™€์•ผ ํ•œ๋‹ค. (๋ฉฑ๋“ฑ์„ฑ)
    • GET ๋ฐฉ์‹์€ "๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ"์œผ๋กœ, ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋‚˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
      (ex. ๊ฒŒ์‹œํŒ์˜ ๋ฆฌ์ŠคํŠธ, ๊ฒŒ์‹œ๊ธ€ ๋ณด๊ธฐ ๊ธฐ๋Šฅ | ์˜ˆ์™ธ. ๋ฐฉ๋ฌธ์ž์˜ ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ, ๊ธ€์„ ์ฝ์€ ํšŸ์ˆ˜ ์ฆ๊ฐ€ ๊ธฐ๋Šฅ)
    • POST ๋ฐฉ์‹์€ "์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ"์œผ๋กœ, ์„œ๋ฒ„์˜ ๊ฐ’์ด๋‚˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ์šฉ๋„์ด๋‹ค.
      (ex. ๊ฒŒ์‹œํŒ์— ๊ธ€์“ฐ๊ธฐ ๊ธฐ๋Šฅ)
  2. ์›น์—์„œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋Š” Linkํ•  ์ˆ˜ ์žˆ๋Š” url์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    • ์–ด๋–ค ์›นํŽ˜์ด์ง€๋ฅผ ์กฐํšŒํ•  ๋•Œ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ์ด๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ๋งํฌ์˜ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    • ๋งŒ์ผ POST ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ๋งํฌ์˜ ์ •๋ณด๊ฐ€ Body์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— url๋งŒ ์ „๋‹ฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ GET ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ธ€์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” URL์„ ์ œ๊ณตํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— POST ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘ ์‹œ ์กฐํšŒ/์‚ญ์ œ/์ˆ˜์ •์˜ ์—…๋ฌด๋ฅผ ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์„ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„ํ•  ๊ฒƒ์ธ์ง€ ๋งํ•ด์ฃผ์„ธ์š”.

์˜๋„ํ•œ ๋‹ต : ์กฐํšŒ๋Š” GET, ์‚ญ์ œ๋Š” DETELE, ์ˆ˜์ •์€ POST๋กœ ์„ค๊ณ„ํ•  ๊ฒƒ์ด๋‹ค. GET์€ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๋กœ ๋ฉฑ๋“ฑ์„ฑ์„ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์ •์ด ์—†์–ด์•ผํ•˜๋ฉฐ, POST๋Š” ์„œ๋ฒ„์˜ ๊ฐ’ ํ˜น์€ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์„œ๋“œ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. RESTful API์— ๊ทผ๊ฑฐํ•˜์—ฌ ์‚ญ์ œ๋Š” DELETE๋กœ ์„ค๊ณ„ํ•œ๋‹ค.


TCP์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด์„œ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

TCP๋Š” Transfer Control Protocol๋กœ 4๊ณ„์ธต Transport Layer์— ์†ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

  1. 3-way Handshaking์„ ํ†ตํ•ด ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ์˜ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•˜๊ณ  4-way Handshaking์„ ํ†ตํ•ด ๋…ผ๋ฆฌ์ ์ธ ๊ฒฝ๋กœ์˜ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜๋Š” Connect Oriented ์ฆ‰, ์—ฐ๊ฒฐ์ง€ํ–ฅ์„ฑ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
  2. ํ˜ผ์žก์ œ์–ด, ํ๋ฆ„์ œ์–ด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  3. Reliable Data Transfer(=RDT) ์ฆ‰, ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ „์†ก์„ ์ง€์›ํ•œ๋‹ค. RDT1.0 ~ RDT3.0 ๋“ฑ์œผ๋กœ ๋ฐœ์ „ํ•ด์™”์œผ๋ฉฐ Go-Back-N, Selective Repeat, ํƒ€์ด๋จธ๋ฅผ ํ†ตํ•œ timeout ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์ด ์žˆ๋‹ค.
  4. HTTP, E-mail, File Transfer ๋“ฑ์— ์‚ฌ์šฉ๋œ๋‹ค.

UDP์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด์„œ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

UDP๋Š” User Datagram Protocol๋กœ TCP์™€ ๊ฐ™์ด ์ „์†ก๊ณ„์ธต์— ์†ํ•ด์žˆ์œผ๋‚˜ ๊ฐ–๋Š” ํŠน์ง•์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค.

  1. ๋น„์—ฐ๊ฒฐํ˜•, Connectionless ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP์™€ ๊ฐ™์€ Handshaking ์ ˆ์ฐจ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. TCP์—์„œ ์ง€์›ํ•˜๋Š” ํ๋ฆ„์ œ์–ด, ํ˜ผ์žก์ œ์–ด, ์ˆœ์„œ๋ณด์žฅ, ์ „์†ก๋ณด์žฅ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.
  3. ์ตœ์†Œํ•œ์˜ ์˜ค๋ฅ˜๊ฒ€์ถœ์„ ์œ„ํ•ด checksum ์„ ํ™œ์šฉํ•œ๋‹ค.
  4. TCP์— ๋น„ํ•ด ๋น ๋ฅธ ์†๋„์™€ ์ ์€ ๋ถ€ํ•˜๋ฅผ ๊ฐ–๊ธฐ์— ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ, DNS์— ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค.


HTTP๋˜๋Š” ์•”ํ˜ธํ™” ๋˜์ง€ ์•Š์€ ํ”„๋กœํ† ์ฝœ์˜ ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ด ์žˆ๋‚˜์š”?

  1. ํ‰๋ฌธ ํ†ต์‹ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„์ฒญ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  2. ํ†ต์‹  ์ƒ๋Œ€๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์œ„์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  3. ์™„์ „์„ฑ์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฐฉ์•ˆ์ด ์กด์žฌํ•˜๋Š”๋ฐ ๋Œ€ํ‘œ์ ์œผ๋กœ HTTPS ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. HTTPS์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?

HTTPS๋Š” HTTP์— SSL์„ ๋ฎ์–ด ์”Œ์šด๊ฒƒ ๊ณผ ๊ฐ™๋‹ค. ์›๋ž˜ HTTP์˜ ํ†ต์‹ ํ•˜๋Š” ์†Œ์ผ“ ๋ถ€๋ถ„์„ SSL ๋˜๋Š” TLS๋ผ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ด๋‹ค. HTTP๋Š” ์›๋ž˜ TCP์™€ ์ง์ ‘ ํ†ต์‹ ํ–ˆ๋‹ค๋ฉด HTTPS์—์„œ๋Š” HTTP์™€ SSL์ด ํ†ต์‹ ํ•˜๊ณ  SSL๊ณผ TCP๊ฐ€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. SSL์„ ์ด์šฉํ•˜๋Š” HTTP๋Š” ์•”ํ˜ธํ™”์™€ ์ฆ๋ช…์„œ, ์•ˆ์ „์„ฑ ๋ณดํ˜ธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๋“ฑ๋“ฑ

HTTP ์™€ HTTPS ์ค‘ ์–ด๋–ค ํ”„๋กœํ† ์ฝœ์ด ๋” ๋งŽ์ด ์‚ฌ์šฉ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”์ง€์™€ ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.

HTTPS๊ฐ€ ๋ณด์•ˆ์ ์ธ ๋ฉด์—์„œ ๋›ฐ์–ด๋‚œ ๋งŒํผ ์ฒ˜๋ฆฌํ•ด์•ผํ•  ์ž‘์—…์ด ๋งŽ์•„ ์†๋„๊ฐ€ ๋–จ์–ด์ ธ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ด์™ธ์—๋Š” HTTP๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๊ฒ ์ง€๋งŒ ํฐ ์˜ค์‚ฐ์ด๋‹ค. ์•ฝ 10๋…„์ „ CPU๋งŒํ•ด๋„ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์ด ์‚ฌ์šฉ๋ ๋งŒํ•œ ์‹คํ—˜์  ์ˆ˜์น˜๋ฅผ ๋ณด์˜€๋‹ค. ๋˜ํ•œ HTTPS ๋งŒ์„ ์ง€์›ํ•˜๋„๋ก HTTP/2(์‚ฌ์‹ค์ƒ HTTP๋„ ์ง€์›ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœํŒ€์ด ๊ทธ๋ ‡๊ฒŒ ๊ฐœ๋ฐœํ•˜์ง€ ์•Š์Œ)๋Š” ๋‹ค์ค‘ํ™”์™€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋”๋น ๋ฅด๊ฒŒ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๊ตฌ๊ธ€์˜ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ SPDY๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ HTTP/2๋ฅผ ์ง€์›ํ•˜๋Š” ์›น์ด๋ผ๋ฉด HTTPS ๊ฐ€ ์†๋„ ์กฐ์ฐจ ๋”์šฑ ๋น ๋ฅด๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋“ค๋กœ ๊ฐœ์ธ์ •๋ณด์™€ ํฌ๊ฒŒ ์ƒ๊ด€์—†๋Š” ์‚ฌ์ดํŠธ๋“ค ์กฐ์ฐจ ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜๋กœ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

์ฐธ๊ณ ๋งํฌ


DNS ์„œ๋ฒ„๋Š” ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋‚˜์š”?

DNS ์‹œ์Šคํ…œ์€ ip์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ ๋งคํ•‘์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. DNS ์„œ๋ฒ„๋Š” ip ์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ๊ฐ„์˜ ๋ณ€ํ™˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์šฉ์ž๋ฅผ ์–ด๋–ค ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ๊ณผ ip ์ฃผ์†Œ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

์ธํ„ฐ๋„ท์€ ์„œ๋ฒ„๋“ค์„ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ip ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ณธ ์ฒด๊ณ„๋กœ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ip ์ฃผ์†Œ๋Š” ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์กฐํ•ฉ์ด๋ผ ์ธ๊ฐ„์ด ๊ธฐ์–ตํ•˜๊ธฐ์—” ๋ฌด๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐ์–ตํ•˜๊ธฐ ํŽธํ•œ ์–ธ์–ด ์ฒด๊ณ„์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ†ตํ•ด ์›น ์„œ๋ฒ„์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋„๋ฉ”์ธ์€ .(dot) ๋˜๋Š” ๋ฃจํŠธ(root)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋„๋ฉ”์ธ ์ดํ•˜์— Inverted tree ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 1๋‹จ๊ณ„๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ TLD(Top Level Domain), SLD(Second Level Domain), SubDomain์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

DNS ์„œ๋ฒ„์˜ Recursive Query ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋กœ์ปฌ DNS ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ DNS ์„œ๋ฒ„๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ (๋ฃจํŠธ โ†’ com โ†’ naver.com DNS ์„œ๋ฒ„) ์งˆ์˜ํ•ด์„œ ip ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

RoundRobin DNS ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช… ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?

ํด๋ผ์ด์–ธํŠธ์˜ ์›น์„œ๋ฒ„ IP๋ฅผ ์š”์ฒญํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ์—ฌ๋Ÿฌ๋Œ€์˜ ์›น์„œ๋ฒ„๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ๊ฐ€๋ฅด์ณ์ฆ˜์œผ๋กœ ๋ถ€ํ™”๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐฉ๋ฒ•์ด๋‹ค.

Round Robin DNS์˜ ๋ฌธ์ œ์ ์€ ๋ฌด์—‡์ด ์žˆ์„ ๊นŒ์š”?

ํ•„์š”ํ•œ ์„œ๋ฒ„๋งŒํผ ๊ณต์ธ IP ์ฃผ์†Œ ํ•„์š”, ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ(ํŠนํžˆ ์Šค๋งˆํŠธํฐ์˜ ๊ฒฝ์šฐ), ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜์–ด๋„ ํ™•์ธ ๋ถˆ๊ฐ€ ํ•˜๊ณ , ์œ ์ €๋“ค์—๊ฒŒ ํ•ด๋‹น IP๋ฅผ ์ œ๊ณตํ•  ์ˆ˜๋„ ์žˆ์Œ.

์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช… ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

Weighted Round Robin : Round Robin๊ณผ ๊ฐ™์ง€๋งŒ ๊ฐ€์ค‘์น˜๋ฅผ ๋”ํ•ด์„œ ๋ถ„์‚ฐ๋น„์œจ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ๊ฐ€์ค‘์น˜๊ฐ€ ํฐ ์„œ๋ฒ„์ผ ์ˆ˜๋ก ์ž์ฃผ ์„ ํƒ๋˜๋ฏ€๋กœ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์ด ๋†’์€ ์„œ๋ฒ„๋ฅผ ๊ฐ€์ค‘์น˜๋ฅผ ๋†’๊ฒŒ ์„ค์ •ํ•œ๋‹ค.

Least Connection : ์ ‘์†์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ์„œ๋ฒ„๋ฅผ ์„ ํƒํ•œ๋‹ค.


์ธํ„ฐ๋„ท์— www.naver.com์„ ์ณค์„ ๋•Œ, ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ๊ณผ์ •์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

  1. ๋กœ์ปฌ DNS ์„œ๋ฒ„์—๊ฒŒ www.naver.com์— ํ•ด๋‹นํ•˜๋Š” ip ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ๋ฌผ์–ด๋ณธ๋‹ค. ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ip๋กœ ๋ฐ›์•„์˜จ๋‹ค.
  2. ์—†๋‹ค๋ฉด, ๋ฃจํŠธ DNS ์„œ๋ฒ„์— ๋ฌผ์–ด๋ณธ๋‹ค. ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ip๋กœ ๋ฐ›์•„์˜จ๋‹ค.
  3. ์—†๋‹ค๋ฉด, .com์„ ๊ด€๋ฆฌํ•˜๋Š” DNS ์„œ๋ฒ„์— ๋ฌผ์–ด๋ณธ๋‹ค. ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ip๋กœ ๋ฐ›์•„์˜จ๋‹ค.
  4. ์—†๋‹ค๋ฉด, naver.com์„ ๊ด€๋ฆฌํ•˜๋Š” DNS ์„œ๋ฒ„์— ๋ฌผ์–ด๋ณธ๋‹ค. ์žˆ๋‹ค๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ip๋กœ ๋ฐ›์•„์˜จ๋‹ค.
  5. ๋ชฉ์ ์ง€์˜ ip๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. TCP ํ†ต์‹ ์„ ํ†ตํ•ด ์†Œ์ผ“์„ ๊ฐœ๋ฐฉํ•œ๋‹ค. (์›น ๋ธŒ๋ผ์šฐ์ € โ‡” ์„œ๋ฒ„ : TCP 3 way handshaking ๋ฐฉ์‹์„ ํ†ตํ•œ ์ปค๋„ฅ์…˜ ์ƒ์„ฑ)
  6. HTTP ํ”„๋กœํ† ์ฝœ๋กœ ์š”์ฒญํ•œ๋‹ค.
  7. ๋ผ์šฐํŒ… ์ค‘ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋งŒ๋‚œ๋‹ค๋ฉด, ์›น ์บ์‹œ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ response ๋ฐ›๋Š”๋‹ค.
  8. ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋งŒ๋‚˜์ง€ ๋ชปํ•ด www.naver.com์„ ์„œ๋น™ํ•˜๋Š” ์„œ๋ฒ„๊นŒ์ง€ ๊ฐ„๋‹ค๋ฉด ์„œ๋ฒ„์—์„œ ์š”์ฒญ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ response๋กœ ์ „์†กํ•œ๋‹ค.
  9. ๋ธŒ๋ผ์šฐ์ €์˜ loader๊ฐ€ ํ•ด๋‹น response๋ฅผ ๋‹ค์šด๋กœ๋“œํ• ์ง€ ๋ง์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.
  10. ๋ธŒ๋ผ์šฐ์ €์˜ ์›น ์—”์ง„์ด ๋‹ค์šด๋กœ๋“œํ•œ .html ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•˜์—ฌ DOM ํŠธ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  11. .html ํŒŒ์‹ฑ ์ค‘ script ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜๋ฉด ํŒŒ์‹ฑ์„ ์ค‘๋‹จํ•œ๋‹ค.
  12. script ํƒœ๊ทธ์— ์žˆ๋Š” ์ž์›์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ํŒŒ์‹ฑ์„ ์žฌ๊ฐœํ•œ๋‹ค.
  13. css parser๊ฐ€ .css ํŒŒ์ผ์„ ํŒŒ์‹ฑํ•˜์—ฌ ์Šคํƒ€์ผ ๊ทœ์น™์„ DOM ํŠธ๋ฆฌ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.
  14. ๋ Œ๋” ํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ฐ ๋…ธ๋“œ๋“ค์ด ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  15. ํŽ˜์ธํŠธํ•œ๋‹ค. (๋ Œ๋”๋ง ์—”์ง„์ด ๋ฐฐ์น˜๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.)

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ „์†กํ•œ request ๋ฉ”์‹œ์ง€๋ฅผ ์›น ์„œ๋ฒ„๊นŒ์ง€ ์ „์†กํ•˜๊ณ  ๊ทธ ์‘๋‹ต์„ ๋ฐ›๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋ธŒ๋ผ์šฐ์ € โ†’ ํ”„๋กœํ† ์ฝœ ์Šคํƒ โ†’ LAN ์–ด๋Œ‘ํ„ฐ โ†’ ์Šค์œ„์นญ ํ—ˆ๋ธŒ โ†’ ๋ผ์šฐํ„ฐ โ†’ ์ธํ„ฐ๋„ท โ†’ ์›น ์„œ๋ฒ„ LAN โ†’ ์›น ์„œ๋ฒ„ โ†’ ์›น ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ โ†’ ์‘๋‹ต์€ ์™”๋˜ ๊ธธ ๊ทธ๋Œ€๋กœ ๋Œ์•„๊ฐ

  1. ์šด์˜์ฒด์ œ์— ๋‚ด์žฅ๋œ ๋„คํŠธ์›Œํฌ ์ œ์–ด์šฉ ์†Œํ”„ํŠธ์›จ์–ด์ธ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋ฅผ ํŒจํ‚ท ์†์— ์ €์žฅํ•˜๊ณ , ์ˆ˜์‹ ์ฒ˜ ์ฃผ์†Œ ๋“ฑ์˜ ์ œ์–ด ์ •๋ณด๋ฅผ ๋ง๋ถ™์—ฌ ํŒจํ‚ท์„ LAN ์–ด๋Œ‘ํ„ฐ์— ๋„˜๊น๋‹ˆ๋‹ค.
  3. LAN ์–ด๋Œ‘ํ„ฐ๋Š” ๋‹ค์Œ Hop์˜ Mac ์ฃผ์†Œ๋ฅผ ๋ถ™์ธ ํ”„๋ ˆ์ž„์„ ์ „๊ธฐ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๊ณ  ์‹ ํ˜ธ๋ฅผ LAN ์ผ€์ด๋ธ”์— ์†ก์ถœ์‹œํ‚ต๋‹ˆ๋‹ค.
  4. LAN ์–ด๋Œ‘ํ„ฐ๊ฐ€ ์†ก์‹ ํ•œ ํ”„๋ ˆ์ž„์€ ์Šค์œ„์นญ ํ—ˆ๋ธŒ๋ฅผ ๊ฒฝ์œ ํ•˜์—ฌ ์ธํ„ฐ๋„ท ์ ‘์†์šฉ ๋ผ์šฐํ„ฐ์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ผ์šฐํ„ฐ๋Š” ํŒจํ‚ท์„ ํ”„๋กœ๋ฐ”์ด๋”(ํ†ต์‹ ์‚ฌ)์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  6. ํŒจํ‚ท์€ ์ธํ„ฐ๋„ท์˜ ์ž…๊ตฌ์— ์žˆ๋Š” ์•ก์„ธ์Šค ํšŒ์„ (ํ†ต์‹  ํšŒ์„ )์— ์˜ํ•ด POP(Point Of Presence, ํ†ต์‹ ์‚ฌ์šฉ ๋ผ์šฐํ„ฐ)๊นŒ์ง€ ์šด๋ฐ˜๋ฉ๋‹ˆ๋‹ค.
  7. ํŒจํ‚ท์€ POP๋ฅผ ๊ฑฐ์ณ ์ธํ„ฐ๋„ท์˜ ํ•ต์‹ฌ๋ถ€๋กœ ๋“ค์–ด๊ฐ€ ๋ชฉ์ ์ง€๋ฅผ ํ–ฅํ•ด ํ˜๋Ÿฌ๊ฐ‘๋‹ˆ๋‹ค.
  8. ํŒจํ‚ท์€ ์ธํ„ฐ๋„ท ํ•ต์‹ฌ๋ถ€๋ฅผ ํ†ต๊ณผํ•˜์—ฌ ๋ชฉ์ ์ง€ ์›น ์„œ๋ฒ„์ธก์˜ LAN์— ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  9. ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋˜ ๋ฐฉํ™”๋ฒฝ์ด ๋„์ฐฉํ•œ ํŒจํ‚ท์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์บ์‹œ ์„œ๋ฒ„๊ฐ€ ์›น ์„œ๋ฒ„๊นŒ์ง€ ๊ฐˆ์ง€ ๋ง์ง€๋ฅผ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค.
  10. ํŒจํ‚ท์ด ๋ฌผ๋ฆฌ์ ์ธ ์›น ์„œ๋ฒ„์— ๋„์ฐฉํ•˜๋ฉด ์›น ์„œ๋ฒ„์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด ํŒจํ‚ท์„ ์ถ”์ถœํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณต์›ํ•˜๊ณ  ์›น ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋„˜๊น๋‹ˆ๋‹ค.
  11. ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ์›น ์„œ๋ฒ„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์š”์ฒญ ๋ฉ”์‹œ์ง€์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์‘๋‹ต ๋ฉ”์‹œ์ง€์— ๋„ฃ์–ด ํด๋ผ์ด์–ธํŠธ๋กœ ํšŒ์†กํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต ๋ฉ”์‹œ์ง€๋Š” ์™”๋˜ ๋ฐฉ์‹ ๊ทธ๋Œ€๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜์š”?

ํ†ต์‹  ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ œ์–ด ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์ณ๋ณด๋‚ด๊ฑฐ๋‚˜, ๊ฐ์ข… ์ƒํ™ฉ์„ ์กฐ์ ˆํ•˜๋Š” ๋“ฑ ๋„คํŠธ์›Œํฌ ์„ธ๊ณ„์˜ ๋น„์„œ์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์–ด๋–ค ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์š”?

ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ๋œ ๋‚ด์šฉ๋“ค์„ ์บ์‹œ์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ์— ๊ฐ™์€ ์š”์ฒญ์ด ๋“ค์–ด์˜จ๋‹ค๋ฉด ์บ์‹œ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ์จ ์ „์†ก ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋‘ ๋ฒˆ ์ด์ƒ ์š”์ฒญ๋œ ๋‚ด์šฉ์€ ํ”„๋ก์‹œ ์„œ๋ฒ„ ์บ์‹œ๋กœ๋ถ€ํ„ฐ ๋‹ค์šด๋กœ๋“œ๋ฐ›๊ฒŒ ๋ ํ…๋ฐ ํŽ˜์ด์ง€์˜ ๊ฐ’์ด ๋ฐ”๋€๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์ตœ์ดˆ ์š”์ฒญ ์‹œ ์‹ค์ œ ์„œ๋ฒ„์—์„œ ์บ์‹œ ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ์„ค์ •ํ•ด์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ์„œ๋ฒ„๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์„ ํ–ˆ์„ ๋•Œ ์š”์ฒญํ•œ ์‹œ๊ฐ์ด ๋งŒ๋ฃŒ ๊ธฐํ•œ์ด ์ด๋‚ด๋ผ๋ฉด ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์‹ค์ œ ์„œ๋ฒ„๋กœ ๋‹ค์‹œ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๋„คํŠธ์›Œํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„ ๊นŒ์š”?

๊ฒŒ์ดํŠธ์›จ์ด๋ž€ ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์œ„์น˜ํ•œ ๋„คํŠธ์›Œํฌ์—์„œ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ๊ฑฐ์ณ์•ผํ•˜๋Š” ๊ฑฐ์ ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‘ ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋™์ผํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœํ† ์ฝœ์ด ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ์ปดํ“จํ„ฐ์™€ ๋‘ ํ”„๋กœํ† ์ฝœ์„ ์ ์ ˆํžˆ ๋ณ€ํ™˜ํ•ด ์ฃผ๋Š” ๋ณ€ํ™˜๊ธฐ๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋ฐ”๋กœ ์ด๋Ÿฌํ•œ ๋ณ€ํ™˜๊ธฐ ์—ญํ• ์„ ํ•œ๋‹ค.

CORS ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ด๊ณ  ๊ฒฝํ—˜ํ•ด๋ณธ์  ์žˆ๋Š”๊ฐ€์š”?

CORS๋Š” Cross Origin Resource Sharing์˜ ์•ฝ์ž๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋„๋ฉ”์ธ ๋ฐ ํฌํŠธ๊ฐ€ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ์š”์ฒญํ–ˆ์„ ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ API๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.  ์˜ˆ๋กœ ๋“ค๋ฉด ๋กœ์ปฌ์—์„œ ํด๋ผ์ด์–ธํŠธ๋Š” 3000 ํฌํŠธ๋กœ ์„œ๋ฒ„๋Š” 10000 ํฌํŠธ๋กœ ์„œ๋ฒ„๋ฅผ ๋„์› ์„๋•Œ ๋˜๋Š” ๋กœ์ปฌ ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.