NetflowとBGPの有効利用

2020年11月18日





BGPとは

BGP(ボーダーゲートウェイプロトコル)とは、インターネットサービスプロバイダー(ISP)間で使用されるルーティングプロトコルのひとつです。
図1:BGP AS_PATH
図1:BGP AS_PATH

BGPは、インターネット上のISP、大学、または企業ネットワークなどの自立したネットワークシステムである「自律システム(AS:Autonomous System)」間で、パケットのあて先を正確に把握し、維持していくためのルーティングおよび到達可能性情報を交換します。各ASは、AS番号(ASN:Autonomous System Number)と呼ばれる一意の番号で表され、BGP最適パス選択プロセスで選択されたインターネット上の送信元ASおよび宛先AS間のパスに沿ったASのセットを、「BGP AS_PATH」と呼びます。パケットはこのBGP AS PATHに沿って宛先に送られます。

ネットワークパスの可視性のためのBGP AS PATH属性

BGPルーティング情報には、正確なインターネットパスが含まれます。そのためネットワーク管理者は、ルーティングテーブルから送信元ASおよび宛先AS、およびパケットが宛先に向かう途中で通過するすべての中継ASを特定することができます。ではこのBGPはどのように動作しているのでしょうか。

BGPルータが外部ASのネイバーやeBGP 注1ネイバーにルーティング情報を送信するとき、ASパスの先頭に自身のAS番号が追加されます。 したがって、BGP AS_PATHには、パスに付属したプレフィックス(ネットワークアドレス)およびそのプレフィックスに到達するために通過するすべてのASがリストされます(ASのセット)。

例えば、ルータAS1から発信されたプレフィックス70.36.1.0/24(NLRI 注2)がルータAS5で受信されたとき、AS_PATH属性は以下のようにセットされていきます。

  1. AS 1のBGPルータは、自身のAS番号(ASN)「1」を BGP AS PATHに設定し、AS2にBGP更新メッセージを送信します。
  2. AS2のBGPルータは、AS番号(ASN)「2」をBGP更新のAS_PATHの先頭に追加し、AS3に送ります。
    BGP AS PATHは「2 1」です。
  3. AS3のBGPルータは、AS_PATHの先頭にAS番号(ASN)「3」を付加し、AS4に送ります。
    BGP AS PATHは「3 2 1」になります。
  4. ルータAS4はAS3からAS_PATH「3 2 1」のBGP更新メッセージを受信します。
    AS4はBGP AS PATHの前にAS番号(ASN)「4」を追加します。
  5. ルータAS5がピアAS4からのBGPアップデートで受信するNLRIは「70.36.1.0/24」、BGP AS PATH は「4 3 2 1」です。

注1 eBGP:
eBGP(external BGP)は、異なるASのBGPルータ間でルーティング情報を交換する時に使用するBGPプロトコルです。一方、同じAS内のBGPルータ間でルーティング情報を交換する時に使用するBGPプロトコルをiBGP(internal BGP)と呼びます。iBGPではAS番号の追加は行われません。

注2 NLRI:
Network Layer Reachability Information (ネットワーク層到達性情報)の略。
このプレフィックス(ネットワークアドレス)へは付加されたAS_PATH経由で到達することが可能であることを示しています。


図2:AS間で引き継がれる情報

図2:AS間で引き継がれる情報


NetFlowとBGPパスの組み合わせのメリット

先述の様にBGPはネットワークパスを可視化することができるため、AS間でトラフィックが転送されるパスを把握することができます。 しかし残念ながら、BGPパスだけでは、このパスの利用状況を可視化することができません。
図3:NetFlowに含まれる多様な情報
図3:NetFlowに含まれる多様な情報

一方、NetFlowは、パスを通過するトラフィックの量をレポートできます。さらに、レイヤー2(VLANヘッダー、MACアドレス)、レイヤー3(、プロトコル)レイヤー4(TCP / UDPポート)情報、タイムスタンプ、VRF IDなどを含むトラフィックの統計情報が含まれているため、このNetFlowの情報を利用してトラフィックのパターンを解析することにより、使用しているWebアプリケーションやDDoS増幅攻撃、SSH侵害攻撃などの攻撃をも検出することができます。
このBGPパスとNetFlowを組み合わせることにより、ネットワーク上の任意のASパスの使用状況やトラフィックの輻輳の発生の有無、何処でDDoS攻撃などが発生しているかなどを特定することが可能となります。

