정보처리기사 필기 - 5과목 데이터 통신


3장 전송 제어 방식


159 전송 제어의 기본


① 전송 제어의 개념


전송 제어(Transmission Control)란 데이터의 원할한 흐름을 위해 입·출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어 등을 수행하는 것

· OSI 7 참고 모델의 데이터 링크 계층(2계층)에서 수행하는 기능

· 전송 제어에 사용되는 프로토콜을 전송 제어 프로토콜 또는 데이터 링크 제어 프로토콜이라고 함


② 전송 제어 절차


데이터 통신 회선의 접속→데이터 링크 설정(확립)→정보 메시지 전송→데이터 링크 종결→데이터 통신 회선의 절단


데이터 통신 회선의 접속
교환 회선(교환기에 의해 송·수신 측 간 통신 회선이 연결되는 방식)에서 통신 회선과 단말기를 물리적으로 접속하는 단계

· 교환 회선을 이용한 포인트 투 포인트 방식이나 멀티 포인트 방식으로 연결된 경우에 필요한 단계

· 전용 회선을 이용한 포인트 투 포인트 방식으로 연결된 경우에는 불필요한 단계


데이터 링크의 설정(확립)

접속된 통신 회선상에서 송·수신 측 간의 확실한 데이터 전송을 수행하기 위해서 논리적 경로를 구성하는 단계

· 순서 : 수신 측 호출→정확한 수신 측인가 확인→수신 측의 데이터 전송 준비 상태 확인→송·수신 측 입장의 확인→수신 측 입·출력 기기 지정

· 데이터 링크의 설정 방법에는 폴링/셀렉션 방식, 경쟁방식이 있음


정보 메시지 전송

설정된 데이터 링크를 통해 데이터를 수신측에 전송하고, 오류 제어와 순서 제어를 수행하는 단계


데이터 링크 종결

·수신 측 간의 논리적 경로를 해제하는 단계


데이터 통신 회선의 절단

통신 회선과 단말기 간의 물리적 접속을 절단하는 단계



160 데이터링크 제어 프로토콜 - BSC


① 데이터 링크 제어 프로토콜의 개요


· 데이터 링크 제어 프로토콜은 컴퓨터와 컴퓨터, 컴퓨터와 단말장치 등의 두 장치 상호간에 신속하고 정확하게 데이터를 주고받을 수 있도록 전송 제어를 수행하는 프로토콜

· 데이터 링크 제어 프로토콜은 데이터 링크 레벨 프로토콜, 전송 제어 프로토콜이라고 함

· 문자 위주 방식비트 위주 방식으로 구분됨


② BSC의 개요


BSC(Binary Synchronous Control)는 문자 위주의 프로토콜로, 각 프레임에 전송 제어 문자를 삽입하여 전송 제어

· 문자 코드 상에 정의된 전송 제어 문자를 이용하여 링크를 제어하기 때문에 사용하는 문자 코드에 의존적이며, 사용할 수 있는 코드가 제한적

· 통신하는 컴퓨터들이 사용하는 문자 코드 체계가 통일되어 있어야 함

· 반이중(Half Duplex) 전송만을 지원

· 주로 동기식 전송 방식이나 비동기식 전송 방식을 사용하기도 함

· 포인트 투 포인트, 멀티 포인트 방식에서 주로 사용

· 오류 제어 및 흐름 제어를 위해 정지-대기 ARQ(오류 제어 및 흐름 제어 기법 중의 하나로 한 번에 한 개의 데이터 프레임을 전송한 후 수신 측의 응답을 기다리는 방식)

· 전파 지연 시간이 긴 선로에는 비효율적

· 오류 검출이 어렵고, 전송 효율 나쁨


③ 전송 제어 문자


전송 제어 문자는 링크 관리, 프레임의 시작 및 끝의 구별과 오류 제어 등의 기능을 하는 것으로, 주요 전송 제어 문자는 다음과 같음

