ソフトウェア定義ネットワーク(パート3)

ソフトウェア定義ネットワークパート3

データプレーン

SDNデータプレーン

従来のネットワークデータプレーン

データプレーンは主にネットワーク制御ロジックを実行し、データパケットの処理は主にコントロールプレーンによって生成されたFIBテーブルをクエリすることによって完了します。パケット処理フロー:
ここに画像の説明を挿入
FIBテーブル:転送情報データベース転送情報ベース

従来のネットワークデータプレーンの特徴

  • データ転送処理はすべてプロトコルに関連しています。
  • 限られたユーザー構成のみをサポートし、プログラミングのカスタマイズはサポートしません。

SDNデータプレーン

ここに画像の説明を挿入

SDNデータプレーンの機能

  • 処理フロー:パーサー、転送、およびスケジューリングはすべてプログラム可能であり、プロトコルに依存しません。
  • 従来のネットワーク機器のレイヤ2またはレイヤ3転送テーブルは、フローテーブルに抽象化されています。

OpenFlowスイッチの一般的な転送モデル

ここに画像の説明を挿入

一般的なプログラム可能な転送モデル

ここに画像の説明を挿入

OpenFlowの概要

2008年、ニックらはSIGCOMM会議で論文「OpenFlow:キャンパスネットワークでのイノベーションの実現」を発表し、キャンパスネットワークでの実験的イノベーションにOpenFlowプロトコルを使用して、OpenFlowスイッチアーキテクチャを初めて提案しました。

论文感兴趣的可以评论滴滴我

ここに画像の説明を挿入

OpenFlowアーキテクチャの3つのコンポーネント

  • フローテーブル(フローテーブル)、各アクション(アクション)はフローエントリ(FlowEntry)に関連付けられ、フロー(Flow)の処理方法をスイッチに指示します。
  • セキュアチャネル(Sccure Channel)、OpenFlowスイッチはセキュアチャネルを介してリモートコントローラーに接続され、コントローラーとスイッチ間の相互作用を担当します。
  • OpenFlowプロトコル(フローテーブル)(プロトコル)は、サウスバウンドインターフェイス標準を定義し、コントローラーとスイッチ間の通信のためのオープンスタンダードの方法を提供します。

2009年12月、ONFは商用製品で使用できる画期的なOpenFlow1.0バージョン仕様をリリースしました。

OpenFlowは、主にONFによって推進されているサウスバウンドインターフェイスプロトコルであり、SDNの主流のサウスバウンドインターフェイスプロトコルの1つになっています。

OpenFlow仕様(OF)のいくつかのバージョンがリリースされました。

OpenFlowのメインバージョンと機能

ここに画像の説明を挿入

 - Open Flow可扩展匹配:既能增加关键字匹配字段,也能节省流表空间
 - 流表同步机制:多流表共享相同匹配字段,且可定义不同的动作
 - 计量表:控制关联流表数据包传输效率
 - 出向流表:入向匹配过程基础上添加了出向匹配

ONFは、1.0および1.3バージョンを長期サポート用の安定したバージョンと見なし、その後の一定期間の後続バージョンの開発では、バージョンの互換性を維持する必要があります。主要な技術仕様書を調査する

  • openflow-spec-v1.0.0
  • openflow-spec-v1.3.0

シングルフローテーブルからマルチレベルフローテーブルアーキテクチャ

ここに画像の説明を挿入

フローフローテーブルを開く

フローテーブルとは何ですか?

フローの概念:

  • 同時に、同じネットワーク内に特定の共通の機能(属性)を持つデータがストリームに抽象化されます。たとえば、同じ宛先アドレスにアクセスするデータはストリームと見なすことができます
  • フローは通常、ネットワーク管理者によって定義され、さまざまな戦略がさまざまなフローに従って実装されます。
  • OpenFlowシステムでは、データは「フロー」の単位で処理されます。

フローテーブル:特定のフローのポリシーテーブルエントリのコレクション、データパケットの検索と転送を担当します。フローテーブルには、一連のフローエントリが含まれています

OpenFlowv1.0フローエントリ

ここに画像の説明を挿入
フローテーブルエントリには、次の3つのフィールドが含まれます。

  • ヘッドフィールド:リンク層、ネットワーク層、トランスポート層のほとんどのIDをカバーします。
  • カウンター(カウンター):データフロー関連情報をカウントするために使用さ
    れ、スイッチ内の各フローテーブル、各データフロー、各デバイスポート、および各転送キューに対して維持できます。
  • アクションテーブル(アクション):フローテーブルエントリに一致するデータパケットが実行する必要がある次のステップを示します。

