동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT,...

Post on 13-Sep-2020

0 views 0 download

Transcript of 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT,...

450 정보과학회논문지 : 정보통신 제 38 권 제 6 호(2011.12)

․이 논문은 정부(교육과학기술부)의 재원으로 한국연구재단의 연구소

지원사업으로 수행된 연구임(2011-0018394)

††

†††

학생회원

정 회 원

종신회원

논문 수

심사완료

:

:

:

:

:

인하 학교 자공학과

burujo@naver.com

wldnjsds@hanmail.net

shredingerscat@inha.edu

인하 학교 자공학과 교수

wanoh38@paran.com

인하 학교 자공학과 교수

sangbang@inha.ac.kr

2011년 7월 5일

2011년 9월 9일

CopyrightⒸ2011 한국정보과학회ː개인 목 이나 교육 목 인 경우, 이 작

물의 체 는 일부에 한 복사본 혹은 디지털 사본의 제작을 허가합니다.

이 때, 사본은 상업 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처

를 반드시 명시해야 합니다. 이 외의 목 으로 복제, 배포, 출 , 송 등 모든

유형의 사용행 를 하는 경우에 하여는 사 에 허가를 얻고 비용을 지불해야

합니다.

정보과학회논문지: 정보통신 제38권 제6호(2011.12)

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘

(A Shortest Path Decision Algorithm for Improving

the Reliability of Dynamic Routing Algorithm)

조 태 환 † 김 지 원 † 김 병 조 † 윤 완 오 †† 최 상 방 †††

(Tae Hwan Cho) (Ji Won Kim) (Byoung Jo Kim) (Wan Oh Yoon) (Sang Bang Choi)

요 약 네트워크 토폴로지의 일부분에 변화가 생겼을 때, 효율 으로 최단경로를 설정 할 수 있는

표 인 알고리즘으로 DSPT(Dynamic Shortest Path Tree)가 있다. 그러나 링크 비용이 증가하는 경우

DSPT 증가 알고리즘은 잘못된 최단경로를 계산한다. 따라서 본 논문에서는 DSPT 증가 알고리즘을 개선

하여 신뢰성 있는 최단경로를 계산하는 P-DSPT(Precise-Dynamic Shortest Path Tree) 알고리즘과

RDSP(Reliable Dynamic Shortest Path) 알고리즘을 제안한다. 제안된 알고리즘의 성능을 평가하기 해

서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하 으며, 최 17%의 성능 향상이 있었다.

키워드 : 동 최단경로, 동 업데이트, 다익스트라 알고리즘, 네트워크 라우 , 최단경로 우선 로토콜

Abstract DSPT algorithm is well known for searching altered SPT efficiently as a cost of link

is changed. But DSPT algorithm is wrong for some cases. So we will show this with an example,

and propose P-DSPT(Precise-Dynamic Shortest Path Tree) and RDSP(Reliable Dynamic Shortest

Path) that is a new DSPT algorithm. The result of an evaluation shows that overall performance of

the proposed algorithm is improved a maximum of 17% compared with DSPT and well-known

Dijkstra algorithm.

Key words : Dynamic shortest path, Dynamic update, Dijkstra algorithm, Network routing, OSPF

1. 서 론

인터넷 서비스에 한 사용자 요구가 다양해지고, 서

비스 품질에 한 요구가 높아지면서 화상회의, 원격강

의, 주문형 비디오와 같은 멀티미디어 서비스 도입과 지

연에 민감한 많은 실시간 응용서비스들이 개발되어짐에

따라 인터넷 트래픽은 속도로 증가하고 있다. 한 트

래픽 양의 인 증가 상 이외에도 링크 단선과

같은 네트워크에서의 결함은 트래픽의 경로를 바꾸게

하여 특정 지역에서의 혼잡 상을 더욱 심화시킨다. 이

에 따라 컴퓨터 네트워크를 포함한 다양한 네트워크 환

경에서 출발지와 도착지 간의 최 경로를 탐색하는 라

우 알고리즘은 시스템의 성능을 직 으로 결정하는

매우 요한 요소 기술이 되었다. 이상 인 라우 알고

리즘은 짧은 시간 내에 시스템의 수율을 극 화하는 동

시에 평균 패킷 지연 시간은 최소화하는 최단 경로를

찾는 것이다[1].

일반 으로 인터넷에서 사용되는 표 인 라우

로토콜로는 RIP(Routing Information Protocol), OSPF

(Open Shortest Path First), BGP(Border Gateway

Protocol) 등이 있다[2-4]. 오늘날 인터넷은 수백만 개의

호스트로 구성됨으로, 각 호스트의 라우 정보를 장

하기 해서는 막 한 양의 메모리가 필요하다. 한 인

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 451

터넷의 모든 라우터에서 링크상태 갱신을 로드캐스

하기 해 필요한 오버헤드는 데이터 패킷을 보낼 역

폭을 고갈 시킨다. 따라서 인터넷처럼 큰 네트워크에서

라우 계산의 복잡성을 감소시키기 해 라우터들을 자

율시스템(AS, Autonomous System)으로 집합화하여

리한다. RIP와 OSPF는 자율 시스템 내의 라우 을,

BGP는 자율 시스템 간의 라우 을 다룬다. RIP는 그래

알고리즘 벨만-포드(Bellman-Ford) 알고리즘을

