데이터 링크 프로토콜과 오류 제어
요약
정보처리기사 실기 대비, 데이터 링크 계층의 주요 프로토콜인 HDLC, PPP, 프레임 릴레이, ATM과 오류 제어 방식인 순방향 오류 수정(FEC), 역방향 오류 수정(BEC)에 대해 알아봅니다.
용어 | 키워드 |
---|---|
데이터 링크 계층 | OSI 2계층, 노드 간 데이터 전송, 오류 수정 |
HDLC | 비트 위주 프로토콜, 프레임 구조, 비트 스터핑 |
정보 프레임 | 제어부 '0' 시작, 사용자 데이터 전달 |
감독 프레임 | 제어부 '10' 시작, 오류/흐름 제어 |
비번호 프레임 | 제어부 '11' 시작, 링크 동작 모드 설정 |
ABM | 비동기 균형 모드, 포인트 투 포인트 균형 링크, 혼란국(기리), 허가 없이 전송 |
ARM | 비동기 응답 모드, 포인트 투 포인트 불균형 링크, 종국이 허가 없이 송신 가능 |
ATM | 53바이트 셀 단위, 비동기 전송 모드, 고속 스위칭 |
FEC | 순방향 오류 수정, 재전송 요구 없이 스스로 수정, 해밍 코드 |
BEC | 역방향 오류 수정, 재전송 요구, ARQ |
패리티 검사 | 1비트 추가, 짝수/홀수 개수 검증 |
CRC | 순환 중복 검사, 다항식 코드, 집단 오류 검출 |
❗️각 프로토콜의 특징과 오류 제어 방식을 구분하여 암기하는 것이 중요합니다.
데이터 링크 계층 한눈에 보기
데이터 링크 계층은 OSI 7계층 모델의 2계층으로, 물리적 링크를 통해 데이터를 신뢰성 있게 전송하는 역할을 담당합니다. 주요 기능은 프레이밍(Framing), 흐름 제어(Flow Control), 오류 제어(Error Control) 입니다.
- 데이터 링크 프로토콜: 노드 대 노드(Point-to-Point) 간의 데이터 교환을 관리하는 통신 규약입니다.
- 프레이밍 : 네트워크 계층에서 받은 패킷에 정보를 붙여 '프레임'으로 만드는 과정입니다.
- 흐름 제어 : 송신이 너무 빨라서 수신 측에서 처리할 수 없는 경우를 방지하는 기술입니다.
- 오류 제어: 전송 중 발생할 수 있는 데이터 오류를 감지하고 수정하는 기술입니다.
⭐️ : 출제된 용어
구분 | 주요 프로토콜 및 기술 | 특징 |
---|---|---|
데이터 링크 프로토콜 | ⭐️HDLC, PPP, 프레임 릴레이, ⭐️ATM | 비트 중심, 문자 중심, 고속 데이터 전송 등 |
오류 제어 방식 | 순방향 오류 수정(FEC), 역방향 오류 수정(BEC) | 오류 감지 후 재전송 요청 또는 스스로 수정 |
데이터 링크 프로토콜
데이터 링크 프로토콜은 인접한 두 장치(노드) 사이의 데이터 전송을 관리하고 오류를 수정1합니다.
HDLC (High-level Data Link Control)
- 비트(Bit) 중심의 프로토콜로, 점대점(Point-to-Point) 및 다중점(Multi-point) 링크를 모두 지원합니다.
- 프레임 구조:
플래그 - 주소부 - 제어부 - 정보부 - FCS - 플래그
순서로 구성됩니다. - 특징:
- 전송 효율과 신뢰성이 높습니다.
- 데이터의 투명성을 보장하기 위해 비트 스터핑(Bit Stuffing) 을 사용합니다. (데이터에
1
이 5개 연속되면0
을 추가) - 주로 동기식 전송에 사용됩니다.
HDLC 프레임의 종류
제어부의 첫 번째, 두 번째 비트를 사용하여 프레임의 종류를 구별합니다.
프레임 | 제어부 시작 | 키워드 |
---|---|---|
I(정보) 프레임 | 0 | 데이터 전달 역할 |
S(감시/감독) 프레임 | 10 | 오류/흐름 제어 역할 |
U(비번호) 프레임 | 11 | 링크 동작모드 설정 역할 |
-
정보(Information) 프레임
- 제어부가
0
으로 시작하는 프레임입니다. - 사용자 데이터를 전달하는 역할을 합니다.
- 데이터 전송과 함께 확인 응답(ACK)도 포함할 수 있습니다.
- 제어부가
-
감독(Supervisory) 프레임
- 제어부가
10
으로 시작하는 프레임입니다. - 오류 제어와 흐름 제어를 위해 사용됩니다.
- 데이터 전송 없이 제어 정보만 전달합니다. (ACK, NAK 등)
- 제어부가
-
비번호(Unnumbered) 프레임
- 제어부가
11
로 시작하는 프레임입니다. - 링크의 동작 모드 설정과 관리를 담당합니다.
- 링크 설정(Setup), 해제(Disconnect) 등의 제어 명령에 사용됩니다.
- 제어부가
HDLC 데이터 전송 모드
HDLC는 세 가지 데이터 전송 모드를 제공합니다.
동작 모드 | 키워드 |
---|---|
정규 응답 모드(NRM) | 보조국(종국)은 폴 메시지 수신한 경우에만 송신 |
비동기 응답 모드(ARM) | 포인트 투 포인트 불균형 링크에서 사용, 혼합국(주국 + 보조국)끼리 허가 없이 전송 가능 |
비동기 균형 모드(ABM) | 포인트 투 포인트 균형 링크에서 사용, 종국은 주국의 허가없이 송신 가능 |
-
정규 응답 모드 (NRM, Normal Response Mode)
- 불균형(Unbalanced) 구성으로, 한 개의 주국(Primary Station)과 여러 개의 종국(Secondary Station)으로 이루어집니다.
- 종국은 주국의 허가가 있을 때만 전송할 수 있습니다.
- 주로 다중점(Multi-point) 링크에서 사용됩니다.
-
비동기 응답 모드 (ARM, Asynchronous Response Mode)
- 전이중 통신을 하는 포인트 투 포인트 불균형 링크 구성에 사용됩니다.
- 종국은 주국의 허가 없이 송신할 수 있습니다.
- 하지만 링크 설정이나 오류 복구 등의 제어 기능은 주국만 수행합니다.
-
비동기 균형 모드 (ABM, Asynchronous Balanced Mode)
- 포인트 투 포인트 균형 링크에서 사용됩니다.
- 모든 국이 혼란국(Combined Station, 기리)이 되어 주국과 종국의 기능을 모두 수행합니다.
- 혼란국은 허가 없이 언제나 전송할 수 있습니다.
- 가장 널리 사용되는 모드로, 효율적인 양방향 통신이 가능합니다.
PPP (Point-to-Point Protocol)
- 문자(Character) 중심의 프로토콜로, 주로 두 컴퓨터 간의 직렬 인터페이스를 통해 통신하는 데 사용됩니다.
- 특징:
- HDLC와 달리 문자 중심이며, 프레임 구조가 더 유연합니다.
- 오류 감지만 수행하며, 오류 복구는 상위 계층에 맡깁니다.
- IP 주소 할당 및 인증(PAP, CHAP)과 같은 다양한 네트워크 제어 프로토콜(NCP)을 지원합니다.
- 주로 비동기식 전송에 사용되지만 동기식도 지원합니다.
프레임 릴레이 (Frame Relay)
- 고속 데이터 전송을 위해 개발된 프로토콜로, X.25의 단점을 개선했습니다.
- 특징:
- 오류 제어와 흐름 제어를 단순화하여 전송 속도를 높였습니다. (오류 발생 시 프레임을 폐기하고 상위 계층에서 처리)
- 가상 회선(Virtual Circuit) 방식을 사용하여 논리적인 연결을 설정합니다.
- 주로 LAN과 LAN을 연결하는 WAN 서비스에 사용됩니다.
ATM (Asynchronous Transfer Mode, 비동기 전송 모드)
- 53바이트(헤더 5바이트, 페이로드 48바이트) 크기의 작은 셀(Cell) 단위로 데이터를 전송하는 고속 스위칭 기술입니다.
- 특징:
- 음성, 비디오, 데이터 등 다양한 유형의 정보를 하나의 네트워크로 통합하여 전송할 수 있습니다.
- 고정 길이 셀을 사용하여 하드웨어적인 스위칭이 가능하므로 매우 빠른 속도를 제공합니다.
- B-ISDN의 핵심 기술로 사용됩니다.
데이터 링크 오류 제어
전송 과정에서 발생하는 오류를 감지하고 수정하는 방식입니다.
2.1. 순방향 오류 수정 (FEC, Forward Error Correction)
- 수신 측에서 오류를 스스로 감지하고 수정하는 방식입니다.
- 특징:
- 데이터 전송 시 오류 수정에 필요한 잉여 비트(Redundant Bits) 를 함께 보냅니다. (예: 해밍 코드)
- 역방향 채널이 필요 없어 재전송 요청이 없으므로, 실시간 통신이나 단방향 통신에 적합합니다.
- 구현이 복잡하고, 추가적인 비트로 인해 전송 효율이 낮아질 수 있습니다.
왜 잉여 비트(Redundant Bits)를 추가할까요?
원본 데이터만 보내면 수신 측은 받은 데이터가 전송 중에 변질되었는지, 아니면 그대로 도착했는지 판단할 방법이 없습니다. 잉여 비트는 수신 측에서 오류 발생 여부를 판단할 근거를 제공합니다.
- 역방향 오류 수정(BEC) 에서는 오류를 탐지할 수 있을 정도의 최소한의 정보('지문')를 추가합니다.
- 순방향 오류 수정(FEC) 에서는 오류를 탐지하고 직접 수정까지 할 수 있을 만큼의 충분한 정보('해설지')를 추가합니다.
이처럼 두 방식 모두 잉여 비트를 사용하지만, 그 목적과 정보량에서 차이가 있습니다.
2.2. 역방향 오류 수정 (BEC, Backward Error Correction)
- 수신 측에서 오류를 감지하면 송신 측에 재전송을 요청하는 방식입니다. ARQ(Automatic Repeat reQuest) 라고도 합니다.
- BEC는 오류를 '검출'하는 메커니즘과, 검출된 오류에 대해 재전송을 요청하는 'ARQ 프로토콜'로 구성됩니다.
오류 검출 기법
오류를 검출하기 위해 데이터에 잉여 비트(Redundant Bits) 를 추가하여 전송합니다.
-
패리티 검사 (Parity Check)
- 데이터 블록에 1비트의 패리티 비트를 추가하여, 블록 내
1
의 개수가 짝수(짝수 패리티) 또는 홀수(홀수 패리티)가 되도록 하는 가장 간단한 방법입니다. - 한계: 짝수 개의 비트에서 오류가 발생하면 검출할 수 없습니다. (예: 2개의 비트가
0
에서1
로 바뀌면1
의 개수는 여전히 짝수)
- 데이터 블록에 1비트의 패리티 비트를 추가하여, 블록 내
-
순환 중복 검사 (CRC, Cyclic Redundancy Check)
- 다항식 코드를 사용하여 오류를 검출하는 강력한 방법입니다. 송신 측은 데이터를 미리 정해진 생성 다항식(Generator Polynomial) 으로 나누어 나머지를 계산하고, 이 나머지를 데이터에 덧붙여 전송합니다.
- 수신 측은 받은 데이터를 동일한 생성 다항식으로 나누어 나머지가
0
인지 확인하여 오류를 검출합니다. - 집단 오류(Burst Errors)를 검출하는 데 매우 효과적입니다. HDLC의 FCS(Frame Check Sequence)가 CRC를 사용합니다.
-
블록 합 검사 (Block Sum Check)
- 데이터 블록을 고정된 크기의 여러 행으로 나눈 후, 각 열의 합(또는 XOR 연산)을 계산하여 검사 블록을 생성하고 데이터와 함께 전송합니다.
- 수신 측에서 동일한 계산을 수행하여 오류를 검출합니다.
ARQ (자동 반복 요청) 프로토콜
오류가 검출되었을 때 재전송을 관리하는 절차입니다.
- 종류:
- 정지-대기 (Stop-and-Wait) ARQ: 하나의 프레임을 보내고 확인(ACK/NAK)을 받을 때까지 기다립니다.
- Go-Back-N ARQ: 오류가 발생한 프레임부터 모두 재전송합니다.
- 선택적 재전송 (Selective Repeat) ARQ: 오류가 발생한 프레임만 선별하여 재전송합니다.
정보처리기사 실기 대비 문제
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...
문제를 불러오는 중...