MAC 계층

이정민·2022년 4월 20일
0

네트워크

목록 보기
6/12

MAC 계층과 IEEE 802 시리즈

MAC 계층의 이해

  • LAN 환경에서 계층 2기능을 MAC과 LLC 계층으로 분리
  • LLC 계층: 데이터 링크 계층의 기본 기능
  • MAC 계층: 전송 선로의 특징과 매체 간의 연결 방식에 따른 제어

MAC 계층

  • MAC(Media Access Control)계층: 물리적 연결 방식에 따른 데이터 전송 방법

이더넷

  • 공유 버스 방식 지원
  • 둘 이상의 호스트에서 동시에 데이터 프레임 전송을 시도하면 충돌 발생

토큰 링 방식

  • 링 구조를 지원
  • 토큰이라는 특정 패턴의 제어 데이터가 링을 순환
  • 토큰을 확보하여 전송 후 토큰은 링에 내려놔야 함
  • 각 호스트에 전송 우선순위를 부여할 수 있음

IEEE 802 시리즈

  • IEEE 802.1: 표준안 전체를 소개
  • IEEE 802.2: LLC 계층을 소개
  • IEEE 802.3 부터: 물리 계층에 따른 MAC 계층을 소개

다중 접근 채널 방식

  • 버스 구조
  • 데이터 충돌 가능성이 있다.

충돌 해결 방법

  • 충돌 허용 후 문제 해결
    • 충돌 발생 후 문제를 해결한다.
    • CSMA/CD: 유선 매체
    • CSMA/CA: 무선 매체
  • 충돌 회피
    • 충돌이 발생할 가능성을 원천적으로 차단한다.
    • 호스트에 타임슬롯 배정: 토큰 버스

CSMA/CD

  • 충돌 감지 기능이 필수적으로 요구됨
  • 충돌 감지 후, 재전송 기능으로 오류 복구
  • 공유 매체의 길이가 길수록 전송 지연이 증가하여 충돌 가능성이 높아짐

토큰 버스

  • (time slot 할당 방법)
  • 물리적인 버스 구조(점선)로 연결되지만 논리적인 프레임 전달은 링 구조(실선)
  • 토큰이라는 제어 프레임을 사용, 반드시 토큰을 확보해야 함

토큰 링

  • 물리적으로 링 구조를 지원
  • 호스트의 동작 방식: 대기 모드, 전송 모드
  • 대기 모드
    • 입력단으로 들어온 데이터를 바로 출력단으로 보냄
    • 호스트가 다운되거나 기타 장애가 발생해도 네트워크에 영향을 주지 않기 위함
  • 전송 모드
    • 토큰을 확보해 데이터를 전송할 수 잇는 권한을 보유한 상태
    • 호스트가 중개 기능을 수행하며, 출력단을 통해 데이터를 전송할 수 있음
  • 송신 호스트가 전송한 프레임이 링을 한바퀴 돈 후 송신 호스트에 되돌아옴
  • 프레임이 올바로 전송되면 데이터 프레임을 회수하고 토큰 프레임을 링에 반환

이더넷

IEEE 802.3

  • 1-persistent CSMA/CD 방식의 LAN 환경에 관해 규정한 표준안
  • 공유버스로 연결한 호스트 간의 데이터 전송에 관한 사항
  • Ethernet
    • 802.3 표준안을 구현한 제품
    • 현재는 일반화된 용어로 사용한다.

이더넷 구성

  1. 이더넷과 신호 감자 기능
    • 1-persistent, None-persistent, p-persistent, CSMA/CD
  2. 프레임 구조
  3. LLC 프레임 캡슐화
  4. 허브와 스위치