사용하며, 모든 네트워크를 통과하는 비용은 같다고 정

의한다[5]. 반면에 OSPF는 그래 알고리즘 다익스

트라(Dijkstra) 알고리즘을 사용하며 서비스의 종류에 따

라 네트워크를 통과하는 비용을 리자가 할당하도록 하

고 있다. 따라서 OSPF는 RIP에 비해 여러 발 된 모습

을 가지고 있으며, 재 네트워크 분야에 리 사용되고

있다[6]. BGP의 경우는 경로 벡터 라우 방법에 기반을

두고 있으며 자율 시스템 간의 라우 에 사용된다[7].

결국, 네트워크 라우 에서 요한 부분은 최소비용의

경로를 신속하고 정확하게 찾아 라우 테이블을 구성

하여 패킷을 달하는 것이라 할 수 있다. 최근 많이 사

용되는 OSPF에서 기치 못한 상황으로 인해 네트워크

토폴로지에 변화가 생길 경우 라우 테이블을 수정하

기 해서는 다익스트라 알고리즘을 사용해야 한다.

를 들어 일부 네트워크의 물리 연결이 단 되어 해당

링크의 비용이 달라질 경우, 최소 비용의 경로를 다시

찾아야 한다. 이런 경우 일반 으로 다익스트라 알고리

즘을 재차 사용하게 된다. 그러나, 체 네트워크 구성

일부 링크의 비용이 수정되었을 때 다익스트라 알고

리즘을 재사용하면, 링크의 비용이 수정되지 않은

모든 노드(node)에 해서 반복 계산하게 되어 계산량

이 많아지고 불필요한 수정이 발생하게 된다. 이에 따라

체 인 라우 (routing) 테이블도 자주 수정되어 네트

워크 구성이 불안정하게 될 수 있다. 이런 단 을 보완

하기 한 동 (dynamic) 알고리즘 의 하나인 DSPT

(Dynamic Shortest Path Tree) 알고리즘은 수정된 링

크의 비용이 향을 주는 노드만을 찾아내어 계산하여

최단경로 계산량을 이고, 불필요한 수정을 하지 않는

다[8]. 하지만 DSPT 알고리즘은 일부의 경우 최단경로

를 계산하지 못하고 최단거리보다 큰 값을 가지는 일반

경로를 찾는 경우가 발생한다. 따라서 본 논문에서는 동

알고리즘인 DSPT를 수정하여 항상 신뢰성 있는 최

단경로를 계산함과 동시에 정 (static) 알고리즘인 다익

스트라 알고리즘 보다 최단경로 계산속도가 빠른 P-

DSPT(Precise-Dynamic Shortest Path Tree)알고리즘

과 RDSP(Reliable Dynamic Shortest Path)알고리즘을

제안한다. 제안된 알고리즘들과 다익스트라 알고리즘의

최단경로 계산시간을 비교한 결과, 최 17%의 성능 향

상이 있었다.

본 논문은 다음과 같이 구성되어 있다. 2장에서는 다

익스트라 알고리즘, 동 알고리즘 연구 결과, 네트워크

라우 에서 동 알고리즘의 필요성 DSPT 알고리

즘을 용한 최단경로 계산에 해 설명하고 3장에서는

본 논문에서 제안하는 P-DSPT 알고리즘과 RDSP 알

고리즘에 해 소개한다. 4장에서는 제안된 알고리즘과

기존 알고리즘 간의 결과를 다양한 측면에서 성능을 평

가한다. 마지막으로 5장에서는 본 논문의 연구 성과와

앞으로의 연구 과제를 제시하며 본 논문을 마무리한다.

2. 련연구

이 장에서는 본 논문에서 제안한 P-DSPT, RDSP

알고리즘의 성능 비교를 해서 리 알려진 정 알고

리즘인 다익스트라 알고리즘 다양한 동 알고리즘

들에 해 설명한 후, 네트워크 라우 에서 동 알고리

즘의 필요성, DSPT 알고리즘을 용하여 최단경로를

계산하는 방법에 하여 설명한다.

2.1 다익스트라 알고리즘

다익스트라 알고리즘은 어떤 간선도 음수 값을 갖지

않는 방향 그래 에서 주어진 출발 과 도착 사이의

최단 경로 문제를 계산하는 알고리즘이다. 따라서 다익

스트라 알고리즘은 한 정 에서 다른 모든 정 으로의

최단경로를 구하는 매우 효과 인 방법이다. 이를 네트

워크에 용시켜 보면 네트워크를 모든 링크의 가 치

가 음이 아니고 가 방향 그래 라고 가정

하여, 단일 출발 최단 경로 문제를 풀면 되는 것이다.

네트워크 라우 에서 다익스트라 알고리즘은 정 알고

리즘에 해당한다. 최단경로와 최단거리를 모두 얻을 수

있는 이 알고리즘은 그동안 철도 건설과 통신 네트워크

의 경로 설계, 항공기 운항 계획 등 목 지에 이르는 최

선의 길을 찾아야 하는 응용 분야에서 사용되었다. 다익

스트라 알고리즘은 특히 네트워크 경로 설계에 많이

용되는데 표 인 가 IP 망에서의 라우 로토콜

인 OSPF이다.

다익스트라 알고리즘의 수행과정을 살펴보면 다음과

