티스토리 뷰

오류 제어
통신회선의 순간적인 절단 현상, 통신회선의 잡음과 감쇄, 혼선, 군 지연(Group
Delay), 찌그러짐, 펄스성 잡음, 에코 현상, 장치의 기계적/구조적 원인, 전원 중
단 등 전기적 원인 때문에 발생
물리 계층에서는 데이터를 주고받기만 할 뿐 오류 여부는 검사하지 못함(데이
터 링크 계층에서 담당)

오류 무시
그다지 중요하지 않은 데이터를 취급하는 데이터 통신에서 사용

반향(Echo) 검사
루프(Loop) 방식이라고도 함
전송한 데이터와 수신한 데이터를 서로 비교하여 판단하는 방식
컴퓨터와 단말기 사이에 주로 이용
궤환 전송 방식 : 수신 측이 수신한 데이터를 송신 측에서 다시 전송받아 원래 데이터와
비교하는 방식
연속 전송 방식 : 송신 측에서 두 번 이상 연속해서 전송하여 수신 측에서 이 데이터를
상호 비교해 보는 방식

검출 후 재전송(ARQ, Automatic Repeat reQuest)
오류가 발생하면 수신 측은 송신 측에 오류가 발생한 사실을 알리고 오류가 발
생한 프레임을 재전송할 것을 요구
송신 측은 전송 중인 프레임을 기억해야 하므로 버퍼가 필요
후진 오류 수정(BEC, Backward Error Correction) 방식 또는 자동 반복 요청 방
식이라고도 함


전진 오류 수정(FEC, Forward Error Correction)
수신 측에서 오류가 있음을 발견하면 해당 오류를 검출할 뿐만 아니라 오류 수
정도 가능한 방식
자기 정정 방식이라고도 함
장점 : 연속적인 데이터 전송이 가능, 역채널을 사용하지 않음
단점 : 잉여 비트에 의한 전송 채널 대역이 낭비되며, 기기와 코드 방식이 복잡
FEC 코드의 종류는 크게 블록 코드와 콘볼루션 코드로 구분됨
블록 코드 : 선형 코드의 가장 대표적인 순회 코드(해밍 코드, CRC 코드, BCH 코드)
콘볼루션 코드 : 각 블록에서의 부호화가 그 블록뿐만 아니라, 그 이전의 블록에도 의존
하는 부호로 비블록 코드 또는 비선형 코드, 트리 부호라고도 함




ARQ 방식의 종류
정지 대기(Stop and Wait) ARQ
형태가 가장 단순한 ARQ
수신 측에서 응답을 받아야 전송할 수 있는 방식이라 다른 방식보다 전송 효율 떨어짐


연속적(Continuous) ARQ
정지 대기 ARQ 방식에서 생기는 단점을 줄이기 위해 데이터 블록을 연속해서 보내는
방식을 이용
Go-Back N ARQ : 송신 측에서는 프레임을 연속해서 송신하고, 수신 측에서는 오류가
발생하면 송신 측에 NAK와 함께 오류 프레임 번호를 통보
송신 측에서는 오류를 확인한 후 해당 프레임부터 나머지 프레임까
지 계속 송신

선택적(Selective) ARQ : 정상 프레임도 재전송하는 문제점이 있는 Go-Back N ARQ 방
식의 단점을 오류가 발생한 프레임만 재전송하도록 개선한 것
실제로는 Go-Back N ARQ 방식을 더 많이 사용

적응적(Adaptive) ARQ
전송 효율을 최대한 높이려고 데이터 블록의 길이를 동적으로 변경시켜 전송하는 방식
통신회선의 사용률을 극대화
제어 회로가 복잡하고, 블록 길이를 변경하면 채널 대기 시간이 생긴다는 단점 때문에
통신 프로토콜에서는 잘 활용하지 않음

오류 검출 방식
패리티 비트 검사(Parity Bit Check)
전송되는 문자마다 패리티 비트를 하나씩 추가해 짝수나 홀수 여부를 검사하는 방법
홀수 패리티 방식 : 패리티 비트를 포함한 전송문자 1의 비트수를 항상 홀수 개로 유지
짝수 패리티 방식 : 패리티 비트를 포함한 전송문자 1의 비트수를 항상 짝수 개로 유지


