[Computer Science][Network] πŸ’‘ μ™„λ²½ν•œ TCP νλ¦„μ œμ–΄μ™€ ν˜Όμž‘μ œμ–΄ μ΄ν•΄ν•˜κΈ°: λ„€νŠΈμ›Œν¬ μ•ˆμ •μ„±μ˜ 핡심 기술

κΉ€μƒμš±Β·2024λ…„ 8μ›” 17일
post-thumbnail

πŸ’‘ TCP (νλ¦„μ œμ–΄/ν˜Όμž‘μ œμ–΄)


πŸš€ λ“€μ–΄κ°€κΈ° μ „

  • TCP(Transmission Control Protocol) ν†΅μ‹ μ΄λž€?
    • λ„€νŠΈμ›Œν¬ ν†΅μ‹ μ—μ„œ μ—°κ²° μ§€ν–₯적 ν”„λ‘œν† μ½œμ΄λ©°, μ΄λŠ” 데이터 전솑 전에 μ†‘μ‹ μžμ™€ μˆ˜μ‹ μž 간에 연결을 μ„€μ •ν•˜κ³  데이터가 μ •ν™•ν•˜κ²Œ λ„μ°©ν–ˆλŠ”μ§€λ₯Ό ν™•μΈν•˜λŠ” 신뒰적인 μ—°κ²° 방식을 μ§€λ‹ˆκ³  μžˆλ‹€.
    • TCPλŠ” 기본적으둜 데이터 전솑 쀑에 νŒ¨ν‚·μ΄ μ†μ‹€λ˜κ±°λ‚˜ μ€‘λ³΅λ˜κ±°λ‚˜, μˆœμ„œκ°€ λ’€λ°”λ€” 수 μžˆλŠ” unreliable network ν™˜κ²½μ—μ„œ, reliable networkλ₯Ό 보μž₯ν•  수 μžˆλ„λ‘ ν•˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. 즉 데이터가 μ†μ‹€λ˜λ©΄ μž¬μ „μ†‘ν•˜κ³ , λ„μ°©ν•œ λ°μ΄ν„°μ˜ μˆœμ„œλ₯Ό λ§žμΆ”λ©°, μ€‘λ³΅λœ 데이터λ₯Ό μ œκ±°ν•˜μ—¬ μ΅œμ’…μ μœΌλ‘œ 데이터λ₯Ό μ™„μ „ν•˜κ³  μ •ν™•ν•˜κ²Œ μˆ˜μ‹ μžμ—κ²Œ μ „λ‹¬ν•©λ‹ˆλ‹€.
    • TCPλŠ” λ„€νŠΈμ›Œν¬ 혼작(데이터 νŠΈλž˜ν”½μ΄ λ§Žμ•„μ Έ λ„€νŠΈμ›Œν¬κ°€ κ³ΌλΆ€ν•˜ μƒνƒœμ— 이λ₯΄λŠ” 것)을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ network congestion avoidance algorithm(λ„€νŠΈμ›Œν¬ 혼작 νšŒν”Ό μ•Œκ³ λ¦¬μ¦˜)을 μ‚¬μš©ν•©λ‹ˆλ‹€.
  • reliable networkλ₯Ό 보μž₯ν•˜κΈ° μœ„ν•΄ ν•΄κ²°ν•΄μ•Όν•˜λŠ” 4κ°€μ§€ 문제점
    • 손싀 : packet이 손싀될 수 μžˆλŠ” 문제
    • μˆœμ„œ λ°”λ€œ : packet의 μˆœμ„œκ°€ λ°”λ€ŒλŠ” 문제
    • Congestion : 데이터 νŠΈλž˜ν”½μ΄ λ§Žμ•„μ Έ λ„€νŠΈμ›Œν¬κ°€ κ³ΌλΆ€ν•˜ μƒνƒœμ— 이λ₯΄λŠ” 문제.
    • Overload : μˆ˜μ‹ μžκ°€ μ²˜λ¦¬ν•  수 μžˆλŠ” μš©λŸ‰μ„ μ΄ˆκ³Όν•˜λŠ” μ–‘μ˜ 데이터가 λΉ λ₯΄κ²Œ λ„μ°©ν•˜μ—¬, μˆ˜μ‹ μžκ°€ 데이터λ₯Ό μ²˜λ¦¬ν•˜μ§€ λͺ»ν•˜λŠ” 문제.
  • νλ¦„μ œμ–΄/ν˜Όμž‘μ œμ–΄λž€?
    • νλ¦„μ œμ–΄(Flow Control)
      • 솑신츑과 μˆ˜μ‹ μΈ‘μ˜ 데이터 속도 차이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 기법
      • Flow Control은 receiverκ°€ packet을 μ§€λ‚˜μΉ˜κ²Œ 많이 λ°›μ§€ μ•Šλ„λ‘ ν•˜μ—¬ μˆ˜μ‹  츑의 κ³ΌλΆ€ν•˜λ₯Ό λ°©μ§€
      • 솑신 μΈ‘(sender)은 데이터λ₯Ό λΉ λ₯΄κ²Œ μ „μ†‘ν•˜κ³  싢어도, μˆ˜μ‹  μΈ‘(receiver)이 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” 속도가 느리면 λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜μ‹  츑이 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° 전에 λ„ˆλ¬΄ λ§Žμ€ 데이터λ₯Ό μˆ˜μ‹ ν•˜λ©΄ 버퍼 μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•˜μ—¬ 데이터가 손싀될 수 μžˆμŠ΅λ‹ˆλ‹€.
      • μˆ˜μ‹  츑이 솑신 μΈ‘μ—κ²Œ ν˜„μž¬ 처리 κ°€λŠ₯ν•œ λ°μ΄ν„°μ˜ 양을 ν”Όλ“œλ°±ν•˜μ—¬, 솑신 츑이 그에 맞좰 데이터λ₯Ό μ „μ†‘ν•˜λ„λ‘ μ‘°μ ˆν•˜λŠ” κ³Όμ •μž…λ‹ˆλ‹€.
      • μˆ˜μ‹  μœˆλ„(Receive Window)λΌλŠ” κ°œλ…μ΄ μ‚¬μš©λ©λ‹ˆλ‹€. μˆ˜μ‹  츑은 μžμ‹ μ˜ μˆ˜μ‹  버퍼 μƒνƒœμ— 따라 μœˆλ„μš° 크기λ₯Ό μ„€μ •ν•˜κ³ , 이 정보λ₯Ό 솑신 츑에 μ „λ‹¬ν•©λ‹ˆλ‹€. 솑신 츑은 이 μœˆλ„μš° 크기 λ‚΄μ—μ„œλ§Œ 데이터λ₯Ό μ „μ†‘ν•˜κ²Œ λ©λ‹ˆλ‹€.
    • ν˜Όμž‘μ œμ–΄(Congestion Control) : μ†‘μ‹ μΈ‘μ˜ 데이터 전달과 λ„€νŠΈμ›Œν¬μ˜ 데이터 처리 속도 차이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 기법
      • 솑신 츑이 λ„ˆλ¬΄ λ§Žμ€ 데이터λ₯Ό λ„€νŠΈμ›Œν¬μ— λΉ λ₯΄κ²Œ μ „μ†‘ν•˜λ©΄, λ„€νŠΈμ›Œν¬ μž₯치(λΌμš°ν„°, μŠ€μœ„μΉ˜ λ“±)κ°€ κ³ΌλΆ€ν•˜ μƒνƒœμ— λΉ μ Έ νŒ¨ν‚· μ†μ‹€μ΄λ‚˜ 지연이 λ°œμƒν•  수 μžˆλŠ”λ° 이λ₯Ό λ„€ν¬μ›Œν¬ 혼작이라고 ν•©λ‹ˆλ‹€.
      • Congestion Control은 λ„€νŠΈμ›Œν¬μ˜ μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ν•˜κ³ , 혼작이 λ°œμƒν•  κ°€λŠ₯성이 μžˆμ„ λ•Œ 솑신 속도λ₯Ό μ‘°μ ˆν•˜μ—¬ λ„€νŠΈμ›Œν¬κ°€ μ•ˆμ •μ μœΌλ‘œ μž‘λ™ν•˜λ„λ‘ ν•˜λŠ” κ³Όμ •μž…λ‹ˆλ‹€.
      • Congestion WindowλΌλŠ” κ°œλ…μ΄ μ‚¬μš©λ˜λ©°, 이 μœˆλ„μš° ν¬κΈ°λŠ” λ„€νŠΈμ›Œν¬ μƒνƒœμ— 따라 λ™μ μœΌλ‘œ λ³€ν•©λ‹ˆλ‹€. 혼작이 κ°μ§€λ˜λ©΄ μœˆλ„μš° 크기λ₯Ό 쀄이고, λ„€νŠΈμ›Œν¬κ°€ μ•ˆμ •μ μΌ λ•ŒλŠ” μœˆλ„μš° 크기λ₯Ό μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€.
  • μ „μ†‘μ˜ 전체 κ³Όμ •
    • μ‘μš© 계측(Application Layer)μ—μ„œ 데이터λ₯Ό 전솑할 λ•Œ, λ³΄λ‚΄λŠ” μͺ½(sender)의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜(Application)은 직접 λ„€νŠΈμ›Œν¬λ‘œ 데이터λ₯Ό λ³΄λ‚΄λŠ” 것이 μ•„λ‹Œ μ†ŒμΌ“(Socket)μ΄λΌλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 데이터λ₯Ό μ“°κ²Œ λ©λ‹ˆλ‹€.
    • 이 λ°μ΄ν„°λŠ” 전솑 계측(Transport Layer)으둜 μ „λ‹¬λ˜μ–΄ μ„Έκ·Έλ¨ΌνŠΈ(Segment)λΌλŠ” μž‘μ€ λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄μ§‘λ‹ˆλ‹€.
    • 전솑 계측은 이 μ„Έκ·Έλ¨ΌνŠΈλ₯Ό λ„€νŠΈμ›Œν¬ 계측(Network Layer)에 λ„˜κ²¨μ€λ‹ˆλ‹€.
    • μ „μ†‘λœ λ°μ΄ν„°λŠ” μˆ˜μ‹ μž(receiver)μͺ½μœΌλ‘œ μ „λ‹¬λ˜μ–΄, μˆ˜μ‹ μž μͺ½μ—μ„œλŠ” μˆ˜μ‹  버퍼(Receive Buffer)에 μ €μž₯λ©λ‹ˆλ‹€.
    • μ΄λ•Œ, μˆ˜μ‹ μž μͺ½μ—μ„œλŠ” μˆ˜μ‹  λ²„νΌμ˜ μš©λŸ‰μ„ λ„˜μΉ˜μ§€ ν•˜μ§€ μ•Šλ„λ‘ μ‘°μ ˆν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • μˆ˜μ‹ μž μͺ½μ—μ„œλŠ” μžμ‹ μ˜ μˆ˜μ‹  λ²„νΌμ˜ 남은 μš©λŸ‰μ„ μƒλŒ€λ°©(sender)μ—κ²Œ μ•Œλ €μ£ΌλŠ”λ°, 이λ₯Ό μˆ˜μ‹  μœˆλ„μš°(Receive Window)라고 ν•©λ‹ˆλ‹€.
    • μ†‘μ‹ μž(sender)λŠ” μˆ˜μ‹ μžμ˜ μˆ˜μ‹  μœˆλ„μš°λ₯Ό ν™•μΈν•˜μ—¬ μˆ˜μ‹ μžμ˜ μˆ˜μ‹  버퍼 μš©λŸ‰μ„ μ΄ˆκ³Όν•˜μ§€ μ•Šλ„λ‘ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.
    • 이λ₯Ό 톡해 데이터 전솑 쀑에 μˆ˜μ‹  버퍼가 λ„˜μΉ˜λŠ” ν˜„μƒμ„ λ°©μ§€ν•˜λ©΄μ„œ, μ•ˆμ •μ μΈ 데이터 전솑을 보μž₯ν•©λ‹ˆλ‹€. 이λ₯Ό ν”Œλ‘œμš° 컨트둀(Flow Control)이라고 ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ ν”Œλ‘œμš° μ»¨νŠΈλ‘€μ€ 전솑 쀑에 λ°œμƒν•˜λŠ” μˆ˜μ‹  λ²„νΌμ˜ μ˜€λ²„ν”Œλ‘œμš°λ₯Ό λ°©μ§€ν•˜λ©΄μ„œ, μ•ˆμ •μ μΈ 데이터 전솑을 μœ„ν•΄ μ€‘μš”ν•œ κΈ°μˆ μž…λ‹ˆλ‹€.

