【ネットワーク入門】BGP拡張コミュニティ(RFC4360)

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

はじめに

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

今回は、最近読んだRFC4360(BGP 拡張コミュニティ)について、まとめていきたいと思います。

このRFCを読んだだけでは理解できない部分が多かったので、今後理解が深まる度にこの記事を更新していきたいと思います。

理解力が乏しいのでお許しを・・・・・

RFC4360を読んでみたけどわからんのでただまとめてみた

拡張コミュニティの概要

BGPの拡張コミュニティは、Type16のTransitiveオプションになります。

Transitiveとは、BGPルータが理解できない可能性もあるが、ネイバーにそのまま通知する属性のこと

コミュニティは基本的に8オクテットで構成され、Typeフィールドが「1 or 2オクテット」になります。

この「1 or 2」というのは、通常のコミュニティ(IANAで定義されたコミュニティ)が「1オクテット」拡張コミュニティが「2オクテット」となります。

残りのオクテット数がValueフィールドとなります。

では、フィールドの詳細を見ていきます。

Type Field

今回まとめているのは拡張コミュニティのため、2オクテット時のフィールドについてまとめていきます。

このRFCでは、最初の1オクテットを「High-Order Octet」、後半の1オクテットを「Lower-Order Octet」と定義しています。

「High-Order Octet」は、IANAビットとTransitiveビットの2つがあります。

I
I
T
T
Type Fieldの最初の1オクテット
Type Fieldの最初の1オクテット
Text is not SVG – cannot display
項目詳細
IANAビット(I)– Value 0:First Come First Serveポリシーを適用 
 ※First Come First Serve:BGP経路学習時、一番最初に来た経路を優先とするポリシー
– Value 1:Standard Action or Ealry IANAポリシー
 ※定義されたポリシー
Transitiveビット(T)– Value 0:Transitive
– Value 1:non-Transitive

後半のオクテットは、拡張コミュニティのより詳細なタイプを定義するために利用されます。

Value Fieldは、上記のType Fieldによって異なるため、この後のセクションでまとめていきます。

BGP拡張コミュニティのタイプフィールドの定義

このセクションでは、拡張コミュニティで利用されるTypeフィールドのテンプレートについてまとめていきます。

主にAS番号を用いた拡張コミュニティIPアドレスを用いた拡張コミュニティ2種類が存在します。

AS特定拡張コミュニティ

このコミュニティは、2オクテットのTypeフィールド6オクテットのValueフィールドで構成されています。

Typeフィールドの前半1オクテット(High-Order Octet)は「0x00 or 0x40」であり、後半1オクテット(Lower-Order Octet)は「Sub-Type」を示すために利用されます。

Valueフィールドは「Global Administrator(2オクテット)」「Local Administrator(4オクテット)」の2つから構成されます。

「Global Administrator」はIANAに割り当てられているAS番号が設定されます。

一方、「Local Administrator」は任意の値を設定でき、設定された値の意味はコミュニティのサブタイプで定義されるとのことです。

RFC4360より抜粋

IPv4特定コミュニティ

このコミュニティも同様にTypeフィールドが2オクテットValueフィールドが6オクテットです。

こちらのTypeフィールドの前半1オクテット(High-Order Octet)は「0x01 or 0x41」であり、後半1オクテット(Low-Order Octet)は「Sub Type」を示します。

Valueフィールドも同様に、「Global Administrator(4オクテット)」「Local Administrator(2オクテット)」から構成されます。

「Global Administrator」は、Internet Registries(IR)に登録されたIPv4 Unicastを設定します。

また、「Local Administrator」は、自由に設定ができ、意味はコミュニティ値で定義されるようです。

RFC4360より抜粋

Opaque拡張コミュニティ

この拡張コミュニティは、先程のテンプレートと同様にTypeフィールドが2オクテット、Valueフィールドが6オクテットで構成されています。

今回勉強したかったのはこれなんだけど、情報があまりなかった・・・

Typeフィールドの前半1オクテット(High-Order Octet)は「0x03 or 0x43」であり、後半1オクテット(Low-Order Octet)は「Sub-Type」となります。

ValueフィールドはIANAに定義された値が設定されます。

220822_abema_VAUNDY

Route Target(RT)・Route Originコミュニティ

この2つのコミュニティは、違うRFCである「RFC4364」で定義されているようです。

そのため、理解を深めていく上でまとめることができるのであれば、更新したいと思います。

20代理系就職・転職【UZUZ】

最後に

今回は、RFC4360の内容の一部をざっくりまとめてみました(2024/05/31時点)

これからこの部分の理解が深まれば、都度都度更新していきたいと思います。

  • URLをコピーしました!

この記事を書いた人

目次