πŸ”” TCP/IP λͺ¨λΈμ˜ κ°œλ…κ³Ό λ™μž‘ 원리
πŸ”” TCP/IP λͺ¨λΈ 계측별 νŠΉμ§•
πŸ”” TCP와 IP 비ꡐ

What? Why?

OSI 7 Layer λͺ¨λΈμ΄ 이둠적 λͺ¨λΈλ‘œ λ§Œλ“€μ–΄μ§„ 것에 λΉ„ν•΄ TCP/IP 4 layer λͺ¨λΈμ€ μ‹€μ œ 인터넷 ν”„λ‘œν† μ½œμ„ λ°˜μ˜ν•˜μ—¬ μ‹€μš©μ μœΌλ‘œ μ„€κ³„λ˜μ—ˆλ‹€.

OSI λͺ¨λΈκ³Όμ˜ 차이점

Application

OSI λͺ¨λΈμ—μ„œ μƒμœ„ 3개의 계측이 ν†΅ν•©λœ λͺ¨μŠ΅μΈλ°, μ‹€μ œ λ„€νŠΈμ›Œν¬μ—μ„œλŠ” OSI λͺ¨λΈμ˜ 각 계측이 λ°˜λ“œμ‹œ ꡬ뢄될 ν•„μš”κ°€ μ—†λ‹€. κΈ°λŠ₯이 μ€‘λ³΅λ˜κ±°λ‚˜ λ³΅μž‘ν•΄μ§€κΈ° λ•Œλ¬Έμ— λ‹¨μˆœν™”κ°€ ν•„μš”ν–ˆλ‹€.

Network Access

OSI λͺ¨λΈμ—μ„œ 물리 계측이 λΉ μ§„ λͺ¨μŠ΅μΈλ°, 물리적 전솑 맀체와 데이터(Frame)λ₯Ό ν•˜λ‚˜μ˜ κ³„μΈ΅μ—μ„œ κ΄€λ¦¬ν•¨μœΌλ‘œμ¨ 섀계λ₯Ό λ‹¨μˆœν™”ν•˜κ³ , λ‹€μ–‘ν•œ 물리 맀체에 λŒ€ν•œ ν˜Έν™˜μ„±μ„ λ†’μ˜€λ‹€.

계측별 νŠΉμ§•

L4, Application

  • μ‚¬μš©μžμ™€ λ„€νŠΈμ›Œν¬ κ°„μ˜ μΈν„°νŽ˜μ΄μŠ€ 제곡
  • 이메일, 파일 전솑, μ›Ή λΈŒλΌμš°μ§• λ“± 지원
  • HTTP, FTP, SMTP, DNS

L3, Transport

  • 호슀트 κ°„μ˜ 데이터 전솑을 관리
  • 데이터λ₯Ό νŒ¨ν‚·μœΌλ‘œ λΆ„ν• , 전솑, 재쑰립, 였λ₯˜ κ²€μΆœ 및 볡ꡬλ₯Ό λ‹΄λ‹Ή
  • TCP, UDP

L2, Internet

  • λ„€νŠΈμ›Œν¬ κ°„μ˜ 데이터 νŒ¨ν‚·μ„ 전달
  • IP μ£Όμ†Œ μ§€μ •, λΌμš°νŒ…, νŒ¨ν‚· ν¬μ›Œλ”©μ„ λ‹΄λ‹Ή
  • IP, ICMP, ARP

L1, Network Access

  • 물리적 λ„€νŠΈμ›Œν¬ 맀체λ₯Ό 톡해 데이터 전솑
  • λ°μ΄ν„°μ˜ 물리적 전솑, ν”„λ ˆμ΄λ°(Framing), 였λ₯˜ κ²€μΆœμ„ λ‹΄λ‹Ή
  • Ethernet, Wi-Fi

TCP vs IP

TCP/IP의 μ£Όμš” μž‘μ—…μ€ 데이터λ₯Ό λ‹€λ₯Έ μž₯치둜 μ „μ†‘ν•˜λŠ” 것인데, μ€‘μš”ν•œ 것은 데이터λ₯Ό μ •ν™•ν•˜κ²Œ μ „λ‹¬ν•˜μ—¬ μˆ˜μ‹  μΈ‘κ³Ό λ°œμ‹  츑의 데이터가 λ™μΌν•˜λ„λ‘ ν•˜λŠ” 것이닀.
이 κ³Όμ •μ—μ„œ IPλŠ” 데이터λ₯Ό λͺ©μ μ§€κΉŒμ§€ μ „λ‹¬ν•˜λŠ” 역할을 ν•˜κ³ , TCPλŠ” κ·Έ 데이터가 μ •ν™•ν•˜κ²Œ μ „λ‹¬λ˜λ„λ‘ 보μž₯ν•œλ‹€. 이 두 ν”„λ‘œν† μ½œμ΄ ν•¨κ»˜ μž‘λ™ν•˜μ—¬ μ‹ λ’°μ„± μžˆλŠ” 톡신이 κ°€λŠ₯ν•˜κ²Œ λœλ‹€.

