1. 데이터 링크 계층의 역할과 구성

데이터 링크 계층은 컴퓨터 네트워크에서 물리 계층과 네트워크 계층 사이의 중간 계층으로, 인접한 노드 간의 신뢰성 있는 데이터 전송을 담당한다. 이 계층은 물리적인 오류가 발생할 수 있는 전송 매체에서 데이터를 정확하게 전달하기 위해 오류 제어, 흐름 제어, 프레임화, 주소 지정 등의 기능을 수행한다.

데이터는 상위 계층에서 전송되기 전, 물리 주소(MAC 주소)와 제어 정보를 포함한 헤더(header)가 앞부분에 추가되고, 오류 검출을 위한 정보가 담긴 트레일러(trailer)가 뒷부분에 추가되어 전송된다.

데이터 링크 프로토콜

데이터 링크 계층에서 사용되는 프로토콜은 크게 문자 지향 방식비트 지향 방식으로 구분된다.

데이터 링크 계층 프로토콜의 기초

(1) BSC (Binary Synchronous Communication)

  • 문자 지향 동기 방식으로, 데이터를 문자 단위로 전송한다.
  • 반이중 방식(Half Duplex)을 사용한다.
  • 전송 제어 문자로는 SOH, STX, ETX, ETB, EOT, ENQ, DLE 등이 있다.
  • 점대점(Point-to-Point) 연결 방식에서는 주소 개념이 불필요하나, 멀티드롭(Multi-drop) 방식에서는 각 호스트 주소가 필요하다.

(2) HDLC (High-level Data Link Control)

  • 비트 지향 방식으로, 비트 단위로 데이터를 전송하며 전이중 통신을 지원한다.
  • 신뢰성과 속도가 뛰어나며 고속 통신에 적합하다.
  • 비트 스터핑(Bit Stuffing) 기능을 제공하여 데이터 내 플래그 오인을 방지한다.
    • HDLC에서 프레임 시작과 끝을 나타내는 플래그는 01111110으로 고정되어 있다.
    • 전송 데이터 중에 ‘1’이 5번 연속될 경우, 송신 측은 자동으로 ‘0’을 삽입하고, 수신 측은 이를 제거함으로써 플래그와 혼동되는 것을 방지한다.

2. 프레임(Frame)의 종류

데이터 링크 계층에서 전송 오류를 해결하기 위해 다양한 종류의 프레임이 사용된다.

  • 정보 프레임 (I-Frame): 상위 계층에서 받은 데이터를 전송하기 위한 프레임으로, 순서 번호와 송·수신 주소 정보를 포함한다.
  • 긍정 응답 프레임 (ACK-Frame): 수신 측이 데이터를 정상적으로 수신하였음을 송신 측에 알리는 프레임이다.
  • 부정 응답 프레임 (NAK-Frame): 수신 측에서 오류가 발생한 경우 송신 측에 재전송을 요청하는 프레임이다.

3. 오류 제어 및 흐름 제어

1) 오류 제어(Error Control)

오류 제어는 데이터 전송 중 발생할 수 있는 오류를 탐지하고 수정하는 기능을 말한다. 방식은 다음과 같이 구분된다.

  • 전진 오류 수정 (FEC, Forward Error Correction): 송신 측이 제어 비트를 추가하여 전송하며, 수신 측이 이를 이용해 오류를 수정한다. 재전송이 필요 없다는 장점이 있다.
  • 후진 오류 수정 (BEC, Backward Error Correction): 오류가 발생했을 경우 수신 측이 재전송을 요청하며, 이를 위해 역채널이 필요하다.

오류의 주요 원인은 다음과 같다.

  • 감쇠(Attenuation): 거리 증가에 따라 신호가 약해지는 현상
  • 지연 왜곡(Delay Distortion): 주파수에 따라 전송 속도가 달라져 발생하는 신호 손상
  • 백색 잡음(White Noise): 열에 의한 랜덤한 신호 간섭
  • 상호변조 잡음(Intermodulation Noise): 서로 다른 주파수 간의 간섭
  • 누화 잡음(Crosstalk Noise): 인접한 회선 간 전자기 유도
  • 충격성 잡음(Impulse Noise): 외부 충격이나 기계적 진동 등으로 인한 잡음

