【ネットワーク入門:セグメントルーティング】SRv6(エンドファンクション・トランジットファンクション)

  • URLをコピーしました!
目次

はじめに

こんにちは。ネットワークエンジニアの「だいまる」です。

今回はセグメントルーティングの続編である「SRv6 エンドファンクション」についてまとめていきたいと思います。

エンドファンクションとは

SRv6のエンドファンクションとは、「SRv6の各種ノード上で動作する機能」を指します。

この機能は、「SID(Segment ID)を構成するFunction」で定義されています。

SID

具体的なファンクションは、以下の表にまとめてあり、END.DT4やEND.DT6、END.DX2が主に利用されています。

エンドファンクション動作
END特定のPrefixへRouting
END.X特定のInterfaceへRouting
END.T特定のIPv6ルーティングテーブルを参照しRouting
END.DX6Decap後、特定のIPv6 IFにRouting(L3-VPN)
END.DT6Decap後、特定のIPv6ルーティングテーブルを参照しRouting
END.DT4Decap後、特定のIPv4ルーティングテーブルを参照しRouting
END.DX2Decap後、特定のL2 IFにRouting
エンドファンクション

Functionの一例「END.DT6」とは?

END.DT6は、エンドノードでSRv6ヘッダをDecapした後に、「特定のIPv6ルーティングテーブルを参照しルーティングする機能」となります。

具体的には、エンドポイントであるルータDに到着後、SRHをDecapしIPv6ヘッダの宛先は「E::」になっているため、ルータE宛のIFからパケットを送信しルータEに届けます。

他の動作についても表に書いている機能通りになるため、1つの機能を説明することで他の動作もイメージしやす区なると思います。

Flavorsとは?

End、End.X、End.Tの3種類には、Flavorと呼ばれる機能も存在します。

Flavor動作
PSP次が最終ノードの場合、Outer IPv6ヘッダを更新後にSRHをDecapする(Outer IPv6は残る)
USP自分自身が最終ノードの場合、SRHをDecapする
USD自分自身が最終ノードの場合、SRHの処理をスキップし次のヘッダを処理する
Flavors一覧

例えば、エンドポイントとなるルータでSRv6パケットを受信した場合、SRHをDecapしエンドファンクション動作を実行するのが通常です。

しかし、USDの場合、SRHの処理をスキップしInner IPv6ヘッダを参照しルータE宛に送信するような動作になります。

USDの動作イメージ図

トランジットファンクションとは

トランジットファンクションとは、「トランジットノードで処理する動作を定義するファンクション」になります。

この機能には、主に4つ定義されております。

Function動作
T通常のルーティング
T.Encaps特定のSRv6 PolicyをEncapする
T.Encaps.Red最初のSIDを削除した上で、特定のSRv6 PolicyをEncapする
T.Encaps.L2L2フレームに対するT.Encaps機能
T.Encaps.L2.RedL2フレームに対するT.Encaps.Red機能
Flavors一覧

最後に

今回は、SRv6のネットワークプログラミングの特徴であるエンドファンクションとトランジットファンクションの概要についてまとめました。

この本もちょっとずつ読みたいと思ってます。

  • URLをコピーしました!

この記事を書いた人

目次