[NETWORK] MAC Protocol

목차

경쟁 다중 접근 방식 (Random/Contention-Based Access Protocol)

복수의 사용자들이 하나의 채널(공유 매체)을 두고 서로 경쟁하며 나누어쓰는 방식이다.

  • 매체 접근 시점 결정: 각 노드는 우선순위 없이 전송을 자유롭게 시도한다
  • 매체 상태 대응: 신경 쓰지 않는다.
    상남자 메타
  • 전송 성공/실패 판단: 평상시보다 에너지 레벨이 2배가 된다 Detect a collision
  • 충돌 처리: 각 장치는 충돌을 감지하고 랜덤한 시간을 기다린 후 재전송을 시도한다

Random Access 특징

  • 모든 노드가 평등하다: 중앙국에 의한 제어가 없다
  • 소음에 강함
  • 비계획적 전송: 노드가 데이터를 전송할 시간이 미리 정해져 있지 않다.
  • 규칙 부재: 다음 전송 노드를 지정하는 규칙이 없다.
  • 경쟁 발생: 여러 노드들이 동시에 전송을 시도할 경우 충돌이 발생할 수 있다.

1. ALOHA

1970년대초 하와이 군도에 있는 섬들간에 무선 데이터 통신망(패킷 라디오망)을 구성하기 위한 연구에서 발전했다. 여러 노드들이 하나의 링크를 공유한다.

1.1. Pure ALOHA (순수 ALOHA):

각각의 노드는 보낼 데이터가 있을 경우, 언제든지 전송을 시도한다. 하나의 채널을 공유하기 때문에, 데이터가 충돌이 발생할 수 있다.

1.1.1. Main Idea

Pure_ALOHA_Algorithm

  1. 각각의 노드는 보낼 데이터가 있을 경우, 언제든지 전송을 시도한다. 그리고 수신자가 ACK를 돌려줄 것을 기다린다.
  2. 수신자로부터 ACK를 받았다면 성공적으로 통신을 끝낸다.
  3. timeout 시간 내에 ACK를 받지 못한 경우, 송신자는 frame이 파괴-충돌된 것이라고 보고, 재전송한다.
  • Tp: 최대 전송 지연 시간(Maximum Propagation Delay)
  • Time-out period: \(2 \times {T_p}\), S -> R, R -> S 총 2번의 데이터 전송을 고려
  • R: 랜덤값, \(0 <= R <= 2^K-1\)
  • K: 전송 실패 횟수
  • Kmax: 보통 15
  • Tfr: 평균 frame 전송 시간
  • Backoff time - TB: 재전송 대기 시간
    • \[T_B = R \times {T_p}\]
    • \[T_B = R \times {T_{fr}}\]

-> Tp이랑 Tfr은 같은 값일까?
전파 시간 Tp: 네트워크에서 신호가 물리적 매체를 통해 전파되는 시간이다. 거리와 전파 속도에 따라 달라진다.
프레임 전송 시간 Tfr: 하나의 프레임을 전송하는 데 걸리는 시간이다. 프레임 크기와 전송 속도에 의해 결정된다.
따라서, Tp ≠ Tfr

1.1.2. 문제점

Pure_ALOHA_Problem

2개 이상의 노드에서 보낸 데이터가 충돌했을 때, 이 모든 노드들이 timeout 시간 후에 재전송을 하게 되면 또 다시 frame이 충돌하게 된다.

1.1.3. 해결방법

  1. timeout 시간이 지난 후에, 각 노드들은 재전송을 하기 전에 랜덤한 시간(random backoff time, Tb)을 기다린다.
  2. 재전송으로 인한 채널의 congesting을 막기 위해, 재전송 최대 시도 횟수 Kmax을 시도한 후, 노드들은 전송을 포기하고 나중에 다시 시도한다.

1.1.4. Vulnerable time

Vulnerable_Time Vulnerable time: 충돌 가능성이 큰 기간
Pure ALOHA의 vulnerable time: \(2 \times {T_{fr}}\)

1.1.5. Throughput

\[S = G \times {e^{-2G}} \\ S_{max} = 0.184 \; when \; G = 1/2\]
  • S: throughput, 성공적인 전송률
  • G: average number of frames generated by the system during one frame transmission time, Tfr 시간동안 그 시스템 안에서 생성되는 frame의 개수 트래픽 강도(Traffic Intensity), 초당 평균 전송 시도 횟수

1.2. Slotted ALOHA (슬롯형 ALOHA):

전송을 시간 슬롯에 맞춰 시도한다. 각 장치는 정해진 슬롯에 전송을 시도하고, 충돌이 발생하면 랜덤한 슬롯 후에 재전송을 시도한다.

1.2.1. Vulnerable time

Vulnerable_Time

Slotted ALOHA vulnerable time: \({T_{fr}}\)

1.2.2. Throughput

\[S = G \times {e^{-2G}} \\ S_{max} = 0.368 \; when \; G = 1\]

2. CSMA (Carrier Sense Multiple Access)

CSMA: 채널 감지 다중 접속 방식이다. 송신 전 매체를 먼저 감지(carrier sense)하고, 비어 있으면 전송, 사용 중이면 기다리는 것이다.

동작 흐름

