๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿช CS

HTTP์™€ IP์ฃผ์†Œ

IP ์ฃผ์†Œ


์ธํ„ฐ๋„ท ๊ณ„์ธต์— IP ์ฃผ์†Œ๋ฅผ ์“ด๋‹ค.

  • ์ปดํ“จํ„ฐ - ์ปดํ“จํ„ฐ ๊ฐ„์˜ ํ†ต์‹ 
    • IP ์ฃผ์†Œ์—์„œ ARP๋ฅผ ํ†ตํ•ด MAC ์ฃผ์†Œ๋ฅผ ์ฐพ์•„ MAC ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ต์‹ 
  • IP ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•œ ์œ„์น˜ ์ถ”์ฒ™
    • IP ์ฃผ์†Œ๋Š” ์ธํ„ฐ๋„ท์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ†ตํ•ด ๋™ ๋˜๋Š” ๊ตฌ๊นŒ์ง€ ์œ„์น˜ ์ถ”์  ๊ฐ€๋Šฅ

ARP (Address Resolution Protocol)


IP ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ MAC ์ฃผ์†Œ๋ฅผ ๊ตฌํ•˜๋Š” IP์™€ MAC ์ฃผ์†Œ์˜ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

ARP๋ฅผ ํ†ตํ•ด IP ์ฃผ์†Œ(๊ฐ€์ƒ ์ฃผ์†Œ, ๋…ผ๋ฆฌ์  ์ฃผ์†Œ)๋ฅผ -> MAC ์ฃผ์†Œ(์‹ค์ œ ์ฃผ์†Œ, ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ)๋กœ ๋ณ€ํ™˜
RARP๋ฅผ ํ†ตํ•ด MAC ์ฃผ์†Œ -> IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜

ARP์˜ ์ฃผ์†Œ ์ฐพ๋Š” ๊ณผ์ •

![[Pasted image 20230116003053.png]]

  • ์žฅ์น˜ A๊ฐ€ Request ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ „์†ก -> IP์ฃผ์†Œ(120.70.80.3)์— ํ•ด๋‹นํ•˜๋Š” MAC ์ฃผ์†Œ ์ฐพ์Œ -> ํ•ด๋‹น ์ฃผ์†Œ์— ๋งž๋Š” ์žฅ์น˜ B๊ฐ€ "ARP reply ์œ ๋‹ˆ ์บ์ŠคํŠธ"๋ฅผ ํ†ตํ•ด MAC ์ฃผ์†Œ ๋ฐ˜ํ™˜ ๊ณผ์ • ๊ฑฐ์นจ -> IP ์ฃผ์†Œ์— ๋งž๋Š” MAC ์ฃผ์†Œ ์ฐพ์Œ
    • ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ : ์†ก์‹  ํ˜ธ์ŠคํŠธ๊ฐ€ ์ „์†กํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์— ์ „์†ก๋˜๋Š” ๋ฐฉ์‹
    • ์œ ๋‹ˆ์บ์ŠคํŠธ : ๊ณ ์œ  ์ฃผ์†Œ๋กœ ์‹๋ณ„๋œ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ๋ชฉ์ ์ง€์— 1:1๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹

ํ™‰๋ฐ”์ดํ™‰ ํ†ต์‹  (hop by hop)


์ˆ˜๋งŽ์€ ์„œ๋ธŒ๋„คํŠธ์›Œํฌ ์•ˆ์— ์žˆ๋Š” ๋ผ์šฐํ„ฐ์˜ ๋ผ์šฐํŒ…ํ…Œ์ด๋ธ”์˜ IP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒจํ‚ท ์ „๋‹ฌ
์ „๋‹ฌํ•ด๋‚˜๊ฐ€๋ฉฐ ๋ผ์šฐํŒ…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ตœ์ข… ๋ชฉ์ ์ง€๊นŒ์ง€ ํŒจํ‚ท ์ „๋‹ฌ

  • ํ†ต์‹ ๋ง์—์„œ ๊ฐ ํŒจํ‚ท์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ผ์šฐํ„ฐ๋ฅผ ๊ฑด๋„ˆ๊ฐ

![[Pasted image 20230116003812.png]]

  • ํ†ต์‹  ์žฅ์น˜์— ์žˆ๋Š” '๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”'์˜ IP๋ฅผ ํ†ตํ•ด ์‹œ์ž‘ ์ฃผ์†Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋‹ค์Œ IP๋กœ ๊ณ„์†ํ•ด์„œ ์ด๋™ํ•˜๋Š” '๋ผ์šฐํŒ…' ๊ณผ์ •์„ ๊ฑฐ์ณ ํŒจํ‚ท์ด ์ตœ์ข… ๋ชฉ์ ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•˜๋Š” ํ†ต์‹ 
    • ๋ผ์šฐํŒ… : IP ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •

๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(routing table)

  • ์†ก์‹ ์ง€์—์„œ ์ˆ˜์‹ ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋ผ์šฐํ„ฐ์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๋ชฉ์ ์ง€ ์ •๋ณด๋“ค๊ณผ ๊ทธ ๋ชฉ์ ์ง€๋กœ ๊ฐ€๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด ๋“ค์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ
  • ๊ฒŒ์ดํŠธ์›จ์ด์™€ ๋ชจ๋“  ๋ชฉ์ ์ง€์— ๋Œ€ํ•ด ํ•ด๋‹น ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์ณ์•ผ ํ•  ๋‹ค์Œ ๋ผ์šฐํ„ฐ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๊ฒŒ์ดํŠธ์›จ์ด(gateway)

