Go to main content
Oracle® Solaris 11.3 でのネットワークデータリンクの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

ブリッジネットワークの概要

ブリッジはネットワーク内のさまざまなノードを単一のネットワークに接続します。ネットワークセグメントは、単一のブロードキャストネットワークを共有し、接続されると単一のネットワークセグメントであるかように通信を行います。そのため、ルーターを使用してトラフィックをネットワークセグメント間で転送するのではなく、IP などのネットワークプロトコルを使用することによって、各ノードはほかのノードに到達できます。ブリッジを使用しない場合は、ノード間の IP トラフィックの転送を許可するように IP ルーティングを構成する必要があります。

ブリッジングとルーティングはどちらも、ネットワーク上のリソースの場所に関する情報を配布するために使用できますが、いくつかの点で異なります。ルーティングは IP 層 (L3) で実装され、ルーティングプロトコルを使用します。データリンク層では、ルーティングプロトコルは使用されません。

ブリッジングは、ネットワーク上のリソースの場所に関する情報を配布するために使用されます。ブリッジネットワークでは、パケットの転送先は、ブリッジに接続されているリンクで受信されたネットワークトラフィックを検査することで特定されます。ブリッジネットワークは、STP (Spanning Tree Protocol) や TRILL (Transparent Interconnection of Lots of Links) などのプロトコルを使用します。詳細は、ブリッジングプロトコルを参照してください。


Caution

注意  -  ブリッジングを使用する SPARC® ベースのシステムで eeprom コマンドを使用して、local-mac-address? プロパティーを false に設定しないでください。これを設定すると、これらのシステムは同一の MAC アドレスを複数のポートや同じネットワーク上で誤って使用します。


単純なブリッジネットワーク

次の図は、単純なブリッジネットワーク構成を示しています。

図 11  単純なブリッジネットワーク

image:ブリッジを使用して 3 つのネットワークセグメントを接続して、1 つのネットワークを形成している状態を示す図

ブリッジ goldengate は、ブリッジングが構成された Oracle Solaris システムです。sanfrancisco および sausalito は、物理的にブリッジに接続されたシステムです。ネットワーク A ではハブが使用され、片側では物理的にブリッジに接続され、反対側では 3 つのコンピュータシステムに接続されています。ブリッジポートはリンク net0net1、および net2 です。

ネットワークスタックでの Oracle Solaris ブリッジの実装方法

Oracle Solaris では次の図に示すように、ブリッジを同じネットワークスタック実装のデータリンク層で構成できます。

図 12  Oracle Solaris のネットワークスタックでのブリッジ

image:ブリッジをネットワークスタックに適合させる方法を示す図。

2 つのインタフェース net0videoagg0 がブリッジ bridge0 として構成されています。1 つのインタフェース上で受信されたパケットは、もう一方のインタフェースに転送されます。ブリッジを構成したあとも、引き続き両方のインタフェースを使用して VLAN および IP インタフェースを構成できます。

ブリッジネットワークリング

ブリッジネットワークはリング状に形成して、物理的に複数のブリッジを相互に接続できます。次の図は、ブリッジネットワークリング構成を示しています。

図 13  ブリッジネットワークリング

image:STP または TRILL プロトコルがブリッジリング内の 1 つの接続を除去することでループを回避する様子を示す図

図は、リング状に構成されたブリッジネットワークを示しています。この構成では、3 台のブリッジがあります。2 台のシステムが物理的に westminister ブリッジに接続されています。1 台のシステムが物理的に waterloo ブリッジに接続されており、もう 1 台のシステムが物理的に tower ブリッジに接続されています。ブリッジは、物理的にブリッジポートを介して相互に接続されています。

このタイプの構成では、古いパケットがリングの周りをエンドレスにループすることによってネットワークリンクが飽和状態になる問題が発生する可能性があります。このようなループ状況から保護するために、Oracle Solaris のブリッジには STP と TRILL の両方のプロトコルが実装されています。大部分のハードウェアブリッジでは、STP ループ保護も実装されています。

ブリッジネットワークの動作

ブリッジがパケットを受信すると、そのソースアドレスが検査されます。パケットのソースアドレスには、パケットが受信されたリンクにパケットを送信したノードが関連付けられます。その後、受信されたパケットが宛先アドレスと同じアドレスを使用すると、ブリッジはリンク上のパケットをそのアドレスに転送します。

ソースアドレスに関連付けられたリンクは、ブリッジネットワーク内の別のブリッジに接続された中間リンクである場合があります。時間が経過すると、ブリッジネットワーク内のすべてのブリッジが、どのリンクが特定のノードにパケットを送信するのかを「学習」します。したがって、ホップバイホップのブリッジング方式で最終宛先にパケットを送信する際には、パケットの宛先アドレスが使用されます。

ローカルの「リンク停止」通知は、特定のリンク上のすべてのノードが到達不能になったことを示します。この状況では、リンクへのパケット転送が停止し、リンク上のすべての転送エントリがフラッシュされます。古い転送エントリも時間が経過するとフラッシュされます。リンクが復元されると、リンク上で受信されたパケットは新規として処理されます。パケットのソースアドレスに基づいた学習プロセスが再開されます。このプロセスによって、アドレスが宛先アドレスとして使用されたときに、ブリッジが正常にパケットをそのリンク上に転送できるようになります。