TCP(Transmission Control Protocol)

  • λ°μ΄ν„°μ˜ μ‹ λ’°μ„± μžˆλŠ” 전솑 보μž₯
  • μ—°κ²° μ„€μ •, 데이터 전솑 확인, μ†μ‹€λœ νŒ¨ν‚· μž¬μ „μ†‘
  • μ—°κ²°ν˜• ν”„λ‘œν† μ½œ, 무결성 보μž₯, 속도 느림

IP(Internet Protocol)

  • 데이터 νŒ¨ν‚·μ˜ μ£Όμ†Œ μ§€μ •κ³Ό 전달
  • 경둜 μ„€μ •, 데이터 νŒ¨ν‚· λΌμš°νŒ…
  • λΉ„μ—°κ²°ν˜• ν”„λ‘œν† μ½œ, 무결성 보μž₯ λͺ»ν•¨, 속도 빠름

λ™μž‘ 원리

TCP/IP λͺ¨λΈμ€ μ ˆμ°¨μ— 따라 ν•΄λ‹Ή 데이터λ₯Ό νŒ¨ν‚·μœΌλ‘œ λ‚˜λˆˆλ‹€.
이후 ν•œ μˆœμ„œλ‘œ 계측을 거친 λ‹€μŒ μˆ˜μ‹  μΈ‘μ—μ„œ 데이터가 λ‹€μ‹œ μ‘°λ¦½λ˜λ©΄μ„œ μ—­μˆœμœΌλ‘œ μ΄λ™ν•œλ‹€.

❗ 그림에 μžˆλŠ” 숫자 λ²ˆν˜Έκ°€ Layer 번호λ₯Ό μ˜λ―Έν•˜λŠ” 것이 μ•„λ‹˜

