IBGP로 Update를 보낼 때는 NEXT_HOP Attribute가 변경되지 않는다고 앞에서 설명하였다. 그런데, 이 때문에 IGP의 Database가 커져 ISP 내부 장애발생 시 IGP의 Convergence Time이 커지는 원인이 된다. 다음 Topology에서 어떤 문제가 발생하는지 확인해 보기로 하자.

  R3에서 IBGP로 Update 받은 ‘1.1.1.1/32’에 대한 next-hop 경로를 알 수 없다면 R3는 ‘1.1.1.1/32’ Network으로 Packet을 보낼 수 없을 것이다. 그래서, R2가 ‘10.10.10.0/24’ Network 정보를 IGP로 R3에게 알려주어야 한다.

  만일, AS2에서 IGP로 OSPF를 사용하고 있다면, R3 Routing table은 다음과 같이 되어야 할 것이다.

  그런데, 만일 AS2의 고객이 5만개 사이트가 넘는다면 next-hop 정보를 전달하기 위한 Network만 5만개가 넘을 것이다. 이 정보가 모두 IGP의 Database에 존재하게 되면 bestpath를 선출하기 위한 Network 정보가 거대해져서 Network이 새롭게 추가되거나 변경되었을 때, Convergence Time이 커질 수 밖에 없게 될 것이다.

  현대 Network은 Convergence Time을 빠르게 가져가기 위해 Routing Protocol의 Database를 최대한 작게 만들수 있는 방향으로 발전하고 있다.

  그럼, 어떻게 하면 AS2 내부 IGP의 Database를 작게 만들 수 있을 것인가? 그것은 다른 AS와 연결되어 있는 R2에서 next-hop 정보를 R3가 이미 알고 있는 IP address로 수정해서 R3에게 전달하면 될 것이다. 그렇다면, R3가 이미 알고 있는 IP address는 무엇일까? 그것은 R3와 BGP session을 맺고 있는 IP address이다.

  그 때, 사용하는 기술이 ‘next-hop-self’이다. EBGP로 Update 받은 Network을 IBGP로 Update 할 때, Neighbor와 Session을 맺고 있는 IP address로 next-hop을 변경하여 전송하는 기술이다.

R2(config)# router bgp 2
R2(config-router)# neighbor 4.4.4.4 remote-as 2
R2(config-router)# neighbor 4.4.4.4 update-source lo0
R2(config-router)# neighbor 4.4.4.4 next-hop-self

 
‘next-hop-self’ 기술은 EBGP로 Update 받은 Network을 IBGP로 Update 할 때만 적용된다. 나중에 Route-reflector’ 기술을 적용하게 되면 IBGP로 Update 받은 Network을 IBGP로 Update 할 수 있게 되는데, 그 때는 ‘next-hop-self’가 적용되지 않는다.

  그리고, EBGP로 Update 할 때는 next-hop을 자신의 IP address로 변경해서 전달하는데, ‘next-hop-unchanged’ 기술을 적용하여 NEXT_HOP Attribute 값을 변경하지 않고 전달할 수도 있다.

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.