데이터 링크 계층

잼광·2024년 9월 3일

목차

  • 데이터 링크 계층 개요
  • LLC(Logical Link Control) 부계층
  • MAC(Media Access Control) 부계층
  • 프레임 캡슐화, 접근 제어방식

데이터 링크 계층

데이터 링크 계층은 OSI 7계층 모델의 두 번째 계층으로, 네트워크 기기 간 데이터 전송을 관리하고 오류 검출 및 제어, 흐름 제어 등을 담당합니다.
이 계층은 두 가지 하위 계층으로 나뉩니다: 논리 링크 제어(LLC), 매체 접근 제어(MAC)

LLC 계층은 데이터 링크 계층의 상위 부분으로, MAC 게층과 협력하여 데이터를 처리하며, 네트워크 계층과의 인터페이스 역할을 합니다.

표준번호 802.2로써, LLC 표준을 정의하고 있으며, 그 밑에 각각의 상이한 MAC 표준으로서, 802.3 (CSMA/CD), 802.4 (Token Bus), 802.5 (Token Ring) 등이 정의됨

LLC 계층의 주요 기능

  • 흐름 제어 (Flow Control)

    송신자와 수신자 간의 데이터 전송 속도를 조절하여 데이터 손실을 방지합니다.
    슬라이딩 윈도우(Sliding Window) 방식 사용.

    • 슬라이딩 윈도우: 여러 프레임을 연속으로 전송하고, 수신 확인을 기다림.
  • 오류 제어 (Error Control)

    데이터 전송 중 발생할 수 있는 오류를 검출하고 수정합니다.
    자동 재전송 요청(ARQ) 방식 사용.

    • Stop-and-Wait ARQ: 프레임 전송 후 확인 응답(ACK)을 기다림.
    • Go-Back-N ARQ: 여러 프레임을 전송하고 오류 발생 시 해당 프레임부터 재전송.
    • Selective Repeat ARQ: 오류가 발생한 프레임만 선택적으로 재전송.
  • 다중화 (Multiplexing)

    여러 네트워크 프로토콜이 동일한 네트워크 매체를 공유할 수 있도록 합니다.
    다양한 프로토콜이 동일한 물리적 매체를 통해 데이터를 전송할 수 있게 함.

LLC 계층의 서비스

LLC 계층은 다음과 같은 세 가지 패킷 전송 서비스를 제공합니다.

  • 비확인 비연결형 서비스 (Unacknowledged Connectionless Service)

    흐름 제어나 오류 제어 없이 데이터를 전송합니다.
    사용 예: 단순한 데이터 전송이 필요한 경우.

  • 연결형 서비스 (Connection-Oriented Service)

    데이터를 전송하기 전에 논리적 연결을 설정하여 신뢰성을 보장합니다.
    사용 예: 신뢰성이 중요한 데이터 전송.

  • 확인 비연결형 서비스 (Acknowledged Connectionless Service)

    논리적 연결 없이 데이터를 전송하지만, 수신 확인 응답을 받습니다.
    사용 예: 신뢰성과 효율성을 모두 고려해야 하는 경우

LLC부계층 이미지 참조

MAC(Media Access Control)부계층

MAC 계층은 물리 계층과 직접 상호작용하며 네트워크 매체에 대한 접근을 제어합니다.

  • 매체 접근 제어란?
    여러 단말들 간에 공유 매체(Shared Medium)의 동시 사용/접근/접속에 대해 단말 간에 일어날 수 있는 충돌(경합)발생을 제어(경감)하는 방식을 총칭한것 입니다.

공유 매체 (Shared Medium)란?
여러 호스트(노드)들이 동일 매체에 연결되어 있는 환경을 말하는데, 버스,허브 기반의 유선 LAN 환경(이더넷)과 무선 LAN 환경 등을 모두 공유 매체 환경이라고 합니다

LAN

LAN(Local Area Network, 근거리 통신망)은 제한된 지리적 영역 내에서 컴퓨터와 기타 장치들을 연결하여 데이터를 공유하고 통신할 수 있게 하는 네트워크입니다.
LAN의 표준안은 IEEE 802 위원회에 의해 추진되었으며, OSI 참조 모델의 하위 두개 계층인 물리 계층과 데이터 링크 계층을 대상으로 합니다.

