PromleeBlog
sitemap
aboutMe

posting thumbnail
경쟁 기반 프로토콜
Contention-Based Protocol

📅

🚀

경쟁 기반 프로토콜 (Contetnion Based Protocols) 🔗

ALOHA
슬롯 ALOHA
CSMA (반송파 감지 다중 접속)
CSMA/CD (충돌 감지 기능이 있는 CSMA)
CSMA/CA (충돌 회피 기능이 있는 CSMA)
CSMA/CA와 ACK
CSMA/CA와 RTS/CTS

🚀

ALOHA에서의 충돌 매커니즘 (Collision Mechanism in ALOHA) 🔗

image
노드 1이 데이터를 전송할 때 다른 노드가 전송중이지 않으면 성공적으로 전송된다. 하지만 두 노드(2, 3)가 동시에 전송하면 충돌이 발생한다.
충돌이 발생하면 두 노드는 재전송을 위해
랜덤한 시간
을 기다린다.
이 랜덤 시간은 충돌이 발생한 노드가 다시 전송을 시도하는 시간을 랜덤하게 설정하여 충돌이 다시 발생하지 않도록 한다.

🚀

Slotted ALOHA에서의 충돌 매커니즘 (Collision Mechanism in Slotted ALOHA) 🔗

image
기본 ALOHA와 달리 Slotted ALOHA는 시간을 슬롯으로 나누어 전송한다.
따라서 충돌이 발생하면 두 노드는
랜덤함 다음 슬롯
에서 재전송을 시도한다.

🚀

반송파 감지 다중 접속: CSMA (Carrier Sense Multiple Access) 🔗

슬롯 ALOHA로 달성 가능한 최대 처리량은 0.368이다.
CSMA는 ALOHA 프로토콜에 비해 향상된 처리량을 제공한다.
패킷을 전송하기 전에 채널을 감지하여 (피할 수 있는 충돌을 방지한다).

🚀

CSMA에서의 충돌 매커니즘 (Collision Mechanism in CSMA) 🔗

image
노드 1이 데이터를 전송하고, 그 후에 노드 2가 데이터를 전송한다.
노드 3도 데이터를 전송하고, 노드 4는 채널을 감지하여 데이터를 전송하려고 한다.
노드 4는 채널이 사용 중임을 감지하고 대기한다.
이후 노드 4가 채널을 감지하여 비어 있음을 확인하고 데이터를 전송하려고 하지만, 노드 5도 같은 시점에 채널을 감지하고 데이터를 전송하려고 한다.
이로 인해 노드 4와 노드 5의 데이터가 충돌하게 된다.
충돌이 발생하면 충돌한 노드들은 랜덤한 시간 동안 대기한 후 다시 데이터를 전송하려고 시도한다.
이 과정을 통해 충돌이 반복되는 것을 피하고, 데이터 전송의 성공 확률을 높인다.

🚀

충돌 감지 다중 접속: CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 🔗

CSMA/CD는 CSMA 프로토콜에 충돌 감지 기능을 추가한 프로토콜이다.
작동 원리:
  1. 매체가 비어 있는 경우, 즉 채널이 사용 중이지 않으면 데이터를 전송한다.
  2. 매체가 사용 중이면, 채널이 비어 있을 때까지 계속 감지하고 대기한 후 전송을 시도한다.
  3. 전송 중에 충돌이 감지되면, 즉시 전송을 중지하고 충돌을 처리한다.
  4. 충돌 후 랜덤한 시간 동안 대기한 후, 동일한 알고리즘을 반복하여 다시 전송을 시도한다.

🚀

충돌 회피 다중 접속: CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) 🔗

CSMA/CA는 CSMA 프로토콜에 충돌 회피 기능을 추가한 프로토콜이다.
작동 원리:
  1. 모든 단말기는 CSMA/CD와 동일하게 매체를 청취한다.
  2. 전송 준비가 된 단말기는 매체를 감지한다.
  3. 매체가 사용 중이면 현재 전송이 끝날 때까지 기다린다.
  4. 그 후 추가로 미리 정해진 시간 동안 DIFS(Distributed Inter Frame Space)를 기다린다.
  5. 그 후 경쟁 윈도우 내에서 슬롯의 무작위 개수(백오프 카운터의 초기 값)를 선택하여 프레임을 전송하기 전에 대기한다.
  6. 이 시간 동안(백오프 시간)에 다른 단말기에서 전송이 발생하면 해당 단말기는 카운터를 멈춘다.
  7. 다른 단말기의 전송이 끝나고 DIFS가 지나면 카운트다운을 재개한다. 단말기는 카운터가 0에 도달하면 전송을 시작할 수 있다.
CSMA/CD와의
차이점
:
DIFS
(Distributed Inter Frame Space):
백오프 카운터
:
경쟁 윈도우
:
백오프 시간
:

🚀

CSMA/CA와 ACK 🔗

수신자는 데이터 프레임을 수신하자마자 즉시 응답 신호(ACK)를 보낸다.
ACK 프레임은
SIFS
(Short Inter-Frame Space) 간격 후에 전송된다 (SIFS < DIFS).
수신자는 매체를 감지하지 않고 ACK를 전송한다.
ACK가 손실되면, 재전송을 수행한다.

🚀

CSMA/CA와 RTS/CTS 🔗

송신자는 매체가 DIFS보다 오랜 시간 동안 유휴 상태일 때
RTS
(Request to Send)를 전송한다.
수신자는 매체가 SIFS 동안 유휴 상태일 때
CTS
(Clear to Send)로 응답한다.
그 후 데이터가 교환된다.
RTS/CTS는 데이터 전송을 위한 채널을 예약하는 데 사용되며, 충돌은 제어 메시지에서만 발생할 수 있다.
RTS (Request to Send)
:
CTS (Clear to Send)
:

🚀

지수 백오프 (Exponential Backoff) 🔗

패킷을 전송할 때, 백오프 간격을 [0, cw] 범위 내에서 선택한다
매체가 유휴 상태일 때 백오프 간격을 카운트다운 한다
백오프 간격이 0에 도달하면 RTS를 전송한다.

🚀

백오프 인터벌 (Backoff Interval) 🔗

cwcw를 선택하면 백오프 간격이 커지고 오버헤드가 증가할 수 있다.
작은 cwcw를 선택하면 충돌이 더 많이 발생할 수 있다 (두 노드가 동시에 0까지 카운트다운할 때).
동시에 전송을 시도하는 노드 수는 시간에 따라 달라질 수 있으므로, 경쟁을 관리할 수 있는 메커니즘이 필요하다.
IEEE 802.11 DCF: 경쟁 윈도우 cwcw는 충돌 발생에 따라 동적으로 선택된다.