같다. 다익스트라 알고리즘은 먼 시작 정 에서 가장

인 한 정 을 찾는다. 그 정 까지 거리가 최단거리가

되며, 최단거리가 알려진 정 들의 집합을 라 한다.

집합 에 포함되지 않은 정 에서 시작 정 으로부

터 가장 가까운 정 을 찾고 이 새로운 정 은 집합 에

바로 이웃한 정 들 하나가 된다. 그 정 까지 거리

는 최단거리이며, 그 정 을 집합 에 포함하게 된다.

새로운 정 이 없을 때까지, 즉 모든 정 이 집합 에

포함될 때까지 이 과정을 반복한다. 다익스트라 알고리

즘의 의사코드는 그림 1과 같다.

452 정보과학회논문지 : 정보통신 제 38 권 제 6 호(2011.12)

그림 1 다익스트라 알고리즘 의사코드

2.2 동 알고리즘 연구 결과

지난 몇 년 동안 다양한 동 라우 알고리즘이 연

구되어 왔다. 라말린감(Ramalingam)과 렙스(Reps)는

링크의 삭제와 추가에 사용 가능한 알고리즘을 제안하

다[9]. 이 논문에서는 수정된 링크에 의해 향을 받

은 노드들을 이용하여 동 라우 알고리즘을 평가하

다. 즉, 수정된 링크에 의해 향을 받은 노드가 을

수록 우수한 동 라우 알고리즘이라고 평가하고, 이

와 련된 복잡도 모델을 제시하 다.

리지오니(Frigioni) 등은 링크의 삭제, 추가 뿐만 아

니라 가 치 변경에도 사용 가능한 알고리즘을 제안하

다[10]. 이 알고리즘은 “수 (level)”과 “소유권(owner-

ship)”이라는 개념을 사용한다. 소유권 정보는 링크의

가 치가 수정이 되었을 때, 링크의 수를 제한하기 해

사용되며, 모든 링크는 소유권을 가질 수 있다. 이 알고

리즘은 기본 으로 다익스트라 알고리즘과 유사하지만

계산을 하는 링크의 숫자가 다익스트라 보다 다. 자

는 이 알고리즘이 이론 으로 가장 좋은 복잡도를 가진

다고 하지만, 복잡한 자료구조로 인해 오히려 비효율

이 된다.

나바 스(Narvaez) 등은 다익스트라, 벨만-포드와 같

이 잘 알려진 정 라우 알고리즘의 동 (dynamic)

버 을 한 를 제시하 다[11]. 그 핵심은 DSPT

와 마찬가지로 체 노드를 다시 계산하는 방식이 아닌

가 치의 수정에 의해 향을 받은 노드만을 계산하는

방법이다. 이 방법은 “볼스트링(BallString)” 모델에 기

를 두고 있으며 알고리즘 이름 한 BS(BallString)

알고리즘이다. 이 모델은 문자열의 길이가 증가 는 감

소되었을 때, 향을 받은 볼이 최 의 치에 자신을

재배열하는 방법을 나타내며, BS 알고리즘은 이 모델을

기반으로 하여 변경된 노드에 의해 향을 받은 노드만

을 가장 경제 인 방법으로 찾아내어 최단경로를 계산

하게 된다. 이 알고리즘을 통해 계산시간을 약할 수

있지만, DSPT 알고리즘에 비해서 많은 계산시간이 소

요된다.

2.3 네트워크 라우 에서 동 알고리즘의 필요성

OSPF와 같은 자율 시스템 내의 로토콜은 부분

다익스트라 알고리즘을 많이 사용한다. 다익스트라 알고

리즘의 핵심은 루트(root) 노드에서 모든 목 지까지 최

단거리를 찾는 것이다. 그러나 다익스트라 알고리즘은

네트워크 토폴로지(network topology) 일부 링크의

가 치만 바 어도 라우 테이블에 있는 최단경로 정

보를 사용하지 않고, 다시 처음부터 모든 최단경로를 계

산하게 된다[12]. 따라서 다익스트라 알고리즘에 의해

수행되는 최단경로 계산은 라우터의 부하를 가 시키게

된다. 한 이러한 과정에 체 CPU를 사용한다는

도 큰 문제가 된다.

네트워크 토폴로지 일부가 수정된 후 다익스트라

알고리즘을 사용하여 최단경로를 계산하게 되면 계산시

간이 굉장히 많이 소요되므로, 필연 으로 최단경로를

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 453

다시 계산하기까지의 공백기가 발생하게 된다. 이 공백

기 동안은 라우 테이블이 변경된 실제 네트워크 토폴

로지를 반 하지 못하기 때문에 큰 문제가 발생할 여지

가 있다. 즉, 이런 경우에 요한 데이터 패킷이 수정된

경로가 아닌 이 경로를 따라 이동한다면 패킷 손실이

발생하게 되는 것이다. 이런 시나리오는 네트워크의 링

크에 문제가 생겼을 때 언제든지 발생할 수 있으며, 매

우 험한 경우라 할 수 있다.

결국 이런 공백기를 최 한 여야만 패킷 손실을 방

지할 수 있으며, 이것이 네트워크의 요한 심사가 된

다. 따라서 계산시간이 많이 소요되는 다익스트라 알고

리즘과 같은 정 알고리즘 보다는 이 상태의 최단경

