Origin属性とは
BGPのOrigin属性は、BGP(Border Gateway Protocol)における**ウェルノウン マンダトリ(Well-known Mandatory)**属性で、**ルートがどのように生成されたか(出所)**を示す属性です。ルートがどのプロトコルを経由して学習されたかを表し、BGPのルート選択プロセスにおいて、他の属性とともにルート選択に影響を与えます。
Origin属性のタイプ
BGPのOriginには3つのタイプがあり、それぞれルートの起源を示しています。これらのタイプはBGPルート選択アルゴリズムにおいて比較され、優先順位が決まります。
- IGP(
i):- 意味: ルートが内部ゲートウェイプロトコル(IGP)から直接生成されたことを示します。例えば、BGPで
networkコマンドを使用してルートが広告された場合、OriginはIGPになります。 - 優先度: 最も高い優先度を持ち、他のOriginタイプよりも優先されます。
- 意味: ルートが内部ゲートウェイプロトコル(IGP)から直接生成されたことを示します。例えば、BGPで
- EGP(
e):- 意味: ルートが古いExterior Gateway Protocol(EGP)によって生成されたことを示します。EGPは、BGPの前身となるルーティングプロトコルですが、現在ではほとんど使用されていません。
- 優先度: EGPは、IGPよりも優先度が低いが、Incompleteよりも高い優先度を持ちます。
- Incomplete(
?):- 意味: ルートがどのプロトコルから生成されたかが不明、または他のプロトコル(静的ルートやルートリディストリビューションなど)によってBGPに持ち込まれたことを示します。
redistributeコマンドを使用してルートがBGPに持ち込まれた場合、OriginはIncompleteになります。 - 優先度: 最も低い優先度を持ち、他のルートと比較される際には最後に選択されます。
- 意味: ルートがどのプロトコルから生成されたかが不明、または他のプロトコル(静的ルートやルートリディストリビューションなど)によってBGPに持ち込まれたことを示します。
BGP Originの設定
ルートマップを使ったOriginの設定
ルートマップを使用して、特定の条件に一致するルートに対してOriginを設定することができます。
Router(config)#route-map route-map-name permit number
Router(config-route-map)#match ip address {access-list-number | access-list-name | prefix-list prefix-list-name }
Router(config-route-map)#set origin [egp as-number | igp | incomplete ]
設定例

Router2で3.3.3.3/32のルート情報のORIGIN属性をIGPからEGPに変更します。
Router2(config)#ip prefix-list ORIGIN permit 3.3.3.3/32
Router2(config)#route-map SET_ORIGIN permit 10
Router2(config-route-map)#match ip address prefix-list ORIGIN
Router2(config-route-map)#set origin egp 65005
Router2(config-route-map)#exit
Router2(config)#router bgp 65002
Router2(config-router)#neighbor 192.168.12.1 route-map SET_ORIGIN out
Router2経由の通信のORIGIN属性がEGPに変更され、Router4経由の通信が優先されるようになりました。

