オープンフロー:キャンパスネットワークにおけるイノベーションを有効にします

  • 商品名:オープンフロー:キャンパスネットワークにおけるイノベーションを有効にします
  • 文章来源:McKeownのN、アンダーソンT、バラクリシュナンH、ら。オープンフロー:キャンパスネットワークの革新を有効にする[J]。ACM SIGCOMMコンピュータコミュニケーションレビュー、2008、38(2):69-74。

抽象:

このホワイトペーパーでは、研究者は、彼らが毎日のアプローチを使用して、ネットワーク上の実験プロトコルを実行することを可能にする技術をOpenflow--提示します。

オープンフローに基づいて、イーサネット・スイッチ内部フローテーブル及び標準化されたインターフェイスを追加し、フローエントリを削除します。私たちの目標は、大学のキャンパスバックボーンとワイヤリングクローゼットに配備されるために、彼らの製品を切り替えるためのOpenFlowを追加するには、ネットワークプロバイダを奨励することです。一方で、それはへの研究ができます:私たちは、オープンフローは、実用的なソリューションである、と信じて均一に、ワイヤスピードと高いポート密度異質スイッチ ;一方、供給者が上の実験を実行するために開示する必要はありません彼らのスイッチ内作品。研究者は外の現実世界の設定トラフィックで自分のアイデアを評価するためにできることに加えて、オープンフローはまた、このような大規模なテストプラットフォームのためのGENIとしてキャンパスの有益な構成要素として機能することができます。スタンフォード大学の二つの建物はすぐに、市販のイーサネットスイッチとルータがオープンフローネットワークを実行して、我々はまた、あなたの大学のネットワークでのOpenFlowの展開を検討することをお勧めします、他の学校に配備オープンフローを奨励する使用されます。

1.プログラマブルネットワークスの必要性は:

ネットワークは、重要なインフラの事業、家庭や学校の一部となっています。

自分の仕事-ネットワークの研究者の成功は両刃の剣で、より関連性が、その衝撃力と、よりスリムのチャンスなぜなら必要性、現実世界への影響を軽減するために、任意の特定のネットワーク技術革新デバイスとプロトコルの巨大なインストールベース、および生産フローをテストしたくない、高いハードルを作成するために、新しいアイデアを紹介するこの環境。今日では、新しいネットワークプロトコル(例えば、新しいルーティングプロトコル、またはIPの代替)を実験に十分に真の設定(例えば、大規模な実負荷流)することができるように、ほとんどの実用的な方法は、それの広い範囲を得ることは困難ではありません彼らは、その最も新しいアイデアネットワーク研究コミュニティを展開する必要が自信をしているしようとしたテストされていませんそこで、一般的にネットワークインフラストラクチャがすでにあることが合意された「リジッド。」

この問題を認識し、ネットワークコミュニティを開発する努力始めたプログラマブルネットワークなど、GENIを

これは、新しいネットワークアーキテクチャと分散システムをテストするための国の研究施設が示唆されています。これらの要件は、プログラム可能なプログラマブル・ネットワークスイッチおよびルータ(仮想)ができ、同時に、単離されたテスト・パケット・ネットワークの複数のハンドル例えば、GENIに、パケット処理要素(例えば、ルータ)は、ネットワーク内のリンクの部分を含む、リソースを割り当てるために、ネットワーク全体の研究者を想定し、ホスト端末は、研究者がそのようによれば、そのシートをプログラムするその仕事への意欲は、「フィルム」幹線ネットワーク、アクセスネットワーク、大学キャンパス、ワイヤリングクローゼット、無線ネットワークやセンサネットワークなどの産業研究所、を介して実行することができます。プログラマブルネットワーク仮想化は新しいアイデアの参入障壁を減らし、技術革新は、ネットワークインフラストラクチャの速度を上げることができます。しかし、それは国の野心的かつ高コストで核施設を建設する計画で、デプロイするために数年かかることがあります。

このホワイトペーパーでは、短期的な問題への懸念近い:研究者として、私たちはキャンパスネットワークで実験を実行しますか私たちはすぐに始めることができる方法を考え出すことができ、この技術は、コミュニティ全体の利益のために他のキャンパスに拡張されます。初期の頃には、大学のネットワーク管理者どのように快適な実験装置(スイッチ、ルータ、アクセスポイントなど)自分のネットワークに:しかし、この課題に対応するために、含めて答えられるには、いくつかの質問が、ありますか。研究者は、他の人を乱すことなく、ローカルネットワークの一部では、それに依存する方法を制御しますか?何が実際にそれをテストする必要があるネットワークスイッチに有効?私たちの目標は、プログラマビリティは、大学のキャンパスのワイヤリングクローゼットに拡張することができ、新たなスイッチング機能を提案することです。

