[Network] Ch06. Medium Access Control

chxxrin·2022년 5월 20일
0

컴퓨터네트워크

목록 보기
6/15

Multiple access

다중 액세스란 공통 링크를 공유하는 기술을 의미합니다. 이는 point to point vs shared 공유링크로 구분됩니다. 공유 링크에서는 한 번에 하나의 사용자만 송신할 수 있으므로 매체 액세스 제어(MAC, Medium Access Control)가 필요합니다.

Random access protocols

충돌을 방지하기 위해 "랜덤성"이 사용됩니다. 이는 한 방에서 대화하는 사람들과 유사합니다. 아무도 언제 다른 사람이 말을 할지 모릅니다. 두 사람이 동시에 말을 시작하면 서로 말을 멈추고 잠시 기다린 후 다시 말을 시작합니다.

ALOHA

ALOHA는 1970년대 하와이 대학에서 개발된 무작위 액세스 프로토콜 라인에서의 기본 프로토콜입니다. 요약하자면, 전송할 것이 있다면 전송합니다. 충돌이 발생하면 일정 시간 동안 기다린 후 다시 전송합니다.

PURE ALOHA → 충돌이 좀 많이 남

퓨어 ALOHA는 송신자가 전송할 데이터 프레임이 있으면 즉시 전송하는 방식입니다. 수신자가 프레임을 수신하면 ACK를 보냅니다. ACK가 제한 시간 내에 도착하지 않으면 송신자는 프레임을 다시 전송합니다. 그러나 송신자는 즉시 재전송하지 않고 랜덤한 지연 시간을 기다린 후에 재전송합니다.

두 개의 프레임이 동시에 링크 상에 전송되면, 충돌이 발생합니다.

프레임이 손실될 때 송신자는 일정 시간 동안 기다린 후 다시 전송합니다. 기다리는 시간은 0과 2^K-1 사이의 임의의 숫자 R을 선택한 후 T x R 초(T: 타임 슬롯)를 기다립니다. 여기서 K는 매번 타임아웃 이후에 증가됩니다. 이것을 이진 지수 백오프(binary exponential backoff)라고 합니다.

Time slot T는 고정값(Ts)입니다.

  1. 전송 시간(Tfr)이 전파 시간(Tp)보다 큰 경우, 최대 전파 시간(Tp)이 시간 슬롯(Ts)보다 작아집니다.

    → Tfr >> Tp : Tfr(transmission time)

  2. 전파 시간(Tp)이 전송 시간(Tfr)보다 큰 경우, 최대 전파 시간(Tp)이 시간 슬롯(Ts)보다 크게 됩니다.

    → Tp >> Tfr : Tp(maximum propagations time)

네트워크의 노드들이 미디어 액세스 프로토콜로 퓨어 ALOHA를 사용한다고 가정하겠습니다.

백오프 시간 TB는 다음과 같이 계산됩니다:

  • TB = T x R
  • T(타임 슬롯) = 20ms
  • R = rand(0, 2^K-1)

만약 K=1이라면, 가능한 백오프 기간은 다음과 같습니다:

  • K=1 이므로, R은 0 또는 1이 될 수 있습니다.
  • 따라서 TB는 0 x 20ms = 0ms 또는 1 x 20ms = 20ms가 될 수 있습니다.

Vulnerable time

채널에서 프레임이 전송될 때, 취약시간(vulnerable time)은 다른 프레임이 전송될 경우 충돌이 발생하는 기간을 의미합니다.

만약 두 개 이상의 프레임이 동시에 채널에 전송되면, 충돌이 발생하게 됩니다. 이 충돌은 취약시간 동안 계속됩니다. 취약시간은 충돌이 일어난 후 전체 프레임이 전송되기까지 걸리는 시간입니다.

이 취약시간 동안, 충돌이 일어나기 때문에 데이터 프레임은 손상될 수 있습니다. 이러한 충돌을 방지하기 위해 이더넷 프로토콜에서는 충돌 탐지(CSMA/CD)를 사용합니다. 충돌 탐지는 충돌이 발생한 경우, 충돌을 탐지하고 일정 시간 동안 전송을 중지하여 충돌이 끝난 후 다시 프레임을 전송하는 방식입니다.

순수 알로하의 취약 시간(vulnerable time)은 다음과 같습니다.

