weight 어트리뷰트와 달리 local preference 어트리뷰트는 같은 AS 내에서 BGP라우터끼리
공유를 한다. 자신의 AS를 벗어날때 경로선택시 사용되며 iBGP 세션을 거쳐서 전달이 되므로
동일 AS내에서 exit 포인트를 정하는 기능을 준다. local preference 값은 0 ~ 4294967295 의
값을 가지며 높은 값이 우선이다. 기본값은 100이다.
예제를 보면..
RA 와 RB , RC는 eBGP 관계이며
RC,RB,RD는 모두 iBGP 관계이다.
각 라우터의 설정은 생략하고.. RD에서 AS100으로 갈때 모든 트레픽은 RB를 통해 나간다. 하지만
AS100으로 가는 경로는 RC도 존재하므로 두 링크를 모두이용해 통신을 해보자. AS100 이 광고하는 네트웤 중에서 10.10.1.0/24 와 10.10.2.0/24가 있는데 10.10.1.0/24는 RB를 통해서
10.10.2.0/24는 RC를 통해서 도달하게 설정한다.
RB :
router bgp 200
neighbor 10.1.3.3 remote-as 200
neighbor 10.1.3.3 next-hop-self
neighbor 10.1.3.3 route-map set-local-pref out
access-list 1 permit 10.10.1.0 0.0.0.255
route-map set-local-pref permit 10
match ip address 1
set local-preference 200
(10.1.3.3 으로 업데이트시 10.10.1.0 은 local-preference 값을 200 으로 해서 업데이트)
route-map set-local-pref permit 20
set local-preference 150
(나머지는 150으로 업데이트)
RC :
router bgp 200
neighbor 10.1.3.3 remote-as 200
neighbor 10.1.3.3 next-hop-self
neighbor 10.1.3.3 route-map set-local-pref out
access-list 1 permit 10.10.2.0 0.0.0.255
route-map set-local-pref permit 10
match ip address 1
set local-preference 200
(10.1.3.3 으로 업데이트시 10.10.2.0 은 local-preference 값을 200 으로 해서 업데이트)
route-map set-local-pref permit 20
set local-preference 150
결과적으로 RD는 local-preference값을 참조하여 10.10.1.0 으로 가는 트레픽은 RB
10.10.2.0으로 가는 트레픽은 RC를 이용한다.
참고 : 해당피어에게 업데이트할때 모든 업데이트의 local-preference 값을 200으로 해서 보낼때
router bgp 200
bgp default local-preference 200