2012-05-19

BGPのnext-hopアトリビュートについて考える

bgpのattributeの代表的なものに以下の3種類がある。
UPDATEメッセージに必ずつける必要があり、すべてのBGPスピーカが必須でサポートする
アトリビュートということでWell-known mandatoryと呼ばれている。

・origin
・as-path
・next-hop

mandatory
音節man・da・to・ry 発音記号/mˈændət`ɔːri‐təri, ‐tri/【形容詞】
1
義務的な強制の必須の.
用例
mandatory clause 必須条項.
2
命令の.
3
委任の,委任された.


このなかで重要なのが、next-hop。このアトリビュートがルーティングテーブルのネクストホップになる。よって、このネクストホップに対する到達性がないとルート情報の意味がなくなってしまう。

iBGPの場合は自動で書き換えられないので、以下のコマンドを入力する。

■設定例
 (config)# router bgp 65535               
 (config-router)# neighbor 10.1.1.1 remote-as 65535
 (config-router)# neighbor 10.1.1.1 next-hop-self  

・コマンドの意味
iBGPのネイバーアドレスを指定して、next-hop-selfを指定。next-hopアトリビュートをネイバー方向の自インターフェースのアドレスに書き換える。

複数のインターフェースで該当BGPスピーカに接続性がある場合は、相手BGPスピーカが自ルータに対して接続性を保持する適切なインターフェースアドレスに書き換える必要がある。


■CCOの解説ページ

neighbor next-hop-self
To configure the router as the next hop for a BGP-speaking neighbor or peer group, use the neighbor next-hop-self command in router configuration mode. To disable this feature, use the no form of this command.

neighbor {ip-address | peer-group-name} next-hop-selfno neighbor {ip-address | peer-group-name} next-hop-selfSyntax Description
ip-address
IP address of the BGP-speaking neighbor.
peer-group-name
Name of a BGP peer group.
Command Default
 This command is disabled by default.
Command Modes
 Router configuration (config-router)

next-hopアトリビュートを書き換える別の方法として、PBRで利用するset ip next-hop peer-addressを利用した方法がある。
本コマンドはroute-mapをin|outの方向によって動作が変わってくるので注意が必要。outの場合は自分のアドレスに書き換え、inの場合は相手のアドレスに書き換える。


■設定例
 (config)# router bgp 65535               
 (config-router)# neighbor 10.1.1.1 route-map CHANGE_NH_ADDR out
 (config)route-map CHANGE_NH_ADDR
  (config-route-map)set ip next-hop peer-address



運用で利用することはないだろうが、Ciscoの試験では出てくるかもしれない。

No comments: