๐Ÿ’ป
ComputerScience
  • ๋ชฉ์ฐจ
  • Operating System
    • ์šด์˜์ฒด์ œ๋ž€
    • ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ
    • ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„
    • ์ธํ„ฐ๋ŸฝํŠธ(Interrupt)
    • ์‹œ์Šคํ…œ ์ฝœ(System Call)
    • PCB์™€ Context Switching
    • IPC(Inter Process Communication)
    • CPU ์Šค์ผ€์ค„๋ง
    • ๋ฐ๋“œ๋ฝ(DeadLock)
    • Race Condition
    • ์„ธ๋งˆํฌ์–ด(Semaphore) & ๋ฎคํ…์Šค(Mutex)
    • ํŽ˜์ด์ง• & ์„ธ๊ทธ๋จผํ…Œ์ด์…˜
    • ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋ฉ”๋ชจ๋ฆฌ(Memory)
    • ํŒŒ์ผ ์‹œ์Šคํ…œ
  • Network
    • OSI 7 ๊ณ„์ธต
    • TCP 3 way handshake & 4 way handshake
    • TCP/IP ํ๋ฆ„์ œ์–ด & ํ˜ผ์žก์ œ์–ด
    • UDP
    • ๋Œ€์นญํ‚ค & ๊ณต๊ฐœํ‚ค
    • HTTP & HTTPS
    • TLS/SSL handshake
    • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(Load Balancing)
    • Blocking,Non-blocking & Synchronous,Asynchronous @LifesLike
    • Blocking & Non-Blocking I/O
  • Algorithm
    • ๊ฑฐํ’ˆ ์ •๋ ฌ(Bubble Sort)
    • ์„ ํƒ ์ •๋ ฌ(Selection Sort)
    • ์‚ฝ์ž… ์ •๋ ฌ(Insertion Sort)
    • ํ€ต ์ •๋ ฌ(Quick Sort) @mimwin
    • ๋ณ‘ํ•ฉ ์ •๋ ฌ(Merge Sort)
    • ํž™ ์ •๋ ฌ(Heap Sort)
    • ๊ธฐ์ˆ˜ ์ •๋ ฌ(Radix Sort)
    • ๊ณ„์ˆ˜ ์ •๋ ฌ(Count Sort)
    • ์ด๋ถ„ ํƒ์ƒ‰(Binary Search)
    • ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ตฌํ˜„
    • DFS & BFS @sujin-kk
    • ์ตœ์žฅ ์ฆ๊ฐ€ ์ˆ˜์—ด(LIS)
    • ์ตœ์†Œ ๊ณตํ†ต ์กฐ์ƒ(LCA)
    • ๋™์  ๊ณ„ํš๋ฒ•(Dynamic Programming)
    • ๋‹ค์ต์ŠคํŠธ๋ผ(Dijkstra) ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๋น„ํŠธ๋งˆ์Šคํฌ(BitMask)
  • Database
    • ํ‚ค(Key) ์ •๋ฆฌ
    • SQL - JOIN
    • SQL Injection
    • SQL vs NoSQL
    • ์ •๊ทœํ™”(Nomalization)
    • ์ด์ƒ(Anomaly)
    • ์ธ๋ฑ์Šค(INDEX)
    • ํŠธ๋žœ์žญ์…˜(Transaction)
    • ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€(Transaction Isolation Level)
    • ์ €์žฅ ํ”„๋กœ์‹œ์ €(Stored PROCEDURE)
    • ๋ ˆ๋””์Šค(Redis) @sujin-kk
  • Java
    • Java ์ปดํŒŒ์ผ ๊ณผ์ •
    • Call by Value vs Call by Reference
    • String & StringBuffer & StringBuilder
    • ์ž๋ฐ” ๊ฐ€์ƒ ๋จธ์‹ (Java Virtual Machine)
    • Casting(์—…์บ์ŠคํŒ… & ๋‹ค์šด์บ์ŠคํŒ…)
    • ์˜คํ†  ๋ฐ•์‹ฑ & ์˜คํ† ์–ธ๋ฐ•์‹ฑ
    • Thread ํ™œ์šฉ
    • ๊ณ ์œ  ๋ฝ(Intrinsic Lock)
    • ๋ฌธ์ž์—ด ํด๋ž˜์Šค
    • Garbage Collection
    • Promotion & Casting
    • Primitive type & Reference type
    • ์ง๋ ฌํ™”(Serialization)
    • Error & Exception
    • Stream API
    • Record
    • Composition