πŸ’‘ 1. νλ¦„μ œμ–΄(Flow Control)

  • μˆ˜μ‹ μΈ‘μ΄ 솑신츑보닀 데이터 처리 속도가 λΉ λ₯΄λ©΄ 문제 μ—†μ§€λ§Œ, μ†‘μ‹ μΈ‘μ˜ 속도가 λΉ λ₯Ό 경우 λ¬Έμ œκ°€ 생긴닀.
  • μˆ˜μ‹ μΈ‘μ—μ„œ μ œν•œλœ μ €μž₯ μš©λŸ‰μ„ μ΄ˆκ³Όν•œ 이후에 λ„μ°©ν•˜λŠ” λ°μ΄ν„°λŠ” 손싀 될 수 있으며, λ§Œμ•½ 손싀 λœλ‹€λ©΄ λΆˆν•„μš”ν•˜κ²Œ 응닡과 데이터 전솑이 솑/μˆ˜μ‹  μΈ‘ 간에 빈번이 λ°œμƒν•œλ‹€.
    • 데이터가 μ†μ‹€λ˜λ©΄, 솑신 츑은 ν•΄λ‹Ή 데이터가 μˆ˜μ‹  츑에 μ œλŒ€λ‘œ λ„λ‹¬ν•˜μ§€ μ•Šμ•˜μŒμ„ μΈμ§€ν•˜κ³ , μž¬μ „μ†‘μ„ μ‹œλ„ν•©λ‹ˆλ‹€.
    • λ˜ν•œ, μˆ˜μ‹  츑은 μ†μ‹€λœ 데이터에 λŒ€ν•œ 응닡(ACK)을 보내지 μ•Šκ±°λ‚˜, 였λ₯˜ λ©”μ‹œμ§€λ₯Ό 솑신 츑에 보낼 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ΄λŸ¬ν•œ μœ„ν—˜μ„ 쀄이기 μœ„ν•΄ 솑신 츑의 데이터 μ „μ†‘λŸ‰μ„ μˆ˜μ‹ μΈ‘μ— 따라 μ‘°μ ˆν•΄μ•Όν•œλ‹€.
  • 해결방법
    • Stop and Wait : 각 데이터 ν”„λ ˆμž„μ— λŒ€ν•΄ ν•˜λ‚˜μ”© μ „μ†‘ν•˜κ³ , 각 ν”„λ ˆμž„μ΄ μ„±κ³΅μ μœΌλ‘œ μˆ˜μ‹ λ˜μ—ˆμŒμ„ 확인(ACK)ν•œ 후에 λ‹€μŒ ν”„λ ˆμž„μ„ μ „μ†‘ν•˜λŠ” 방식.
    • Sliding Window (Go Back N ARQ)
      • μˆ˜μ‹  μΈ‘μ—μ„œ μ„€μ •ν•œ μœˆλ„μš° 크기만큼 솑신 츑이 확인 응닡(ACK) 없이 μ„Έκ·Έλ¨ΌνŠΈλ₯Ό μ—°μ†μ μœΌλ‘œ 전솔할 수 μžˆλ„λ‘ ν•˜μ—¬, 데이터 μ „μ†‘μ˜ νš¨μœ¨μ„±μ„ λ†’μ΄λŠ” 방법.

        ν•΅μ‹¬κ°œλ…

        1. LastByteSent - LastByteAcked <= ReceivecWindowAdvertised:

          • LastByteSent: 솑신 μΈ‘μ—μ„œ λ§ˆμ§€λ§‰μœΌλ‘œ μ „μ†‘λœ λ°”μ΄νŠΈμ˜ μœ„μΉ˜
          • LastByteAcked: 솑신 μΈ‘μ—μ„œ λ§ˆμ§€λ§‰μœΌλ‘œ 확인 응닡(ACK)을 받은 λ°”μ΄νŠΈμ˜ μœ„μΉ˜
          • ReceiveWindowAdvertised: μˆ˜μ‹  츑이 κ΄‘κ³ ν•œ μˆ˜μ‹  μœˆλ„μš°μ˜ 크기. 즉, μˆ˜μ‹  츑이 더 받을 수 μžˆλŠ” λ°μ΄ν„°μ˜ 크기

          이 식은 ν˜„μž¬ 곡쀑에 λ– μžˆλŠ” νŒ¨ν‚· μˆ˜κ°€ μˆ˜μ‹  츑이 μ²˜λ¦¬ν•  수 μžˆλŠ” 크기λ₯Ό μ΄ˆκ³Όν•˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. μ‰½κ²Œ 말해, 솑신 츑은 μˆ˜μ‹  츑이 μ²˜λ¦¬ν•  수 μžˆλŠ” 만큼만 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€. 곡쀑에 λ– μžˆλ‹€λŠ” λ„€νŠΈμ›Œν¬μ—μ„œ 솑신 츑이 이미 μ „μ†‘ν–ˆμ§€λ§Œ, μˆ˜μ‹  μΈ‘μœΌλ‘œλΆ€ν„° 아직 확인 응닡(ACK)을 λ°›μ§€ λͺ»ν•œ 데이터λ₯Ό μ˜λ―Έν•œλ‹€.

        2. μœˆλ„μš°μ˜ λ™μž‘ 방식

          • 솑신 츑은 μœˆλ„μš° 내에 ν¬ν•¨λ˜λŠ” λͺ¨λ“  νŒ¨ν‚·μ„ ν•œ λ²ˆμ— 전솑할 수 μžˆμŠ΅λ‹ˆλ‹€.
          • 솑신 츑은 각 νŒ¨ν‚·μ— λŒ€ν•΄ μˆ˜μ‹  μΈ‘μœΌλ‘œλΆ€ν„° ACKλ₯Ό λ°›μœΌλ©΄, μœˆλ„μš°λ₯Ό 였λ₯Έμͺ½μœΌλ‘œ μŠ¬λΌμ΄λ”©(이동)μ‹œν‚€λ©΄μ„œ λ‹€μŒ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.
      • Window : TCP/IPλ₯Ό μ‚¬μš©ν•˜λŠ” λͺ¨λ“  ν˜ΈμŠ€νŠΈλ“€μ€ μ†‘μ‹ ν•˜κΈ° μœ„ν•œ 것과 μˆ˜μ‹ ν•˜κΈ° μœ„ν•œ 2개의 Windowλ₯Ό κ°€μ§€κ³  μžˆλ‹€.
        • 솑신 μœˆλ„μš°(Send Window): 솑신 μΈ‘μ—μ„œ 데이터λ₯Ό 보낼 λ•Œ μ‚¬μš©ν•˜λŠ” μœˆλ„μš°. 이 μœˆλ„μš° 크기만큼 솑신 츑은 데이터λ₯Ό 전솑할 수 있으며, 확인 응닡(ACK)λ₯Ό λ°›κΈ° 전에 데이터λ₯Ό 보내기 μœ„ν•΄μ„œλŠ” 이 크기λ₯Ό λ„˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€.
        • μˆ˜μ‹  μœˆλ™(Receive Window): μˆ˜μ‹  μΈ‘μ—μ„œ 데이터λ₯Ό 받을 λ•Œ μ‚¬μš©ν•˜λŠ” μœˆλ„μš°. 이 μœˆλ„μš° 크기만큼 μˆ˜μ‹  츑은 데이터λ₯Ό 받을 수 있으며, 이 크기만큼의 데이터λ₯Ό μ²˜λ¦¬ν•  수 μžˆλŠ” 버퍼 곡간이 μžˆλ‹€λŠ” 것을 의미.
      • ν˜ΈμŠ€νŠΈλ“€μ€ μ‹€μ œ 데이터λ₯Ό 보내기 전에 '3way hand-shake' κ³Όμ • 쀑 μˆ˜μ‹  츑은 μžμ‹ μ˜ μˆ˜μ‹  μœˆλ„μš° 크기(Receive Window Size)λ₯Ό 솑신 츑에 μ•Œλ €μ€λ‹ˆλ‹€. λ˜ν•œ 솑신 츑은 μˆ˜μ‹  츑의 μˆ˜μ‹  μœˆλ„μš° 크기에 λ§žμΆ”μ–΄ μžμ‹ μ˜ 솑신 μœˆλ„μš° 크기(Send Window Size)λ₯Ό μ‘°μ •ν•©λ‹ˆλ‹€.

        μ˜ˆμ‹œ

        • 솑신버퍼
          • 202 μ΄μ „μ˜ λ°”μ΄νŠΈ : 이미 μ „μ†‘λ˜μ—ˆκ³ , 확인 응닡(ACK)을 받은 μƒνƒœ
          • 200 ~ 202 λ°”μ΄νŠΈ : 이미 μ „μ†‘λ˜μ—ˆμ§€λ§Œ, 아직 확인 응닡(ACK)을 λ°›μ§€ λͺ»ν•œ μƒνƒœ
          • 203 ~ 211 λ°”μ΄νŠΈ 아직 μ „μ†‘λ˜μ§€ μ•Šμ€ μƒνƒœ
        • 솑신 μœˆλ„μš°μ˜ 이동
          • 예λ₯Ό λ“€μ–΄, 솑신 츑이 203κ³Ό 204 λ°”μ΄νŠΈλ₯Ό μ „μ†‘ν•˜κ³ , μˆ˜μ‹  μΈ‘μ—μ„œ 203 λ°”μ΄νŠΈμ— λŒ€ν•œ ACKλ₯Ό λ°›μ•˜λ‹€λ©΄, 솑신 μœˆλ„μš°λŠ” 였λ₯Έμͺ½μœΌλ‘œ μŠ¬λΌμ΄λ”©ν•˜μ—¬ 205~209 λ°”μ΄νŠΈκ°€ 전솑 κ°€λŠ₯ν•œ μƒνƒœκ°€ λ©λ‹ˆλ‹€.