2) 흐름 제어(Flow Control)

흐름 제어는 송신 측의 데이터 전송 속도를 조절하여 수신 측의 처리 능력을 초과하지 않도록 하는 기능이다.

정지-대기(Stop-and-Wait) 프로토콜

  • 송신 측은 하나의 프레임을 전송한 후, 수신 측의 ACK 응답을 받은 후에 다음 프레임을 전송한다.
  • 수신 측의 버퍼 크기가 제한적인 경우 효과적이다.
  • 흐름 제어 및 오류 제어가 동시에 적용된다.
  • 정지-대기 프로토콜

단방향 프로토콜 (Unidirectional Protocol)

  • 프레임이 단일 방향으로만 전송된다.
  • 오류 제어와 흐름 제어 모두 지원해야 한다.
  • 오류 상황에 따라 NAK 프레임, 타임아웃 기능 등을 이용하여 복구한다.
  • NAK가 없는 경우


  • NAK가 없는 경우 2
  • NAK가 있는 경우


  • NAK가 있는 경우 2

4. 통신 프로토콜의 개념과 기능

1) 통신 프로토콜의 정의

통신 프로토콜(Communication Protocol)은 네트워크 상의 다양한 장비들이 서로 데이터를 원활하게 주고받기 위해 정한 일련의 규칙이다. 하드웨어와 소프트웨어, 그리고 이들 사이의 데이터 교환 절차를 모두 포함한다.

프로토콜의 구성 요소는 다음과 같다.

  • 구문(Syntax): 데이터 형식, 부호화 방식, 신호 수준 등을 정의
  • 의미(Semantics): 제어 정보 및 상호 동작 방식 정의
  • 시간(Timing): 통신 속도, 메시지 전송 순서 등을 정의

2) 통신 프로토콜의 주요 기능

  1. 단편화와 재결합(Fragmentation & Reassembly)
    데이터를 일정 크기로 나누어 전송하고, 수신 측에서 이를 다시 원래의 데이터로 조합함
  2. 캡슐화(Encapsulation)
    데이터에 주소, 오류 검출 정보 등을 포함시켜 전송하는 과정
  3. 오류 제어(Error Control)
    전송 중 발생하는 오류를 검출하고 정정함
  4. 흐름 제어(Flow Control)
    송·수신 속도를 조절하여 수신 측의 과부하 방지
  5. 순서 제어(Sequencing)
    데이터 블록에 전송 순서를 부여하여 순차적 수신 보장
  6. 동기화(Synchronization)
    송·수신 장치 간의 타이밍을 일치시켜 데이터 손실 방지
  7. 주소지정(Addressing)
    데이터를 정확한 목적지로 전달하기 위한 주소 정보 부여
  8. 다중화(Multiplexing)
    하나의 물리 채널을 여러 사용자 또는 데이터가 공유할 수 있도록 함
  9. 경로 제어(Routing)
    최적의 데이터 전송 경로를 설정
  10. 전송 서비스
    데이터 전송 시 제공되는 부가 기능 (우선순위, 서비스 등급, 보안 등)

3) 통신 프로토콜의 전송 방식

프로토콜은 데이터 프레임 구성 방식에 따라 다음과 같이 분류된다.

  • 문자 전송 방식: 전송 제어 문자를 이용해 시작과 끝을 구분 (예: BSC)
  • 바이트 방식: 헤더에 문자 개수 및 상태 정보를 포함 (예: DDCM)
  • 비트 방식: 특정 비트 패턴으로 프레임의 경계를 구분 (예: HDLC, SDLC, LAPB)

+ Recent posts