# フォワーディングデータベース(FDB)

## 1. 機能概要

フォワーディングデータベース(以降、FDB)は、 宛先MACアドレスと送出ポートとVLANの組み合わせを管理するものです。
本製品は、受信フレームの転送先ポートを決定する際に使用します。

1. 学習機能の有効／無効制御

2. 学習したFDBエントリの保持時間の調整

3. 学習したFDBエントリのクリア

4. FDBエントリの手動登録(スタティックエントリ)

## 2. 用語の定義

FDB

Forwarding Data Base の略です。
宛先MACアドレスと送出ポートと VLAN の組み合わせを管理するデータベースです。

FDBエントリー

FDBに登録するデータのことで、複数の要素で構成されます。

## 3. 機能詳細

### 3.1. FDBエントリー

本製品は、FDBに対して下表に示す内容を一つのエントリーとして登録します。
自動学習／手動登録合わせて 最大 65,536個のアドレスを登録できます。

管理要素 | 説明
--- | ---
MACアドレス | デバイスのMACアドレスで、ユニキャストとマルチキャストがあります。
VLAN-ID (FID) | デバイスの所属するVLAN ID。1～4094の値となります。
転送先インターフェースID | デバイスが存在するインターフェース。 LAN/SFPポート、スタティック/LACP論理インターフェースが該当します。
アクション | デバイス宛てフレームの処理方法。 処理方法には、破棄(discard)と転送(forward)があります。
エントリー登録種別 | dynamic | 自動学習により登録されたエントリー
static | コマンドにより手動で登録したエントリー
multicast | IGMP/MLD Snoopingで学習したエントリー

#### 3.1.1. MACアドレス

FDBのキー項目の一つで、VLAN-IDとMACアドレスの二つを合わせてレコードキーになります。
MACアドレスが、ユニキャストの時と、マルチキャストの時では、動作に違いがあります。

- ユニキャスト
  あるレコードキーに対して、転送先インターフェースIDは、一意に決まる必要があるので、重複は認められません。
  (同じ、VLAN-IDとMACアドレスの組み合わせは複数存在しない)

- マルチキャスト
  あるキーレコードに対しての、転送先インターフェースIDは、複数個存在しても構いません。
  その場合、複数の転送先インターフェースIDに、転送されます。

すべての受信フレームをMACアドレス学習の対象とし、送信元MACアドレスを学習してFDBに登録します。
ただし、送信元MACアドレスがマルチキャストの場合は、これを不正なフレームとみなして破棄し、登録しません。
また、VLANインターフェースを作成することで、内部的にFDBエントリーを1つ消費します。

自動学習で登録したMACアドレス情報は、エージングタイムアウトまで保持します。

また、マルチキャストのMACアドレス場合を複数設定した場合、この場合は全体で1個とみなします。

    VLAN  port    mac             fwd      type    timeout
       1  port1.1 0100.0000.1000  forward  static       0
       1  port1.2 0100.0000.1000  forward  static       0
       1  port1.3 0100.0000.1000  forward  static       0
       1  port1.4 0100.0000.1000  forward  static       0
       1  port1.5 0100.0000.1000  forward  static       0
       1  port1.6 0100.0000.1000  forward  static       0

#### 3.1.2. VLAN-ID

MACアドレスの学習はVLAN単位に行い、FDB は MACアドレス と VLAN のペアで管理します。
異なるVLANであれば、同一のMACアドレス情報も学習します。

#### 3.1.3. 転送先インターフェースID

登録されるIDは下記となります。

- LAN/SFPポート (port)

- スタティック/LACP論理インターフェース (sa,po)

#### 3.1.4. アクション

キーレコードと一致した受信フレームに対してのアクションを定義します。
MACアドレスが、ユニキャストの場合は、下記のアクションになります。

- forward … 転送先インターフェースIDに転送します。

- discard … 転送せず破棄します。

MACアドレスが、マルチキャストの場合は、下記のアクションになります。

- forward … 転送先インターフェースIDに転送します。

- discard … 設定できません。
  (MACアドレスが、マルチキャストの場合は、discardが設定できません。)

#### 3.1.5. 登録種別

- dynamic …​ 自動的に登録、削除が行われます。config設定ファイルには、登録結果は残りません。

- static …​ 手動で登録、削除するため、config設定ファイルに残ります。

- multicast …​ IGMP/MLD Snooping機能によって、自動的に登録、削除が行われます。config設定ファイルには、登録結果は残りません。

### 3.2. MACアドレスの自動学習

MACアドレスの自動学習とは、受信フレームの送信元MACアドレスと受信ポートの情報に基づいてFDBエントリーを動的に作成し、登録していくことを指します。
この自動学習により登録されたエントリーを ダイナミックエントリー といいます。
個々のダイナミックエントリーに対して、タイマー（エージングタイム）による監視が行われます。
一定時間フレーム受信がなかったMACアドレスに対するエントリーは、エージングタイマーによりFDBエントリーから自動的に削除されます。
これにより、電源断、移動などで無効になったデバイスのエントリーが、FDBに残らないようになっています。
なお、時間内に再度受信があった場合は、監視タイマーがリセットされます。

以下に自動学習の制御仕様について示します。

