데이터 링크 계층(영어: data link layer)은 장치 간 신호를 전달하는 물리 계층을 이용하여 네트워크 상의 주변 장치들 간 데이터를 전송한다.
데이터 링크 계층에는 두 가지 주요 기능이 있다.
- 주소 할당: 물리 계층으로부터 받은 신호들이 네트워크 상의 장치에 올바르게 안착할 수 있게 한다.
- 오류 감지: 신호가 전달되는 동안 오류가 포함되는지를 감지한다. 오류가 감지되면 데이터 링크 계층은 해당 데이터를 폐기한다.
하드웨어 장비(네트워크 노드)의 예
- NDIS
- Bridge
- L2 switch
- 레이어 2 커뮤니케이션에서, 스위치(swtich)는 전송받은 프레임(frame)을 어디로 보내야 하는지 알아야 한다. 그렇게 하기 위해서는 스위치-테이블(switch table) 또는 맥-어드레스-테이블(MAC address table) 을 확인한다
- 전송해야 하는 도착지(destination)가 테이블에 있는 경우 그 경로로 프레임을 보내면 된다.
- 만약 테이블에 전송해야 하는 도착지(destination)가 없을 경우, 모든 포트에 그 프레임을 전송시킨다(flooding).
- 도착지에 도착후, 도착지의 장치(device)가 자신의 맥어드레스를 테이블로 전송(reply)한다.
- 해당되는 장치의 맥-어드레스(MAC address)를 테이블에 저장시킨다.
- 다음부터 그 프레임이 위 장치가 목적지인 경우 테이블을 참고하여 프레임을 전송한다.