전송 시간(Tp)이 전송 프레임 시간(Tfr)보다 매우 작다고 가정할 때, A가 t 시간에 전송을 시작하고 t+Tfr 시간에 전송을 완료한다고 가정합니다. 이 경우 다른 노드가 t-Tfr 시간과 t+Tfr 시간 사이에 전송을 하지 않도록 조치해야 합니다. 그렇지 않으면 충돌이 발생하게 되고, 프레임은 손상될 수 있습니다.

따라서, 취약 시간은 전송 프레임이 t-Tfr과 t+Tfr 시간에 충돌할 수 있는 시간입니다. 즉, 취약 시간은 2 x Tfr입니다. 이 시간 동안은 다른 노드가 전송을 하지 않도록 주의해야 합니다.

Q)

A pure ALOHA network transmits 200-bit frames on a shared channel of 200kbps. What is the requirement
to make this frame collision-free? (neglect
propagation delay)

순수 ALOHA 네트워크에서 노드는 채널이 바쁜지 확인하지 않고 언제든지 프레임을 전송할 수 있습니다. 따라서 두 개 이상의 노드가 동시에 전송하면 충돌이 발생하여 데이터 손실이 발생할 수 있습니다.

따라서 200비트 프레임이 충돌 없이 전송되려면 한 번에 하나의 노드만 전송해야 합니다. 이는 프레임 전송 시간(Tf)이 두 개의 연속된 프레임의 시작 사이의 시간 (Tf+Tf)보다 작아야 함을 의미합니다. 이를 프레임 전송 시간 간격(Tf+Tf)이라고도 합니다.

프레임 전송 시간은 다음과 같이 계산할 수 있습니다.

Tf = 프레임 크기 / 채널 대역폭
= 200비트 / 200 kbps
= 0.001 초

프레임 전송 시간 간격은 다음과 같이 계산할 수 있습니다.

Tf+Tf = 2 * Tf
= 2 * 0.001
= 0.002 초

따라서 프레임이 충돌 없이 전송되려면 프레임 전송 시간(Tf)은 프레임 전송 시간 간격(Tf+Tf)의 절반보다 작거나 같아야 합니다.

Tf ≤ Tf+Tf / 2

0.001 ≤ 0.002 / 2

0.001 ≤ 0.001

이 조건이 충족되므로 채널 대역폭이 200 kbps인 순수 ALOHA 네트워크에서 200비트 프레임이 충돌 없이 전송될 수 있습니다.

순수 ALOHA의 처리량을 계산하기 위해서는 다음과 같이 S를 계산합니다.
💡 S = G × e^(-2G)

• S: 성공적으로 전송된 프레임의 비율
• G: 프레임 전송 시간 동안 시스템에서 생성된 프레임의 평균 수량

G 값이 1이라고 가정할 때,

  • S = 1 x e-2 = 0.135입니다. 이는 전송 확률을 나타냅니다.

→ 만약 시스템에서 1초당 1000개의 프레임이 생성된다면, 135개의 프레임이 성공적으로 전송될 수 있습니다.

• e-1 = 0.367입니다. 이는 1차 지수 함수의 값으로, 1초 동안 시스템에 있는 프레임이 전송되지 않을 확률을 나타냅니다.
• e-2 = 0.135입니다. 이는 2차 지수 함수의 값으로, 2초 동안 시스템에 있는 프레임이 전송되지 않을 확률을 나타냅니다.
• e-0.5 = 0.606입니다. 이는 0.5차 지수 함수의 값으로, 0.5초 동안 시스템에 있는 프레임이 전송되지 않을 확률을 나타냅니다.

슬롯 ALOHA에서 성공적으로 전송된 프레임 수(S)는 다음과 같습니다.

S = G x e^(-G)

여기서 G는 시스템 대역폭(B)과 프레임 길이(L)의 비율입니다. 즉, G = B/(L/T) = BT/L입니다. 여기서 T는 슬롯의 길이입니다.

문제에서는 200-bit frames를 200kbps 채널에서 전송한다고 명시되어 있습니다. 이 경우, 프레임 길이 L은 다음과 같습니다.

L = 200 bits = 0.0002 Mbps x 1 s = 0.0002 Mbps x 10^6 μs = 200 μs

