本文へ移動

インフラ転職コンパス難しいインフラ技術を動画と図解で解説

メニュー

Unknown Unicastとは?フラッディングの仕組み・原因・対策を図解

Unknown Unicast(未知のユニキャスト)とは、宛先MACアドレスがスイッチのMACアドレステーブルに存在しないユニキャストフレームです。スイッチは転送先ポートを特定できないため、受信ポートを除く同一VLAN内のポートへフラッディングします。

この動作自体は異常ではありません。端末を接続した直後やMACアドレスがエージアウトした直後には、一時的に発生します。問題なのは、Unknown Unicastが継続して大量発生し、帯域圧迫、意図しない端末へのフレーム転送、CPU負荷などを引き起こす場合です。

この記事では、元インフラエンジニアの筆者が、スイッチの学習動作から、発生原因、Ciscoでの確認コマンド、パケットキャプチャ、対策まで構成図と実例で解説します。

この記事でわかること

  • Unknown Unicastとフラッディングの意味
  • ブロードキャストやMACフラッディング攻撃との違い
  • 正常な一時発生と障害につながる継続発生の見分け方
  • MAC aging、非対称通信、STP、MAC flappingとの関係
  • Cisco機器とWiresharkでの切り分け方

この記事はネットワーク分野の個別テーマです。学習・キャリアの全体像から確認したい場合はこちら

Unknown Unicastとは

ユニキャストは、1台の宛先へ送る通信です。Ethernetフレームの宛先MACアドレスは特定の1台を示しています。しかし、L2スイッチがそのMACアドレスをどのポートで学習したか分からないと、1つのポートへ絞って転送できません。この状態をUnknown Unicastと呼びます。

Unknown Unicastフラッディングの動作
送信元PC A
MAC: AA:AA
L2スイッチ
宛先BB:BBを未学習
受信元以外へフラッディング
PC B(本来の宛先)PC Cにも届くAP側にも届く

対象は原則として、フレームを受信したポートを除く同一VLAN内の転送可能ポートです。

スイッチは「宛先が不明だから破棄」するのではなく、「どこかに宛先がいる可能性があるため同一VLANへ広げる」という動作をします。宛先端末が応答すると、その応答フレームの送信元MACアドレスを学習し、以後は該当ポートだけへ転送できます。

スイッチがフラッディングする仕組み

L2スイッチの基本動作は、学習、検索、転送の3段階です。ここを理解すると、Unknown Unicastの原因を推測しやすくなります。

L2スイッチのフレーム処理
① フレーム受信→② 送信元MACを学習→③ 宛先MACを検索→既知:該当ポートへ転送未知:同一VLANへフラッド

MACアドレスは送信元から学習する

スイッチは受信フレームの送信元MACアドレスと受信ポート、VLANを関連付けて学習します。ARPテーブルを見て宛先MACの場所を学習するわけではありません。

MACアドレステーブルの例
VLAN MACアドレス 学習方法 ポート
10 aaaa.aaaa.aaaa DYNAMIC Gi1/0/1
10 bbbb.bbbb.bbbb DYNAMIC Gi1/0/2
20 cccc.cccc.cccc DYNAMIC Gi1/0/24

MACアドレスはVLANごとに管理されます。同じMACが別VLANに存在しても、検索は受信フレームのVLAN内で行われます。Unknown Unicastのフラッディング範囲も、通常は同じブロードキャストドメイン内です。

宛先MACが学習済みならユニキャスト転送する

宛先MACがテーブルにあれば、スイッチは対応ポートだけへフレームを転送します。これが通常のknown unicast forwardingです。不要なポートへコピーしないため、ハブより効率よく通信できます。

宛先MACがなければフラッディングする

テーブルに一致するエントリがなければ、受信ポートを除く同一VLANのポートへコピーします。trunkポートについても、そのVLANが許可され、STP上で転送可能なら対象になります。

Unknown UnicastとBroadcast・Multicastの違い

L2転送の比較
種類 宛先MAC スイッチの基本動作 代表例
Known Unicast 特定MAC、テーブルに存在 学習済みポートだけへ転送 通常のTCP/UDP通信
Unknown Unicast 特定MAC、テーブルに不在 同一VLANへフラッディング aging直後、非対称通信
Broadcast ff:ff:ff:ff:ff:ff 同一VLANへフラッディング ARP Request、DHCP Discover
Multicast マルチキャストMAC 制御機能の有無で転送範囲が変わる 映像配信、ルーティング制御

