라기의 IT's time

[DC-06강] 데이터 링크 제어 프로토콜과 에러

 

학습내용
☞ 데이터링크제어 프로토콜과 에러
학습목표
☞ 데이터링크제어 프로토콜과 종류를 이해할 수 있다.
 에러에 대한 종류와 개념에 대해 이해 할 수 있다. 학습내용
1. 전송제어의 개요 
(1)전송 제어(Transmission Control) 
 데이터의 원활한 흐름을 위해 입 ․ 출력 제어, 동기 제어, 오류 제어, 회선제어, 
 흐름 제어 등을 수행하는 것
(2) 전송 제어 프로세스

1) 데이터 통신 회선의 접속 : 통신 회선과 단말기의 물리적 접속 단계 
2) 데이터 링크의 설정(확립) : 접속된 통신 회선 상에서 송신 측과 수신 측간의 확실한 데이터 
 전송을 수행하기 위해 논리적 경로를 구성하는 단계 
3) 정보 메시지 전송 : 데이터를 수신 측에 전송하며, 잡음에 의한 데이터의 오류 제어와 순서 
 제어를 수행하는 단계
4) 링크의 종료(해제) : 송․수신측간의 논리적 경로를 해제하는 단계
5) 데이터 통신 회선의 절단 : 통신 회선과 단말기의 물리적 접속을 절단 하는 단계

 

2. 신호 변환
(1) 문자 위주 동기 방식 데이터 링크 프로토콜 
1) BSC(Binary Synchronous Control) : 프레임에 전송 제어 문자를 삽입하여 전송을 제어하는 문자 위주의 프로토콜 
① BSC의 특징 
• 에러제어와 흐름제어를 위해서는 정지-대기 방식을 사용
• 점-대-점(Point-to-Point)링크 뿐만 아니라 멀티 포인트 링크에서도 사용될 수 있음
• 주로 동기전송을 사용하나 비동기 전송방식을 사용하기도 함
• 반이중(Half Duplex)전송만 지원
2) 프레임 구조 

3) 제어 문자의 종류 
① 전송 제어 문자
② 장치 제어 문자
③ 포맷 제어 문자
④ 정보 분리 문자
4) 전송 제어 문자 
① SYN(SYNchronous idle) : 동기 맞춤 문자
② SOH(Start Of Heading) : 헤딩의 개시를 표시
③ STX(Start of Text) 
• 실제 전송할 데이터 집합의 시작임을 의미 
④ ETX(End Of TeXt) : 본문의 종료
⑤ ETB(End of Transmission Block) : 블록의 종료
⑥ EOT(End Of Transmission) : 한 개 또는 그 이상의 전송 종료를 표시 
⑦ DLE(Data Link Escape) 
• 인접하여 뒤따르는 제한된 수의 문자나 의미를 바꾸는 통신제어문자로서 데이터통신 
 네트워크에 보조적인 제어의 목적으로만 사용 
• 데이터 투과성(Data Transparent)을 위해 삽입되는 제어문자 
⑧ ACK(ACKnowledge) : 수신 측에서 송신 측으로 긍정 응답을 보내는 문자 
⑨ NAK(Negative AcKnowledge) : 수신 측에서 송신 측으로 부정 응답으로 보내는 문자 
⑩ ENQ(EnQuiry) : 링크 설정 요청, 상대국의 응답 요청
(2) 비트 위주 동기 방식 데이터 링크 프로토콜 
1) HDLC(High-level Data Link Control) : 
 - 각 프레임에 데이터 흐름을 제어하고 오류를 검출할 수 있는 비트열을 삽입하여 전송하는 비트 위주의 프로토콜
① 특징 
• 전송 효율과 신뢰성이 높음
• 정보 전송 단위가 프레임이며, CRC 방식을 이용하여 오류제어 함

• 전송 제어상의 제어를 받지 않고 문자 코드 종류와 무관하게 투명하게 동작(비트 투과성)
• 단방향, 반이중, 전이중 모두 사용 가능
• Go-Back-N ARQ 에러 제어 방식을 사용
• 데이터 링크 형식은 Point-to-Point, Multi-point, Loop 모두 가능
② 프레임 구조 

• 플래그(Flag) - 프레임의 동기를 제공하기 위해 사용 - 프레임의 시작과 끝을 표시
- 항상 01111110의 형식을 취함 
• 주소부(Address) : 송 ․ 수신하는 스테이션을 구별하기 위해서 사용 
• 제어부(Control) : 프레임의 종류를 식별하기 위해서 사용
• 정보부(Information) : 실제 정보 메시지가 들어 있는 부분
• 검사부(FCS, Frame Check Sequence Field) : 전송 오류 검출 기능
③ 프레임 종류
• 정보 프레임(I-frame : Information Frame) 
 - 제어부가 ‘0’으로 시작하고, 사용자 데이터를 전달하는 기능