Powered by GitBook
On this page
  • UDP์˜ ํŠน์ง•
  • TCP์™€์˜ ์ฐจ์ด์ 
  • UDP ์‚ฌ์šฉ ์˜ˆ์‹œ
  • DNS
  • ์˜จ๋ผ์ธ ๊ฒŒ์ž„
  • ๋น„๋””์˜ค/์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ
  • HTTP/3
  1. Network

UDP

PreviousTCP/IP ํ๋ฆ„์ œ์–ด & ํ˜ผ์žก์ œ์–ดNext๋Œ€์นญํ‚ค & ๊ณต๊ฐœํ‚ค

Last updated 2 years ago

UDP๋ž€? User Datagram Protocol

tcp-ip-layers

TCP์™€ ํ•จ๊ป˜ Transport ๊ณ„์ธต์„ ๊ตฌ์„ฑํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

UDP์˜ ํŠน์ง•

  • ๋น„ ์—ฐ๊ฒฐํ˜• ํ”„๋กœํ† ์ฝœ์ด๋‹ค. (Connectionless)

  • ์‹ ๋ขฐ์„ฑ์ด ์—†๋‹ค. (Unreliable)

  • TCP์—์„œ ์ œ๊ณตํ•˜๋˜ ๊ฑฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ๊ฐ€๋ณ๊ณ  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.

TCP์™€์˜ ์ฐจ์ด์ 

  • ๋ฐ์ดํ„ฐ ์ „์†ก ์ „ ์—ฐ๊ฒฐ ๋‹จ๊ณ„๊ฐ€ ์—†๊ณ  ๋ฐ”๋กœ ์ „์†ก์„ ์‹œ์ž‘ํ•œ๋‹ค.

    • c.f) TCP๋Š” handshake ๋ฅผ ๋จผ์ € ๊ฑฐ์นœ๋‹ค.

  • ํ—ค๋” ํฌ๊ธฐ๊ฐ€ 8 ๋ฐ”์ดํŠธ๋กœ ๊ณ ์ •๋˜์–ด์žˆ๋‹ค.

    • c.f) TCP๋Š” 20 ~ 60 ๋ฐ”์ดํŠธ์˜ ํ—ค๋” ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

  • ํŒจํ‚ท์˜ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • Receiver๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐ›์•˜๋Š”์ง€ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค.

UDP ์‚ฌ์šฉ ์˜ˆ์‹œ

DNS

์šฐ๋ฆฌ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์— www.naver.com ์„ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋กœ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ํ•ด๋‹น ๋„๋ฉ”์ธ์— ์‹ค์ œ๋กœ ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผ ์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค๊ฐ€ DNS์ด๋‹ค. DNS๊ฐ€ UDP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ๋‹ค.

  • DNS ์„œ๋ฒ„๊ฐ€ TCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚œ๋‹ค.

  • DNS ์„œ๋ฒ„๊ฐ€ TCP๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ๊ณ„์† ๋งบ๊ณ  ์žˆ์„ ํ•„์š”๊ฐ€ ์—†๋‹ค.

  • DNS ์งˆ์˜๋Š” ๋Œ€๋ถ€๋ถ„ ์•„์ฃผ ์ž‘์€ ํฌ๊ธฐ์ด๊ธฐ ๋•Œ๋ฌธ์— UDP ์„ธ๊ทธ๋จผํŠธ ์‚ฌ์ด์ฆˆ์— ์•Œ๋งž๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค DNS์—์„œ TCP๋„ ์‚ฌ์šฉํ•œ๋‹ค. ์‘๋‹ต์˜ ๊ธธ์ด๊ฐ€ 512 ๋ฐ”์ดํŠธ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ ๋˜๋Š” DNS ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ TCP๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‹ค์‹œ ์š”์ฒญํ•œ๋‹ค.