또한, 문제에서는 슬롯 ALOHA를 사용하므로 슬롯의 길이 T는 프레임 길이 L과 같습니다.

T = L = 200 μs

따라서, G는 다음과 같습니다.

G = BT/L = 200kbps x 200μs / 200μs = 200

a) 시스템이 1000 프레임을 초당 생성한다면,

S = G x e^(-G) = 200 x e^(-200) = 0.0015

따라서, 1000개의 프레임 중 1.5개의 프레임만 성공적으로 전송됩니다.

b) 시스템이 500 프레임을 초당 생성한다면,

S = G x e^(-G) = 200 x e^(-100) = 0.019

따라서, 500개의 프레임 중 9.5개의 프레임만 성공적으로 전송됩니다.

c) 시스템이 250 프레임을 초당 생성한다면,

S = G x e^(-G) = 200 x e^(-50) = 0.079

따라서, 250개의 프레임 중 19.8개의 프레임만 성공적으로 전송됩니다.

CSMA

CSMA (Carrier Sense Multiple Access)은 네트워크에서 충돌을 방지하기 위한 프로토콜입니다. ALOHA와 같은 프로토콜과는 달리, CSMA는 노드가 데이터를 전송하기 전에 다른 노드가 이미 전송 중인지 여부를 확인합니다. 이를 통해 충돌 가능성을 줄일 수 있습니다.

CSMA는 "talk하기 전에 listen하라"는 원칙을 따릅니다. 이는 노드가 전송하기 전에 다른 노드가 현재 전송 중인지를 확인하고, 다른 노드가 전송을 마칠 때까지 기다린 후에 전송을 시작한다는 것을 의미합니다. 이를 통해 충돌이 발생할 가능성이 줄어들고, 네트워크 전체의 대역폭이 더 효율적으로 사용될 수 있습니다.

CSMA는 다른 변형 프로토콜들, 예를 들어 CSMA/CD (Carrier Sense Multiple Access with Collision Detection)와 함께 사용됩니다. CSMA/CD는 CSMA와 달리 충돌이 발생한 경우 충돌을 탐지하고, 전송을 중지하고, 일정 시간 후에 재전송하는 방식으로 동작합니다.

노드가 전송할 데이터 프레임이 있는 경우, 먼저 채널을 감지합니다. 만약 채널이 현재 사용 중이지 않은 경우 (idle), 노드는 전송을 시작합니다. 그러나, 만약 채널이 이미 다른 노드에 의해 사용 중인 경우 (busy), 노드는 전송을 하지 않습니다. 이렇게 함으로써 충돌을 방지하고, 대역폭을 효율적으로 사용할 수 있게 됩니다. 이러한 동작 방식을 가진 프로토콜이 CSMA (Carrier Sense Multiple Access)입니다.

CSMA 프로토콜은 충돌을 완전히 방지할 수 없습니다. 예를 들어, 노드 B가 t1 시간에 전송을 시작하면, 이 신호는 노드 C에게 t3 시간에 도달합니다. 이 때, t1 < t2 < t3 이라고 가정합니다. 노드 C는 t2 시간에 채널을 감지하여 (노드 B의 신호가 아직 도달하기 전에) 채널이 놓여있다고 판단하고 전송을 시작합니다. 하지만, 이 때 노드 B의 신호와 충돌이 발생합니다. 따라서, CSMA 프로토콜은 충돌을 완전히 피할 수 없습니다.

채널이 사용 중인 경우, 노드는 어떻게 해야 할까요?

  • 이에 따라, 3 종류의 CSMA가 있습니다.
    • 1-검증 CSMA (1-persistent CSMA)
    • 비검증 CSMA (non-persistent CSMA)
    • p-검증 CSMA (p-persistent CSMA)

1-검증 CSMA(1-persistent CSMA)
• 채널이 사용 중인 동안 계속해서 채널을 감지합니다.
• 채널이 비어있는 순간 즉시 전송합니다.
• 여러 노드가 채널이 비어질 때까지 기다릴 수 있으므로, 충돌 확률이 높습니다.

비검증 CSMA(Non-persistent CSMA)
• 채널이 사용 중이면 노드는 일정 시간 동안 대기하고 다시 채널을 감지합니다.
• 채널이 비어있으면 전송합니다.
• 충돌 확률이 낮지만, 노드가 채널이 비어있는 상태에서도 시간을 낭비할 수 있습니다.