이더넷과 신호 감지 기능

  • 신호 감지 프로토콜

    • 전송 매체의 신호를 감지해 프레임의 전송 여부를 결정
  • 1-persistent CSMA

    • 프레임을 전송하기 전에 채널 사용 여부를 확인
    • 채널이 사용 중이면 유휴 상태가 될 때까지 계속 대기
    • 채널이 유휴 상태가 되면 확률 1의 조건으로 프레임을 전송
    • 둘 이상의 호스트에서 동시에 전송 채널을 유휴 상태로 판단하면
      • 충돌 발생 가능성이 있다. 충돌이 발생하면 임의 시간 대기 후 다시 채널 감시
  • Non-persistent CSMA

    • 프레임을 전송하기 전에 채널 사용 여부를 한 번만 확인
    • 채널이 사용 중이면 더 이상 유휴 상태를 확인하지 않음
    • 대신 임의의 시간 동안 대기 후 다시 채널 감지를 시작
    • 1-persistent 방식보다 충돌 확률을 줄일 수 있음
  • p-persistent CSMA

    • 슬롯 채널 방식에서 많이 사용
    • 채널이 유휴 상태이면 p의 확률로 프레임을 전송
    • 채널이 사용 중이면 다음 슬롯을 기다린 후 앞의 과정을 반복
  • CSMA/CD

    • 둘 이상의 호스트에서 채널이 유휴 상태라고 판단할 수 있음
    • 이런 경우 프레임 전송 과정에서 충돌이 발생
    • 따라서 충돌 감지 기능이 필수적으로 요구됨
    • 충돌이 감지되면 진행중인 프레임의 전송을 중지
  • 프레임 구조
    • MAC 프레임: MAC 계층 프로토콜에 정의된 MAC 헤더와 트레일러 정보를 추가한 것
    • MAC 프레임은 LLC 계층에서 보낸 정보를 전송 데이터로 취급, 데이터 앞에는 헤더가, 뒤에는 트레일러가 위치
    • 이더넷 프레임 구조
      • 필드의 단위는 바이트
      • Source Address와 Destination Address 필드: 6바이트의 MAC 주소를 사용
      • Data와 Padding 필드: 가변 길이를 지원
      • Data 필드 왼쪽에 위치한 필드들은 헤더, 오른쪽은 트레일러에 속함
  • 헤더와 트레일러에서 정의한 필드의 의미
    • Preamble: 7바이트 크기로, 수신 호스트가 송신 호스트의 클록과 동기를 맞출 수 있도록 시간 여유를 제공하는 것이 목적 1010_1010
    • Start Delimiter(시작 구분자): 프레임이 시작된다는 의미로 사용, Preamble 필드와 구분하기 위해 1010_1011의 값을 갖음
    • Source Address/Destination Address: MAC 계층에서는 호스트를 구분하는 고유의 MAC 주소 사용
    • Length/Type: 필드 값이 1500 이하이면 Data 필드의 데이터 크기를 의미하는 Length로 해석하고, 그렇지 않으면 Type으로 해석
    • Length: Data 필드에 포함된 가변 길이의 전송 데이터 크기
    • Type: 이더넷 프레임에 캡슐화된 상위 프로토콜의 패킷 종류 구분
    • Checksum: 데이터 전송 과정에서 데이터 변형 오류의 발생 여부를 수신 호스트가 확인할 수 있도록 송신 호스트가 값을 기록

LLC 프레임 캡슐화

  • 이더넷 프레임에서 Data 필드를 제외한 필드들이 MAC 계층에서 추가하는 정보

허브와 스위치

  • 허브: 박스 형태의 장비에 잭을 연결해서 이더넷 네트워크를 구성
  • 스위치 허브: 허브의 성능을 향상시킨 장비

허브

  • 각 호스트는 외형상 허브에 스타형 구조로 연결
  • 허브의 내부 동작은 공유 버스 방식

스위치

  • 모든 호스트에게 프레임을 전송하지 않음
  • 목적지로 지정된 호스트에게만 프레임 전송(교환)
  • 따라서 동시에 여러 호스트가 데이터를 전송할 수 있음
  • 장점
    • 스위치 허브의 용량이 허용되면 각각의 호스트는 할당된 LAN 용량을 모두 사용함
    • 일반 허브를 스위치 허브로 교체하는 과정이 간단함

토큰 버스

Ethernet 문제점

  • 네트워크 트래픽이 심할 때 특정 호스트가 오랫동안 프레임을 전송하지 못할 수 있다.
  • 프레임의 우선순위가 규정되어 있지 않아 프레임의 중요도를 표현하기 어렵다.

