TCPμ UDP
TCPμ UDPλ λͺ¨λ OSI 7κ³μΈ΅μ μ μ‘ κ³μΈ΅(4κ³μΈ΅)μμ λμνλ νλ‘ν μ½λ‘ λ€νΈμν¬λ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ λ μ΄λ€ λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό μ μ‘ν μ§λ₯Ό κ²°μ νλ νλ‘ν μ½λ€μ΄λ€.
λ λ€ μ μ‘ κ³μΈ΅(Transport Layer) μμ λμνλ€λ κ² μΈμ 곡ν΅μ μ ν¬νΈ λ²νΈλ₯Ό μ¬μ©ν΄ μ ν리μΌμ΄μ
μ μλ³νλ€λ μ κ³Ό (μ: HTTPλ 80λ², HTTPSλ 443λ², DNSλ 53λ²) μμ κ³μΈ΅(HTTP, DNS λ±)μμ λ΄λ €μ¨ λ°μ΄ν°λ₯Ό λ€νΈμν¬ κ³μΈ΅(IP)μ μ λ¬νλ€λ κ²μΌλ‘, βμ΄λ€ μ₯μΉλ‘ 보λΌμ§β λ₯Ό κ²°μ νλ κ²μ΄ IPλΌλ©΄ βμ΄λ€ μμ© μ΄ν리μΌμ΄μ
μΌλ‘ 보λΌμ§β λ₯Ό κ²°μ νλ 건 TCP/UDP μ΄λ€.
TCP β μ λ’°μ± μλ μ°κ²° μ§ν₯ νλ‘ν μ½
TCPλ Transmission Control Protocol(μ μ‘ μ μ΄ νλ‘ν μ½)μ μ½μλ‘ μ°κ²° μ§ν₯μ (Connection-Oriented) νλ‘ν μ½μ΄λ€.
TCPλ λ°μ΄ν°λ₯Ό 보λ΄κΈ° μ μ ν΅μ μ΄ μ΄λ£¨μ΄μ§ λ λ
Έλ κ°μ μ°κ²°μ μ€μ νλλ°, μ΄λ λ°μ΄ν°μ μμ 보μ₯, λ°μ΄ν° 무결μ±, μ λ’°μ± μλ λ°μ΄ν° μ μ‘μ κ°λ₯νκ² νλ€.
3-Way Handshake
TCPκ° μ°κ²°μ μμνλ κ³Όμ μΌλ‘ ν΄λΌμ΄μΈνΈμ μλ² κ° μΈλ²μ ν¨ν· κ΅νμ΄ μ΄λ£¨μ΄μ§λ€.
- ν΄λΌμ΄μΈνΈ β μλ²: SYN (μ°κ²° μμ²)
- μλ² β ν΄λΌμ΄μΈνΈ: SYN + ACK (μ°κ²° μΉμΈ)
- ν΄λΌμ΄μΈνΈ β μλ²: ACK (νμΈ)
SYNμ Synchronize Sequence Numbersμ μ½μλ‘ λκΈ°νλ₯Ό μν μνμ€ λ²νΈκ° λ΄κΈ΄ ν¨ν·μ΄λ©°, ACKμ Acknowledgementμ μ½μλ‘ μμ²μ λν νμΈμ μλ―Ένλ€. ACK ν¨ν·μλ SYNμ μνμ€ λ²νΈμ 1μ λν κ°μ μ λ¬νλλ° μ΄ κ³Όμ μ ν΅ν΄ μ°κ²°μ΄ ν립λλ©΄ λ°μ΄ν° μ μ‘μ΄ μμλλ€.
4-Way Handshake
TCPμμ μ°κ²°μ μ’
λ£νλ κ³Όμ μΌλ‘ ν΄λΌμ΄μΈνΈμ μλ² κ° λ€λ²μ ν¨ν· κ΅νμ΄ μ΄λ£¨μ΄μ§λ€.
- ν΄λΌμ΄μΈνΈ β μλ²: FIN (μ°κ²° ν΄μ μμ²)
- μλ² β ν΄λΌμ΄μΈνΈ: ACK (μμ² νμΈ)
- μλ² β ν΄λΌμ΄μΈνΈ: FIN (ν΄μ μΉμΈ)
- ν΄λΌμ΄μΈνΈ β μλ²: ACK (νμΈ)
FINμ Finishμ μ½μλ‘ μ μμ λκΈ° μν μ€λΉκ° λμμμ λνλΈλ€. ν΄λΌμ΄μΈνΈ μͺ½μμ λ¨Όμ ν΄μ μ€λΉλ₯Ό νκ³ μλ²μ μμ²μ 보λ΄λ©΄ μλ²μμλ μ΄μ λν νμΈκ³Ό ν¨κ» ν΄λΌμ΄μΈνΈλ‘ λ³΄λΌ λ¨μ λ°μ΄ν°κ° μμ κ²½μ° λλ¨Έμ§λ₯Ό λͺ¨λ μ μ‘μν¨λ€. μ΄ν μλ²μμλ λ μ΄μ λ³΄λΌ λ°μ΄ν°κ° μμΌλ©΄ ν΄μ μ€λΉκ° λμμμ μλ¦¬κ³ ν΄λΌμ΄μΈνΈμμ μ΅μ’
νμΈμ΄ μ΄λ£¨μ΄μ§λ©΄ μ°κ²°μ΄ μ’
λ£λλ€.
μ₯μ
- μ λ’°μ± λ³΄μ₯ β λ°μ΄ν°κ° λͺ©μ μ§μ μμλλ‘ λμ°©νλμ§ νμΈνκ³ , μμ€ μ μ¬μ μ‘
- μ°κ²° κ΄λ¦¬ β μΈμ κ°λ μ΄ μμ΄ μ λμ΄ μνλ₯Ό μΈμ§νκ³ λ°μ΄ν°κ° μ¨μ ν λͺ©μ μ§μ μ λ¬λλλ‘ λ³΄μ₯
- νΌμ‘ μ μ΄ β λ€νΈμν¬ μ©λμ λ°λΌ λ°μ΄ν° μ μ‘ μλλ₯Ό μ€μ
- νλ¦ μ μ΄ β μμ μμ λ²νΌ μνμ λ°λΌ μλλ₯Ό μ‘°μ
λ¨μ
- μ€λ²ν€λ νΌ β μ°κ²° μ립/μ’ λ£ κ³Όμ μ΄ νμ
- μ§μ° μκ° λ°μ β μ¬μ μ‘Β·νΌμ‘μ μ΄ λλ¬Έμ λλ €μ§ μ μμ
UDP β λΉ λ₯΄κ³ λ¨μν λΉμ°κ²°ν νλ‘ν μ½
UDPλ User Datagram Protocol(μ¬μ©μ λ°μ΄ν°κ·Έλ¨ νλ‘ν μ½)μ μ½μλ‘ λΉμ°κ²°ν(Connectionless) νλ‘ν μ½μ΄λ€.
λΉμ°κ²°νμ΄κΈ° λλ¬Έμ λ
Έλ κ° μ¬μ μ°κ²°μ μ€μ νμ§ μμΌλ©° λ°μ΄ν° μ μ‘ ν μμ μ¬λΆμ λν΄μλ νμΈνμ§ μλλ€. κ·Έ λμ μλκ° λΉ λ₯Έ κ²μ΄ μ₯μ μ΄λ€.
λμ λ°©μ
- λ°μ΄ν°λ₯Ό κ·Έλλ‘ μΊ‘μνν΄ IPμ μ λ¬
- μ‘μ μΈ‘μ λ°μλμ§ νμΈνμ§ μμ
- μμ 보μ₯λ μκ³ , μ¬μ μ‘λ μμ
μ₯μ
- μ°κ²° μ립·μ¬μ μ‘ κ³Όμ μ΄ μκ³ λ μμ ν¨ν·μ λ μ μ μ€λ²ν€λλ‘ μ μ‘νκΈ° λλ¬Έμ μλκ° λΉ λ¦
- μΌλΆ ν¨ν·μ΄ μμ€λλλΌλ μ 체 μ μ‘μ΄ μ€λ¨λμ§ μμ
- λΈλ‘λμΊμ€νΈ λ° λ©ν°μΊμ€νΈ κΈ°λ₯μ ν΅ν΄ νλμ UDP μ μ‘μ μ¬λ¬ μμ μμκ² μ μ‘ν μ μμ
λ¨μ
- ν¨ν·μ λμ°© μμκ° μ ν΄μ§μ§ μμ
- λ°μ΄ν° ν¨ν·μ΄ λͺ©μ μ§μ μ±κ³΅μ μΌλ‘ λλ¬νλμ§, μμ€ μμ΄ μ¨μ ν μ λ¬λμλμ§ λ³΄μ₯λμ§ μμ μ λ’°μ±μ΄ μμ
- μ μ΄μ λ‘ μ¬μ μ‘μ΄ νμν κ²½μ° μ΄ν리μΌμ΄μ μμ μ§μ μ¬μ μ‘ λ‘μ§μ ꡬνν΄μΌν¨
- λΌμ°ν°κ° λ°μ΄ν° ν¨ν·μ μ°μ μμλ₯Ό μ ν κ²½μ° UDP λ³΄λ€ TCPλ₯Ό μ°μ μν κ°λ₯μ±μ΄ λμ
μ¬μ© μΌμ΄μ€
- TCP
- μΉ μμ²/μλ΅ (HTTP, HTTPS)
- κΈμ΅ μλΉμ€, νμΌ μ μ‘ β μ λ μμ€λλ©΄ μ λλ κ²½μ°
- UDP
- μ€μκ° μ€νΈλ¦¬λ°, νμνμ, μ¨λΌμΈ κ²μ β λΉ λ₯Έ λ°μμ΄ μ€μν κ²½μ°
- DNS 쿼리 β μμ μμ²/μλ΅, μ§μ° μ΅μν
Β