네트워크_MAC
MAC (Multiple Access Control) 프로토콜의 정의
MAC 프로토콜은 여러 노드가 하나의 공유 채널을 사용할 때, 누가 언제 데이터를 전송할지를 결정해주는 분산 알고리즘입니다. 이는 무선 LAN, 케이블 이더넷, 위성 통신 등에서 공통적으로 사용됩니다.
MAC 프로토콜이 필요한 이유
공유 채널에서는 여러 노드가 동시에 데이터를 전송하려 할 수 있기 때문에 충돌(collision)이 발생할 수 있습니다.
- 예를 들어, 두 노드가 동시에 신호를 보내면 수신자는 두 개 이상의 신호를 동시에 받아 충돌이 발생합니다.
- 이런 충돌은 데이터를 손상시키므로, MAC 프로토콜은 충돌을 예방하거나, 충돌이 발생했을 때 적절히 처리하는 역할을 합니다.
MAC 프로토콜의 3가지 주요 분류
MAC 프로토콜은 공유 매체에서 노드들이 충돌 없이 데이터를 전송하도록 돕는 방식이며, 다음 3가지 유형으로 나뉩니다.
1. Channel Partitioning (채널 분배 방식)
- 정의: 채널을 시간, 주파수, 코드와 같은 조각(pieces)으로 나누어 각 노드에 고정적으로 할당하는 방식입니다.
- 예시: TDMA (Time Division Multiple Access), FDMA, CDMA
- 특징:
- 충돌 없음
- 고정된 방식이라 사용률이 낮을 수도 있음 (노드가 전송할 데이터가 없는데도 채널을 독점함)
- 장점: 안정적, 예측 가능
- 단점: 비효율적인 자원 사용
TDMA (Time Division Multiple Access, 시간 분할 다중 접속)
- 정의:
TDMA는 하나의 채널을 시간 슬롯(time slot)으로 나누고, 각 슬롯을 각 노드에 순차적으로 할당하여 전송하게 하는 방식이다. - 특징:
- 같은 주파수와 코드 사용, 시간을 분할하여 전송
- 각 노드는 자신에게 주어진 시간 슬롯에서만 데이터 전송 가능
FDMA (Frequency Division Multiple Access, 주파수 분할 다중 접속)
- 정의:
FDMA는 하나의 채널을 서로 다른 주파수 대역으로 분할하고, 각 노드에 고유 주파수 대역을 할당하여 동시에 통신할 수 있게 하는 방식이다. - 특징:
- 시간은 공유하되, 주파수 대역을 분리함
- 주파수 간 간섭을 방지하기 위해 보호 대역(guard band) 필요
CDMA (Code Division Multiple Access, 코드 분할 다중 접속)
- 정의:
CDMA는 모든 노드가 같은 시간, 같은 주파수를 사용하지만, 각 노드는 **고유한 코드(스프레딩 코드)**를 부여받아 데이터를 전송하는 방식이다. - 특징:
- 전송 시 데이터에 고유 코드 곱하여 송신,
- 수신 측은 해당 코드로 원하는 신호만 복원
2. Random Access (무작위 접근 방식)
- 정의: 노드들이 자율적으로 채널에 접근하며, 충돌이 발생할 수 있으나 충돌 후 이를 복구하는 방식입니다.
- 예시: ALOHA, Slotted ALOHA, CSMA, CSMA/CD (Ethernet), CSMA/CA (WiFi)
- 특징:
- 채널 분할 없음
- 충돌 발생 가능
- 백오프(backoff) 등의 충돌 복구 절차 포함
- 장점: 단순하고 유연함
- 단점: 충돌 시 지연 증가, 효율 감소
3. Taking Turns (순서 기반 방식)
- 정의: 노드들이 순서를 정해서 번갈아 가며 전송하는 방식입니다.
- 예시: Polling, Token Passing
- 특징:
- 충돌 없음
- 순서를 관리하는 제어 메커니즘 필요
- 많은 데이터가 있는 노드는 더 오래 전송할 수 있도록 조정 가능
- 장점: 공정하고 충돌 없음
- 단점: 제어 메시지 오버헤드 발생, 느린 전환 시간