본문으로 건너뛰기

오류제어, 흐름제어, 혼잡제어

· 약 5분

네트워크 프로토콜 설계 개념

  • 네트워크 프로토콜 설계시 주소표현과 데이터 전달방식을 결정하고 신뢰성을 위해 오류제어와 흐름제어 기능 추가

오류제어 개념 및 기법

오류제어 개념

  • 부가정보를 추가하여 데이터 전송 중 발생하는 오류를 검출하여 재전송요구(BEC)하거나, 수신 측에서 직접 수정(FEC)하는 매커니즘
  • 데이터 무결성, 신뢰성

오류제어 기법

구분기법내용
오류 검출패리티 검사짝수, 홀수 패티리 추가로 오류 검출
체크섬데이터 블록 합을 계산해서 오류 검출
CRC데이터 블록을 다항식으로 나눈 나머지 추가
FEC블록부호일정 크기 데이터 블록에 중복 비트 추가
길쌈부호연속적 데이터 흐름에 중복 비트 추가
BECARQ오류 발생시 송신 측에 재요청
Hybrid ARQFEC + ARQ, 일부 오류 수정 후 불가시 재요청

흐름제어 개념 및 기법

흐름제어 개념

  • 송신자, 수신자 간 데이터 전송속도를 조절하여 수신자가 처리 가능한 범위를 넘은 전송을 방지하는 기법
  • 데이터 손실 최소화, 수신 버퍼 오버플로우 방지, 혼잡 완화

흐름제어 기법

구분내용비고
Stop & Wait송신측은 데이터 패킷을 하나씩 전송, 수신측의 ACK 응답 대기낮은 효율, 같은 구현
Sliding Window여러 개의 패킷 연속 전송, 수신측의 ACK 수신 확인 후 윈도우 조절효율적, 범용적
Rate-based Flow Control송신측은 수신측의 피드백 정보를 기반으로 데이터 전송속도 조절혼잡제어 같이 사용

혼잡제어 개념 및 매커니즘

혼잡제어 개념

  • 데이터 전송 중에 네트워크 혼잡을 방지하고 효율적으로 데이터 패킷을 전달하기 위한 메커니즘

혼잡제어 매커니즘

구분내용비고
1. Slow Start새로운 연결 또는 타임아웃 후 시작 혼잡 윈도우를 작게 시작해 지수적으로 증가초기 네트워크 상태 탐색
2. Congestion avoidance네트워크 혼잡을 예방하는 단계 AIMD 알고리즘 사용 혼잡 윈도우 크기를 조절혼잡시 Threshold 감소
3. Fast Recovery패킷 손실 시 혼잡 윈도우를 반으로 줄이고 전송 지속손실 후에도 데이터 전송 계속
4. Fast Transmit중복된 ACK 3개 이상 수신 시 손실된 패킷 즉시 재전송 타임아웃 없이 손실 처리전송 효율 증가

데이터 전송방식 개념 및 기법

데이터 전송방식 개념

  • 데이터가 송수신측 사이에서 어떻게 전달할지를 구현하는 방법

데이터 전송 기법

구분내용비고
Simplex단방향 아이디 전송TV, 라디오
Half-Duplex양방향 전송이나 한 순간에는 한 방향만 가능무전기
Full-Duplex동시에 양방향 전송 가능전화, 화상통화