I.서 론
최근 차량은 온도, 공기 질, 타이어 압력, 주변 사물과의 거리 등, 운전자 생명과 관련된 중요한 센 싱 정보를 제공하기 위하여 수많은 센서를 탑재하 고 있다. 차량 내 전자제어장치(electronic control unit)는 이러한 센서로부터 데이터를 제공 받아 차 량을 관리하고 탑승자에게 다양한 응용 서비스를 제공한다. 현 구조의 차량 내 센서는 보통 전자제어 장치와 유선으로 연결되어 있는데, 이러한 유선 네 트워크는 앞으로 차량 내 센서가 수백 개 이상으로 크게 증가함에 따라 여러 문제점을 유발한다[1]. 먼 저, 전선에서 발생하는 열과 간섭의 차폐 비용과 유 선의 설치비용으로 인하여 차량의 가격이 증가하 고, 많은 전선 및 배선 장치들의 무게로 인하여 차 량의 연비가 나빠진다. 또한 핸들, 타이어, 유리창 등과 같이 차량 내 배선 작업이 어려운 부분은 유 선 연결이 어렵다. 따라서 앞으로의 차량에서는 센 서와 전자제어장치간 무선으로 연결되는 무선 센서 네트워크를 고려하고 있다[2].
차량 내 수많은 센서들이 다량의 정보를 한 곳에 전달하고자할 때 무선 환경에서는 동시 접속에 의한 충돌이 발생한다. 이러한 충돌은 패킷의 재전송을 유발 하여 채널 효율이 낮아지고, 재전송시에도 추가적인 충돌을 야기할 수 있다. 특히 데이터를 전송하는 노드의 수가 증가할수록 이러한 충돌 문제가 심화된다. 이러한 문제를 해결하기 위하여 무선 네트워크에서는 매체접 속제어(medium access control) 프로토콜을 정의하고 있 다. 매체접속제어 프로토콜은 전송을 하고자 하는 단말 들에게 공평하고 효율적인 매체 접속을 위하여 접속 및 충돌 회피에 관한 동작을 규정하고 있다.
무선 센서 네트워크에서 대표적으로 사용되는 매체 접속제어 프로토콜은 Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA)로 동작이 매우 간단하여 널리 사용되고 있다[3]. 하지만 CSMA/CA는 기본적으로 접속 노드 수가 어느 이상 증가하면 재전 송 패킷에 의해 지속적인 충돌이 발생하여 전송 효율 이 떨어지는 문제점을 갖고 있다. 이러한 CSMA/CA의 문제점을 극복하기 위하여 무선 환경에서도 충돌 검출 (Collision Detection; CD)이 가능한 변형된 매체접속제 어 프로토콜들이 제안되어 왔다[4-10]. Timesplit Collision Detection (CSMA-TCD) 프로토콜은 고정 길 이의 프리앰블을 전송한 후에 바로 데이터를 전송하지 않고 잠시 전송을 멈추고 일정 시간 동안 채널 센싱을 수행한다[4]. 따라서 동시에 프리앰블을 전송한 단말 들은 전송 지연에 의해 센싱 기간 동안 프리앰블의 전송이 있음을 인지할 수 있어 충돌을 데이터 전송 전에 검출할 수 있다. CSMA-TCD는 지연이 발생하는 환경에 특화된 것으로 좁은 영역에서 동작하는 차량 내 환경에서는 현실적인 동작이 어렵다. 이를 보완하 기 위해 상대적으로 짧은 지연 상황에서 Multitone Tree Search라고 불리는 충돌 해소 방식을 CSMA-TCD에 추가하였는데, 이 방식은 트래픽 부하가 증가함에 따 라 높은 복잡도를 야기한다[5]. 반면, Wireless CSMA/CD (WCSMA/CD) 프로토콜은 CSMA-TCD를 확장하여 완전히 연결된 단일 홉 네트워크 환경에서 더 나은 충돌 검출 기능을 제공한다[6]. WCSMA/CD는 데이터 전송 시작 후 일정 충돌 검출 기간 동안 짧은 충돌 검출 슬롯을 할당하고, 이 충돌 검출 슬롯 시간 동안 전송을 멈추고 다른 전송 신호가 있는지 센싱을 수행한다. 이때 충돌 검출 기간 내에서 충돌 검출 슬롯 의 위치는 랜덤하게 결정되므로 다른 동시 전송 단말 의 충돌 검출 슬롯과 겹치지 않는다면 충돌 검출이 가능하다. 관련하여 [7]에서는 WCSMA/CD를 멀티캐 스트 서비스에 적용하였고, [8]에서는 WCSMA/CD의 수학적 분석을 통해 성능을 도출하고 전송효율을 최대 화 하는 최적 충돌 검출 기간을 구하였다.
이와 같이 무선 환경에서는 전송 중인 단말이 전 송을 잠시 멈추고 해당 채널을 센싱하여 다른 단말 의 동시 전송이 있는지 없는지를 확인함으로써 충 돌 검출이 가능하다. 이는 기존 CSMA/CA 방식 대 비 복잡도를 증가시키지만 전송효율을 향상 시킬 수 있는 기회를 제공한다[9]. 본 논문에서는 이와 같은 충돌 검출 기능을 기반으로 하여 차량 내 무 선 센서 네트워크를 위한 매체접속제어 프로토콜을 제안한다. 기본적인 충돌 검출 방식은 WCSMA/CD 의 방식을 따르지만 제안 프로토콜은 충돌 검출시 이를 해결하는 충돌 해결 기법을 추가적으로 사용 한다[10]. 또한 제안 방식은 접속을 시도하는 대규 모 센서 노드를 고려하여 다중의 충돌 검출 단계를 사용한다. 각 충돌 검출 단계에서는 충돌을 인지한 노드가 걸러지고, 살아남은 노드만 재시도를 수행 하여 단계가 진행될수록 충돌 해결 확률이 급격하 게 증가하게 된다. 이를 통해 수많은 노드가 동시 접속을 수행하여도 최종 충돌 검출 단계에서는 높 은 확률로 충돌이 해결되어 하나의 단말에게는 충 돌 없이 전송할 수 있는 기회를 제공한다.
논문의 나머지는 다음과 같이 구성된다. 2장에서 는 제안하는 충돌 검출 및 해결 프로토콜의 동작에 대해서 자세히 설명한다. 3장에서는 제안 방안의 성능 결과를 보여주고, 4장에서 본 논문에 대한 결 론을 맺는다.
II.제안하는 충돌 검출 및 해결 프로토콜
이해를 돕기 위하여 먼저 하나의 충돌 검출 단계 만을 사용하는 제안 매체접속제어 프로토콜의 기본 동작을 살펴본 후, 이를 확장하여 다수의 충돌 검출 단계를 사용하는 경우의 동작을 설명한다.
1.하나의 충돌 검출 단계를 사용하는 경우
<Fig. 1>은 하나의 충돌 검출 단계를 사용하는 경 우 프로토콜 동작상 발생 가능한 경우를 보여준다. 먼저 <Fig. 1(a)>는 충돌이 없을 때 기본 프로토콜 동 작을 보여준다. 먼저 전송할 데이터를 가진 노드는 랜덤 백오프(backoff) 수행 후에 채널이 사용 중이지 않으면 데이터 전송을 시작하고, 약속된 일정 충돌 검출 기간 내에서 랜덤하게 충돌 검출 슬롯을 할당하 여 충돌 여부를 살핀다. 충돌 여부는 두 가지로 확인 하는데, 하나는 에너지 검출이고 다른 하나는 jam 신 호의 검출이다. 에너지 검출은 정상적인 데이터 송수 신시 적용되는 전압 레벨보다 훨씬 높은 레벨이 검출 될 때 인지된다. 반면, jam 신호는 사전에 약속된 패 턴을 갖는 신호로 충돌을 감지한 노드는 데이터 전송 을 중지하고 jam 신호를 전송하여 충돌 발생을 주변 노드에게 알린다. 이를 수신한 노드는 신호의 correlation을 취하여 jam 신호임을 확인할 수 있다 [11]. <Fig. 1(a)>의 경우 에너지 및 jam 신호가 둘 다 검출되지 않으므로 데이터 전송을 계속하고 수신단 으로부터 acknowledgement (ACK) 프레임을 수신하게 된다. 여기에서 충돌 검출 기간의 길이는 충돌 발생 정도에 따라 결정되는 제어 파라미터로 모든 노드가 동일한 값으로 설정된다. 또한 충돌 검출 슬롯의 길 이는 다른 노드가 도중에 끼어들지 못하도록 DCF interframe space (DIFS) 길이 보다는 짧아야 하며, Tx/Rx 및 Rx/Tx 전환 시간과 jam 신호를 검출하는데 걸리는 시간의 합보다는 길도록 설정된다.
<Fig. 1(b)>는 두 개 이상의 노드가 동시에 접속 하여 충돌이 발생한 경우 전송에 성공하는 동작을 보여준다. 전송 노드는 충돌 검출 기간 내에서 충돌 검출 슬롯을 랜덤하게 할당하고 채널을 센싱 하는 데, 가장 앞선 충돌 검출 슬롯을 선택한 노드의 경 우 에너지는 검출되지만 jam 신호는 검출되지 않는 다. 따라서 이 노드가 가장 먼저 충돌을 감지하였으 므로 이후 나머지 충돌 검출 기간 동안에는 데이터 대신 jam 신호를 방송한다. 반면, 할당된 충돌 검출 슬롯이 이보다는 뒤에 있는 다른 노드들은 채널 센 싱 결과 jam 신호가 검출되므로 충돌 발생을 인지 하고 더 이상 데이터 전송을 하지 않는다. 이때 충 돌 검출 기간이 끝나면 jam 신호를 전송한 노드는 채널사용 우선권을 갖고 백오프 과정 없이 바로 데 이터를 재전송하며, 다른 노드들은 백오프 윈도우를 증가시키면서 자동적으로 채널 접속이 미뤄진다.
반면 <Fig. 1(c,d)>는 충돌이 발생하였지만 이를 검출하지 못하여 전송에 실패하는 두 가지 경우를 보여준다. 첫 번째 경우는 동시 접속한 노드들이 모 두 같은 충돌 검출 슬롯 번호를 선택한 경우로 다 같이 에너지가 검출되지 않으므로 모든 노드가 데 이터를 계속 전송하게 되어 결국 전송 실패로 이어 진다. 두 번째 경우는 가장 작은 충돌 검출 슬롯 번 호를 선택한 노드가 두 개 이상인 경우로 해당 노 드들은 jam 신호 전송 후에 모두 데이터를 재전송 하므로 전송 실패로 이어진다. 이와 같이 충돌 검출 기간 동안 충돌을 검출하지 못해 전송에 실패하는 경우 송신단은 수신단으로부터 ACK를 받지 못하게 되므로 전송 실패로 판단하고 백오프 후 다시 시도 한다.
2.다수의 충돌 검출 단계를 사용하는 경우
접속 노드 수가 증가함에 따라 한번의 충돌 검출 기간을 통해 얻을 수 있는 충돌 검출 및 해결 확률 은 감소한다. 제안 방안은 차량 내 센서 네트워크와 같이 수백 개 이상의 센서 노드가 존재할 때 충돌 발생 확률을 줄이기 위해서 다수의 충돌 검출 단계 를 사용한다.
<Fig. 2>는 두 개의 충돌 검출 단계를 사용할 때 발생할 수 있는 경우의 동작을 보여준다. <Fig. 2(a-c)>는 전송에 성공한 경우이고, <Fig. 2(d-f)>는 전송에 실패한 경우이며, 각 성공/실패의 경우는 서 로 다른 채널 사용 시간을 가지도록 분류되었다. 먼 저 <Fig. 2(a)>에서는 오직 하나의 노드만 접속을 시도하여 충돌이 발생하지 않는다. <Fig. 2(b)>는 첫 번째 충돌 검출 단계에서 오직 하나의 노드만이 가 장 앞선 충돌 검출 슬롯을 선택하여 이 단계에서 충돌 검출이 성공적으로 이뤄진 경우로, 두 번째 충 돌 검출 단계부터는 이 노드만이 충돌 없이 데이터 전송을 계속하게 된다. <Fig. 2(c)>는 전체 세 개의 노드 중 두 개의 노드가 첫 번째 충돌 검출 단계에 서 가장 앞선 충돌 검출 슬롯을 똑같이 선택하여 충돌 검출에 실패하였지만, 두 번째 충돌 검출 단계 에서는 이들 두 노드 중 오직 한 노드만 가장 앞선 충돌 검출 슬롯을 선택하여 충돌을 검출하고 전송 에 성공하는 경우이다. 이와 같이 각 충돌 검출 단 계에서 오직 가장 앞선 충돌 검출 슬롯을 선택한 노드만이 여과되어 다음 충돌 검출 단계에서 다시 시도를 할 수 있다. 따라서 충돌 검출 단계가 진행 될수록 경쟁하는 노드 수가 감소하여 충돌 해결 확 률이 증가한다.
<Fig. 1(c,d)>에서 보았듯이 전송 실패는 모든 노 드가 같은 충돌 검출 슬롯을 선택하거나, 하나 이상 의 노드가 가장 앞선 충돌 검출 슬롯을 선택하는 경우에 발생한다. 두 개의 충돌 검출 단계를 사용할 경우에 두 실패 발생 조건을 채널 사용 시간에 따 라 분류하면 <Fig. 2(d-f)>와 같다. <Fig. 2(d)>는 모 든 노드가 모든 충돌 검출 단계에서 같은 충돌 검 출 슬롯을 선택한 경우이다. <Fig. 2(e)>는 첫 번째 충돌 검출 단계에서 일부 노드가 가장 앞선 충돌 검출 슬롯을 똑같이 선택하고, 두 번째 충돌 검출 단계에서 살아남은 모든 노드가 동일한 충돌 검출 슬롯을 선택한 경우이다. 마지막으로 <Fig. 2(f)>는 첫 번째 충돌 검출 단계에서 어떠한 충돌 후에 두 번째 충돌 검출 단계에서 두 개 이상의 노드가 가 장 앞선 충돌 검출 슬롯을 선택하여 전송에 실패한 경우이다.
제안한 충돌 검출 및 해결 프로토콜은 성능 향상 에 기여하는 두 가지 장점을 갖는다. 첫 번째로, 각 충돌 검출 단계에서 오직 가장 앞선 충돌 검출 슬 롯을 선택한 노드만 여과되어 다음 충돌 검출 단계 에서 재시도를 하기 때문에 충돌 검출 단계가 진행 될수록 경쟁하는 노드 수가 감소하여 전송 성공 확 률이 증가한다. 두 번째로, 어떠한 충돌 검출 단계 에서 충돌이 해결되면 뒤따라오는 모든 충돌 검출 단계에서의 데이터 전송은 충돌이 없는 유효한 전 송이 된다. 단지 각 충돌 검출 단계에서 하나의 충 돌 검출 슬롯만 오버헤드로 추가되어, 충돌이 해소 된 뒤에 발생하는 다수의 충돌 검출 단계에서의 전 송 오버헤드는 미미하다.
충돌 검출 단계의 개수를 h로 일반화한 경우에 제안 매체접속제어 프로토콜의 알고리즘은 <Table 1>과 같다. 먼저 전송할 데이터를 가진 각 노드는 채널이 비어있을 때 p의 확률로 전송을 시도한다. 이후 노드는 각 충돌 검출 단계에서 1과 충돌 검출 슬롯 개수 m 사이에서 랜덤 정수를 하나 뽑아 충돌 검출 슬롯 번호를 결정하고 해당 충돌 검출 슬롯에 서 잠시 전송을 멈추고 채널을 센싱한다. 센싱 결과 에 따라 1) 에너지와 jam 신호가 둘 다 검출되지 않 으면 전송을 이어서 계속하고, 2) 에너지만 검출되 고 jam 신호는 검출되지 않으면 현재 충돌 검출 기 간이 끝날 때가지 jam 신호를 전송한 후 다음 충돌 검출 단계부터는 데이터를 처음부터 다시 전송하 고, 3) 에너지와 jam 신호가 둘 다 검출되면 전송을 바로 멈추고 채널이 비워질 때까지 기다렸다가 백 오프를 수행한다. 이러한 충돌 검출 과정은 사전에 정해진 충돌 검출 단계의 수 h 만큼 반복된다. 이후 송신 노드는 수신 노드로부터 ACK를 받으면 전송 에 성공하고, ACK를 받지 못하면 전송 실패로 판 단하여 백오프 후에 재전송을 시도한다.
III.시뮬레이션 결과 및 고찰
제안한 매체접속제어 프로토콜을 하나의 충돌 검출 단계만을 사용하는 기존 WCSMA/CD 프로토 콜과 비교하였다[6]. 또한 사용되는 충돌 검출 단계 의 개수 및 충돌 검출 슬롯의 개수에 따라 제안 방 식의 성능 양상을 살펴보고 최적 파라미터 및 최적 성능을 도출하였다. MATLAB을 사용하여 Monte-Carlo 시뮬레이션을 수행하였고, 차량내 밀집 된 환경에서의 센서 네트워크를 고려하기 위하여 노드의 수를 20~1000개로 조절하였다. 각 단말은 항상 512 bytes의 데이터를 유니캐스트 방식으로 해 당 접속점(access point)에 전송한다. 시뮬레이션에 사용된 파라미터는 <Table 2>에 자세히 정리되어 있다.
<Fig. 3>은 충돌 검출 단계의 수 h와 충돌 검출 단계 당 충돌 검출 슬롯의 개수 m이 h(m+1)≤20 관계를 가질 때 노드 수에 따른 정규 처리율(Normalized Throughput) 을 보여준다. 하나의 충돌 검출 단계를 사용하는 기존 WCSMA/CD 프로토콜과 비교하여 두 개 이상의 충돌 검출 단계를 사용하는 제안 방식은 더 작은 충돌 검출 슬롯 개수를 사용하여도 훨씬 더 좋은 처리율을 보여준 다. h=4에서 가장 높은 처리율을 보이고, 이보다 작거나 크면 성능은 감소한다. 이는 h 값이 너무 작아지면 충돌 해결 확률이 낮아지며, h 값이 너무 커지면 m 값이 작아져 각 충돌 검출 단계에서 충돌이 더 많이 발생하기 때문이다. 따라서 제안 방안의 처리율을 최대화하는 적절한 (h, m) 쌍이 존재함을 알 수 있다.
이제 파라미터 h와 m 값 중 하나를 고정시키고 다른 하나만 변화시켜가면서 처리율을 살펴본다. <Fig. 4>는 h 값을 2로 고정시키고 m 값만 변경하 였을 때 노드 수에 따른 처리율을 보여준다. 노드 수 n 값이 작을 때는 긴 충돌 검출 기간에 의한 오 버헤드로 인하여 m 값을 줄이는 것이 성능에 좋다. 하지만 n 값이 커질수록 충돌을 줄이기 위하여 m 값을 증가시키는 것이 좋다. 따라서 h 값이 고정일 때, n 값에 따라 처리율을 최대화하는 적절한 m 값 이 존재함을 알 수 있다. 반면 <Fig. 5>는 m 값을 10으로 고정시키고 h 값만 변경하였을 때 노드 수 에 따른 처리율을 보여준다. h 값이 증가할수록 처 리율이 좋아지는데 이는 h 값이 클수록 충돌 검출 및 해결 확률이 높아지기 때문이다. 그러나 너무 과 도한 h 값은 전체 충돌 검출 기간의 증가로 인하여 성능을 감소시킨다. 이 경우에도 마찬가지로 처리 율을 최대화하는 적절한 h 값이 있음을 알 수 있다.
<Fig. 6>은 n 값이 500으로 고정일 때 (h,m) 쌍에 따른 처리율을 보여준다. h와 m 값이 증가할수록 처리율이 급격하게 증가하다가 어떤 지점에서 점점 감소한다. 즉, 처리율은 h와 m 값에 대해 볼록한 (concave) 함수를 갖는다. 이 경우 처리율은 (h,m)*=(6,4)에서 최대화된다. 처리율의 증가율 보다 감소율이 작은 이유는 어떤 충돌 검출 단계에서 충 돌이 해결되면 다음번 충돌 검출 단계부터는 단지 하나의 충돌 검출 슬롯만 오버헤드로 작용하여 처 리율 측면에서 약간의 감소 효과만 주기 때문이다.
<Fig. 7>은 노드 수에 따른 최적 (h,m) 값을 보여준다. 결과를 보면 최적의 m 값은 n이 20이하인 경우를 제외하 면 모두 4로 고정인 반면, 최적의 h 값은 n 값이 증가할수 록 4에서 6으로 점점 증가하는 것을 알 수 있다. 최적의 m 값이 h 값보다 작은 4로 고정되는 이유는 제안 방안에 서 충돌을 검출하고 경쟁하는 노드 수를 줄이기 위해서 는 각 충돌 검출 기간 내에서 충돌 검출 슬롯 개수를 증가시키는 것보다 충돌 검출 단계를 늘리는 것이 보다 효과적이기 때문이다. 이 결과는 긴 충돌 검출 기간을 사용하는 것보다 제안 방법처럼 다수의 충돌 검출 단계 를 사용하는 것이 처리율 향상에 더 효과적임을 보여준 다. 또한 최적의 h 값이 점점 증가하다가 노드 수가 1000까지 증가하여도 6 까지만 증가하는데, 이는 제안 프로토콜의 동작상 충돌 검출 단계가 증가할수록 각 단계에서 충돌 노드들이 여과되어 6단계의 충돌 검출 단계를 거치면 대부분 충돌이 해소되기 때문이다. 따라 서 이 결과는 차량 내 수많은 노드가 존재하는 경우에도 제안 프로토콜은 그다지 큰 h와 m 값을 사용하지 않아도 되어 동작 복잡도나 오버헤드가 작음을 알려준다.
<Fig. 8>은 <Fig. 7>에서 구한 최적의 (h,m) 쌍을 적용한 경우에 처리율을 보여준다. 비교를 위하여 h 값이 2~6으로 고정된 상황에서 최적의 m 값을 적 용한 경우의 처리율을 같이 표시하였다. 결과에서 보듯이 최적의 (h,m) 쌍을 적용한 경우 노드 수의 변화에 따라 모든 구간에서 가장 높은 처리율을 보 여준다.
IV.결 론
본 논문에서는 차량 내 수 많은 센서 노드들이 무선 데이터를 전송할 때 충돌을 검출하고 해결하기 위한 새로운 매체접속제어 프로토콜을 제안하였다. 제안 프 로토콜은 다수의 충돌 검출 단계를 사용하여 단계별로 충돌을 인지한 노드가 여과되어 충돌 검출 단계가 진행 될수록 충돌 해결 확률이 증가한다. 시뮬레이션 결과 다수의 충돌 검출 단계를 사용한 제안 방안이 기존 경쟁 프로토콜보다 우수한 처리율을 보여주었다. 아울 러 충돌 검출 단계의 개수와 충돌 검출 슬롯의 개수 측면에서 최적 파라미터를 도출하여 최적의 처리율을 확인하였다. 제안한 충돌 검출 및 해결 프로토콜은 다수 의 충돌 검출 단계를 사용하여 단말의 복잡도를 증가시 키는 단점이 존재하지만, 차량 내 무선 센서 네트워크 같이 다수의 노드가 밀집된 환경에서 충돌 없이 높은 처리율을 제공하는 매체접속제어 프로토콜로 사용될 수 있다. 아울러 추후 연구로써 매체접속제어 프로토콜 의 또 다른 중요한 성능인 지연을 고려하여 수학적 분석 및 최적화를 시도할 계획이다.