p-persistent CSMA는 여러 대의 노드가 하나의 채널을 공유하는 네트워크에서 충돌을 방지하기 위한 방법 중 하나입니다.

이 방법은 노드가 채널이 사용 중인 동안 계속해서 채널을 감지하다가 채널이 유휴 상태가 되면, 노드는 전송을 하거나 전송을 하지 않을 수 있습니다.

전송을 하기로 결정한 경우, 노드는 확률 p로 전송을 하고 확률 1-p로 전송을 지연합니다. 즉, 노드는 채널을 계속해서 감지하다가 유휴 상태가 되면 일정한 확률로 즉시 전송을 시도하며, 그렇지 않은 경우에는 일시적으로 전송을 지연하여 다음 기회를 기다리는 것입니다.

이 방법은 충돌을 최소화할 수 있도록 설계되었습니다. 노드가 전송을 시도하기 전에 채널이 사용 중인지 확인하기 때문에 다른 노드가 이미 전송을 시도하는 것을 감지하고 충돌을 피할 수 있습니다. 따라서 p-persistent CSMA는 채널 이용률을 높이는 데 도움이 되며, 네트워크의 성능을 향상시키는 데 기여할 수 있습니다.

이 세 가지 전송 방식은 CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 프로토콜에서 사용됩니다. 이 프로토콜은 여러 대의 컴퓨터가 하나의 케이블을 공유하고 동시에 데이터를 전송할 수 있도록 해주는 프로토콜입니다. 이때 충돌이 발생하면 CSMA/CD는 충돌이 발생했다는 것을 감지하고, 일정 시간이 지나면 다시 데이터를 전송하도록 합니다.

1-persistent, nonpersistent, p-persistent 전송 방식은 이러한 충돌을 어떻게 다룰지를 결정합니다. 이들 각각의 특징과 차이점, 공통점은 다음과 같습니다.

  1. 1-persistent
  • 충돌이 발생하면 데이터를 전송하지 않고 계속 기다립니다.
  • 다른 컴퓨터가 전송을 완료하면 즉시 전송을 시작합니다.
  • 선점 형태의 전송 방식입니다.
  • 특징: 전송 속도가 빠르고, 효율적입니다. 그러나 충돌이 자주 발생하면 대기 시간이 길어질 수 있습니다.
  1. Nonpersistent
  • 충돌이 발생하면 일정 시간 동안 기다린 후 다시 전송합니다.
  • 기다리는 동안 다른 컴퓨터가 전송을 시작할 수 있습니다.
  • 선점하지 않는 방식입니다.
  • 특징: 충돌을 최소화하고 대기 시간을 일정하게 유지합니다. 그러나 전송 속도가 느리고, 효율성이 떨어질 수 있습니다.
  1. p-persistent
  • 충돌이 발생하면 일정 확률로 전송을 시도합니다.
  • 기다리는 동안 다른 컴퓨터가 전송을 시작하면 기다리지 않고 전송을 시작합니다.
  • 선점 형태의 전송 방식입니다.
  • 특징: 전송 속도가 빠르고, 효율적입니다. 그러나 충돌이 자주 발생하면 대기 시간이 길어질 수 있습니다.

이들 전송 방식은 모두 충돌을 최소화하기 위한 방식이며, 각각의 특징과 장단점이 있습니다. 하지만 모두 공통적으로, 전송 속도와 대기 시간을 조절하여 효율적인 데이터 전송을 가능하게 합니다.

CSMA/CD

→ 충돌이 감지되면 - ALOHA와 유사한 이진 지수 백오프 방식 사용

CSMA/CD는 Ethernet에서 사용되는 충돌 감지 프로토콜입니다. 충돌 감지는 충돌이 발생한 경우, 송신자가 충돌을 감지하고 이에 대한 조치를 취합니다. 이를 통해 여러 컴퓨터가 동시에 네트워크에 접근하여 패킷을 전송할 수 있습니다.