패리티 비트 검사(Parity Bit Check)의 특징
정보 비트수가 적고, 오류가 발생할 확률이 낮을 때 사용
비동기 전송이나 문자 지향 동기 전송에 적합한 방식
7비트나 8비트로 구성된 문자에 패리티 비트를 추가
오류 비트가 홀수 개 발생하면 오류를 검출하기 쉬우나, 짝수 개 발생하면 오류를 검출
하기 어려움

블록 합 검사(Block Sum Check)
짝수개 비트 오류를 검출할 수 없는 패리티 비트 검사를 개선한 방법
데이터 블록의 수평과 수직에 각각 패리티 비트를 추가하여 다수의 비트 오류를 검출
오버헤드가 심한 단점이 있음
수평 패리티 검사 방식 : 각 문자에서 생성되는 패리티 비트를 검사
수직 패리티 검사 방식 : 각 컬럼에 있는 비트를 모듈로 가산하여 얻으므로 프레임의 마지막 문자는 블록 합 검사가 됨

짝수 블록 합 검사(Blocksum Check) 방식을 사용하는 경우에는 수평, 수직 전부 짝수
패리티 방식을 적용

순환 중복 검사(CRC, Cyclic Redundancy Check)
집단 오류를 검출하기 위해 다항식 코드를 사용하여 오류를 검사하는 방식
프레임의 실제 내용으로 계산하는 프레임 검사 순서를 프레임의 끝에 추가하여 전송
동기식 전송에 많이 사용
몇 개의 비트를 연속해서 틀리는 버스트 오류(Burst Error)와 불규칙하게 틀리는 랜덤
오류(Random Error) 등을 검출할 수 있어 많은 프로토콜에서 활용
CRC 코드가 만들어지는 과정
전송하려는 데이터를 다항식의 표현인 P(x)로 나타냄
P(x)에 생성 다항식 G(x)의 최고차항을 곱하고 생성 다항식 G(x)로 나눔(나머지가 패리티 비트)
전송하려는 데이터를 다항식 형태로 표현한 것을 P(x)라 하면 완전한 CRC 코드는
‘P(x) × 생성 다항식의 최고차항 + 패리티 비트’ (이를 T(x)라 나타냄)
수신 측에서는 T(x)를 G(x)로 나누어 나머지가 없으면 오류가 없다고 판단하고, 나머지가 있으면 오류가 있다고 판단

오류 정정 방식
해밍 부호 검사(Hamming Code Check) 정리
1비트의 오류를 검출하여 자동으로 정정해 주는 코드
검사 비트 3개를 추가하여 오류를 줄이며, 비트 2개 이상을 검출하여 정정하려면 더 많은 비트(상황 비트)가 필요
해밍 부호 검사 방식은 처리 속도가 빨라 실시간으로 처리할 수 있고, 오류 검출뿐만 아니라 정정도 가능
단점은 중복 비트가 많이 필요해 전송 효율이 낮고, 계산량이 많이 요구됨

데이터 링크 프로토콜의 종류
문자 지향 방식
데이터를 문자 단위로 전송
문자 단위로 전송할 때 제어문자를 이용
대표적인 문자 지향 프로토콜은 Kermit와 BSC(Binary Synchronous Communication)
비트 지향 방식
비트 단위로 전송
ISO의 HDLC와 MLP, CCITT의 X.25 LAPB, LAPD, LAPF 등

BSC
IBM에서 개발
컴퓨터와 단말기 사이에서 일정한 전송 제어 문자를 사용하여 오류없이 전송해
주는 프로토콜

HDLC
IBM의 SDLC 프로토콜을 토대로 OSI에서 개발
고속 전송 가능하고, 신뢰성이 높음
X.25나 ISDN의 D채널 방식 등에 이용됨
CCITT에서는 이것과 거의 유사한 LAPB(Link Access Procedure Balanced)를 개
발하여 X.25 패킷 교환망 표준 중 일부에 채택하여 사용
HDLC는 가장 대표적인 데이터 링크 프로토콜

HDLC의 구성요소
국(Station) : 개방 시스템에서 HDLC 절차를 실행하는 부분
데이터를 제어하는 명령을 전송하고 응답
프레임(Frame) : HDLC의 국 상호 간에 주고받는 정보의 기본 단위
HDLC의 동작 절차 : 3단계(초기화, 데이터 전달, 연결 해제)로 구성
두 국 간에 정보 프레임을 교환하여 구성

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함