NetFlowの各バージョンにおけるBGPのサポート

NetFlowは任意のパスのトラフィック量を情報として持っていますが、BGPの機能に対応するNetFlowのバージョンにより、トラフィックがASに到達するパスをレポートする機能には以下のような制限があります。

NetFlow v5の場合

収集可能な情報:送信元AS、宛先AS、またはピアASおよびBGPネクストホップアドレス

例えば、トラフィックがAS5からAS1に流れていてAS3ルータがインターフェイスGi0/0 の入力方向でレガシーNetFlow v5を生成している場合、ASコレクションに構成オプションとして「origin-as」を設定すると、NetFlowにはASN5を送信元AS、ASN1を宛先AS、BGPネクストホップアドレスがエクスポートされ、構成オプションに「peer-as」を設定すると、ASN4およびASN2およびBGPネクストホップ12.0.1.2がエクスポートされます。いずれの場合も、送信元またはピアASN情報の何れか一方のみがフローでエクスポートされます。

図4:NetFlow v5の場合

図4:NetFlow v5の場合


NetFlow v9の場合

収集可能な情報:送信元と宛先の情報の両方を同時に収集。

下記のCisco BGPルータNetFlowの設定情報(赤字部分)からもわかるように、NetFlow v9では送信元と宛先の情報の両方を同時に収集することができます。

flow record BGP-record
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface input
match ipv4 protocol
collect counter packets
collect counter bytes
collect timestamp sys-uptime first
collect timestamp sys-uptime last
collect routing next-hop address ipv4 bgp
collect routing source as
collect routing destination as
collect routing source as peer
collect routing destination as peer


flow monitor BGP-monitor
record BGP-record


トラフィックがAS5からAS1に流れている場合、NetFlowはASN5を送信元、ASN1を宛先ASとして、AS4とAS2をピアASとしてレポートし、BGPネクストホップとして12.0.1.2をレポートします。それによりネットワーク管理者は適切な出口ポイントを選択して、それに応じて発信トラフィックを選定できます。また、Cisco社機器のみの設定とはなりますが、ネイバーまたはプレフィックスごとLOCAL_PREFを増やして重みづけをすることにより、特定の出口ルータを他のルータよりも優先させることも可能です。

ただし、BGPルータで生成したNetFlow v9は、NetFlow v5と比較してより詳細なASパスの情報を提供しますが、部分的なAS情報のみに制限されています。 たとえば、図3-02のルータAS4とAS5の間にAS6ルータを追加した場合、AS3の位置で生成したNetFlowは、AS6の情報を含んでいません。 BGPパスの完全な可視性とパス使用率を提供するには、BGPルーティング情報とNetFlow情報を組み合わせて使用する必要があります。

図5:NetFlow v9の場合

図5:NetFlow v9の場合


まとめ

BGPを使用すると、インターネット上のAS間でのネットワークトラフィック情報を明確にすることができます。
BGPテーブルから抽出されたBGP AS PATHなどのBGP情報があらかじめNetFlowレコードと関連付けられている必要はありますが、BGPルータへ接続したスイッチやFlowmonプローブにて生成されたNetFlowをFlowmonコレクタで受信すれば、ASを相互接続するパスだけでなく、どこのルートにどれくらいのトラフィックが流れているのか、などトラフィックのより詳細な解析が可能になります。
ネットワークの状態を詳細に把握できるBGPとFlowmonの組み合わせを、日々の運用にお役立ててみてはいかがでしょうか。

図6:FlowmonコレクタでのAS・NetFlow解析

図6:FlowmonコレクタでのAS・NetFlow解析



◆Flowmonについて、より詳しく知りたい方は、下記の資料をぜひご覧ください。


細かく相談されたい方は、こちらよりお気軽にお問い合わせください。
担当営業が直接Web会議ツールなどで製品のご案内をすることも可能ですので、お気軽にお申し付けください。

関連ページ

■製品紹介
Flowmon コレクタ
Flowmon プローブ

Flowmon製品に関する
お問い合わせはこちらからどうぞ

  • お見積依頼、お問い合わせはこちらからどうぞ
  • 03-6205-6083
  • 平日AM9:00~17:30(土日、祝祭日、年末年始、および弊社が定める定休日を除く)