์„œ๋กœ ๋‹ค๋ฅธ ํ†ต์‹ ๋ง, ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์ปดํ“จํ„ฐ๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด

  • ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์ƒ์˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์—ญํ• 
  • ์‚ฌ์šฉ์ž๋Š” ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋งŽ์€ ํ†จ๊ฒŒ์ดํŠธ์ธ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค.
    ![[Pasted image 20230116004139.png]]
  • ๊ฒŒ์ดํŠธ์›จ์ด ํ™•์ธ ๋ฐฉ๋ฒ•
    • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ํ†ตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์€ netstat -r ๋ช…๋ น์–ด ์‹คํ–‰ํ•˜์—ฌ ํ™•์ธ
      • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(IPv4 ๊ฒฝ๋กœ ํ…Œ์ด๋ธ”, IPv6 ๊ฒฝ๋กœ ํ…Œ์ด๋ธ”), ๊ฒŒ์ดํŠธ์›จ์ด, ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

IP ์ฃผ์†Œ ์ฒด๊ณ„


IP ์ฃผ์†Œ ๊ตฌ๋ถ„

  • IPv4
    • 32๋น„ํŠธ๋ฅผ 8๋น„ํŠธ ๋‹จ์œ„๋กœ ์  ํ‘œ๊ธฐ (ex. 123.45.67.89)
  • IPv6
    • 128๋น„ํŠธ -> 16๋น„ํŠธ ๋‹จ์œ„๋กœ ์  ํ‘œ๊ธฐ (ex. 2001:db8::ff00:42:8329)

ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ํ• ๋‹น ๋ฐฉ์‹ (Classful Network Addressing)


A, B, C, D, E ๋‹ค์„ฏ ๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ์‹
์•ž์— ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ, ๊ทธ ๋’ค์— ์žˆ๋Š” ๋ถ€๋ถ„์„ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ(์ปดํ“จํ„ฐ์— ๋ถ€์—ฌํ•˜๋Š” ์ฃผ์†Œ)๋กœ ๋†“์•„์„œ ์‚ฌ์šฉํ•œ๋‹ค.

![[Pasted image 20230116152948.png]]

  • ํด๋ž˜์Šค A,B,C : ์ผ๋Œ€์ผ ํ†ต์‹ ์œผ๋กœ ์‚ฌ์šฉ
    • ํด๋ž˜์Šค A์˜ ๋ฒ”์œ„ : 0.0.0.0 ~ 127.255.255.255
  • ํด๋ž˜์Šค D : ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ํ†ต์‹ 
  • ํด๋ž˜์Šค E : ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ๋น„์šฉ

![[Pasted image 20230116153248.png]]

  • ๊ตฌ๋ถ„ ๋น„ํŠธ : ์•„๋ž˜ ๋งจ ์™ผ์ชฝ์— ์žˆ๋Š” ๋น„ํŠธ๋กœ, ํด๋ž˜์Šค ๊ฐ„์˜ IP๊ฐ€ ๋‚˜๋ˆ ์ง„๋‹ค.
    • ํด๋ž˜์Šค A : 0
    • ํด๋ž˜์Šค B : 10
    • ํด๋ž˜์Šค C : 110
  • ๋„คํŠธ์›Œํฌ์˜ ์ฒซ ๋ฒˆ์ฉจ ์ฃผ์†Œ : ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋„คํŠธ์›Œํฌ์˜ ๋งˆ์ง€๋ง‰ ์ฃผ์†Œ : ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ์šฉ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
    • ๋„คํŠธ์›Œํฌ์— ์†ํ•ด ์žˆ๋Š” ๋ชจ๋“  ์ปดํ“จํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ

![[Pasted image 20230116153702.png]]

  • ํด๋ž˜์Šค A๋กœ 12.0.0.0 ๋„คํŠธ์›Œํฌ ๋ถ€์—ฌ ๋ฐ›์•˜๋‹ค๊ณ  ๊ฐ€์ •
    • 12.0.0.1 ~ 12.255.255.254์˜ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ(์ปดํ“จํ„ฐ์— ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ)๋ฅผ ๋ถ€์—ฌ๋ฐ›์€ ๊ฒƒ
    • ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ฃผ์†Œ
      • ์ฒซ ๋ฒˆ์งธ ์ฃผ์†Œ์ธ 12.0.0.0 : ๋„คํŠธ์›Œํฌ ๊ตฌ๋ณ„ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉ X
      • ๋งˆ์ง€๋ง‰ ์ฃผ์†Œ์ธ 12.255.255.255 : ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ์šฉ์œผ๋กœ ๋‚จ๊ฒจ๋‘์–ด์•ผ ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ X
  • ์‚ฌ์šฉ ์‹œ ๋‹จ์ 
    • ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ๋ณด๋‹ค ๋ฒ„๋ฆฌ๋Š” ์ฃผ์†Œ๊ฐ€ ๋งŽ๋‹ค.
    • ์ด๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด DHCP, IPv6, NAT ๋“ฑ์žฅ

DHCP (Dynamic Host Configuration Protocol)


IP ์ฃผ์†Œ ๋ฐ ๊ธฐํƒ€ ํ†ต์‹  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ

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

NAT (Network Address Translation)