MAC 계층의 주요 기능

  • 프레임 캡슐화 (Framing)

    역할: 상위 계층의 데이터를 전송 매체에 적합한 프레임으로 변환합니다.
    구성 요소: 프레임 헤더에는 목적지 주소, 출발지 주소, 길이 정보 등이 포함됩니다.

  • 채널 접근 제어 (Channel Access Control)

    역할: 네트워크 매체에 대한 접근을 제어하여 충돌을 방지합니다.
    기법: 다양한 접근 제어 방법이 사용됩니다.

  • 주소 지정 (Addressing)

    역할: 각 네트워크 장치에 고유한 MAC 주소를 할당하여 데이터를 정확한 목적지로 전달합니다.
    MAC 주소: 48비트(6바이트)로 구성되며, 제조사 식별 코드와 일련번호로 이루어져 있습니다.

  • 충돌 감지 및 재전송 (Collision Detection and Retransmission)

    역할: 데이터 충돌이 발생하면 이를 감지하고 재전송을 시도합니다.
    기법: CSMA/CD 방식에서는 충돌 발생 시 무작위의 시간을 대기 후 재전송을 시도합니다.

프레임 캡슐화 과정

이더넷 프레임을 예로 들어 데이터 링크 계층에서 프레임 캡슐화가 이루어지는 과정에 대해 알아보겠습니다.

  1. 데이터 수신:
    상위 계층(네트워크 계층)에서 데이터를 수신합니다.
  2. 헤더 추가:
    • LLC 계층: 상위 계층에서 받은 데이터를 프레임으로 캡슐화하고, 흐름 제어와 오류 제어를 수행합니다.
    • MAC 계층: LLC 계층에서 생성된 프레임에 MAC 헤더를 추가합니다. 이 헤더에는 출발지와 목적지 MAC 주소가 포함됩니다.
  3. 데이터 추가:
    상위 계층에서 받은 실제 데이터를 포함합니다.
  4. 트레일러 추가:
    - MAC 계층: 프레임의 끝에 프레임 체크 시퀀스(FCS)를 추가하여 오류 검출을 위한 정보를 포함합니다.

구성 요소

  • Preamble : 이더넷 프레임이 시작임을 알리는 동기화 비트 패턴으로, 수신 측에서 프레임의 시작을 인식합니다.
  • Start of Frame Delimiter(SFD): 프레임의 시작을 명확히 구분합니다.
  • 목적지 MAC주소(Destination MAC Address) : 수신할 장치의 물리적인 주소인 MAC 주소를 나타냅니다. 목적지 주소를 통해 프레임이 올바른 수신자에게 전달되도록합니다.
  • 소스 MAC주소(Source MAC Address) : 데이터를 전송한 장치의 물리적인 MAC 주소를 나타냅니다. 수신 측에서는 이를 통해 데이터 출처를 확인할 수 있습니다.
  • EtherType/Length : 프레임 내의 페이로드 데이터 형식을 식별하는 필드로, 데이터 계층 위의 계층인 IP 프로토콜을 정의합니다.
    예) IPv4 or IPv6
  • Payload : 실제 데이터가 포함된 부분입니다.
  • FCS(Frame Check Sequence) : 프레임의 오류를 검출하기 위한 필드입니다.

작동 원리

  • 이더넷 프레임은 소스 장치에서 목적지 장치로 전송되는 과정에서 스위치와 라우터 등의 네트워크 장비를 거칩니다.
    이 과정에서 각 네트워크 장비는 프레임의 목적지 주소(DMAC)를 확인하여 해당 프레임을 올바른 방향으로 전달합니다.
  • 도착한 수신 장치는 프레임 체크 시퀀스(FCS)를 통해 프레임의 무결성을 검증한 후 이더타입(EtherType)필드를 참조하여 페이로드(payload)데이터를 적절한 상위 계층 프로토콜로 전달합니다.

이렇게 이더넷 프레임을 사용하여 데이터를 전송하면, 네트워크 상에서 다양한 장치간의 원활한 데이터 교환이 가능해집니다.

캡슐화비캡슐화
캡슐화는 상위 계층(애플리케이션 계층)의 헤더와 데이터를 하위 계층의 데이터 부분에 페이로드로 처리하여 포함시키고 해당 계층의 새로운 헤더를 삽입하는 과정을 말합니다. 애플리케이션 계층의 데이터가

  • 전송 계층으로 전달되며 '세그먼트' 혹은 '데이터그램' 화 (TCP 헤더 추가)
  • 인터넷 계층으로 가면서 '패킷'화 (IP 헤더 추가)
  • 링크 계층으로 전달되며 '프레임'화 (프레임 헤더와 프레임 트레일러 추가)