それは簡単に研究者が新たな合意を展開ですが、ネットワーク管理者が機器ことを保証することができるように、我々は、彼らのスイッチやルータ、プログラム可能な、仮想化プラットフォームのオープンを提供するために、市販の「ブランド名」機器サプライヤーを説得するつもりはありません良いサポートが、この結果は明らかに短期的にはそうです-商業用スイッチおよびルータは、通常、オープンソフトウェアプラットフォームを提供していない、ましてや提供手段の仮想化ハードウェアやソフトウェアを外部インタフェースの標準化されたビジネスネットワーク(すなわち、単にパケット転送)が非常に狭く、すべての内部柔軟性スイッチが隠されている、異なる内部構造の異なるベンダーは、新しいアイデアをテストするために、研究者のための標準プラットフォームはありません。また、ネットワーク機器ベンダーが緊張する彼らのボックス・インターフェースを開くために、彼らはネットワークの崩壊につながる新しい実験を心配する理由を持って、展開し、脆弱な分散プロトコルおよびアルゴリズムを調整するために年を過ごしました。

もちろん、オープンプラットフォームは、新たな競合の参入障壁を低減し、いくつかのオープンソフトウェアプラットフォームはすでに存在しますが、私たちに必要な一切の理想的な性能やポート密度はありません。最も簡単な例は有するテーブルである複数のネットワークインタフェースオペレーティングシステム PCのを。全ての周知のオペレーティングシステムインターフェイス間のパケットのルーティングをサポートするために、及びルーティングプロトコルのオープンソース実装がある(例えば、Linuxディストリビューションの一部として、またはのxorpからは)、そしてほとんどの場合によって、オペレーティングシステムを変更する、とデータ・パケットを処理するために、ほぼすべての方法は、(例えば、クリックを使用して)、問題があることで、パフォーマンス PCもないキャビネットの外に大学をサポートするために必要なポートの数、(エンクロージャは100以上の部門二股ポートごとに必要です)ではありません- (一般的なPCは、それらの間のギャップが拡大して、1ギガビット/秒以上を達成することは困難であるがスイッチ処理100Gbit / sのデータ上キャビネットから)パケット処理性能をサポートし、専用と既存のハードウェアワイヤスピードの処理プラットフォームは、非常に適した大学のワイヤリングクローゼットではありません。例えば、ワシントン大学(ワシントン大学)が開発されているATCAベースの仮想プログラマブルルータ複数のインタフェースからのパケットを処理するためにワイヤスピードのネットワークプロセッサで同時に使用することができる過給プラネットプラットフォームと呼ばれるが、、。長い目で見れば、このアプローチは有望であるが、現在だけでコストがかかりすぎる配線キャビネットの大学で広く展開するための大きなスイッチングセンターに。他の極端では目標は、教育と研究の実験室用で、Netfpgaです。NetfpgaのPCIカードは、パケット処理および4ポートギガビットイーサネットを備えた低コスト、ユーザプログラマブルFPGAです。しかしNetfpgaは、4つのネットワークインタフェースに制限され、配線キャビネットで使用するのに十分ではありません。

そのため、あまりにもクローズと剛性の商用ソリューションは、研究のソリューションはどちらか不十分なパフォーマンス高コスト、の完全な研究ユニバーサルソリューションは、性能やコスト制約を克服するように見えることはできません。一つの方法は、汎用性により有望な妥協であり、ある程度シークより柔軟即ち、スイッチ。

  • 高性能と低コストを実現するのは簡単。
  • 広範な研究のサポート。
  • 生産フローのトラフィックの分離を試してください。
  • 取引先のニーズがプラットフォームを閉じ会います。

本明細書中に記載のオープンフロースイッチの仕様では、これらの4つの目標を達成するための予備的な試みです。

2. THEオープンフロースイッチ:

オープンフローは、基本的な考え方を切り替えるシンプルです:最も近代的なイーサネットスイッチとルータが含まれているという事実を利用するワイヤスピードランニングでフローテーブルをファイアウォール、NAT、QOS及び統計データの収集を達成するために、(通常はTCAMによって建て)。各ベンダーのフローテーブルごとに異なるものの、しかし、我々は、スイッチやルータの数に興味深いランのセットを同定している一般的な機能を機能のこの共通セットのオープンフロー使用は、オープンフローがオープンプロトコルを提供し、それは別のスイッチおよびルータであってもよいプログラミングフローテーブル生産・研究の流れへの交通ネットワーク管理者は、研究者が自分のトラフィックを制御するために従うことが自分のパスとパケット処理方法を選択することができます。このように、研究者は新しい試すことができますルーティングプロトコル、セキュリティモデル、アドレス指定方式、さらにはIPの選択肢を同じネットワーク上で、生産の流れを単離し、その過程で同じように、今日。オープンフロースイッチによってデータパスフローテーブル、及び関連付けられた動作フローエントリ組成、及びスイッチオープンフローによってサポートされるオペレーションのセットは拡張可能です。

しかし、我々は、スイッチの下について説明最小要件を、高性能、低コスト、よく指定されたデータパスは、各パッケージの任意のプロセスを指定する機能を与えることを意味柔軟性を持っている必要があり、かつより限定さを追求するために、まだ役に立ちます動作範囲。したがって、基本的な動作は、後に本明細書中で定義され、すべてのオープンフローのために必要なスイッチのセットは、オープンフロースイッチは、少なくとも3つの成分からなります:

  • フローテーブルどのようにフロースイッチに伝えるために各フローエントリに関連する動作を含み、。
  • 一个连接交换机和远程控制器的安全通道,用来在两者之间传输命令与数据包。
  • 发送命令和数据包的Openflow协议,Openflow协议为控制器与交换机通信提供了一种开放和标准的方式,通过指定一个标准接口(Openflow协议)实现在外部定义流表中的条目,避免了研究人员对交换机进行编程的需要。

