통신 방식은 데이터의 전송 방향에 따라 단방향 통신과 양방향 통신으로 구분되며 양방향 통신은 다시 반이중 통신과 정이중 통신으로 구분된다.
단방향 (Simplex) 통신
- 한쪽 방향으로만 전송이 가능한 방식
- 예) 라디오, TV
반이중 (Half-Duplex) 통신
- 양방향 전송이 가능하지만 동시에 양쪽 방향에서 전송할 수 없는 방식
- 2선식 선로를 사용하여 송신과 수신을 번갈아 전송한다.
- 예) 무전기, 모뎀을 이용한 데이터 통신
전이중 (Full-Duplex) 통신
- 동시에 양방향 전송이 가능한 방식
- 4선식 선로를 사용하며, 주파수 분할을 이용할 경우 2선식도 가능하다.
- 전송량이 많고, 전송 매체의 용량이 클 때 사용한다.
- 예) 전화, 전용선을 이용한 데이터 통신
동기식 / 비동기식 전송
동기식 전송
동기식 전송은 미리 정해진 수만큼의 문자열을 한 블록(프레임)으로 만들어 일시에 전송하는 방식이다.
- 블록과 블록 사이에는 휴지 시간(Idle Time)이 없다.
- 프레임 단위로 전송하므로 전송 속도가 빠르다.
- 시작/종료 비트로 인한 오버헤드가 없고, 휴지 시간이 없으므로, 전송 효율이 좋다.
- 주로 원거리 전송에 사용한다.
- 단말기는 반드시 버퍼 기억장치를 내장하여야 한다.
프레임 (Frame)이란?
프레임은 전송할 자료를 일정한 크기로 분리한 것으로, 동기식 전송의 전송 단위이다.
프레임은 데이터 뿐만 아니라 행선지 코드, 동기를 위한 제어 문자, 오류 검출을 위한 패리티나 CRC 등의 추가 정보로 구성된다.
비동기식 전송
비동기식 전송은 한 문자를 나타내는 부호(문자 코드) 앞뒤에 시작 비트(Start Bit)와 정지 비트(Stop Bit)를 붙여서 바이트(Byte)와 바이트(Byte)를 구별하여 전송하는 방식이다.
- 시작 비트, 전송 문자(정보 비트), 정지 비트로 구성된 한 문자를 단위로 하여 전송하며, 오류 검출을 위한 패리티 비트(Parity Bit)를 추가하기도 한다.
- 문자와 문자 사이의 휴지 시간(Idle Time)이 불규칙하다.
- 한꺼번에 많은 데이터를 보내면 프레이밍 에러 (Framing Error)의 가능성이 높아진다.
- 2,000bps (약 2Kbps) 이하의 저속, 단거리 전송에 사용한다.
- 동기화가 단순하고, 가격이 저렴하다.
- 문자마다 시작과 정지를 알리기 위한 비트가 2~3비트씩 추가되므로, 전송 효율이 떨어진다.
전송 제어 (Transmission Control)
정확하고 원활한 데이터의 흐름을 위해 입출력 제어, 회선 제어, 동기 제어, 오류 제어, 흐름 제어 등을 수행하는 것을 말한다.
- OSI 7 참조 모델의 데이터 링크 계층 (2계층)에서 수행하는 기능이다.
- 전송 제어에 사용되는 프로토콜을 전송 제어 프로토콜 또는 데이터 링크 제어 프로토콜이라고 한다.
- 전송 제어 절차는 5단계로 진행된다.

HDLC (High-level Data Link Control)
비트 (Bit) 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 보정할 수 있는 비트 열을 삽입하여 전송한다.
- 포인트 투 포인트 흐름을 제어하고 오류를 보정할 수 있는 비트 열을 삽입하여 전송한다.
- 단방향, 반이중, 전이중 통신을 모두 지원하며 동기식 전송 방식을 사용한다.
- 에러 제어를 위해 Go-Back-N ARQ와 선택적 재전송(Selective Repeat) ARQ를 사용한다.
- 흐름 제어를 위해 슬라이딩 윈도우 방식을 사용한다.
- 전송 제어상의 제한을 받지 않고 자유로이 비트 정보를 전송할 수 있다. (비트 투과성)
- 전송 효율과 신뢰성이 높다.
- HDLC의 데이터 전송 모드 : 표준 (정규) 응답 모드 (NRM), 비동기 응답 모드 (ARM), 비동기 균형(평형) 모드 (ABM)
HDLC 프레임 구조