フローテーブルとその構成

ここに画像の説明を挿入
openflowスイッチ=セキュリティで保護されたチャネル+フローテーブル
ここの図は正確ではありません。正確には、コントローラーはセキュリティで保護されたチャネルに接続されています。つまり、Baiduである可能性がありますが、セキュリティで保護されたチャネルとは何ですか。

OpenFlowv1.0フローテーブルエントリヘッダーフィールド

ここに画像の説明を挿入
ここに画像の説明を挿入
ヘッダーフィールドには、従来のネットワークOSIモデルの最初の4つのレイヤーが含まれています。

  • 最初の層:メッセージがスイッチに入るポートである入力ポート。
  • 2番目のレイヤー:送信元MACアドレス(Ether送信元)、宛先MACアドレス(Ether dst)、イーサネットタイプ(Etherタイプ)、VLANタグ(VLAN ID)、VLAN優先度(VLAN優先度)。
  • 3番目の層:送信元IP(IP src)、宛先IP(IP dst)、IPプロトコルフィールド(IP Proto)、IPサービスタイプ(IP ToSbits);
  • 第4層:TCP / UDP送信元ポート番号(TCP / UCS srcポート)、TCP / UDP宛先ポート番号(TCP / UDP dstポート)。

OpenFlowv1.0フローエントリカウンター


メンテナンスは、スイッチ内の各フローテーブル、各データフロー、各デバイスポート、および各転送キューに対して実行され、データフローの統計関連情報に使用されます。

  • ➢各フローテーブルについて、統計で現在アクティブなエントリ数、クエリパケット数、一致パケット数など。
  • ➢各データストリームについて、受信したデータパケット数、バイト数、データストリームの期間などをカウントします
  • ➢各デバイスポートの場合、カウントに加えて、受信したデータパケットの数を、データパケットの数は、バイトの数は、受信バイト数が送信され、送信等、統計はまた、上で行うことができるの発生回数さまざまなエラー;
  • ➢キューごとに、送信されたデータパケットバイトのおよび送信中のオーバーフローエラーをカウントします

OpenFlowv1.0フローテーブルエントリ-アクションテーブル

一致したパケットを受信した後、その処理方法をスイッチに指示するために使用されます

➢各フローエントリは、ゼロから複数のアクション対応する場合があります。転送操作が定義されていない場合、パケットはサイレントに破棄されます
。➢同じ操作を実行すると、クラスの複数のエントリの優先度が異なる場合がありますが、パケットヘアが
送信されます。順序を保証するものではありません;
➢パラメータ値がOpenFlowである場合、スイッチはフローエントリの発生をサポートしていません。スイッチは適切なエラー情報をコントローラに返します。

必須アクション、オプションアクション
➢必須アクション:すべてのOpenFlowスイッチはデフォルトで
サポートする必要あります➢オプションアクション:スイッチは、サポートできるアクションのタイプをコントローラーに通知する必要があります

フローテーブルアクションリスト:

ここに画像の説明を挿入

OpenFlowポートタイプ:

ポートスイッチがデータパケットを送信し、スイッチがインターフェイスを介して他のスイッチとの論理接続を確立するためのネットワークインターフェイス

  • 物理ポート
  • 論理ポート:再利用性を向上させるために物理ポートを仮想化することです。論理ポートのデータパケットにはtunnel_idが必要です。
  • 予約済みポート:一般的な転送アクション(ALL、CONTROLLER、TABLE、IN_PORT、ANY、LOCAL、NORMAL、FLOODを含む)を指定します。

OpenFlow予約ポート:

●ALL:すべての発信ポートに転送しますが、着信ポートは除きます
●CONTROLLER:データパケットをカプセル化してコントローラーに転送します
●TABLE:packet_outデータパケットに対してフローテーブル操作を実行します
●LOCAL:ローカルネットワークスタックに転送します;
●IN_PORT:スレーブ着信ポートの送信
●NORMAL:スイッチの従来の転送メカニズムを使用してデータパケットを処理します
●FLOOD:最小スパニングツリーに従ってデバイスの発信ポートからフラッディングおよび送信します