로 정보를 충분히 활용하여 최단경로 계산시간과 네트

워크의 공백기를 일 수 있는 동 알고리즘을 사용하

는 것이 효과 이다.

동 알고리즘을 사용해야 하는 하나의 연구 결과

가 있다. 네트워크의 토폴로지 일부 링크의 가 치가

변경되더라도, 변경된 후의 최단경로 65%는 변경되

기 의 최단경로와 완 히 같다는 것이다. 심지어,

최단경로가 달라지는 35%의 경우에도 링크의 가 치가

변경되기 이 의 최단경로와 상당히 비슷한 것으로 연

구 결과가 밝 졌다[13]. 따라서 정 알고리즘으로 최

단경로를 체 으로 다시 계산하는 것은 비효율 이며,

동 알고리즘을 통해 링크의 가 치가 변경된 일부에

해서만 계산하는 것이 효율 이며, 안정 인 네트워크

를 구성할 수 있다.

2.4 DSPT 알고리즘

동 알고리즘인 DSPT 알고리즘을 용하여 최단경

로를 계산하는 방법에 해 설명한다. 그림 2는 네트워

크 토폴로지를 그래 화한 그림이며, 각 노드는 라우터

를 의미한다. 두 노드 사이의 링크 가 치는 해당 링크

의 비용이며, 네트워크의 트래픽 지연(traffic delay) 등

을 의미한다. 그림에서 최단경로는 굵은 선으로 표시되

어 있으며, 노드 내의 숫자는 루트 노드인 로부터의

최단거리를 의미한다.

그림 2 링크 비용(7→24)이 변경된 그래

만약 그림 2와 같이 링크 (노드 와 노드 사이의

링크)의 비용이 7에서 24로 증가한다면, 새로운 라우

테이블 구성을 해 최단경로를 다시 계산해야 한다. 그

러나 DSPT 알고리즘은 정 알고리즘과는 달리, 체

노드에 해 최단경로를 다시 계산하지 않고 선으로

표시된 지역 내의 최단경로만 수정한다. 왜냐하면 링크

의 비용이 증가했기 때문에 노드 의 자식노드들을

제외한 다른 노드의 최단경로는 수정된 링크의 비용에

향을 받지 않기 때문이다. 즉, 노드

의 최단경로는 새로운 최단경로를 계산하더라도 이

의 최단경로를 유지하게 되며, 이 부분에서 최단경로

계산 시간을 일 수 있다. 만약 이와 같은 경우 다익스

트라 알고리즘을 사용한다면, 최단경로가 변하지 않는

노드에 해서도 다시 최단경로를 계산하기 때문에 많

은 계산 시간이 소요되게 된다. DSPT 알고리즘의 의사

코드는 그림 3과 같다.

DSPT 알고리즘은 링크 리스트 Q와 노드 리스트 M

을 생성한다. DSPT 알고리즘 의사코드를 살펴보면,

는 소스노드(source node), 를 엔드노드(end node),

는 노드 까지의 최단거리, 는 노드 까지의

최단거리를 의미한다. 는 노드 의 부모 노드,

는 노드 e의 자식노드를 의미하며, 는 가 치가

변경된 링크를 의미한다.

DSPT 알고리즘은 임의의 한 링크의 값이 증가하게

되면 해당 노드의 모든 자식 노드들에 해서만 최단경

로를 다시 계산한다. 왜냐하면 다른 노드들은 새로운 최

단경로 구성에 향을 미치지 않기 때문이다. 이를

계산하기 해 DSPT 알고리즘은 증가 거리(Increased

Value)를 사용하며, 식 (1)과 같다.

(1)

식 (1)에서 , 는 시작 에서 임의의 노드

, 까지 거리이며 ′는 링크의 새로운 값이다. 즉,

노드 , 까지의 거리가 새로운 링크 비용에 의해 얼마

나 증가하는지를 나타낸다. 그러나 DSPT 알고리즘은

계산이 수행되는 과정에서 새로운 링크의 비용에 향

을 받는 노드의 자식 노드들 간의 증가 거리는 배제하

고, 새로운 링크의 비용에 향을 받지 않는 외부노드들

과 향을 받는 노드의 자식노드들 사이의 증가거리만

계산하기 때문에 잘못된 최단경로를 계산하게 된다. 그

림 2와 같이 링크 의 값이 7에서 24로 증가한 경우,

최단경로에 향을 받는 노드들은 노드 의 자식노드들

이다. 따라서 노드 의 자식노드들만 최신화가 되며, 그

결과는 그림 4에서 볼 수 있다. 그러나 그림 4의 DSPT

계산결과에서 링크 와 ( 선 표시)가 포함된 경로

는 최단경로가 아니다. 단지 노드 에서 노드 로 가는

454 정보과학회논문지 : 정보통신 제 38 권 제 6 호(2011.12)

그림 3 DSPT 알고리즘 의사코드

그림 4 DSPT 알고리즘을 용한 결과

그림 5 다익스트라 알고리즘을 용한 결과

무수히 많은 경로 의 하나일 뿐이다. 최단경로는 그림 5

에 나타냈으며, 이 결과는 리 알려진 다익스트라 알고

리즘을 이용하여 체 노드에 해 계산한 결과이다. 따

