応用科学
リンクアグリゲーション
コンピューターネットワーキングでは、 リンク集約という用語は、複数のネットワーク接続を並列に結合(集約)するさまざまな方法に適用され、単一の接続が維持できる以上のスループットを向上させ、リンクの1つが故障した場合に冗長性を提供します。 リンクアグリゲーショングループ (LAG)は、多数の物理ポートを組み合わせて単一の高帯域幅データパスを作成し、グループ内のメンバーポート間でトラフィックの負荷分散を実装し、接続の信頼性を高めます。
メソッドの説明に使用される他の包括的な用語には、 ポートトランキング 、 リンクバンドリング 、 イーサネット/ネットワーク/ NICボンディング 、 チャネルボンディング、またはNICチーミングが含まれます。これらの包括的用語には、IEEE 802.1AXまたは以前のIEEE 802.3adで定義されたイーサネット用のリンク集約制御プロトコル(LACP)などのベンダーに依存しない標準だけでなく、さまざまな独自のソリューションも含まれます。
説明
リンク集約は、イーサネット接続に関する2つの問題に対処します。帯域幅の制限と回復力の欠如です。
最初の問題に関して:帯域幅の要件は直線的にスケーリングしません。イーサネット帯域幅は、歴史的に世代ごとに10倍に増加しました:10メガビット/秒、100メガビット/秒、1000メガビット/秒、10,000メガビット/秒。帯域幅の上限にぶつかり始めた場合、唯一の選択肢は、コストがかかりすぎる可能性のある次世代に移行することでした。 1990年代初期に多くのネットワークメーカーによって導入された代替ソリューションは、チャネルボンディングを介して2つの物理イーサネットリンクを1つの論理リンクに結合することです。これらのソリューションのほとんどは、集約の両側で手動構成と同一の機器を必要としました。
2番目の問題には、一般的なポートケーブルポート接続の3つの単一障害点が関係しています。通常のコンピューターからスイッチへ、またはスイッチからスイッチへの構成では、ケーブル自体またはケーブルが接続されているポートのいずれかが故障する可能性があります。複数の物理接続を確立できますが、多くの高レベルプロトコルは完全にシームレスにフェールオーバーするようには設計されていません。
建築
ネットワークアーキテクトは、OSIモデルの下位3層のいずれかに集約を実装できます。
- レイヤー1(物理レイヤー)での集約の例には、複数の周波数帯域を結合する電力線(IEEE 1901など)およびワイヤレス(IEEE 802.11など)ネットワークデバイスが含まれます。
- OSIレイヤー2(LANのイーサネットフレームやWANのマルチリンクPPP、イーサネットMACアドレスなどのデータリンクレイヤー)の集約は通常、物理ポートまたはオペレーティングシステムで管理される仮想ポートのいずれかであるスイッチポート間で行われます。
- OSIモデルのレイヤー3(ネットワーク層)での集約では、ラウンドロビンスケジューリング、パケットヘッダーのフィールドから計算されたハッシュ値、またはこれら2つの方法の組み合わせを使用できます。
集約が発生するレイヤーに関係なく、すべてのリンクでネットワーク負荷を分散できます。ただし、すべての実装がこれを利用するわけではありません。ほとんどの方法でもフェイルオーバーが提供されます。
複数のインターフェイスが1つの論理アドレス(IP)または1つの物理アドレス(MACアドレス)を共有するように結合するか、各インターフェイスが独自のアドレスを持つことができます。前者では、リンクの両端で同じ集約方法を使用する必要がありますが、後者よりもパフォーマンス上の利点があります。
チャネルボンディングは、ロードバランシングがネットワークソケット(レイヤー4)ごとにネットワークインターフェース間でトラフィックを分割するという点でロードバランシングと区別されますが、チャンネルボンディングは、パケット(レイヤー3)またはデータリンク(レイヤー2)ベース。
IEEEリンク集約
標準化プロセス
1990年代半ばまでに、ほとんどのネットワークスイッチメーカーは、スイッチ間の帯域幅を増やすための独自の拡張機能として集約機能を組み込みました。各メーカーが独自の方法を開発したため、互換性の問題が発生しました。 IEEE 802.3グループは、1997年11月の会議で、相互運用可能なリンク層標準を作成するために研究グループを取り上げました。グループは、冗長性を追加する自動構成機能を含めることにすぐに同意しました。これは「リンク集約制御プロトコル」として知られるようになりました。
2000年の初期リリース802.3ad2000年時点で、ほとんどのギガビットチャネルボンディングスキームは、IEEE 802.3adタスクフォースによって2000年3月に追加されたIEEE 802.3規格の43節であったリンクアグリゲーションのIEEE規格を使用しています。ほぼすべてのネットワーク機器メーカーが、独自の標準よりも早くこの共同標準を採用しました。
2008年に802.1レイヤーに移行2006年11月の第9改訂プロジェクトの802.3メンテナンスタスクフォースレポートでは、特定の802.1レイヤー(802.1Xセキュリティなど)が802.3サブレイヤーとして定義されたリンクアグリゲーションの下のプロトコルスタックに配置されたことが指摘されました。この矛盾を解決するために、802.3ax(802.1AX)タスクフォースが結成され、2008年11月3日にIEEE 802.1AX-2008が発行され、802.1グループにプロトコルが正式に転送されました。
リンク集約制御プロトコル
IEEE仕様内では、Link Aggregation Control Protocol(LACP)は、複数の物理ポートをまとめて単一の論理チャネルを形成することを制御する方法を提供します。 LACPを使用すると、ネットワークデバイスはLACPパケットをピア(LACPを実装する直接接続されたデバイス)に送信することにより、リンクの自動バンドリングをネゴシエートできます。
LACP機能と実用例
- ポートチャネルで許可されるバンドルポートの最大数:有効な値は通常1〜8です。
- LACPパケットは、マルチキャストグループMACアドレス01:80:c2:00:00:02(01-80-c2-00-00-02)で送信されます
- LACP検出期間中
- LACPパケットは毎秒送信されます
- リンクメンバーのキープアライブメカニズム:(デフォルト:低速= 30秒、高速= 1秒)
- LACPはポートチャネルロードバランスモードを持つことができます:
- link(link-id)ロードバランシングのメンバーリンクを識別する整数。範囲は1〜8です。
- LACPモード:
- active:LACPを無条件で有効にします。
- パッシブ:LACPデバイスが検出された場合にのみLACPを有効にします。 (これはデフォルトの状態です)
- フェールオーバーは自動的に発生します。リンクが失敗し、デバイス間にメディアコンバーターが存在する場合、ピアシステムは接続の問題を認識しません。静的リンク集約では、ピアはリンクにトラフィックを送信し続け、接続が失敗します。
- 動的構成:デバイスは、相手側の構成がリンク集約を処理できることを確認できます。静的リンクアグリゲーションでは、ケーブル配線または構成の間違いが検出されず、望ましくないネットワーク動作を引き起こす可能性があります。
LACPは、プロトコルが有効になっているすべてのリンクにフレーム(LACPDU)を送信することで機能します。また、LACPが有効になっているリンクのもう一方の端にデバイスが見つかると、同じリンクに沿ってフレームを個別に送信し、2つのユニットがそれらの間の複数のリンクを検出し、それらを単一の論理リンクに結合できるようにします。 LACPは、アクティブまたはパッシブの2つのモードのいずれかで構成できます。アクティブモードでは、設定されたリンクに沿って常にフレームを送信します。ただし、パッシブモードでは、「話しかけられたときに話す」として機能するため、偶発的なループを制御する方法として使用できます(他のデバイスがアクティブモードである限り)。
独自のリンク集約
IEEEリンク集約サブスタンダードに加えて、シスコのEtherChannelおよびポート集約プロトコル、ジュニパーの集約イーサネット、AVAYAのマルチリンクトランキング、スプリットマルチリンクトランキング、ルーテッドスプリットマルチリンクトランキングおよび分散スプリットなど、独自のアグリゲーションスキームが多数あります。マルチリンクトランキング、ZTEの「スマートグループ」、Huaweiの「Eth-Trunk」、またはConnectifyのSpeedify。ほとんどのハイエンドネットワークデバイスは、何らかの種類のリンク集約をサポートし、* BSD laggパッケージ、Linux ボンディングドライバー、Solaris dladm aggrなどのソフトウェアベースの実装も多くのオペレーティングシステムに存在します。
Linuxボンディングドライバー
Linux ボンディングドライバーは、複数のネットワークインターフェースコントローラー(NIC)を2つ以上のいわゆる(NIC)スレーブの単一の論理ボンディングインターフェースに集約する方法を提供します。最新のLinuxディストリビューションの大部分は、Linuxボンディングドライバーがロード可能なカーネルモジュールとして統合され、 ifenslave (if =インターフェイス)ユーザーレベルの制御プログラムがプリインストールされているLinuxカーネルが付属しています。 Donald Beckerは、元のLinuxボンディングドライバーをプログラムしました。 Linuxカーネル2.0用のBeowulfクラスターパッチで使用されました。
ドライバーモード
Linuxボンディングドライバーのモード(ネットワークインターフェイス集約モード)は、ロード時にカーネルボンディングモジュールにパラメーターとして提供されます。これらは、insmodまたはmodprobeコマンドのコマンドライン引数として指定できますが、通常はLinuxディストリビューション固有の構成ファイルで指定されます。単一の論理ボンディングインターフェイスの動作は、指定されたボンディングドライバモードに依存します。デフォルトのパラメーターはbalance-rrです。
ラウンドロビン(balance-rr)最初に利用可能なネットワークインターフェース(NIC)スレーブから最後まで、ネットワークパケットを順番に送信します。このモードは、負荷分散とフォールトトレランスを提供します。アクティブバックアップ(active-backup)ボンド内の1つのNICスレーブのみがアクティブです。アクティブなスレーブに障害が発生した場合にのみ、別のスレーブがアクティブになります。単一の論理結合インターフェースのMACアドレスは、ネットワークスイッチの歪みを避けるために、1つのNIC(ポート)でのみ外部から見ることができます。このモードはフォールトトレランスを提供します。 XOR(balance-xor)パケットの送信元と宛先のハッシュに基づいてネットワークパケットを送信します。デフォルトのアルゴリズムは、MACアドレス( layer2 )のみを考慮します。新しいバージョンでは、IPアドレス( layer2 + 3 )およびTCP / UDPポート番号( layer3 + 4 )に基づいて追加のポリシーを選択できます。これにより、各宛先MACアドレス、IPアドレス、またはIPアドレスとポートの組み合わせごとに同じNICスレーブが選択されます。このモードは、負荷分散とフォールトトレランスを提供します。ブロードキャスト(ブロードキャスト)すべてのスレーブネットワークインターフェイスでネットワークパケットを送信します。このモードはフォールトトレランスを提供します。 IEEE 802.3adダイナミックリンクアグリゲーション(802.3ad、LACP)同じ速度と二重設定を共有するアグリゲーショングループを作成します。 802.3ad仕様に従って、アクティブなアグリゲーターグループのすべてのスレーブネットワークインターフェイスを利用します。このモードは上記のXORモードに似ており、同じバランシングポリシーをサポートします。リンクは、2つのLACPサポートピア間で動的にセットアップされます。特別なネットワークスイッチサポートを必要としない適応送信ロードバランシング(balance-tlb)Linuxボンディングドライバーモード。発信ネットワークパケットトラフィックは、各ネットワークインターフェーススレーブの現在の負荷(速度に対して計算される)に従って分散されます。着信トラフィックは、現在指定されている1つのスレーブネットワークインターフェイスによって受信されます。この受信スレーブに障害が発生すると、別のスレーブが障害の発生した受信スレーブのMACアドレスを引き継ぎます。適応負荷分散(balance-alb)には、 balance-tlbに加えてIPV4トラフィックの受信負荷分散 (rlb)が含まれ、特別なネットワークスイッチのサポートは必要ありません。受信ロードバランシングは、ARPネゴシエーションによって実現されます。ボンディングドライバーは、ローカルシステムから送信されるARP応答を途中でインターセプトし、単一の論理ボンディングインターフェイス内のNICスレーブの1つの一意のハードウェアアドレスでソースハードウェアアドレスを上書きします。ネットワークパケットトラフィック。Linux Teamドライバー
Linux Teamドライバーは、ボンディングドライバーの代替手段を提供します。主な違いは、チームドライバーカーネルパーツには必須コードのみが含まれ、残りのコード(リンク検証、LACP実装、意思決定など)はteamdデーモンの一部としてユーザースペースで実行されることです。
使用法
ネットワークバックボーン
リンクアグリゲーションは、単一のポートまたはデバイスが提供できるよりもはるかに多くのデータを転送する高速バックボーンネットワークをセットアップする安価な方法を提供します。また、リンクアグリゲーションにより、ネットワークの需要が増加するにつれてネットワークのバックボーン速度が徐々に向上し、すべてを交換して新しいハードウェアを展開する必要がなくなります。
ほとんどのバックボーンのインストールでは、追加のケーブル接続をすぐに必要としない場合でも、最初に必要な数より多くのケーブル接続または光ファイバーのペアをインストールします。これは、人件費がケーブルのコストよりも高いためであり、ネットワークの変更が必要になった場合に余分なケーブルを敷くと、将来の人件費が削減されます。リンクアグリゲーションにより、これらの追加ケーブルを使用して、ポートが利用可能な場合に追加費用をほとんど、またはまったく追加せずにバックボーン速度を上げることができます。
フレームの順序
トラフィックのバランスをとる際、ネットワーク管理者はイーサネットフレームの並べ替えを避けたい場合がよくあります。たとえば、TCPは、異常なパケットを処理するときに追加のオーバーヘッドを受けます。この目標は、特定のセッションに関連付けられたすべてのフレームを同じリンクを介して送信することにより近似されます。一般的な実装では、L2またはL3ハッシュを使用して(MACまたはIPアドレスに基づいて)、同じフローが常に同じ物理リンクを介して送信されるようにします。
ただし、単一またはごく少数のホストペアのみが相互に通信する場合、つまりハッシュの変動が少なすぎる場合、これはトランク内のリンク全体に均等に分散しない場合があります。集約内のクライアント帯域幅を、通信パートナーごとの単一メンバーの最大帯域幅に効果的に制限します。極端な場合、1つのリンクが完全にロードされ、他のリンクは完全にアイドル状態になります。このため、実際の実装では、すべてのトランクリンクを均等にロードバランシングして完全に使用することはほとんどありません。より高度なスイッチは、L4ハッシュを使用して(TCP / UDPポート番号を使用)、ポート間の変動に応じてリンク全体のトラフィックの変動を増加させ、バランスを均等な分布に近づけることができます。
最大スループット
複数のスイッチを使用して、2つ以上のシステム間の分離ネットワークの一部としてスイッチを並列に構成する場合、複数のネットワークスイッチトポロジで最大スループットを最適化できます。この構成では、スイッチは互いに分離されています。このようなトポロジを採用する理由の1つは、多数のホスト(たとえば、高パフォーマンス用に構成されたクラスター)を持つ分離されたネットワークであり、複数の小さなスイッチを使用すると、単一の大きなスイッチよりも費用対効果が高くなる場合があります。ネットワークを超えたアクセスが必要な場合、個々のホストに外部ネットワークに接続された追加のネットワークデバイスを装備できます。このホストは、さらにゲートウェイとしても機能します。たとえば、コンピュータクラスタノードAのネットワークインターフェイス1〜3は、個別のネットワークスイッチ1〜3を介して、コンピュータクラスタノードBのネットワークインターフェイス1〜3と接続されています。ネットワークスイッチ1〜3の間に相互接続はありません。このタイプの構成で通常使用されるLinuxボンディングドライバーモードは、balance-rrです。 balance-rrモードでは、2つのホスト間の個々の接続が、1つのインターフェースの帯域幅よりも効率的に利用できます。
ネットワークインターフェイスカードで使用する
一緒にトランクされたNICは、単一のNICのスループットを超えるネットワークリンクを提供することもできます。たとえば、これにより、中央のファイルサーバーは、チーム化された2つの1ギガビットNICを使用して2ギガビットの集約接続を確立できます。データシグナリングレートは1Gbit / sのままであり、リンクアグリゲーションの採用後にスループットをテストするために使用される方法によっては誤解を招く可能性があることに注意してください。
マイクロソフトウィンドウズ Microsoft Windows Server 2012は、リンク集約をネイティブでサポートしています。以前のWindows Serverバージョンは、デバイスドライバーソフトウェア内の機能の製造元のサポートに依存していました。たとえば、Intelは、Intel Fast EthernetカードとGigabitカードを結合するAdvanced Networking Services(ANS)をリリースしました。
Nvidiaは、Nvidia Network Access Manager / Firewall Toolによる「チーミング」もサポートしています。 HPには、HPブランドのNIC用のチーミングツールもあります。これにより、非EtherChanneled NICチーミングが可能になり、LACPを使用した802.3adなどのEtherChannel(ポート集約)のいくつかのモードがサポートされます。さらに、基本的なレイヤー3アグリゲーション(少なくともWindows XP SP3から利用可能)があり、同じネットワーク上の複数のIPインターフェイスを持つサーバーが負荷分散を実行し、複数のインターネット接続を持つホームユーザーが接続を増やすことができますすべてのインターフェイスで負荷を共有することで速度を向上させます。
Broadcomは、Broadcom Advanced Control Suite(BACS)を介して高度な機能を提供します。これにより、BASP(「Broadcom Advanced Server Program」)のチーム化機能が利用可能になり、802.3ad静的LAG、LACP、および不要な「スマートチーミング」動作するスイッチの設定。少なくとも1つがBroadcomであり、他のNICがチーム化を作成するために必要な機能を持っている限り、異なるベンダーのNICを組み合わせてBACSでチーム化を構成することができます。
Linux、FreeBSD、NetBSD、OpenBSD、macOS、OpenSolaris、およびAIXなどの商用Unixディストリビューションは、より高いレベルでイーサネットボンディング(トランキング)を実装しているため、NICがサポートしている限り、異なるメーカーまたはドライバーのNICを処理できますカーネル。
仮想化プラットフォーム Citrix XenServerおよびVMware ESXは、リンク集約をネイティブでサポートしています。 XenServerは、LACPと静的LAGの両方を提供します。 vSphere 5.1(ESXi)は、仮想分散スイッチで静的LAGとLACPの両方をネイティブにサポートします。
MicrosoftのHyper-Vの場合、ボンディングまたはチーム化はハイパーバイザーまたはOSレベルから提供されませんが、Windowsでの前述のチーム化の方法はHyper-Vにも適用されます。
制限事項
シングルスイッチ
モードbalance-rr 、 balance-xor 、 broadcastおよび802.3adを使用すると、リンク集約グループ内のすべての物理ポートは同じ論理スイッチ上に存在する必要があり、ほとんどのシナリオでは、物理スイッチが両方のリンクが接続されていると、オフラインになります。モードactive-backup 、 balance-tlb 、およびbalance-albは、2つ以上のスイッチでセットアップすることもできます。ただし、フェイルオーバー後(他のすべてのモードと同様)、場合によっては、アクティブなセッションが(ARPの問題により)失敗し、再起動する必要があります。
ただし、ほとんどすべてのベンダーには、この問題の一部を解決する独自の拡張機能があります。複数の物理スイッチを1つの論理スイッチに集約します。スプリットマルチリンクトランキング(SMLT)プロトコルにより、複数のイーサネットリンクをスタック内の複数のスイッチに分割でき、単一障害点を防ぎ、さらにすべてのスイッチを単一のアクセススタックから複数の集約スイッチに負荷分散できます。これらのデバイスは、接続(アクセス)デバイスからは単一のデバイス(スイッチブロック)に見え、パケットの重複を防ぐように、スイッチ間トランク(IST)全体で状態を同期します。 SMLTは、すべての速度トランク(10メガビット/秒、100メガビット/秒、1,000メガビット/秒、および10ギガビット/秒)でサブデバイスのフェイルオーバーとサブセカンドの回復を実現し、エンドデバイスに対して透過的に動作します。
同じリンク速度
ほとんどの実装では、集約で使用されるすべてのポートは、すべての銅線ポート(10/100 / 1000BASE‑T)、すべてのマルチモードファイバーポート、またはすべてのシングルモードファイバーポートなど、同じ物理タイプで構成されます。ただし、IEEE標準で必要なのは、各リンクが全二重であり、すべてのリンクが同じ速度(10、100、1,000、10,000 Mbit / s)であることです。
多くのスイッチはPHYに依存しません。つまり、スイッチに銅線、SX、LX、LX10、または他のGBICを混在させることができます。同じPHYを維持するのが通常のアプローチですが、1つのリンクに1000BASE-SXファイバーを、2番目のリンクに1000BASE-LX(より長く多様なパス)を集約することは可能ですが、重要なことは速度が1になることです両方のリンクのGbit / s全二重。 1つのパスの伝播時間はわずかに長くなる場合がありますが、標準が設計されているため、問題は発生しません。
イーサネット集約の不一致
集約の不一致とは、リンクの両端で集約タイプが一致しないことを指します。一部のスイッチは802.1AX標準を実装していませんが、リンク集約の静的構成をサポートしています。したがって、同様に静的に構成されたスイッチ間のリンクアグリゲーションは機能しますが、静的に構成されたスイッチとLACP用に構成されたデバイスとの間では失敗します。
例
イーサネット
イーサネットインターフェイスでは、チャネルボンディングにはイーサネットスイッチとホストコンピューターのオペレーティングシステムの両方からの支援が必要です。これは、RAID 0アレイのディスクにI / Oがストライピングされるのと同じ方法で、ネットワークインターフェイスにフレームを配信する必要があります。このため、チャネルボンディングの説明では、安価なノードの冗長配列(RAIN)または「独立したネットワークインターフェイスの冗長配列」も参照しています。
モデム
アナログモデムでは、POTSを介した複数のダイヤルアップリンクを結合できます。このような結合された接続のスループットは、リンク上の発信ネットワーク接続を単純に負荷分散するルーティングスキームの下のスループットよりも、結合されたリンクの総帯域幅に近くなります。
DSL
同様に、複数のDSL回線を結合して、より高い帯域幅を提供できます。英国では、ADSLは、2メガビット/秒の帯域幅にしかアクセスできない地域で、たとえば512kビット/秒のアップロード帯域幅と4メガビット/秒のダウンロード帯域幅を提供するために結合されることがあります。
DOCSIS
データオーバーケーブルテレビ(CATV)システムのDOCSIS 3.0および3.1仕様では、複数のチャネルを結合できます。 DOCSIS 3.0では、最大32のダウンストリームチャネルと8つのアップストリームチャネルを結合できます。これらは通常6または8MHzの幅です。 DOCSIS 3.1は、レベルのサブキャリアおよびより大きな概念チャネルでの集約を含む、より複雑な配置を定義します。
ワイヤレスブロードバンド
ブロードバンドボンディングは、レベル4以上のOSIレイヤーでの複数のチャネルの集約を指すチャネルボンディングの一種です。ボンディングされたチャネルは、T-1またはDSL回線などの有線リンクにすることができます。さらに、集約されたワイヤレスボンディングリンクのために、複数のセルラーリンクをボンディングすることができます。
以前のボンディング方法は、OSIの下位層に存在していたため、実装には通信会社との調整が必要でした。ブロードバンドボンディングは、上位層で実装されるため、この調整なしで実行できます。
ブロードバンドチャネルボンディングの商用実装には以下が含まれます。
- Mushroom Networksのブロードバンドボンディングサービス
- ConnectifyのSpeedify高速ボンディングVPN-複数のプラットフォーム用のソフトウェアアプリ:PC、Mac、iOS、Android
- PeplinkのSpeedFusionボンディング技術
- ViprinetのマルチチャネルVPNボンディングテクノロジー
- エルサイトのマルチチャネルセキュアデータリンク
- シノピの洗練されたインターネットボンディングテクノロジー
関連項目:MIMO
Wi-Fi
- 802.11(Wi-Fi)では、108 Gbit / sと呼ばれるSuper Gテクノロジーでチャネルボンディングが使用されます。 54Mbit / sのデータシグナリングレートを持つ標準802.11gの2つのチャネルを結合します。
- IEEE 802.11nでは、チャネル幅が40 MHzのモードが指定されています。これはチャネルボンディングではなく、古い20 MHzチャネル幅の2倍の単一チャネルであり、2つの隣接する20 MHz帯域を使用します。これにより、単一の20 MHzチャネルからPHYデータレートを直接2倍にできますが、MACおよびユーザーレベルのスループットは他の要因にも依存するため、2倍にはならない場合があります。