링 구조의 토큰 버스

  • 호스트가 순서를 정해서 프레임을 전송한다.
  • 토큰 버스: 버스 구조에 토큰 방식을 논리적으로 구현

프레임 구조

  • LLC 계층에서 내려온 LLC 프레임을 수신 호스트에 전달하려면 토큰 버스 프레임을 만들어야 함
  • 토큰 버스 프레임의 구조
    • 데이터 프레임과 토큰 프레임을 구분하기 위한 Frame Control 필드가 추가됨
  • 헤더와 트레일러에 정의된 필드의 기능
    • Start Delimiter/End Delimiter(시작 구분자/끝 구분자)
      • 프레임의 시작과 끝을 의미하는 경계를 표시
    • Preamble/Source Address/Destination Address/Checksum
      • 이더넷 프레임과 기능이 동일
    • Frame Control(프레임 제어)
      • 데이터 프레임과 제어 프레임을 구분
      • 00: 제어용 MAC 프레임
      • 01: LLC 프레임
      • 10: 네트워크 관리용 데이터 프레임
      • 11: 예약

LLC 프레임 캡슐화

  • LLC 프레임의 좌우에 토큰 버스 프레임의 헤더와 트레일러 정보가 채워지면 물리 계층이 수신 호스트로 전송
  • 수신 호스트의 MAC 계층은 토큰 버스 프레임의 헤더와 트레일러 정보를 떼어내고, 상위 계층인 LLC 프로토콜에는 LLC 프레임 정보만 올림

토큰 링

  • 점대점으로 연결한 호스트가 순환 구조로 LAN을 구성
  • 토큰(제어 프레임)이 일정한 방향으로 순환
  • 데이터 프레임을 보내려면 먼저 토큰을 확보해야 함

프레임 구조

  • 토큰 링 프레임
    • 토큰 프레임: SD, AC, ED 필드
    • 데이터 프레임: SD, AC, ED, Destination Address, Source Address, Data, Checksum, ED, FS

LLC 프레임 캡슐화

  • LLC 계층에서 MAC 계층으로 전송 요청이 내려온 LLC 프레임을 토큰 링 프레임의 구조로 캡슐화하는 과정

프레임 필드의 의미

  • Start Delimiter/End Delimiter
    • 프레임의 시작과 끝을 구분
    • End Delimiter 필드
      • I 비트는 데이터 프레임을 여러 개로 나누어 전송하는 경우에 사용
      • E 비트는 오류 검출용
  • Access Control
    • 우선순위 비트: 토큰의 우선순위보다 높은 프레임을 전송할 수 있음
    • 토큰 비트: 토큰 프레임과 일반 프레임을 구분, 토큰 프레임은 값이 0
    • 모니터 비트: 오류 발생시 링 주위를 무한정 순화하는 것을 막기 위해 특정 호스트를 모니터로 지정, 모니터 호스트는 프레임에 M을 1로 만들고, 이것이 다시 돌아오면 링에서 제거함
    • PPPTMRRR
  • Frame Control
    • LLC 계층에서 목적지 호스트로 전송해줄 것을 요청한 LLC 프레임과 토큰 링 프로토콜에서 사용하는 제어용 프레임을 구분하는 데 사용
    • TTCCCCCC
    • TT 비트=00: 제어 기능을 수행하는 프레임을 위해 정의, CCCCCC 비트의 코드 값으로 제어 명령의 종류를 구분
    • TT비트=01: 상위 계층인 LLC 계층에서 전송을 요구한 LLC 프레임을 의미
  • Frame Status
    • 토큰 링 프레임의 맨 마지막에 위치, 프레임의 수신 호스트가 송신 호스트에 응답할 수 있도록 함
    • 두 개의 플래그 비트 A, C 필드로 정의
      • 한 쌍의 값이 동일한 경우에만 유효한 응답으로 정의, 다르면 0으로 처리되어 무시됨
    • A 비트: 수신 호스트가 접근했다는 표시로 1 지정
    • C 비트: 수신 호스트가 자신의 내부 버퍼에 보관했다는 표시로 1 지정
    • AC00AC00
profile
으악

0개의 댓글