네트워크/Routing Protocol - OSPF

OSPF Route Filtering (Area filtering, Local filtering)

고미-고미 2022. 3. 29. 17:27
728x90

● OSPF Route Filtering 정의

 

Route Filter 기술은 Neighbor에게 경로정보를 송신 또는 수신 할 때 선택적으로 수행하는 기술 입니다. 해당 기술은 트래픽의 흐름 변경, 메모리 사용율 절감 및 보안성 강화의 목적으로 사용 됩니다.

 

OSPF는 동일 Area 안에 있는 라우터는 동일한 LSDB를 공유하기 때문에 Filtering을 수행하는 위치는 경로가 유입되는 ABR 이고, filtering의 결과는 중첩 됩니다. 

 

 OSPF Route Filtering 수행 방법


  1) not-advertise keyword 사용
   
경로 축약 수행 시 not-advertise 키워드를 사용하여 특정 경로 정보를 광고에서 제외 (LSA Type 1 →  LSA Type 3으로 변환 제외) 하는 방법 입니다. 다른 Area로 넘어가지 않고 해당 경로를 광고한 Local Area에서만 경로정보가 광고 됩니다.

 

not-advertise 명령어를 사용하기 위한 전체 구조 입니다. 

router(config-router)#area area-id range network subnetmask not-advertise

 

not-advertise 를 이용한 경로 filtering 수행 방법


R1에서 3개의 네트워크 대역을 광고하고 R2는 Area 12에서 발생되는 LSA Type 1 정보를 필터링하여 Area 0에게 전달 할 수 있습니다

 

 

R2에서 특정 네트워크 대역에 대해 not-advertise keyword를 추가하여 광고에서 제외 하였습니다. R3에서 라우팅 테이블을 확인해보면 172.16.2.0/24 대역이 사라진것을 확인 할 수 있습니다.

 

 

 

  2) Area Filtering (Using prefix-list & filter-list)

 

경로 축약시 not-advertise 키워드를 사용하면 쉽게 filtering이 가능하지만 다른 Area에서 들어온 경로 정보는 not-keyword 사용이 불가능합니다. 

 

172.16.1.0/24 네트워크가 Area 0에서는 필요하지만 Area 34에서는 필요하지 않을 경우 기존의 경로축약 방법에서는 해당 경로를 제외하고 광고할 수 있는 방법이 없습니다. 

 

ABR에서 LSA Type 3을 filering 하여 다른 Area로 특정 대역에 대한 정보전달을 제어할 수 있습니다. 이를 Area filtering 이라고 부릅니다.  

 

 

area filtering 수행하기 위한 위한 전체 명령어 구조 이며, filter-list를 사용합니다.

router(config-router)#area area-id filter-list prefix prefix-list-name {in | out}

 

  • R1은 172.16.1.0/24, 172.16.2.0/24, 172.16.3.0/24 3개의 Network 대역을 OSPF를 통해 광고
  • R2는 172.16.1.0/24 Network가 불필요 (Area 12의 정보가 Area 0에 들어올 때 특정 대역 제거, 방향성 in)
  • R3은 172.16.2.0/24 Network가 불필요 (Area 0의 정보가 Area 34로 내보낼 때 특정 대역 제거, 방향성 out)

 

Area filtering 설정 이후 라우팅 테이블을 확인 해 보면, Area 0에 속해있는 장비 R2 & R3 에서는 172.16.1.0/24 대역이 사라진 것을 확인 할 수 있으며, Area 34에 속해 있는 장비 R4에서는 172.16.2.0/24 대역이 사라진 것을 확인 할 수 있습니다.

 

 

 

  3) Local OSPF Filtering (Using access-list & distribute-list)

 

OSPF는 Link State Protocol로 동일한 Area에 속해 있는 장비는 모두 동일한 LSDB를 공유합니다. 하지만 특별한 사유에 의해서 특정 경로만 라우팅 테이블에서 제외가 필요할 경우 distribute-list를 사용하여 제외 시킬 수 있습니다.

 

OSPF Process 아래에서 distribute-list를 이용하면 LSDB에는 Neighbor로 부터 수신한 경로 정보가 존재하나 Local Routing Table에서만 경로정보가 삭제 됩니다.  

 

router(config-router)#distribute-list {acl-number | acl-name | prefix prefix-list-name | route-map route-map-name} in

 

 

distribute-list의 영향은 local routing table로 한정되고 neighbor에게 영향을 미치지 않습니다. 주의해야 할 점은 distribute-list와 filter-list를 같이 사용하면 안됩니다.

 

 

라우팅 테이블을 확인해 보면 R2에서는 172.16.3.0/24 대역은 라우팅 테이블에서 보이지 않지만 R3에서는 해당 대역이 라우팅 테이블에 존재하는 것을 확인 할 수 있습니다.

 

 

728x90