OSI 7계층 중 2계층이고, 물리층 바로 위에 있다. 물리층이 비트를 전송하는 역할이라면, 데이터링크층은 인접한 노드 간(Hop-to-Hop) 데이터를 안정적으로 전달하는 역할이다.
핵심 기능은 네 가지다.
Hop-to-Hop vs End-to-End
- Hop-to-Hop: 바로 옆 노드까지만 전달 (데이터링크층)
- End-to-End: 최종 목적지까지 전달 (전송층)
점-대-점 링크 (Point-to-Point)
두 노드 간 1:1 전용 연결이다. 전송 대상이 명확하고, PPP나 전용 회선이 이 방식이다.
브로드캐스트 링크 (Broadcast)
여러 노드가 하나의 매체를 공유하는 방식이다. 충돌 가능성이 있어서 MAC 제어가 필요하다. Ethernet, Wi-Fi가 대표적이다.
데이터링크층은 두 개의 부계층으로 나뉜다.
| 부계층 | 역할 | 핵심 기능 |
|---|---|---|
| DLC (Data Link Control) | 데이터를 정확하게 보내는 것 | 프레이밍, 오류 제어, 흐름 제어 |
| MAC (Media Access Control) | 매체 접근 경쟁 해결 | 충돌 방지, MAC 주소 기반 전달 |
비트 스트림을 프레임 단위로 잘라서 시작과 끝을 표시하는 과정이다. 프레임에는 송신자 MAC, 수신자 MAC, 데이터(payload), 오류 검출 정보(CRC)가 들어간다.
바이트 기반 방식 (Byte Stuffing)
특정 Flag 문자로 프레임 시작/끝을 표시한다. 데이터 안에 Flag와 같은 문자가 있으면 Escape 처리를 한다.
Flag: 0x7E, Escape: 0x5E
원본: 0x12 0x7E 0x34 0x5E
전송: 0x12 0x5E 0x7E 0x34 0x5E 0x5E
비트 기반 방식 (Bit Stuffing)
Flag 비트 패턴(01111110)으로 경계를 표시한다. 데이터에서 1이 5개 연속으로 나오면 0을 삽입한다.
원본: 00011111 1110011111 01000
전송: 0001111101110011111001000
오류 종류
오류를 검출하려면 데이터에 중복 비트(Redundant bits) 를 추가해서 함께 전송한다.
CRC (Cyclic Redundancy Check) — 가장 강력한 방식
송신: 데이터 ÷ g(x) → 나머지 = CRC → 전송 = 데이터 + CRC
수신: (데이터+CRC) ÷ g(x) → 나머지 = 0이면 정상, ≠ 0이면 오류
| 방식 | 검출 능력 | 주요 사용처 |
|---|---|---|
| 패리티 검사 | 단일 비트만 | 메모리 |
| 블록 검사 | 다수 비트 | 과거 통신 |
| CRC | 매우 강력 | Ethernet, ZIP |
| 체크섬 | 중간 | TCP/IP |
해밍 거리 (Hamming Distance)
두 코드워드 간 다른 비트 수다. XOR 연산 후 1의 개수를 세면 된다.
000 ⊕ 011 = 011 → 해밍 거리 = 2
10101 ⊕ 11110 = 01011 → 해밍 거리 = 3
비트 기반 데이터링크 프로토콜이다. WAN, 라우터 간 링크에서 사용한다.
전송 모드 두 가지.
| 프레임 | 역할 |
|---|---|
| I-frame | 실제 데이터 전달, 순서 번호 포함 |
| S-frame | 오류/흐름 제어 (ACK, NAK) |
| U-frame | 연결 설정/해제 |
피기백킹 (Piggybacking): 데이터 프레임에 ACK를 함께 실어 보내서 전송 효율을 높이는 방식이다.
바이트 기반 데이터링크 프로토콜이다. 가정용 인터넷 접속, 라우터 간 WAN 연결에서 사용한다. 순서번호/흐름 제어/오류 재전송이 없고 단순 전달에 집중한다.
PPP 연결 단계
Dead → Establish(LCP) → Authenticate(PAP/CHAP) → Network(NCP) → Open → Terminate
TMI: 특히 JWT 토큰 인증 방식이 PPP의 CHAP처럼 챌린지-응답 기반으로 설계하면 더 안전하다.

중앙 제어 없이 노드가 자율적으로 전송하는 방식이다.
CSMA/CD (Collision Detection) — 유선 Ethernet
채널 감지 → Idle이면 전송 → 전송 중 충돌 감지 → 즉시 중단 → Backoff → 재전송
CSMA/CA (Collision Avoidance) — 무선 Wi-Fi
채널 감지 → Idle이면 IFS 대기 후 전송 → ACK로 성공 확인
Busy이면 랜덤 Backoff → 재시도
| CSMA/CD | CSMA/CA | |
|---|---|---|
| 환경 | 유선 (Ethernet) | 무선 (Wi-Fi) |
| 방식 | 충돌 감지 후 처리 | 충돌 회피 사전 예방 |
| 충돌 감지 | 가능 | 어려움 |
CSMA 지속 방식
| 방식 | 동작 | 특징 |
|---|---|---|
| 1-persistent | Idle이면 즉시 전송 | 충돌 확률 높음 |
| Nonpersistent | Busy면 랜덤 대기 | 충돌 감소, 지연 증가 |
| p-persistent | 확률 p로 전송 | 충돌과 지연의 절충 |

충돌 없이 전송 권한을 얻은 노드만 전송하는 방식이다.
| IP 주소 | MAC 주소 | |
|---|---|---|
| 역할 | 최종 목적지 식별 | 인접 노드 식별 |
| 범위 | End-to-End | Hop-to-Hop |
| 변경 | 네트워크 이동 시 변경 | 고정 (48bit) |
| 예시 | 192.168.0.1 | AA:BB:CC:DD:EE:FF |
IP 주소는 알지만 MAC 주소를 모를 때 MAC 주소를 알아내는 프로토콜이다.
1. ARP Request (브로드캐스트): "192.168.0.5 MAC 주소 가진 사람 누구?"
2. ARP Reply (유니캐스트): "나야! 내 MAC은 AA:BB:CC:DD:EE:FF"
3. ARP Cache 저장: 다음엔 다시 물어보지 않아도 됨

TMI: 터미널에서
arp -a명령어로 현재 ARP 캐시 테이블을 직접 확인할 수 있다. 같은 네트워크 안에서 어떤 IP가 어떤 MAC 주소와 매핑되어 있는지 볼 수 있다.
Forouzan, B. A. (2013). Data Communications and Networking (6th ed.). McGraw-Hill.
번역: 이재광, 김중규, 이경현, 홍충선. 데이터 통신과 네트워킹 TCP/IP 프로토콜 기반 (개정 6 수정판). 퍼스트북.