OSI - 데이터 링크 계층

2계층. 데이터 링크 계층

  • OSI 7계층의 두 번째 계층으로, 네트워크 노드끼리 데이터를 전송하는 기능과 절차를 제공.
  • 한 노드에서 다른 노드로 데이터가 올바르게 전송되도록 보장.
  • 물리적 전송 중 발생할 수 있는 오류(물리계층에서 발생 가능한 오류)를 감지하고 수정.

 

구성

 

데이터 링크 계층은 2개의 부 계층으로 구성된다.

 

MAC : 물리적 부분으로 매체간 연결 방식을 제어하고 1계층과 연결되어 있다. 48-bit(6-byte)로 구성, 각 바이트마다 16진수로 표현. 그 중 앞의 세 자리는 OUI(Organization Unique Identifier)로 제조사 식별 코드가 있고, 나머지 3자리는 제조사의 일련번호가 들어있다. 따라서 MAC으로 어떤 제조사가 만들었는지 구분할 수 있고 주소가 Unique 하다.

LLC : 논리적인 부분으로 데이터 링크의 데이터 프레임인 PDU(Protocol Data Unit)를 만들고 이를 3계층인 네트워크 계층과 연결.

 

주요 기능

Framing

데이터를 관리 가능한 조각인 프레임으로 나누는 과정. 각 프레임은 데이터의 일부와 필요한 제어 정보를 담고 있고 프레임 단위에 헤더와 트레일러를 추가한다. 따라서 데이터가 구조화되고 수신 장치에서 올바르게 전달 될 수 있도록 한다.

더보기

Header : 목적지, 출발지 주소 그리고 데이터 내용을 정의.
Trailer : 비트의 에러를 감지.

 

오류 탐지 및 수정

물리적 데이터 전송 중 발생할 수 있는 오류를 탐지하고 때로는 수정하는 역할. 일반적으로 알고리즘을 사용하여 손상된 데이터를 식별하고 필요 시 재전송을 요청한다.

더보기

순환 중복 검사 (CRC) : 프레임 오류를 탐지하는 일반적인 방법. 각 프레임에 CRC 코드를 추가하고, 수신 측에서 CRC가 다시 계산되어 수신된 CRC와 비교하여 오류를 확인한다.  

 

흐름 제어

송수신자 간 데이터를 처리하는 속도 차이를 해결하기 위한 제어 담당. 한 마디로 한 번에 너무 많은 데이터를 보내지 않도록 방지한다. Feedback 방식으로 흐름을 제어하며 이를 Stop & Wait 방식이라 불린다.

더보기

정지 대기 프로토콜 : 프레임을 전송한 후 송신자는 다음 프레임을 보내기 전에 수신자로부터 확인 응답(ACK)을 기다린다.

 

MAC 주소 지정 (매체 접근 제어)

MAC 주소라고 불리는 주소를 사용하여 데이터가 로컬 네트워크에서 원하는 장치로 전송한다.

더보기

주소 결정 프로토콜 (ARP) : ARP는 IP 주소를 로컬 네트워크에서 MAC 주소로 변환하여 장치 간 효율적인 통신이 가능하다.

 

매체 접근 제어

네트워크의 장치들이 동일한 통신 매체(예: 케이블 또는 무선 주파수)를 공유하는 방법을 결정. 충돌(두 장치가 동시에 데이터를 전송하려고 할 때)을 방지하고 네트워크의 공정한 사용을 보장하는 프로토콜을 정의한다.

더보기

CSMA/CD (충돌 감지 다중 접근): 이더넷 네트워크에서 사용되는 CSMA/CD는 장치가 데이터를 전송하기 전에 매체가 비어 있는지 확인할 수 있도록 한다. 충돌이 발생하면 장치는 다시 시도하기 전에 임의의 시간 동안 대기한다.

 

오류 제어

전송 중에 오류나 손실이 발생하면 수신 측은 에러를 탐지하고 이를 재전송한다.

더보기

Automatic Repeat Request (ARQ) : 자동 반복 요청, 오류 발생 시 송신자에게 재전송을 요청한다. Stop and Wait (ARQ) 방식과 Go back n ARQ 방식이 존재한다.

 

이더넷(Ethernet) 구조

데이터 링크 계층의 대표적 프로토콜인 이더넷.

 

 

데이터 링크 계층에서 MAC 통신과 프로토콜의 형식을 정의한 규칙.

 

더보기

Preamble : 이더넷 프레임의 시작과 동기화.
Dest Addr : 목적지 MAC 주소.
Source Addr : 출발 MAC 주소.
Type : 캡슐화되어 있는 패킷의 프로토콜 정의.
Data : 상위 계층의 데이터, 46~1500-byte, 46보다 작을 경우 이를 맞추기 위한 Padding 데이터 추가.
FCS (Frame Check Sequence) : 프레임 에러 체크.

 

 

 

 

참고)

https://velog.io/@redgem92/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%A7%81%ED%81%AC-%EA%B3%84%EC%B8%B5Data-Link-Layer-1#%EC%98%A4%EB%A5%98-%EC%A0%9C%EC%96%B4
https://velog.io/@abcd9986/IT%EC%97%85%EA%B3%84-%EC%A7%80%EC%8B%9D-%EA%B3%B5%EB%B6%80-003#7-%EC%98%A4%EB%A5%98-%EC%A0%9C%EC%96%B4

'CS' 카테고리의 다른 글

CPU?  (0) 2024.10.08
면접 질문 연습하기(1)  (0) 2024.09.30
OSI - 물리계층  (2) 2024.09.27
3-way handshake에 대해 알아보자!  (0) 2024.09.26
OSI - 응용 계층  (0) 2024.09.26