AS_PATH Attribute는 EBGP로 Update할 때, Sender의 AS 정보를 추가한다고 앞에서 설명하였다. 그럼, AS_PATH Attribute를 사용하여 BGP에서 무엇을 할 수 있는지 살펴보기로 하자.

  첫째, AS_PATH Attribute는 Routing Loop을 막기 위한 용도로 사용한다.

  만약에 우리 AS를 거쳐 Update 되었던 Network이 다른 경로로 다시 우리 AS로 유입되었는데 bestpath가 된다면 Routing Loop이 발생하게 될 것이다. 예를들어, 다음 그림처럼 만일 R3가 R7에게 받은 Nework Update 정보를 bestpath로 선출하게 되면 Loop이 발생하게 된다.

그래서, 이것을 막기 위한 방법이 필요한데, 그때 사용하는 것이 AS_PATH Attribute이다.BGP는 Routing Loop을 막기 위해 AS_PATH Attribute 내에 자신의 AS의 정보가 있으면 Filter를 하도록 하였다.

  즉, 위 그림에서 R7이 R3에게 Update 정보를 보낼 때, AS_PATH Attribute의 값은 ‘[4][3][2][1]’로 되어 있을 것이다. 그런데, R3는 자신의 AS인 ‘2’가 AS_PATH Attribute 내에 포함되어 있기 떄문에, 이미 자신의 AS를 거쳐갔던 Network 정보라는 것을 인지하고 차단하게 된다.

  만일, 정책상 자신의 AS가 AS_PATH Attribute 내에 존재하더라도 Update를 받도록 설정하여야 하는 경우는 ‘neighbor neighbor_IP_address allowas-in number‘ 명령어를 사용할 수 있다. 또한, AS_PATH Attribute에 자신의 AS가 포함되었는지 확인하는 것은 EBGP Update에서만 동작하기 때문에 IBGP로 Update할 때는 명령어를 설정하지 않아도 아무 문제 없이 Update가 이루어진다.

  둘째, AS_PATH Attribute는 BGP에서 bestpath를 선출하는 기준으로 사용된다.

  BGP는 bestpath를 선출할 때, 여러 단계를 순차적으로 진행하게 되는데 그 단계 중 AS_PATH Attribute 내에 AS 개수를 비교하는 단계가 있다. 만일, bestpath를 선출하는데 이 단계까지 진행하게 된다면 BGP는 AS_PATH Attribute 내에 AS 개수가 작은 Network을 best로 선출한다.

  이는 마치 RIP에서 Hop Count를 비교하는 것과 매우 유사하다. RIP은 Router를 Hop으로 계산하는 반면, BGP는 AS를 하나의 Hop으로 간주하는 것이다.

이 때, bestpath를 선출하는 단계에서 AS_PATH Attribute 값을 비교하는 단계를 건너 뛰고자 하는 경우에는 ‘bgp bestpath ignore as-path’ 명령어를 사용할 수 있지만, 특수한 경우가 아니고서는 권장하지 않는다.

이 외에도 AS_PATH Attribute는 BGP 정책을 수립하고자 하는 경우에도 사용할 수 있는데, 이 부분은 추후에 Filtering 기술을 설명하는 세션에서 다루기로 하자.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.