본문 바로가기

네트워크/BGP

ROUTE-MAP

BGP는 Bandwith로 경로를 정하는 IGP와 달리 정책기반의 Routing protocol이기 때문에 사용자의 정책이 상당히

중요함 그렇기에 라우팅에 정책을 부여할수 있는 Route-map이 상당히 중요함

 

Route-Maps Overview

  1. Route-Map은 복잡한 라우팅 정책, filtering 추가를 위해 사용한다 

  2. Route-Map은 대.소문자를 구분하는 유일한 이름을 사용해야 한다

  3. 각 각의 Route-Map은 하나 또는 여러개의 Statement로 구성된다

  4. 각 각의 Statement는 0개 또는 여러개의 Match command로 구성된다

  5. 각 각의 Statement는 0개 또는 여래개의 Set command로 Routing update를 조정하도록 구성된다

 

Route map 흐름도

BGP Route-Map Route plicy

  Route-Map은 statement의 이름이 같다면 여러개의 Statement가 하나의 Route-Map을 구성함 

  Route-Map은 Classification 하게 동작하기 때문에 Statement에 맞지 않는다고 Drop을 시키는 것이 아니라

     다음 Statement로 넘어감

  Route-Map을 생성하면 별도의 Match 조건을 설정하지 않는 이상 Match any가 Default임

  Route-Map의 조건에 하나도 Match 되지 않는다면 해당 네트워크는 Drop이 default임

 

예제를 통하여 자세히 알아보자

첫번째 보라색 박스의 두번째 Route map은 10이 아니라 20이다

간단히 생각해서 Route-map은 Match되지 않는 rule은 모두 deny이기 때문에 Permit을 넣어주면 잘 될것이라

생각하기 쉽다.

 

하지만 원했던 결과와 달리 모든 트래픽이 Permit 되어 버리는데 그 이유는 간단하다

ACL에서의 Deny는 트래픽의 Block을 의미하는 것이 아닌 해당 Rule에서의 제외를 의미한다

그럼 제외된 트래픽은 어떻게 되는가? 

바로 다음 Statement로 넘어가겐된다 즉 10.1.1.0/24는 Route-map AAA 10번 statement에서 제외되어

Route-map 20번 Statement로 내려가게 되고 20번 Statement에도 Match 되지 않아

990번으로 가게 되어 permit all의 적용을 받아 버리게 된다

 

그럼 과연 목표하는 결과를 얻기 위해서는 ACL을 어떻게 설정해야 할것인가? 고민이 필요한지점인데

위와 같이 처음 생각 했던 것과 반대로 넣었더니 목표와 같이 동작한걸 알 수 있다

Route-map의 Deny에 의해 10.1.1.0/24는 Block되고 10.0.0.0/8은 ACL의 deny에 의해

Route-map의 Statement 10번에서 제외되어 20번으로 내려가 된다 

 

이렇게 원하는 결과를 얻을 수 있었다.

 

 

 

'네트워크 > BGP' 카테고리의 다른 글

BGP Bestpath  (0) 2021.10.22
BGP attribute  (0) 2021.10.18
BGP message & attribute  (0) 2021.10.08
BGP FSM  (0) 2021.10.08
BGP overview  (0) 2021.09.28