🌐 흐름도

                          μ›Ήμ‚¬μ΄νŠΈ μ ‘κ·Ό 전체 κ³Όμ •(www.google.com μ˜ˆμ‹œ)
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                              ν΄λΌμ΄μ–ΈνŠΈ μ˜μ—­                               β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  1. μ‚¬μš©μžκ°€ λΈŒλΌμš°μ €μ— URL μž…λ ₯                                            β”‚
    β”‚     πŸ”— www.google.com                                                   β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  2. λΈŒλΌμš°μ € DNS μΊμ‹œ 확인                                                 β”‚
    β”‚     πŸ’Ύ λΈŒλΌμš°μ € μΊμ‹œ β†’ OS μΊμ‹œ β†’ 둜컬 DNS μΊμ‹œ                              β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                              β”‚   μΊμ‹œ 히트?       β”‚
                              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   YES  β”‚  NO
                                        β–Ό
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                               DNS μ‹œμŠ€ν…œ                                  β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  3. 둜컬 DNS μ„œλ²„μ— 질의                                                   β”‚
    β”‚     πŸ” DNS Query: www.google.com                                        β”‚
    β”‚     πŸ“ OSI Layer 7 (Application) / UDP Port 53                          β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  4. 루트 DNS μ„œλ²„ 질의                                                    β”‚
    β”‚     🌐 Root DNS Server (.com TLD 정보 λ°˜ν™˜)                              β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  5. TLD DNS μ„œλ²„ 질의                                                     β”‚
    β”‚     πŸ”— .com TLD Server (google.com κΆŒν•œ μ„œλ²„ 정보 λ°˜ν™˜)                   β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  6. κΆŒν•œ μžˆλŠ” DNS μ„œλ²„ 질의                                                β”‚
    β”‚     πŸ“§ google.com DNS Server                                            β”‚
    β”‚     πŸ’‘ IP μ£Όμ†Œ λ°˜ν™˜: 142.250.190.78                                      β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                             λ„€νŠΈμ›Œν¬ μ—°κ²°                                  β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  7. TCP 3-Way Handshake                                                 β”‚
    β”‚     🀝 ν΄λΌμ΄μ–ΈνŠΈ β†’ μ„œλ²„                                                  β”‚
    β”‚         SYN β†’                                                           β”‚
    β”‚         ← SYN + ACK                                                     β”‚
    β”‚         ACK β†’                                                           β”‚
    β”‚     πŸ“ OSI Layer 4 (Transport) / Port: 443 (HTTPS)                      β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  8. TLS/SSL Handshake (HTTPS인 경우)                                     β”‚
    β”‚     πŸ” μ•”ν˜Έν™” μ—°κ²° μ„€μ •                                                   β”‚
    β”‚         β€’ μΈμ¦μ„œ 검증                                                     β”‚
    β”‚         β€’ μ•”ν˜Έν™” μ•Œκ³ λ¦¬μ¦˜ ν˜‘μƒ                                             β”‚
    β”‚         β€’ μ„Έμ…˜ ν‚€ κ΅ν™˜                                                    β”‚
    β”‚     πŸ“ OSI Layer 5 (Session) / TLS 1.3                                  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                            μ„œλ²„ 인프라                                     β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  9. λ‘œλ“œλ°ΈλŸ°μ„œ & CDN                                                      β”‚
    β”‚     βš–οΈ  νŠΈλž˜ν”½ λΆ„μ‚° 및 μ§€μ—­ μ΅œμ ν™”                                         β”‚
    β”‚     🌍 κ°€μž₯ κ°€κΉŒμš΄ μ„œλ²„λ‘œ λΌμš°νŒ…                                           β”‚
    β”‚     πŸ“ OSI Layer 7 (Application)                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  10. HTTP μš”μ²­ 전솑                                                       β”‚
    β”‚      πŸ“€ GET / HTTP/2                                                    β”‚
    β”‚          Host: www.google.com                                           β”‚
    β”‚          User-Agent: Chrome/120.0                                       β”‚
    β”‚          Accept: text/html,application/xhtml+xml                        β”‚
    β”‚      πŸ“ OSI Layer 7 (Application)                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  11. μ›Ήμ„œλ²„ μš”μ²­ 처리                                                     β”‚
    β”‚      πŸ–₯️  Apache/Nginxκ°€ μš”μ²­ μˆ˜μ‹                                         β”‚
    β”‚      πŸ“ OSI Layer 7 (Application)                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  12. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ„œλ²„ 처리                                                β”‚
    β”‚      βš™οΈ  λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 μ‹€ν–‰                                               β”‚
    β”‚      πŸ“Š ν•„μš”μ‹œ λ°μ΄ν„°λ² μ΄μŠ€ 쑰회                                           β”‚
    β”‚      πŸ“ OSI Layer 7 (Application)                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  13. HTTP 응닡 생성 및 전솑                                               β”‚
    β”‚      πŸ“¨ HTTP/2 200 OK                                                  β”‚
    β”‚          Content-Type: text/html; charset=UTF-8                         β”‚
    β”‚          Content-Encoding: gzip                                         β”‚
    β”‚          + HTML 데이터                                                   β”‚
    β”‚      πŸ“ OSI Layer 7 (Application)                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                           λΈŒλΌμš°μ € λ Œλ”λ§                                  β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  14. HTML νŒŒμ‹± 및 DOM 생성                                                β”‚
    β”‚      πŸ” HTML λ¬Έμ„œ νŒŒμ‹±                                                   β”‚
    β”‚      🌳 DOM 트리 ꡬ성                                                    β”‚
    β”‚      πŸ“ Browser Rendering Engine                                        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  15. CSS νŒŒμ‹± 및 CSSOM 생성                                               β”‚
    β”‚      🎨 CSS μŠ€νƒ€μΌμ‹œνŠΈ νŒŒμ‹±                                               β”‚
    β”‚      πŸ“ CSSOM 트리 ꡬ성                                                  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  16. μΆ”κ°€ λ¦¬μ†ŒμŠ€ 병렬 λ‹€μš΄λ‘œλ“œ                                              β”‚
    β”‚      ⚑ HTTP/2 λ©€ν‹°ν”Œλ ‰μ‹± ν™œμš©                                            β”‚
    β”‚         β€’ JavaScript 파일                                                β”‚
    β”‚         β€’ 이미지 파일                                                     β”‚
    β”‚         β€’ 폰트 파일                                                       β”‚
    β”‚         β€’ 기타 CSS 파일                                                   β”‚
    β”‚      πŸ“ OSI Layer 7 (Application)                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  17. λ Œλ” 트리 ꡬ성 및 λ ˆμ΄μ•„μ›ƒ                                             β”‚
    β”‚      πŸ–ΌοΈ  DOM + CSSOM = λ Œλ” 트리                                         β”‚
    β”‚      πŸ“ λ ˆμ΄μ•„μ›ƒ 계산 (λ¦¬ν”Œλ‘œμš°)                                           β”‚
    β”‚      🎨 νŽ˜μΈνŒ… (리페인트)                                                 β”‚
    β”‚      πŸ”§ μ»΄ν¬μ§€νŒ…                                                         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  18. JavaScript μ‹€ν–‰                                                     β”‚
    β”‚      ⚑ DOM μ‘°μž‘ 및 이벀트 처리                                           β”‚
    β”‚      πŸ”„ AJAX μš”μ²­ (ν•„μš”μ‹œ)                                               β”‚
    β”‚      πŸ“ Browser JavaScript Engine                                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    ╔══════════════════════════════════════════════════════════════════════════╗
    β•‘                             μ—°κ²° 정리                                     β•‘
    β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
                                        β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  19. μ—°κ²° 관리                                                            β”‚
    β”‚      πŸ”„ HTTP Keep-Alive (μ—°κ²° μœ μ§€) λ˜λŠ”                                  β”‚
    β”‚      πŸ‘‹ TCP 4-Way Handshake (μ—°κ²° μ’…λ£Œ)                                  β”‚
    β”‚         FIN β†’                                                           β”‚
    β”‚         ← ACK                                                           β”‚
    β”‚         ← FIN                                                           β”‚
    β”‚         ACK β†’                                                           β”‚
    β”‚      πŸ“ OSI Layer 4 (Transport)                                         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        β”‚
                                        β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  πŸŽ‰ μ›ΉνŽ˜μ΄μ§€ λ‘œλ”© μ™„λ£Œ!                                                   β”‚
    β”‚      πŸ‘€ μ‚¬μš©μžκ°€ ꡬ글 ν™ˆνŽ˜μ΄μ§€λ₯Ό λ³Ό 수 있음                                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ 데이터 흐름 뢄석