πŸ’‘ 2. ν˜Όμž‘μ œμ–΄ (Congestion Control)

  • μ†‘μ‹ μΈ‘μ˜ λ°μ΄ν„°λŠ” μ§€μ—­λ§μ΄λ‚˜ μΈν„°λ„·μœΌλ‘œ μ—°κ²°λœ λŒ€ν˜• λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ „λ‹¬λœλ‹€. λ§Œμ•½ ν•œ λΌμš°ν„°μ— 데이터가 λͺ°λ¦΄ 경우, μžμ‹ μ—κ²Œ 온 데이터λ₯Ό λͺ¨λ‘ μ²˜λ¦¬ν•  수 μ—†κ²Œ λœλ‹€. 이런 경우 ν˜ΈμŠ€νŠΈλ“€μ€ 또 λ‹€μ‹œ μž¬μ „μ†‘μ„ ν•˜κ²Œλ˜κ³  κ²°κ΅­ 혼작만 κ°€μ€‘μ‹œμΌœ μ˜€λ²„ν”Œλ‘œμš°λ‚˜ 데이터 손싀을 λ°œμƒμ‹œν‚€κ²Œ λœλ‹€. λ”°λΌμ„œ μ΄λŸ¬ν•œ λ„€νŠΈμ›Œν¬μ˜ ν˜Όμž‘μ„ ν”Όν•˜κΈ° μœ„ν•΄ μ†‘μ‹ μΈ‘μ—μ„œ λ³΄λ‚΄λŠ” λ°μ΄ν„°μ˜ 전솑속도λ₯Ό κ°•μ œλ‘œ μ€„μ΄κ²Œ λ˜λŠ”λ°, μ΄λŸ¬ν•œ μž‘μ—…μ„ ν˜Όμž‘μ œμ–΄λΌκ³  ν•œλ‹€.
  • λ˜ν•œ λ„€νŠΈμ›Œν¬ 내에 νŒ¨ν‚·μ˜ μˆ˜κ°€ κ³Όλ„ν•˜κ²Œ μ¦κ°€ν•˜λŠ” ν˜„μƒμ„ 혼작이라 ν•˜λ©°, 혼작 ν˜„μƒμ„ λ°©μ§€ν•˜κ±°λ‚˜ μ œκ±°ν•˜λŠ” κΈ°λŠ₯을 ν˜Όμž‘μ œμ–΄λΌκ³  ν•œλ‹€.
  • νλ¦„μ œμ–΄κ°€ 솑신츑과 μˆ˜μ‹ μΈ‘ μ‚¬μ΄μ˜ 전솑속도λ₯Ό λ‹€λ£¨λŠ”λ° λ°˜ν•΄, ν˜Όμž‘μ œμ–΄λŠ” ν˜ΈμŠ€νŠΈμ™€ λΌμš°ν„°λ₯Ό ν¬ν•¨ν•œ 보닀 넓은 κ΄€μ μ—μ„œ 전솑 문제λ₯Ό λ‹€λ£¨κ²Œ λœλ‹€
  • 해결방법
    • AIMD(Additive Increase / Multiplicative Decrease)
      • μ²˜μŒμ— νŒ¨ν‚·μ„ ν•˜λ‚˜μ”© 보내고 이것이 λ¬Έμ œμ—†μ΄ λ„μ°©ν•˜λ©΄ window 크기(λ‹¨μœ„ μ‹œκ°„ 내에 λ³΄λ‚΄λŠ” νŒ¨ν‚·μ˜ 수)λ₯Ό 1μ”© μ¦κ°€μ‹œμΌœκ°€λ©° μ „μ†‘ν•˜λŠ” 방법
      • νŒ¨ν‚· 전솑에 μ‹€νŒ¨ν•˜κ±°λ‚˜ 일정 μ‹œκ°„μ„ λ„˜μœΌλ©΄ νŒ¨ν‚·μ˜ λ³΄λ‚΄λŠ” 속도λ₯Ό 절반으둜 쀄인닀.
      • κ³΅ν‰ν•œ λ°©μ‹μœΌλ‘œ, μ—¬λŸ¬ ν˜ΈμŠ€νŠΈκ°€ ν•œ λ„€νŠΈμ›Œν¬λ₯Ό κ³΅μœ ν•˜κ³  μž‡μœΌλ©΄ λ‚˜μ€‘μ— μ§„μž…ν•˜λŠ” μͺ½μ΄ μ²˜μŒμ—λŠ” λΆˆλ¦¬ν•˜μ§€λ§Œ, μ‹œκ°„μ΄ 흐λ₯΄λ©΄ ν‰ν˜•μƒνƒœλ‘œ μˆ˜λ ΄ν•˜κ²Œ λ˜λŠ” νŠΉμ§•μ΄ μžˆλ‹€.
      • λ¬Έμ œμ μ€ μ΄ˆκΈ°μ— λ„€νŠΈμ›Œν¬μ˜ λŒ€μ—­ν­μ„ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜μ—¬ 였랜 μ‹œκ°„μ΄ 걸리게 되고, λ„€νŠΈμ›Œν¬κ°€ ν˜Όμž‘ν•΄μ§€λŠ” 상황을 미리 κ°μ§€ν•˜μ§€ λͺ»ν•œλ‹€. 즉, λ„€νŠΈμ›Œν¬κ°€ ν˜Όμž‘ν•΄μ§€κ³  λ‚˜μ„œμ•Ό λŒ€μ—­ν­μ„ μ€„μ΄λŠ” 방식이닀.
      • μ„Έλ°€ν•˜κ²Œ λŒ€μ—­ν­μ„ μ‘°μ ˆν•΄λ‚˜κ°€κΈ° λ•Œλ¬Έμ— 거의 λŒ€μ—­ν­μ„ 꽉찬 μƒνƒœλ‘œ μ“Έ 수 μžˆλ‹€.
    • Slow Start(느린 μ‹œμž‘)
      • AIMD 방식이 λ„€νŠΈμ›Œν¬μ˜ μˆ˜μš©λŸ‰ μ£Όλ³€μ—μ„œλŠ” 효율적으둜 μž‘λ™ν•˜μ§€λ§Œ, μ²˜μŒμ— 전솑 속도λ₯Ό μ˜¬λ¦¬λŠ”λ° μ‹œκ°„μ΄ 였래 κ±Έλ¦¬λŠ” 단점이 μ‘΄μž¬ν–ˆλ‹€.
      • Slow Start 방식은 AIMD와 λ§ˆμ°¬κ°€μ§€λ‘œ νŒ¨ν‚·μ„ ν•˜λ‚˜μ”© λ³΄λ‚΄λ©΄μ„œ μ‹œμž‘ν•˜κ³ , νŒ¨ν‚·μ΄ λ¬Έμ œμ—†μ΄ λ„μ°©ν•˜λ©΄ 각각의 ACK νŒ¨ν‚·λ§ˆλ‹€ window sizeλ₯Ό 1μ”© λŠ˜λ €μ€€λ‹€. ν•œ μ£ΌκΈ°κ°€ μ§€λ‚˜λ©΄ window sizeκ°€ 2배둜 λœλ‹€.
      • μ „μ†‘μ†λ„λŠ” AIMD에 λ°˜ν•΄ μ§€μˆ˜ ν•¨μˆ˜ 꼴둜 μ¦κ°€ν•œλ‹€. λŒ€μ‹ μ— 혼작 ν˜„μƒμ΄ λ°œμƒν•˜λ©΄ window sizeλ₯Ό 1둜 λ–¨μ–΄λœ¨λ¦¬κ²Œ λœλ‹€.
      • μ²˜μŒμ—λŠ” λ„€νŠΈμ›Œν¬μ˜ μˆ˜μš©λŸ‰μ„ μ˜ˆμƒν•  수 μžˆλŠ” 정보가 μ—†μ§€λ§Œ, ν•œλ²ˆ 혼작 ν˜„μƒμ΄ λ°œμƒν•˜κ³  λ‚˜λ©΄ λ„€νŠΈμ›Œν¬μ΄ μˆ˜μš©λŸ‰μ„ μ–΄λŠμ •λ„ μ˜ˆμƒν•  수 μžˆλ‹€.
      • κ·ΈλŸ¬λ―€λ‘œ 혼작 ν˜„μƒμ΄ λ°œμƒν•˜μ˜€λ˜ window size의 μ ˆλ°˜κΉŒμ§€λŠ” μ΄μ „μ²˜λŸΌ μ§€μˆ˜ ν•¨μˆ˜ 꼴둜 μ°½ 크기λ₯Ό μ¦κ°€μ‹œν‚€κ³  μ΄ν›„λΆ€ν„°λŠ” μ™„λ§Œν•˜κ²Œ 1μ”© μ¦κ°€μ‹œν‚¨λ‹€.
    • Fast Retransmit (λΉ λ₯Έ μž¬μ „μ†‘)
      • λΉ λ₯Έ μž¬μ „μ†‘μ€ TCP의 혼작 μ‘°μ ˆμ— μΆ”κ°€λœ 정책이닀.
      • νŒ¨ν‚·μ„ λ°›λŠ” μͺ½μ—μ„œ λ¨Όμ € 도착해야할 νŒ¨ν‚·μ΄ λ„μ°©ν•˜μ§€ μ•Šκ³  λ‹€μŒ νŒ¨ν‚·μ΄ λ„μ°©ν•œ κ²½μš°μ—λ„ ACK νŒ¨ν‚·μ„ λ³΄λ‚΄κ²Œ λœλ‹€.
      • 단, μˆœμ„œλŒ€λ‘œ 잘 λ„μ°©ν•œ λ§ˆμ§€λ§‰ νŒ¨ν‚·μ˜ λ‹€μŒ νŒ¨ν‚·μ˜ μˆœλ²ˆμ„ ACK νŒ¨ν‚·μ— μ‹€μ–΄μ„œ λ³΄λ‚΄κ²Œ λ˜λ―€λ‘œ, 쀑간에 ν•˜λ‚˜κ°€ μ†μ‹€λ˜κ²Œ 되면 솑신 μΈ‘μ—μ„œλŠ” 순번이 μ€‘λ³΅λœ ACK νŒ¨ν‚·μ„ λ°›κ²Œ λœλ‹€. 이것을 κ°μ§€ν•˜λŠ” μˆœκ°„ λ¬Έμ œκ°€ λ˜λŠ” 순번의 νŒ¨ν‚·μ„ μž¬μ „μ†‘ 해쀄 수 μžˆλ‹€.
      • μ€‘λ³΅λœ 순번의 νŒ¨ν‚·μ„ 3개 λ°›μœΌλ©΄ μž¬μ „μ†‘μ„ ν•˜κ²Œ λœλ‹€. μ•½κ°„ ν˜Όμž‘ν•œ 상황이 μΌμ–΄λ‚œ κ²ƒμ΄λ―€λ‘œ ν˜Όμž‘μ„ κ°μ§€ν•˜κ³  window sizeλ₯Ό μ€„μ΄κ²Œ λœλ‹€.
      • 예λ₯Όλ“€μ–΄ 1번 νŒ¨ν‚·μ„ λ°›κ³  ACK 2λ₯Ό 보낸닀. ν•˜μ§€λ§Œ 2번 νŒ¨ν‚·μ΄ μ†μ‹€λ˜μ–΄μ„œ κ·Έ λ‹€μŒμœΌλ‘œ λ‹€μ°©ν•œ 3번 νŒ¨ν‚·μ„ λ°›μ•˜μ§€λ§Œ 2번 νŒ¨ν‚·μ„ 받을 μ°¨λ‘€μ΄λ―€λ‘œ ACK 2λ₯Ό λ‹€μ‹œ 보낸닀.
    • Fast Recovery (λΉ λ₯Έ 회볡)
      • ν˜Όμž‘ν•œ μƒνƒœκ°€ 되면 window sizeλ₯Ό 1둜 쀄이지 μ•Šκ³  반으둜 쀄이고 μ„ ν˜•μ¦κ°€μ‹œν‚€λŠ” 방법이닀. 이 μ •μ±…κΉŒμ§€ μ μš©ν•˜λ©΄ 혼작 상황을 ν•œλ²ˆ κ²ͺκ³  λ‚˜μ„œλΆ€ν„°λŠ” μˆœμˆ˜ν•œ AIMD λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜κ²Œ λœλ‹€.