문자

기능

SYN(SYNchronous idle)

문자 동기

SOH(Start Of Heaing)

헤딩의 시작

STX(Start Of TeXt)

본문의 시작 및 헤딩의 종료

ETX(End of TeXt)

본문의 종료

ETB(End of Transmission Block)

블록의 종료

EOT(End of Transmission)

전송 종료 및 데이터 링크의 헤제

ENQ(ENQuiry)

상대편에 데이터 링크 설정 및 응답을 요구

DLE(Data Link Escape)

전송 제어 문자 앞에 삽입하여 전송 제어 문자임을 알림

ACK(ACKnowledge)

수신된 메시지에 대한 긍정 응답

NACK(Negative ACKnoewledge)

수신된 메시지에 대한 부정 응답



161 데이터 링크 제어 프로토콜 - HDLC


① HDLC의 개요


HDLC(High-level Data Link Control)는 비트 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 검출할 수 있는 비트 열을 삽입하여 전송

· 포인트 투 포인트 및 멀티 포인트, 루프 등 다양한 데이터 링크 형태에 동일하게 적용 가능

· 단방향, 반이중, 전이중 통신을 모두 지원하며, 동기식 전송 방식 사용

· 오류 제어를 위해 Go-Back-N과 선택적 재전송(Selective Repeat) ARQ를 사용

· 흐름 제어를 위해 슬라이딩 윈도우 방식 사용

· 전송 제어상의 제한을 받지 않고 자유로이 비트 정보를 전송할 수 있음(비트 투과성)

· 전송 효율과 신뢰성 높음

※ 비트 스터핑(Bit Stuffing)

비트 스터핑은 프레임에 임의의 비트를 삽입하여 데이터의 자유로운 전송을 보장하는 기능으로, 프레임 내의 플레그 비트와 다른 비트를 구분하여 기본적인 오류 검출)

- 플래그 비트를 제외한 모든 비트는 '1'이 6개 이상 연속되지 않도록 함. '1'이 연속적으로 5개가 입력되면 그 다음 6번째에는 '0'을 강제적으로 추가하여 송신

- 프레임 내에 '1'이 연속해서 6개가 입력되면 플래그 비트, 7개 이상 연속해서 입력되면 오류 프레임으로 인식하여 오류 검출함


② HDLC의 프레임 구조

[그림 1] HDLC의 프레임 구조



· 플래그(flag)

- 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(01111110)

- 동기 유지(통화로의 혼선을 방지하기 위해)

- 비트 투과성을 이용한 기본적인 오류 검출

· 주소부(Address Field) : 송·수신국을 식별하기 위해 사용. 불특정 다수에게 전송하는 방송용은 '11111111', 시스템에 의해 임의로 수신국이 지정되는 시험용은 '00000000'

· 제어부(Control Field) : 프레임의 종류를 식별하기 위해 사용. 제어부의 첫 번째, 두 번재 비트를 사용하여 다음과 같이 프레임 종류 구별함

 I 프레임

 정보 프레임. 제어부가 '0'으로 시작하는 프레임으로, 사용자 데이터를 전달하거나 피기백킹 기법을 통해 데이터에 대한 확인 응답을 보낼 때 사용됨

 S 프레임

 감독 프레임. 제어부가 '10'으로 시작하는 프레임. 오류 제어와 흐름 제어를 위해 사용됨

 U 프레임

 비번호 프레임. 제어번호가 '11'로 시작하는 프레임. 링크의 동작 모드 설정과 관리

· 정보부(Information Field) : 실제 정보 메시지가 들어 있는 부분으로, 송·수신 측 간의 협의에 따라 길이와 구성 정해짐