- HDLC에서 피기백킹(piggybacking) 기법을 통해 데이터에 대한 확인응답을 보낼 때 사용되는 프레임 
• 감독 프레임(S-frame : Supervisory Frame) 제어부가 ‘10’으로 시작하고, 흐름제어, 에러제어 등의 기능
• 비번호(무번호) 프레임(U-frame : Unnumbered Frame) 제어부가 ‘11’로 시작하고, 링크의 동작 모드 설정과 관리의 기능
④ HDLC의 수행 국(Station) 
• 주국(주스테이션, 일차국, 서버)종속된 단말기 제어하거나 정보를 제공 하는 컴퓨터
• 종국(부스테이션, 이차국, 클라이언트)주국으로부터 제어를 받고 정보를 제공 받는 컴퓨터
• 혼합국(복합국)상대국 컴퓨터를 제어하기도 하고 받기도 하는 컴퓨터
⑤ 데이터 전송 모드 
• 표준(정규) 응답 모드(NRM, Normal Response Mode)종국은 주국의 허가(Poll)가 있을 때에만 송신 
• 비동기 응답 모드(ARM, Asynchronous Response Mode)종국은 주국의 허가 없이도 
 송신이 가능하지만, 링크 설정, 오류복구 등의 제어 기능은 주국만 담당
• 비동기 평형(균형) 모드(ABM, Asynchronous Balanced Mode) : 혼합국끼리 허가 없이 언제든 전송 가능
* 오답 : 동기응답모드, 표준균형모드
2) SDLC(Synchronous Data Link Control)
① IBM에서 개발한 비트 방식의 프로토콜로 HDLC의 기초가 됨
② HDLC와 동일한 프레임 구조를 가짐
3) LAPB(Link Access Procedure, Balanced)
① HDLC 명령/응답 목록의 부분 집합으로 X.25를 지원
② 확장된 순서화를 제공

3. 에러 
(1) 에러의 발생원인 
1) 감쇠(Attenuation)
 - 전송 신호가 전송 매체를 통과하는 과정에서 거리에 따라 점차 약해지는 현상
2) 지연 왜곡(Delay Distortion) 
 - 주로 하드와이어 전송 매체에서 발생되며, 전송 매체를 통한 신호 전달이 주파수에 따라 그 
 속도를 달리 함으로써 유발되는 신호 손상
3) 상호 변조 잡음(Intermodulation Noise) 
 - 서로 다른 주파수들이 똑같은 전송 매체를 공유할 때 이 주파수들이 서로의 합과 차의 신호
 를 발생함으로써 발생되는 잡음
4) 충격 잡음(Impulse Noise) 
① 비연속적이고 불규칙한 진폭을 가지며, 순간적으로 높은 진폭이 발생하는 잡음
② 외부의 전자기적 충격이나 기계적인 통신 시스템에서의 결함 등이 원인
③ 디지털 데이터를 전송하는 경우 중요한 오류발생의 원인이 됨
※ 우연적 왜곡과 시스템적 왜곡
① 우연적 왜곡 
• 예측할 수 없이 무작위로 발생하는 왜곡
• 백색 잡음, 충격 잡음, 누화 잡음, 위상 히트 잡음
② 시스템적 왜곡 
• 전송 채널 상에서 언제든지 발생할 수 있는 왜곡
• 손실, 감쇠 등
(2) 에러 검출 방식 
1) 패리티(Parity) 검사 
① 데이터 한 블록 끝에 1비트의 검사 비트인 패리티 비트(Parity Bit)를 추가하여 전송에러를 검출 하는 방식
② 짝수(우수) 패리티 ; 전송 비트 내에 1의 개수가 짝수가 되도록 하는 것
③ 홀수(기수) 패리티 : 전송 비트 내에 1의 개수가 홀수가 되도록 하는 것
④ 수직 패리티 체크 방식(VRC, Vertical Redundancy Check) 
 - 전송 비트들 중 수직에 대한 1의 bit수를 짝수 혹은 홀수가 되도록 하는 방식
⑤ 수평 패리티 체크 방식(LRC, Longitudinal Redundancy Check)
 - 전송 비트를 일정량의 블록으로 묶어 블록의 맨 마지막에 패리티를 부여하는 방식 
2) 순환 중복 검사(CRC, Cyclic Redundancy Check) 
① 특정 다항식에 의한 연산 결과를 데이터에 삽입하여 전송하는 에러검출 방법 
② 동기 전송에서 주로 사용되는 에러 검출 방식 
③ HDLC 프레임의 FCS에 사용되는 방식
3) 해밍 코드(Hamming Code) 방식 
① 자기 정정 부호의 하나로 비트 착오를 검출해서 1 bit 착오를 정정하는 부호 방식
② 송신한 데이터와 수신한 데이터의 각 대응하는 비트가 서로 다른 비트의 수를 
 해밍 거리(Hamming Distance)라고 함
※ 해밍 코드로 변환하여 전송하는 예제
 4비트의 정보(1011)를 홀수 패리티 비트를 사용하는 해밍 코드로 변환하여 전송할 때 올바른 

 해밍 코드는?
 총 정보 비트 수가 4개이므로 패리티 비트가 들어갈 자리인 1, 2, 4 자리를 비운 나머지 자리에 
 정보 비트를 기입함