Connection Timeoutκ³Ό Read Timeout

Connection Timeout

  • Connection Timeout은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— 연결을 μ‹œλ„ν•  λ•Œ, κ·Έ 연결이 μ„±κ³΅μ μœΌλ‘œ 이루어지지 μ•ŠμœΌλ©΄ 일정 μ‹œκ°„ 후에 μ‹œλ„λ₯Ό μ€‘λ‹¨ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

  • μ‚¬μš© μ‹œλ‚˜λ¦¬μ˜€ : ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μš”μ²­μ„ 보낼 λ•Œ, μ„œλ²„κ°€ μ‘λ‹΅ν•˜μ§€ μ•Šκ±°λ‚˜ λ„€νŠΈμ›Œν¬κ°€ λΆˆμ•ˆμ •ν•œ 경우 연결을 μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 μ‹œλ„κ°€ λ„ˆλ¬΄ 였래 μ§€μ†λ˜λ©΄, ν΄λΌμ΄μ–ΈνŠΈλŠ” λ¬΄ν•œνžˆ λŒ€κΈ°ν•˜μ§€ μ•Šκ³  μ •ν•΄μ§„ μ‹œκ°„ 이후에 μ—°κ²° μ‹œλ„λ₯Ό ν¬κΈ°ν•˜κ²Œ λ©λ‹ˆλ‹€.