ํŒจํ‚ท์ด ๋ผ์šฐํŒ… ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋™์•ˆ ํŒจํ‚ท์˜ IP ์ฃผ์†Œ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ IP ์ฃผ์†Œ๋ฅผ ๋‹ค๋ฅธ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • NAT๋กœ ๊ณต์ธ IP ์™€ ์‚ฌ์„ค IP๋กœ ๋‚˜๋ˆ ์„œ ๋งŽ์€ ์ฃผ์†Œ ์ฒ˜๋ฆฌ
    • IPv4 ์ฃผ์†Œ ์ฒด๊ณ„๋งŒ์œผ๋กœ๋Š” ๋งŽ์€ ์ฃผ์†Œ๋“ค์„ ๋ชจ๋‘ ๊ฐ๋‹นํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‹จ์  ํ•ด๊ฒฐ
  • ์žฅ์ 
    • ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” IP ์ฃผ์†Œ์™€ ์™ธ๋ถ€์— ๋“œ๋Ÿฌ๋‚˜๋Š” IP ์ฃผ์†Œ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ์–ด๋А ์ •๋„์˜ ๋ณด์•ˆ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
  • ๋‹จ์ 
    • ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์— ์ธํ„ฐ๋„ท ์ ‘์†ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์‹ค์ œ๋กœ ์ ‘์†ํ•˜๋Š” ํ˜ธ์ŠคํŠธ ์ˆซ์ž์— ๋”ฐ๋ผ ์ ‘์† ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • NAT๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด
    • ICS
    • RRAS
    • Netfiler ๋“ฑ

![[Pasted image 20230116154540.png]]
NAT ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์‚ฌ์„ค IP๋ฅผ ๊ณต์ธ IP๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๊ณต์ธ IP๋ฅผ ์‚ฌ์„ค IP๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์“ฐ์ธ๋‹ค.

  • 192.168.0.xxx๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์„ค IP(๊ฐ๊ฐ ๋‹ค๋ฅธ IP)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • NAT ์žฅ์น˜๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๊ณต์ธ IP์ธ 121.165.151.200์œผ๋กœ ์™ธ๋ถ€ ์ธํ„ฐ๋„ท ์š”์ฒญ ๊ฐ€๋Šฅ
  • ํ•˜๋‚˜์˜ IP์ธ 121.165.151.200์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ๊ฐ์˜ ๋‹ค๋ฅธ IP๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ธํ„ฐ๋„ท ์‚ฌ์šฉ

๊ณต์œ ๊ธฐ์™€ NAT

NAT์„ ์“ฐ๋Š” ์ด์œ 
- ์ฃผ๋กœ ์—ฌ๋Ÿฌ ๋Œ€์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•จ
ex. ์ธํ„ฐ๋„ท ํšŒ์„  ํ•˜๋‚˜ ๊ฐœํ†ตํ•˜๊ณ  ์ธํ„ฐ๋„ท ๊ณต์œ ๊ธฐ๋ฅผ ๋‹ฌ์•„ ์—ฌ๋Ÿฌ PC ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉ
- ์ธํ„ฐ๋„ท ๊ณต์œ ๊ธฐ์— NAT ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

HTTP


HTTP๋Š” ์ „์†ก ๊ณ„์ธต ์œ„์— ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์œผ๋กœ์„œ ์›น ์„œ๋น„์Šค ํ†ต์‹ ์— ์‚ฌ์šฉ๋œ๋‹ค.

HTTP/1.0

๊ธฐ๋ณธ์ ์œผ๋กœ ํ•œ ์—ฐ๊ฒฐ๋‹น ํ•˜๋‚˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.
-> ์ด๋Š” RTT ์ฆ๊ฐ€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋œ๋‹ค.

  • RTT
    • ํŒจํ‚ท์ด ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•˜๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ์ถœ๋ฐœ์ง€๋กœ ๋Œ์•„์˜ค๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
    • ํŒจํ‚ท ์™•๋ณต ์‹œ๊ฐ„
      ![[Pasted image 20230116160508.png]]

๋‹จ์ 
- ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ๋–„๋งˆ๋‹ค TCP์˜ 3-way handshake๋ฅผ ๊ณ„์†ํ•ด์„œ ์—ด์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— RTT๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.
- ๋งค๋ฒˆ ์—ฐ๊ฒฐ ์‹œ RTT ์ฆ๊ฐ€๋กœ ์„œ๋ฒ„์— ๋ถ€๋‹ด์ด ๋งŽ์ด ๊ฐ€ใ…๊ณ , ์‚ฌ์šฉ์ž ์‘๋‹ต ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง„๋‹ค.

RTT์˜ ์ฆ๊ฐ€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  1. ์ด๋ฏธ์ง€ ์Šคํ”Œ๋ฆฌํŒ…
  2. ์ฝ”๋“œ ์••์ถ•
  3. ์ด๋ฏธ์ง€ Base64 ์ธ์ฝ”๋”ฉ

์ด๋ฏธ์ง€ ์Šคํ”Œ๋ฆฌํŒ…

๋งŽ์€ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ ์‹œ์— ๊ณผ๋ถ€ํ™”๊ฐ€ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์ด๋ฏธ์ง€๊ฐ€ ํ•ฉ์ณ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ณ ,
์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ background-image์˜ position์„ ์ด์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ•

  • background-image: url("icons.png");, background-position ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์„ค์ •

์ฝ”๋“œ ์••์ถ•

