네트워크를 사용해서 데이터를 송신하다보면 다양한 에러가 발생합니다.
송신과 수신을 하는 프로그램 에러부터 네트워크 케이블 절단, 무선으로 전송할 때 신호감쇠,
잡음 등 많은 형태의 에러가 있습니다. 에러가 발생하면 우선 에러가 발생했는지 탐지해야하고
그 다음 에러를 수정하여 정상 구동할 수 있게 해야 합니다.
우선 탐지는 수신자가 제대로 수신받고 있는지 송신자에게 알려주어야 하고 수신 받은 데이터에
에러가 없는지는 송신자와 수신자 간의 일정한 약속으로 확인해야 합니다.
수신 받은 데이터에 에러가 없는지 확인하는 것을 FEC ( Forward Error Correction)
수신자가 데이터를 수신 받지 못하면 재전송 하는 것을 BEC (Backward Error Correction)
기법
|
내용
|
FEC
(Forward Error Correction)
|
Ⅰ.송신측이 특정한 정보 비트를 함께 전송하여 수신측에서 이 정보 비트로 에러 발생 시 수정
(수신측이 에러처리)
Ⅱ.데이터 전송과정에서 발생한 오류를 검출하여 오류를 재전송 요구 없이 수정
Ⅲ.재전송 요구가 없어 역채널이 필요없고, 연속적인 데이터 전송 기능
Ⅳ.오류 검출 및 수정을 위한 잉여 비트들이 추가 전송되므로 전송 효율 감소
Ⅴ.해밍 코드와 상승 코드 방식이 있음
|
BEC
(Backward Error Correction)
|
Ⅰ. 수신측이 에러 검출 후 송신측에게 에러가 발생한 데이터 블록을 다시 전송 요청하는 방식
(송신측이 에러 처리, ARQ(Auto Repeat request)
Ⅱ.패리티검사, CRC 등 Checksum을 이용하여
오류 검출 후 오류제어는 ARQ가 처리
Ⅲ. Stop-and-Wait, Go-Back-N, Selective Repeat ARQ, Adaptive ARQ 가 있음
|
Ⅰ. FEC (Forward Error Correction) 기법
FEC 기법 중 가장 간단한 방법은 1의 개수가 짝수 개인지, 홀수 개인지 확인하여 에러를 확인하는 패리티 검사가 있습니다. 또한 특정 합계를 계산하여 합계가 맞는지 확인하는 블록 합계 검사도 있고, 에러 발생시 수정까지 할 수 있는 해밍코드가 있습니다.
실제로 많이 사용하는 방법은 CRC 기법이고, CRC는 Checksum 비트를 전송하여 Checksum 비트로 수신자가 연산하여 에러여부를 확인하는 것으로 무선 LAN과 이더넷 프레임에서 사용됩니다.
Ⅱ. BEC (Backward Error Correction) 기법
1) Stop-and-Wait 방식은 하나의 데이터를 송신하고 수신 확인 신호를 받을 때까지 기다린 다음 전송하는 방식입니다. 송신자가 대기해야 되므로 비효율적입니다.
2) Go-Back-N 방식은 수신자가 데이터를 수신 받지 못할 경우 마지막으로 수신 받은 데이터 이후의 모든 데이터를 재전송하는 방법으로 TCP 프로토콜에서 사용하는 방법입니다.
3) Selective Repeat 방식은 수신자가 수신 받은 데이터 중에서 중간에 빠져 있는 것만 재전송하는 방식으로 에러를 처리합니다.
Ⅲ. BEC 기법의 특징
기법
|
Stop-and-Wait
|
Go-Back-N
|
Selective Repeat
|
재전송
요청방법 |
에러 발생 즉시 재전송
|
오류 발생 또는 잃어버린 프레임 이후의 모든 프레임을 재요청하거나
타임아웃으로 자동 재송신
|
오류 발생 또는 잃어버린 프레임 이후의 모든 프레임을 재요청하거나
타임아웃으로 자동 재송신
|
수신 방법
|
순차적으로 수신
|
프레임 송신 순서와 수신 순서가 동일해야 수신
|
순서와 상관없이 윈도우 크기만큼의 범위 내에서 자유롭게 수신
|
장 단점
|
1. 가장 단순한 구현
2. 신뢰성있는 전송
3. 대기시간 존재로
전송 효율 저하
|
1. 간단한 구현
2. 적은 수신측 버퍼 사용량
|
1. 구현이 복잡
2. 버퍼 사용량이 많음
3. 보다 적은 재전송
4. 대역폭
|
*TCP 는 Go-Back-N 방식을 사용합니다.
'네트워크' 카테고리의 다른 글
스머프(smurf) 공격에 대해 알아보겠습니다. (0) | 2024.02.23 |
---|---|
프록시(Proxy) 서버란 무엇인지, 어떻게 구성되는지 알아보겠습니다. (0) | 2024.02.21 |
네트워크 장비인 스위치(Swtich)에 대해 알아보겠습니다. (0) | 2024.02.10 |
IP 주소와 서브넷마스크에 대해 알아보겠습니다. (1) | 2024.02.09 |
RADIUS 에 대해 알아보도록 하겠습니다. (0) | 2023.09.18 |