Unknown Unicastは、送信者が特定の宛先へ送っている点でブロードキャストとは異なります。結果として複数ポートへコピーされるため、パケットキャプチャだけを見ると似て見えることがあります。

Unknown Unicast FloodingとMAC Flooding攻撃の違い

Unknown Unicast Floodingはスイッチの転送動作です。一方、MAC Flooding攻撃は、大量の偽送信元MACを学習させてMACアドレステーブルを圧迫し、結果的にUnknown Unicastを増やそうとする攻撃手法です。原因と現象を分けて考えてください。

正常なUnknown Unicastと問題になるUnknown Unicast

Unknown Unicastを1フレーム見つけただけでは障害と判断できません。ネットワークの通常動作として短時間発生することがあります。

正常・要調査の見分け方
観点 正常範囲になりやすい 要調査
発生時間 端末起動直後や経路切替直後の短時間 数分以上継続、周期的に大量発生
通信量 少数フレーム リンク帯域やCPUへ影響する量
宛先 接続直後の端末 同じMAC宛が継続して未知
影響 利用者影響なし drop、遅延、意図しない受信、監視アラート
MAC学習 応答後すぐ学習 学習しない、頻繁に消える・移動する

正常と異常の境目は、量、継続時間、影響、発生契機です。平常時のカウンターやパケット量を基準として持っておくと判断しやすくなります。

Unknown Unicastが増える主な原因

1. MACアドレスのaging

動的MACエントリは、一定時間フレームを送信しないと削除されます。Cisco Catalystの一般的な初期値では300秒のことが多いものの、機種や設定で異なります。削除後、宛先端末が再びフレームを送って学習されるまで、その端末宛はUnknown Unicastになります。

2. ARPテーブルとMAC agingの時間差

ルーターが宛先IPとMACの対応をARPテーブルに保持していても、L2スイッチ側のMACエントリが先に消えることがあります。ルーターは既知のMACへユニキャストフレームを送りますが、スイッチには転送先ポートがなく、フラッディングします。

ARP情報はあるがMACの場所が分からない状態
ルーター
ARP: IP→BB:BBあり
→
スイッチ
CAM: BB:BBなし
⇉
VLAN内へ
フラッディング

特に受信中心で自分からほとんど送信しない端末では、スイッチが送信元MACを再学習する機会が少なく、現象が続きやすくなります。

3. 非対称通信

往路と復路が異なるL2経路を通ると、あるスイッチは宛先端末を送信元として観測できず、MACを学習できません。LAGの設定不整合、冗長構成、ファイアウォールクラスタ、サーバーのNICチーミングなどが関係します。

4. STPのトポロジ変更

リンクのUp/DownやSTPトポロジ変更により、MACエントリの削除やaging短縮が発生すると、一時的にUnknown Unicastが増えます。頻繁に発生するなら、端末ポートのflapping、PortFast設定、ループ、障害リンクを確認します。

5. MACアドレスの移動・flapping

同じ送信元MACが短時間に異なるポートで学習されると、転送先が安定しません。物理ループ、LAG不整合、NICチーミング、仮想マシン移動、誤配線などが原因になります。ログにMACFLAP通知が出ていないか確認します。

6. MACアドレステーブルの容量不足

機器が学習できるMACアドレス数には上限があります。大規模L2ドメイン、ループ、攻撃、不適切な仮想環境接続などで上限へ近づくと、新規MACを学習できずUnknown Unicastが増える可能性があります。

7. VLAN・trunk・ポートチャネルの不整合

allowed VLANの片側漏れ、native VLANの不一致、ポートチャネルメンバの設定差分などにより、端末からの戻りフレームが期待する経路を通らず、MAC学習が成立しない場合があります。

ARPは残っているのにMAC表から消えた場合の時系列

  1. ゲートウェイのARP表には宛先IP 192.0.2.50 → MAC bbbb.bbbb.bbbb が残っている。
  2. L2スイッチのVLAN 10のMAC表では bbbb.bbbb.bbbb がagingで消えている。
  3. ゲートウェイからのユニキャストフレームは宛先MACを指定しているが、スイッチは出力ポートを特定できず、受信ポート以外の同一VLANへ複製する。
  4. 宛先端末がフレームを送れば、その送信元MACからポートを再学習し、通常のユニキャスト転送へ戻る。