4) 상승 부호(코드) 방식
 - 순차적 디코딩(Sequential Decoding)과 한계값 디코딩(Threshold Value Decoding)
 을 사용하여 에러를 수정하는 방식 
5) 궤환 전송 방식 
6) 연속 전송 방식(자동 연속 방식)
7) Block Sum Check
 - 패리티 검사의 단점을 보완하는 방식으로, 각 문자 당 패리티 체크 비트(수평 패리티 체크)
 와 전송 프레임의 모든 문자들에 대한 패리티 문자(블럭 합 체크 문자, 또는 수직 패리티 체
 크)를 함께 전송하는 방식
※ 에러 제어용 코드 부가 방식 : 패리티 검사, 해밍 코드, 순환 중복 검사 
(3) 에러 제어 방식
1) 자동 반복 요청(ARQ, Automatic Repeat reQuest)
 - 통신 경로에서 에러 발생 시 수신측은 에러의 발생을 송신 측에 통보하고 송신측은 에러가 
 발생한 프레임을 재전송 
① 정지-대기(Stop-and-Wait) ARQ 
• 송신 측이 하나의 블록을 전송한 후 수신 측에서 에러의 발생을 점검한 다음 에러 발생 
 유무 신호를 보내올 때까지 기다리는 방식
• 수신 측에서 에러 점검 후 제어 신호를 보내올 때까지 오버헤드(overhead)가 
 효율 면에서 가장 부담이 큼 
② 연속(Continuous) ARQ

• Go-Back-N ARQ - 에러가 발생한 블록 이후의 모든 블록을 다시 재전송하는 방식
- 에러가 발생한 부분부터 모두 재전송 하므로 중복 전송의 단점이 있음
• 선택적 재전송(Selective-Repeat) ARQ
- 수신 측에서 NAK를 보내오면 에러가 발생한 블록만 재전송
- 복잡한 논리 회로와 큰 용량의 버퍼가 필요
③ 적응적(Adaptive) ARQ
 - 데이터 블록의 길이를 채널의 상태에 따라 동적으로 변경시키는 방식
2) 전송 에러 제어 방식
① 전진 에러 수정(FEC, Forward Error Correction) 
• 송신 측에서 정보비트에 오류 정정을 위한 제어 비트를 추가하여 전송하면 수신 측에
 서 이 비트를 사용하여 에러를 검출하고 수정하는 방식
• ARQ 방식과는 달리 재전송 요구가 없으므로 역 채널이 필요 없고 연속적인 데이터 
 흐름이 가능
• ARQ에 비해 기기와 코딩이 더 복잡함
• ARQ 방식과 마찬가지로 데이터와 함께 잉여 비트들을 함께 전송함
• 잉여 비트들이 데이터 시스템 효율의 개선을 저해함
• 대표적인 예로 해밍(Hamming) 코드 방식과 상승 코드 방식이 있음 
② 후진 에러 수정(BEC, Backward Error Correction)
 - 데이터 전송 과정 중 에러가 발생하면 송신 측에 재전송을 요구하는 방식
4. 전송트래픽 제어
(1) 흐름 제어(Flow Control) 
 - 통신망 내의 트래픽 제어의 원활한 흐름을 위해 망 내의 노드와 노드 사이에 전송하는 
 프레임(패킷)의 양이나 속도를 규제하는 제어 
1) 정지-대기(Stop-and-Wait) - 수신 측으로부터 ACK를 받은 후에 다음 프레임을 전송하는 방식
2) 슬라이딩 윈도우(Sliding Window) 
① 수신 측의 확인 신호를 받지 않더라도 미리 정해진 프레임 수만큼 연속적으로 전송하는 방식 
② 한 번에 여러 개의 프레임을 나누어 전송할 경우 효율적인 기법 
③ 수신 측으로부터 이전에 송신한 프레임에 대한 긍정 수신 응답(ACK)이 왔을 때 
 송신 윈도우 증가 
④ 윈도우(Window) : 전송할 수 있는 프레임의 개수 
(2) 혼잡(폭주) 제어(Congestion Control)
 - 네트워크 내에서 패킷의 대기 지연(Queuing delay)이 너무 높아지게 되어 트래픽이 붕괴되지 
 않도록 네트워크 측면에서 패킷의 흐름을 제어하는 트래픽 제어 

(3) 교착 상태 회피(Deadlock Avoidance) 
1) 교환기 내에 패킷들을 기억할 수 있는 공간이 포화 상태에 있을 때 다음 패킷들이 기억 공간에 
 들어가기 위해 무한정 기다리는 현상을 교착 상태라고 함
2) 교착 상태 발생 시 교착 상태에 있는 한 단말 장치를 선택하여 패킷 버퍼를 폐기함 
요점정리
1. 데이터링크제어 프로토콜과 종류에 대해 정리합니다. 2. 에러에 대한 종류와 개념에 대해 정리합니다. 다음차시예고
수고하셨습니다. 다음 7주차에서는 “데이터 회선망”에 대해서 학습하도록 하겠습니다.

TOP