์ฐธ๊ณ  DNS ์‘๋‹ต์ด 512 ๋ฐ”์ดํŠธ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ

DNS ์„œ๋ฒ„๋Š” ์ผ์ข…์˜ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. Slave ์„œ๋ฒ„๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ Master ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ํŒŒ์ผ์„ ๋น„๊ตํ•˜๊ณ  ์ตœ์‹ ํ™” ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•œ๋ฐ ์ด๋ฅผ Zone Transfer๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ์ •๋ณด๋ฅผ ๋ณต์‚ฌํ•ด์˜จ๋‹ค.

๋˜ IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 512 ๋ฐ”์ดํŠธ๋ฅผ ๋„˜๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค.

์–ด๋–ค ์ฟผ๋ฆฌ์˜ ๋ฆฌํ„ด์€ TXT ๋ ˆ์ฝ”๋“œ (Site Verification, Spam Detectipn ๋“ฑ) ๊ฐ€ ๋‚˜๊ฐ€๊ธฐ๋„ ํ•œ๋‹ค.

DNS ๋ณด์•ˆ์„ ์œ„ํ•œ DNSSEC์ด ์„ธํŒ…๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์•”ํ˜ธ ํ‚ค, ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์‘๋‹ต ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค.

DNS ํŒจํ‚ท ์‚ฌ์ด์ฆˆ ๋ฌธ์ œ๋Š” ์‚ฌ์‹ค ์˜ค๋ž˜์ „๋ถ€ํ„ฐ ๋‚˜์™”๋˜ ์ด์•ผ๊ธฐ์ด๊ณ  ํ”„๋กœํ† ์ฝœ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ํ‚ค์šด EDNS (Extension Mechanism for DNS) ๊ฐ€ ์ œ์•ˆ๋˜๊ธด ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋„๋ฆฌ ์ ์šฉ๋˜์ง€๋Š” ์•Š์•˜๋‹ค.

์˜จ๋ผ์ธ ๊ฒŒ์ž„

์˜จ๋ผ์ธ ๊ฒŒ์ž„์—์„œ๋Š” TCP๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ๊ธฐ๋Š” ๋”œ๋ ˆ์ด๊ฐ€ (๋น„๋ก ์‹ ๋ขฐ์„ฑ์€ ๋†’์ง€๋งŒ) UX์— ์‹ฌ๊ฐํ•œ ์•…์˜ํ–ฅ์„ ๋ผ์นœ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด FPS ๊ฒŒ์ž„์—์„œ ์ด์•Œ์˜ ๋ฐœ์‚ฌ, ์บ๋ฆญํ„ฐ์˜ ์›€์ง์ž„ ๋“ฑ์€ ์ „๋ถ€ UDP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋งŒ์•ฝ ์‹ ๋ขฐ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค๋ฉด TCP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ UDP ์œ„์— ์ง์ ‘ ๊ตฌํ˜„ํ•œ๋‹ค.

๋น„๋””์˜ค/์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ

UDP๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ๊ธฐ๋Š” ์•ฝ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์ดˆ๋‹น 60 ํ”„๋ ˆ์ž„์œผ๋กœ ์žฌ์ƒ๋˜๋Š” ์˜์ƒ์—์„œ ํ•œ ๋‘ ํ”„๋ ˆ์ž„์— ๋ฐ์ดํ„ฐ ์†์‹ค์ด ์ผ์–ด๋‚œ๋‹ค๊ณ  ํ•ด๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ์•„์ฐจ๋ฆฌ๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค.

HTTP/3

2022๋…„ 6์›” ํ‘œ์ค€ํ™”๋œ HTTP/3 ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ์ € ํ”„๋กœํ† ์ฝœ๋กœ ์ด์ „ ๋ฒ„์ „๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋˜ TCP ํ”„๋กœํ† ์ฝœ ๋Œ€์‹  UDP๋ฅผ ์ฑ„ํƒํ–ˆ๋‹ค.

#CS ์Šคํ„ฐ๋””/๋„คํŠธ์›Œํฌ/UDP#

tcp-header
udp-header

tcp-tls
http-request-over-quic@2x
image
image
image