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

10
450 정보과학회논문지 : 정보통신 제 38 권 제 6 (2011.12) 이 논문은 정부(교육과학기술부)의 재원으로 한국연구재단의 중점연구소 지원사업으로 수행된 연구임(2011-0018394) †† ††† 학생회원 정 회 원 종신회원 논문접수 심사완료 : : : : : 인하대학교 전자공학과 [email protected] [email protected] [email protected] 인하대학교 전자공학과 교수 [email protected] 인하대학교 전자공학과 교수 [email protected] 201175201199Copyright2011 한국정보과학회ː개인 목적이나 교육 목적인 경우, 이 저작 물의 전체 또는 일부에 대한 복사본 혹은 디지털 사본의 제작을 허가합니다. 이 때, 사본은 상업적 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처 를 반드시 명시해야 합니다. 이 외의 목적으로 복제, 배포, 출판, 전송 등 모든 유형의 사용행위를 하는 경우에 대하여는 사전에 허가를 얻고 비용을 지불해야 합니다. 정보과학회논문지: 정보통신 제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]. 오늘날 인터넷은 수백만 개의 호스트로 구성됨으로, 각 호스트의 라우팅 정보를 저장 하기 위해서는 막대한 양의 메모리가 필요하다. 또한 인

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

Page 1: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

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

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

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

††

†††

학생회원

정 회 원

종신회원

논문 수

심사완료

:

:

:

:

:

인하 학교 자공학과

[email protected]

[email protected]

[email protected]

인하 학교 자공학과 교수

[email protected]

인하 학교 자공학과 교수

[email protected]

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]. 오늘날 인터넷은 수백만 개의

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

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

Page 2: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 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과 같다.

Page 3: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

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를 사용한다는

도 큰 문제가 된다.

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

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

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

Page 4: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 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

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

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

Page 5: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

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 알고리

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

Page 6: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 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 알고리즘을 수행한

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

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

Page 7: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

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를 부여하

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

Page 8: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 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 알고리즘은 링크 비용이

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

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

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

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

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

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

Page 9: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

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 알고리즘은 일부 잘못된 최단경로를 계

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

단경로를 계산하 다.

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

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

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

Page 10: 동적 라우팅 알고리즘의 신뢰성 향상을 위한 최단 경로 설정 ...서 DSPT, 다익스트라 알고리즘 등과 성능을 비교하였으며, 최대 17%의 성능

동 라우 알고리즘의 신뢰성 향상을 한 최단 경로 설정 알고리즘 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