Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

흐름제어 / 혼잡제어 / 오류제어 #167

Open
sustainable-git opened this issue Jul 31, 2022 · 1 comment
Open

흐름제어 / 혼잡제어 / 오류제어 #167

sustainable-git opened this issue Jul 31, 2022 · 1 comment
Labels

Comments

@sustainable-git
Copy link
Member

No description provided.

@sustainable-git
Copy link
Member Author

  • 흐름제어(Flow Control)

    • 원리
      • 수신측이 송신측보다 처리속도가 느리면 data손실이 발생할 수 있습니다.
      • 이에 송신측 data 전송 속도를 느리게(pacing) 합니다.
    • 방식
      • 정지 대기(Stop and Wait)
        • 매 번 전송한 packet에 대해 확인 응답을 받고 전송하는 방법입니다.
      • Sliding window
        • 수신측에서 설정한 window 크기 만큼 송신측에서 확인 응답 없이 segment를 전송하는 방식입니다.
  • 혼잡제어(Congestion Control)

    • 원리
      • 송신측의 router가 혼잡한 경우 data손실이 발생할 수 있습니다.
      • 이에 송신측 data 전송 속도를 느리게 합니다.
    • 방식
      • AIMD
        • 처음에 packet을 하나씩 보내고 문제 없이 도착하면 window의 크기를 1씩 증가시키는 방식입니다.
        • 전송을 실패하거나 일정 시간이 넘으면 packet 전송 속도를 절반으로 줄입니다.
      • Slow Start
        • window 크기를 매 번 2배 늘리고 혼잡 현상이 발생하면 window의 크기를 1로 떨어뜨리는 방식입니다.
      • 혼잡 회피
        • window 크기가 임계 값에 도달한 후에는 window 크기를 1씩 증가시킵니다.
        • 혼잡이 발생하면 window의 크기를 1로 줄이고, 임계 값을 절반으로 줄입니다.
      • 빠른 회복
        • 혼잡이 발생했을 때 window size를 절반으로 줄이는 방식입니다.
  • 오류 제어(Error Control)

    • 원리
      • data 전송 중 발생하는 error를 검출하고 재전송 합니다.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant