본문 바로가기

Library/Computer Network

Path Vector Routing

거리 벡터와 링크 상태 라우팅은 모두 도메인 내부 라우팅 프로토콜이다. 그들은 AS 내에서 사용되나 자율 시스템 간에는 사용되지 않는다. 이 두 프로토콜은 확장성으로 인해 도메인 간 라우팅에는 대부분 적합하지 않다. 이 라우팅 프로토콜 모두 동작하는 도메인이 크게 되면 다루기 어렵게 된다. 거리 벡터 라우팅은 동작하는 도메인에 수 홉 이상이 존재하게 되면 불안정해질 수 있다. 링크 상태 라우팅은 라우팅 테이블을 계산하기 위해 아주 많은 양의 자원을 필요로 하게 된다. 또, 플러딩으로 인해 많은 트래픽을 유발할 수도 있다. 따라서, 제 3의 라우팅 프로토콜이 필요한데, 이거을 경로 벡터 라우팅(Path Vector Routung)이다.

경로 벡터 라우팅은 도메인 간 라우팅에 유용한 것으로 증명되었다. 경로 벡터 라우팅의 원리는 거리 벡터 라우팅과 유사하지만, 경로 벡터 라우팅에서 전체 AS를 대신하여 활동하는 단 하나의 노드(여러 개 존재 할 수도 있다)가 AS 내에 있다고 가정한다. 이것을 스피커 노드(Speaker Node)라 부른다. AS의 스피커 노드는 라우팅 테이블을 생성하고 이를 이웃 AS에 있는 스피커 노드들에게 전파한다. 각 AS에서 하나의 스피커 노드만이 다른 것들과 통신 할 수 있다는 것을 제외하고는 거리 벡터 라우팅과 동일하다. 그러나 알려주는 것은 서로 다르다. 스피커 노드는 노드의 메트릭이 아니라 AS 내의, 혹은 다른 AS로의 경로를 알려준다.

스피커 노드는 자신의 테이블(메트릭이 아니라, 다른 스피커 노드들에게 도달하기 위한 AS로의 경로)을 이웃들과 공유한다. 스피커 노드가 초기화 될 때는 자신의 AS 내에 있는 노드들에 대해서만 경로를 알 수 있다(당연히, 자신의 AS로의 경로이다)


루프 방지 : 거리 벡터 라우팅에서 일어나는 불안정성과 루프의 생성은 경로 벡터 라우팅에서는 해결 될 수 있다. 라우터가 메시지를 수신하면, 라우터는 목적지까지의 경로 목록에 해당 AS가 있는지 알아본다. 만약 존재한다면, 루프가 일어난 것이므로 메시지를 무시한다.

정책 라우팅 : 이것 역시 경로 벡터 라우팅을 통해 쉽게 구현된다. 라우터가 메시지를 수신하면 경로를 검사한다. 만약 경로 상에 있는 AS 중 하나가 정책에 위반되면, 해당 경로와 목적지를 무시하는 방식으로 라우팅을 통제 할 수 있다. 즉, 이 경로에 대한 라우팅 테이블을 갱신하지도 않으며, 이웃에 전송하지도 않는다.