· FCS(Frame Check Sequence Field, 프레임 검사 순서 필드) : 프레임 내용에 대한 오류 검출을 위해 사용되는 부분으로, 일반적으로 CRC 코드 사용됨(CRC 순환 중복 검사 : 다항식 코드를 사용하여 오류를 검출하는 방식으로, 집단 오류를 검출할 수 있고 검출률이 높으므로 가장 많이 사용되는 오류 검출 기법)

※ 피기백킹(Piggybacking)

- 데이터 프레임에 확인 응답을 포함시켜 전송하는 것

※ HDLC의 국(Station)

- 주국 : 종속된 단말기를 제어하거나 정보를 제공해 주는 컴퓨터로, 주 스테이션, 1차국, 서버

- 종국 : 주국으로부터 제어를 받고 정보를 제공받는 컴퓨터로, 부 스테이션, 2차국, 클라이언트

- 혼합국 : 상대국 컴퓨터의 제어를 받기도 하고 제어를 하기도 하는 동등한 위상을 가진 컴퓨터로, 복합국


③ 데이터 전송 모드


데이터 전송 모드는 제어부에서 관리하는 U 프레임에 의해 설정되며 다음과 같이 세 가지로 구분됨

 표준(정규) 응답 모드(NRM, Normal Response Mode)

 · 반이중 통신을 하는 포인트 투 포인트 또는 멀티 포인트 불균형 링크 구성에 사용

 · 종국은 주국의 허가가 있을 때에만 송신

 비동기 응답 모드(ARM, Asynchronous Response Mode)

 · 전이중 통신을 하는 포인트 투 포인트 불균형 링크 구성에 사용

 · 종국은 주국의 허가 없이도 송신이 가능하지만, 링크 설정이나 오류 복구 등의 제어 기능은 주국만 가능

 비동기 균형(평형) 모드(ABM, Asynchronous Balanced Mode)

 · 포인트 투 포인트 균형 링크에서 사용

 · 혼합국끼리 허가 없이 언제나 전송할 수 있도록 설정



162 회선 제어 방식


① 회선 제어 방식의 개요


· 하나의 통신 회선을 공유하는 여러 대의 단말장치들이 통신 회선을 사용하는 방식에 따라 통신망의 효율에 큰 영향을 줌

· 또한 여러 대의 단말장치들이 동시에 데이터를 전송하면 충돌이 발생하여 데이터의 식별이 어려워짐

· 회선 제어란 이러한 문제들을 해결하기 위해 각 장치들의 송·수신 시 필요한 규칙을 의미


② 경쟁 방식


경쟁(Contention) 방식은 회선 접속을 위해서 서로 경쟁하는 방식으로, 송신 요구를 먼저 한 쪽이 송신권 갖음

· 데이터 전송을 하고자 하는 모든 장치가 서로 대등한 관계에 있는 포인트 투 포인트 방식에서 주로 사용

· 송신 요구가 발생한 국이 주국이 되어 상대국(종국)에 셀렉팅 순서를 송신하여 상대국의 수신 가능 상태를 확인한 후 정보 메시지 송신

· 데이터 링크가 설정되면 정보 전송이 종료되기 전가지는 데이터 링크의 종결이 이루어지지 않고 독점적으로 정보 전송을 하게 됨

· 송신 측이 전송할 메시지가 있을 경우 사용 가능한 회선이 있을 때가지 기다려야 함

· 대표적인 시스템 : ALOHA


③ 폴링/셀렉션 방식


주 컴퓨터에서 송·수신 제어권을 가지고 있는 방식

· 트래픽이 많은 멀티 포인트 방식으로 연결된 회선에서 사용

 폴링(Polling)

 주 컴퓨터에서 단말기에게 전송할 데이터가 있는지를 물어 전송할 데이터가 있다면 전송을 허가하는 방식으로, 단말기에서 주 컴퓨터로 보낼 데이터가 있는 경우에 사용 (질의 : 주 컴퓨터→단말기 / 데이터 전송 : 단말기→주 컴퓨터)

 셀렉션(Selection)

 주 컴퓨터가 단말기로 전송할 데이터가 있는 경우 그 단말기가 받을 준비가 되었는가를 묻고, 준비가 되어 있다면 주 컴퓨터에서 단말기로 데이터를 전송하는 방식 (질의&데이터 전송 : 주 컴퓨터→단말기)