์ฝ”๋“œ๋ฅผ ์••์ถ•ํ•˜์—ฌ ๊ฐœํ–‰ ๋ฌธ์ž, ๋นˆ์นธ์„ ์—†์•  ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๊ฐœํ–‰ ๋ฌธ์ž, ๋„์–ด์“ฐ๊ธฐ ๋“ฑ์ด ์‚ฌ๋ผ์ ธ ์ฝ”๋“œ ์šฉ๋Ÿ‰์ด ์ค„์–ด๋“ ๋‹ค.

์ด๋ฏธ์ง€ Base64 ์ธ์ฝ”๋”ฉ

์ด๋ฏธ์ง€ ํŒŒ์ผ์„ 64์ง„๋ฒ•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์ธ์ฝ”๋”ฉ : ์ •๋ณด์˜ ํ˜•ํƒœ๋‚˜ ํ˜•์‹์„ ํ‘œ์ค€ํ™”, ๋ณด์•ˆ, ์ฒ˜๋ฆฌ ์†๋„ ํ–ฅ์ƒ, ์ €์žฅ ๊ณต๊ฐ„ ์ ˆ์•ฝ ๋“ฑ์„ ์œ„ํ•ด ๋‹ค๋ฅธ ํ˜•ํƒœ๋‚˜ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ฒ˜๋ฆฌ ๋ฐฉ์‹
  • ์žฅ์ 
    • ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ์„ ์—ด๊ณ  ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์„œ๋ฒ„์— HTTP ์š”์ฒญ ๋ถˆํ•„์š”
  • ๋‹จ์ 
    • Base64 ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•  ๊ฒฝ์šฐ, 37% ์ •๋„ ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค.

HTTP/1.1


HTTP/1.0์—์„œ ๋ฐœ์ „ํ•œ ๊ฒƒ์œผ๋กœ, ๋งค๋ฒˆ TCP ์—ฐ๊ฒฐ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•œ ๋ฒˆ TCP ์ดˆ๊ธฐํ™”๋ฅผ ํ•œ ์ดํ›„์— keep-alive ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ์„ ์†ก์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

![[Pasted image 20230116161212.png]]

  • ์žฅ์ 
    • ํ•œ ๋ฒˆ TCP 3-way handshake ๋ฐœ์ƒํ•˜๋ฉด ๊ทธ๋‹ค์Œ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋‹จ์ 
    • ๋ฌธ์„œ ์•ˆ์— ํฌํ•จ๋œ ๋‹ค์ˆ˜์˜ ๋ฆฌ์†Œ์Šค(css,์ด๋ฏธ์ง€,scriptํŒŒ์ผ)๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ์š”์ฒญํ•  ๋ฆฌ์†Œ์Šค ๊ฐœ์ˆ˜์— ๋น„๋ก€ํ•ด์„œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง„๋‹ค.

HOL Blocking (Head Of Line Blocking)

๋„คํŠธ์›Œํฌ์—์„œ ๊ฐ™์€ ํ์— ์žˆ๋Š” ํŒจํ‚ท์ด ๊ทธ ์ฒซ ๋ฒˆ์งธ ํŒจํ‚ท์— ์˜ํ•ด ์ง€์—ฐ๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ ์ €ํ•˜ ํ˜„์ƒ

  • ์˜ˆ๋ฅผ ๋“ค์–ด jpg,css,xml์„ ๋‹ค์šด๋ฐ›์„ ๋•Œ jpg๊ฐ€ ๋А๋ฆฌ๊ฒŒ ๋ฐ›์•„์ง€๋ฉด ๊ทธ ๋’ค์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์ด ๋Œ€๊ธฐํ•˜๊ฒŒ ๋˜๋ฉฐ ๋‹ค์šด๋กœ๋“œ๊ฐ€ ์ง€์—ฐ๋˜๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

๋ฌด๊ฑฐ์šด ํ—ค๋” ๊ตฌ์กฐ

HTTP/1.1์˜ ํ—ค๋”์—๋Š” ์ฟ ํ‚ค ๋“ฑ ๋งŽ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด ์žˆ๊ณ , ์••์ถ•๋˜์ง€ ์•Š์•„ ๋ฌด๊ฒ๋‹ค.

HTTP/2


SPDY ํ”„๋กœํ† ์ฝœ์—์„œ ํŒŒ์ƒ๋œ HTTP/1.x ๋ณด๋‹ค ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ์‘๋‹ต ์‹œ๊ฐ„์„ ๋” ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ, ํ—ค๋” ์••์ถ•, ์„œ๋ฒ„ ํ‘ธ์‹œ, ์š”์ฒญ์˜ ์šฐ์„ ์ˆœ์œ„ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์†ก์ˆ˜์‹ 

  • ํŠน์ • ์ŠคํŠธ๋ฆผ์˜ ํŒจํ‚ท์ด ์†์‹ค๋˜์—ˆ๋‹ค๊ณ  ํ•ด๋„ ํ•ด๋‹น ์ŠคํŠธ๋ฆผ์—๋งŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ๋‚˜๋จธ์ง€ ์ŠคํŠธ๋ฆผ์€ ๋ฉ€์ฉกํ•˜๊ฒŒ ๋™์ž‘ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.
  • ์ŠคํŠธ๋ฆผ (stream) : ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐ์ดํ„ฐ ํ๋ฆ„

