본문 바로가기
Network Know-how 기록하기

[Cisco]BGP Null Routing 활용

by 네트워크 엔지니어 환영 2022. 5. 5.
반응형

BGP가 경로를 광고하는 조건

  • BGP는 IGP와 달리 자신이 가지고 있지 않은 대역이라 하더라고 광고하는 것이 가능
  • 이에 대한 전제 조건이 있음
  • BGP를 이용해 광고하려는 네트워크 대역이 반드시 라우터의 라우팅 테이블에 존재해야 함
  • BGP를 이용해 광고하려는 네트워크의 프리픽스와 라우터의 라우팅 테이블 내 프리픽스가 일치해야 함
    • 이 부분은 BGP 설정 중 'auto summary'의 활성화 여부에 따라 달라지며 'no auto summary'의 경우 반드시 일치할 필요가 있음
  • 예를 들어 '123.111.43.x/24'를 라우터가 광고하고자 할 경우, 해당 대역이 'Connected' Network이거나 Static Routing / Dynamic Routing 등에 의해 경로가 설정되어 라우팅 테이블에 해당 라우팅이 존재해야 함

 

BGP 광고 조건으로 인한 리소스 소모

  • 사용하고자 하는 경로를 모두 라우팅 테이블에 존재하는 것은 심각한 문제에 당면하게 됨
  • 수많은 라우팅 경로가 존재하는 인터넷의 라우터들 사이에서 위의 '123.111.43.x/24'처럼 잘게 쪼개진 라우팅을 필요할 때마다 일일이 광고하는 것은 수많은 라우팅 경로를 생성하게 되는 것
  • 이는 다시 말하면 지저분해지는 라우팅 테이블에 더해 라우터들의 극심한 리소스 소모로 직결됨
  • 이를 해결하기 위해 Null Routing을 활용함

 

Null Routing 선언

  • 위에서 언급한 것처럼 BGP 광고 조건은 라우팅 테이블에 라우팅이 존재하는 것
  • 이를 역으로 이용하면 일단 사용하지 않는, 보다 더 큰 IP 대역을 라우팅 테이블에 올려두고 필요한 라우팅을 조금씩 추가하는 것이 가능하다는 것을 의미
    • 라우팅 테이블에 큰 대역의 라우팅만을 남겨두기 위한 목적
  • 예를 들어 '123.111.x.x/16'을 라우팅 테이블에 올려두고 '123.111.1.x/24' 대역이 필요하면 '123.111.1.x/24' 라우팅을 추가하고, '123.111.2.x/24' 대역이 필요하면 '123.111.2.x/24' 라우팅을 추가(필요에 따라 지속 추가)
  • 라우팅이라는 것은 결국 또다른 홉에게 패킷을 넘기는 것을 의미하기 때문에 라우팅을 하지 않고 라우팅 테이블에만 올려두기 위해 Null Routing을 활용함
  • 본디 Null Routing은 Null이라는 가상의 인터페이스로 패킷을 넘기는, 필터링의 역할을 하지만 여기선 단순 라우팅 테이블에 라우팅 정보를 '올려두는 것'에만 활용하기 위해 사용
    • Null Routing이 설정된 라우터에 실제로 사용되는 더 작은 크기의 라우팅이 존재하기 때문에 패킷이 필터링처리 되지 않음
  • 다른 AS로부터 BGP 라우팅 정보를 넘겨받는 입장에서는 '123.111.x.x./16'만 라우팅 테이블에 존재하게 되고 패킷을 넥스트 홉(123.111.x.x./16을 광고하는 라우터)으로 넘기면 넥스트 홉의 라우팅 테이블엔 '/24'로 쪼개진 라우팅 테이블이 존재하기에 그 라우팅 테이블을 이용함

 

Null Routing 활용

  • Null Routing을 사용하지 않을 경우, 'AS 20' 내의 라우터가 하나씩 추가되며 '/24' 라우팅이 지속적으로 추가되면 AS 10 내 R1 라우터의 라우팅 테이블엔 BGP '/24' 라우팅이 지속적으로 추가됨
  • R2 라우터에 'Null Routing'을 추가하여 R1의 라우팅 테이블이 '/16'로 유지될 수 있도록 하면서 R2 라우터에 '/24' 라우팅이 추가될 때마다 EIGRP로 라우팅을 추가하여 롱기스트 매치 룰에 의해 라우팅될 수 있도록 설정

