[네트워크] 데이터 링크 계층(Data Link Layer) - 역할과 기능

최지수·2022년 3월 12일
3

네트워크

목록 보기
3/7
post-thumbnail

OSI 7 계층의 2번째 계층으로 인접한 네트워크 노드끼리 데이터를 전송하는 기능과 절차를 제공해요. 1계층인 물리 계층에서 발생할 수 있는 오류를 감지하고 수정해요. 대표적인 프로토콜로 이더넷Ethernet이 있어요.

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

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

그리고 LLC, 논리적인 부분으로 데이터 링크의 데이터 프레임FrameProtocol Data Unit, PDU를 만들고 이를 3계층인 네트워크 계층과 연결되요.

데이터 링크 주요 기능

Framing


상위 계층인 네트워크 계층에서 구성되는 데이터의 단위를 데이터그램Datagram이라고 해요.

데이터 링크 계층에선 네트워크 계층에서 받아온 데이터그램을 프레임 단위로 만들고 헤더와 트레일러를 추가해요.

각 정보는,

  • 헤더Header : 목적지, 출발지 주소 그리고 데이터 내용을 정의해요
  • 트레일러Trailer : 비트의 에러를 감지해요

회선 제어

신호 간의 충돌이 발생하지 않도록 제어할 수도 있어요.

ENQ/ACK 방법을 사용하고 1:1 방식과 Polling 기법을 활용한 1:多 방식이 있어요.

1:1

1:多


이 방식에선 2가지 모드가 존재해요.

  1. Select 모드 : 송신자가 나머지 수신자들을 선택하여 전송해요
  2. Poll 모드 : 수신자에게 데이터 수신 여부를 확인해서 응답을 확인 후에 전송해요. 여러 수신자를 대응할 수 있어 Multipoint라고도 해요.

흐름 제어

송수신자 간 데이터를 처리하는 속도 차이를 해결하기 위한 제어도 담당해요. Feedback 방식의 흐름 제어하며 이를 Stop & Wait 방식이라고도 불려요. 상위 계층은 Rate 기반이에요.

전제1 : Frame 전달 후 ACK이 회선 문제로 응답하지 않는 경우

전제2 : Frame 재전송으로 인한 중복 프레임이 보내지는 경우

이 경우, Sequence Number1-bit를 통해 동일 프레임인지 구분해서 상위 계층에 전달해요.

흐름 제어의 방식 중 하나, Sliding Window


ACK의 응답 없이 여러 개의 프레임을 연속으로 전송해요. 이때 데이터를 보관하고 있는 Window라는 버퍼가 있는데, 이 Window의 크기가 전송과 수신 측의 데이터가 저장되는 버퍼의 크기인거죠.

오류 제어

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

💡Automatic Repeat Request, ARQ
프레임이 손상 시 재전송이 수행되는 과정을 말해요

방식1 : Stop and Wait ARQ

방식2 : Go back n ARQ

방식3 : Selective Repeat ARQ

Go back처럼 프레임을 묶어서 처리하는 것과 달리, 손상된 프레임만 선별해서 재전송하는 오류 제어 방식이에요.

이렇게 특정 프레임만 선별하는 방식은 일반적으로 알고리즘이 복잡해요 ㅎㅎ.

이더넷 프레임 구조

데이터 링크 계층의 대표적 프로토콜인 이더넷Ethernet에 대해 알아봐요.

Ethernet v2

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

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

데이터 링크 계층의 기능과 프로토콜에 대해서 다뤄보았어요. 내용이 길어질 것 같으니 나눠서 작성할게요!

profile
#행복 #도전 #지속성

0개의 댓글