Read Timeout

  • Read Timeout은 μ„œλ²„μ™€μ˜ 연결이 μ„±κ³΅μ μœΌλ‘œ 이루어진 ν›„, μ„œλ²„λ‘œλΆ€ν„° 데이터λ₯Ό μˆ˜μ‹ ν•˜λŠ” λ™μ•ˆ 일정 μ‹œκ°„ 내에 응닡이 μ—†μœΌλ©΄ κ·Έ μˆ˜μ‹ μ„ μ€‘λ‹¨ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

  • μ‚¬μš© μ‹œλ‚˜λ¦¬μ˜€ : μ„œλ²„μ— 연결이 된 이후에, ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„λ‘œλΆ€ν„° 데이터λ₯Ό λ°›μ•„μ•Ό ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ„œλ²„κ°€ 데이터λ₯Ό μ „μ†‘ν•˜μ§€ μ•Šκ±°λ‚˜ 전솑이 μ§€μ—°λ˜λŠ” 경우, ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„€μ •λœ μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ 더 이상 기닀리지 μ•Šκ³  데이터λ₯Ό μ½λŠ” μž‘μ—…μ„ ν¬κΈ°ν•©λ‹ˆλ‹€.


곡인 IP와 사섀 IP

1. 곡인 IP (Public IP)

  • μ •μ˜
    • 곡인 IPλŠ” μ „ μ„Έκ³„μ μœΌλ‘œ κ³ μœ ν•œ IP μ£Όμ†Œλ‘œ, 인터넷 μƒμ˜ λͺ¨λ“  μž₯μΉ˜λ“€μ΄ μ„œλ‘œλ₯Ό μ‹λ³„ν•˜κ³  톡신할 수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
    • μ΄λŸ°ν•œ IP μ£Όμ†ŒλŠ” μ „ μ„Έκ³„μ˜ λ„€νŠΈμ›Œν¬μ—μ„œ κ³ μœ ν•œ μ„€μ •λ˜μ–΄ μžˆμ–΄, 인터넷에 직접 μ—°κ²°λœ μž₯치(예: μ›Ή μ„œλ²„, 이메일 μ„œλ²„)κ°€ 주둜 μ‚¬μš©ν•©λ‹ˆλ‹€.
  • ν• λ‹Ή 방식
    • 곡인 IPλŠ” IANA(Internet Assigned Numbers Authority) λ˜λŠ” μ§€μ—­ 인터넷 등둝 κΈ°κ΄€(RIR)κ³Ό 같은 쑰직에 μ˜ν•΄ κ΄€λ¦¬λ˜κ³  ν• λ‹Ήλ©λ‹ˆλ‹€.
    • ISP(인터넷 μ„œλΉ„μŠ€ 제곡자)λ‚˜ 기업듀은 곡인 IP μ£Όμ†Œλ₯Ό ν• λ‹Ήλ°›μ•„ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • μ‚¬μš© λ²”μœ„
    • 곡인 IPλŠ” 인터넷에 직접 λ…ΈμΆœλ˜μ–΄ μžˆμœΌλ―€λ‘œ, μΈν„°λ„·μƒμ˜ λ‹€λ₯Έ λͺ¨λ“  μž₯μΉ˜λ“€κ³Ό 직접 톡신할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, μ›Ήμ‚¬μ΄νŠΈμ— 접속할 λ•Œ μ‚¬μš©λ˜λŠ” μ„œλ²„μ˜ IP μ£Όμ†ŒλŠ” 곡인 IPμž…λ‹ˆλ‹€.
  • νŠΉμ§•
    • κ³ μœ μ„± : 곡인 IPλŠ” μ „ μ„Έκ³„μ—μ„œ μœ μΌν•œ IP μ£Όμ†Œμž…λ‹ˆλ‹€.
    • μ ‘κ·Όμ„± : μΈν„°λ„·μ—μ„œ λˆ„κ΅¬λ‚˜ μ ‘κ·Όν•  수 있으며, μΈν„°λ„·μƒμ˜ ν†΅μ‹ μ—μ„œ ν•„μˆ˜μ μž…λ‹ˆλ‹€.