163 오류 제어 방식


① 오류의 발생 원인


전송과정에서 오류가 발생하는 주요 원인과 현상

오류 발생 원인

현상

 감쇠(Attenuation)

 · 전송 신호 세력이 전송 매체를 통과하는 과정에서 거리에 따라 약해지는 현상

 · 주파수가 높을 수록 감쇠 현상 심해짐

 · 감쇠 현상을 해결하기 위해 중계기(기지국) 이용

 지연 왜곡(Delay Distortion)

 · 유선 매체에서 발생하는 문제로, 하나의 전송 매체를 통해 여러 신호를 전달했을 때 주파수에 따라 그 속도가 달라짐으로써 생기는 오류

 · 중심 주파수의 전달 속도가 가장 빠르고, 양쪽 끝의 주파수일수록 

 잡음

 (Noise)

 백색 잡음

 (While Noise)

 · 가우스 잡음, 열 잡음

 · 전송 매체 내부에서 온도에 다라 전자의 운동량이 변화함으로써 생기는 잡음으로, 완벽하게 제거하기는 힘듦

 상호 변조(간섭) 잡음

 (Intermodulation Noise)

 · 서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간의 합이나 차로 인해 새로운 주파수가 생성되는 잡음

 · 통신 시스템의 비선형성 때문에 생김

 누화 잡음 = 혼선

 (Cross Talk Noise)

 · 인접한 전송 매체의 전자기적 상호 유도 작용에 의해 생기는 잡음

 · 신호의 경로가 비정상적으로 결합된 경우 나타남

 · 전화 통화중 다른 전화의 내용이 함게 들리는 현상

 충격성 잡음

 (Impulse Noise)

 · 번개와 같은 외부적인 충격 또는 통신 시스템의 결함이나 파손 등의 기계적인 충격에 의해 생기는 잡음

 · 순간적으로 일어나는 높은 진폭의 잡음으로, 비연속적이고 불규칙적인 진폭 갖음

 돌발성 잡음

 자연 현상, 통신 장비의 결함 등 예측할 수 없는 외부 요인에 의해 발생하는 잡음

 위상 지터 잡음

 (Phase Jitter Noise)

 전송 네트워크에서 전송 신호의 위상이 연속적으로 일그러지는 현상

 위상 히트 잡음

 (Phase Hit Noise)

 전송 네트워크에서 전송 신호의 위상에 불연속적인 순간 변화가 일어나는 현상

※ 우연적 왜곡과 시스템적 왜곡

· 우연적 왜곡은 예측할 수 없이 무작위로 발생하는 왜곡으로, 백색 잡음, 충격 잡음, 누화 잡음, 위상 히트 잡음이 있음

· 시스템적 왜곡은 전송 매체에서 언제든지 일어날 수 있는 왜곡으로, 손실, 감쇠, 하모닉 왜곡(신호의 감쇠가 진폭에 의해 달라지는 것)등이 있음


② 오류율


오류율은 전송 데이터에 대한 오류의 비율을 나타내는 것으로, 전송 형태에 따라 다음과 같이 계산함

· 비트 오류율 = 오류 비트 수/전송한 총 비트수

· 블록 오류율 = 오류 블록 수/전송한 총 블록수

· 문자 오류율 = 오류 문자 수/전송한 총 문자수


