Skip to content
New issue

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

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

Already on GitHub? Sign in 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를 검출하고 재전송 합니다.

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

No branches or pull requests

1 participant