2. 사섀 IP (Private IP)

μ •μ˜ :

  • 사섀 IPλŠ” λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” IP μ£Όμ†Œλ‘œ, 인터넷과 같은 μ™ΈλΆ€ λ„€νŠΈμ›Œν¬μ—μ„œλŠ” μ‚¬μš©λ˜μ§€ μ•ŠμœΌλ©°, λ‚΄λΆ€ 톡신을 κ΄€λ¦¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.
  • λ™μΌν•œ 사섀 IP μ£Όμ†ŒλŠ” μ—¬λŸ¬ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ—μ„œ 쀑볡될 수 μžˆμŠ΅λ‹ˆλ‹€.
    ν• λ‹Ή 방식
  • 사섀 IP μ£Όμ†ŒλŠ” NAT(Network Address Translantion)을 톡해 곡인 IP둜 λ³€ν™˜λ˜μ–΄ μ™ΈλΆ€ λ„€νŠΈμ›Œν­μ™€μ˜ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€.
  • 사섀 IP μ£Όμ†Œ λ²”μœ„λŠ” RFC 1918에 따라 μ •ν•΄μ§„ λ²”μœ„ λ‚΄μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.
  • μ‚¬μš© λ²”μœ„
    • 사섀 IPλŠ” 주둜 κ°€μ •, κΈ°μ—… λ“±μ˜ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©λ˜λ©°, λΌμš°ν„°λ‚˜ DHCP μ„œλ²„κ°€ μžλ™μœΌλ‘œ ν• λ‹Ήν•©λ‹ˆλ‹€.
    • λ‚΄λΆ€ λ„€νŠΈμ›Œν¬ κ°„μ˜ ν†΅μ‹ μ΄λ‚˜, μž₯치 κ°„ 파일 곡유, ν”„λ¦°ν„° μ—°κ²° 등에 μ‚¬μš©λ©λ‹ˆλ‹€.
  • νŠΉμ§•
    • λΉ„κ³ μœ μ„± : λ™μΌν•œ 사섀 IP μ£Όμ†Œκ°€ μ—¬λŸ¬ λ‚΄λΆ€ λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©λ  수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ³΄μ•ˆ : μ™ΈλΆ€ λ„€νŠΈμ›Œν¬μ—μ„œ 직접 μ ‘κ·Όν•  수 μ—†μœΌλ―€λ‘œ λ³΄μ•ˆμ΄ κ°•ν™”λ©λ‹ˆλ‹€.
    • NAT ν•„μš”μ„± : μ™ΈλΆ€μ™€μ˜ 톡신을 μœ„ν•΄ NATλ₯Ό 톡해 곡인 IP둜 λ³€ν™˜λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

톡신 방식 비ꡐ : μœ λ‹ˆμΊμŠ€νŠΈ, λ©€ν‹°μΊμŠ€νŠΈ, λΈŒλ‘œλ“œμΊμŠ€νŠΈ

1. μœ λ‹ˆμΊμŠ€νŠΈ (Unicast)

  • μ •μ˜
    • μœ ν‹°μΊμŠ€νŠΈλŠ” ν•œ λŒ€μ˜ μ†‘μ‹ μžκ°€ ν•œ λŒ€μ˜ μˆ˜μ‹ μžμ—κ²Œ 데이터λ₯Ό μ „μ†‘ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. λ„€νŠΈμ›Œν¬μ—μ„œ κ°€μž₯ 일반적인 톡신 λ°©μ‹μœΌλ‘œ, ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ λͺ¨λΈμ—μ„œ 주둜 μ‚¬μš©λ©λ‹ˆλ‹€.
  • νŠΉμ§•
    • 1:1 톡신 방식
    • 각 μœ λ‹ˆμΊμŠ€νŠΈ 톡신은 κ³ μœ ν•œ 경둜λ₯Ό 톡해 이루어지며, λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½(즉, 데이터)은 각 μˆ˜μ‹ μž(전솑 λ°›λŠ” λŒ€μƒμžμ—κ²Œλ§Œ)μ—κ²Œ κ°œλ³„μ μœΌλ‘œ μ „λ‹¬λ©λ‹ˆλ‹€.
    • μ˜ˆμ‹œ : μ›Ή λΈŒλΌμš°μ €μ—μ„œ νŠΉμ • μ›Ή μ„œλ²„μ— HTTP μš”μ²­μ„ λ³΄λ‚΄λŠ” 경우, 이메일 전솑, 파일 λ‹€μš΄λ‘œλ“œ 등이 μœ λ‹ˆμΊμŠ€νŠΈ 톡신에 ν•΄λ‹Ήλ©λ‹ˆλ‹€.

