#BGP(Border Gateway Protocol)
ルーティングプロトコルは、AS内部で使用するIGP(Interior Gateway Protocol)と、AS外部で使用するEGP(Exterior Gateway Protocol)の大きく2つに分かれます。
これまでの記事で紹介してきたRIP、EIGRP、OSPF、は、AS内部で経路情報を交換するIGPです。
今回紹介するBGPは、AS間で経路情報を交換するEGPに該当します。
またBGPは**※パスベクタ型ルーティングプロトコルをもちOSPFが狭い範囲で使用されるプロトコルに対し、BGPは広い範囲のネットワーク帯をつなぐ際に使用されるプロトコルの役割を持ちます。
そして複数のBGPをつないだネットワークの集まりをインターネット**といわれています。
※パスベクタ型ルーティングプロトコル
AS内のルート情報に付加されたパスアトリビュートを送信して最適経路を決定。
デフォルトでは、宛先ネットワークまでに経由するASが少ない経路をベストパスとして使用。
パスアトリビュートに関しての詳細は以下参照
[ネットワークエンジニアとしてBGP - Path Attribute]
(https://www.infraexpert.com/study/bgpz05.html)
##eBGP(外部BGP)作成
router bgp 10
※BGPのピア設定(異なるASなのでeBGP)
neighbor 10.0.0.2 remote-as 11
network 10.0.0.0 mask 255.255.255.0
network 10.10.10.0 mask 255.255.255.0
※AS番号は1~64511まではグローバルAS番号、64512~65535までをプライベートAS番号という
IPアドレスと同じくプライベートAS番号は各自で自由に設定できるが、グローバルAS番号は
ICANNなどで管理しており自由に割り振ることはできない。
今回はあくまで検証用なのでグローバルAS番号を使用。
router bgp 11
※BGPのピア設定(異なるASなのでeBGP)
neighbor 10.0.0.1 remote-as 10
network 10.0.0.0 mask 255.255.255.0
network 11.11.11.0 mask 255.255.255.0
BGPのピア接続
BGPをピア接続する時、ネイバーアドレスにloopbackアドレスを指定します。
(理由)
ポートのケーブル断などの物理I/Fがダウンが起きた時、物理インターフェースでなく論理インターフェースにすることでケーブル抜き間違えなど人為的事故による通信断などの危険を防ぐことができる。
##iBGP(内部BGP)ピアグループ作成
※パケットトレーサーではiBGPが構築できないのでCisco CMLを使用してコンフィグ作成。
####構築ネットワーク図
router bgp 300
bgp log-neighbor-changes
network 3.3.3.3 mask 255.255.255.255
neighbor TEST01 peer-group
neighbor TEST01 remote-as 300
neighbor TEST01 update-source Loopback0
neighbor TEST01 next-hop-self
neighbor 2.2.2.2 peer-group TEST01
ip route 2.2.2.2 255.255.255.255 10.1.1.3
router bgp 300
bgp log-neighbor-changes
network 2.2.2.2 mask 255.255.255.255
neighbor TEST01 peer-group
neighbor TEST01 remote-as 300
neighbor TEST01 update-source Loopback0
neighbor TEST01 next-hop-self
neighbor 1.1.1.1 peer-group TEST01
neighbor 1.1.1.1 update-source Loopback0
neighbor 3.3.3.3 peer-group TEST01
neighbor 3.3.3.3 update-source Loopback0
ip route 1.1.1.1 255.255.255.255 10.10.10.1
ip route 3.3.3.3 255.255.255.255 10.1.1.4
#show ip bgp summary
BGP router identifier 2.2.2.2, local AS number 30
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
1.1.1.1 4 300 25 26 8 0 0 00:18:01 1
3.3.3.3 4 300 30 30 8 0 0 00:23:19 1
※両隣のルーターとiBGPが確立しているので2つのネイバーが表示。
Router#show ip bgp
BGP table version is 8, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
r>i 1.1.1.1/32 1.1.1.1 0 100 0 i
*> 2.2.2.2/32 0.0.0.0 0 32768 i
r>i 3.3.3.3/32 3.3.3.3 0 100 0 i
router bgp 300
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor TEST01 peer-group
neighbor TEST01 remote-as 300
neighbor TEST01 update-source Loopback0
neighbor TEST01 next-hop-self
neighbor 2.2.2.2 peer-group TEST01
ip route 2.2.2.2 255.255.255.255 10.10.10.2
router bgp 300
bgp log-neighbor-changes
network 1.1.1.1 mask 255.255.255.255
neighbor 2.2.2.2 remote-as 300 (iBGP)
neighbor 2.2.2.2 update-source Loopback0
ip route 2.2.2.2 255.255.255.255 10.10.10.2
router bgp 300
bgp log-neighbor-changes
network 2.2.2.2 mask 255.255.255.255
network 10.0.0.0 mask 255.255.255.0
neighbor 1.1.1.1 remote-as 300 (iBGP)
neighbor 1.1.1.1 update-source Loopback0
neighbor 10.0.0.4 remote-as 110 (eBGP)
ip route 1.1.1.1 255.255.255.255 10.10.10.1
router bgp 110
bgp log-neighbor-changes
network 10.0.0.0 mask 255.255.255.0
network 10.10.10.0 mask 255.255.255.0
neighbor 10.0.0.1 remote-as 300 (eBGP)
##show ip bgpの内容
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
r>i 2.2.2.2/32 2.2.2.2 0 100 0 i
*>i 10.0.0.0/24 2.2.2.2 0 100 0 i
r>i 10.10.10.0/24 10.0.0.4 0 100 0 110 i
※ r>i はiBGP
Network Next Hop Metric LocPrf Weight Path
r>i 1.1.1.1/32 1.1.1.1 0 100 0 i
*> 2.2.2.2/32 0.0.0.0 0 32768 i
* 10.0.0.0/24 10.0.0.4 0 0 110 i
*> 0.0.0.0 0 32768 i
r> 10.10.10.0/24 10.0.0.4 0 0 110 i
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 10.0.0.1 0 300 i
*> 2.2.2.2/32 10.0.0.1 0 0 300 i
* 10.0.0.0/24 10.0.0.1 0 0 300 i
*> 0.0.0.0 0 32768 i
*> 10.10.10.0/24 0.0.0.0 0 32768 i
##参考
[ネットワークエンジニアとしてBGP - Peer Group]
(https://www.infraexpert.com/study/bgpz18.html)
[【図解】iBGPとeBGPの違い]
(https://milestone-of-se.nesuke.com/nw-advanced/bgp/nexthop-self-ibgp-ebgp/)
[北館テック.com Cisco Packet Tracer でBGPにトライ]
(https://kitakantech.com/cisco-packet-tracer-bgp/)
[ネットワークのおべんきょしませんか? BGPピア]
(https://www.n-study.com/bgp_2/)