์žฅ์ 

  • ๋‹จ์ผ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ๋กœ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ์‘๋‹ต์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
    • HTTP/1.x์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ธ HOL Blocking ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
  • ํ—ค๋” ์••์ถ•
    • HTTP/1.x์˜ ํฌ๊ธฐ๊ฐ€ ํฐ ํ—ค๋” ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
    • ํ—ˆํ”„๋งŒ ์ฝ”๋”ฉ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” HPACK ์••์ถ• ํ˜•์‹์„ ๊ฐ€์ง„๋‹ค.
  • ์„œ๋ฒ„ ํ‘ธ์‹œ
    • HTTP/1.1์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•ด์•ผ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    • HTTP/2๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์—†์ด ์„œ๋ฒ„๊ฐ€ ๋ฐ”๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ํ‘ธ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

![[Pasted image 20230116161839.png]]
- ํ•˜๋‚˜ ์—ฐ๊ฒฐ ๋‚ด ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ฆผ ๋ชจ์Šต
- ๋ณ‘๋ ฌ์ ์ธ ์ŠคํŠธ๋ฆผ๋“ค์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋น™ํ•˜๊ณ , ์ŠคํŠธ๋ฆผ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ์ชผ๊ฐœ์ ธ ์žˆ๋‹ค.
- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ›์•„์˜จ ๋ฉ”์‹œ์ง€๋ฅผ ๋…๋ฆฝ๋œ ํ”„๋ ˆ์ž„์œผ๋กœ ์กฐ๊ฐ๋‚ด์–ด ์„œ๋กœ ์†ก์ˆ˜์‹ ํ•œ ์ดํ›„ ๋‹ค์‹œ ์กฐ๋ฆฝํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

  • ํ—ˆํ”„๋งŒ ์ฝ”๋”ฉ (Huffman coding)
    • ๋ฌธ์ž์—ด์„ ๋ฌธ์ž ๋‹จ์œ„๋กœ ์ชผ๊ฐœ ๋นˆ๋„์ˆ˜๋ฅผ ์„ธ์–ด ์ „์ฒด ๋ฐ์ดํ„ฐ์˜ ํ‘œํ˜„์— ํ•„์š”ํ•œ ๋น„ํŠธ์–‘์„ ์ค„์ด๋Š” ์›๋ฆฌ
    • ๋นˆ๋„๊ฐ€ ๋†’์€ ์ •๋ณด : ์ ์€ ๋น„ํŠธ ์ˆ˜ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„
    • ๋นˆ๋„๊ฐ€ ๋‚ฎ์€ ์ •๋ณด : ๋น„ํŠธ ์ˆ˜๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„

HTTPS


์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ „์†ก ๊ณ„์ธต ์‚ฌ์ด์— ์‹ ๋ขฐ ๊ณ„์ธต์ธ SSL/TLS ๊ณ„์ธต์„ ๋„ฃ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” HTTP ์š”์ฒญ์„ ๋งํ•œ๋‹ค.

  • HTTP/2๋Š” HTTPS ์œ„์—์„œ ๋™์ž‘

