• BGP는 디스턴스 벡터 라우팅 프로토콜로 Routing Loop을 방지하기 위한 메커니즘으로 Split Horizion Rule이 적용되며, 룰은 다음과 같다 'iBGP 라우터는 iBGP를 통해 학습된 경로를 다른 iBGP 피어에게 재광고하지 않는다.'
    이처럼 동작하는 이유는 서로 다른 AS 간에 eBGP를 사용할 때 BGP는 라우팅 루프를 방지하기 위해 AS_Path 속성을 사용한다. 그러나 AS 내에서는 AS 번호가 변경되지 않으므로 이러한 루프 방지 메커니즘을 사용할 수 없기 때문이다.
  • BGP 스플릿 호라이즌 룰을 해결하는 방법.
    1. Full Mesh 설정
    2. Route Reflector 설정
    3. Confederation 설정

 

예시 1)

 

스플릿 호라이즌이 동작하지 않으면 R1은 자신이 생성한 iBGP 업데이트 메시지를 수신하게 된다.

 

split horizon이 적용되면, R2는 R1에서 학습한 iBGP 네트워크 정보를 R3으로 광고 하지 않는다.

즉, AS 내의 모든 iBGP 라우터가 네트워크 정보를 학습하려면 AS 내 모든 iBGP 라우터가 다른 모든 iBGP 라우터와 이웃이 되어야 한다. Full Mesh iBGP 피어링 설정이 되어야 하며, 대규모 AS에서는 관리가 어려워지고 리소스가 많이 소모될 수 있기 때문에 BGP Route Reflector를 사용할 수 있다.

 

예시 2)

R2#sh ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.1.1.1/32       1.1.12.1                 0             0 1 i

R3#sh ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 1.1.1.1/32       2.2.2.2                  0    100      0 1 i 

R4#sh ip bgp
R4의 BGP 테이블에는 1.1.1.1/32 네트워크가 없다.
R3이 iBGP 네이버인 R2에게서 수신한 1.1.1.1/32 네트워크를 BGP 스플릿 호라이즌 룰 때문에 또 다른
iBGP 네이버인 R4에게 전송하지 못하기 때문이다.
------------ R2 ------------
router ospf 234
 network 1.1.23.0 0.0.0.255 area 0
 network 2.2.2.0 0.0.0.255 area 0

router bgp 234
 bgp router-id 2.2.2.2
 network 2.2.2.2 mask 255.255.255.255
 neighbor 1.1.12.1 remote-as 1
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 
------------ R3 ------------
router ospf 234
 network 1.1.23.0 0.0.0.255 area 0
 network 1.1.34.0 0.0.0.255 area 0
 network 3.3.3.0 0.0.0.255 area 0

router bgp 234
 bgp router-id 3.3.3.3
 network 3.3.3.3 mask 255.255.255.255
 neighbor 2.2.2.2 remote-as 234
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 4.4.4.4 remote-as 234
 neighbor 4.4.4.4 update-source Loopback0
 
------------ R4 ------------
router ospf 234
 network 1.1.34.0 0.0.0.255 area 0
 network 4.4.4.0 0.0.0.255 area 0

router bgp 234
 bgp router-id 4.4.4.4
 network 4.4.4.4 mask 255.255.255.255
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0

 

 

1. Full Mesh 설정

구성 예2)의 R2에서 R3 외에 R4에 대한 네이버 설정을 추가한다. R2는 1.1.1.1 네트워크에 대한 라우팅 정보를 R3, R4에게 동시에 전송한다. full mesh 설정 방법은 iBGP로 수신한 라우팅 정보를 iBGP로 전송할 필요가 없기 때문에 BGP 스플릿 호라이즌 문제가 해결된다.

R2#sh run | s r b
router bgp 234
 bgp router-id 2.2.2.2
 network 2.2.2.2 mask 255.255.255.255
 neighbor 1.1.12.1 remote-as 1
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 neighbor 4.4.4.4 remote-as 243
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 4.4.4.4 next-hop-self
 
R4#sh run | s r b
router bgp 234
 bgp router-id 4.4.4.4
 network 4.4.4.4 mask 255.255.255.255
 neighbor 2.2.2.2 remote-as 234
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0

 

2. Route Reflector

  • 특정 라우터가 루트 리플렉터가 되면 iBGP 네이버 중에서 Route Reflector Client에 대해서는 스플릿 호라이즌 룰을 적용하지 않는다.
  • 루트 리플렉터 라우터는 iBGP로 받은 정보를 다른 iBGP로 광고할 수 있다.
  • Full Mesh로 설정해야 하는 번거로움을 피할 수 있다.
  • 루트 리플렉터 라우터는 다른 루트 리플렉터 라우터의 클라이언트가 될 수 있다.

R2#sh run | s r o 
router ospf 234
 network 1.1.23.0 0.0.0.255 area 0
 network 2.2.2.0 0.0.0.255 area 0

R2#sh run | s r b
router bgp 234
 bgp router-id 2.2.2.2
 network 2.2.2.2 mask 255.255.255.255
 neighbor 1.1.12.1 remote-as 1
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 next-hop-self
 no neighbor 4.4.4.4 ◀
R3#sh run | s r o 
router ospf 234
 network 1.1.23.0 0.0.0.255 area 0
 network 1.1.34.0 0.0.0.255 area 0
 network 3.3.3.0 0.0.0.255 area 0

R3#sh run | s r b
router bgp 234
 bgp router-id 3.3.3.3
 network 3.3.3.3 mask 255.255.255.255
 neighbor 2.2.2.2 remote-as 234
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 route-reflector-client ◀
 neighbor 4.4.4.4 remote-as 234
 neighbor 4.4.4.4 update-source Loopback0
 neighbor 4.4.4.4 route-reflector-client ◀
R4#sh run | s r o 
router ospf 234
 network 1.1.34.0 0.0.0.255 area 0
 network 4.4.4.0 0.0.0.255 area 0

R4#sh run | s r b
router bgp 234
 bgp router-id 4.4.4.4
 network 4.4.4.4 mask 255.255.255.255
 neighbor 3.3.3.3 remote-as 234
 neighbor 3.3.3.3 update-source Loopback0
 no neighbor 2.2.2.2 ◀

 

 

3. Confederation 설정

컨페더레이션 사용시 iBGP 네이버가 eBGP 네이버로 변경되기 때문에 'iBGP로 받은 네트워크는 iBGP로 광고하지 못한다'는 스플릿 호라이즌 룰 자체가 적용되지 않는다.

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

[BGP] 속성1 - Weight  (0) 2025.04.17
[BGP] 속성(attribute)  (0) 2025.04.17
[BGP] Next Hop  (0) 2025.04.13
[BGP] 컨페더레이션  (0) 2025.04.12
[BGP] 개요  (0) 2025.04.12

+ Recent posts