R1 Router

R1 설정
router bgp 10
 no synchronization
 bgp log-neighbor-changes
 network 123.222.43.0 mask 255.255.255.0
 neighbor 10.10.10.2 remote-as 20
 no auto-summary

R1 라우팅 테이블
C     10.10.10.0 is directly connected, FastEthernet0/1
     123.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
B     123.111.0.0/16 [20/0] via 10.10.10.2 ->> R2가 /16 라우팅만을 전달하기 때문에 R1은 하나의 라우팅만 있으면 됨, 실상은 R2가 내부에서 EIGRP로 여러개의 라우팅을 활용하고 있음
C     123.222.43.0/24 is directly connected, Loopback0

 

R2 Router

R2 설정
router bgp 20
 no synchronization
 bgp log-neighbor-changes
 network 123.111.0.0 mask 255.255.0.0
 neighbor 10.10.10.1 remote-as 10
 no auto-summary


ip route 123.111.0.0 255.255.0.0 Null0

router eigrp 10
 redistribute bgp 20 metric 100 1 255 1 1500
 network 10.10.20.0 0.0.0.3
 network 10.10.30.0 0.0.0.3
 network 123.111.42.0 0.0.0.255
 no auto-summary

R2 라우팅 테이블
C       10.10.10.0 is directly connected, FastEthernet0/1
C       10.10.20.0 is directly connected, Serial2/1
C       10.10.30.0 is directly connected, Serial2/2
     123.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
S       123.111.0.0/16 is directly connected, Null0
D       123.111.44.0/24 [90/2297856] via 10.10.30.2, Serial2/2 < -- 롱기스트 매치 룰 적용
C       123.111.42.0/24 is directly connected, Loopback0
D       123.111.43.0/24 [90/2297856] via 10.10.20.2, Serial2/1 < -- 롱기스트 매치 룰 적용
B       123.222.43.0/24 [20/0] via 10.10.10.1, 00:40:07

 

R3 Router

R3 설정
router eigrp 10
 network 10.10.20.0 0.0.0.3
 network 123.111.43.0 0.0.0.255 no auto-summary

R3 라우팅 테이블
    10.0.0.0/30 is subnetted, 2 subnets
C     10.10.20.0 is directly connected, Serial2/1
D     10.10.30.0 [90/2681856] via 10.10.20.1, Serial2/1
    123.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
D EX     123.111.0.0/16 [170/26112256] via 10.10.20.1, Serial2/1
D     123.111.44.0/24 [90/2809856] via 10.10.20.1, Serial2/1
D     123.111.42.0/24 [90/2297856] via 10.10.20.1, Serial2/1
C     123.111.43.0/24 is directly connected, Loopback0
D EX     123.222.43.0/24 [170/26112256] via 10.10.20.1, Serial2/1

 

R4 Router

R4 설정
router eigrp 10
 network 10.10.30.0 0.0.0.3
 network 123.111.44.0 0.0.0.255
 no auto-summary

R4 라우팅 테이블
    10.0.0.0/30 is subnetted, 2 subnets
D     10.10.20.0 [90/2681856] via 10.10.30.1, 00:34:58, Serial2/1
C     10.10.30.0 is directly connected, Serial2/1
    123.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
D EX     123.111.0.0/16 [170/26112256] via 10.10.30.1, 00:34:58, Serial2/1
C     123.111.44.0/24 is directly connected, Loopback0
D     123.111.42.0/24 [90/2297856] via 10.10.30.1, 00:34:58, Serial2/1
D     123.111.43.0/24 [90/2809856] via 10.10.30.1, 00:34:58, Serial2/1
D EX     123.222.43.0/24 [170/26112256] via 10.10.30.1, 00:35:01, Serial2/1
반응형

'Network Know-how 기록하기' 카테고리의 다른 글

[TCP]'TCP TIME_WAIT' & 'TCP Port number reused'  (2) 2023.01.15
[Cisco]Catalyst 9K License(with EIGRP)  (0) 2022.12.11
[Cisco]TACACS+  (0) 2022.03.05
[Cisco]Netflow  (0) 2021.12.07
[Aruba]802.1x 인증 & MAB  (0) 2021.11.25

댓글