패킷이 특정 목적지로 가기 위해서 거쳐야 하는 어트리뷰트가 next-hop이다.
1. 광고하는 라우터와 수신하는 라우터가 다른 AS라면 next-hop은 광고하는 라우터
2. 광고하는 라우터와 수신하는 라우터가 같은 AS고 목적지또한 같다면 next-hop은
광고하는 라우터
3. 광고하는 라우터와 수신하는 라우터가 같은 AS이고 목적지가 다른 AS에 있다면
next-hop 외부라우터의 IP주소
예제를 보면..
설정을
RA와 RB는 eBGP
RB와 RE만이 iBGP
RB,RD,RE는 ospf IGP
RA :
router bgp 100
network 10.10.1.0 mask 255.255.255.0
network 10.1.1.0 mask 255.255.255.252
network 10.1.1.4 mask 255.255.255.252
neighbor 1.1.1.2 remote-as 200
neighbor 1.1.1.2 ebgp-multihop 3
neighbor 1.1.1.2 update-source Loopback 0
RB :
router ospf 1
passive-interface Loopback0
network 1.1.1.2 0.0.0.0 area 0
network 10.1.3.0 0.0.0.255 area 0
router bgp 200
network 10.20.0.0 mask 255.255.255.0
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 ebgp-multihop 3
neighbor 1.1.1.1 update-source Loopback 0
neighbor 10.1.4.2 remote-as 200
no auto-summary
RD :
router ospf 1
network 10.1.0.0 0.0.255.255 area 0
RE :
router ospf 1
network 10.1.4.2 0.0.0.0 area 0
router bgp 200
no sync
neighbor 10.1.3.1 remote-as 200
여기서 RA와 RB간의 eBGP에서 next-hop을 확인해보자..
RB :
10.1.1.0 next 1.1.1.1
10.1.1.4 next 1.1.1.1
10.10.1.0 next 1.1.1.1
10.20.0.0 next 0.0.0.0
RE :
10.1.1.0 next 1.1.1.1
10.1.1.4 next 1.1.1.1
10.10.1.0 next 1.1.1.1
10.20.0.0 next 10.1.3.1
(광고하는 라우터와 수신하는 라우터의 AS가 같고 목적지가 동일하므로 광고하는 라우터의 IP)
근데 여기서 주목할것이 RE에서 라우팅테이블을 보면 eBGP로 학습된 RA의 BGP테이블은
올라오지 않는다. 왜나하면 RA가 광고한 네트웤의 next-hop이 1.1.1.1에 대한 경로를
RE는 알지못하기 때문이다. 방법은 IGP를 통한 광고, 아니면 BGP의 next-hop을 사용하는
것이다.
설정 : RB
router bgp 200
neighbor 10.1.4.2 remote-as 200
neighbor 10.1.4.2 next-hop-self
(10.1.4.2 iBGP 관계에 있는 라우터에게 next-hop은 자신이라고 광고)