라서 그림 5와 같이 링크 와 이 경로에 포함되어

야 노드 까지의 최단거리가 23이 되어 최단경로로 설

정이 되는데, 그림 4에서는 링크 와 가 경로에 포

함되어 있지 않다. 링크 와 을 경로에 포함하여 노

드 와 노드 의 최단거리를 계산하면 각각 16과 18로

써 DSPT에서 계산된 17, 19보다 작은 값을 가지게 된

다. 즉, DSPT가 잘못된 최단경로를 제시한 것이다. 이

처럼 DSPT는 최단경로가 아닌 다른 경로를 계산하여

문제를 발생시킨다. 이런 문제 이 발생하는 이유는 최

단경로 계산이 수행되는 노드 의 자식 노드들 간의 증

가 거리를 배제하고 외부노드들로부터 노드 의 자식노

드들로 들어오는 증가거리만을 이용하여 계산하기 때문

이다. 따라서 노드 의 자식노드들 사이에 속한 링크

와 은 DSPT의 최단경로 계산 수행과정에서 제외

되기 때문에 최단경로를 계산하지 못하는 것이다.

3. 제안된 최단경로 설정 알고리즘

3.1 P-DSPT 알고리즘

P-DSPT 알고리즘의 의사코드는 그림 6과 같으며,

incoming links는 변경된 가 치의 향을 받은 노드의

자식노드들로 들어오는 링크, inner nodes는 변경된 가

치를 갖는 링크의 자식노드들을 의미한다. 알고리즘

계산과정의 시작은 DSPT 알고리즘과 동일하다. DSPT

알고리즘을 사용하기 해서는 라우 테이블이 먼

구성되어 있어야 하므로, 다익스트라 알고리즘 수행 후

DSPT 알고리즘을 용하여 그림 4와 같은 결과를 얻

는다. 하지만 2.4 에서 설명했듯이 그림 4는 최단경로

가 아니며, 노드 에서 노드 로 가는 많은 경로 의

하나일 뿐이다. 즉, 잘못된 결과이다. 최단경로 계산을

해 먼 그림 4의 결과를 임시 최단경로라고 정의하

면, 이 임시 최단경로는 링크 비용이 수정된 노드의 자

식 노드들 간의 증가거리에 해서 고려하지 않은 결과

가 된다. 다시 말해서, 링크의 비용이 변경된 노드 의

자식노드들 간의 증가거리를 고려하지 않고 계산된 잘

못된 최단경로이다. P-DSPT 알고리즘은 DSPT 알고리

즘에서 계산된 결과인 임시 최단경로를 수정하여 최단

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 455

그림 6 P-DSPT 알고리즘 의사코드

그림 8 RDSP 알고리즘 의사코드

그림 7 P-DSPT 알고리즘을 용한 결과

경로를 계산하는 형태를 취한다. 따라서 DSPT 알고리

즘 수행과정에 링크의 비용이 변경된 노드의 자식 노드

들 간의 증가거리를 고려한 최단경로 설정 과정이 추가

된다. 즉, 노드 에 한 링크 의 값을 기존의 최단경

로와 비교하여 링크 의 값이 더 작다면 링크 를 최

단경로에 포함하며, 링크 도 마찬가지 방법으로 기존

의 최단경로와 비교하여 링크 의 값이 기존의 최단거

리 보다 작다면 최단경로에 포함한다. 만약 그 지 않다

면 기존의 임시 최단경로를 그 로 사용하면 된다. 그림 7

은 P-DSPT 알고리즘을 수행하여 얻은 결과로써, 그림

4에서 잘못 계산된 최단경로인 링크 와 을 제외하

고, 링크 와 이 포함된 최단경로를 보여 다. 이

결과는 리 알려진 다익스트라 알고리즘을 이용한 결

과인 그림 5와 일치한다. 따라서 P-DSPT 알고리즘은

DSPT 알고리즘에서 잘못 계산된 최단경로를 수정하여

신뢰성 있는 최단경로를 설정할 수 있으며, 계산에 필요

한 노드의 수가 기 때문에 타 알고리즘에 비해 연산

시간이 매우 작다는 장 이 있다.

3.2 RDSP 알고리즘

RDSP 알고리즘의 의사코드는 그림 8과 같으며, 는

앞서와 마찬가지로 증가거리를 의미한다. RDSP 알고리

즘은 P-DSPT 알고리즘과는 달리 임시 최단경로를 사

용하지 않는다 다시 말해서 DSPT 알고리즘을 수행한

후에 얻어지는 최단경로를 수정하는 간 인 형태가

아닌 직 인 형태로 최단경로를 계산한다. 즉, 링크의

456 정보과학회논문지 : 정보통신 제 38 권 제 6 호(2011.12)

비용이 수정되어 최단경로 계산을 다시 시작할 때부터

수정된 링크의 비용에 향을 받는 자식 노드들 사이의

링크 비용도 같이 고려하여, DSPT 알고리즘에서 발생

하는 문제를 제거하는 것이다. 이 문제는 수정된 링크의

비용에 향을 받는 자식 노드들 사이에서 발생하는데,

증가거리에 의해 변화된 최단경로가 자식 노드들 각각

에 서로 향을 주게 되어 자식 노드들의 증가거리를

그 로 사용하게 되면 올바른 최단경로를 계산할 수 없

