안녕하세요!! 상남자 대표 우기입니다!!
지난 포스팅은 셀룰러 시스템에 대한 전반적인 소개와 개념에 대해 소개했었는데요
이번 포스팅은 통신에서 가장 중요하다고 할 수 있는 다중 무선 접속입니다.
소개
최근 5G도 나오고 스마트폰, 자동차, 각종 기기들은 우리에게 없어선 안되는 세상이 되었습니다.
하지만 이런 기기들은 결국 다른 사람들과 소통하기 위해 존재합니다. 그리고 채널은 한정되어 있고 무선 단말기들은 무조건 채널에 들어가야 통신을 할 수 있습니다.
가입자(단말기)들은 임의의 시간에 임의의 시간 동안 채널에 접속하기 때문에 제어 채널을 영구적으로 할당해 주는 것은 바람직하지 못합니다.
따라서 정해진 알고리즘에 의해 기지국으로 채널 요청을 해야 합니다. 이러한 요청 정보 교환을 위해서 여러 이동국들이 경쟁적으로 전송하는 제어 채널을 사용할 필요가 있습니다. 이러한 경쟁 시스템을 통틀어서 다중 접속이라고 합니다.
아래 그림은 다중 접속의 문제를 다루는 2가지 접근방식을 표현한 표이고 경쟁 기반 및 무경쟁(무충돌) 기반의 프로토콜입니다. 정적인 채널은 미리 지정된 방법으로 이루어지며 시간이 지나도 변화하지 않습니다. 동적인 채널 할당의 경우는 필요 시에만 채널이 할당되고 이는 시간에 따라 변화합니다. 동적인 매체 접근 제어는 다음 절(다중 무선 접속 프로토콜)의 첫 번째 그림과 같이 일정 통제 프로토콜과 랜덤 접근 프로토콜로 나뉩니다.
다중 무선 접속 프로토콜
위의 그림은 공용 채널을 위한 다중 접속 프로토콜의 분류 표입니다. 지금까지 많은 다중 접속 프로토콜들이 제안되어 왔지만 위 프로토콜이 가장 흔히 쓰이고 있습니다.
위의 프로토콜에 대한 사전 규칙으로는 국제 표준화 기구(ISO)의 7계층 개방형 시스템 상호접속(OSI) 기준 모형을 알고 있어야 합니다. 이는 10장에서 상세히 다루므로 여기서는 생략하도록 하겠습니다.
또한 무경쟁 기반에 관해서는 7장에서 다룰 것이므로 이번 포스팅은 경쟁 기반 프로토콜에 대해 다루도록 하겠습니다.
경쟁 기반 프로토콜
경쟁 기반 프로토콜에서 가장 대표적이면서 중요한 것은 ALOHA와 CSMA입니다. 대표적인 이 둘에 대한 설명이 있겠습니다.
경쟁 기반 프로토콜은 무경쟁 프로토콜에 비해 보장 측면에서 차이가 존재합니다. 이는 한 단말기로부터의 전송이 항상 성공적이도록 보장할 책임이 없다는 뜻과 같습니다.
경쟁 기반 프로토콜에 대한 특징은 다음과 같습니다.
1. 시스템의 단말기들은 다른 단말기들과 서로 전송하지 않기를 바라는 가운데 원하는 어떤 시간에도 전송 가능하다.
2. 충돌이 일어날 수 있으며, 충돌된 메시지를 효과적으로 재전송이 가능하도록 준비가 되어 있어야 한다.
- Random Access Protocol : 단말기는 충돌이 있는 다음에는 Random Delay Time 지연 후에 충돌된 정보 재전송
EX) ALOHA, BTMA, ISMA
- 충돌해결 Protocol : Random Delay Time 대신 재전송 과정을 보다 복잡한 방법으로 해결
EX) TREE, WINDOW
ALOHA
1-1) 순수(pure) ALOHA
ALOHA Protocol은 1970's 하와이 대학에서 패킷 무선망을 위하여 개발되었습니다. 무한히 많은 가입자를 대상으로 한 단일 홉 시스템이며 각 사용자의 도착률은 초당 1패킷으로 정의합니다. 경쟁 기반 프로토콜 중 가장 간단한 제어 구조로 이루어져 있습니다.
과정으로는
1. 발신 노드가 패킷을 전송하면 수신 노드는 유효한 패킷인지 확인 및 ACK 전송
2. 주어진 시간 내에 ACK이 오지 않으면 다른 전송과 충돌이 난 것으로 간주
3. 송신국에서 충돌이 났음을 확인하면 송신국은 임의의 Random Time을 기다린 후 패킷(정보) 재전송
어떠한 조건없이 오직 송신단에서 보내고 싶을 때 보내는 것이기 때문에 다른 접속자와 패킷과 ACK을 보낼 때 충돌 발생 가능성이 매우 높습니다. 따라서 모든 패킷은 확률분포인 푸아송 프로세스를 따르며 동일한 길이 T를 가집니다.
위 사진의 출처에서 작성자 분은 알로하는 단말기가 눈과 귀를 닫고 그저 원하는 순간에 정보를 전달한다고 했습니다.(설명을 맛깔나게 하시는 듯,,,,바로 이해;; 난 아직 멀었다)
1-2) 슬롯을 갖는 Slotted ALOHA
Slotted ALOHA는 패킷의 길이 T와 동일한 크기의 Slot 단위로 시간을 구분합니다. 모든 패킷은 슬롯의 시작점에서만 전송이 시작하고, 일부만 충돌되는 경우는 해당이 되지 않으며 모든 충돌은 패킷 전체가 충돌한다고 간주합니다.
즉, 전송된 패킷은 동일한 slot time에 다른 패킷의 전송이 일어나지 않을 때 성공했다고 보는 것입니다.
기존 Pure ALOHA 보다 슬롯을 사용함으로써 성능을 높일 수 있습니다.
CSMA
2-1) 반송파 감지 다중 접속 (CSMA: Carrier Sense Multiple-Access)
앞선 알로하의 사진 출처였던 분은 이렇게 작성했습니다.
알로하가 눈과 귀를 막은 통신이었다면 CSMA는 귀를 가지고 통신하는 것이다
즉, 알로하는 시간에 상관없이 패킷을 전송했다면 CSMA는 패킷을 전송하기 전에 채널을 살피면서 충돌의 가능성을 방지하여 성능을 개선했다고 볼 수 있습니다.
각 단말기는 모든 다른 단말기들의 전송을 감지가 가능하고 전파 전파 시간은 패킷의 전송 시간보다 짧다는 점을 활용합니다.
위의 그림은 CSMA의 종류를 나타낸 것입니다. 이 부분을 풀어쓰다 보면 글이 너무 길어질거 같습니다. PPT로 작성한 것이 있어서 슬라이드로 대체하겠습니다.(절대 핑계 아닙니다...ㅎㅎㅎ)
2-2) CSMA/CD (Carrier Sense Mulitple Access with Collision Detection)
일반적인 CSMA 프로토콜에서는 만일 두 개의 단말기가 동시에 공용 채널에서 전송을 시작한다면 각 단말기는 충돌하게 됨에도 불구하고 자신의 패킷을 전송합니다. 이런 경우, 전체 패킷 시간을 모두 허비하게 되는데 충돌 검출 CSMA/CD 방식은 이 문제의 개선에 초점을 둡니다.
즉, 주 아이디어는 "충돌이 검출되면 즉시 전송을 멈춘다" 입니다.
CSMA에서 2개의 단말기가 동시에 공용 채널에 전송을 시작하면 각 단말기는 충돌하게 됨에도 불구하고 자신의 패킷을 전송합니다. 단말기는 전송할 패킷이 있을 경우 먼저 채널을 감지하고 Idle이 되면 즉시 전송하게 됩니다.
전송 중에 충돌이 감지되면 단말기는 즉시 전송을 중단하고, 임의의 시간을 기다린 후 다시 전 과정을 시작합니다. 여기서 알로하와의 차이가 나게 되는 것이죠.
충돌이 일어난 후 최대한 빠른 시간 내에 채널을 복구해주기 때문에 충돌의 충격을 줄여주는 효과가 있습니다.
충돌 후 매체로 최대한 빨리 초기화 함으로써 충돌의 영향을 최소화할 수 있으며 이는 유선 이더넷에서 광범위하게 쓰인다고 합니다.
그리고 무선 단말기에서는 한 순간에 송신, 수신 중 하나만 가능합니다. 즉 공용 채널을 사용하는 무선 매체에는 적용이 불가합니다.
CSMA/CD는 CSMA 방식에서 충돌을 처리하는 절차를 더한 것이라고 볼 수 있습니다. 프레임을 전송과 동시에 충돌이 발생하는 것을 감지할 수 있으며 프레임이 목적지에 도착할 시간 이전에 다른 프레임의 비트가 발견되면 충돌이 일어난 것으로 판단합니다.
2-3) CSMA/CA (Carrier Sense Mulitple Access with Collision Avoidance)
CSMA/CA는 기본적으로 CSMA/CD 처럼 항상 매체를 감지합니다. 데이터 전송 준비가 된 단말기는 매체를 감지한 다음, 매체가 DIFS 이상의 시간동안 Idle이면 전송하는 시스템입니다.
ACK을 갖는 CSMA/CA는 어떻게 될까요? 아래 그림을 봅시다.
그림을 보면, A B C 의 단말이 있습니다. A와 C는 B와 통신할 수 있지만 A와 C는 서로 통신을 하지 못합니다. (이것을 숨겨진 단말 문제라고 합니다.) 따라서 A와 C가 동시에 B에게 정보를 보내면 B는 누가 보냈는지 알 수가 없습니다. 그래서 나온 개념이
RTS(request to send, 전송요청) 과 CTS(clear to send, 전송 허락) 입니다.
A가 C보다 먼저 전송 준비가 되어 B에게 RTS를 보냈다고 가정해봅시다. 그럼 B는 RTS를 받고 CTS 프레임을 보냅니다. 그런데 A와 C 둘다 B와 통신할 수 있기 때문에 C에게도 CTS프레임이 송신됩니다. 하지만 C는 RTS를 보낸 적이 없기 때문에 다른 단말과 통신 중이구나 라는 걸 알게 됩니다. 그리고 C는 패킷 전송을 잠시 대기를 하게 됩니다.
즉, 임의 시간 대기방법을 적용하여 통신망의 패킷 처리량을 줄이는 영향을 줄 수 있습니다.
하지만, 이것은 다른 문제를 야기할 수 있습니다. 바로 exposed-terminal problem(노출된 단말 문제) 입니다. RTS와 CTS를 통해 숨겨진 단말 문제는 해결이 가능하지만 위의 그림보다 더 많은 단말이 있다고 가정하면, RTS가 옆으로 옆으로 옆으로 계속 전달이 되면서 관련이 없는 단말들도 패킷을 받게 되고 결국 접속 지연 상태에 들어가게 됩니다. 서로가 아무런 간섭을 주지 않는 상황인데도 말이죠...
.
.
.
.
공부할수록이상적인 상황이 아니라면, 완벽한 것은 없다고 생각하게 됩니다..

6장에 대한 내용은 여기까지 입니다!! 다소 길었고 내용이 많았지만 통신의 기반이 되고 중요한 내용이 많았기 때문에 이해부탁드립니다!
다음 포스팅에 봐용~
감사합니다.
'통신 > 무선 및 이동통신' 카테고리의 다른 글
05. 셀룰러의 개념 (0) | 2021.07.21 |
---|---|
04. 채널 부호화 및 오류 제어_(2) (0) | 2021.07.21 |
04. 채널 부호화 및 오류 제어_(1) (0) | 2021.07.12 |
03. 이동 무선 전파_(2) (0) | 2021.07.06 |
03. 이동 무선 전파_(1) (0) | 2021.07.02 |