플래그 (Flag)
프레임의 시작과 끝을 나타내는 고유한 비트 패턴 (01111110) 으로, 프레임의 시작과 끝을 구분, 동기 유지(통화로의 혼선을 방지하기 위해), 비트 투과성을 이용한 기본적인 오류 검출 등의 기능을 수행한다.
주소부 (Address Field)
- 송수신국을 식별하기 위해 사용한다.
- 모든 수신국에 전송되는 방송용은 '11111111', 임의로 지정된 수신국에만 전송되는 시험용은 '00000000' 이다.
제어부 (Control Field)
- 프레임의 종류를 식별하기 위해 사용한다.
- 정보 프레임 (Information Frame) : 사용자 데이터를 전달한다.
- 감독 프레임 (Supervisory Frame) : 오류 제어와 흐름 제어를 수행한다.
- 비(무)번호 프레임 (Unnumbered Frame) : 회선의 설정, 유지 및 종결을 담당한다.
정보부 (Information Field)
실제 정보 메시지가 들어 있는 부분이다.
FCS (프레임 검사 순서 필드)
프레임 내용에 대한 오류 검출을 위해 사용되는 부분으로, 일반적으로 CRC 코드가 사용된다.
오류 발생의 원인
감쇠 (Attenuation)
전송 신호 세력이 전송 매체를 통과하는 과정에서 거리에 따라 약해지는 현상
지연 왜곡 (Delay Distortion)
하나의 전송 매체를 통해 여러 신호를 전달했을 때 주파수에 따라 그 속도가 달라짐으로써 생기는 오류
백색 잡음 (White Noise)
전송 매체 내부에서 온도에 따라 전자의 운동량이 변화함으로써 생기는 잡음으로, 가우스 잡음, 열 잡음이라고도 한다.
상호 변조 (간섭) 잡음 (Intermodulation Noise)
서로 다른 주파수들이 하나의 전송 매체를 공유할 때 주파수 간의 합이나 차로 인해 새로운 주파수가 생성되는 잡음
뉴화 잡음 = 혼선 (Cross talk Noise)
인접한 전송 매체의 전자기적 상호 유도 작용에 의해 생기는 잡음
충격성 잡음 (Impulse Noise)
번개와 같은 외부적인 충격 또는 통신 시스템의 결함이나 파손 등의 기계적인 충격에 의해 순가적으로 생기는 잡음으로, 디지털 데이터를 전송하는 경우 중요한 오류 발생 요인이 된다.
자동 반복 요청 (ARQ: Automatic Repeat reQuest)
오류 발생 시 수신 측은 오류 발생을 송신 측에 통보하고, 송신 측은 오류 발생 블록을 재정송하는 모든 절차를 의미하는 것이다.

정지-대기 (Stop and Wait) ARQ
- 송신 측에서 한 개의 블록을 전송한 후 수신 측으로부터 응답을 기다리는 방식.
- 구현 방법이 가장 단순하지만, 전송 효율이 떨어진다.
연속 (Continuous) ARQ
- 연속적으로 데이터 블록을 보내는 방식.
- Go-Back-N ARQ : 오류가 발생한 블록 이후의 모든 블록을 재전송하는 방식.
- 선택적 재전송 (Selective Repeat) ARQ : 오류가 발생한 블록만을 재전송하는 방식.
적응적 (Adaptive) ARQ
- 블록 길이를 채널의 상태에 따라 그때 그 때 동적으로 변경하는 방식으로, 전송 효율이 가장 좋다.
- 제어 회로가 복잡하고, 비용이 많이 들어 현재 거의 사용되지 않는다.
오류 검출 방식
오류를 검출하는 가장 대표적인 방법은 오류 검출 코드를 이요하는 것으로, 송신 측에서 전송 데이터에 오류 검출 코드를 부가하여 송신하면 수신 측에서는 그 코드를 이용하여 수신된 데이터의 오류를 검출한다.
패리티 검사 (Parity Check)
- 데이터 블록에 1비트의 검사 비트인 패리티 비트를 추가하여 오류를 검출한다.
- 가장 간단한 방식이지만, 2개의 비트에 오류가 동시에 발생하면 검출이 불가능하다.
- 오류를 검출만 할 수 있고, 수정은 하지 못한다.
- 홀수 / 짝수 수직 패리티 체크와 홀수 / 짝수 수평 패리티 체크가 있다.
- 짝수 = 우수, 홀수 = 기수
해밍 코드 (Hamming Code)
- 수신 측에서 오류가 발생한 비트를 검출한 후 직접 수정하는 전진 (순방향) 오류 수정 방식으로 자기 정정 부호라고도 한다.
- 1비트의 오류만 수정이 가능하며, 정보 비트 외에 잉여 비트가 많이 필요하다.
- 전송 비트 중 1, 2, 4, 8, 16, 21, 64 ..., 2n 번째를 오류 검출을 위한 패리티 비트로 사용한다.
순환 중복(잉여) 검사 (CRC)
- 프레임 단위로 오류 검출을 위한 다항식 코드 (FCS)를 사용하여 오류를 검출하는 방식이다.
- 전송 과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 후진(역방향) 오류 수정 방식이다.
- 동기식 전송에 사용되는 어레 검출 기법으로 데이터가 프레임 단위로 전송될 때 사용되는 방식이다.
- HDLC 프레임의 FCS(프레임 검사 순서 필드)를 만드는 방법으로 사용된다.
- 집단 오류를 검출할 수 있고, 검출률이 높으므로 가장 많이 사용된다.