CSMA/CD는 Carrier Sense Multiple Access with Collision Detection의 약어로, 여러 컴퓨터가 네트워크에 패킷을 전송하기 전에 캐리어를 감지하고, 캐리어가 감지되면 데이터 전송을 시작합니다. 이때 동시에 여러 컴퓨터가 전송을 시도할 경우 충돌이 발생할 수 있습니다. 충돌이 감지되면 송신자는 전송을 중단하고, 일정 시간 뒤에 재전송을 시도합니다.

CSMA/CD는 이더넷과 같은 로컬 네트워크에서 사용되며, 이더넷에서는 1-persistent CSMA/CD를 사용합니다. 이는 충돌이 발생한 경우, 충돌이 해결될 때까지 계속해서 전송을 시도하는 방식입니다. 이러한 방식은 충돌이 자주 발생하는 네트워크에서는 성능이 저하될 수 있습니다.

충돌 상황 - 노드 A가 프레임을 전송하는 동안 C가 그 전에 전송을 시작하는 경우

노드가 충돌을 감지하는 방법 - 내 프레임을 전송하는 동안 다른 프레임이 도착하면 충돌을 감지합니다.

충돌 검출의 성공 - 충돌이 발생하면 노드는 그것을 감지할 수 있어야 합니다. 충돌이 발생하면 충돌한 프레임이 도착할 때까지 내 프레임을 계속 전송해야 합니다. 내 전송이 너무 일찍 끝나면 충돌을 감지할 수 없을 수 있습니다.

충돌 검출 실패 조건 - 노드 A는 t1에서 전송을 시작합니다. - 노드 C는 t2에서 전송을 시작하고 A의 프레임과 충돌합니다. - 충돌한 프레임은 t4에 노드 A에 도달합니다. - 만약 노드 A가 t4 이전에 전송을 완료하면 A는 충돌을 감지하지 못합니다.

노드 A는 얼마나 길게 송신해야 할까요?

노드 A가 t1에서 송신을 시작하면 첫 번째 비트는 t1+tp에 C에게 도달합니다. 만약 C가 t1+tp 이전에 송신한다면, 이는 충돌입니다. C는 캐리어 감지 때문에 t1+tp 이후에도 송신할 수 없습니다.

그렇다면 노드 A는 얼마나 길게 송신해야 할까요?

C가 t1+tp 바로 직전에 송신한다고 가정해봅시다. 충돌한 프레임은 t1+2tp에 노드 A에 도달합니다. 이 때 노드 A는 아직 송신 중이어야 합니다. 따라서, tfr ≥ 2tp가 성립해야 합니다.

Q)

A network using CSMA/CD has a bandwidth of
10Mbps. If the maximum propagation time is 25.6μs,
what is the minimum size of the frame?

To calculate the minimum size of the frame, we need to use the formula:
Minimum Frame Size = (2 x Propagation Time x Data Rate) + 2 x 64 bits

where Propagation Time = maximum propagation time in seconds, Data Rate = bandwidth in bits per second, and 2 x 64 bits is the preamble and start frame delimiter.

Substituting the given values, we get:
Minimum Frame Size = (2 x 25.6μs x 10Mbps) + 2 x 64 bits
= (2 x 25.6 x 10^-6 seconds x 10^7 bits/second) + 128 bits
= 512 bits + 128 bits
= 640 bits

Therefore, the minimum size of the frame is 640 bits.

CSMA/CA(Collision Avoidance)

  • 충돌을 감지할 수 없는 시스템에서 사용됨
  • Wi-Fi에서 사용됨
  • Wi-Fi 인터페이스는 반송파(half duplex) 방식으로, 동시에 송신과 수신을 할 수 없음. 그러므로 CSMA/CD와 같이 충돌을 감지할 수 없음
  • 충돌이 발생하기 전에는 랜덤 백오프(random backoff)를 수행
  • ACK를 기다림
  • ACK가 오지 않으면 충돌로 간주하여 지수적으로 백오프를 증가시킴

IFS (Inter-Frame Spacing)

  • 채널이 아무도 사용하지 않는 것으로 감지되어도 다른 노드가 이미 전송을 시작할 수 있음
  • 충돌을 피하기 위해 IFS가 삽입됨.