ν΄λΌμ΄μ–ΈνŠΈ ────DNS μ§ˆμ˜β”€β”€β”€β–Ί DNS μ„œλ²„λ“€ ────IP 응닡───► ν΄λΌμ΄μ–ΈνŠΈ
    β”‚                                                      β”‚
    └──────────────── TCP/TLS μ—°κ²° μ„€μ • β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚                                                      β”‚
    └─────────── HTTP μš”μ²­/응닡 (μ–‘λ°©ν–₯ 톡신) β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ—οΈ λ„€νŠΈμ›Œν¬ μŠ€νƒλ³„ 처리

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 계측 (L7) β”‚ HTTP, DNS, TLS ν•Έλ“œμ…°μ΄ν¬
μ„Έμ…˜ 계측 (L5)        β”‚ TLS/SSL μ•”ν˜Έν™”
전솑 계측 (L4)        β”‚ TCP μ—°κ²° 관리
λ„€νŠΈμ›Œν¬ 계측 (L3)     β”‚ IP λΌμš°νŒ…
데이터링크 계측 (L2)   β”‚ MAC μ£Όμ†Œ λ§€ν•‘
물리 계측 (L1)        β”‚ μ‹€μ œ λ„€νŠΈμ›Œν¬ 전솑

⏱️ μ‹œκ°„λ³„ 처리 μˆœμ„œ

DNS 해석 (1-100ms) β†’ TCP μ—°κ²° (10-100ms) β†’ TLS ν•Έλ“œμ…°μ΄ν¬ (50-200ms)
β†’ HTTP μš”μ²­/응닡 (10-500ms) β†’ λΈŒλΌμš°μ € λ Œλ”λ§ (100-2000ms)

πŸš€ μ„±λŠ₯ μ΅œμ ν™” 포인트

  • DNS 캐싱: 반볡 질의 μ‹œκ°„ 단좕
  • HTTP/2 λ©€ν‹°ν”Œλ ‰μ‹±: 병렬 λ¦¬μ†ŒμŠ€ λ‹€μš΄λ‘œλ“œ
  • CDN ν™œμš©: 지역별 μ„œλ²„ λΆ„μ‚°
  • Keep-Alive: TCP μ—°κ²° μž¬μ‚¬μš©
  • μ••μΆ•: Gzip/Brotli둜 전솑 데이터 크기 κ°μ†Œ

πŸ”’ λ³΄μ•ˆ μš”μ†Œ

  • HTTPS/TLS: 데이터 μ•”ν˜Έν™”
  • μΈμ¦μ„œ 검증: μ„œλ²„ 신원 확인
  • HSTS: κ°•μ œ HTTPS μ—°κ²°
  • CSP: μ½˜ν…μΈ  λ³΄μ•ˆ μ •μ±…

자료 좜처

Geeksforgeeks
AVG
Tistory
ChatGPT