パケット処理フロー

各パケットは優先度に従ってフローテーブルのエントリと照合され、一致するパケットの優先度が最も高いエントリが
照合結果になります。一致が成功すると、対応するカウンターが更新され、同時に転送アクションが実行されます。
一致するエントリが見つからない場合は、コントローラーに転送されます。

ここに画像の説明を挿入
マッチテーブルN これは、テーブルエントリのパケットヘッダーフィールドの精度の違いによって生成される一致優先度として理解されます
。STP:スパニングツリープロトコル
タイプ:リンク管理プロトコル
機能:単一の障害点を回避し、ネットワークループバック
をツリートポロジの確立に適用できます。コンピュータネットワークでは、主な機能は、ブリッジネットワーク内の冗長リンクがループを形成するのを防ぐことです。ただし、ネットワークの設計によっては、特定の要因によってSTPが失敗する可能性があり、トラブルシューティングが非常に困難になる場合があります。スパニングツリープロトコルは、すべてのメーカーのネットワーク機器に適しています。構成と機能強度には違いがありますが、原理とアプリケーションの効果は同じです。

パケットヘッダーの解析と照合のプロセス

ここに画像の説明を挿入

各バージョンのフローテーブルエントリ構造の変更

ここに画像の説明を挿入

グループテーブル

  • グループテーブルは、マルチキャスト、ロードバランシング、ディザスタリカバリバックアップ、集約などの機能を実現するために、OpenFlowスイッチのより高度なパケット転送機能(selectやallなど)を提供します。
  • グループテーブルは、複数のグループエントリ(グループエントリ)で構成されます。
    ここに画像の説明を挿入
  • グループ番号(グループ識別子):エントリグループを一意に識別する32ビットの符号なし整数。
  • グループテーブルタイプ(グループタイプ):パケット処理動作を示します。サポートする必要のあるアクションには、すべておよび間接が含まれ、オプションのアクションには、選択および高速フェイルオーバーが含まれます。
  • カウンターは、エントリー統計処理済みデータパケット:(カウンター)に設定されます。
  • アクションバレル(アクションバケット):アクション順序付きリストバケット。各アクションバケットには、一連のアクションとそのパラメーターも含まれています。

メーターテーブル

  • メーターを介して、OpenFlowスイッチはレート制限などの単純なQoS機能を実装
    できます。また、各ポートキューと組み合わせて、DiffServなどのより複雑なQoSフレームワークを実装することもできます。
  • 各メーターは、複数のメーターエントリ(メーターエントリ)で構成されています。

ここに画像の説明を挿入

  • メーター(メーター識別子):一意の32ビット符号なし整数のメーターエントリを識別します。
  • メータリングベルト(メータバンド):順序付けられていないメータバンドのセット、各メータバンドで指定された帯域幅レート、およびパケット処理動作。
  • カウンタは、データパケットを処理したメータリング統計テーブルエントリです:(カウンタ)。

SDNスイッチ

