데이터 링크 계층은 OSI 모델의 두 번째 계층으로 네트워크에서 데이터 전송의 신뢰성과 효율성을 보장하는 역할을 한다.
네트워크 기기 간의 데이터 전송을 관리하고 오류 검출 및 흐름 제어를 담당한다. 이 계층은 물리계층에서 발생할 수 있는 오류를 감지하고 수정하는 기능을 제공하여 안정적인 데이터 전송을 보장한다.
대표적인 프로토콜로 이더넷(Ethernet) 이 있다.
데이터 링크 계층은 2개의 부 계층으로 이루어져 있다.
데이터 링크 계층의 2개의 부 계층◎ 데이터 링크 계층의 2개의 부 계층
① . MAC 물리적 부분으로 매체간 연결 방식을 제어하고 1계층과 연결되어 있다. 48-bit 6-byte 로 구성되어 있고 각 바이트마다 16진수로 표현된다. 그중 앞 3 자리는 OUI(Organization Unique Identifier) 로 제조사 식별 코드가 있고 나머지 3자리는 제조사의 일련번호가 들어있다. 그러한 이유로 MAC으로 어떤 제조사가 만들었는지 구분할 수 있고 주소가 고유(Unique)하다.
② . LLC 논리적인 부분으로 데이터 링크의 데이터 프레임(Frame)인 PDU(Protocol Date Unit)를 만들고 3계층인 네트워크계층과 연결된다.
데이터 링크 계층의 주요 기능
주요기능
세부기능
설명
데이터 전송
프레임화
데이터 링크 계층은 네트워크 계층에서 받은 패킷을 프레임 단위로 변환하여 인접한 노드로 전송한다. 프레임에는 주소 정보와 제어 정보가 포함된다.
주소 지정
각 노드는 MAC주소를 통해 식별되며 데이터 링크 계층은 이 주소를 사용하여 정환한 수신자를 지정한다.
주요기능
세부기능
설명
오류 검출 및 수정
오류 검출
데이터 전송 중 발생할 수 있는 오류를 감지하기 위해 체크섬 CRC(순환 중복 검사) 등을 사용한다. 이러한 기법은 전송된 데이터의 무결성을 확인한다.
오류 수정
오류가 감지되면 재 전송 요청(ARQ :Automatic Repeat reQuest)등의 방법을 통해 손상된 데이터를 복구한다.
주요기능
세부기능
설명
흐름제어
속도 조절
수신 노드가 데이터를 처리할 수 있는 속도에 맞춰 송신 노드가 데이터를 전송하도록 조절한다. 이는 데이터의 손실을 방지하고 네트워크의 효율성을 높인다.
제어 메시지
흐름 제어를 위해 ACK(확인 응답) 및 NACK(부정 응답) 메시지를 사용하여 데이터의 수신 여부를 확인한다.
주요기능
세부기능
설명
링크 관리
연결 설정과 종료
데이터 링크 계층은 네트워크 장치간의 연결을 설정하고 종료하는 기능을 제공한다.
링크 상태 모니터링
링크의 상태를 모니터링하여 문제가 발생할 경우 적절한 조치를 취한다.
주요기능
세부기능
설명
매체 접근 제어(MAC)
다중 접속 기법
여러 장치가 동일한 전송 매체를 공유할 때 데이터 링크 계층은 CSMA/CD(이더넷) 또는 CSMA/CA(Wi-Fi)와 같은 접근 제어 방식을 사용하여 충돌을 방지한다.
우선순위 설정
데이터 전송의 우선순위를 설정하여 중요한 데이터가 우선적으로 전송되도록 할 수 있다.
주요기능
세부기능
설명
데이터 암호화
보안 기능
일부 데이터 링크 프로토콜은 전송되는 데이터의 보안을 위해 함호화 기능을 제공한다. 이는 데이터의 무결성을 높이고 도청이나 변조를 방지한다.
프레이밍(Framing)
프레이밍은 데이터 링크 계층의 주요 기능중 하나로 데이터를 전송하기 위해 패킷을 프레임이라는 단위로 감싸는 과정을 의미한다. 프레임은 데이터 전송의 기본단위로 송신자와 수신자 간의 통신을 관리하는 여러 정보를 포함한다.
상위 계층인 네트워크에서 구성되는 데이터의 단위를 데이터그램(Datagram)이라고한다. 데이터 링크 계층에선 네트워크 계층에서 받아온 데이터그램을 프레임 단위로 만들고 헤더와 트레일러를 추가한다.
주요기능
세부기능
설명
프레임 구조
헤더 (Header)
프레임의 시작 부분에 위치하며, 송신자 및 수신자의 MAC 주소,프레임의 유형,길이 정보 등을 포함한다.
데이터(payload)
실제 전송할 데이터가 포함되는 부분이다. 일반적으로 상위 계층에서 받은 패킷이 이곳에 포함된다.
트레일러(Trailer)
프레임의 끝 부분에 위치하며 오류 검출을 위한 체크섬 또는 CRC(순환 중복 검사)와 같은 정보를 포함한다.
주요기능
세부기능
설명
프레이밍기법
바이트 기반 프레이밍
특정 바이트를 프레임의 경계로 사용한다. 예를 들어 특정 패턴(ex:0x7E)을 경계로 사용하여 프레임을 구분한다.
비트 기반 프레이밍
비트의 특정 패턴을 사용하여 프레임을 정의한다. 이 방법은 비트 스트림의 특정 비트를 프레임의 시작과 끝으로 표시한다.
고정 길이 프레이밍
모든 프레임이 동일한 길이를 가지며 프레임의 길이를 미지 정해놓는다.
가변 길이 프레이밍
프레임의 길이가 가변적이며 헤더의 길이 정보를 포함하여 수신자가 전체 프레임을 이해할 수 있도록 한다.
주요기능
세부기능
설명
프레이밍의 중요성
데이터의 무결성 보장
프레이밍은 데이터가 올바르게 전송되도록 하여 데이터 무결성을 보장한다.
충돌 방지
여러 장치가 동일한 전송 매체를 사용할 때 프레임을 통해 데이터가 충돌없이 전송되도록 관리한다.
오류 검출
프레임의 트레일러에 포함된 오류 컴출 정보는 데이터 전송 중 발생할 수 있는 오류를 감지할 수 있게 한다.
회신 제어
회신 제어란?
회신 제어(Flow Control)는 데이터 통신에서 송신자와 수신자 간의 데이터 전송 속도를 조절하여 데이터 손실을 방지하는 방법이다. 주로 데이터 링크 계층에서 구현되며 수신자가 처리할 수 있는 속도에 맞춰 송신자가 데이터를 전송하도록 도와준다.
이 과정을 신호 간의 충돌이 발생하지 않도록 제어해 주는 방법은 ENQ/ACK 방법을 사용하고 1:1 방식과 Polling 기법을 활용한 1 대 다 방식이 있다.
① . 1:1방식 ② . 1:다 방식
이 방식에선 2가지의 모드가 존재한다.
1. Select모드 : 송신자가 나머지 수신자들을 선택하여 전송한다. 2. Poll모드 : 수신자에게 데이터 수신 여부를 확인해서 응답을 확인후 전송한다.여러 수신자를 대응할 수 있어Multipoint 라고도 부린다. ● 회신 제어의 중요성 1. 신뢰성 향상 : 데이터 전송의 신뢰성을 높이고 데이터 손실 및 오류를 최소화 한다. 2. 네트워크 효율성 : 데이터 전송의 흐름을 조절하여 네트워크의 효율성을 극대화한다.