본문으로 건너뛰기

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

· 약 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동시에 양방향 전송 가능전화, 화상통화