1. MACアドレスの自動学習は、 mac-address-table learning コマンドを使用して、有効／無効の制御が可能です。
   初期状態では、有効となっています。

2. 自動学習が有効な状態から、無効に変更すると、 学習したダイナミックエントリーはすべて削除 されます。
   なお、学習機能・無効の設定は、すべての受信フレームを全ポートにフラッディングしたい場合に有用です。

3. ダイナミックエントリーに対するエージングタイムの設定は、 mac-address-table ageing-time コマンドで行います。
   初期状態では、300秒が設定されています。

4. エージングタイマーによりエントリーから削除される実際の時間は、タイマー設定値x2秒以内となります。

5. 学習したダイナミックエントリーのクリアは、 clear mac-address-table dynamic コマンドで行います。
   クリアする単位として、全FDB内容を一括クリアする指定のほかに、VLAN番号を指定することで指定VLANとして学習した全MACアドレスをFDBからクリアします。
   また、ポート番号を指定することで指定ポートから学習したMACアドレスをFDBからクリアすることもできます。

6. 自動学習の状態を確認するには、 show mac-address-table コマンドを使用します。

### 3.3. MACアドレスの手動設定

本製品は、受信フレームによる自動学習のほかに、ユーザーのコマンド操作でMACアドレスを設定することができます。
コマンド操作で登録したエントリーを スタティックエントリー といいます。

以下に手動設定についての仕様を示します。

1. スタティックエントリーの登録は、 mac-address-table static コマンド を使用します。

2. スタティックエントリーの登録を行うと、そのMACアドレスに対してダイナミックな学習は行いません。
   学習済みのエントリは、FDBから削除され、スタティックエントリーとして登録されます。

3. スタティックエントリーの削除は、 no mac-address-table static コマンド を使用します。

4. 受信フレームの宛先MACアドレスに対して転送(forward)か廃棄(discard)かを指定可能とします。

   - 転送指定を行う場合、転送先のLAN/SFPポート、またはスタティック/LACP論理インターフェースを指定することができます。

   - 廃棄指定を行った場合、MACアドレスに対する受信フレームは、どのポートにも転送せずに廃棄します。

5. マルチキャストのMACアドレスを登録する場合、廃棄(discard)は指定できません。
   また下記のMACアドレスは登録できません。

   - 0000.0000.0000

   - 0100.5e00.0000～0100.5eff.ffff

   - 0180.c200.0000～0180.c200.000f

   - 0180.c200.0020～0180.c200.002f

   - 3333.0000.0000～3333.ffff.ffff

   - ffff.ffff.ffff

## 4. 関連コマンド

操作項目 | 操作コマンド
--- | ---
MACアドレス学習機能の有効・無効設定 | mac-address-table learning
ダイナミックエントリー エージングタイムの設定 | mac-address-table ageing-time
ダイナミックエントリーの削除 | clear mac-address-table dynamic
スタティックエントリーの登録 | mac-address-table static
スタティックエントリーの削除 | no mac-address-table static
MACアドレステーブルの参照 | show mac-address-table
MACアドレス数の表示 | show mac-address-table count

## 5. コマンド実行例

### 5.1. FDBの参照

    Yamaha#show mac-address-table
    VLAN  port     mac             fwd      type     timeout
       1  port1.2  00a0.de11.2233  forward  static        0
       1  port1.1  1803.731e.8c2b  forward  dynamic     300
       1  port1.1  782b.cbcb.218d  forward  dynamic     300

### 5.2. ダイナミックエントリーの削除

FDBに登録されているFDBエントリー ( MACアドレス00:a0:de:11:22:33 )を削除する

    Yamaha#clear mac-address-table dynamic address 00a0.de11.2233

### 5.3. ダイナミックエントリー エージング時間の変更

ダイナミックエントリーのエージング時間を 400秒 に変更する。

    Yamaha(config)#mac-address-table ageing-time 400

### 5.4. スタティックエントリーの登録

VLAN #10に所属するデバイス (MACアドレス 00:a0:de:11:22:33) 宛てフレームをLANポート2 (port1.2) に転送する。

    Yamaha(config)#mac-address-table static 00a0.de11.2233 forward port1.2 vlan 10

VLAN #10に所属するデバイス (MACアドレス 00:a0:de:11:22:33) 宛てフレームを破棄する。
インターフェース名の指定(例ではport1.2)は、動作に影響ありません。省略不可のため、LAN/SFPポートを指定してください。

    Yamaha(config)#mac-address-table static 00a0.de11.2233 discard port1.2 vlan 10

### 5.5. スタティックエントリーの削除

VLAN #10に所属するデバイス (MACアドレス 00:a0:de:11:22:33)宛ての転送設定を削除する。

    Yamaha(config)#no mac-address-table static 00a0.de11.2233 forward port1.2 vlan 10

## 6. 注意事項

l2-unknown-mcast コマンドで未知のマルチキャストフレームを破棄(discard)するよう設定している場合、 mac-address-table static コマンドで静的にマルチキャストMACアドレスを転送(forward)するように登録していても効果はありません。

## 7. 関連文書

特になし

Search result
No more search results.
There are no topics that match your search query.