Multiple Access란 무엇일까?
네트워크 상에 존재하는 하나의 채널 링크에는 여러 개의 노드가 동시에 접근할 수 있다. 그러나 하나의 링크 채널에는 한번에 하나의 데이터만 송신할 수 있다. 만약 여러 노드가 동시에 같은 링크 채널에 데이터를 전송하면? 이때 발생하는 것이 '충돌'이다. 충돌이 일어나면 제대로 된 데이터가 전송되지 않기 때문에, 여러 노드가 한번에 하나의 링크에 데이터를 보내지 않도록 제어해줘야 한다. 즉, Multiple Access가 일어나지 않도록 제어[Multiple Access Control]해줘야 한다. 이때 사용하는 규약을 Multiple Access Control Protocols(줄여서 MAC 프로토콜)라 칭한다.
해당 프로토콜엔 여러 방식이 존재하는데, 그 중에 가장 유명한 방식은 '채널을 쪼개 쓰는 것[Channel Partitioning]'이다. 이는 즉 하나의 채널을 여러 개로 조각내서 각 노드마다 나눠서 사용한다는 뜻이다. 이 채널을 조각내는 기준이 시간인지 주파수인지 코드인지에 기준하여 TDMA, FDMA, CDMA로 나눌 수 있다.
1. TDMA[Time Division Multiple Access]
하나의 채널을 쪼갠 후 라운드로빈 방식으로 메시지를 전송하는 방식이다. 만약 참여 노드가 6개라면 각 노드마다 번호를 붙이고 시간마다 쪼개 노드를 전송한다. 예를 들어 데이터 전송에 할당되는 시간이 5초라면 각 A,B,C,D,E,F라는 노드에게 5초씩 각각 분배하는거다. 아래와 같이 말이다.
뭔가 이상하다는 생각이 든다. 노드 1,3,4는 잘 전송되고 있는데 2,5,6에 해당하는 채널은 놀고있다. 그렇다, 이 방식은 2,5,6은 채널을 사용하지 않고있음에도 불구하고 해당 채널은 항상 예약된 상태로 남아있다. 즉, 보낼 데이터가 없다면 해당 채널은 낭비되고 있는 상태가 된다. TDMA 방식은 채널을 짜를 때 노드의 수에 맞춰 고정적으로 짜르기 때문에 간단하다는 장점이 있지만 반면에 IDLE한 환경의 네트워크에서는 효율이 좋지 않다.
2. FDMA[Frequency Division Multiple Access]
우리가 흔히 말하는 '주파수'라는 것이 있다. 93.5AM 등 주파수 채널을 지칭하는 숫자들이 존재하고 숫자를 바꾸면 라디오 채널이 바뀌는 것처럼 주파수는 여러 BAND로 나누어져있어서 BAND를 바꾸면 전송받는 데이터도 달라진다. FDMA는 이처럼 하나의 주파수를 쪼개서 통신하는 방식이다. 즉 하나의 도로를 8차선 도로로 바꿔서 사용한다고 이해하면 된다.
FDMA에서 하나의 노드는 연속된 시간으로 데이터를 전송할 수 있지만, 그 데이터의 양은 하나의 큰 채널에서 전송할 때보다 작아진다. 이 방식 또한 TDMA와 마찬가지로 전송을 원하는 노드 수가 적다면 해당 채널은 IDLE한 상태가 되어 버린다.
정리하자면, TDMA에서는 하나의 노드는 5초라는 시간 동안 채널 전체를 사용할 수 있는 개념이고 FDMA에서 하나의 노드는 전체 시간 동안 채널의 1/6만 사용하는 개념이다.
이 외에도 '코드'를 통해서 소프트웨어적으로 채널을 분할하는 방식[CDMA]도 존재한다. 그러나, 해당 이야기는 좀 길고 어렵기 때문에 다음에 따로 포스팅하겠다.
'전공 > 네트워크' 카테고리의 다른 글
데이터 링크 - ARP 동작 과정 (0) | 2020.10.18 |
---|---|
데이터 링크- 대표 프로토콜(HDLC, 이더넷, X.25) (0) | 2020.10.18 |
데이터 링크- Multiple Access Protocols(MAC) #3. Taking Turns (0) | 2020.10.16 |
데이터 링크- Multiple Access Protocols(MAC) #2. Random Access (0) | 2020.10.16 |
데이터 링크 계층 개요 (0) | 2020.10.14 |