これは動作説明用の例です。実障害ではARPとMAC表の取得時刻、VLAN、MAC aging設定、対象端末の送信状況をそろえて記録します。CiscoもARPとMAC学習のタイマー差によるユニキャストフラッディングを解説しています。

CiscoでUnknown Unicastを切り分ける手順

最初から抑制コマンドを入れるのではなく、「どの宛先MACが、どのVLANで、なぜ学習されていないか」を特定します。

切り分けの基本フロー
① VLANと量→② 宛先MAC→③ 学習状況→④ 本来のL2経路→⑤ 消える原因

手順1:影響範囲と直前変更を確認する

  • 特定VLANだけか、複数VLANか
  • 特定時間帯か、常時か
  • どのポートで受信量が増えているか
  • 構成変更、端末増設、回線切替、機器再起動があったか

手順2:MACアドレステーブルを確認する

MAC学習状態の確認例
SW01# show mac address-table dynamic
SW01# show mac address-table vlan 10
SW01# show mac address-table address bbbb.bbbb.bbbb
SW01# show mac address-table interface Gi1/0/24
SW01# show mac address-table count
SW01# show mac address-table aging-time

問題の宛先MACが存在するか、VLANとポートが正しいか、時間とともに消えたり移動したりしないかを見ます。一度の出力だけでは分からないため、事象発生中に複数回確認します。

手順3:ARPテーブルと対応付ける

IPアドレスとMACアドレスの対応を確認
GW01# show ip arp 192.0.2.50
GW01# show ip arp | include bbbb.bbbb.bbbb

Internet  192.0.2.50  72  bbbb.bbbb.bbbb  ARPA  Vlan10

ARPエントリのMACと、スイッチで未学習の宛先MACが一致するか確認します。ARPが存在するのにMACが存在しないなら、timer差、非対称経路、端末が送信しない状態を疑います。

手順4:STP・MAC move・ポート状態を確認する

L2経路が不安定でないか確認
SW01# show spanning-tree vlan 10 detail
SW01# show interfaces status
SW01# show interfaces counters errors
SW01# show etherchannel summary
SW01# show logging | include MACFLAP|SPANTREE|UPDOWN|EC

トポロジ変更回数が増え続ける、同じMACが複数ポートを移動する、ポートが短時間にUp/Downする、といった兆候を探します。

手順5:正常時との差分を取る

同じVLANの正常端末について、ARP、MAC、ポート、経路を同じ順番で確認します。問題端末だけMACを学習しないのか、VLAN全体で消えているのかによって、調査対象は端末側とネットワーク側に分かれます。

Wireshark・SPANでUnknown Unicastを確認する方法

Wireshark単体には、すべてのフレームを自動で「Unknown Unicast」と断定する一般的な表示フィルタはありません。Unknownかどうかは、その時点のスイッチのMACアドレステーブルと転送動作によって決まるためです。

確認の考え方

  1. スイッチで問題VLANと宛先MACを特定する
  2. SPANでアップリンクまたは疑わしいポートをミラーする
  3. 特定の宛先MACへ絞ってキャプチャする
  4. 本来関係ない複数のアクセスポート側でも同じフレームが見えるか確認する
  5. 同時刻のMACアドレステーブルと照合する
Wiresharkの表示フィルタ例
# 特定の宛先MACへ絞る
eth.dst == bb:bb:bb:bb:bb:bb

# 特定の送信元または宛先MACを見る
eth.addr == bb:bb:bb:bb:bb:bb

# ブロードキャストを除外する
eth.dst != ff:ff:ff:ff:ff:ff

# 特定VLANに絞る(タグが取得できる場合)
vlan.id == 10

同じフレームが本来の宛先以外のポートへ出ていることを確認できれば、フラッディングの証拠になります。ただしSPAN設定やキャプチャ位置によりVLANタグの見え方が変わるため、取得条件を記録してください。

Unknown Unicastの対策

優先すべきは発生源の修正です。抑制だけを入れると、帯域負荷は下がっても本来届くべき最初のフレームまで破棄し、別の通信障害を作る可能性があります。