很有必要对交换机进行分类,一种是OpenFlow专用交换机不支持标准的二层、三层网络处理。另一种是OpenFlow通用交换机支持标准的二层、三层网络处理,同时具备OpenFlow的新特性。

Dedicated OpenFlow switches

专用Openflow交换机是一个哑的数据路径元素,它仅仅是在端口之间转发数据包,被远程控制进程所定义。图1显示了一个Openflow交换机的示例。

在这种情况下,流被广泛定义,并且仅受到流表特定实现的能力的限制。例如,流可以是TCP连接,或者来自特定MAC地址或IP地址的所有数据包,或者具有相同VLAN标记的所有数据包,或者来自相同交换机端口的所有数据包。对于涉及非IPV4数据包的实验,流可以定义为与特定的头匹配的所有数据包。

每个流表项都有一个与之关联的简单操作,以下是三个最基本的操作(所有专用Openflow交换机都必须支持):

  • 将此流的数据包转发到给定端口。这要允许路由数据包通过网络,在大多数交换机中,这种情况预计会以线速发生。
  • 封装此流的数据包并将其转发到控制器。数据包被传送到安全通道,在那里被封装并发送到控制器。这通常用于新流中的第一个数据包,控制器因此可以决定是否应将该流添加到流表中,或者在一些实验中,它可以用来将所有数据包转发给控制器进行处理。
  • 丢弃此流的数据包。可用于安全性、抑制拒绝服务攻击或减少来自终端主机的虚假广播发现通信量。

流表中的每个流表项有三个字段:

  • 定义流的数据包头
  • 定义应如何处理数据包的操作
  • 跟踪每个流的数据包数和字节数以及自上次数据包与流匹配以来的时间的统计信息(帮助删除非活动流)。

在第一代“type 0”交换机中,流头是表1所示的10元组。

TCP流可以由所有10个字段指定,而IP流的定义中可能不包含传输端口。每个头字段都可以是通配符,以允许流的聚合,例如只定义VLAN ID一个字段代表属于此特定VLAN的所有流量。

OpenFlow-enabled switches

通过添加流表安全通道Openflow协议,Openflow将增强一些商业交换机、路由器和接入点的特性。通常,流表将重用现有硬件,如TCAM,安全通道和协议将被移植到交换机的操作系统上运行。图2显示了一个网络的OpenFlow商业交换机和接入点。

 

在本例中,所有的流表都由同一个控制器管理,Openflow协议允许一个交换机由两个或多个控制器控制,以提高性能或健壮性。我们的目标是使实验能够在现有的生产网络中与常规流量和应用程序一起进行。因此,为了赢得网络管理员的信任,启用Openflow的交换机必须将实验流量(由流表处理)与生产流量(由交换机的正常第2层和第3层管道处理)隔离开来。

实现这种分离有两种方法:

  • 一是增加第四个动作:通过交换机的正常处理管道转发此流的数据包
  • 另一个是为实验和生产流量定义单独的VLAN集

这两种方法都允许交换机以通常的方式处理不属于实验的正常生产流量,所有启用OpenFlow-enabled的交换机都需要支持一种或另一种方法,有些将同时支持这两种方法。

Additional features

如果一个交换机支持头格式和上面提到的四个基本操作(在openflow交换机规范中有详细说明),那么我们称它为“type 0”交换机。我们期望许多交换机将支持额外的操作,例如重写包头的部分(例如,对于NAT,或混淆中间链路上的地址)并将包映射到优先级类。同样,一些流表将能够匹配数据包头中的任意字段,从而能够使用新的非IP协议进行实验。当一组特定的特性出现时,我们将定义一个“类型1”交换机。

Controllers

控制器代表实验从流表中添加和删除流条目。例如,静态控制器可能是一个运行在PC上的简单应用程序,用于静态地建立流,以便在实验期间将一组测试的计算机互连。在这种情况下,流类似于当前网络中的VLAN—提供了一种简单的机制来将实验流量与生产网络隔离。从这个角度OpenFlow是Vlan的一个泛化。人们还可以想象,随着实验的进行,会有更复杂的控制器动态地添加或移除流,在一个使用模型中,研究人员可以控制OpenFlow交换机的整个网络,并自由决定如何处理所有流。一个更复杂的控制器可能有多个研究人员,每个人都有不同的帐户和权限,使他们能够在不同的流集合上运行多个独立的实验。被确定为在特定研究人员控制下的流(例如,通过在控制器中运行的策略表)可以被传递到研究人员的用户级控制程序,然后该程序决定是否应将新的流条目添加到交换机网络中。

おすすめ

転載: www.cnblogs.com/chelinger/p/11528064.html