MAC 계층

yo·2021년 1월 10일
0

나온님 자료: https://naon.me/posts/til83
현랑님 자료: https://www.notion.so/5-MAC-3-Token-bus-Token-ring-a36afc3c6b7c49d2abb40f7bd926000d
1) IEEE 802시리즈
2) 이더넷
3) Token bus/Token ring

이더넷

학습목표

-대표적 LAN protocol인 이더넷의 동작 원리와 프레임의 구조 이해

IEEE 802.3

1-persistent CSMA / CD 방식의 LAN 환경을 규정

1-persistent CSMA
-프레임을 전송하기 전에 채널(공유 버스)가 사용중인지 여부 확인(Carrier Sense)

  • 채널이 사용중이면 유휴 상태가 될 때까지 대기
  • 이후, 채널이 유휴 상태가 되면 확률 1(무조건, 1-persistent)의 조건으로 프레임을 전송
  • 둘 이상의 호스트에서 동시에 유휴 상태로 판단하면 충돌 ㅂ라생 - Multiple Access
  • 충돌이 발생하면 임의의 시간 동안 대기한 후 처음부터 다시 시작
    (
  • 캐리어가 있으면 유휴상태 -> 데이터 보낸다.
  • 캐리어가 없으면(=다른 곳에서 데이터를 전송 중이면) -> 대기
    )
    CD(Collision Detection
  • 둘 이상의 호스트에서 채널이 유휴 상태라고 판단할 수 있음
  • 이런 경우 프레임 전송 과정에서 충돌이 발생
  • 따라서 충돌 감지 기능이 필수적으로 요구됨
  • 충돌이 감지되면 진행중인 프레임의 전송을 중지

다른 CSMA 방식

Non-persistent CSMA

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

P-persistent CSMA

  • 슬롯 채널 방식에서 주로 사용
  • 프레임을 전송하기 전에 채널 사용 여부 확인
  • 채널이 사용 중이면 다음 슬롯까지 대기 후 다시 채널 감지를 시작
  • 채널이 유휴 상태면 p의 확률로 프레임을 전송

연결 방식


왼쪽그림 설명
-케이블이 있고, 중간에 케이블을 묶어주는 리피터, 실제 케이블에서 데이터를 꺼내가는 트랜시버가 있다.
이런 이더넷의 약점은 중간에 케이블이 손상되면 신호 전달이 이상하게 된다.

이를 개선하기 위해 나온게 허브와 스위치다.
(a)는 버스, (b)는 허브, (c)는 스위치다. 허브는 a에서 데이터를 보내면 b,c모두에게 가지만, c에서는 a가 보낸 데이터가 b에만 가게 할 수 있다.

정리하자면, 기존 방식은 선이 문제가 생길 경우 망 전체가 영향을 받는 시스템이었기에, 이를 개선하기위해 허브, 스위치 방식이 도입됐다.
c스위치는 동시에 각각, 둘만 통신할 수 있는 시스템이다.
요즘 나오는 허브는 전부 스위치 허브다.

허브와 스위치

허브

  • 각 호스트는 외형상 스타형 구조로 허브에 연결.
  • 내부적인 동작 원리는 공유 버스 방식을 사용.

스위치 허브

  • 스위치 기능

    • 모든 호스트에게 프레임을 전송하지 않음
    • 목적지로 지정된 호스트에게만 프레임 전송
    • 따라서 동시에 여러 호스트가 데이터를 전송할 수 있음
  • 장점

    • 스위치 허브의 용량이 허용되면 각각의 호스트는 할당된 LAN 용량을 모두 사용함
    • 일반 허브를 스위치 허브로 교체하는 과정이 간단함.

프레임


앞엔 헤더, 뒤엔 트레일러, 그 중간에 데이터가 위치.

Mac 헤더

  • Preamble : 수신 호스트가 송신 호스트의 클록 동기를 맞추는 용도
  • Start Delimiter: 프레임의 시작 위치 구분
  • Destination Address: 수신 호스트의 MAC 주소
  • Source Address: 송신 호스트의 MAC 주소
  • Length: Data 필드에 포함된 가변 길이의 전송 데이터 크기

LLC 프레임

  • Data

MAC 트레일러

-Pad : 자릿수 맞추기 위해 빈 값만큼 0으로 채워넣는 용도
-Checksum: 데이터 변형 오류를 감지

  • 참고로 각 층마다 데이터를 일컫는 용어가 다르다.
    네트워크 계층에서는 패킷이라 부르고, 데이터 링크 계층에서는 프레임이라 부른다.
profile
Never stop asking why

0개의 댓글