CSMA_Algorithm

  1. Station은 전송하려는 데이터가 생기면,
  2. 매체가 사용 중인지 먼저 감지한다 (Carrier Sense).
  3. 매체가 idle(비어 있으면) 즉시 or 일정 규칙에 따라 전송한다.
  4. 매체가 busy(사용 중)이면 대기하거나 재시도한다.

CSMA_Vulnerable_Time Vulnerable time: propagation time \(T_p\)

Persistence Methods

채널이 busy할 때 어떻게 할 것인가?

  1. 1-Persistent
  2. Nonpersistent
  3. p-Persistent
유형 동작 방식 특징 충돌 가능성
1-persistent CSMA 매체가 비면 즉시 전송 가장 단순하지만 충돌 위험 ↑ 높음
non-persistent CSMA 매체가 사용 중이면 랜덤 시간 대기 후 재시도 혼잡 회피 효과 있음 중간
p-persistent CSMA (슬롯 기반) 매체가 비면 확률 p로 전송, (1-p)면 대기 주로 슬롯 기반 네트워크에서 사용 낮음

1-Persistent

1-Persistent_Behavior 1-Persistent_Algorithm

  1. idle할 때, (확률 1로) 바로 보낸다

Nonpersistent

Nonpersistent_Behavior Nonpersistent_Algorithm

  1. 전송하려는 장치가 먼저 채널을 감지한다.
  2. idle하면, 즉시 전송한다.
  3. busy하면, 랜덤한 시간만큼 기다린 뒤 다시 감지를 반복한다.
    • 즉시 재시도하지 않는다(non-persistent)
    • 혼잡이 완화될 때까지 무작위 대기한다

p-Persistent

p-Persistent_Behavior p-Persistent_Algorithm

  1. 스테이션이 데이터를 전송하려고 할 때, 먼저 매체가 비어 있는지 감지한다.
  2. idle할 때,
    • 확률 p로 전송한다
    • 확률 (1 − p)로 전송을 슬롯 시간만큼 지연하고 다시 1번 단계로 돌아간다
  3. busy할 때, 채널이 비어질 때까지 기다린다

p값이 작을수록 더 기다리고, 증가할수록 즉시 전송하게 된다

Throughput

  1. 1-Persistent: G=1일 때, 약 50%
  2. Nonpersistent: 3 < G < 8일 때, 약 90% G: average number of frames generated by the system during one frame tranmission time

3. CSMA/CD (CSMA with Collision Detection)

CSMA/CD는 유선 이더넷(Ethernet)에서 사용되는 충돌 감지형 매체 접근 제어(MAC) 방식이다. CSMA + 충돌 감지(Collision Detection) 메커니즘

동작 원리 (전송 절차) CSMA/CD Algorithm

  1. 매체 감지: 전송 전 채널이 비어 있는지 확인 (Carrier Sense)
  2. 전송 시도: 채널이 idle이면 데이터 전송 시작
  3. 전송 중 감지: 전송 중 충돌 발생 여부를 실시간으로 감지 Detect a collision
  4. 충돌 감지: 전압 변화 등을 통해 충돌이 발생했음을 판단한다. normal 상태의 에너지 레벨의 2배가 된다.
  5. 충돌 후 처리:
    • 즉시 전송 중단
    • Jam Signal을 네트워크에 전송하여 다른 장치들에 충돌을 알린다
    • 재전송을 위한 backoff 시간을 랜덤하게 설정 (Binary Exponential Backoff)

충돌 조건 및 최소 프레임 크기

  • 충돌은 전파 지연 시간 내에 발생
  • 이를 고려해, 충돌을 감지할 수 있도록 최소 프레임 크기가 존재
  • 최소 프레임 크기 조건:
\[T_{fr} ≥ 2 \times T_{p}\]
  • Tfr: 최소 프레임 전송 시간
  • Tp: 전파 지연 시간

4. CSMA/CA(CSMA with Collision Avoidance)

CSMA/CA: 충돌 회피를 위한 프로토콜로, 주로 무선 LAN에서 사용된다. 충돌 발생 전 예방을 목표로 한다.

세 가지 전략

  • Interframe Space(IFS)
  • Contention Window
  • Acknowledgements

작동 원리:

RTS/CTS (Request to Send / Clear to Send)를 사용하여 충돌을 미리 방지합니다.

IFS (Interframe Space)와 Contention Window 등을 사용하여 충돌 가능성을 줄이고 네트워크의 혼잡을 피합니다.

장점:

  • 단순성: 구현이 간단하고, 별도의 동기화나 시간 분할 없이 자유롭게 전송할 수 있습니다.
  • 자원 효율성: 사용 가능한 대역폭을 동적으로 공유할 수 있어, 사용자 수가 적을 때 효율적입니다.
  • 유연성: 네트워크에 새로운 장치가 추가될 때, 동적으로 매체를 사용할 수 있습니다.

단점:

  • 충돌 발생: 충돌이 자주 발생할 수 있으며, 충돌이 발생하면 재전송을 해야 하므로 전송 효율이 떨어질 수 있습니다.
  • 스케일 문제: 사용자 수가 많을수록 충돌 확률이 높아져, 네트워크가 비효율적으로 변할 수 있습니다.
  • 성능 저하: 네트워크 트래픽이 많아지면, Throughput이 급격히 감소할 수 있습니다.

참고

Comments