
1. 데이터 링크 계층(Data Link Layer)이란
1.1 정의
데이터 링크 계층 = OSI 7계층 모델 중 2계층으로, 물리 계층에서 직접 연결된 두 노드 간의 데이터 전송을 담당
비유: 우편 시스템에서 한 우체국 → 다음 우체국으로 우편물을 안전하게 전달하는 과정과 비슷합니다.
이 계층은 비트 스트림을 프레임(Frame) 이라는 논리적 단위로 묶어 전송하며, 오류를 감지·수정하고 흐름을 제어해요.
1.2 노드-투-노드(Node-to-Node) 통신의 핵심
데이터 링크 계층은 인접한 두 노드 간(홉 단위)에서만 동작합니다.
[호스트 A] ── 데이터 링크 ── [라우터 R1] ── 데이터 링크 ── [라우터 R2] ── 데이터 링크 ── [호스트 B]
↑ ↑ ↑
한 홉 한 홉 한 홉
⭐ 라우터를 거칠 때마다 새 데이터 링크 프레임이 생성됩니다. (이전에 배운 "MAC 주소는 홉마다 변경"의 근거)
1.3 데이터 링크 계층의 두 서브 계층
데이터 링크 계층은 내부적으로 두 부분으로 나뉘어요.
| 서브 | 계층역할 |
| DLC (Data Link Control) | 프레이밍, 흐름 제어, 오류 제어 |
| MAC (Medium Access Control) | 공유 매체 접근 관리 (충돌 방지, CSMA/CD 등) |
⭐ 이번 편에서는 DLC에 집중합니다. MAC은 LAN 환경(이더넷·Wi-Fi)에서 더 깊이 다뤄요.
1.4 데이터 링크 계층의 3대 핵심 기능
| 기능 | 역할 |
| 프레이밍(Framing) | 비트 스트림 → 프레임 단위로 묶기 |
| 오류 제어(Error Control) | 비트 오류 감지·수정, 재전송 요청 |
| 흐름 제어(Flow Control) | 송신 속도 조절, 수신 버퍼 보호 |
2. 프레이밍(Framing)이란
2.1 정의
프레이밍 = 끊임없이 이어지는 비트 스트림을 논리적 단위인 '프레임'으로 묶는 과정
비유: 긴 기차에 객실(프레임)이 없다면 승객(데이터 비트)들이 어디서 내리고 타야 할지 알 수 없겠죠. 프레이밍은 데이터의 시작과 끝을 명확히 해서 객실(프레임)으로 구분하는 작업입니다.
2.2 왜 프레이밍이 필요한가
| 이유 | 설명 |
| 오류 감지·수정의 단위 | 프레임 단위로 오류 검사 |
| 흐름 제어의 단위 | 프레임 단위로 ACK 주고받음 |
| 재전송의 단위 | 손상된 프레임만 재전송 |
2.3 핵심 과제 — 프레임 경계 표시
프레임의 시작과 끝을 어떻게 표시할까요?
그리고 데이터 안에 표시 패턴과 같은 비트열이 있으면 어떻게 구분할까요? 이를 해결하는 다양한 방식이 있습니다.
3. 프레이밍 방식 3종 ⭐⭐⭐⭐⭐
3.1 바이트 지향 프레이밍 (Byte-Oriented)
원리: 특별한 바이트(예: FLAG = 0x10) 로 프레임의 시작과 끝을 표시
문제 발생 시나리오: 데이터 내부에 우연히 FLAG 바이트가 있다면?
해결책 — 바이트 스터핑(Byte Stuffing):
- 데이터 내부의 FLAG 바이트 앞에 ESC 바이트 추가
- 수신측에서는 ESC를 보면 그 다음 바이트가 데이터임을 알고 ESC 제거
원본 데이터: ... FLAG ...
바이트 스터핑 후: ... ESC FLAG ...
↑ 이것은 데이터다!라는 표시
대표 사용처: PPP 프로토콜
3.2 비트 지향 프레이밍 (Bit-Oriented)
원리: 특별한 비트 패턴(01111110) 으로 프레임 경계 표시
문제 발생 시나리오: 데이터 안에 01111110이 우연히 나타나면?
해결책 — 비트 스터핑(Bit Stuffing):
- 데이터 내부에 1이 5개 연속으로 나타나면 그 뒤에 0을 강제로 삽입
- 수신측에서는 1이 5개 연속 후 0이 나오면 그 0을 제거
원본 데이터: ... 011111100 ...
비트 스터핑 후: ... 0111110100 ...
↑ 강제 삽입된 0
대표 사용처: HDLC 프로토콜
3.3 물리 계층 코딩 위반 (Coding Violation)
원리: 선 부호화에서 사용하지 않는 비 데이터 코드를 활용해 프레임 경계 표시
예시: 4B/5B 인코딩에서 사용하지 않는 코드를 프레임 시작·끝 신호로 사용
대표 사용처: 이더넷(Ethernet) — 프리앰블 + SFD (Start of Frame Delimiter) 사용
[이더넷 프레임 구조]
[프리앰블 7바이트][SFD 1바이트][목적지 MAC][출발지 MAC][데이터]...
↑ ↑
동기화 신호 프레임 시작 표시
3.4 3종 비교 ⭐
| 방식 | 경계 표시 | 스터핑 | 대표 프로토콜 |
| 바이트 지향 | FLAG 바이트 | 바이트 스터핑 (ESC 삽입) | PPP |
| 비트 지향 | 01111110 | 비트 스터핑 (5개 1 후 0 삽입) | HDLC |
| 물리 계층 코딩 | 비 데이터 코드 | 불필요 (코드 자체로 구분) | 이더넷 |
4. 비트 스터핑 상세 예시
4.1 송신측
| 단계 | 비트 |
| 원본 | 0 1 1 1 1 1 1 0 |
| 1이 5개 연속 후 0 강제 삽입 | 0 1 1 1 1 1 0 1 0 |
4.2 수신측
수신 데이터: 0111110 1 0
수신측은 1이 5개 연속 후 나오는 0을 제거합니다.
| 단계 | 비트 |
| 수신 | 0 1 1 1 1 1 0 1 0 |
| 1이 5개 연속 후 0 → 제거 | 0 1 1 1 1 1 1 0 (원본 복원) |
⭐ 핵심: 송신측의 스터핑과 수신측의 디스터핑이 정확한 역과정을 이룹니다.
5. 프레임의 일반 구조
대부분의 프레임은 다음과 같은 구조를 따릅니다.
[FLAG][헤더][데이터(페이로드)][FCS/체크섬][FLAG]
↑ ↑ ↑ ↑ ↑
시작 주소· 네트워크 계층 오류 검출 끝
제어 데이터 코드
정보
| 필드 | 역할 |
| FLAG | 프레임 시작·끝 표시 |
| 헤더 | 주소(MAC), 제어 정보, 순서 번호 |
| 페이로드 | 상위 계층 데이터 (네트워크 계층 패킷) |
| FCS (Frame Check Sequence) | 오류 감지 코드 (CRC 등) |
6. 한눈에 정리
6.1 데이터 링크 계층
역할 : 노드-투-노드 통신 (인접 노드 간)
계층 : OSI 2계층
서브 : DLC (제어) + MAC (매체 접근)
3대 기능 : 프레이밍 + 오류 제어 + 흐름 제어
6.2 프레이밍 3종
바이트 지향 (PPP) → ESC 스터핑
비트 지향 (HDLC) → 5개 1 후 0 삽입
물리 계층 코딩 (이더넷) → 비 데이터 코드 + 프리앰블/SFD
🎯 Lv.1 객관식 — 개념 및 중요 내용 확인 (10문제)
📝 1번 문제
데이터 링크 계층의 OSI 모델상 위치는?
① 1계층 (물리)
② 2계층
③ 3계층 (네트워크)
④ 4계층 (전송)
✅ 정답: ②
📖 해설 데이터 링크 계층 = OSI 모델 2계층입니다.
| 계층 | 명칭 |
| 1 | 물리 |
| 2 | 데이터 링크 ✅ |
| 3 | 네트워크 |
| 4 | 전송 |
| 5 | 애플리케이션 (TCP/IP) |
📝 2번 문제
데이터 링크 계층의 통신 단위는?
① 비트
② 프레임
③ 데이터그램
④ 메시지
✅ 정답: ②
📖 해설
| 계층 | PDU |
| 1 물리 | 비트 |
| 2 데이터 링크 | 프레임(Frame) ✅ |
| 3 네트워크 | 데이터그램 |
| 4 전송 | 세그먼트 |
| 5 애플리케이션 | 메시지 |
📝 3번 문제
데이터 링크 계층의 핵심 통신 방식은?
① 종단 간(End-to-End) 통신
② 노드-투-노드 통신 (인접 노드 간)
③ 브로드캐스트 통신만
④ 단방향 통신만
✅ 정답: ②
📖 해설
데이터 링크 계층 = 인접한 두 노드 간(홉 단위) 통신입니다.
[호스트] ── 데이터 링크 ── [라우터] ── 데이터 링크 ── [호스트]
↑한 홉 ↑한 홉
⭐ 라우터를 거칠 때마다 새 프레임이 생성되어요. 이게 바로 "MAC 주소는 홉마다 변경"의 이유입니다.
📝 4번 문제
데이터 링크 계층의 3대 핵심 기능에 해당하지 않는 것은?
① 프레이밍
② 오류 제어
③ 흐름 제어
④ 라우팅
✅ 정답: ④
📖 해설
라우팅은 3계층(네트워크)의 역할입니다. 데이터 링크 계층은 인접 노드 간 통신만 책임지고, 경로 결정은 하지 않아요.
| 데이터 링크 3대 기능 |
| 프레이밍 |
| 오류 제어 |
| 흐름 제어 |
📝 5번 문제
데이터 링크 계층의 두 서브 계층은?
① TCP, UDP
② DLC, MAC
③ IP, ICMP
④ HTTP, FTP
✅ 정답: ②
📖 해설
| 서브 계층 | 역할 |
| DLC (Data Link Control) | 프레이밍·오류 제어·흐름 제어 |
| MAC (Medium Access Control) | 공유 매체 접근 관리 (충돌 방지) |
⭐ DLC는 "데이터 링크 자체의 제어", MAC은 "공유 매체 접근 관리"라고 외우세요.
📝 6번 문제
프레이밍(Framing)의 핵심 정의는?
① 데이터를 압축하는 과정
② 비트 스트림을 논리적 단위인 프레임으로 묶는 과정
③ 디지털을 아날로그로 변환
④ 라우팅 경로를 결정
✅ 정답: ②
📖 해설
프레이밍 = 비트 스트림 → 프레임으로 묶기
비유: 긴 기차에 객실(프레임)을 만들어 승객(비트)을 구분하는 것과 같아요. 시작과 끝을 명확히 해서 오류 검사·재전송·흐름 제어의 기본 단위가 됩니다.
📝 7번 문제
바이트 지향 프레이밍에서 데이터 내부에 FLAG 바이트가 나타날 때 사용하는 기법은?
① 비트 스터핑
② 바이트 스터핑 (ESC 바이트 삽입)
③ 데이터 압축
④ 무시하고 전송
✅ 정답: ②
📖 해설
바이트 스터핑 = 데이터 내부 FLAG 앞에 ESC 바이트 삽입
원본: ... FLAG ...
스터핑 후: ... ESC FLAG ...
↑ 이것은 데이터!
수신측에서는 ESC를 보면 그 뒤 바이트를 데이터로 처리하고 ESC를 제거합니다. PPP 프로토콜이 대표 사용처예요.
📝 8번 문제
비트 지향 프레이밍에서 사용하는 프레임 경계 표시 패턴은?
① 0x7E (10진수)
② 01111110 (이진수)
③ 11111111 (이진수)
④ 00000000 (이진수)
✅ 정답: ②
📖 해설
비트 지향 프레이밍의 FLAG = 01111110
이 패턴은 데이터 안에 우연히 나올 가능성을 막기 위해 비트 스터핑(1이 5개 연속 후 0 삽입) 을 사용해요.
⭐ HDLC 프로토콜이 이 방식을 사용합니다.
📝 9번 문제
비트 스터핑에서 송신측이 데이터에 0을 강제로 삽입하는 조건은?
① 0이 5개 연속될 때
② 1이 5개 연속될 때
③ 1이 8개 연속될 때
④ FLAG 패턴이 정확히 나올 때만
✅ 정답: ②
📖 해설
비트 스터핑 규칙: 1이 5개 연속되면 그 뒤에 0을 강제로 삽입
원본: 01111110 (FLAG와 같음)
스터핑: 011111010 ← 1이 5개 연속 후 0 삽입
이렇게 하면 데이터 안에 절대 01111110이 나오지 않아요. 수신측은 1이 5개 연속 후 0을 보면 그 0을 제거합니다.
📝 10번 문제
다음 중 프레이밍 방식과 대표 프로토콜 매칭이 잘못된 것은?
① 바이트 지향 — PPP
② 비트 지향 — HDLC
③ 물리 계층 코딩 — 이더넷
④ 비트 지향 — 이더넷
✅ 정답: ④
📖 해설
| 프레이밍 방식 | 대표 프로토콜 |
| 바이트 지향 | PPP |
| 비트 지향 | HDLC |
| 물리 계층 코딩 | 이더넷 (프리앰블 + SFD) |
⭐ 이더넷은 물리 계층 코딩 위반 방식을 사용합니다. 비트 지향이 아니에요.
🎯 Lv.2 객관식 — 심화 개념 확인 (10문제)
📝 1번 문제
다음 중 데이터 링크 계층과 다른 계층의 차이로 옳은 것은?
① 데이터 링크는 종단 간 통신, 네트워크는 노드-투-노드 통신
② 데이터 링크는 노드-투-노드 통신, 네트워크는 호스트 간 종단 간 통신
③ 데이터 링크와 물리 계층 모두 라우팅을 담당
④ 데이터 링크는 비트, 물리는 프레임 단위로 통신
✅ 정답: ②
📖 해설
| 계층 | 통신 범위 | 단위 |
| 1 물리 | 신호 전송 | 비트 |
| 2 데이터 링크 | 노드-투-노드 | 프레임 |
| 3 네트워크 | 호스트 간 종단 | 데이터그램 |
⭐ "데이터 링크 = 홉 단위, 네트워크 = 종단 간"이 핵심 차이입니다.
📝 2번 문제
다음 중 데이터 링크 계층의 흐름 제어가 필요한 가장 본질적인 이유는?
① 데이터를 압축하기 위해
② 빠른 송신자가 느린 수신자를 압도해 수신 버퍼 오버플로우 발생을 방지
③ 라우팅 경로를 최적화하기 위해
④ IP 주소를 자동 할당하기 위해
✅ 정답: ②
📖 해설
비유: 수도꼭지(송신자)에서 물(데이터)이 너무 빠르게 쏟아지면 싱크대(수신자 버퍼)가 넘칩니다. 흐름 제어는 송신 속도를 수신자가 처리할 수 있는 속도에 맞추는 것이에요.
⭐ 흐름 제어의 목적 = 수신자 버퍼 보호.
📝 3번 문제
다음 사례에서 사용된 프레이밍 방식은?
"송신측에서 데이터 '01111110'을 보내려고 하는데, 비트 패턴이 FLAG와 동일해서 그대로 보내면 수신측이 프레임 끝으로 오해할 수 있다. 그래서 송신측은 '011111010'으로 변환해 보냈다."
① 바이트 지향 + 바이트 스터핑
② 비트 지향 + 비트 스터핑
③ 물리 계층 코딩
④ 패리티 비트 추가
✅ 정답: ②
📖 해설
1이 5개 연속 후 0을 강제 삽입하는 것은 비트 지향 + 비트 스터핑 방식입니다.
원본: 01111110
스터핑: 011111010
↑ 강제 삽입된 0
⭐ HDLC 프로토콜이 사용하는 대표적인 방식입니다.
📝 4번 문제
다음 시나리오에서 사용된 프레이밍 방식은?
"PPP 프로토콜에서 데이터 안에 FLAG와 동일한 바이트가 있을 때, 그 앞에 ESC 바이트를 추가해 데이터임을 표시한다."
① 비트 지향 + 비트 스터핑
② 바이트 지향 + 바이트 스터핑
③ 물리 계층 코딩 위반
④ 단순 NRZ 부호화
✅ 정답: ②
📖 해설
PPP는 바이트 지향 프레이밍을 사용하며, ESC 바이트로 바이트 스터핑을 합니다.
| 프로토콜 | 프레이밍 | 스터핑 |
| PPP | 바이트 지향 ✅ | ESC 바이트 |
| HDLC | 비트 지향 | 5개 1 후 0 |
📝 5번 문제
이더넷이 사용하는 프레임 경계 표시 방식은?
① 01111110 비트 패턴
② FLAG 바이트 (0x10)
③ 프리앰블 + SFD (Start of Frame Delimiter)
④ 패리티 비트
✅ 정답: ③
📖 해설
이더넷 = 프리앰블 + SFD 방식 (물리 계층 코딩 위반)
[프리앰블 7바이트][SFD 1바이트][MAC 주소 등...][CRC]
↑ ↑
동기화 프레임 시작
프리앰블은 송수신 동기화에, SFD는 프레임의 시작을 알리는 역할이에요.
📝 6번 문제
비트 스터핑에서 수신측이 비트 1이 5개 연속된 후 0이 나타나면 어떻게 처리하는가?
① 그 0을 제거하여 원본 데이터 복원
② 0을 1로 변환
③ 프레임을 폐기
④ 송신측에 NAK 전송
✅ 정답: ①
📖 해설
비트 디스터핑(De-stuffing) = 1이 5개 연속 후 0이 나오면 그 0 제거
송신측 스터핑과 수신측 디스터핑은 정확한 역과정입니다.
[송신측] [수신측]
01111110 011111010
↓ 스터핑 ↓ 디스터핑
011111010 01111110
(원본 복원)
📝 7번 문제
다음 중 데이터 링크 계층의 두 서브 계층의 역할이 잘못 매칭된 것은?
① DLC — 프레이밍, 오류 제어, 흐름 제어
② MAC — 공유 매체 접근 관리, 충돌 방지
③ DLC — 라우팅 경로 결정
④ MAC — CSMA/CD, CSMA/CA
✅ 정답: ③
📖 해설
라우팅은 3계층(네트워크)의 역할입니다. DLC는 프레이밍·오류·흐름 제어를 담당해요.
| 서브 계층 | 핵심 역할 |
| DLC | 프레이밍, 오류 제어, 흐름 제어 ✅ |
| MAC | 공유 매체 접근 관리 (CSMA/CD, CSMA/CA) ✅ |
📝 8번 문제
다음 중 프레이밍이 필요한 이유로 가장 적절하지 않은 것은?
① 오류 감지의 단위로 사용
② 흐름 제어의 단위로 사용
③ 재전송의 단위로 사용
④ 데이터 압축의 단위로 사용
✅ 정답: ④
📖 해설
데이터 압축은 소스 코딩의 영역이지 프레이밍과 무관합니다.
| 프레이밍이 필요한 이유 |
| ✅ 오류 감지·수정의 단위 |
| ✅ 흐름 제어의 단위 |
| ✅ 재전송의 단위 |
📝 9번 문제
다음 중 일반적인 프레임 구조에 포함되지 않는 필드는?
① FLAG (시작·끝)
② 헤더 (주소·제어 정보)
③ 페이로드 (상위 계층 데이터)
④ DNS 캐시
✅ 정답: ④
📖 해설
DNS 캐시는 5계층 애플리케이션의 영역입니다. 프레임은 다음과 같이 구성돼요.
[FLAG][헤더][페이로드][FCS][FLAG]
↑ ↑ ↑ ↑
경계 주소 네트워크 오류
제어 계층 검출
데이터
📝 10번 문제
다음 시나리오를 분석한 설명 중 가장 정확한 것은?
"호스트 A에서 호스트 B로 데이터 전송 시, 중간에 라우터 R1과 R2를 거친다. A→R1, R1→R2, R2→B 각 구간에서 데이터가 새로운 프레임으로 캡슐화된다."
① 한 프레임이 종단 간 그대로 유지된다
② 데이터 링크 계층은 노드-투-노드 통신이므로 각 홉마다 새 프레임이 생성된다
③ 라우터는 데이터 링크 계층을 사용하지 않는다
④ 프레임은 항상 호스트에서만 생성된다
✅ 정답: ②
📖 해설
데이터 링크 계층은 노드-투-노드(홉 단위) 통신이므로, 라우터를 거칠 때마다 새 프레임이 생성됩니다.
[A] ──프레임1── [R1] ──프레임2── [R2] ──프레임3── [B]
각 구간마다 새 프레임 (MAC 주소도 변경)
⭐ 이전에 배운 "IP 주소는 종단 간 불변, MAC 주소는 홉마다 변경" 의 직접적인 근거가 바로 이거예요.
🎯 Lv.3 — 객관식 + 빈칸 채우기 혼합 (10문제)
📝 1번 문제 [빈칸형]
다음 데이터 링크 계층 정의 빈칸을 채우시오.
데이터 링크 계층은 OSI 모델의 ( ㄱ )계층으로, 물리 계층에서 직접 연결된 두 ( ㄴ ) 간의 데이터 전송을 담당한다.
통신 단위는 ( ㄷ )(이)며, 두 서브 계층은 ( ㄹ )와(과) ( ㅁ )(이)다.
3대 핵심 기능은 ( ㅂ ), ( ㅅ ), ( ㅇ )(이)다.
✅ 정답
- ㄱ: 2
- ㄴ: 노드(Node)
- ㄷ: 프레임(Frame)
- ㄹ: DLC (Data Link Control)
- ㅁ: MAC (Medium Access Control)
- ㅂ, ㅅ, ㅇ: 프레이밍(Framing), 오류 제어(Error Control), 흐름 제어(Flow Control)
📖 해설 ⭐ 데이터 링크 계층 핵심 정리:
2계층 + 노드-투-노드 + 프레임
서브: DLC + MAC
3대 기능: 프레이밍 + 오류 제어 + 흐름 제어
📝 2번 문제 [빈칸형]
다음 프레이밍 3종 빈칸을 채우시오.
| 프레이밍 방식 | 경계 표시 | 스터핑 기법 | 대표 프로토콜 |
| 바이트 지향 | ( ㄱ ) 바이트 | ( ㄴ ) 스터핑 | ( ㄷ ) |
| 비트 지향 | ( ㄹ ) 패턴 | ( ㅁ ) 스터핑 | ( ㅂ ) |
| 물리 계층 코딩 | 비 데이터 코드 | 불필요 | ( ㅅ ) |
✅ 정답
- ㄱ: FLAG (예: 0x10)
- ㄴ: 바이트(Byte) — ESC 삽입
- ㄷ: PPP
- ㄹ: 01111110
- ㅁ: 비트(Bit) — 5개 1 후 0 삽입
- ㅂ: HDLC
- ㅅ: 이더넷(Ethernet) — 프리앰블 + SFD
📖 해설 ⭐ 프레이밍 3종 한 묶음 외우기:
바이트 지향 → FLAG + ESC 스터핑 → PPP
비트 지향 → 01111110 + 비트 스터핑 → HDLC
물리 코딩 → 프리앰블 + SFD → 이더넷
📝 3번 문제 [객관식]
다음 중 비트 스터핑(Bit Stuffing) 규칙으로 옳은 것은?
① 0이 3개 연속되면 1을 삽입
② 1이 5개 연속되면 그 뒤에 0을 강제로 삽입
③ FLAG 패턴이 데이터에 정확히 나올 때만 0 삽입
④ 데이터 시작 부분에 무조건 0 삽입
✅ 정답: ②
📖 해설
| 단계 | 규칙 |
| 송신측 (스터핑) | 1이 5개 연속 → 뒤에 0 강제 삽입 |
| 수신측 (디스터핑) | 1이 5개 연속 후 0 → 그 0 제거 |
⭐ "5개 1 → 0 삽입"이라는 규칙은 데이터 안에 절대 01111110(FLAG)이 나오지 않게 막는 거예요.
📝 4번 문제 [빈칸형]
다음 비트 스터핑 변환의 빈칸을 채우시오. (1이 5개 연속되면 그 뒤에 0 삽입)
원본 데이터: 01111110 11111111 비트 스터핑 후: ( ㄱ ) ( ㄴ )
✅ 정답
- ㄱ: 011111010
- ㄴ: 111110111
📖 해설
[01111110 처리]
0 1 1 1 1 1 1 0
↑5개 1 후 0 삽입 (강제)
0 1 1 1 1 1 0 1 0 ← 스터핑 결과
[11111111 처리]
1 1 1 1 1 1 1 1
↑5개 1 후 0 삽입
1 1 1 1 1 0 1 1 1 ← 스터핑 결과
⭐ 송신측은 무조건 1이 5개 연속되면 그 뒤에 0을 삽입합니다. 그 다음 비트가 무엇이든 상관없어요.
📝 5번 문제 [객관식]
다음 사례에서 가장 적합한 프레이밍 방식은?
"이더넷 LAN에서 두 컴퓨터가 통신할 때, 4B/5B 인코딩의 비 데이터 코드를 사용해 프레임 시작과 끝을 구분한다."
① 바이트 지향 (PPP)
② 비트 지향 (HDLC)
③ 물리 계층 코딩 위반 (이더넷)
④ ESC 스터핑
✅ 정답: ③
📖 해설
이더넷은 물리 계층 코딩 위반 방식을 사용합니다. 4B/5B 인코딩에서 사용하지 않는 비 데이터 코드를 프레임 경계 신호로 활용해요.
[이더넷 프레임]
[프리앰블][SFD][목적지 MAC][출발지 MAC][데이터][CRC]
↑ ↑
동기화 시작 표시
⭐ 이더넷은 스터핑이 불필요해요 — 비 데이터 코드는 데이터 안에 절대 나올 수 없기 때문이에요.
📝 6번 문제 [빈칸형]
다음 빈칸을 채우시오.
데이터 링크 계층의 통신은 종단 간(End-to-End)이 아니라 ( ㄱ ) 통신이다. 따라서 데이터가 호스트 A에서 라우터 R1, R2를 거쳐 호스트 B로 갈 때, 각 구간마다 ( ㄴ )이(가) 새로 생성된다. 그 결과 ( ㄷ ) 주소는 종단 간 불변이지만, ( ㄹ ) 주소는 홉마다 변경된다.
✅ 정답
- ㄱ: 노드-투-노드(Node-to-Node) 또는 홉 바이 홉(Hop-by-Hop)
- ㄴ: 프레임(Frame)
- ㄷ: IP
- ㄹ: MAC
📖 해설
⭐ 이전에 배운 "IP는 불변, MAC은 변경"의 근본 원인이 바로 데이터 링크 계층의 노드-투-노드 통신입니다.
[A]──프레임1──[R1]──프레임2──[R2]──프레임3──[B]
IP A→B IP A→B IP A→B (불변)
MAC A→R1 MAC R1→R2 MAC R2→B (홉마다 변경)
📝 7번 문제 [객관식]
다음 중 프레임의 일반 구조에서 FCS(Frame Check Sequence)의 역할은?
① 프레임의 시작을 표시
② 프레임의 끝을 표시
③ 오류 감지 (CRC 등)
④ 송신자의 IP 주소
✅ 정답: ③
📖 해설 FCS = 오류 감지 코드 (주로 CRC 사용)
[FLAG][헤더][페이로드][FCS][FLAG]
↑
오류 감지 코드
수신측은 FCS를 검사해 프레임이 손상되었는지 확인합니다. CRC가 가장 강력하고 자주 사용돼요.
📝 8번 문제 [빈칸형]
다음 데이터 링크 계층 종합 표 빈칸을 채우시오.
| 항목 | 핵심 |
| 통신 범위 | ( ㄱ ) (인접 노드 간) |
| 통신 단위 | ( ㄴ ) |
| 두 서브 계층 | ( ㄷ ) + ( ㄹ ) |
| 3대 기능 | 프레이밍 + ( ㅁ ) + ( ㅂ ) |
| 프레이밍 3종 | 바이트 지향 + ( ㅅ ) + 물리 계층 코딩 |
| PPP의 프레이밍 | ( ㅇ ) 지향 |
| HDLC의 프레이밍 | ( ㅈ ) 지향 |
✅ 정답
- ㄱ: 노드-투-노드(Node-to-Node)
- ㄴ: 프레임(Frame)
- ㄷ: DLC
- ㄹ: MAC
- ㅁ: 오류 제어(Error Control)
- ㅂ: 흐름 제어(Flow Control)
- ㅅ: 비트 지향(Bit-Oriented)
- ㅇ: 바이트(Byte)
- ㅈ: 비트(Bit)
📖 해설
[12편 한 줄 요약]
계층 : OSI 2계층, 노드-투-노드, 프레임 단위
서브 : DLC + MAC
기능 : 프레이밍 + 오류 제어 + 흐름 제어
프레이밍 : 바이트(PPP), 비트(HDLC), 물리 코딩(이더넷)
📝 9번 문제 [객관식]
다음 시나리오를 분석한 설명 중 가장 정확한 것은?
"PPP 프로토콜로 데이터를 보내는데, 페이로드 안에 FLAG와 동일한 바이트가 우연히 포함되어 있다. 송신측은 FLAG 바이트 앞에 ESC 바이트를 추가해 전송했고, 수신측은 ESC를 보면 그 다음 바이트를 데이터로 처리한 후 ESC를 제거했다."
① 이는 비트 스터핑의 사례다
② 이는 바이트 스터핑의 사례로, 송수신측이 정확한 역과정을 통해 원본 데이터를 복원한다
③ 데이터가 손실된다
④ FLAG 바이트는 프레임 안에 절대 나타나지 않는다
✅ 정답: ②
📖 해설
바이트 스터핑(ESC 삽입) ↔ 디스터핑(ESC 제거) 의 정확한 역과정입니다.
[송신측]
원본: ... FLAG ...
스터핑: ... ESC FLAG ...
↑ "이건 데이터!" 표시
[수신측]
수신: ... ESC FLAG ...
디스터핑: ... FLAG ... ← 원본 복원
⭐ PPP는 바이트 지향이라 ESC 스터핑을 사용해요. 비트 스터핑은 HDLC가 사용합니다.
📝 10번 문제 [빈칸형]
다음 프레임 일반 구조의 빈칸을 채우시오.
[( ㄱ )][헤더][페이로드][( ㄴ )][( ㄱ )]
ㄱ. 프레임의 시작과 끝을 표시: ( )
ㄴ. 오류 감지를 위한 코드 (주로 CRC 사용): ( )
ㄷ. 헤더에 포함되는 주요 정보 3가지: ( ), ( ), ( )
✅ 정답
- ㄱ: FLAG
- ㄴ: FCS (Frame Check Sequence) 또는 체크섬
- ㄷ: 주소(MAC), 제어 정보, 순서 번호
📖 해설 ⭐ 프레임 구조 한 묶음:
[FLAG][헤더 (주소·제어·순서)][페이로드 (네트워크 계층 데이터)][FCS][FLAG]
↑ ↑ ↑ ↑
경계 제어 정보 상위 계층 데이터 오류 검출
'📌 SW전공-개념 > 데이터통신' 카테고리의 다른 글
| ✅ [개념 ch3-14] 흐름 제어와 ARQ 3종 완벽 정리 | 정지-대기·슬라이딩 윈도우·Go-Back-N·SR (0) | 2026.05.16 |
|---|---|
| ✅ [개념 ch3-13] 오류 제어와 해밍 거리 완벽 정리 | 패리티·CRC·해밍 코드의 비밀 (1) | 2026.05.15 |
| ✅[개념 ch2-11] 통신망 응용 | PSTN·이동통신·케이블 인터넷·위성 통신 (0) | 2026.05.13 |
| ✅[개념 ch2-10] 변조와 다중화 | ASK·FSK·PSK·QAM부터 FDM·OFDM·TDM·CDMA까지 (1) | 2026.05.12 |
| ✅[개념 ch2-09] 0과 1을 신호로 바꾸는 규칙 | 선 부호화(Line Coding) (1) | 2026.05.11 |