# EVPNにおける統合ルーティングとブリッジング(IRB)
## 定義
IRB(Integrated Routing and Bridging)は、[[EVPN(Ethernet VPN)]]上でサブネット間のルーティング(L3)とサブネット内のブリッジング(L2)を単一の PE(Provider Edge)で統合的に処理する仕組みである。RFC 9135 で規定される。EVPN は本来 L2 マルチホーミング VPN として設計されたため、サブネットをまたぐ通信には従来型の集中 L3 ゲートウェイが必要で、同一 PE 配下の異なるサブネット間通信でさえ集中ゲートウェイへのバックホールやヘアピニングが発生していた。IRB は各 PE 自身がルーティングを行うことでこの非効率な経路を排除する。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§1)
## Symmetric IRB と Asymmetric IRB
RFC 9135 は動作の異なる2つのモードを定義する。両者の違いは検索(lookup)回数の分配と、それに伴う制御プレーン(BGP RT-2)のラベル構成に集約される。
| | Symmetric IRB | Asymmetric IRB |
|---|---|---|
| 入力 PE の検索 | MAC → IP | MAC → IP → MAC |
| 出力 PE の検索 | IP → MAC | MAC のみ |
| RT-2 の Label | Label1(MAC-VRF) + Label2(IP-VRF) | Label1(MAC-VRF)のみ、IP-VRF RT はオプション |
| 必須トンネル | IP のみ or Ethernet NVO | Ethernet NVO 必須 |
| ARP テーブル規模 | 小(ローカルホストのみ) | 大(全リモートホスト情報が必要) |
| TTL デクリメント | 入出力 PE 各 1 回 | 入力 PE のみ 1 回 |
Symmetric IRB は、入出力 PE がともに「MAC→IP」または「IP→MAC」という対称な検索を行う点が名前の由来で、IP-VRF 用の追加ラベル(Label2)を RT-2 に載せることで実現する。ARP テーブルがローカルホスト分のみで済むためスケールしやすい一方、IP-VRF ラベルの管理という制御プレーン上のコストを伴う。
Asymmetric IRB は入力 PE のみが 3 回の検索(MAC→IP→MAC)を完結させ、出力 PE は 1 回の MAC 検索のみで済む。入力 PE は自身の ARP テーブルから宛先 MAC を直接引けなければならないため、全サブネットの設定と大きな ARP テーブルが必要になり、かつ Ethernet NVO トンネルが必須となる。
両モードのトレードオフは、Symmetric IRB がスケーラビリティ(小さい ARP テーブル、トンネル選択の柔軟性)を優先し、Asymmetric IRB が出力 PE 側の単純さを優先する、という設計上の分岐として整理できる。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§4-6)
## BGP エンコーディング
[[EVPN(Ethernet VPN)]] Route Type 2(MAC/IP Advertisement Route)の NLRI 長は IPv4 の場合、Symmetric IRB で 40 オクテット、Asymmetric IRB で 37 オクテットとなる。主要フィールドは RD・ESI(Ethernet Segment Identifier)・Ethernet Tag・MAC アドレス・IP アドレス・Label1(MAC-VRF)・Label2(IP-VRF、Symmetric のみ)。
Route Target の付与方法も両モードで異なり、Symmetric IRB は MAC-VRF RT と IP-VRF RT の両方を、Asymmetric IRB は MAC-VRF RT のみ(IP-VRF RT はオプション)を付与する。
RFC 9135 が新規定義する EVPN Router's MAC Extended Community(Type 0x06、Sub-Type 0x03)は、Symmetric IRB を Ethernet NVO トンネル上で使う際に、内側 MAC 宛先アドレスとして PE 自身の MAC アドレス(6 オクテット)を1ルートあたり1つ運ぶために使われる。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§3, §8)
## デフォルトゲートウェイとの関係
IRB インターフェイスは、[[分散エニーキャストゲートウェイ]]が定義するエニーキャスト IP/MAC アドレスと組み合わせて配置される。全 PE が同一のエニーキャストアドレスをサブネットごとの IRB インターフェイスに設定することで、ホストはどの PE から応答を受けても同一のデフォルトゲートウェイと通信しているように振る舞える。
## ホストモビリティとの相互作用
Symmetric IRB と Asymmetric IRB は、ホストが PE 間を移動した際の挙動にも差を生む。移動先 NVE が MAC Mobility Extended Community(シーケンス番号+1)付きで RT-2 を広告すると、移動元 NVE は Symmetric IRB の場合 ARP テーブルから当該エントリを削除し、Asymmetric IRB の場合はエントリを更新する。(Source: [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] 本文§7)
## 出典
- [[@2021__IETF__RFC 9135 - Integrated Routing and Bridging in Ethernet VPN (EVPN)]] — Symmetric/Asymmetric IRB の制御・データプレーン手順、BGP エンコーディング、運用モデルを定義する RFC。