2. λ©€ν‹°μΊμŠ€νŠΈ (Multicast)

  • μ •μ˜
    • λ©€ν‹°μΊμŠ€νŠΈλŠ” ν•œ λŒ€μ˜ μ†‘μ‹ μžκ°€ νŠΉμ • 그룹의 μ—¬λŸ¬ μˆ˜μ‹ μžμ—κ²Œ 데이터λ₯Ό μ „μ†‘ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 데이터λ₯Ό μˆ˜μ‹ ν•˜κ³ μž ν•˜λŠ” 그룹에 μ†ν•œ μˆ˜μ‹ μžλ“€λ§Œ 데이터 νŒ¨ν‚·μ„ μˆ˜μ‹ ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • νŠΉμ§•
    • ν•œ 번의 μ „μ†‘μœΌλ‘œ ν•΄λ‹Ή κ·Έλ£Ή λ‚΄ λͺ¨λ“  μˆ˜μ‹ μžκ°€λ°μ΄ν„°λ₯Ό μˆ˜μ‹ ν•  수 있게 ν•©λ‹ˆλ‹€. 이둜 인해 λ„€νŠΈμ›Œν¬ μžμ›μ„ μ ˆμ•½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • μ˜ˆμ‹œ : μ‹€μ‹œκ°„ λΉ„λ””μ˜€ 슀트리밍, IPTV μ„œλΉ„μŠ€, 온라인 κ°•μ˜ 등이 λ©€ν‹°μΊμŠ€νŠΈ λ°©μ‹μœΌλ‘œ 전솑될 수 μžˆμŠ΅λ‹ˆλ‹€.

3. λΈŒλ‘œλ“œμΊμŠ€νŠΈ (Broadcast)

  • μ •μ˜ : λΈŒλ‘œλ“œμΊμŠ€νŠΈλŠ” ν•œ λŒ€μ˜ μ†‘μ‹ μžκ°€ λ„€νŠΈμ›Œν¬μ˜ λͺ¨λ“  μž₯μΉ˜μ—κ²Œ 데이터λ₯Ό μ „μ†‘ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 주둜 둜컬 λ„€νŠΈμ›Œν¬(LAN)μ—μ„œ μ‚¬μš©λ˜λ©°, λ„€νŠΈμ›Œν¬ λ‚΄ λͺ¨λ“  μž₯μΉ˜κ°€ 데이터 νŒ¨ν‚·μ„ μˆ˜μ‹ ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • νŠΉμ§• : 1: 전체 톡신 방식
    • λ„€νŠΈμ›Œν¬μ˜ λͺ¨λ“  μž₯μΉ˜κ°€ 데이터λ₯Ό μˆ˜μ‹ ν•˜λ―€λ‘œ, λ„€νŠΈμ›Œν¬ λΆ€ν•˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • ARP(Address Resolution Protocol) μš”μ²­, DHCP(Dynamic Host Configuration Protocol) μ„œλ²„μ—μ„œ IP μ£Όμ†Œλ₯Ό ν• λ‹Ήν•  λ•Œμ˜ 톡신 등이 λΈŒλ‘œλ“œμΊμŠ€νŠΈ λ°©μ‹μœΌλ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

0개의 λŒ“κΈ€