SDNスイッチスイッチングチップ

  • 汎用CPU;
  • 特定用途向け集積回路(ASIC);
  • フィールドプログラマブルゲートアレイ(フィールドプログラマブルゲートアレイ、FPGA)チップ。
  • ネットワークプロセッサ(NP
    ここに画像の説明を挿入

OpenFlowアーキテクチャをサポートするスイッチチップを設計する

  • ONFは、データプレーンの新しい転送抽象化テクノロジーを担当する転送抽象化グループ(Forwarding Abstraction WG)を設立し、既存のスイッチチップアーキテクチャに基づくOpenFlowインターフェイスをサポートする妥協ソリューション(Table Typing Pattern、TTP)を提案しました。後でNegotiableData-plane Model(Negotiable Data-plane Model、NDM)に名前が変更されました。
  • この妥協案は、既存のスイッチングチップに基づいており、従来のスイッチングチップに基づいてOpenFlowのサポートを追加します。したがって、このソリューションはチップメーカーに一般的に受け入れられており、業界でのスイッチングチップの実装をスピードアップします。

主流のスイッチングチップ製品

  • Broadcom StrataXGSシリーズスイッチングチップ:TridentとTomahawk、2つのシリーズのチップは異なるユーザーシナリオで使用されます。
  • Barefoot Tofinoシリーズスイッチングチップ:一般的なプログラム可能なデータプレーンPISAアーキテクチャに基づいており、データプレーンプログラミング言語P4をサポートし、最大12.8Tb / sのスイッチング処理能力を提供します。
  • Centecシリーズチップ:CTC5160、CTC7148、CTC8096。

SDNスイッチ

  • SDN物理(ハードウェア)スイッチ:それらのほとんどは、OpenFlowをサポートする混合モードスイッチであり、従来の2層および3層の処理モードとSDN処理モードをサポートします。
  • SDN仮想(ソフトウェア)スイッチ:低コスト、柔軟な構成、中小規模のネットワークの要件を満たすパフォーマンス

SDN物理スイッチ

  • ASICチップに基づくSDNブランドスイッチ;
      -Cisco、NEC、Juniper、IBM、HPE、Arista、DCNなど。
  • ASICチップに基づくSDNホワイトボックススイッチ;
      -BigSwitch、Centec、Pica8
  • NPに基づくSDNスイッチ。
  • FPGAベースのSDNスイッチ:NetFPGA

ASICチップをベースにしたSDNブランドスイッチ

  • Cisco Nexus 9000シリーズ:Nexus 9500、Nexus 9300
  • NECIP8800シリーズスイッチ;
  • Arista7160シリーズおよび7500R;
  • HPE FlexFabric 5700、5900、12900シリーズ;
  • ジュニパーEX9200シリーズ
  • IBM RackSwitchG8264スイッチ;
  • DCNCS16800シリーズ
  • H3CS12500シリーズ
  • ブロケードICX7450

ASICチップをベースにしたSDNホワイトボックススイッチ

  • Centec V330、V350、V580;
  • Pica8 P3290 P3295 P3297 P3920 P3922 P3930 P5101 P5401

SDN仮想(ソフトウェア)スイッチ

  • vSwitch(OVS)を開く
  • Cisco Nexus 1000V
  • H3C S1020V

SDNスイッチ選択の考慮事項パラメーター

  • バックプレーン帯域幅スイッチインターフェイスプロセッサとデータバス間で処理できるデータの最大量。バックプレーン帯域幅が高いほど、データを処理する能力が高くなります。バックプレーン帯域幅は、ラックマウントスイッチの技術パラメータです。タイプスイッチには通常、バックプレーン帯域幅の概念がありません。

     盒式交换机,机架式交换机和框架交换机都是属于交换机中的一种类别,它根据实际使用场景的不同以及配置参数等等方面而在定价和销售定位方面有所区别,大家在实际购买的时候需要结合自己的需求以及预算选择一款最合适的产品。
     1、机架式交换机:
     
      是可以安装在标准19“机柜中的网络设备,美观度好看;
     
     2、框架式交换机:
     
      是自带外框架的网络设备,一般情况也可以安装在19”网络机柜中,美观度一般;
     
     3、盒式交换机:
     
      我理解的就是落地式、塔式交换机,放在机柜中的托板上,美观度较差;
    
  • バックプレーンの帯域幅は数Gbpsから数百Gbpsまでさまざまであり、ポートの回線速度の転送を満たす限り、バックプレーンの帯域幅は可能な限り高くありません。

  • ワイヤスピードフォワーディングスイッチの場合、バックプレーン帯域幅の計算方法:ポート数はポートレート2に対応します(全二重モード)

  • ポート密度:スイッチの転送機能を表します。ポート密度:密度が高いほど、デバイスの転送機能が強化されます。

  • ポートレートレートが高いほど、デバイスの処理パフォーマンスが向上します。

  • サポートされているモジュールタイプタイプが多いほど、実用性が高くなり、LANインターフェイス、WANインターフェイス、ATMインターフェイスなどのさまざまなネットワーク環境に適用できます。

  • ポート帯域幅タイプ:豊富なほど優れています。つまり、40G、100G高速ポートをサポートし、100M、ギガビット低速ポートをサポートします。つまり、XFPをサポートし、SFP、SFP +、CFP、およびその他の光インターフェイスタイプをサポートします。 。

  • 時間遅延(遅延)

  • 消費電力

  • OpenFlowバージョンをサポート

  • ラックユニット

  • ネットワーク管理機能

参考資料:中国大学MOCC SDNオンラインコース、Baidu Baike

文章有什么问题或错误的地方可在评论区或私信联系我,谢谢!

おすすめ

転載: blog.csdn.net/weixin_46239293/article/details/112692805