ブリッジングプロトコル

ブリッジネットワークは次のプロトコルを使用します。

  • STP (Spanning Tree Protocol)

    STP はブリッジネットワークで使用されるデフォルトのプロトコルです。ブリッジングでは STP メカニズムを使用して、サブネットワークが使用不可になる可能性のあるネットワークループを回避します。パケットを宛先に転送するには、ブリッジに接続されたすべてのリンク上でブリッジがプロミスキャスモードで待機する必要があります。プロミスキャスモードで待機すると、最大回線速度でパケットが無限に循環してしまう転送ループの発生に対して、ブリッジが脆弱になります。


    Caution

    注意  -  可能なかぎり高いレベルのパフォーマンスが必要な場合は、ブリッジにリンクを構成しないでください。ブリッジングでは、ベースとなるインタフェースをプロミスキャスモードにして、システムのハードウェア層 (NIC)、ドライバ層、およびそのほかの層で実装されている数多くの重要な最適化を無効にする必要があります。このようなパフォーマンス拡張機能が無効になることは、ブリッジングメカニズムでは避けられない結果です。 このようなパフォーマンスの問題は、ブリッジの一部になるように構成されたリンクにのみ影響を与えます。システムのリンクの一部がブリッジされていないために、これらの制約の対象ではないシステムでは、ブリッジを使用できます。


  • TRILL (Transparent Interconnection of Lots of Links)

    Oracle Solaris は、リンクを無効化せずにループを回避する TRILL 保護拡張機能をサポートしています。TRILL は、宛先への複数のパス間のトラフィックを負荷分散するために役立ちます。

STP がループ保護に使用されると、ループ内のいずれかの接続がパケットを転送しないようにすることで、物理的なループが軽減されます。図 13は、westminstertower ブリッジ間の物理リンクがパケット転送に使用されないことを示しています。

STP とは異なり、TRILL ではループを回避するために物理リンクがシャットダウンされません。その代わりに、TRILL はネットワーク内の TRILL ノードごとに最短パス情報を計算し、その情報を使用して個々の宛先にパケットを転送します。

dladm create-bridge または dladm modify-bridge コマンドで –P trill オプションを指定すれば、TRILL を使用できます。詳細は、ブリッジの作成ブリッジの保護タイプの変更を参照してください。

STP の詳細は、IEEE 802.1D-1998 を参照してください。TRILL の詳細は、Internet Engineering Task Force (IETF) TRILL draft documents (http://tools.ietf.org/wg/trill) を参照してください。

STP デーモン

dladm create-bridge コマンドを使用して作成された各ブリッジは、svc:/network/bridge の同じ名前の付いたサービス管理機能 (SMF) インスタンスとして表されます。各インスタンスは、STP を実装する /usr/lib/bridged デーモンのコピーを実行します。

たとえば、次のコマンドは pontevecchio というブリッジを作成します。

# dladm create-bridge pontevecchio

svc:/network/bridge:pontevecchio という SMF サービスインスタンス、および /dev/net/pontevecchio0 という可観測性ノードが作成されます。可観測性ノードは、snoop コマンドおよび wiresha k パケットアナライザで使用することを目的としています。dlstat コマンドを使用してブリッジのランタイム統計を取得できます。

安全のため、デフォルトで標準 STP がすべてのポートで実行されます。STP などの一部のブリッジプロトコル形式が実行されないブリッジでは、ネットワークで長期にわたる転送ループが発生する可能性があります。Ethernet のパケットにはホップ数や有効期間 (TTL) が存在しないため、このようなループはネットワークにとって致命的です。

    特定のポートが別のブリッジに接続されていない (たとえば、ポートがシステムに直接ポイントツーポイント接続されているため) ときは、管理上そのポートの STP を無効にできます。ブリッジ上のすべてのポートで STP が無効になっている場合でも、STP デーモンは次の理由で実行されます。

  • 新たに追加されるポートを処理するため

  • BPDU ガードを実装するため

  • 必要に応じて、ポート上の転送を有効または無効にするため

ポートで STP が無効になっている場合、bridged デーモンは BPDU (BPDU ガード) の待機を続行します。デーモンは syslog を使用してエラーにフラグを付け、ポート上の転送を無効にして、重大なネットワークの構成ミスを示します。リンクが停止してから再起動すると、またはリンクを手動で削除してから再度追加すると、ふたたびリンクが有効になります。

ブリッジの SMF サービスインスタンスを無効にすると、STP デーモンが停止したときに、そのポート上のブリッジも停止します。インスタンスが再起動すると、STP は初期状態から起動します。

TRILL デーモン

dladm create-bridge -P trill コマンドを使用して作成された各ブリッジは、svc:/network/bridge および svc:/network/routing/trill の同じ名前の付いた SMF インスタンスによって表されます。svc:/network/routing/trill の各インスタンスでは、TRILL プロトコルを実装する /usr/lib trilld デーモンのコピーが実行されます。

たとえば、次のコマンドは bridgeofsighs というブリッジを作成します。

# dladm create-bridge -P trill bridgeofsighs

svc:/network/bridge:bridgeofsighssvc:/network/routing/trill:bridgeofsighs という 2 つの SMF サービスが作成されます。さらに、/dev/net/bridgeofsighs0 という可観測性ノードも作成されます。