게 된다. 따라서 RDSP 알고리즘은 수정된 링크의 비용

에 향을 받는 노드들과 그 지 않은 노드들을 분리하

여 알고리즘을 수행한다. 즉, 향을 받지 않은 노드들

은 DSPT 알고리즘과 같은 방법을 사용하고, 향을 받

은 노드들에 해서는 증가거리를 한번 더 용하여 계

산한다. 이 게 되면 서로 향을 주는 자식 노드들 사

이에서도 최단경로를 계산할 수 있게 된다.

를 들어 그림 7의 노드 를 기 으로 보면, 노드

는 수정된 링크의 비용에 향을 받지 않는 노드이며,

노드 는 노드 의 자식노드이므로 수정된 링크의 비용

에 향을 받는 노드이다. 따라서 노드 를 이용하여 최

단경로를 계산할 경우에는 DSPT 알고리즘에서와 같이

증가거리를 용하여 사용하고, 노드 를 계산할 경우에

는 노드 의 값에 증가거리 1을 추가로 더해서 사용하

면 되는 것이다. 결과를 보면 노드 로부터 노드 로 향

하는 최단거리는 21이고, 노드 로부터 노드 로 향하

는 최단거리는 16이 된다. 이 값은 DSPT 알고리즘에

의해 계산된 노드 로부터 노드 로 향하는 최단거리인

17보다 작은 값이다. 따라서 노드 로부터 노드 로 향

하는 경로인 링크 가 최단경로에 포함되어야 하는 것

이다. 노드 에 해서도 RDSP 알고리즘을 용하면,

노드 로부터 노드 으로 향하는 최단거리가 18이 되

어 DSPT 알고리즘에 의해 계산된 노드 로부터 노드

으로 향하는 최단거리인 19보다 작게 되므로 링크

이 최단경로에 포함되게 된다. 즉, RDSP 알고리즘을

수행한 후에도 그림 7과 같은 결과를 얻을 수 있으며

이는 다익스트라 알고리즘 수행 결과와 동일하다.

4. 성능분석 시뮬 이션 결과

제안된 P-DSPT과 RDSP 알고리즘의 성능분석은 기

존의 정 알고리즘인 다익스트라 알고리즘과 동 알

고리즘인 DSPT 알고리즘 BS 알고리즘과 비교하

다. 제안된 알고리즘의 공정한 성능분석을 해 노드의

개수(graphic size), 수정된 링크 비용의 변화율, 링크

비용의 편차 등을 변화시켜 다양한 환경에서 시뮬 이

션을 수행하 으며, 최단경로를 찾기 한 동 알고리

즘의 경우 어떤 링크에서 링크 비용이 변경되었는지에

따라 계산 시간의 차이가 발생하므로 각 링크에 ID를

부여하여 링크 비용이 변경된 치에 따른 성능을 비교

하 다. 알고리즘의 성능을 비교하기 한 척도는 알고

리즘 실행시간이다.

성능분석 시뮬 이션에 사용된 시스템은 Intel

Dual-Core 2.40Ghz 클럭으로 동작하며 2Gbyte 크기의

메모리를 사용한다. Visual Studio 2008을 사용하 으

며, 알고리즘 연산의 성능비교를 하여 Clock() 함수를

사용하여 로그램의 수행시간을 측정하고 로그램별

각 10회 반복 측정 후 평균시간을 계산하 다,

4.1 제안된 알고리즘의 성능분석을 한 고려사항

알고리즘 성능분석을 한 매개변수로 노드의 개수,

수정된 링크 비용의 변화율, 그리고 링크 비용의 편차를

사용하여 결과를 측정하 다. 한 동 알고리즘이란

특성을 고려하여 변경된 링크 비용을 갖는 링크의 치

에 따른 성능을 추가로 비교하 다.

4.1.1 노드의 개수

모든 시뮬 이션 결과는 50, 100, 150, 200개의 노드

를 가지는 그래 상에서 측정하 다. 따라서 수정된 링

크 비용의 변화율과 링크 비용의 편차에 따른 결과를

다양한 노드의 개수를 가지는 그래 에서 측정하여 결

과를 비교하 다.

4.1.2 수정된 링크 비용의 변화율

본 논문에서는 링크 비용이 7에서 24로 변경된 경우

를 시로 제시하 다. 링크 비용의 변화에 따라 최단경

로를 계산하는 시간이 달라질 수 있으므로 링크 비용

변화에 따른 성능 비교는 반드시 필요하다. 링크 비용을

50%, 100%, 200%, 300%로 변화시키면서 시뮬 이션

하 다.

4.1.3 링크 비용의 편차

링크 비용의 편차 한 알고리즘의 계산에 향을 미

칠 수 있으므로, 링크 비용 평균을 기 으로 편차를 달

리하여 성능을 비교하 다. 링크 비용의 평균은 10이 되

도록 하 으며, 이 때의 편차를 각각 5, 10, 15, 20으로

변화시키면서 시뮬 이션 하 다.

4.1.4 변경된 링크 비용을 갖는 링크의 치

마지막으로 수정된 링크 비용을 갖는 링크의 치에

따른 성능을 비교하 다. 정 알고리즘은 한 링크의 비

용이 변화되더라도 체 네트워크의 최단경로를 다시

계산하므로, 링크 비용이 변경된 링크의 치에 따라 계

