Ⅰ. 서론
IEEE 802.11 standard (Wi-Fi)를 기본으로 하는 무선 네트워크는 낮은 비용과 규제되지 않은 대역폭 때문에 빠른 성장을 하고 있고 무선장비를 사용하는 사용자들이 늘어나고 있다. 사용자들이 무선장비를 이용하는 가장 큰 이유는 무선 서비스가 제공되는 범위에서 장소에 구애받지 않고 이동하면서 무선 서비스를 이용할 수 있다는 것이다. 많은 데이터량을 요구하지 않는 서비스들은 핸드오프가 발생했을 때 사용자들이 불편함을 느끼지 못하지만 voice와 기타 multimedia 서비스는 실시간으로 많은 데이터량을 요구하므로 핸드오프 지연으로 인한 끊김 현상에 대해 불편함을 느낄 수 있다. 그러므로 AP들 사이에서의 핸드오프 처리는 빨리 수행되어져야 하며 IAPP(Inter-Access Point Prot- ocol)를 통해서 핸드오프가 일어난 뒤에도 클라이언트와 관련된 여러 상태 정보들이 핸드오프가 일어나기 이전의 상태 정보와 같아야 한다. 즉, 클라이언트들의 세션과 QoS 그리고 security context in- formation이 핸드오프가 일어나기 전과 동일한 상태로 유지되어야 하는 것이다.
핸드오프의 전체 지연을 줄이기 위한 한 가지 방법은 proactive 기법을 이용하여 미리 mobile 클라이언트의 security context information을 이동할 이웃 AP들에게 보내는 것이다. 그러나 proactive방식에는 한 가지 문제점이 있다. 그것은 "클라이언트가 어디로 이동할지 모르는 상황에서 이웃 AP들을 어떻게 미리 적절하게 선택하느냐?” 이다. 이 문제를 neighbor graph를 이용한 context caching에서는 이웃 AP들에게 클라이언트의 정보를 전송하고 있다. 하지만 무조건 이웃 AP들에게 클라이언트의 정보를 전송하는 것은 트래픽 낭비이다. 이 논문에서는 이러한 문제점을 해결하기 위해 새로운 트래픽 관리 알고리즘을 제안하고, 또한 이동성이 적은 사용자들의 cache hit ratio를 희생하지 않고 이동성이 많은 사용자들의 hit ratio을 높여서 핸드오프 지연을 최소화 하기위해 WLRU(Weighted Least Recently Used) 알고리즘을 제안한다. 2장과 3장에서는 기존의 FHR과 neighbor graph에 관하여 설명하고 4장에서는 WFH 알고리즘에 대해 설명하며, 5장에서는 시뮬레이션을 통한 WFH의 성능을 보여준다.
Ⅱ. Frequent Handoff Region (FHR) 선택
FHR은 클라이언트에 대한 인증정보를 인증 서버가 이웃 AP들 에게 전송하는 방식이기 때문에 AP의 위치와 클라이언트의 이동 패턴에 대한 정보를 인증 서버가 관리하게 된다. 즉, FHR은 클라이언트가 통신하기 쉬운 AP들로 구성되며, AP 사이의 이동횟수와 이동하기 전의 AP에서 머무른 시간에 따라 이동 비율이 계산되며 이동비율은 일반적으로 AP의 위치와 클라이언트 이동성에 의해서 정해진다[1]. 클라이언트 레벨은 클라이언트의 서비스 요구 정도를 나타내며 이 값이 높으면 데이터 통신의 두절이 없는 실시간 서비스를 요구하는 것을 말한다. AP사이의 이동비율을 측정하기 위해, 표 1의 event log database 시스템을 사용한다. 이 테이블은 사용자의 로그인과 핸드오프 이벤트들을 기록하는 데이터베이스의 예제를 보여준다[2].
그림 1. 토폴로지
표 1. Event Log Database 예제
다음에 보여주는 weight 값은 핸드오프 비율에 의해 결정된다. Weight 값이 0이면 AP 자기 자신을 나타내며 \(\infty\)는 이웃 해 있지 않은 AP를 나타낸다. FHR을 선택할 때는 클라이언트의 레벨을 고려하여 인증 범위가 정해지고 그림 2에서 보여주는 weighted graph를 보고 각 AP에서 클라이언트 레벨에 따라 FHR 범위를 정할 수 있다. 예를 들어, AP4에서 레벨이 3인 클라이언트는 AP3. AP6, AP7, AP8을 FHR 범위로 설정하여 미리 인증하게 된다.
그림 2. Weighted Graph
Ⅲ. Neighbor Graphs
Neighbor graph(NG)는 FHR과 동일한 proactive 기법을 사용하지만 클라이언트가 이동할 확률은 고려하지 않았다. NG는 서버 도움 없이 IA- PP 메시지를 이용하여 한 홉 거리에 있는 이웃 AP 들을 미리 인증하는 방식이며 방향성 없는 edge를 가정한다.
3.1 Neighbor Graph 생성
NG의 초기화 상태에서는 처음부터 이웃 AP들을 알 수는 없다. 그래서 초기에는 클라이언트가 이동하면서 이웃 AP들을 방문하게 되어 각각의 이웃 AP들을 알 수 있게 된다. NG는 각 AP에 의해 자동적으로 생성 되며 다음 두 상태로부터 AP가 NG 에서의 edge를 찾아낼 수 있다[3].
1) AP가 클라이언트로부터 Reassociation Re quest 메시지를 받았을 때: 하나의 클라이언트가 old AP에서 new AP로 재협상 할 때 new AP의 이웃 AP로서 old AP를 추가한다.
2) IAPP를 통해 다른 AP로부터 Move-Notify 메시지를 받았을 때: old AP가 new AP로부터 Move-Notify 메시지를 받았을 때 old AP의 이웃 AP로서 new AP를 추가한다.
각각의 AP들이 위의 과정을 통해 이웃 AP들을 알게 되면, 이것을 이용한 context caching 알고리즘은 다음과 같다. 한 개의 클라이언트가 어느 한 AP에 접속했을 때 이 AP는 클라이언트의 context 정보를 자신의 이웃 AP들에게 전달해주기 때문에 자신과 이웃 AP들을 미리 인증하게 되는 것이다. 하지만 NG를 이용한 context caching에서도 핸드오프 지연을 증가시키는 두 가지 형태의 cache miss 상황들이 있다.
3.2 Cache Miss 발생 상황
1) AP가 자신의 이웃 AP들를 모르는 상태 :이웃 AP들이 없는 두 AP사이에서 재협상이 일어났을 때 context 정보를 전달할 수가 없게 되어 cache miss를 발생하고 혹은 wireless network이 멈추거나 재부팅 되어 초기화 되었을 때 cache miss가 발생한다.
2) 다른 클라이언트가 이웃 AP에 접속했을 때: 이것은 이웃 AP에 협상하려는 다른 클라이언트들 때문에 발생하게 된다. 즉 한 클라이언트가 old AP에서 new AP로 이동했을 동안에 old AP의 캐쉬는 자신의 이웃 AP들에 접속한 클라이언트들의 context 정보로 인해 채워지게 되고 이때 캐쉬가 Full인 상태가 되면 LRU 알고리즘에 의해 최근에 사용하지 않은 context 정보를 지우게 된다. 그리고 다시 new AP로 이동했던 클라이언트가 다시 old AP로 이동할 때 old AP에서는 cache miss 가 발생하게 된다. NG를 이용한 context caching에서는 두 번째 cache miss 상황을 줄이기 위해서 Cache Invalidation 개념을 도입하였다.
Cache-Invalidation 메시지는 new AP에 접속했던 클라이언트가 자신의 이웃 AP로 이동했을 때 old ARI" 자신의 이웃 AP들에게 Cache invalidation 메시지를 전송하고 이 메시지를 받은 AP는 cache에서 해당 클라이언트의 정보를 제거하여 cache hit ratio를 높여준다. 하지만, 이 논문에서는 IEEE 802.11f에서 사용하는 Move-Res ponse 메시지를 이용하여 표준을 따르면서, Cac he-Invalidation 을 효율적으로 구현하는 방법을 제안한다.〔3〕에서는 Cache-Invalidation을 무선랜에 어떻게 적용할지 언급하고 있지 않았다.
Ⅳ. Weighted Frequent Handoff(WFH)
기존의 FHR은 서버가 클라이언트의 이동 패턴과 AP의 위치 그리고 클라이언트의 레벨에 따라서 이웃 AP들을 선택하여 자주 가는 AP들을 미리 인증하는 방식이며 NG를 이용한 context caching 은 서버 도움 없이 AP들 간에 시간이 지남에 따라 각각의 AP들이 자신의 이웃 AP들을 알 수 있기 때문에 미리 한 흡 거리에 있는 이웃 AP들을 인증하는 방식이다.
FHR과 NG는 proactive 방식을 사용하여 빠른 인증을 제공하고 있다. 하지만, 이 두 알고리즘은 빠른 인증에 사용된 중복 트래픽으로 인해 발생되는 네트워크 부하를 고려하지 않고 있다. 중복 트래픽은 클라이언트가 핸드오프 이후 이미 인증된 AP 들에 게 동일한 메시지를 전송시켜서 불필요한 메시지를 발생시키는 것이다. 이것은 클라이언트 수가 많아지면 많아질수록 불필요한 트래픽을 증가시키게 된다.
FHR 내에서 핸드오프가 일어나면 재인증 과정이 일어나지 않게 되어 클라이언트의 정보가 담긴 메시지를 이웃 AP들에게 전송하지 않지만, FHR 범위를 벗어나게 되면 중복 메시지를 발생한다. 기존 FHR 범위를 벗어나면, 새로운 FHR 범위가 만들어 지며 이때 기존의 FHR 범위와 새로 생성된 FHR 범위가 겹쳐지게 되어 겹쳐진 부분에 동일한 중복 메시지 전송하게 된다. NG를 이용한 context caching에서는 한 홉으로 이동할 때마다 무조건 이웃 AP들에게 메시지를 전송시키기 때문에 old AP 와 new AP의 이웃 AP가 동일한 AP이면 이 AP 는 같은 클라이언트의 정보를 담은 중복된 메시지를 전송받게 된다.
그림 3은 NG환경에서 1부터 10까지의 시뮬레이션 기간 동안 클라이언트들의 이동이 많을 것 같은 한 AP에서 빠른 인증을 위해 사용하는 Cache- Notify 평균 트래픽량을 보여주고 있다. 이 메시지 크기는 256, 512, 768, 1024 Byte로 설정하였다. WFH와 NG에서 발생하는 평균 트래픽량의 비교는 5장 시뮬레이션에서 보여준다.
그림 3. 임의의 한 AP에서 발생하는 Cache-Notifv 트래픽량
WFH에서는 이러한 중복 메시지를 줄일 뿐만 아니라 새로운 cache replacement algorithm인 WLRU를 사용하여 많은 이동성 (mobility가 높은)을 가진 클라이언트에 대해서 높은 cache hit ratio도 제공하고 있다. NG에서는 기본적으로 LRU 캐쉬 알고리즘을 사용했지만 WFH에서는 LRU 캐쉬 알고리즘에 이동해올 확률을 고려하였기 때문에 이동성이 적은 클라이언트의 cache hit ratio를 희생하지 않으면서, 이동성이 많은 클라이언트에게 높은 hit ratio를 제공해 준다. 클라이언트의 hit ratio가 높다는 것은 핸드오프 시 발생하는 인증지연 시간횟수를 줄임으로써 빠른 인증을 받는 횟수가 많다는 것이다.
이 논문에서 제안하는 알고리즘은 핸드오프가 일어날 때 전체 토폴로지에서 불필요하게 중복되는 데이터의 트래픽량을 최소한으로 줄이는 것이며, 또한 NG를 이용한 context caching에서 언급한 두 번째 경우의 cache miss가 일어날 확률을 줄여서 핸드오프의 지연을 최소화 시키는 것에 목표를 두고 있다. WFH는 NG의 메시지 전송방식에 FHR의클라이언트 이동성을 고려하여 설계하였기 때문에 클라이언트가 핸드오프 할 때 FHR처럼 따로 인증서버를 요구하지 않는다.
4.1 트래픽 관리 알고리즘을 이용한 AP Pre-Au thentication
NG 환경에서 핸드오프가 발생했을 때, 인증지연을 최소화하기 위해서 proactive 기법을 이용하여 클라이언트가 접속한 AP의 이웃 AP들에게 클라이언트의 인증정보가 포함된 메시지(Cache-Notify)를 전송한다. 하지만. 핸드오프가 발생하기 전 old APS 이웃 AP와 핸드오프 발생 후 new AP의 이웃 AP가 동일한 AP인 경우 불필요하게 메시지를 두 번 전송하게 되어 메시지 중복을 야기한다. 이 논문에서는 이러한 문제점을 해결하기 위해서 다음을 정의하였다.
그림 4는 WFH 알고리즘을 보여주며. 알고리즘에 사용되는 데이터구조 및 함수를 정의한다.
그림 4. Proactive Caching을 위한 효율적인 트래픽 관리 알고리즘
1) c.context 클라이언트 c에 대한 security context 정보이다.
2) APi.cache APi가 유지하고 있는 클라이언트에 대한 캐쉬 데이터 구조이다.
3) APi, AAT(Authenticated_AP_Table) AP 마다 인증 테이블을 유지하고 있으며 표 2는 AAT의 필드를 설명한다. 자신의 AAT에서 '각 클라이언트에 대한 이웃 AP(ID)의 인증상태' 필드를 확인하면 한 홉 떨어져 있는 AP 에서 이동해올 수 있는 클라이언트에 대한 인증된 AP들의 ID를 알 수 있다. 핸드오프 이후, AAT를 이용하여 중복된 데이터 트래픽전송을 막을 수 있다.
4) c.AAL(Authenticated_AP_List) 이것은 Cache-Notify 메시지에 포함되며 클라이언트가 접속한 AP의 이웃 AP들의 ID들이다.
5) L2_Update(APnew. c, p, APnew-n)이 논문에서는 불필요한 Cache-Notify 메시지를 전송하지 않으면서 마치 메시지를 전송한 것과 같은 효과를 보기위해 Layer 2 Update 프레임을 이용한다. L2_Update 메시지는 AP- new에서 APnew-n로 전송되며, APnew-n는 캐쉬와 테이블에서 클라이언트 c에 대한 정보를 갱신한다. 이 함수는 같은 DSM(Distribut- ion System Medium)내의 모든 APnew-n들에게 broadcast 한다. 우선순위(priority)는 IAPP 표준 메시지의 예약필드(Ibyte)에서 2bit를 이용한다.
6) Cache_AAT_Update(APnew-n, c, p) 이 함수는 APnew로부터 L2_Update 메시지를 전송받으면 APnew-n에서 다음과 같은 수행을 한다.
① 캐쉬 갱신
캐쉬에 클라이언트의 정보가 없으면 무시한다. 클라이언트의 정보가 캐쉬에 기록되어 있다면, 그 위치를 최상위가 아닌 P순서에 따라 위치시킨다. 클라이언트에 대한 'Old AP' 필드는 Cache-Notify 메시지를 전송한 APnew의 ID로 갱신한다.
② AAT 갱신
AAT에서 클라이언트의 정보가 없으면 무시한다. 클라이언트의 정보가 AAT의 '각 클라이언트에 대한 이웃 APQD)의 인증상태' 필드에 기록되어 있다면, 해당 클라이언트에 대한 'Old AP' 필드를 APnew의 ID로 갱신한다. 'Old AP' 필드는 해당 클라이언트와 관련해서 가장 최근에 메시지를 보낸 AP를 나타낸다.
7) Context_Table_Notification(APnew, c.context, p. c.AAL, APnew-n) APnew 에서 APnew-n으로 Cache-Notify 메시지를 이용하여 전송하며, 클라이언트 c에 대한 context 정보와 캐쉬에 저장될 위치를 알려주는 P 그리고 c.AAL을 포함한다. 그림 5는 클라이언트 #2가 APC로 핸드오프 하기 전 APA에서 APB, APC, APD에게 Cache_Notify 메시지 전송을 보여주며 그림 6은 핸드오프 이후 APC에서 APE 와 APF 에게 Cache-Notify 메시지를 전송하는 것을 보여준다. APc.AAT에서 '각 클라이언트에 대한 이웃 AP(ID)의 인증상태' 필드를 확인하여 APA, APB, APD들의 ID가 클라이언트 #2에 대해서 이미 인증되었다는 것을 인식하여 APE 와 APF에게만 Cache-Notify 메시지를 전송하고 있음을 보여주고 있다.
그림 5. 핸드오프 전 Cache_Notify 메시지 전송
그림 6. 핸드오프 후 Cache_Notify 메시지 전송
8) Insert_AP_Cache(APnew-n, c.context, p, c.AAL) 이 함수는 APnew-n가 APnew로부터 Cache-Notify 메시지를 받으면 다음과 같은 수행을 한다.
표 2. AAT 필드정의
표 3. 핸드오프 전 APc.AAT
① 캐쉬 갱신
APnew-n는 캐쉬에 c.context를 기록하며, 기록하는 위치는 최상위가 아닌 p순서를 따른다. 클라이언트에 대한 'Old AP' 필드는 Cache-Notify 메시지를 전송한 APnew의 ID로 갱신한다. p는 4.2.2 우선순위에서 설명한다.
② AAT 갱신
APnew-n.AAT의 인증상태 필드에 클라이언트 c에 대한 c.AAL을 저장하며 'Old AP' 필드에는 APnew의 ID로 기록한다. 표 3은 클라이언트 #2가. APA에 접속하여 Cache- Notify 메시지 APB. APC. APD로 전송한 이후 APC.AAT 상태를 나타내며, 클라이언트 #1은 AR、에 먼저 접속되어 있는 사용자이다. 표 4는 클라이언트 #2가 APC로 이동한 다음 APE와 APF로 메시지를 전송한 이후의 APC. AAT 상태를 나타낸다.
표 4. 핸드오프 후 APc.AAT
9) Delete_Context_Table(APold, c, APold-n) ARold는 APold-n의 캐쉬와 테이블에서 클라이언트에 대한 정보를 제거하기위해 APold-n으로 메시지를 전송한다. NG에서는 Cache-Invalidation 메시지를 따로 정의하고 있지만 이 논문에서는 IAPP 표준의 Move-Response 메시지에 포함되는 클라이언트의 context 정보를 제외하고 이용하였다. NG는 cache hit ratio를 높이기 위해 Cache-Invalidation 메시지 를 APold에서 APold-n들로 전송하여 APold-n.cache에서 클라이언트에 대한 정보를 간단하게 삭제한다. 이 논문에서 제안하는 트래픽 관리 알고리즘도 NG에서와 같은 효과를 보기위해 이 알고리즘을 이용하였지만 문제점이 발생하였다. 그것은, 트래픽 관리알고리즘이 트래픽을 줄이기 위해 AAT를 사용하기 때문이다. NG에서처럼 Cache-Invalidation 메시지를 받은 AP들은 메시지를 보낸 APnew의 ID와 'Old AP' 필드의 ID를 확인하여 일치하는 AP들의 캐쉬와 AAT에서 클라이언트에 대한 정보를 삭제하면 되지만. 이 메시지의 목적은 클라이언트에 대한 정보를 APold-n들에게 전부 삭제하라고 요청하는 메시지이기 때문에, Cache invalidation 메시지를 보내는 ARold.AAT의 인증상태 필드에서 메시지를 수신할 APold-n의 ID를 삭제해야 한다. 메시지가 APold에서 APold-n들로 전송되어 APold.AAT의 인증상태 필드로부터 클라이언트에 대해 인증된 APold-n의 ID가 전부 삭제되고, APnew로 갔던 클라이언트가 다시 APold로 이동해 온다면 NG와 같이 중복된 메시지를 전송하게 되어 트래픽 이득이 없게 된다.
이러한 문제점은 이 논문에서 제안한 AAT를 이용하면 해결할 수 있다. 클라이언트가 APnew로 이동한 후 APold는 APnew로부터 Move-Notify 메시지를 받는다. 이 메시지로부터 APold는 클라이언트가 어디로 이동했는지 알 수 있다. 그리고 APold는 표 2와같이 AAT의 '인증된 이웃 AP' 필드를 확인하여 이동한 APnew의 ID가 포함되지 않은 이웃 AP들에게만 Cache-Invalidation 메시지를 APold-n로 전송한다. 즉, APold는 Cache invalidation 메시지를 APnew 와 두 홉 떨어진 APold-n들에게만 전송하는 것이다. 이 논문에서는 Cache-Invalidation 메시지 역할을 c.context 가 포함되지 않아 Move-Notify 메시지가 대신한다.
AAT를 이용하게 되면, 중복되는 Cache-Notify 메시지뿐만 아니라 NG에서 사용하는 중복된 Cac he-Invalidation 메시지도 줄이는 효과도 얻을 수 있다. 이 논문에서는 트래픽 관리 알고리즘을 이용하여 Cache-Notify 메시지에 대한 트래픽 이득만을 보여준다.
10) Delete_AP_ID(APold, APold-n)
이 함수는 APold가 APold-n으로 Move-Response 메시지를 전송할 때, APold에서 다음과 같은 수행을 한다.
① AAT 갱신
APold.AAT에서 클라이언트가 인증했던 AP- old-n의 ID 를 제거한다. 다시 말해, APold. AAT 에서 Delete_Context_Table(APold, c. APold-n) 수행한 APold-n의 ID만 각 클라이언트에 대한 이웃 AP(ID)의 인증상태' 필드에서 제거한다.
그림 7은 핸드오프가 발생할 때 전체 메시지 전송과정을 보여준다.
그림 7. 핸드오프 동안 메시지 전송순서
4.2 WLRU(Weighted Least Recently Used)
이 절에서는 cache hit ratio를 높이기 위해 기존의 LRU가 아닌 클라이언트들이 이동해 올 확률을 고려한 새로운 cache replacement algorithm을 제안한다. WFH 알고리즘은 NG가 생성된 후, FHR에서 언급한 AP의 위치와 클라이언트의 이동 패턴에 따라서 AP들 사이에 서로 다른 방향성 있는 edge를 가지며 각 edge는 w(weight) 를 가지게 된다. 이렇게 이웃 AP마다 다른 w 값은 최근에 얼마나 자주 이동했는가를 나타내며 이 값을 cache replacement에 이용한다.
LRU 캐쉬 알고리즘은 최근의 정보를 캐쉬 맨 상위에 저장하는 반면 이 논문에서의 제안하는 WLRU는 w를 이용하여 이동해올 확률이 적은 것(w가 낮은)에 우선순위를 높게 하여 저장한다.
4.2.1 Weight 계산
그림 8과 표 5는 그림 5에 있는 APA에서의 event log database와 이것을 이용한 w의 예를 들었다. Event Log Database : 각각의 AP들은 eventlog database를 가지고 있으며 클라이언트가 현재 접속한 시간과 이웃 AP로 핸드오프 한 시간을 기록한다.
그림 8. APa의 Event Log Database
표 5. APa의 Weight Table
Weight Table : AP는 event log database를 이용하여 한 홉 떨어진 이웃 AP들과의 이동률을 계산하여 weight table에 기록하게 된다.
Weight 계산 : H(i, j)는 핸드오프 비율이고, N(i, j)은 AP(i)에서 AP(j)로부터 핸드오프 이벤트 발생 횟수이다. R(i. j)은 AP(i)에서 AP(j)로 핸드오프 이벤트가 발생할 때 AP(i)에 머무른 시간을 나타낸다[1]. AP들 사이의 w는 핸드오프 비율에 의해 결정된다.
Weight 유지 : AP들 사이의 w는 최근 접속기록을 바탕으로 하는 event log database의 시간과 w계산에 의해 실시간으로 바뀌며 유지된다.
4.2.2 우선순위(priority)
Cache-Notify 혹은 L2-Update 메시지에 포함되는 우선순위는 w값에 의해 결정되며 메시지를 보내는 AP가 다음과 같은 함수를 사용하여 우선순위를 결정한다. p(APi, APj): APi에서 APj의 방향으로, APj.cache에 저장될 우선순위이며 그림 9 와 같다.
그림 9. 우선순위 알고리즘
그림 10은 WLRU 캐쉬 알고리즘이며 APA가 Cache-Notify 메시지를 클라이언트 #1부터 #5까지 순서대로 받아서 p의 값에 따라 캐쉬에 저장하는 것을 보여준다. 각 화살표는 AP사이의 w를 나타낸다.
그림 10. WLRU 캐쉬 알고리즘
Ⅴ. 시뮬레이션
C++로 구현된 시뮬레이션에서, AP는 제한된 캐쉬 사이즈를 가지며 클라이언트들은 시뮬레이션 동안 자신의 mobility에 따라서 핸드오프를 한다.
. 시뮬레이션 목적 :
클라이언트수와 네트워크 토폴로지에 따라서 기존의 NG보다 얼마만큼의 중복 메시지를 줄일 수 있는지 관찰하며, 제한된 캐쉬에서 클라이언트가 늘어날 때 NG에서 사용하는 LRU와 이 논문에서 제안하는 WLRU의 cache hit ratio를 비교하여 그 효율성을 알아본다.
. 시뮬레이션 모델과 가정 :
1) 네트워크 토폴로지 : 초기 AP의 위치는 랜덤하게 설정되며 이 토폴로지는 시뮬레이션이 끝날 때 까지 변하지 않는다.
2) 초기 클라이언트의 위치 : 클라이언트들은 전체 토폴로지에 고루 분산되어 있다.
3) 클라이언트 mobility : 시뮬레이션 동안 주어진 시간에 클라이언트가 이동하는 확률로서 한 개의 클라이언트 이동성을 정의한다⑶.
. 시뮬레이션 환경 :
1) 시뮬레이션은 초기 AP를 랜덤하게 위치하였다.
2) weight : w의 범위가 너무 크면 한곳으로 클라이언트가 집중되는 현상이 일어날 수 있으므로 그 범위를 1〜12까지 제한하며 클라이언트의 랜덤한 움직임에 따라 실시간으로 고루 분포된다.
3) 시뮬레이션 기간 : 클라이언트의 mobility 에 따라서 균일하게 분산된 3만번의 재협상 과정을 다섯 번 이행하여 평균을 내었고 이것은 결과 값이 만족스러운 신뢰성을 줄 만큼의 충분한 기간이다.
. 시뮬레이션 결과:
1) 클라이언트 증가에 따른 cache hit ratio: 그림 11은 AP(50) 인 토폴로지에서 클라이언트 수를 증가시켜 가면서 LRU와 WLRU 의 cache hit ratio를 비교하였다. 캐쉬크기가 충분할 때는 두 알고리즘이 비슷한 cache hit ratio를 보여주지만 캐쉬 크기가 충분하지 못할 때는 WLRU가 LRU보다 높게 나타났다. 클라이언트가 500일 때와 400일 때 cache hit ratio의 이득이 비슷한데 이것은 캐쉬 크기가 일정한 크기 이상으로 작아져도 그 이득은 비슷하다는 것을 보여주며, 제안한 알고리즘이 mobility가 낮은 사용자의 cache hit ratio를 희생하지 않으면서 mobility가 높은 사용자에게는 더 높은 hit ratio를 제공하는 것을 알 수 있다.
2) 1)과 동일한 환경에서 NG와 WFH의 총트래픽량: 그림 12는 1)번 시뮬레이션 환경에서 기존 proactive caching을 사용하는 NG와 제안한 WFH에서의 트래픽량을 비교하여 보여주고 있다. 클라이언트 수가 500이였을 때 이웃 AP들에게 무조건 Cache-Notify 메시지를 전송하는 NG보다 자신의 AP에서 AAT을 확인하여 중복 메시지를 줄이는 WFH가 시뮬레이션 기간 동안이 백만개 이상의 트래픽 이득을 보이고 있다.
그림 11. 클라이언트 증가에 따른 cache hit ratio
그림 12. 클라이언트 증가에 따른 전체 트래픽량
이 개수는 Cache-Notify 메시지를 전송한 횟수를 나타냈으며 실제 데이터 량의 이득은 클라이언트 context 정보의 크기에 영향을 받으며 이 정보가 크면 클수록 그 이득은 커진다.
3) 클라이언트수와 캐쉬 크기에 따른 cache hit ratio: 그림 13은 클라이언트를 증가시켜가면서 각 캐쉬 크기에서 LRU와 WLRU의 평균 cache hit ratio를 비교하였다. 클라이언트 수와 비례하여 캐쉬 크기가 충분하지 못한 상태에서 WLRU가 LRU보다 hit ratio가 높게 나타나는 것을 알 수 있다.
그림 13. 클라이언트수와 캐쉬 크기에 따른 cache hit ratio
4) 겹쳐진 서비스 범위에 따른 트래픽 이득차이: 그림 14는 AP(20), 클라이언트(100)으로 일정하고 AP의 위치를 변경하면서 기존 proactive caching을 사용하는 NG와 제안한 WFH에서의 트래픽 이득차이를 겹쳐진 서비스 범위의 개수를 늘려가며 비교한다. 토폴로지는 랜덤하게 위치하였고 AP의 서비스 범위가 서로 겹쳐진 환경을 증가시켰다. 가로축 The number of overlaped ranges in topology는 표 6과 같다.
표 6. AP의 위치에 따른 겹쳐진 서비스범위 수
그림 14. AP 위치에 따른 트래픽 이득
5) AP수와 클라이언트 증가에 따른 트래픽량: 그림 15는 AP수와 클라이언트수를 일정 비율로 증가시키면서 발생하는 트래픽량을 기존 proactive caching기법 NG와 트래픽 관리알고리즘을 사용한 WFH를 비교하였다. AP 수가 증가할수록 서로 겹쳐지는 서비스 지역이 많아지고 클라이언트수가 증가할수록 트래픽량도 증가하기 때문에 점점 트래픽 이득의 차이가 커지게 된다. 가로축의 Topology Increasing은 다음 표 7과 같다.
표 7. Topology Increasing
그림 15. AP수와 클라이언트 증가에 따른 트래픽량
6) 시뮬레이션동안 한 AP에서 발생하는 트래픽량 : 그림 16의 시뮬레이션 환경은 AP(50), 클라이 언트(1000). 시뮬레이션 시간(3000) 이며, 빠른 인증을 위해 사용하는 Cache-No- tify 메시지크 기는 256과 1024 Byte로 설정하였다. 1000개 의 클라이언트들이 고루 분포된 AP들 중에서 비 교적 클라이언트들의 이동이 잦은 임의의 한 AP 를 선택하여 1부터 10까지의 시뮬레이션 기간에 서 발생하는 평균 Cache-Notify 메시지량을 NG 와 WFH를 비교하여 보여주고 있다. 그림 17은 임의의 한 AP 구조이다. WFH가 NG보다 트래 픽량을약 40〜45% 줄이는 것을 알 수 있다.
그림 16. 임의의 한 AP에서 발생하는 Cache-Notify 트래픽량
그림 17. 5개의 이웃AP를 가진 APA
Ⅵ. 결론
이 논문에서는 서버가 직접 인증 범위를 지정해주는 FHR과 핸드오프 발생 시 AP들이 서로 자동적으로 이웃 AP를 생성하는 Neighbor Graph를 살펴보았고, 이를 개선할 수 있는 새로운 트래픽 관리기법과 cache replace algorithm을 제안하였다. FHR은 IAPP 메시지를 이용하지 않고 서버를 이용한 중앙 집중방식 (centralized fashion)의 알고리즘이며 한 홉 이상의 이접한 AP들을 인증하고 있다. 하지만 클라이언트가 인증 범위를 벗어날 때마다 새로운 인증 범위를 설정하는데 이것은 이전의 인증 범위와 새로운 인증 범위가 겹쳐지게 될 가능성을 말해주며 이렇게 겹쳐지는 인증 범위가 클수록 더 많은 데이터 트래픽의 낭비를 가져오게 된다.
FHR은 클라이언트의 정보가 포함된 메시지를 전송시키기(인증 범위를 설정하기) 위해 그림 2에서 서버가 nXn matrix에 대해 O(n2)의 계산을 하고 있다. n은 네트워크에서 AP의 수를 의미한다. NG 에서는 한 AP가 자신의 이웃 AP들만 인증하기 때무에 각 AP마다 O(n)의 계산을 수행한다. NG는 FHR보다 인증범위를 설정하는 계산을 적게 요구하지만 FHR과 마찬가지로 핸드오프가 발생할 때마다 모든 이웃 AP들에게 context 정보를 전송하기 때문에 old AP와 new AP의 인증범위가 겹치게 되어 데이터 트래픽 낭비를 가져온다.
이 논문에서 제안한 WFH 알고리즘은 각 AP마다 AAT를 가지고 있기 때문에 인증범위를 설정하기 위해 O(n)의 계산을 하며, old AP와 new AP 의 인증범위가 겹쳐지게 되어도 불필요한 중복 메시지를 전송하지 않으므로 전체 네트워크 환경에서 트래픽 부하를 줄일 수 있다’ 또한 WFH는 NG와 같이 분산된 방식(distributed fashion)이기 때문에 토폴로지 변화에 빨리 적응할 수 있다.
트래픽량을 줄이는 방법 이외에도 cache hit ratio를 높이기 위해 클라이언트가 이동해올 확률을 고려하여 캐쉬에 저장하는 방식인 WLRU 알고리즘을 사용하고 있다. WLRU를 이용하여 hit ratio를 높임으로써 그만큼 핸旦오프 지연을 줄일 수 있게 된다.
이렇게 트래픽량을 줄이는 기술과 cache hit ratio를 높이는 방법은 현재 AP와 단말기사이의 무선 환경보다도 기지국과 단말기 사이처럼 속도가 거마- 론 휴대 인터넷환경에 더 많이 이용될 것#로 기대하며, 향후 휴대 인터넷 환경에 적합한 pre-authentication 방법 등에 적용할 수 있을 것이다.
References
- Sangheon Pack and Yanghee Choi, 'Fast Inter-AP Handoff using Predictive- Authentication Scheme in a Public Wireless LAN,' Networks 2002 (Joint ICN 2002 and ICWLHN 2002), August 2002
- Sangheon Pack and Yanghee Choi, 'Pre-Authenticated Fast Handoff in a Public Wireless LAN based on IEEE 802.1x Model,' IFIP TC6 Personal Wireless Communications 2002 (To Appear), October 2002
- A. Mishra, M. Shin, and W. A. Arbaugh, 'Context Caching using Neighbor Graphs for Fast Handoffs in a Wire le ss Network,' IEEE Infocom 2004, Mar. 2004
- IEEE, 'Recommended Practice for Multi-Vendor Access Point InteroperabIlity via an Inter-Access Point Protocol Across Distribution Systems Supporting IEEE 802.11 Operation,' IEEE standard 802.11f, July 2003
- Arunesh Mishra, Minho Shin, and William Arbaugh, 'An Empirical Analysis of the IEEE 802.11 MAC Layer Handoff Process,' ACM Computer Communications Review, Apr. 2003
- IEEE, 'IEEE Standard for Local and metropolitan area networks-Port-Based Network Access Control', IEEE Standard 802.1x-2001, June 2001
- IEEE, 'Draft 5 Amendment for Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands', IEEE P802.16e/D5, September 2004
- Hyung-Seop Hong, Ae-Soon Park, Da- Hye Choi, Sang-Ha Kim, Department of Computer Science, Chungnam Nat- ional University, Electronics and Telecommunications Research Institute, 'A Security Mechanism to Guarantee Mobility of Mobile Stations in Wireless LAN based on 802.11b', JCCI, Apr. 2003