SSL/TLS (Secure Socket Layer/(Transport Layer Security Protocol)


์ „์†ก ๊ณ„์ธต์—์„œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ
ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ SSL/TLS๋ฅผ ํ†ตํ•ด ์ œ3์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์ฒญํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•œ๋‹ค.

  • ๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋ฒ„์ธ ์ฒ™ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๊ฐ€๋กœ์ฑ„๋Š” ๋„คํŠธ์›Œํฌ์ƒ์˜ '์ธํ„ฐ์…‰ํ„ฐ'๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ณด์•ˆ ์„ธ์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”

  • ๋ณด์•ˆ ์„ธ์…˜์ด ๋งŒ๋“ค์–ด์งˆ ๋•Œ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ํ‚ค ๊ตํ™˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ๋œ๋‹ค.

  • ์„ธ์…˜ : ์šด์˜์ฒด์ œ๊ฐ€ ์–ด๋– ํ•œ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž์‹ ์˜ ์ž์‚ฐ ์ด์šฉ์„ ํ—ˆ๋ฝํ•˜๋Š” ์ผ์ •ํ•œ ๊ธฐ๊ฐ„์„ ๋œปํ•œ๋‹ค.

    • ์‚ฌ์šฉ์ž๋Š” ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ์ž์› ๋“ฑ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

๋ณด์•ˆ ์„ธ์…˜

๋ณด์•ˆ์ด ์‹œ์ž‘๋˜๊ณ  ๋๋‚˜๋Š” ๋™์•ˆ ์œ ์ง€๋˜๋Š” ์„ธ์…˜

  • SSL/TLS๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ํ†ตํ•ด ๋ณด์•ˆ ์„ธ์…˜ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒํƒœ ์ •๋ณด ๊ณต์œ 

![[Pasted image 20230116171240.png]]
TLS์˜ ํ•ธ๋“œ์…ฐ์ดํฌ

  • ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„์™€ ํ‚ค ๊ณต์œ  -> ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹จ ํ•œ ๋ฒˆ์˜ 1-RTT (์ธ์ฆ, ์ธ์ฆ ํ™•์ธ ๋“ฑ ์ž‘์—…์ด ์ผ์–ด๋‚จ)๊ฐ€ ์ƒ๊น€ -> ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
  • ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์ดํผ ์ŠˆํŠธ๋ฅผ ์„œ๋ฒ„์— ์ „๋‹ฌ -> ์„œ๋ฒ„๋Š” ๋ฐ›์€ ์‚ฌ์ดํผ ์ŠˆํŠธ์˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฆฌ์ŠคํŠธ ์ œ๊ณต ๊ฐ€๋Šฅํ•œ ์ง€ ํ™•์ธ -> ์ œ๊ณต ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ด๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์‹œ์ž‘๋จ -> ์ดํ›„ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์œผ๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ์†ก์ˆ˜์‹  ์‹œ์ž‘

์‚ฌ์ดํผ ์ŠˆํŠธ (cypher suites)

  • ํ”„๋กœํ† ์ฝœ, AEAD ์‚ฌ์ดํผ ๋ชจ๋“œ, ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋‚˜์—ด๋œ ๊ทœ์•ฝ
  • ์ด 5๊ฐœ์˜ ๊ทœ์•ฝ
    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
    • TLS_CHACHA20_POLY1305_SHA256
    • TLS_AES_128_CCM_SHA256
    • TLS_AES_128_CCM_8_SHA256
  • ex. TLS_AES_128_GCM_SHA256
    • TLS์—๋Š” ํ”„๋กœํ† ์ฝœ
    • AES_128_GCM์€ AEAD ์‚ฌ์ดํผ ๋ชจ๋“œ
    • SHA256์€ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋œปํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๊ทœ์•ฝ์ด ๋“ค์–ด ์žˆ๋‹ค.

AEAD ์‚ฌ์ดํผ ๋ชจ๋“œ

  • AEAD (Authenticated Encryption with Associated Data)
  • ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • AES_128_GCM ๋“ฑ
  • ex. AES_128_GCM
    • 128๋น„ํŠธ์˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€ ๋ธ”๋ก ์•”ํ˜ธํ™” ๊ธฐ์ˆ ๊ณผ ๋ณ‘๋ ฌ ๊ณ„์‚ฐ์— ์šฉ์ดํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ GCM์ด ๊ฒฐํ•ฉ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜


CA(Certificate Authorities)์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
CA์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ๋Š” ์•ˆ์ „ํ•œ ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์š”ํ•œ โ€˜๊ณต๊ฐœํ‚คโ€™๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•œ โ€˜์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐโ€™ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ž„์„ ๋ณด์žฅ

  • ์„œ๋น„์Šค ์ •๋ณด, ๊ณต๊ฐœํ‚ค, ์ง€๋ฌธ, ๋””์ง€ํ„ธ ์„œ๋ช… ๋“ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ ๋ขฐ์„ฑ์ด ์—„๊ฒฉํ•˜๊ฒŒ ๊ณต์ธ๋œ ๊ธฐ์—…๋“ค๋งŒ ์ฐธ์—ฌ ๊ฐ€๋Šฅ (Comodo, GoDaddy, GlobalSign, ์•„๋งˆ์กด ๋“ฑ)

CA ๋ฐœ๊ธ‰ ๊ณผ์ •

  • ์ž์‹ ์˜ ์„œ๋น„์Šค๊ฐ€ CA ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์œผ๋ ค๋ฉด ์ž์‹ ์˜ ์‚ฌ์ดํŠธ ์ •๋ณด์™€ ๊ณต๊ฐœํ‚ค๋ฅผ CA์— ์ œ์ถœํ•ด์•ผ ํ•œ๋‹ค.

  • ์ดํ›„ CA๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ํ•ด์‹œํ•œ ๊ฐ’์ธ ์ง€๋ฌธ(finger print)์„ ์‚ฌ์šฉํ•˜๋Š” CA์˜ ๋น„๋ฐ€ํ‚ค ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ CA ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค.

  • ๊ฐœ์ธํ‚ค : ๋น„๋ฐ€ํ‚ค๋กœ, ๊ฐœ์ธ์ด ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š” ํ‚ค์ด์ž ๋ฐ˜๋“œ์‹œ ์ž์‹ ๋งŒ์ด ์†Œ์œ ํ•ด์•ผ ํ•˜๋Š” ํ‚ค

  • ๊ณต๊ฐœํ‚ค : ๊ณต๊ฐœ๋˜์–ด ์žˆ๋Š” ํ‚ค

ํ‚ค ๊ตํ™˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜


๋Œ€์ˆ˜๊ณก์„  ๊ธฐ๋ฐ˜์˜ ECDHE(Elliptic Curve Diffie-Hellman Ephermeral) ๋˜๋Š” ๋ชจ๋“ˆ์‹ ๊ธฐ๋ฐ˜์˜ DHE(Diffie-Hellman Ephermeral) ์‚ฌ์šฉ
๋””ํ”ผ-ํ—ฌ๋งŒ(Diffie-Hellman) ๋ฐฉ์‹์„ ๊ทผ๊ฐ„์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

๋””ํ”ผ-ํ—ฌ๋งŒ ํ‚ค ๊ตํ™˜ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Diffie-Hellman key exchange)

  • ์•”ํ˜ธํ‚ค๋ฅผ ๊ตํ™˜ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•

  • y = g^x mod p

    • ์œ„์˜ ์‹์—์„œ g์™€ x์™€ p๋ฅผ ์•ˆ๋‹ค๋ฉด y๋Š” ๊ตฌํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, g์™€ y์™€ p๋งŒ ์•ˆ๋‹ค๋ฉด x๋ฅผ ๊ตฌํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค๋Š” ์›๋ฆฌ์— ๊ธฐ๋ฐ˜ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ![[Pasted image 20230116220540.png]]
  1. ์ฒ˜์Œ์— ๊ณต๊ฐœ ๊ฐ’ ๊ณต์œ ํ•˜๊ณ  ๊ฐ์ž์˜ ๋น„๋ฐ€ ๊ฐ’๊ณผ ํ˜ผํ•ฉํ•œ ํ›„, ํ˜ผํ•ฉ ๊ฐ’์„ ๊ณต์œ ํ•œ๋‹ค.
  2. ๊ฐ์ž์˜ ๋น„๋ฐ€ ๊ฐ’๊ณผ ํ˜ผํ•ฉํ•œ๋‹ค.
  3. ๊ณตํ†ต์˜ ์•”ํ˜ธํ™”ํ‚ค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘ ๊ฐœ์ธํ‚ค์™€ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„œ๋กœ์—๊ฒŒ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ณด๋‚ด๊ณ  ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ PSK(์‚ฌ์ „ ํ•ฉ์˜๋œ ๋น„๋ฐ€ํ‚ค)๊ฐ€ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ์•…์˜์ ์ธ ๊ณต๊ฒฉ์ž๊ฐ€ ๊ฐœ์ธํ‚ค ๋˜๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ ๋„ PSK๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค.

ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜


๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ •ํ•˜๊ธฐ ํž˜๋“  ๋” ์ž‘๊ณ , ์„ž์—ฌ ์žˆ๋Š” ์กฐ๊ฐ์œผ๋กœ ๋งŒ๋“œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • SHA-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜ (๋” ๋งŽ์ด ์“ฐ์ธ๋‹ค.)
  • SHA-384 ์•Œ๊ณ ๋ฆฌ์ฆ˜

SHA-256

ํ•ด์‹œ ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๊ฐ’์ด 256๋น„ํŠธ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ๋น„ํŠธ ์ฝ”์ธ์„ ๋น„๋กฏํ•œ ๋งŽ์€ ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ

  • ํ•ด์‹ฑ์„ ํ•ด์•ผ ํ•  ๋ฉ”์‹œ์ง€์— 1์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ ์ „์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ณ , ์ „์ฒ˜๋ฆฌ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์‹œ ๋ฐ˜ํ™˜

  • ํ•ด์‹œ

    • ๋‹ค์–‘ํ•œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์ •๋œ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘(mapping)ํ•œ ๊ฐ’
  • ํ•ด์‹ฑ

    • ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์‹œ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ผ์ด๋ฉฐ ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ์ด๋ฅผ ๋‹ด๋‹น
  • ํ•ด์‹œ ํ•จ์ˆ˜

    • ์ž„์˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ์ผ์ •ํ•œ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ํ•จ์ˆ˜

0-RTT

  • TLS 1.3์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด์ „์— ๋ฐฉ๋ฌธํ•œ ์‚ฌ์ดํŠธ๋กœ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•œ๋‹ค๋ฉด SSL/TLS์—์„œ ๋ณด์•ˆ ์„ธ์…˜์„ ๋งŒ๋“ค ๋•Œ ๊ฑธ๋ฆฌ๋Š” ํ†ต์‹ ์„ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

SEO์—๋„ ๋„์›€๋˜๋Š” HTTPS


SEO (Search Engine Optimization) : ๊ฒ€์ƒ‰์—”์ง„ ์ตœ์ ํ™”

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

  • ์„œ๋น„์Šค ์šด์˜ ์‹œ SEO ๊ด€๋ฆฌ๋Š” ํ•„์ˆ˜
  • ๋ฐฉ๋ฒ•
    • ์บ๋…ธ๋‹ˆ์ปฌ ์„ค์ •
      • link์— ์บ๋…ธ๋‹ˆ์ปฌ ์„ค์ •
    • ๋ฉ”ํƒ€ ์„ค์ •
      • html ํŒŒ์ผ์˜ ๊ฐ€์žฅ ์œ—๋ถ€๋ถ„์ธ ๋ฉ”ํƒ€ ์„ค์ •
    • ํŽ˜์ด์ง€ ์†๋„ ๊ฐœ์„ 
      • ๊ตฌ๊ธ€์˜ PageSpeedInsights ์ด์šฉ ( ์ž์‹ ์˜ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฆฌํฌํŒ…์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐ›์œผ๋ฉฐ ๊ด€๋ฆฌ)
    • ์‚ฌ์ดํŠธ๋งต(sitemap.xml) ๊ด€๋ฆฌ
      • ์‚ฌ์ดํŠธ๋งต ์ œ๋„ˆ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๊ตฌ์ถ•

HTTPS ๊ตฌ์ถ• ๋ฐฉ๋ฒ•

  1. ์ง์ ‘ CA์—์„œ ๊ตฌ๋งคํ•œ ์ธ์ฆํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ HTTPS ์„œ๋น„์Šค ๊ตฌ์ถ•
  2. ์„œ๋ฒ„ ์•ž๋‹จ์˜ HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‘์–ด ๊ตฌ์ถ•
  3. ์„œ๋ฒ„ ์•ž๋‹จ์— HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” CDN์„ ๋‘ฌ์„œ ๊ตฌ์ถ•

HTTP/3


HTTP/1.1 ๋ฐ HTTP/2์™€ ํ•จ๊ป˜ World Wide Web์—์„œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” HTTP์˜ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „

  • TCP ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” HTTP/2์™€๋Š” ๋‹ฌ๋ฆฌ HTTP/3์€ QUIC์ด๋ผ๋Š” ๊ณ„์ธต ์œ„์—์„œ ๋Œ์•„๊ฐ„๋‹ค.

  • TCP ๊ธฐ๋ฐ˜์ด ์•„๋‹Œ UDP ๊ธฐ๋ฐ˜
    ![[Pasted image 20230116222443.png]]

  • ์žฅ์ 

    • ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ์„ ๊ฐ€์ง
    • ์ดˆ๊ธฐ ์—ฐ๊ฒฐ ์„ค์ • ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ์†Œ

