Ⅰ. 서 론
컴퓨팅 기술의 발전으로 유비쿼터스 환경이 구 체화됨에 따라 센서를 이용한 다양한 응용이 활발 해지고, 첨단 소자의 개발 및 발전으로 센서 노드의 기능이 강화되고 다양해졌다. 과거, 센서를 이용한 저수준의 단순 데이터의 전송에서, 이제는 사진과 영상, 소리를 포함하는 멀티미디어의 전송까지 가 능하게 되었다. 기기의 컴퓨팅 능력이 증가되어 멀 티미디어의 수집과 전송이 가능해졌다. 밧데리의 용량이 뒷받침되고, 무선 데이터의 안정적 전송 문 제를 해결한다면, 센서를 통한 실시간 데이터의 전 달도 가능해졌다.
무선 센서 네트워크는 대부분 단발성의 데이터 를 수집하는 형태로 운영되어 왔다. 온도나 습도, 화재, 바람, 동물이나 적의 침입 같은 데이터가 센 서에 의해 수집되고, 이 데이터는 다시 중앙의 싱크 노드에게 전달된다 [1]. 데이터 전달은 무선으로 충 돌을 회피하는 최선의 방법으로 시도되고, 충돌이 발생하여 수신 응답이 없으면 다시 전송된다. 최선 의 방법으로 보내지는 데이터는 잦은 충돌의 발생 으로 큰 지연이 생긴 이후에 도착할 수 있다. 또한, 지연의 변이로 생기는 지터는 멀티미디어의 전송 및 활용을 어렵게 한다. 안정적으로 데이터를 전달 화기 위해서는 무선 채널을 따로 두어 특정 노드에 게 할당하는 GTS (Guaranteed Time Slot) 방식을 이 용해야 한다 [2]. 하지만, 무선의 자원이 한정되어 있고, 노드의 수가 많을 경우에 특정 채널을 한 개 의 노드에게 할당하는 것은 쉽지 않다. 이를 위해, 본 논문에서는 한 개의 노드가 아닌 여러 노드에게 특정 채널을 할당하여 공유하고, 이들 노드들이 특 정 채널을 공유하는 몇 가지 방식을 제안하고, 그 성능을 평가한다.
Ⅱ. 무선 프레임 구조 및 전송 방식
IEEE 802.15.4-LR WPAN에서는 슈퍼프레임이 정 의되어 있다. 슈퍼프레임의 활성화 (Active) 구간은 총 16개의 슬롯이 있는데, 이중에 0 번째 슬롯은 비 콘의 전송에 사용된다. 나머지의 슬롯은 랜덤 트래 픽이 전송되는 CAP (Contention Access Period) 구간 과 특정 노드에 할당되는 GTS 기반의 CFP (Contention Free Period) 구간이 있다. GTS 채널은 할당 속도에 따라, 1개 이상의 수퍼 프레임 슬롯으 로 특정 노드에 할당된다. IEEE 802.15.4 슈퍼프레 임 및 GTS의 구조는 IEEE 802.15.4 표준 [2]에 정의 되어 있고, 이를 <그림 1>에 보였다.
하나의 GTS 채널을 다수의 센서 노드가 공유하 는 방안은 여러 논문에서 다양하게 연구되어 왔다 [3-5]. GTS를 이용하는 방안은 특히 실시간 데이터 전송에서 지연과 지터 특성에서, 경쟁 방식의 네트 워크보다 더 우수한 특성을 보여주는 것을 확인하 였다 [6]. [7]에서는 긴급 데이터를 위한 GTS 채널 을 따로 두어, 긴급 데이터를 안정적으로 빠르게 전 송하는 방안을 제안하였다. [8]에서는 GTS 네트워 크의 이론적 분석을 통해 입력 트래픽에 다른 지연 특성을 연구하였으며, 이 결과는 시뮬레이션으로 얻은 값과 거의 일치함을 보였다. [9]에서도 GTS 활 용 센서 네트워크의 이론적 분석을 통해 GTS 활용 네트워크에서 입력 트래픽 파라미터에 따른 센서 네트워크의 지연 특성을 분석하였다.
보통 하나의 GTS 채널은 하나의 노드에 할당 하 지만, i-GAME은 하나의 GTS 채널을 다수의 노드가 라운드로빈 방식으로 사용한다 [10]. GTS 채널을 넓게 잡고, 그 안에서 정해진 노드들이 경쟁을 통해 채널을 이용할 수도 있다.
코디네이터는 주기적으로 비콘을 전송한다. 이 비콘은 강력한 파워를 통해 일반적인 센서 노드들 이 전송하는 거리보다 훨씬 길게 도달한다. 이러한 거리는 통상 3배, 혹은 5배 이상의 거리까지 갈 수 있다. 비콘이 아닌 일반 데이터는 일반 센서 노드와 같은 전력으로 방사된다.
비콘을 수신하는 일반 센서 노드들은 자신의 타 이밍을 비콘에 맞춰 동기시킨다. 비콘에 동기되는 슈퍼 프레임은 비콘과 CAP, CFP, 비활성화 구간으 로 구성된다. 초기에는 활성화 구간은 CAP 구간으 로만 구성되지만, 센서 노드들의 요청이나 코디네 이터의 정책에 따라 CFP 구간이 정해진다. CFP 구 간은 보통 하나의 노드에 고정 할당 되지만, 본 논 문에서는 이러한 슬롯을 여러 노드가 공유한다. 하 나의 채널을 여러 노드가 공유하면 충돌이 발생할 수 있는데, 이러한 충돌은 백오프 방식에 의해 해결 한다.
망 내의 모든 노드에서는 수퍼 프레임의 동기화 뿐만 아니라, 각각의 슈퍼프레임이 몇 번째 슈퍼프 레임에 해당하는지에 대한 정보를 코디네이터 노드 가 프레임의 비콘에 넣어 전송하고, 모든 노드도 이 를 알고 있다면 백오프는 필요하지 않다. 현재로서, 이런 환경을 만들기는 쉽지 않으므로, 이런 경우에 서 슬롯의 공유는 백오프에 전적으로 의존한다.
Ⅲ. 부모 제어 백오프 결정 방안
센서 노드들을 네트워크로 묶어주는 클러스터에 서 채널 할당은 하나의 노드에게 독점적으로 할당 할 수 있고, 다수의 노드가 공유할 수도 있다. 다수 의 노드가 공유할 경우에는 미리 일정한 순서를 두 거나, 경쟁을 통해 채널에 접근해야 한다. GTS 구 간 내에서 데이터의 전송은 DATA 전송과 ACK의 응답으로 이루어진다. 다수의 노드가 하나의 GTS 채널을 공유하는 구조에서, 채널을 할당받은 노드 는 할당받은 GTS 구간에서, 노드간의 경쟁을 통해 채널을 획득하고 DATA의 전송을 시도한다. 경쟁은 백오프 숫자를 통해 구현되고, 이 값은 부모의 적절 한 제어에 따라 변경된다. DATA를 성공적으로 수 신한 센서 노드는 바로 ACK로 응답하고 데이터의 전송은 종료된다.
1. 클러스터 트리 구조
클러스터는 하나의 비콘 노드와 루트 노드, 다수 의 센서 노드로 구성된다 [11]. 비콘 노드는 루트 노드의 비콘을 큰 파워로 송출한다. 본 논문의 클러 스터 구조에서 비콘의 출력은 일반 노드의 통신거 리보다 3~10배 정도의 전달 거리를 갖는다. <그림 2>는 본 논문에서 제시하는 파워 빔 기반 클러스터 센서 네트워크의 시스템 구성이다.
루트 노드는 클러스터 트리를 형성하는 최상위 노드이다. 모든 센서 노드에서 보내는 데이터는 루 트 노드로 집약된다. 루트 노드는 주변의 첫 번째 레벨 센서 노드와 데이터를 교환한다. 루트 노드의 송신 전력은 일반 센서 노드와 같다. 첫 번째 레벨 의 노드는 자신의 데이터 혹은 두 번째 노드로부터 올라오는 데이터를 다음 슬롯에서 루트 노드로 전 달한다 [12]. 각 센서 노드는 신호의 세기 및 네트 워크 토폴로지의 변화에 다라 동적으로 편성된다 [13]. 및 클러스터 트리는 비콘 데이터의 도달 거리 까지 확장될 수 있다. 몇 번째 레벨 노드까지 클러 스터가 형성되는지는 비콘의 정보를 통해 알린다.
2. GTS 채널 사용 방법
GTS 채널은 특정의 센서 노드에게 무선 채널을 전용으로 사용할 수 있도록 할당하는 것이다. 일반 적으로 하나의 노드가 클러스터 내에서 특정 채널 을 할당 받으면, 해당 센서 노드는 특정 채널을 점 유하고, 보내진 데이터는 바로 클러스터 노드에게 전해진다. 본 논문에서의 경우에는, 해당 노드가 데 이터를 보내면 부모 노드에게만 전달된다. 따라서, 데이터를 클러스터 노드에게 전달하려면 부모 노드 가 다시 자신의 부모 노드에게 전달하여야 한다.
루트 노드에 연결된 1차 노드들은 마지막 GTS 채널에서 데이터를 보내고, 1차 노드를 부모로 하 여 트리를 구성한 2차 노드들은 뒤에서 두 번째의 GTS 채널에서 데이터를 보낸다. GTS 채널을 4개로 둔 클러스터 트리에서는 4차 노드에서 보낸 데이터 는 부모 노드에서 바로 다음 GTS 채널에서 전달하 여 순차적으로 해당 프레임에서 싱크 노드인 루트 노드에게 전달된다. 5차 노드 이상의 노드에서는 5 로 나눈 나머지의 값에 해당되는 GTS 채널에서 보 내면 된다.
3. 부모 제어 백오프 값 결정
하나의 노드 이상이 하나의 GTS 채널을 이용하 는 경우, 채널을 어떻게 사용할 것인가는 네트워크 의 설정값에 따른다. 트리내의 모든 노드에게 미리 순서를 부여해서, 해당 노드는 특정 프레임에서만 전송하도록 하는 방법은 프레임의 일렬번호를 이용 하여 전송하는 것이다. 비콘 프레임은 메시지의 특 정 필드에 현재 프레임의 일련번호를 넣는다. 하나 의 센서 노드가 전부 사용할 경우에는 프레임의 일 렬 번호에 상관없이 전 채널을 이용한다.
다수의 노드가 프레임의 일렬번호를 통해 채널 을 공유할 경우에는 백오프 기간을 통해 해결한다. 백 오프 기간은 제어 방식이 아닌 경우에는 랜덤 값을 이용하지만, 부모가 자식에게 할당한 등록 번 호를 기본으로 하고 부모가 노드의 랜덤 백오프 값 을 변경하도록 지시한다.
원래의 IEEE 802.15.4에서 정의하는 데이터 통신 방식은 CSMA/CA (Carrier Sense Multiple Access/ Collision Avoidance)이다. 채널 엑세스를 위해 백오 프 방식을 이용하며, 802.11의 WLAN과는 달리 RTS/CTS (Request to Send/Clear to Sensd) 방식을 이 용하지 않고, 2개의 CCA (Clear Channel Assignment) 를 통해 충돌 회피 방식을 이용한다. 이 방식은 무 선 환경에서 충돌을 방지하는 간략한 방안이만, 노 드가 밀집되거나 트래픽이 증대되면 충돌을 피할 수 없다.
IV. 실험 및 성능 분석
논문에서 제안한 트리 클러스터 구조에서의 부 모 제어에 의한 데이터 전송 방안과 다른 방안을 비교하기 위해 3 가지 전송 방식을 다음에 정의하 고 시뮬레이션을 통해 그 특성을 비교하였다.
1. 방안 1 (Random Backoff) :
2. 방안 2 (Depth_1-Controlled Backoff) :
-
- 싱크 노드인 루트 노드에 연결된 레벨 1의 센 서 노드는 자신이 등록할 때 부모 노드인 루트 노드로부터 받은 백오프 번호를 고정의 백오프 값으로 하고, 레벨 2 이상의 센서 노드들은 방 안 1에서와 같이 랜덤 백오프 값을 사용하여 데이터 전송을 시도한다.
3. 방안 3 (Parent-Controlled Backoff) :
-
- 다수의 센서 노드가 하나의 GTS 채널을 할당 받고, 경쟁을 통해 GTS 채널을 접근하여 데이 터를 보낸다. 채널 안에서의 경쟁에 사용되는 랜덤 백오프 값은 부모를 통해 조정한다. 각 센 서 노드는 자신이 등록할 때 부모 노드로부터 받은 백오프 값을 초기 백오프 값으로 정한다. 이후 충돌이 발생하면, 백오프 값을 현재 값 보 다 1 큰 값과 MAX_ BACKOFF 사이의 값으로 변경하여 사용하고, 부모는 자식 노드들의 백 오프 값을 조사하여 다른 노드와 같은 값을 갖 는 경우, 해당 노드의 백오프 값 재변경을 유도 한다.
본 논문에서 정의한 클러스터 구조는 멀티 홉의 클러스터이고, 프레임의 시퀀스 번호를 통해 하나 의 GTS 채널을 복수개의 센서 노드가 공유하는 방 안이다. GTS 채널 증 마지막 채널은 싱크 노드에 바로 연결된 트리 레벨 1의 노드들이 사용하고, 뒤 에서 n 번째의 GTS 채널은 트리에서 레벨 n의 노 드들이 사용하는 방식이다. 현재 슈퍼프레임의 채 널에서 실패하면 다음 채널에서 다시 프레임 전송 을 시도한다.
제안 네트워크 구조에서의 데이터 수집 방안의 성능을 측정하기 위해 100개의 노드로 구성된 네트 워크를 실험하였다. 모든 노드는 <그림 2>와 같이 하나의 파워 빔을 송출하는 싱크 노드인 루트 노드 를 클러스터 노드로 하는 같은 클러스터에 연결된 다. 센서 노드들은 멀티 홉 트리를 구성하고, 트리 의 최대 깊이는 4로 하였다. 싱크 노드와 루트 노드 는 별개로 노드로 구성할 수도 있다.
하나의 슈퍼프레임은 전체가 활성화 구간으로 이용되고, 프레임은 일부의 CAP 구간과 5개의 GTS 채널로 구성된다. CSMA/CA 방안에서는 빔 메시지 구간 이외의 모든 슈퍼프레임이 CAP 구간으로 이 용된다. 하나의 GTS 채널에서는 144 바이트의 메시 지를 보낼 수 있도록 정해진다. 250kbps 전송 속도 에서 슈퍼프레임의 길이는 62.5ms, GTS 채널은 백 오프와 경합을 위해 8ms 5개로 구성하였다. 기타 실험에 사용된 파라미터들을 <표 1>에 보였다.
<그림 3>은 실험에서의 데이터의 발생과 대기 및 전송 상황을 보여주는 네트워크에서 데이터를 전송중인 총 데이터 프레임의 개수를 보여주는 그 래프이다. 초기에는 많은 노드들이 한꺼번에 데이 터 전송을 시도하는데, 이 과정에서 충돌이 발생할 수 있다. 생성된 데이터가 싱크 노드로 모두 전송되 는데 걸리는 시간은 약 30초이다. 이후 새로운 데이 터가 각 노드에서 발생하여 모두 트리를 통해 싱크 노드로 이동한다.
<그림 4>는 네트워크 내에서 발생하는 충돌 개수 를 데이터 깊이로 분류하여 보여주는 그래프이다. 랜덤 백오프 방식의 경우에서 많은 충돌이 발생하 고, Depth_1-controlled나 Parent-Controlled 백오프 방 식에서는 충돌이 많이 발생하지 않았다. 랜덤 백오 프 방식에서 발생하는 대부분의 충돌은 트리 레벨 1 에서 발생하였다. Depth_1-controlled나 Parent- Controlled 백오프 방식에서는 레벨 1에서 충돌이 거 의 발생하지 않았다. Depth_1-controlled 방식이 레벨 2와 3에서 충돌이 발생하였지만, 전체적으로 랜덤 백오프 방식보다는 많이 감소한 것을 알 수 있다.
<그림 5>에서는 네트워크의 트래픽을 높였을 때, Depth_1-Controlled와 Parent-Controlled 방안에서의 최대 백오프 값을 변화시키면서 네트워크에서 발생 하는 충돌의 값을 보여준다. Parent-Controlled 방안 이 Depth_1-Controlled 방안보다는 층돌의 개수가 많 이 감소하였다. Parent-Controlled 방안이 트리의 레 벨 2 이상에서 어느 정도 충돌 방지의 효과를 보여 준다고 할 수 있다. 랜덤 백오프에서의 충돌의 개수 는 Depth_1-Controlled 방안의 값보다 10배 이상의 값을 보였다.
<그림 6>은 시뮬레이션에서의 데이터 전달 지연 을 보인 것이다. 랜덤 백오프의 경우 다른 두 방식 에 비해 10배 이상의 전달지연 값을 보였고, Depth_1- Controlled와 Parent-Controlled 방안의 경우 데이터의 전달지연은 트리의 거리에 비례하여 증가 하였으나, 이 두 가지 방안에서의 전달지연의 차이 는 크게 나타나지 않았다. 시뮬레이션의 결과를 종 합적으로 보면, 대부분의 충돌은 트래픽이 몰리는 트리의 레벨 1에서 집중이 되는 현상을 보였다. 따 라서, 레벨 1에서 백오프 값을 적절히 조정함으로 써 충돌을 줄이고 네트워크의 트래픽 성능을 크게 향상시킬 수 있음을 알 수 있었다. 트리 레벨 1보다 더 깊은 곳에서의 백 오프 조절을 통해서, 트래픽이 많을 때 성능을 추가로 더 높일 수 있는 방안이 될 수 있음을 시뮬레이션을 통해서 확인할 수 있었다.
Ⅴ. 결 론
본 논문에서는 비콘의 전력을 크게 송출하는 센 서 데이터 수집 환경에서, GTS 채널을 효과적으로 공유하면서 이용하는 방안을 제시하였다. 복수개의 노드가 공유하는 할당 채널은 클러스터 트리의 깊 이 값인 트리 레벨이 같은 노드들이 슈퍼프레임의 채널을 같이 공유하고, 공유 채널은 랜덤 값이나 부 모 제어 백오프 형식으로 접근의 대기시간을 통해 충돌을 방지하였다. 제안 구조 및 환경에서 채널의 할당과 사용을 위한 방안을 백오프 할당 및 제어 방안을 제시하였고, 시뮬레이션을 통해 그 성능을 평가하였다.
시뮬레이션 결과에서 볼 수 있듯이, 랜덤 백오프 를 이용하여 채널에 접근하는 방안은 너무 잦은 충 돌로 인해 전달지연이 크게 증가하였다. 대부분의 충돌은 트리의 루트 노드에 직접 연결된 레벨 1의 노드들에서 주로 발생하는 것을 확인하였다. 트리 레벨 1의 노드의 백오프 값을 부모가 설정하는 것 만으로도 많은 충돌을 줄일 수 있는 좋은 방안이 됨을 시뮬레이션을 통해 알 수 있었고, 부모 제어형 의 백오프 제어 방안을 통해 충돌을 더 줄여서 네 트워크의 성능을 높일 수 있었다. 이러한 결과를 토 대로, 전송 품질이 요구되는 애플리케이션에서, 부 모 제어형의 백오프 제어 방안이 센서 데이터 활용 네트워크에서 효과적으로 사용될 수 있을 것으로 본다.