산시간이 바 지 않으며, 언제나 일정한 값을 가진다.

그러나 동 알고리즘은 변경된 링크 비용을 갖는 링크

의 치가 최종 목 지에 가까울수록 다시 계산해야 하

는 경로가 어들기 때문에 계산량이 어들고 계산시

간이 빨라지게 된다. 따라서 모든 링크에 ID를 부여하

여 해당 링크의 비용이 변경되었을 때의 계산시간을 비

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 457

(a) 링크비용 50% 증가 (b) 링크비용 100% 증가

(c) 링크비용 150% 증가 (d) 링크비용 200% 증가

그림 9 링크비용 변화율에 따른 성능 비교

교하 다. 이 때 노드의 수는 100개로 고정하고 각각의

링크를 생성하여 시뮬 이션 하 다.

4.2 시뮬 이션 결과

4.1에서 제시한 고려사항을 시뮬 이션에 용하여 성

능을 비교하 다. 그림 9의 (a), (b), (c), (d)는 노드의

개수가 50, 100, 150, 200개로 증가할 때 링크 비용 변

화율에 따른 비교를 나타낸다. (a)는 50%, (b)는 100%,

(c)는 200%, (d)는 300% 만큼 링크 비용을 변화시켰다.

체 으로 노드의 개수가 증가할수록 최단경로 계산

시간이 늘어남을 볼 수 있다. 링크 비용의 변화율이 작

을 경우에는 최단경로 계산시간이 비교 선형 으로

늘어나지만 링크 비용의 변화율이 커질수록 최단경로가

수정되는 경우가 많이 발생하기 때문에 최단경로 계산

시간이 다소 불규칙하게 늘어나는 것을 확인할 수 있다.

알고리즘별로는 본 논문에서 제안한 P-DSPT과 RDSP

알고리즘이 기존의 다익스트라 알고리즘에 비해 성능이

좋은 것을 확인할 수 있다. 하지만 DSPT 알고리즘에

비해서는 수행시간이 최 12% 증가하는데, 이는 DSPT

알고리즘에 정확한 최단경로를 계산하기 한 과정이

추가되었기 때문이다. 비록 DSPT 알고리즘의 수행시간

이 가장 작더라도, DSPT 알고리즘은 정확한 최단경로

를 구할 수 없으므로 좋은 알고리즘이라 할 수 없다.

그림 10의 (a), (b), (c), (d)는 노드의 개수가 50, 100,

150, 200개로 증가할 때 링크 비용 편차에 따른 비교를

나타낸다. (a)는 σ=5, (b)는 σ=10, (c)는 σ=15, (d)는 σ

=20으로 하여 시뮬 이션 하 다. 그림 10과 마찬가지

로 노드의 개수가 증가할수록 최단경로 계산시간이 늘

어나며, 링크 비용의 편차가 클수록 계산시간이 늘어나

는 것을 확인할 수 있다. 알고리즘 성능 역시 P-DSPT

과 RDSP 알고리즘이 기존의 다익스트라 알고리즘에 비

해 최 14%, 21% 좋은 것을 확인할 수 있다.

그림 11은 변경된 링크 비용을 갖는 링크의 치에

따른 성능을 비교한 그림이다. 정 알고리즘인 다익스

트라 알고리즘은 링크 비용이 변경된 링크의 치에 상

없이 일정한 계산시간을 가진다. 그러나 동 알고리

즘인 P-DSPT, RDSP, DSPT 알고리즘은 링크 비용이

변경된 링크의 치에 따라 계산시간이 확연한 차이를

보인다. 최단 경로의 출발지 부근에서 링크 비용이 변경

된 경우에는 동 알고리즘들의 계산시간이 정 알고

리즘인 다익스트라 알고리즘의 최단 경로 계산시간 보

다 더 많이 소요된다. 그러나 최단경로의 목 지로 갈수

록 새로운 최단경로 계산에 포함되는 노드의 수가 어

458 정보과학회논문지 : 정보통신 제 38 권 제 6 호(2011.12)

(a) σ=5 (b) σ=10

(c) σ=15 (d) σ=20

그림 10 링크비용 편차에 따른 성능 비교

그림 11 변경된 링크의 치에 따른 성능 비교

지므로 다익스트라 알고리즘에 비해 동 알고리즘들의

최단경로 계산시간이 어들게 된다.

5. 결론 향후 연구 과제

본 논문에서는 네트워크의 최단경로 계산을 한 동

알고리즘인 P-DSPT 알고리즘과 RDSP 알고리즘을

제시하 다. 이런 동 알고리즘은 수정된 링크의 비용

이 향을 주는 노드만을 찾아내어 계산하여 최단경로

계산량을 일 뿐만 아니라 계산시간도 일 수 있다.

한 최단경로의 일부분만을 수정하여 네트워크 라우

테이블의 구성에 향을 게 미치기 때문에 매우 안정

이라 할 수 있다. 동 알고리즘 기존의 DSPT 알

고리즘은 링크의 비용이 증가할 경우 일부 잘못된 계산

을 하여 정확한 최단경로를 계산할 수 없으므로, 본 논

문에서는 이를 개선하여 신뢰성 있는 최단경로를 계산

하는 P-DSPT과 RDSP 알고리즘을 소개하 다.

