문제:
데이터 전송에서 에러 제어(Error Control)와 흐름 제어(Flow Control)에 대해 설명하시오.
답안:
1. 개념
- 에러 제어(Error Control):
데이터 전송 중 발생하는 오류(전송된 데이터의 손실, 중복, 왜곡)를 검출하고 수정하는 기법.
- 흐름 제어(Flow Control):
송신 측(Sender)와 수신 측(Receiver) 간 데이터 전송 속도를 조절하여 데이터 손실 및 과부하를 방지하는 기법.
2. 등장 배경 및 목적
- 에러 제어:
네트워크 전송 중 데이터가 다양한 요인(노이즈, 간섭 등)으로 손상될 수 있으므로, 정확한 데이터 전달을 보장하기 위해 등장.
- 흐름 제어:
송신 측과 수신 측의 데이터 처리 속도 차이로 인해 데이터가 손실되거나 네트워크가 과부하 상태에 빠질 위험을 줄이기 위해 설계.
3. 역할
- 에러 제어: 데이터의 정확성 보장.
- 데이터 전송 중 발생하는 오류를 검출하고 수정함.
- 네트워크의 신뢰성을 높이는 역할.
- 흐름 제어: 데이터의 효율적 전송 보장.
- 송신 속도와 수신 속도를 동기화하여 데이터 충돌과 버퍼 오버플로우를 방지.
4. 활용 계층 및 범위
- 에러 제어와 흐름 제어는 주로 데이터 링크 계층(Data Link Layer)과 전송 계층(Transport Layer)에서 사용됨.
- 데이터 링크 계층: 프레임(Frame) 단위의 에러 제어 및 흐름 제어 수행.
- 전송 계층: 세그먼트(Segment) 단위의 전송 신뢰성과 속도 조절 수행.
5. 구성 요소
(1) 에러 제어 구성 요소
-
에러 검출(Error Detection):
- 오류 발생 여부를 확인.
- 주요 기법:
- 패리티 비트(Parity Bit)
- 체크섬(Checksum)
- 사이클릭 중복 검사(CRC, Cyclic Redundancy Check)
-
에러 수정(Error Correction):
- 오류 발생 시 데이터를 복구.
- 주요 기법:
- 전방 오류 수정(FEC, Forward Error Correction): 수신 측에서 오류 수정.
- 후방 오류 수정(ARQ, Automatic Repeat reQuest): 송신 측 재전송 요청.
-
재전송 메커니즘(Retransmission Mechanism):
(2) 흐름 제어 구성 요소
- 정적 흐름 제어: 고정된 속도 조절.
- 동적 흐름 제어: 수신 측 상태에 따라 실시간 속도 조절.
- 슬라이딩 윈도우(Sliding Window)
- STOP-and-WAIT 프로토콜
6. 시간순 작동 순서
(1) 에러 제어
- 송신 측이 데이터 패킷과 오류 검출 코드를 함께 전송.
- 수신 측이 오류 검출 코드로 데이터 검증.
- 오류 발생 시:
(2) 흐름 제어
- 송신 측이 초기 전송 속도 설정.
- 수신 측이 수신 상태를 피드백(ACK, NACK)으로 송신 측에 전달.
- 송신 측이 피드백에 따라 데이터 전송 속도 조정.
7. 종류
(1) 에러 제어 기법
- ARQ (Automatic Repeat Request)
- 오류가 발생하면 재전송.
- 종류: Stop-and-Wait ARQ, Go-Back-N ARQ, Selective Repeat ARQ.
- FEC (Forward Error Correction)
(2) 흐름 제어 기법
- STOP-and-WAIT
- 슬라이딩 윈도우(Sliding Window)
8. 장단점
(1) 에러 제어
- 장점:
- 단점:
- ARQ는 재전송으로 인한 지연 발생.
- FEC는 오버헤드 증가.
(2) 흐름 제어
9. 전망 및 개선점
- 전망:
- 5G, IoT 등 고속 네트워크 환경에서 에러 제어 및 흐름 제어는 점차 자동화되고 지능화된 방식으로 발전.
- 개선점:
- AI 기반 알고리즘 적용으로 에러 및 흐름 제어 최적화.
- 대규모 데이터 처리 시 효율적인 전송 제어 방안 연구 필요.
10. 쉽게 요약
- 에러 제어는 데이터 오류를 찾고 고치는 기술, 흐름 제어는 송수신 속도를 조절하는 기술임.
- 둘 다 데이터 전송의 정확성과 효율성을 위해 필수적이며, 각각의 기법과 역할에 따라 다양한 프로토콜이 적용됨.