③ 전송 오류 제어 방식


 전진(순방향) 오류 수정(FEC)

 전진 오류 수정(FEC; Forward Error Correction)은 데이터 전송 과정에서 발생한 오류를 검출하여, 검출된 오류를 재전송 요구 없이 스스로 수정하는 방식

 · 송신 측에서는 문자나 프레임 오류 검출을 위한 부가 정보를 추가시켜 전송하고, 수신 측에서는 이러한 부가 정보를 이용하여 자신이 수신한 데이터에 존재하는 오류를 발견하고 수정함

 · 재전송 요구가 없기 때문에 역 채널이 필요 없고, 연속적인 데이터 흐름 가능

 · 데이터 비트 이외에 오류 검출 및 수정을 위한 비트(잉여 비트)들이 추가로 전송되어야 하기 때문에 전송 효율이 떨어짐

 · 오류의 검출과 수정을 위한 방식에는 해밍 코드 방식과 상승 코드 방식이 있음

 후진(역방향) 오류 수정(BEC)

 후진 오류 수정(BEC; Backward Error Correction)은 데이터 전송 과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 방식

 · 패리티 검사, CRC, 블록 합 방식 등을 사용하여 오류를 검출하고, 오류 제어는 자동 반복 요청(ARQ)에 의해 이루어짐


④ 자동 반복 요청(ARQ)의 개요


· 자동 반복 요청(ARQ; Automatic Repeat reQuest)은 오류 발생 시 수신 측은 오류 발생을 송신 측에 통보하고, 송신 측은 오류 발생 블록을 재전송하는 모든 절차를 의미

· 자동 반복 요청 방식 종류 : 정지-대기 ARQ, Go-back-N ARQ, 선택적 재전송 ARQ, 적응적 ARQ


⑤ 정지-대기 ARQ


정지-대기(Stop-and-Wait) ARQ는 송신 측에서 한 개의 블록을 전송한 후 수신 측으로부터 응답을 기다리는 방식

· 수신 측의 응답이 긍정 응답(ACK)이면 다음 블록 전송하고, 부정 응답(NAK)이면 앞서 송신했던 블록을 재전송

· 블록을 전송할 때마다 수신 측의 응답을 기다려야 하므로 전송 효율이 가장 낮음

· 오류가 발생한 경우 앞서 송신했던 블록만 재전송하면 되므로 구현 방법이 가장 단순


⑥ 연속 ARQ


· 연속(Continuous) ARQ는 정지-대기 ARQ가 갖는 오버헤드를 줄이기 위해 연속적으로 데이터 블록을 보내는 방식

· 수신 측에서는 부정 응답(NAK)만 송신

· 연속 ARQ는 프레임의 송신 순서와 수신 순서가 동일해야 수신이 가능함

 Go-Back-N ARQ

 · 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답을 보내오면 송신 측이 오류가 발생한 블록 이후의 모든 블록을 재전송

 · 전송 요류가 발생하지 않으면 쉬지 않고 연속적으로 송신 가능

 · 오류가 발생한 부분부터 모두 재전송하므로 중복 전송의 단점 있음

 선택적 재전송

 (Selective Repeat) ARQ

 · 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답을 보내오면 송신 측이 오류가 발생한 블록만을 재전송

 · 수신 측에서 데이터를 처리하기 전에 원래 순서대로 조립해야 하므로, 더 복잡한 논리 회로와 큰 용량의 버퍼 필요


⑦ 적응적 ARQ


적응적(Adaptive) ARQ는 전송 효율을 최대로 하기 위해서 데이터 블록의 길이를 채널의 상태에 따라 그때그때 동적으로 변경하는 방식

· 전송 효율이 가장 좋음

· 제어 회로가 매우 복잡하고 비용이 많이 들어 현재는 거의 사용되지 않음



164 오류 검출 방식


① 오류 검출 방식의 개요


· 오류 제어 방식 중 데이터 전송 시에 발생하는 오류를 검출하는 방법에 대한 설명

· 오류를 검출하는 가장 대표적인 방법은 오류 검출 코드를 이용하는 방법으로, 송신 측에서 전송 데이터에 오류 검출 코드를 부가하여 송신하면 수신 측에서는 그 코드를 이용하여 수신된 데이터의 오류를 검출