Contention window(경쟁 창구)

  • 노드가 무작위로 선택하는 번호의 범위 (예: 0-31)
  • 노드는 경쟁 창구에서 숫자를 선택
  • 각 time slot에서 채널이 비어있는 경우(idle) 숫자를 감소시킴(count down) (예: 시간 슬롯 = 20us)
  • 카운터가 0이되면 전송을 시작함.
  • 노드가 무작위 번호로 15를 선택한 경우 (시간 슬롯 = 20us)
  • 채널이 15x20=300us 동안 idle 상태인 경우, 노드가 전송함
  • 채널이 카운트 중일 때 바쁘게되면(busy), 노드는 다시 채널이 idle 상태가 될 때까지 일시 중지
  • 채널이 idle 상태가 되면, 노드는 IFS(Inter-Frame Space)를 기다린 후 카운트를 다시 시작함.
  • idle → 노드 전송 → busy → 일시중지 → idle → IFS 기다림 → 노드 전송

Binary exponential backoff

이진 지수 백오프는 충돌이 발생하면 contention window 크기가 두 배가되는 것을 의미합니다. 예를 들어, 0-31 범위의 contention window가 있으면 충돌이 발생하면 0-63 범위로 증가합니다. 이렇게 함으로써 다른 노드와의 충돌이 더 이상 발생하지 않도록 노드들이 경쟁을 분리하도록 격려합니다. 반대로, 데이터 프레임이 성공적으로 전송되면 경합 창 크기는 초기 범위로 감소됩니다.\

가정:

  • 타임 슬롯 = 20us
  • IFS = 50us
  • 초기 경합 창 = [0-31]
  • 프레임 전송 시간 = 100us
  • 전파 시간 = 0 (무시)
  • ACK 없음
  • 노드 A, B, C가 동일한 무선 LAN에 있음
  • 노드 A가 전송할 준비가 되어 있음
0us: 노드 A, B, C 모두 전송 준비를 마치고, IFS (50us)를 기다림.
50us: 노드 A, B, C가 무작위 숫자를 선택함. A는 10을 선택하고, B는 15를 선택하고, C는 20을 선택함. 경합 창 안에서 카운트 다운을 시작함.
250us: 노드 A의 카운터가 0이 됨. 노드 A는 전송을 시작함. 노드 B와 C는 A의 신호를 감지하고 카운트 다운을 일시 중지함.
350us: 노드 A의 전송이 끝나고, 노드 B와 C는 채널이 놀고 있는 상태를 감지함. 노드 B와 C는 IFS(50)를 기다린 후 카운트 다운을 다시 시작함.
400us: 노드 B와 C가 카운트 다운을 다시 시작함. B의 카운터는 5, C의 카운터는 10.
500us: 노드 B의 카운터가 0이 됨. 노드 B는 전송을 시작함. 노드 C는 카운트 다운을 일시 중지함.
600us: 노드 B의 전송이 끝나고, 노드 C는 IFS(50)를 기다림.
650us: 노드 C가 카운트 다운을 다시 시작함. C의 카운터는 5.
750us: 노드 C는 전송을 시작함.
850us: 노드 C의 전송이 끝남.

Controlled Access

제어된 접속(Controlled Access)은 충돌 회피를 위해 임의의 숫자를 선택하는 것이 아닌, 노드가 규칙에 따라 서로 번갈아가며 전송하는 방식입니다. 이 방식은 예약, 폴링, 토큰 패싱 등의 방법으로 구현됩니다.

  1. 예약 방식은 노드가 전송할 데이터 프레임을 미리 예약하고, 해당 시간에 전송하는 방식입니다. 이 방식은 예약된 시간에 전송이 보장되기 때문에 충돌이 발생하지 않습니다.
  2. 폴링 방식은 하나의 노드가 다른 노드들에게 주기적으로 데이터를 요청하고, 해당 노드가 데이터를 보낼 때까지 다른 노드들은 대기하는 방식입니다. 이 방식은 전송 시간을 조절할 수 있기 때문에 전송 지연이 발생할 가능성을 낮출 수 있습니다.
  3. 토큰 패싱 방식은 전송 권한을 가진 노드만이 전송을 할 수 있는 방식입니다. 노드들은 토큰이라는 신호를 주고 받으면서 전송 권한을 획득하고, 데이터를 전송한 후에는 다시 토큰을 넘겨주는 방식입니다. 이 방식은 전송 지연 시간을 최소화할 수 있습니다.

