L2에서의 error correction
Backward Error Correction(BEC) method
: retransmission하면 흐름 끊김 -> bandwidth 취약한 통신에서는 잘 안 함
<적합>
- HDLC의 data link protocol
- TCP의 transport protocol
<부적합>
- bandwidth 가 취약할 때(특히 L2에서는)
- 장거리 통신(retransmission하는 데 걸리는 시간이 길어)
- VoIP와 같은 실시간 application (급하게 보내야 하기 때문) -> FEC 사용
Forward Error Correction(FEC) method
: 가서 알아서 고쳐보기
: block으로 나누어서 RX에게 보냄 -> RX가 받은 걸로 고침
ex. VoIP
<예시-"Hamming code">
TX와 RX는 "어떤 데이터를 어떻게 인코딩할지" 프로토콜 공유(TX는 encoding해서 보내고 RX는 decoding해서 얻음)
-> correction 정보도 넣어 깨져도 복원할 수 있도록 함
-> codeword에 넣는 bit수가 늘어날수록, error날 확률도 높아지지만 고칠 수 있는 확률도 높아짐
redundancy rate↑ → code rate↓ → efficiency↓ 고칠 확률↑
ex. 2bit를 보낼 건데 codeword에 5bit 사용
-> redundancy rate = (5-2)/2 = 3/2
-> code rate = 2/5
-> H(5, 2)
"Hamming distance d(v1, v2)" 사용
d(011011, 110001) = 3
∵ 011011과 110001을 XOR 연산 -> 1의 개수=3
ex. 00100을 error correction하려고 할 때 codeword의 모든 경우와의 distance 구하기
d(00000, 00100) = 1
d(00111, 00100) = 2
d(11001, 00100) = 4
d(11110, 00100) = 3
=> 가장 가까운 '00000'으로 correction 진행
따라서 정리하면,,
ci, cj를 골라 d(ci, cj) 진행 -> 그중 가장 작은 것 고르기 -> min값이 커질수록 error correction 확률 높아짐
codeword를 넓게 해놓으면 -> distance 간격이 커짐 -> 망가져서 왔을 때 decoding이 정확해짐(왜...)
'학교 강의 > 정보통신공학' 카테고리의 다른 글
Chapter7. Data Link Control Protocols(Error Control) (0) | 2025.04.17 |
---|---|
Chapter7. Data Link Control Protocols(Flow Control) (0) | 2025.04.15 |
Chapter 6. Error detection (0) | 2025.04.13 |
Chapter 6. Error Detection and Correction (0) | 2025.04.06 |
Transmission media (0) | 2025.04.04 |