데이터 링크 계층은 장치 간 신뢰성 있는 데이터 전송을 담당하는 계층이다. 이 계층은 MAC(Media Access Control) 계층과 LLC(Logical Link Control) 계층으로 나뉜다.
- MAC 계층: 물리적인 데이터 전송 및 접근 제어
- LLC 계층: 논리적인 연결 및 프레임 흐름 관리
MAC 계층
역할
- 네트워크의 물리적 매체(유선/무선)에 대한 접근 제어
- MAC 주소를 사용해 송수신 장치 식별
MAC 주소
- 네트워크 인터페이스 카드(NIC)에 할당된 고유한 48비트 주소
- Source와 Destination MAC 주소를 포함해 프레임 전송
MAC 프레임 구조
MAC 계층 프로토콜에 정의된 MAC 헤더와 트레일러 정보를 추가한 것을 MAC 프레임이라 하며, IEEE 802.3 표준안의 이더넷 프로토콜에서는 이더넷 프레임이라고 한다.
| Preamble | Destination MAC | Source MAC | Type/Length | Data | Checksum |-
Preamble: 동기화 신호
- 수신 호스트가 송신 호스트의 클록과 동기를 맞출 수 있도록 시간을 제공하는 것이 목적
- Destination MAC, Source MAC: 목적지와 송신지 MAC 주소
- Type/Length: 상위 프로토콜 식별/전송 데이터의 크기
- Checksum: 데이터 변형 오류의 여부를 확인할 수 있는 값
CSMA/CD
전송 매체의 신호를 감지해 프레임의 전송 여부를 결정하는 프로토콜을 신호 감지(Carrier Sense) 프로토콜이라고 한다.
신호 감지 프로토콜은 신호 감지 방식에 따라 분류된다.
1-persistent CSMA
신호 감지 프로토콜 중 가장 간단한 형태는 1-persistent CSMA 방식이다.
-
기본 원리
- 송신 노드가 먼저 채널 감지
- 채널이 비어 있으면, 즉시 데이터 전송
- 채널이 사용 중이면, 계속 감지하고 대기
- 채널이 다시 비어지면 즉시 전송
- 충돌이 발생하면 백오프(Backoff, 랜덤 대기 후 재시도) 과정 수행
-
한계
- 충돌 발생 확률이 높음
Non-persistent CSMA
-
동작 과정
- 송신 노드가 채널 감지
- 채널이 비어 있으면 즉시 데이터 전송
- 채널이 사용 중이면 일정 시간 랜덤 대기
- 랜덤 대기 후 다시 감지하고, 비어 있으면 전송, 사용 중이면 다시 대기
- 충돌이 발생하면 백오프(Backoff) 과정 수행
-
장점
- 충돌 발생 확률이 낮음
-
단점
- 채널 사용률이 낮음(효율이 떨어짐)
p-persistent CSMA 위 두 CSMA 방식의 절충형
-
동작 과정
- 송신 노드가 채널 감지
- 채널이 비어 있으면 p의 확률로 즉시 전송
- (1-p)의 확률로 랜덤 대기 후 다시 감지
- 채널이 사용 중이면 랜덤 대기 후 다시 감지
- 충돌 발생 시, 백오프(Backoff) 과정 수행
-
장점
-
네트워크 부하에 따라 유연하게 조정 가능
- p가 높을 수록 빠른 전송, p가 낮을 수록 충돌 방지 효과 증가
-
-
단점
- 적절한 p 값 설정이 중요
LLC 계층
역할
- MAC 계층과 상위 계층(네트워크) 간의 인터페이스
- 프레임의 흐름 제어 및 오류 제어
- 다양한 네트워크 프로토콜과 MAC 계층 간의 통신 조정
LLC 프레임 구조
| DSAP | SSAP | Control | Data |- DSAP(Destination Service Access Point): 목적지 서비스 액세스 포인트 (예: IP, ARP 식별)
- SSAP(Source Service Access Point): 송신 측의 서비스 액세스 포인트
- Control: 오류 제어, 흐름 제어 정보 포함
- Data: 상위 계층에서 전송한 실제 데이터
데이터 링크 계층
프로토콜 기초
데이터 링크 계층은 프레임 단위로 데이터를 전송한다. 프레임 종류
-
정보 프레임: 상위 계층이 전송을 요구한 데이터를 수신 호스트에 전송하는 용도로 사용
- 프레임의 순서 번호, 주소 정보, 오류 검출 코드 등을 포함
- 긍정 응답 프레임: 정보를 수신한 호스트는 오류 검출 코드를 확인하고, 변형 오류가 없다면 송신 호스트에 바르게 수신했다는 의미로 ACK(Positive Acknowledgement) 프레임을 전송
- 부정 응답 프레임: 만약 변형 오류가 발생했다면 송신 호스트에 NAK(Negative Acknowledgement)을 회신한다.
주요 기능
- 프레임화
- 주소 지정
- 오류 제어
- 흐름 제어
- 매체 접근 제어 위 기능을 수행하기 위해 슬라이딩 윈도우 프로토콜과 HDLC 프로토콜이 사용
슬라이딩 윈도우 프로토콜
두 호스트 간의 프레임 전송을 위한 일반적인 통신 프로토콜로, 오류 제어와 흐름 제어 기능을 함께 지원한다.
특징
-
Stop-and-Wait 프로토콜보다 효율적
- 여러 개의 프레임을 동시에 전송 가능
- 수신 측에서 확인 응답(ACK)을 보내며 흐름 제어 수행
- Selective Repeat 사용 시, 손실된 프레임만 선택적으로 재전송 가능
Go-Back-N ARQ
-
특징
- 송신 측이 N개의 프레임을 한 번에 전송 가능
- 오류 발생 시 해당 프레임 이후의 모든 프레임을 다시 전송
- 수신 측이 순차적으로 데이터 수신
-
동작 방식
- 송신 측이 윈도우 크기 N만큼 프레임 전송
- 수신 측이 ACK을 순서대로 응답
- 특정 프레임이 손실되거나 오류 발생 시, 해당 프레임 이후 모든 프레임 재전송
-
장단점
- 장점: 구현이 단순하고 안정적
- 단점: 오류 발생 시 불필요한 재전송이 많음
Selective Repeat ARQ(SR-ARQ)
-
특징
- 오류가 발생한 프레임만 선택적으로 재전송
- 수신 측이 순서를 유지하며 개별 프레임을 저장
-
동작 방식
- 송신 측이 윈도우 크기만큼 프레임 전송
- 수신 측이 개별 프레임에 대해 ACK 전송
- 오류가 발생한 프레임만 재전송
-
장단점
- 장점: 불필요한 재전송 최소화 -> 네트워크 대역폭 절약
- 단점: 수신 측에서 패킷을 정렬하는 버퍼 필요
HDLC 프로토콜
비트 지향형 프로토콜로 데이터 전송의 신뢰성을 높이기 위해 오류 제어와 흐름 제어 기능을 포함하는 표준 데이터 링크 계층 프로토콜
특징
- 비트 프레임 방식 사용
- 오류 검출을 위한 CRC 포함
- 슬라이딩 윈도우 기반의 흐름 제어 및 오류 복구 사용
프레임 구조
| Flag (01111110) | Address | Control | Data | CRC | Flag (01111110) |- Flag: 프레임의 시작과 끝
- Address: 송신 및 수신 주소 지정
- Control: 프레임 유형 및 오류 제어
- Data: 실제 전송되는 데이터
- CRC: 오류 검출
프레임 유형
Control 필드 값에 따라 세 종류로 구분된다.
- I(정보)-프레임: 데이터 전송을 위한 프레임(순서 번호 포함)
- S(감독)-프레임: 흐름 제어 및 오류 제어 프레임(ACK 포함)
- U(비번호)-프레임: 링크 제어 및 관리