· 오류 검축 방식 : 패리티 검사, 순환 중복 검사, 궤한 전송 방식, 자동 연속 방식, 해밍 코드 방식, 상승 코드 방식


② 수직 패리티 체크 = 수직 중복 검사(VRC; Vertical Redundancy Check)


· 패리티 검사는 전송 비트에 1비트의 검사 비트인 패리티 비트를 추가하여 오류를 검출하는 방식

· 수직 방향으로 패리티 비트를 부여하는 방식

· 전송 비트들 중 값이 1일 비트의 개수가 짝수 또는 홀수가 되도록 패리티 비트를 부여

- 짝수(우수) 패리티 : 각 전송 비트 내에 1의 개수가 짝수가 되도록 하는 것으로, 주로 비동기식 전송에 사용

- 홀수(기수) 패리티 : 각 전송 비트 내에 1의 개수가 홀수가 되도록 하는 것으로, 주로 동기식 전송에 사용

· 가장 간단한 방식이지만, 두 개의 비트에 동시에 오류가 발생하는 검출 불가능

· 오류를 검출만 할 수 있고, 수정은 하지 못함


③ 수평 패리티 체크 = 세로 중복 검사(LRC; Longitudinal Redundancy Check)


· 수평 방향으로 패리티 비트를 부여하는 방식으로, 전송 비트를 일정랼의 블록으로 묶어서 블록의 맨 마지막에 패리티 비트 부여


④ 순환 중복 검사(CRC)


순환 중복 검사(CRC; Cyclic Redundancy Check)는 다항식 코드를 사용하여 오류를 검출하는 방식

· 동기식 전송에서 주로 사용됨

· HDLC 프레임의 FCS(프레임 검사 순서 필드)에 사용되는 방식

· 집단 오류 검출 가능, 검출률 높으므로 가장 많이 사용됨


⑤ 궤한 전송 방식


· 궤한 전송 방식(Echo Check)은 수신 측에서 받은 데이터를 송신 측으로 되돌려 보내어 원본 데이터와 비교하여 오류가 있는 경우 재전송하는 방식 


⑥ 자동 연속 방식(연속 자동 방식)


· 송신 측에서 동일 데이터를 두 번 이상 전송하면 수신 측에서도 두 데이터를 비교해 이상유무를 판단한 후 오류 발생 시 이를 수정하는 방법


⑦ 해밍 코드 방식


해밍 코드(Hamming Code) 방식은 수신 측에서 오류가 발생한 비트를 검출한 후 직접 수정하는 방식

· 오류 검출은 물론 스스로 수정까지 하므로 자기 정정 부호라고도 함

· 1비트의 오류만 수정이 가능하며, 정보 비트 외에 이영 비트가 많이 필요함

· 송신한 데이터와 수신한 데이터의 각 대응하는 비트가 서로 다른 비트의 수를 해밍 거리

· 전송 비트 중 1, 2, 4, 8, 16, 32, 64 ··· , 번째를 오류 검출을 위한 패리티 비트로 사용하며, 이 비트의 위치는 변하지 않음


⑧ 상승 코드(부호) 방식


상승 코드 방식은 순차적 디코딩과 한계값 디코딩을 사용하여 오류 수정

· 수신 측에서 오류 데이터를 수정할 수 있다는 점에서 해밍 코드와 같지만 상승 코드는 여러 비티의 오류도 수정 가능



출처 : 2017 시나공 정보처리기사 필기

'정보처리기사 > 데이터통신' 카테고리의 다른 글

데이터통신 오답노트  (0) 2017.02.27
5장 통신 프로토콜  (2) 2017.02.15
4장 데이터 회선망  (0) 2017.02.15
2장 데이터 통신 이론  (0) 2017.02.14
1장 데이터 통신의 기본  (0) 2017.02.14

+ Recent posts