캡슐화된 데이터를 받게되면 링크 계층으로 부터 타고 올라오며 프레임화된 데이터는 다시

  • 인터넷 계층으로 가면서 '패킷'화 (프레임의 헤더와 트레일러를 제거)
  • 전송 계층으로 가면서 '세그먼트 / 데이터그램'화 (IP 헤더를 제거)
  • 애플리케이션 계층(상위 계층)으로 가면서 '메시지' 화 (TCP 헤더를 제거)

가 되는 비캡슐화 과정이 일어납니다.

여러가지 접근 제어 방식

  • 토큰 링 및 토큰 버스

    • 네트워크에서 토큰(Token)이라는 제어 프레임 사용하여 데이터 전송 순서를 제어합니다. 해당 방식들은 오늘날 거의 사용되지 않는 방식입니다.
  • 토큰 링

    • 링 형태의 네트워크에서 토큰을 사용하여 데이터 전송 순서를 제어합니다.
    • 토큰을 가진 노드만 데이터 전송이 가능합니다.
    • 전송이 완료되면 토큰을 다음 노드로 넘깁니다.
  • 토큰 버스

    • 버스 형태의 네트워크에서 토큰을 사용하여 데이터 전송 순서를 제어합니다.
    • 각 스테이션이 토큰을 받아야만 데이터를 전송할 수 있습니다.
    • 토큰은 논리적 순서(논리적으로는 링형 구조를 가집니다.)에 따라 전송됩니다.

      1980대 개발된 토큰 링 기술은 1990년대 초반 이더넷이 개발되면서 잘 쓰이지 않게 됐습니다.
  • CSMA/CD (Carrier Sense Multiple Access with Collision Detection)

    • 이더넷에서 사용되며, 반이중 방식으로 작동합니다.
      *반이중 통신 방식은 데이터가 양방향으로 전송될 수 있지만 데이터를 동시에 전송하면 충돌이 발생합니다.
    • 데이터 전송 전, 채널이 사용 중인지 확인하고, 채널이 비어 있으면 데이터를 전송합니다.
    • 전송 중에도 충돌을 감지하며, 충돌 발생 시 무작위의 시간을 대기 후 재전송합니다.
  • CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)

    • 무선 네트워크에서 사용되며, 충돌을 회피하는 방식입니다.
    • 데이터 전송 전, 무선 매체를 살피고 회선이 비어 있으면 일정 시간 대기 후 전송합니다.
    • 채널이 사용 중이라면 다시 랜덤 시간 대기 후 절차를 반복합니다.
      이를 통해 충돌이 발생할 확률을 낮춥니다.

데이터 링크 계층의 중요성

  1. 데이터 프레임의 전송
    데이터 링크 계층은 데이터를 프레임으로 캡슐화하여 전송합니다. 프레임은 데이터의 무결성을 보장하고, 오류 검출 및 수정 기능을 포함합니다. 이를 통해 데이터가 손상되지 않고 정확하게 전달될 수 있습니다.

  2. 매체 접근 제어 (MAC)
    데이터 링크 계층의 MAC 서브 계층은 네트워크 매체에 대한 접근을 제어합니다. 이를 통해 여러 장치가 동일한 네트워크 매체를 공유할 때 충돌을 방지하고, 효율적인 데이터 전송을 가능하게 합니다.

  3. 논리 링크 제어 (LLC)
    LLC 서브 계층은 네트워크 계층과의 인터페이스를 제공하며, 오류 검출흐름 제어 기능을 수행합니다. 이를 통해 데이터 링크 계층과 상위 계층 간의 원활한 데이터 전송을 보장합니다.

  4. 네트워크 토폴로지 지원
    데이터 링크 계층은 다양한 네트워크 토폴로지를 지원합니다. 이를 통해 다양한 네트워크 환경에서 데이터 전송이 가능하게 합니다.

  5. LAN (Local Area Network)
    데이터 링크 계층은 LAN에서 중요한 역할을 합니다. 특히 Ethernet과 같은 기술을 통해 높은 데이터 전송 속도와 낮은 지연 시간을 제공합니다.

이 계층은 데이터 전송의 신뢰성과 효율성을 보장하는 데 필수적입니다.

0개의 댓글