/vplsbh

VPLS blackhole

Primary LanguageGoMIT LicenseMIT

VPLS Black Hole

VPLSネットワークのBUMトラヒックを収集し、送信元などを付加情報としてラベル付けし統計処理するためのツール群。

Overview

                     +------+
                     |  P   |
                     +--+---+  VPLS Network
                        |
                 +------+
                 |      |
                 |   +--+---+
           Mirror|   |  PE  |
                 |   +--+---+
                 |      |
                 +----> |
                        |
+--------------------------------------------------+
| server                | eno1                     |
|                       |                          |
|                 +-----v-------+     +-------+    |
|                 | bumstreamer +-----> redis |    |
|                 +-----+-------+     +-------+    |
|                       |                          |
|                       | gRPC(:50005)             |
|                       |                          |
|                +------v--------+                 |
|                |               |                 |
|       +--------v---+       +---v--------+        |
|       | bumstats   |       | bumcapture |        |
|       +------------+       +------------+ etc... |
|                                                  |
+--------------------------------------------------+

Requirement

VPLSネットワークからラベルIDとそれに紐づくリモートPE名とブリッジドメイン名をredisに事前に格納しておく必要がある。

$ hset "label:100" Domain bridge-domain-name
$ hset "label:100" Remote remote-pe-name

またP-PE間のトラヒックをPE-server間のリンクへミラーリングすることで、ラベル付きトラヒックをサーバーに直接処理させる必要がある。

Features

VPLSネットワークから受信したMPLS shimヘッダ付きフレームを解析しリモートPE名とブリッジドメイン名でタグ付けする。 bumstreamerはこの情報をgRPCにより各クライアントへServer Streamingにより配布する。 bumstats, bumcapture等のクライアントアプリケーションはこれらを受け取り、それぞれ処理を行う。