제안된 알고리즘들은 노드의 개수, 수정된 링크 비용

의 변화율, 그리고 링크 비용의 편차 등을 변화시켜 다

양한 환경에서 성능을 비교하 으며, 특히 동 알고리

즘의 특성을 고려하여 변경된 링크 비용을 갖는 링크의

치에 따른 성능 비교를 하 다. 제안된 알고리즘들은

정 알고리즘인 다익스트라 알고리즘 보다 최단경로

계산시간이 단축되어 성능 향상이 있었지만, 동 알고

리즘인 DSPT 알고리즘 보다는 계산시간이 증가하 다.

그러나 DSPT 알고리즘은 일부 잘못된 최단경로를 계

산하는 반면, 제안된 알고리즘들은 항상 신뢰성 있는 최

단경로를 계산하 다.

향후에는 하나의 링크 비용이 수정된 경우가 아닌 여

러 링크의 비용이 수정된 경우에 최단경로를 보다 빠르

고 정확하게 계산할 수 있는 알고리즘에 한 연구가

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 459

필요하다. 한 네트워크 토폴로지 변경 시 빠르게 최단

경로를 재탐색하는 IPFRR(IP Fast Re-Route)을 동

라우 알고리즘에 용하는 연구가 필요하다.

참 고 문 헌

[ 1 ] W. Stalling, "High-Speed Networks: TCP/IP and

ATM Design Principles," Prentice Hall, Inc., 1998.

[ 2 ] G. Malkin, "RIP Version 2," Request for Comments

2453, Nov. 1998.

[ 3 ] J. Moy, "OSPF Version 2," Request for Comments

2328, Apr. 1998.

[ 4 ] R. Chandra and J. Scudder, "Capabilities Advertise-

ment with BGP-4," Request for Comments 2842,

May. 2000.

[ 5 ] R. Bellman, "On a routing problem," Quarterly

Appl. Math., vol.16, pp.87-90, 1958.

[ 6 ] E. Dijkstra, "A note two problems in connection

with graphs," Numerical Math., vol.1, pp.269-271,

1959.

[ 7 ] Thomas H. Cormen, Charles E. Leiserson, Ronald

L. Rivest, and Clifford Stein, "Introduction to

Algorithms Second Edition," The MIT Press, 2001.

[ 8 ] Bin Xiao, Jiannong Cao, Zili Shao, and Edwin

H.-m. sha, "An Efficient Algorithm for Dynamic

Shortest Path Tree Update in Network Routing,"

Journal of Communication and Networks, vol.9,

no.4, pp.499-510, Dec. 2007.

[ 9 ] G. Ramalingam and T.W. Reps, "An Incremental

Algorithm for a Generalization of the Shortest-

Path Problem," J. Algorithms, vol.21, no.2, pp.267-

305, 1996.

[10] D. Frigioni, A. Marchetti-Spaccamela, and U.

Nanni, "Fully Dynamic Algorithms for Maintaining

Shortest Paths Trees," J. Algorithms, vol.34, no.2,

pp.251-281, 2000.

[11] P. Narvaez, K. Siu, and H. Tzeng, "New dynamic

SPT algorithm based on a ball-and-string model,"

IEEE/ACM Trans. Netw., vol.9, no.6, pp.706-718,

Dec. 2001.

[12] Edward P.F. Chan and Yaya Yang, "Shortest Path

Tree Computation in Dynamic Graphs," IEEE

Trans. on computers, vol.58, no.4, Apr. 2009.

[13] V. Eramo, M. Listanti, and A. Cianfrani, "Design

and Evaluation of a New Multi-Path Incremental

Routing Algorithm on Software Routers," IEEE

Transactions on Network. and service manage-

ment, vol.5, no.4, Dec. 2008.

조 태 환

2001년 2월 인하 학교 항공우주공학과

졸업(학사). 2009년 3월〜 재 인하 학

교 자공학과 통합과정. 심분야는 컴

퓨터 네트워크, 항공 자시스템, 항공교

통 제시스템

김 지 원

2007년 건양 학교 자정보공학과 졸업

(학사). 2009년 인하 학교 자공학과

졸업(석사). 2010년~ 재 인하 학교

자공학과 박사과정. 심분야는 멀티미디

어 통신, 무선 통신, 컴퓨터 네트워크

김 병 조

2010년 인하 학교 자공학과 졸업(학

사). 2011년~ 재 인하 학교 자공학

과 석사과정. 심분야는 컴퓨터 네트워

크, 컴퓨터 구조, System on Chip

윤 완 오

2000년 경기 학교 자공학과 졸업(학

사). 2002년 인하 학교 학원 자공학

과 졸업(석사). 2010년 인하 학교 학

원 자공학과 졸업(박사). 2010년~ 재

인하 학교 정보 자공동연구소 연구교

수. 심분야는 병렬 분산 처리 시스

템, 컴퓨터 아키텍처

최 상 방

1981년 한양 학교 자공학과 졸업(학

사). 1981년~1986년 LG 정보통신(주)

1988년 University of washinton 졸업

(석사). 1990년 University of washinton

졸업(석사). 1991년~ 재 인하 학교

자공학과 교수. 심분야는 컴퓨터 아키

텍처, 컴퓨터 네트워크, 무선 통신, 병렬 분산 처리 시스

템, Fault-tolerant Computing