原因別の対策
原因 主な対策 注意点
timer差・静かな端末 ARP/MAC aging、端末動作、定期通信を設計として見直す 全体変更前に影響を検証
非対称通信 L2経路、LAG、FWクラスタ、NICチーミングを修正 往路・復路を両方確認
STP変更 flappingポート、ループ、PortFast/BPDU Guardを見直す 根本の不安定要因を除去
MAC flapping 誤配線、二重接続、LAG不整合を修正 ログのポート間を追跡
容量不足 L2ドメイン縮小、不要MACの原因除去、機器増強 攻撃やループの有無も確認
過大トラフィック 根本修正後にレート制御やブロックを検討 正常な未知フレームも対象になり得る

unknown unicast blocking

一部のCisco機器では、アクセスポートからUnknown Unicastを出力しない設定としてswitchport block unicastを利用できます。

Unknown Unicastの出力をブロックする例
interface GigabitEthernet1/0/10
 description USER-PORT
 switchport mode access
 switchport access vlan 10
 switchport block unicast

これは根本原因を直す設定ではありません。対象ポートの先に本来の宛先が存在していても、MAC未学習中のフレームを破棄します。適用場所、機種の仕様、端末通信への影響を検証してから使います。

storm-control

機種によってはunicastのstorm-controlをサポートします。ただしknown unicastを含む実装や、閾値超過時の動作がshutdownになる実装もあります。コマンド名だけで適用せず、機種別仕様と実トラフィックの基準値を確認してください。

switchport block unicastは対応機種で未知ユニキャストの出力を止める設定であり、MAC未学習の原因を直す設定ではありません。正常な初回通信まで落とす可能性があるため、対象ポート・機種の仕様と影響を検証してから適用します。Cisco Catalyst 2960コマンドリファレンスでは、unknown unicastの転送を抑止する動作が明記されています。

Unknown Unicastのセキュリティ上の注意

フラッディングされたフレームは、本来の宛先以外のポートにも到達します。ただし通常のNICは自分宛でないユニキャストフレームを上位へ渡さないため、届いたことと内容を読めることは同じではありません。

それでも、プロミスキャスモードの端末や不正な機器が存在すれば観測される可能性があります。ネットワーク分割、ポートセキュリティ、802.1X、未使用ポートの停止、MAC学習異常の監視など、多層の対策が重要です。

Unknown Unicastのよくある質問

Unknown Unicastは障害ですか?

少量かつ一時的なら正常動作の範囲です。端末接続直後やMAC aging直後に発生します。大量・継続・周期的で、帯域や端末へ影響する場合は原因調査が必要です。

ARP RequestはUnknown Unicastですか?

通常のARP Requestは宛先MACがff:ff:ff:ff:ff:ffのブロードキャストです。Unknown Unicastではありません。ARP Replyは通常ユニキャストです。

L2スイッチはARPテーブルで転送先を決めますか?

通常のL2転送ではMACアドレステーブルを使います。ARPテーブルはIPアドレスとMACアドレスを対応付けるもので、L3機能や管理通信を持つ機器では存在しますが、フレーム転送先ポートの検索とは役割が異なります。

MACアドレステーブルをclearするとどうなりますか?

動的エントリを消すと、再学習されるまでUnknown Unicastが一時的に増えます。影響のある運用操作なので、障害調査で無闇に実行せず、対象、時間、影響範囲を確認してください。

Unknown Unicastはルーターを越えますか?

Ethernetフラッディングは原則として同一VLAN/ブロードキャストドメイン内です。ルーターは受信パケットを別のL2フレームへ作り直すため、そのままL2フラッディングが越えるわけではありません。VXLANなどのオーバーレイではBUM転送設計が別途関係します。

WiresharkだけでUnknown Unicastと判断できますか?

1地点のキャプチャだけでは断定しにくい場合があります。特定MAC宛フレームが複数の無関係なポートへ複製されていることと、その時点でスイッチが宛先MACを未学習であることを組み合わせて判断します。

まとめ

Unknown Unicastは、宛先MACアドレスの転送先をスイッチが学習していないユニキャストフレームです。スイッチは受信ポートを除く同一VLANへフラッディングし、宛先からの応答を送信元MACとして学習します。

切り分けでは、量と継続時間を確認し、宛先MAC、MACアドレステーブル、ARP、STP、LAG、非対称経路、直前変更の順に追います。抑制設定は最後の手段です。まず「なぜ送信元フレームを学習できないのか」「なぜ学習したMACが消えるのか」を特定してください。

関連する記事

最近の記事
ピックアップ