์ดˆ๊ธฐ ์—ฐ๊ฒฐ ์„ค์ • ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ์†Œ

QUIC์€ TCP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ†ต์‹ ์„ ์‹œ์ž‘ํ•  ๋•Œ ๋ฒˆ๊ฑฐ๋กœ์šด 3-way handshake ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
์ฒซ ์—ฐ๊ฒฐ ์„ค์ •์— 1-RTT๋งŒ ์†Œ์š”
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์–ด๋–ค ์‹ ํ˜ธ๋ฅผ ํ•œ ๋ฒˆ ์ฃผ๊ณ , ์„œ๋ฒ„๋„ ๊ฑฐ๊ธฐ์— ์‘๋‹ตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฐ”๋กœ ๋ณธ ํ†ต์‹ ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

QUIC์€ ์ˆœ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ์ˆ˜์ • ๋ฉ”์ปค๋‹ˆ์ฆ˜(FEC, Forword Error Correction)์ด ์ ์šฉ๋˜์—ˆ๋‹ค.
์ „์†กํ•œ ํŒจํ‚ท์ด ์†์‹ค๋˜์—ˆ๋‹ค๋ฉด ์ˆ˜์‹  ์ธก์—์„œ ์—๋Ÿฌ๋ฅผ ๊ฒ€์ถœํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ์‹
์—ด์•…ํ•œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ๋„ ๋‚ฎ์€ ํŒจํ‚ท ์†์‹ค๋ฅ ์„ ์ž๋ž‘ํ•œ๋‹ค.

QUIC

Quick UDP Internet Connections์œผ๋กœ, Quick UDP ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์„ ์˜๋ฏธ

  • ์ง€์—ฐ์‹œ๊ฐ„์ด ์ ์€ ์ธํ„ฐ๋„ท ์ „์†ก ํ”„๋กœํ† ์ฝœ
  • ์‚ฌ์šฉ
    • ๊ฒŒ์ž„, ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฏธ๋””์–ด, VoIP์„œ๋น„์Šค
  • ์žฅ์ 
    • ์ปค๋„ฅ์…˜ ๊ณผ์ • ์ถ•์†Œ๋กœ ์ธํ•œ ์ „์†ก ์†๋„ ํ–ฅ์ƒ

์ •๋ฆฌ

  1. ๊ทธ๋ ‡๋‹ค๋ฉด HTTPS๊ฐ€ HTTP๋กœ ๋ถ€ํ„ฐ ๊ฐ€์ง€๋Š” ์žฅ์ ์€ ๋ฌด์—‡์ผ๊นŒ?
  • HTTP๋Š” TCP/IP ํ”„๋กœํ† ์ฝœ ์ƒ์œ„์—์„œ ๋™์ž‘ํ•˜๊ธฐ์— ๊ทธ ํŠน์„ฑ ๋˜ํ•œ ์‚ฌ์šฉ
  • TCP/IP์˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋กœ๋Š” ๋„์ฒญ ๋ฐ ์œ„์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ , ํ†ต์‹ ๊ฒฝ๋กœ ์ƒ์—์„œ ์—ฟ๋ณผ ์ˆ˜ ์žˆ๊ณ , ํŒจํ‚ท์„ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋„์ฒญ ๊ฐ€๋Šฅ
  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— HTTPS๋Š” ํ†ต์‹ ์ž์ฒด๋ฅผ ์•”ํ˜ธํ™”์‹œํ‚ค๋Š” SSL(Secure Socket Layer)๊ณผ TLS(Transport Layer Security)๋ผ๋Š” ๋‹ค๋ฅธ ํ”„๋กœํ† ์ฝœ์„ ์กฐํ•ฉํ•œ๋‹ค. ๋˜ํ•œ ์ปจํ…์ธ  ์ „์†ก์‹œ ๊ทธ๋ฅผ ์•”ํ˜ธํ™”์‹œํ‚จ๋‹ค.
  1. HTTPS ๊ตฌ์ถ• ๋ฐฉ๋ฒ•
  • ์ง์ ‘ CA์—์„œ ๊ตฌ๋งคํ•œ ์ธ์ฆํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•
  • ์„œ๋ฒ„ ์•ž๋‹จ์˜ HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‘์–ด ๊ตฌ์ถ•
  • ์„œ๋ฒ„ ์•ž๋‹จ์˜ HTTPS๋ฅผ ์ œ๊ณตํ•˜๋Š” CDN์„ ๋‘์–ด ๊ตฌ์ถ•
  1. ์ฟ ํ‚ค์™€ ์„ธ์…˜์˜ ์ฐจ์ด
  • ์ฟ ํ‚ค : ์‚ฌ์šฉ์ž ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹
  • ์„ธ์…˜ : ์‚ฌ์šฉ์ž ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹
  • ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋Š” ์„ธ์…˜์ด ๋ณด์•ˆ์ ์ธ ์ธก๋ฉด์—์„œ๋Š” ๋” ์šฐ์ˆ˜ํ•˜์ง€๋งŒ, ์†๋„์ ์ธ ์ธก๋ฉด์—์„œ๋Š” ์„œ๋ฒ„์—์„œ ์ถ”๊ฐ€์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์„ธ์…˜๋ณด๋‹ค ์ฟ ํ‚ค๊ฐ€ ๋” ๋น ๋ฅด๋‹ค.