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 |