Reservation

  • Reservation은 데이터 전송 전에 노드가 "예약" 타임 슬롯을 설정하는 방식입니다.
    데이터 전송 타임 슬롯 이전에 "예약 슬롯"이 있으며, 노드는 자신이 전송할 것을 알리기 위해 신호를 보내 예약합니다.
  • N 개의 노드가있는 경우, 예약 슬롯에는 N 개의 미니 슬롯이 있으며, 각 노드는 예약을 위해 이러한 미니 슬롯 중 하나를 사용합니다.
  • 첫 번째 기간에서는 노드 1, 3 및 4가 채널을 예약합니다.
  • 두 번째 기간에서는 노드 1 만 채널을 예약합니다.

Polling

  • 폴링(Polling)은 여러 노드 중 하나의 노드가 "주 노드(primary node)"로 지정되고, 다른 노드는 "보조 노드(secondary node)"가 되어 데이터를 전송하는 방식입니다. 주 노드는 데이터 전송을 제어하며, 어떤 노드가 언제 데이터를 보낼지를 결정합니다. 데이터는 항상 주 노드를 통해 전송되어야 하며, 두 개의 보조 노드는 서로 통신할 수 없습니다.
  • Select(SEL)는 주 노드가 보조 노드에게 데이터를 보내는 것을 의미하며, Select(SEL): primary node → secondary node
  • Poll은 보조 노드가 주 노드에게 데이터를 보내는 것을 의미합니다. Poll : secondary node → primary node

Token passing

토큰 패싱(Token Passing)은 매체 접근 제어(MAC)에서 한 번에 하나의 노드만 전송할 수 있도록 하는 것을 목표로 합니다. 이 방식은 전송을 할 수 있는 유일한 "토큰"을 사용하여 노드를 식별합니다. 시스템에는 토큰이 하나만 있으며, 노드는 토큰을 보유한 경우에만 전송할 수 있습니다. 데이터 전송 후에는 노드는 미리 정의된 순서대로 다음 노드에게 토큰을 전달합니다.

토큰 패싱은 다양한 유형의 토폴로지(topology)를 사용할 수 있습니다.

1. Physical Ring

물리적인 링 구조에서는 간단하게 구성할 수 있으며, 토큰은 다음 노드의 주소를 포함하지 않아도 됩니다. 그러나 링 구조에서 링이 끊어지면 시스템이 멈출 수 있습니다. 

2. Dual Ring

듀얼 링 구조는 링이 끊어져도 두 번째 링을 사용하여 시스템을 계속할 수 있습니다. 

3. Bus

버스 구조에서는 토큰이 다음 노드를 지정해야 하며, 링이 끊어져도 시스템은 계속 작동할 수 있습니다. 

4. Start

스타 구조에서는 토큰이 항상 허브를 통해 전달되므로 시스템에서 노드를 추가하거나 제거하기 쉽습니다.

Channelization

채널화(Channelization)는 시간, 주파수, 코드 분할 기술을 사용하여 매체를 여러 채널로 분할하는 메커니즘입니다. 이를 통해 여러 사용자가 동시에 매체에 액세스하여 효율적으로 데이터를 전송할 수 있습니다.

채널화에는 여러 기술이 있으며, 대표적으로는 다음과 같은 것들이 있습니다:

  • 주파수 분할 다중 액세스(Frequency-Division Multiple Access, FDMA): 주파수 대역폭을 분할하여 각 사용자에게 독립적인 주파수 대역을 할당합니다.
  • 시간 분할 다중 액세스(Time-Division Multiple Access, TDMA): 시간을 분할하여 각 사용자에게 고유한 시간 슬롯을 할당합니다.
  • 코드 분할 다중 액세스(Code-Division Multiple Access, CDMA): 각 사용자에게 고유한 코드를 할당하여 같은 주파수 대역에서 동시에 데이터를 전송할 수 있습니다. 이를 위해 스펙트럼 분할 방식을 사용합니다.

이러한 채널화 기술은 이동 통신, 위성 통신, 무선통신 등 다양한 분야에서 널리 사용됩니다.

💡 TB = T x R

T(타임 슬롯) = 20ms

R = rand(0, 2^K-1)

💡 PURE ALOHA

S = G × e^(-2G)

💡 Slotted ALOHA

S = G × e^(-G)

💡 **tfr ≥ 2tp**

0개의 댓글