JP5813885B2 - コントローラでネットワークプロトコルアドレス指定を管理するためのシステム及び方法 - Google Patents

コントローラでネットワークプロトコルアドレス指定を管理するためのシステム及び方法 Download PDF

Info

Publication number
JP5813885B2
JP5813885B2 JP2014535746A JP2014535746A JP5813885B2 JP 5813885 B2 JP5813885 B2 JP 5813885B2 JP 2014535746 A JP2014535746 A JP 2014535746A JP 2014535746 A JP2014535746 A JP 2014535746A JP 5813885 B2 JP5813885 B2 JP 5813885B2
Authority
JP
Japan
Prior art keywords
packet
controller
server
network
dhcp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014535746A
Other languages
English (en)
Other versions
JP2014532373A (ja
Inventor
カンジョー ジアン
カンジョー ジアン
シュードン ジョウ
シュードン ジョウ
ロバート エドワード アダムズ
ロバート エドワード アダムズ
マンディープ シン ダミ
マンディープ シン ダミ
アレクサンダー スタッフォード デイヴィッド レイマーズ
アレクサンダー スタッフォード デイヴィッド レイマーズ
Original Assignee
ビッグ スウィッチ ネットワークス インコーポレイテッド
ビッグ スウィッチ ネットワークス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビッグ スウィッチ ネットワークス インコーポレイテッド, ビッグ スウィッチ ネットワークス インコーポレイテッド filed Critical ビッグ スウィッチ ネットワークス インコーポレイテッド
Publication of JP2014532373A publication Critical patent/JP2014532373A/ja
Application granted granted Critical
Publication of JP5813885B2 publication Critical patent/JP5813885B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信ネットワークに関するもので、より詳細には、コントローラを使用してネットワークにおけるネットワークアドレス指定に関連したネットワークトラフィックをコントロールすることに関する。
本出願は、2011年10月14日に出願された米国特許出願第13/274,157号の優先権を主張するもので、この出願は、参考としてここにそのまま援用される。
インターネット、及びインターネットに接続されたローカルデータネットワークのようなパケットベースのネットワークは、ネットワークスイッチを備えている。ネットワークスイッチは、パケットソースからパケット行先へパケットを転送するのに使用される。パケットは、時々、フレームとも称される。
ある売主のスイッチを、別の売主の装置を使用してコントロールすることは困難であるか又は不可能である。これは、ある売主のスイッチ装置が、別の売主のスイッチ装置とは異なるオペレーティングシステム及び1組のコントロール手順を使用するからである。異なる形式のスイッチプラットホームをコントロールすることに関連した難題に対処するために、クロスプラットホームプロトコルが開発された。それらのプロトコルは、互換性のないスイッチを集中的にコントロールできるようにする。
ネットワークのスイッチにクロスプラットホームコントローラクライアントを含ませることができる。コントローラクライアントは、ネットワーク経路を経て、それに対応するコントローラサーバーと通信することができる。コントローラクライアントは、種々のスイッチハードウェアにおいて実施できるので、単一のコントローラで、互換性のないスイッチ装置をコントロールすることができる。
ネットワークのエンドホストは、スイッチを通してネットワークパケットを送信することによって通信する。ネットワークパケットの各々は、ソースインターネットプロトコル(IP)アドレス情報及び/又は他のプロトコルアドレス情報を含むパケットヘッダフィールドを有する。所与のネットワークパケットのソースIPアドレス情報は、どのエンドホストがそのネットワークパケットを送信したか識別する。他のエンドホストと通信するために、各エンドホストは、先ず、ネットワークからそれに対応するIPアドレスを得なければならない。ネットワークは、ネットワーク内のエンドホストにIPアドレスを配布する1つ以上のサーバーを含む。サーバーは、ダイナミックホストコンフィギュレーションプロトコル(DHCP)を使用してIPアドレスを配布することができる。IPアドレスを得るために、エンドホストは、ネットワークの1つおきのエンドホストに到達し得るDHCP発見要求パケットでネットワークが溢れるようにする。その発見要求を受信するDHCPサーバーは、エンドホストが使用するための利用可能なIPアドレスをエンドホストに通知するDHCPオファーパケットで応答する。エンドホストは、オファーされたIPアドレスのどれがエンドホストにより受け容れられたかDHCPサーバーに通知するDHCPオファー要求パケットでネットワークが溢れるようにすることにより、DHCPオファーパケットの中から利用可能なIPアドレスを受け容れる。
DHCP要求を送信するためにネットワークが溢れることは、不必要なネットワークトラフィックでネットワークに望ましからぬ負荷がかかる。というのは、DHCP要求が、DHCPサーバーでないエンドホストへ送信されるからである。不必要なDHCP要求を転送することは、ネットワーク内のスイッチの性能に影響する。それ故、ネットワーク内のエンドホストへのアドレス指定を遂行するための改良された構成体を提供できることが望まれる。
コントローラサーバーのようなコントローラは、ネットワーク内のスイッチをコントロールするために使用される。コントローラは、ダイナミックホストコンフィギュレーションプロトコル(DHCP)要求(又は、例えば、エンドホストへのプロトコルアドレスの指定を要求する他の要求)のブロードキャスティングに関連したネットワークトラフィックを、DHCPプロトコルに関連したネットワークパケットを識別しそしてその識別されたネットワークパケットを処理することにより、減少することができる。又、コントローラは、ネットワークパケットのパケットヘッダフィールドから情報を検索することによりどのネットワークパケットがDHCP要求パケットであるか識別することができる。
エンドホストから受信されたネットワークパケットがDHCP要求パケットであることを識別するのに応答して、コントローラは、エンドホストにプロトコルアドレスを指定できる適当なサーバー(例えば、DHCPサーバー又はDHCPリレーエージェント)を識別し、そしてDHCP要求パケットをそのサーバーへ転送することにより、DHCP要求パケットを処理することができる。サーバーは、サーバーのデータベースからサーバーを選択することにより識別される。データベースは、ネットワーク内のサーバーからコントローラにより受信されるDHCP応答パケットに基づいて更新される。例えば、コントローラは、DHCP応答パケットのパケットヘッダフィールドから検索されたサーバーのハードウェアアドレス及びプロトコルアドレスのようなアドレス情報を記憶する。その記憶された情報は、将来のDHCP要求パケットを満足するためのサーバーを識別するのに使用される。
コントローラは、ブロードキャストパケットからのDHCP要求パケットを、サーバーに向けられるユニキャストパケットへと変換するために、DHCP要求パケットを変更する。DHCP要求パケットをユニキャストパケットへと変換するため、コントローラは、イーサネット(登録商標)(Ethernet)アドレス及びインターネットプロトコル(IP)アドレスのようなパケットのアドレスヘッダフィールドを変更する。例えば、コントローラは、サーバーのハードウェアアドレスをパケットの行先アドレスフィールドに記憶する。コントローラは、ネットワークトポロジー情報に基づいてパケットのイーサネットアドレスを変更すべきかIPアドレスを変更すべきか決定する。例えば、コントローラは、エンドホスト及びサーバーが同じサブネットワークに位置しているとの決定に応答して、パケットのイーサネット行先アドレスフィールドを変更する。別の例として、コントローラは、エンドホスト及びサーバーが異なるサブネットワークに位置しているとの決定に応答して、パケットのIP行先アドレスを変更する。又、コントローラは、フローテーブルエントリーのようなパケット転送ルールをスイッチに与えるか、又は変更されたDHCP要求パケットを、サーバーに結合されたスイッチへ、コントローラを経て、転送することにより、変更されたDHCP要求パケットをサーバーへ転送する。
本発明の更に別の特徴、その特性及び種々の効果は、添付図面及び以下の詳細な説明から明らかとなろう。
本発明の一実施形態によるコントローラ及びパケット転送システムを備えたネットワークを例示する図である。 本発明の一実施形態によりパケット処理エンジンを実行するマイクロプロセッサベースの装置を使用してパケット転送システムをどのように実施するか示す図である。 本発明の一実施形態によるパケット転送システム及びその関連コントローラを示す図で、パケット転送システムはコントロールユニット及びその関連スイッチング集積回路を含むものである。 本発明の一実施形態によりパケット転送システムがマスター及びスレーブコントローラを有し、且つコントローラサーバーがリモートコンピューティング装置又はパケット転送システムのラインカードにおいて実施されるネットワークを示す図である。 本発明の一実施形態によりネットワーク接続を経て通信するコントローラサーバー及びコントローラクライアントを示す図である。 本発明の一実施形態によりパケット処理システムによって使用される形式のフローテーブルを示す図である。 本発明の一実施形態によりパケット処理システムによって使用される形式の例示的フローテーブルを示す図で、フローテーブルのフローテーブルエントリーに基づいて遂行される3つの例示的形式のパケット転送を示す図である。 本発明の一実施形態により特定のアドレスをもつパケットがスイッチの第3の物理的ポートへ転送される例示的フローテーブルを示す図である。 本発明の一実施形態により特定のアドレスをもつパケットがスイッチの第5の物理的ポートへ転送される例示的フローテーブルを示す図である。 本発明の一実施形態によるパケット処理システムでパケットを処理するのに含まれる例示的ステップを示すフローチャートである。 本発明の一実施形態によりエンドホストがダイナミックホストコンフィギュレーションプロトコル(DHCP)サーバーからインターネットプロトコル(IP)アドレスを要求する例示的ネットワークの図である。 本発明の一実施形態によりDHCPサーバーからIPアドレスを要求するためにエンドホストにより送信される例示的DHCP発見要求パケットである。 本発明の一実施形態によりDHCPサーバーへ直接転送される例示的コントローラ変更DHCP発見要求パケットである。 本発明の一実施形態によりIPアドレスをエンドホストへオファーするためにDHCPサーバーにより送信される例示的DHCPサーバーオファー応答パケットである。 本発明の一実施形態によりDHCPサーバーオファー応答に応答してエンドホストにより送信される例示的DHCPオファー要求パケットである。 本発明の一実施形態によりDHCPサーバーへ直接転送される例示的コントローラ変更DHCPオファー要求パケットである。 本発明の一実施形態によりエンドホストへのIPアドレスの指定を肯定するためにDHCPサーバーにより送信される例示的DHCP確認応答パケットである。 本発明の一実施形態によりエンドホストからのDHCP要求を既知のDHCPサーバーへ転送するためにコントローラを使用して遂行されるステップを例示する図である。 本発明の一実施形態により第1サブネットワークに位置するエンドホストが第2サブネットワークに位置するDHCPサーバーからIPアドレスを要求するネットワークを例示する図である。 コントローラサーバーにより形成されて応答エージェントへ送信される例示的コントローラ変更DHCP発見要求パケットである。 本発明の一実施形態により内蔵リレーエージェント機能を有するコントローラにより形成される例示的コントローラ変更DHCP発見要求パケットである。 本発明の一実施形態により内蔵リレーエージェント機能を有するコントローラサーバーでDHCP要求を満足させることに伴う例示的ステップを示す図である。 本発明の一実施形態によりエンドホストとDHCPサーバーとの間のDHCPパケットの流れをコントロールするためにコントローラにより遂行される例示的ステップのフローチャートである。 本発明の一実施形態によりネットワークトポロジー情報に基づいてコントローラ変更DHCP要求パケットを形成するためにコントローラにより遂行される例示的ステップのフローチャートである。 本発明の一実施形態によりネットワークのスイッチ全体を通してコントローラが分散された例示的ネットワークを示す図である。
インターネット、及びインターネットに結合されたローカル及び地域的ネットワークのようなネットワークは、パケットベーススイッチに依存する。ここでネットワークスイッチとも称されるそれらのスイッチ、パケット処理システム、或いはパケット転送システムは、アドレス情報を基づいてパケットを転送する。このように、パケットソースによって送信されるデータパケットは、パケット行先へ配送される。ネットワーク用語では、パケットソース及び行先は、時々、エンドホストとも称される。エンドホストは、例えは、パーソナルコンピュータ、サーバー、及び他のコンピューティング装置である。
ネットワークスイッチの範囲は、能力という点で、比較的小さなイーサネットスイッチ及びワイヤレスアクセスポイントから、複数のラインカード、冗長電源、及びスーパーバイザー能力を含む大きなラックベースシステムまでである。ネットワークが複数の売主からの装置を備えることは、珍しくない。異なる売主からのネットワークスイッチは、パケット転送ネットワークを形成するように相互接続できるが、それらのオペレーティングシステムとコントロールプロトコルとの間には互換性がないために集中的に管理することが困難である。
これらの潜在的な非互換性は、共通のクロスプラットホームコントロールモジュール(ここでは、時々、コントローラクライアントとも称される)を各ネットワークスイッチに合体することにより克服することができる。集中化クロスプラットホームコントローラサーバーが各ネットワークリンクを経て各コントロールクライアントと相互作用する。クロスプラットホームコントローラサーバー及びそれに対応するコントローラクライアントを使用することで、潜在的に異種のネットワークスイッチ装置を集中的に管理できるようにする。
一例として時々ここに述べる1つの例示的構成では、図1のコントローラサーバー18のような1つ以上のコントローラサーバーにより集中的コントロールが提供される。コントローラサーバー18は、スタンドアローンコンピュータ、コンピュータのクラスター、複数の位置に分散された1組のコンピュータ、ネットワークスイッチ内に埋め込まれるハードウェア、又は他の適当なコンピューティング装置12において実施される。コントローラサーバー18は、単一コンピュータ上の単一プロセスとして実行されるか、又は冗長性のために多数のホストにわたって分散される。分散型構成の使用は、予期せぬネットワーク区画(例えば、2つのキャンパス間のネットワークリンクが破壊された状態)に対してネットワーク10に融通性を与える上で役立つ。
分散型コントローラ構成では、コントローラノードは、コントローラ内プロトコルを使用して情報を交換する。例えば、新たなエンドホストが、第1のコントローラノードにしか接続されていないネットワークハードウェア(例えば、スイッチ)に接続される場合には、その第1のコントローラノードは、コントローラ内プロトコルを使用して、他のコントローラノードに新たなエンドホストの存在を通知する。要望があれば、スイッチ又は他のネットワークコンポーネントが複数のコントローラノードに接続される。単一のコントローラサーバーを使用して関連スイッチのネットワークをコントロールする構成が、ここでは、一例として時々説明される。
図1のコントローラサーバー18は、ネットワーク10のトポロジーに関する情報を収集する。例えば、コントローラサーバー18は、ネットワーク10のトポロジーを発見するためにネットワークを通して「リンクレイヤ発見プロトコル(LLDP)」プローブパケットを送信する。コントローラサーバー18は、ネットワークトポロジーの情報及びネットワーク装置の能力の情報を使用して、ネットワークを通して流れるパケットに対する適当な経路を決定する。適当な経路が識別されると、コントローラサーバー18は、それに対応する設定データをネットワーク10のハードウェアへ送信して、パケットが必要に応じてネットワークに流れるように保証する。そのようなネットワーク構成オペレーションは、システムセットアップオペレーション中に遂行されるか、バックグランドで連続的に遂行されるか、又は新たに送信されるデータパケット(例えば、既存の経路が確立されていないパケット)の出現に応答して遂行される。
コントローラサーバー18は、ネットワーク構成ルール20を実施するのに使用される。このルール20は、種々のネットワークエンティティに対してどのサービスが利用できるか明示する。一例として、ルール20は、ネットワーク10のどのユーザ(又はユーザの形式)が特定のサーバーにアクセスできるか明示する。ルール20は、例えば、コンピューティング装置12のデータベースに維持される。
コントローラサーバー18、及び各ネットワークスイッチ14のコントローラクライアント30は、ネットワークプロトコルスタックを使用して、ネットワークリンク16を経て通信する。
各スイッチ(パケット転送システム)14は、入力−出力ポート34を有する。ケーブルを使用して、装置の断片がポート34に接続される。例えば、パーソナルコンピュータ、ウェブサーバー及び他のコンピューティング装置のようなエンドホストがポート34にプラグインされる。又、ポート34は、1つのスイッチ14を他のスイッチ14に接続するのにも使用される。
パケット処理回路32は、1つのポート34から別のポート34へパケットを転送するのに使用されると共に、到来するパケットに対して他の適当なアクションを遂行するのにも使用される。パケット処理回路32は、専用高速スイッチ回路のような1つ以上の集積回路を使用して実施され、そしてハードウェアデータ経路として働く。要望があれば、コントロールユニット24において実行されるパケット処理ソフトウェア26は、ソフトウェアデータ経路を実施するのに使用される。
コントロールユニット24は、コントロールソフトウェアを記憶し実行するための処理及びメモリ回路(例えば、1つ以上のマイクロプロセッサ、メモリチップ、及び他のコントロール回路)を含む。例えば、コントロールユニット24は、パケット処理ソフトウェア26のようなソフトウェアを記憶し及び実行し、フローテーブル28を記憶し、そしてコントローラクライアント30のオペレーションをサポートするのに使用される。
コントローラクライアント30及びコントローラサーバー18は、OpenFlowプロトコル(例えば、OpenFlowスイッチ仕様書バージョン1.0.0を参照)のようなネットワークスイッチプロトコルに準拠する。コントローラクライアント30の中の1つ以上のクライアントは、他のプロトコル(例えば、簡単なネットワークマネージメントプロトコル)にも準拠する。OpenFlowプロトコル或いは他の適当なプロトコルを使用して、コントローラサーバー18は、入力−出力ポート34から到来するパケットをスイッチ14がどのように処理するか決定するデータをコントローラクライアント30に与える。
1つの適当な構成では、コントローラサーバー18からのフローテーブルデータは、フローテーブル28のようなフローテーブルに記憶される。フローテーブル28のエントリーは、スイッチ14(例えば、パケット処理回路32及び/又はパケット処理ソフトウェア26のファンクション)を構成するのに使用される。典型的なシナリオにおいて、フローテーブル28は、フローテーブルエントリーのためのキャッシュ記憶装置として働き、そしてそれらフローテーブルエントリーの対応するバージョンが、パケット処理回路32の回路により維持される設定内に埋め込まれる。しかしながら、これは、単なる例示に過ぎない。フローテーブル28は、スイッチ14のフローテーブルエントリーに対して排他的記憶装置として働いてもよいし、又はパケット処理回路32内のフローテーブル記憶リソースのために省略されてもよい。一般的に、フローテーブルエントリーは、適当なデータ構造(例えば、1つ以上のテーブル、リスト、等)を使用して記憶される。明瞭化のために、フローテーブル28のデータ(コントロールユニット24のデータベースに維持されるか又はパケット処理回路32の構成内に埋め込まれる)は、ここでは、フローテーブルエントリー(例えば、フローテーブル28の行)を形成するものと称される。
到来するパケットをスイッチ14がどのように処理すべきか決定するデータを記憶するフローテーブル28の例は、単なる例示に過ぎない。ネットワークパケットをどのように転送すべきかの決定を行う上でパケット転送システム14の助けとなるように任意のパケット転送決定エンジンが使用される。例えば、パケット転送決定エンジン28は、ネットワークパケットの属性に基づいて(例えば、ネットワークプロトコルヘッダに基づいて)ネットワークパケットを所定のポートへ転送するようにパケット転送システム14に指令する。
要望があれば、スイッチ14は、コントロールソフトウェアを実行し且つ図2のパケット処理回路32を省略する汎用処理プラットホームを使用して実施されてもよい。この形式の構成が図2に示されている。図2の例示的構成に示されたように、コンピューティング装置12のコントローラサーバー18は、ネットワークリンク16を経てスイッチ(パケット転送システム)14のコントローラクライアント30と通信する。コントローラサーバー18は、例えば、コントローラクライアント30へフローテーブルエントリーを搬送し、それらは、フローテーブル28に維持される。パケット処理ソフトウェア40は、ネットワークインターフェイス38を使用して、パケット(例えば、ポート34を使用して送信及び受信されるパケット)を転送し、さもなければ、処理する。ネットワークインターフェイス38は、(一例として)スイッチ14のシステムボードにプラグインされる1つ以上のネットワークインターフェイスカードを使用して実施される。
図1のネットワークスイッチ14のようなネットワークスイッチは、1つ以上の高速スイッチング集積回路(スイッチIC)に結合されるコントロール回路を使用して実施される。この形式の構成が図3に示されている。図3に示すように、コンピューティング装置12のコントローラサーバー18は、経路16を経てネットワークスイッチ14と通信する。スイッチ14は、処理回路24と、スイッチIC32−1・・・スイッチIC32−Nのような1つ以上の関連スイッチIC32とを備えている。コントロール回路24は、例えば、マイクロプロセッサ及びメモリをベースとする。スイッチIC32−1・・・32−Nは、高い速度でパケットスイッチングタスクを取り扱うことのできる専用スイッチング回路である。一例として、コントロール回路24は、500MHzマイクロプロセッサをベースとし、そしてスイッチIC32−1・・・32−Nは、入力−出力ポート34の48からのデータを取り扱うことができ、その各々は、(一例として)1−10Gbpsの関連データレートを有する。
図1のネットワークスイッチ14を実施するのに使用される別の例示的スイッチアーキテクチャーが図4に示されている。図4の例では、スイッチ(パケット転送システム)14は、プロセッサ24−1のようなマスタープロセッサと、スレーブプロセッサ24−2のような1つ以上の関連スレーブプロセッサとを含む。スイッチIC32と、プロセッサ24−2のようなスレーブプロセッサは、ラインカード48のようなラインカードにおいて実施される。ラインカード50のような1つ以上のラインカードは、処理回路(例えば、マイクロプロセッサ及びメモリ)を含む。ラインカード48及び50は、バックプレーン52を使用して相互接続される。
図4に示す形式の構成では、コントローラサーバーは、ラインカードの処理リソースを使用して実施される。例えば、コントローラサーバーは、図4にコントローラサーバー18−Bで示されたように、ラインカード50において実施される。要望があれば、コントローラサーバーは、コンピューティング装置12において実施されてもよい(例えば、図4のコントローラサーバー18−Aとして)。コントローラサーバー18−A又はコントローラサーバー18−Bは、プロセッサ24−1及び/又は24−2のようなプロセッサを使用して実施されるコントローラクライアント30と通信する。コントローラサーバー18−Aとコントローラクライアントとの間の通信は、ネットワーク接続16を経て行われる。コントローラサーバー18−Bとコントローラクライアントとの間の通信は、バックプレーン52を経て(例えば、TCP/IPのようなプロトコルを使用してネットワーク接続を経て)行われる。
図5に示すように、コントローラサーバー18及びコントローラクライアント30は、ネットワークプロトコルスタック58及びネットワークプロトコルスタック60のようなネットワークプロトコルスタックを使用してネットワーク経路66を経て通信する。それらのスタック58及び60は、例えば、Linux TCP/IPスタック又はVxWorksオペレーティングシステムにおけるTCP/IPスタックである(一例として)。経路66は、例えば、スイッチ14と外部装置との間のネットワーク接続をサポートする経路(例えば、図1のネットワーク経路16)でもよいし、又は図4に示すように、スイッチ14のバックプレーン52におけるネットワーク接続をサポートする経路でもよい。経路66が経路16のようなネットワーク経路である構成が、ここでは、一例として説明される。
コントロールプロトコルスタック56は、ネットワークプロトコルスタック58とコントロールソフトウェア54との間のインターフェイスとして働く。コントロールプロトコルスタック62は、ネットワークプロトコルスタック60とコントロールソフトウェア64との間のインターフェイスとして働く。オペレーション中に、コントローラサーバー18がコントローラクライアント30と通信するときに、コントロールプロトコルスタック56は、コントロールプロトコルメッセージ(例えば、ポートをアクチベートするか、又は特定のフローテーブルエントリーをフローテーブル28へインストールするためのコントロールメッセージ)を発生してパースする。図5に示す形式の構成を使用することにより、コントローラサーバー18とコントローラクライアント30との間のリンクを経てネットワーク接続が形成される。コントローラサーバー18及びコントローラクライアント30は、インターネットプロトコル(IP)ネットワーク接続を経て送信コントロールプロコル(TCP)又はユーザデータグラムプロトコル(UDP)を使用して通信することができる。コントローラサーバー18とコントローラクライアント30との間でネットワーク接続を経て通信するときに使用されるコントロールプロトコルは、例えば、SNMP及びOpenFlowプロトコルスタックバージョン1.0.0を含む(一例として)。
フローテーブル28は、複数のフィールド(ヘッダフィールドとも称される)を有するフローテーブルエントリー(例えば、テーブルの行)を含む。スイッチ14により受信されたパケットのフィールドは、フローテーブルのフィールドと比較される。各フローテーブルエントリーには、アクションが関連している。パケットのフィールドとフローテーブルエントリーのフィールドとが一致するときには、そのフローテーブルエントリーに対応するアクションが行われる。
例示的フローテーブルが図6に示されている。図6Aに示すように、テーブル28は、フローテーブルエントリー(行)68を有する。各フローテーブルエントリーは、ヘッダ70、アクション72、及び統計値74に関連している。ヘッダ70は、各々、複数のヘッダフィールド76を含む。各フローテーブルエントリーのアクションは、パケットのフィールドと、そのフローテーブルエントリーのヘッダの対応フィールドとの間の一致が検出されたときに、スイッチ14がパケットに対してどんなアクションを遂行するか指示する。スイッチ14は、スイッチ14の遂行に関する情報を得ることが望まれるときにコントローラサーバー18により要求される統計データ(カウンタ値)をフローテーブル28の統計部分に維持する。
ヘッダ70のヘッダフィールド(及び各到来パケットの対応フィールド)は、次のフィールドを含む。進入ポート(即ち、パケットが受け取られるところのスイッチ14の物理的ポートのアイデンティティ)、イーサネットソースアドレス、イーサネット行先アドレス、イーサネット形式、バーチャルローカルエリアネットワーク(VLAN)id、VLANプライオリティ、IPソースアドレス、IP行先アドレス、IPプロトコル、IP ToS(サービスの形式)ビット、トランスポートソースポート/インターネットコントロールメッセージプロトコル(ICMP)形式(ソースTCPポートとも称される)、及びトランスポート行先ポート/ICMPコード(行先TCPポートとも称される)。必要に応じて、他のフィールドも使用される。例えば、ネットワークプロトコルフィールド及びプロトコルポートフィールドが使用される。
各フローテーブルエントリー(フローエントリー)には、一致するパケットをスイッチがどのように取り扱うか指令するゼロ以上のアクションに関連している。転送アクションが存在しない場合には、パケットがドロップされるのが好ましい。パケットフィールドとフローテーブルエントリーのヘッダフィールドとの間の一致が検出されたときにスイッチ14により行われるアクションは、次のアクションを含む。転送(例えば、到来するインターフェイスを含まない全てのインターフェイスを経てパケットを送出するALL;パケットをカプセル化してコントローラサーバーへ送るCONTROLLER;スイッチのローカルネットワーキングスタックへパケットを送るLOCAL;フローテーブル28におけるアクションを遂行するTABLE;入力ポートからパケットを送出するIN_PORT;例えば、慣習的なレベル2、VLAN、及びレベル3処理を使用してスイッチによりサポートされるデフォールト転送経路でパケットを処理するNORMAL;及び到来するインターフェイスを含まない最小スパンツリーに沿ってパケットを溢れさせるFLOOD)。スイッチ14により行われる付加的なアクションは、次のものを含む。ポートにアタッチされたキューを通してパケットを転送するエンキューアクション、及びドロップアクション(例えば、特定のアクションを伴わずにフローテーブルエントリーに一致するパケットをドロップする)。変更フィールドアクションもスイッチ14によりサポートされる。行われる変更フィールドアクションは、例えば、セットVLAN ID、セットVLANプライオリティ、ストリップVLANヘッダ、変更イーサネットソースMAC(メディアアクセスコントロール)アドレス、変更イーサネット行先MACアドレス、変更IPv4ソースアドレス、変更IPv4 ToSビット、変更トランスポート行先ポートを含む。
図6Bは、3つのフローテーブルエントリーを有するフローテーブルを例示するものである。それらエントリーは、ワイルドカード(例えば、“*”記号)を伴うフィールドを含む。ワイルドカードが特定のフィールドに存在するときには、全ての到来するパケットは、到来するパケットのフィールドの特定値に関わりなく、フィールドに対して「一致」を形成するとみなされる。
図6Bのテーブルの第1行のエントリーは、フローテーブルエントリーが動作しているスイッチに、イーサネットスイッチングを遂行するように指令する。特に、一致するイーサネット行先アドレスを伴う到来するパケットは、ポート3へ転送される。
図6Bのテーブルの第2行のエントリーは、インターネットルーティングを遂行するためにスイッチをどのように構成するか示す(即ち、パケットは、それらの行先IPアドレスに基づいて転送される)。
図6Bのテーブルの第3行は、ファイアウオールを形成するためにスイッチをどのように構成するか示すエントリーを含む。行先IPポート値が80のパケットが受け取られると、そのパケットはドロップされる(即ち、スイッチは、ポート80のトラフィックを遮るファイアウオールとして働くように構成される)。
図6Bに示す形式のフローテーブルエントリーは、システム設定オペレーション中にコントローラサーバー18によりスイッチ14へロードされるか、又はスイッチ14からコントローラサーバー18においてパケットを受け取って処理するのに応答してリアルタイムでコントローラサーバー18からスイッチ14へ送られる。多数のスイッチ14を伴うネットワークでは、ネットワークを通る経路を形成するために各スイッチに適当なフローテーブルエントリーが与えられる。
一例として、各エンドホスト間に直列に接続された第1及び第2スイッチを含むネットワークについて考える。第1のエンドホストから第2のエンドホストへトラフィックを送るときには、第1及び第2のスイッチを通してトラフィックをルーティングすることが望ましい。第2のスイッチが第1のスイッチのポート3に接続される場合、第2のエンドホストが第2のスイッチのポート5に接続される場合、及び第2のエンドホストの行先IPアドレスが172.12.3.4である場合には、コントローラサーバー18は、第1のスイッチに図6Cのフローテーブルエントリーを与えると共に、第2のスイッチに図6Dのフローテーブルエントリーを与える。行先IPアドレス172.12.3.4をもつパケットが第1のスイッチに受け取られると、それらは、図6Cのテーブルの「ポート3へ転送」アクションに基づいて第2のスイッチへ転送される。それらパケットが第2のスイッチに受け取られると、それらは、図6Dの「ポート5へ転送」アクションに基づき第2のスイッチのポート5に接続された第2のエンドホストへ転送される。
入力/出力ポート34を経て受け取られるパケットの処理中にスイッチ14により遂行される例示的ステップが図7に示されている。ステップ78において、スイッチ14は、そのポートの1つ(例えば、図1の入力/出力ポート34の1つ)を経てパケットを受け取る。
ステップ80において、スイッチ14は、受け取ったパケットのフィールドを、そのスイッチのフローテーブル28におけるフローテーブルエントリーのフィールドと比較して、一致があるかどうか決定する。フローテーブルエントリーのあるフィールドは、完全な値(即ち、完全なアドレス)を含む。他のフィールドは、ワイルドカードを含む(即ち、“*”の“don’t care”ワイルドカードキャラクタでマークされたフィールド)。更に別のフィールドは、部分的に完全なエントリー(即ち、部分的にワイルドカード化された部分的アドレス)を有する。あるフィールドは、範囲を使用し(例えば、TCPポート番号を1と4096との間の値に制限することにより)、そして実際にその範囲を使用して、ある形式の部分的ワイルドカード化を実施する。受け取ったパケットとフローテーブルエントリーとの間のフィールドごとの比較を行う際に、スイッチ14は、フローテーブルエントリーの各フィールドが、ワイルドカード化なしの完全な値を含むか、ワイルドカード化を伴う部分的値を含むか、又はワイルドカードキャラクタ(即ち、完全にワイルドカード化されたフィールド)を含むか、考慮することができる。
ステップ80の動作中に、パケットのフィールドと、フローテーブルエントリーの対応フィールドとの間に一致がないことが決定された場合には、スイッチ14は、リンク16を経てコントローラサーバー18へパケットを送出する(ステップ84)。
ステップ80の動作中に、パケットとフローテーブルエントリーとの間に一致があると決定された場合には、スイッチ14は、そのフローテーブルエントリーに関連したアクションを遂行し、そしてそのフローテーブルエントリーの統計値フィールドにおけるカウンタ値を更新する(ステップ82)。次いで、処理は、線86で示すようにステップ78へループバックし、スイッチ14により別のパケットが処理されるようにする。
スイッチのネットワークをコントロールするコントローラ(例えば、コンピューティング装置において実施されるコントローラサーバー又は他のコントローラ)は、エンドホストに関連したネットワークトポロジー又は情報のようなネットワーク情報を収集し又は監視する。コントローラは、1つ以上のコントローラサーバーを含んでもよいし、又は1つ以上のスイッチ全体に分散されてもよい(例えば、コントローラの各部分が複数のスイッチの記憶装置及び処理回路において実施されてもよい)。コントローラは、エンドホストのネットワーク位置を監視してもよいし、或いはネットワーク内のスイッチ間の接続を監視してもよい。コントローラは、ネットワーク情報を使用してエンドホスト間のネットワークトラフィックの流れをコントロールすることによりネットワーク上のネットワークトラフィック負荷を減少することができる。図8は、コントローラサーバー18がネットワーク情報を使用してネットワーク100内の不要なネットワークトラフィックを減少する例示的シナリオを示す。
図8に示したように、ネットワーク100は、ネットワーク100内のスイッチに結合されたエンドホスト102を備えている。スイッチは、エンドホスト又は他のスイッチが結合されるポートを有する。スイッチSW1は、エンドホストEH1及びスイッチSW3のポートEに各々結合されたポートA及びBを有する。スイッチSW2は、スイッチSW3のポートF及びDHCPサーバーS1に各々結合されたポートC及びDを有する。単一のスイッチSW3を経て結合されたスイッチSW1及びSW2は、単なる例示に過ぎない。要望があれば、スイッチSW1は、ネットワーク部分104を形成する多数の中間スイッチ(例えば、数十、数百、数千又はそれ以上)を経てスイッチSW2に結合される。
エンドホスト102は、ネットワーク100内の他のエンドホストにインターネットプロトコル(IP)アドレスを与えるDHCPサーバーS1及びDHCPサーバーS2のようなDHCPサーバーを備えている。DHCPサーバーS1及びDHCPサーバーS2には、各々、利用可能なIPアドレスの各部分が割り当てられる(例えば、ネットワークアドミニストレータは、考えられるIPアドレスのプールから各DHCPサーバーにIPアドレスを割り当てる)。例えば、DHCPサーバーS1には、192.168.1.0と192.168.1.255との間のIPアドレスが割り当てられる。このシナリオでは、DHCPサーバーS1は、エンドホストEH1にIPアドレス192.168.1.1を与える。次いで、エンドホストEH1は、IPアドレス192.168.1.1を使用してネットワーク100の他のエンドホストと通信する。例えば、エンドホストEH1から送られたネットワークパケットは、ネットワークパケットがIPアドレス192.168.1.1から送られたことを指示するヘッダフィールドを含む。ネットワーク100の他のエンドホストは、ネットワークパケットをIPアドレス192.168.1.1へ送ることによりネットワークパケットをエンドホストEH1へ送る。
IPアドレスを得るために、エンドホストEH1は、ダイナミックホストコンフィギュレーションプロトコル(DHCP)を使用してDHCPサーバーと通信する。図9A、9B、9C、9D、9E、及び9Fは、IPアドレスをエンドホストEH1に指定するのに使用される例示的DHCPネットワークパケットを示す。
エンドホストEH1は、それが最初にネットワーク100に接続されるとき、それに対応するハードウェアアドレス(例えば、MACアドレス又は他のイーサネットアドレス)を既に有する。他のエンドホストと通信するために、エンドホストEH1は、DHCPサーバーからIPアドレスを得ることが要求される。
図9Aは、ネットワーク100のDHCPサーバーからIPアドレスを要求するためにエンドホストEH1が使用する例示的DHCP発見要求パケット112Aを示す。図9Aに示すように、DHCP発見要求112Aは、イーサネットソースアドレス、イーサネット行先アドレス、クライアントハードウェアアドレス、及び任意であるが、好ましいIPアドレス又は他の望ましいオプションを含む。イーサネットソースアドレス及びクライアントハードウェアアドレスは、エンドホストEH1のハードウェアアドレス(例えば、MACアドレス)である。イーサネット行先アドレスは、ブロードキャストアドレスである(例えば、ネットワーク100の全体にわたりDHCP発見要求112Aを溢れさせねばならないことを指示する)。DHCP発見要求パケット112Aは、ネットワーク100内の全てのエンドホストにパケットがアドレスされるので、ブロードキャストパケットとも称される。
エンドホストEH1は、DHCP発見要求112Aにおいて好ましいIPアドレス192.168.1.1を指示する。これは、単なる例示に過ぎない。要望があれば、エンドホストEH1は、好ましいIPアドレス(例えば、192.168.1.99、192.168.1.30、等)を含み、そして任意であるが、エンドホストEH1のハードウェア又はファームウェア形式に関連した情報のような他の情報も含む。エンドホストEH1は、エンドホストEH1に結合されたクライアントスイッチ(例えば、クライアントスイッチSW1)へDHCP発見要求112Aを送る。DHCP発見要求112Aを受け取るのに応答して、クライアントスイッチSW1は、DHCP発見要求112Aをコントローラサーバー18へ転送する。DHCP発見要求112Aを受け取るのに応答して、コントローラサーバー18は、適当なDHCPサーバーがコントローラサーバー18に知られているかどうか識別する。
コントローラサーバー18は、データベースからDHCPサーバー情報を検索することにより適当なDHCPサーバーを識別する。例えば、コントローラサーバー18は、記憶装置170に記憶されたデータベースからDHCPサーバーS1のアドレス情報(例えば、ネットワークアドレス及びハードウェアアドレス)を検索する。データベースは、以前に識別されたDHCPサーバーに関する情報を含む。
DHCP発見要求112Aを満足させるために適当なDHCPサーバーを識別するのに応答して、コントローラサーバー18は、図9Bのコントローラ変更のDHCP発見要求112Bを形成する。コントローラ変更のDHCP発見要求112Bは、DHCP発見要求112Aのブロードキャストイーサネット行先アドレスを、識別されたDHCPサーバーのハードウェアアドレス(例えば、データベースから検索されたハードウェアアドレス)に置き換えることにより、形成される。コントローラサーバー18は、ハードウェアアドレス及び他の検索されたアドレス情報を使用して、エンドホストEH1からDHCPサーバーS1へ至るパケット転送経路を発生する。コントローラサーバー18は、クライアントスイッチSW1、SW3及びSW2を通してエンドホストEH1とDHCPサーバーS1との間にパケット転送経路を発生する(例えば、エンドホストEH1とDHCPサーバーS1との間にネットワークパケットを転送するようにクライアントスイッチに指令する適当なフローテーブルエントリー又は他のパケット連想ルールを与えることにより)。次いで、コントローラサーバー18は、その発生されたパケット転送経路に沿ってコントローラ変更のDHCP発見要求112BをDHCPサーバーS1へ転送するようにクライアントスイッチSW1に指令する。コントローラ変更のDHCP発見要求112BをDHCPサーバーS1へ直接ルーティングするパケット転送経路を形成することにより、コントローラサーバー18は、DHCP発見要求112Aのブロードキャスティングに関連した不要なネットワークトラフィックを防止する上で役立つ。
コントローラ変更のDHCP発見要求パケット112Bは、このパケットが単一エンドホスト(例えば、DHCPサーバーS1)にアドレスされるので、ユニキャストパケットとも称される。
コントローラ変更のDHCP発見要求112Bを受け取るのに応答して、DHCPサーバーS1は、利用可能なIPアドレスをエンドホストEH1に割り当て(例えば、別のエンドホスト又はネットワーク装置に現在指定されていないIPアドレス)、そして要求に応答して、図9CのDHCPサーバーオファー応答パケット114を送信する。
DHCPサーバーオファー応答114は、イーサネットソースアドレス、イーサネット行先アドレス、ソースIPアドレス、オファーIPアドレス、クライアントハードウェアアドレス、任意のリース期間、及びIPアドレスをエンドホストEH1にオファーすることに関連した他のオプションを含む。イーサネットソースアドレスは、DHCPサーバーS1のハードウェアアドレス(例えば、イーサネットアドレス)であり、イーサネット行先アドレス及びクライアントハードウェアアドレスは、それに対応するDHCP発見要求112から検索されたクライアントハードウェアアドレスであり、ソースIPアドレスは、DHCPサーバーS1のIPアドレスであり、そしてオファーIPアドレスは、DHCPサーバーS1によりエンドホストEH1に割り当てられたIPアドレスである。任意のリース期間は、オファーに関連した条件期間(例えば、オファーIPアドレスがエンドホストEH1に指定される前にエンドホストEH1が受け容れねばならない条件期間)を識別する。例えば、任意のリース期間は、IPアドレスがエンドホストEH1に割り当てられる時間長さ(例えば、1日)を含む。このシナリオでは、エンドホストEH1へのIPアドレス192.168.1.1の割り当ては、1日後に満了となる。
DHCPサーバーS1は、DHCPサーバーオファー応答114をクライアントスイッチSW2へ送信する。DHCPサーバーオファー応答114に対してパケット転送経路が存在しない場合には、クライアントスイッチSW2は、DHCPサーバーオファー応答114をコントローラサーバー18へ転送する。(例えば、DHCP発見要求112に応答して)パケット転送経路が既に発生されている場合には、クライアントスイッチSW2は、既に発生されたパケット転送経路に沿ってDHCPサーバーオファー応答114をエンドホストEH1へ転送する。
DHCPサーバーオファー応答114を受信するのに応答して、コントローラサーバー18は、DHCPサーバーS1とエンドホストEH1との間のパケット転送経路を発生し、そしてクライアントスイッチSW2に、そのパケット転送経路に沿ってエンドホストEH1へDHCPサーバーオファー応答114を直接転送するように指令する。
コントローラサーバー18は、DHCPサーバーオファー応答114のようなDHCPパケットから検索された情報を使用して、DHCPサーバー情報を(例えば、記憶装置170のデータベースに)記憶する。例えば、コントローラサーバー18は、DHCPサーバーオファー応答114からネットワークアドレス及びDHCPサーバーハードウェアアドレスのようなDHCPサーバー情報を検索し、そしてその検索されたDHCPサーバー情報を記憶する。コントローラサーバー18は、その記憶されたDHCPサーバー情報を使用して、将来のDHCP要求パケットに応答する。例えば、DHCPサーバーS1からDHCPサーバーオファー応答114を受信するのに応答して、コントローラサーバー18は、DHCPサーバーS1のIPアドレス及びMACアドレス(即ち、各々、192.168.1.100及び10)を記憶する。このシナリオにおいて、コントローラサーバー18は、(例えば、DHCPサーバーS1が既知であるので)将来のDHCP発見要求をDHCPサーバーS1へ転送することにより、将来のDHCP発見要求に応答する。
DHCPサーバーS1からDHCPサーバーオファー応答114を受信するのに応答して、エンドホストEH1は、図9DのDHCPオファー要求116Aで応答する。DHCPオファー要求116Aは、DHCPサーバーS1によりDHCPサーバーオファー応答114を経てオファーされたIPアドレスをエンドホストEH1が受け容れることを指示する。
図9Dに示すように、DHCPオファー要求116Aは、イーサネットソースアドレス(例えば、エンドホストEH1のMACアドレス)、イーサネット行先アドレス、DHCPサーバーIPアドレス、及びエンドホストIPアドレスを含む。イーサネット行先アドレスは、ブロードキャストアドレスである。DHCPサーバーIPアドレスは、DHCPサーバーオファー応答114を送信したDHCPサーバーのIPアドレスである。エンドホストEH1は、DHCPサーバーオファー応答114のソースIPアドレスフィールドからDHCPサーバーIPアドレスを検索する。エンドホストIPアドレスは、受け容れられるオファーIPアドレスである(例えば、エンドホストIPアドレスは、DHCPサーバーオファー応答114のオファーIPアドレスフィールドから検索される)。エンドホストEH1は、DHCPオファー要求116AをクライアントスイッチSW1へ送信し、そしてクライアントスイッチSW1は、DHCPオファー要求116Aをコントローラサーバー18へ転送する。
DHCPオファー要求116Aを受信するのに応答して、コントローラサーバー18は、ブロードキャストアドレスをDHCPサーバーS1のイーサネットアドレスに置き換えることにより、図9Eのコントローラ変更のDHCPオファー要求パケット116Bを形成する。コントローラサーバー18は、(例えば、適当なフローテーブルエントリーをクライアントスイッチに与えることにより)DHCPオファー要求パケット116Aではなく、コントローラ変更のDHCPオファー要求116BをDHCPサーバーS1へ転送する。
DHCPオファー要求116Bを受信するのに応答して、DHCPサーバーS1は、図9FのDHCP確認応答118で応答する。図9Fに示すように、DHCP確認応答118は、DHCPサーバーS1のハードウェアアドレスにセットされたイーサネットソースアドレス、及びエンドホストEH1のハードウェアアドレスにセットされたイーサネット行先アドレスを含む。DHCP確認応答118は、メッセージ形式フィールドを経てエンドホストEH1への割り当てIPアドレスの指定を肯定する(例えば、メッセージ形式は「肯定」又は「ACK」である)。パケット転送経路が既に発生されている場合は、クライアントスイッチSW2は、DHCP確認応答118をエンドホストEH1へ転送する。パケット転送経路が発生されていない場合には、コントローラサーバー18は、DHCP確認応答118を受信し(例えば、クライアントスイッチSW2を経て)、そしてDHCP確認応答118をエンドホストEH2へ直接転送する。
図9A−9Fに示したパケットフィールドは、単なる例示に過ぎない。要望があれば、DHCPデータフィールド、IPヘッダフィールド、イーサネットヘッダフィールド、等の他のパケットフィールドが、DHCP要求及びDHCP応答のようなDHCPパケットに含まれる。例えば、DHCPパケットは、ユーザデータグラムプロトコル(UDP)を使用して送信される。このシナリオでは、DHCPパケットは、ソース及び行先IPアドレスのようなUDPヘッダフィールドを含む。IPアドレスがまだ指定されていないエンドホストからのDHCP要求パケットは、0.0.0.0のような無効ソースIPアドレスを含む。IPアドレスがまだ指定されていないエンドホストへのDHCP応答パケットは、255.255.255.255のようなブロードキャスト行先IPアドレス、又はオファー型エンドホストIPアドレスを含む。
図10は、コントローラサーバー18がDHCP要求(例えば、図9AのDHCP発見要求112又は図9CのDHCPオファー要求116)をエンドホストEH1からDHCPサーバーS1へどのように直接転送するか示す図である。
ステップ122において、エンドホストEH1は、DHCP要求をクライアントスイッチSW1のポートAへ送信する。エンドホストEH1は、ネットワーク100全体を通してDHCP要求をブロードキャストしなければならないことを指示する(例えば、DHCP要求のイーサネット行先アドレスフィールドにブロードキャストアドレスを与えることにより)。
ステップ124において、クライアントスイッチSW1は、エンドホストEH1からDHCP要求を受け取り、そしてそれに対応するフローテーブルを検査して、DHCP要求をどのように処理するか決定する。DHCP要求に対しフローテーブルエントリーが存在しないこと、又はDHCP要求をコントローラサーバー18へ転送するようにフローテーブルエントリーがクライアントスイッチSW1に指令することを決定するのに応答して、クライアントスイッチSWは、DHCP要求をコントローラサーバー18へ転送する。
ステップ126において、コントローラサーバー18は、適当なDHCPサーバーを識別する。コントローラサーバー18は、データベースからDHCPサーバー情報(例えば、ネットワークアドレス、ハードウェアアドレス、等)を検索することにより、適当なDHCPサーバーを識別する。コントローラサーバー18は、検索されたDHCPサーバー情報を使用してコントローラ変更の要求(例えば、図9Bのコントローラ変更のDHCP発見要求112B)を形成する。
ステップ128において、コントローラサーバー18は、コントローラ変更のDHCP要求を識別されたDHCPサーバーへ転送するようにクライアントスイッチに指令するフローテーブルエントリーをクライアントスイッチに与えることによりパケット転送経路を形成する。コントローラサーバー18は、コントローラ変更のDHCP要求をポートAからポートBへ転送するようにクライアントスイッチSW1に指令し、コントローラ変更のDHCP要求をクライアントスイッチSW1からクライアントスイッチSW2へ転送するようにクライアントスイッチSW3に指令し、及びコントローラ変更のDHCP要求をポートCからポートDへ転送するようにクライアントスイッチSW2に指令するフローテーブルエントリーをクライアントスイッチSW1、SW2及びSW3に与える。
ステップ130において、コントローラ変更のDHCP要求は、それらスイッチを通るパケット転送経路に沿ってエンドホストEH1からDHCPサーバーS1へ転送される。例えば、コントローラサーバー18は、コントローラ変更のDHCP要求をクライアントスイッチSW1に与え、そしてクライアントスイッチSW1に、コントローラ変更のDHCP要求をパケット転送経路に沿って転送するように指令する。
エンドホストEH1とDHCPサーバーS1との間で直接パケットを転送するパケット転送経路を形成することにより、コントローラサーバー18は、DHCPパケットの不要なブロードキャスティングを防止する。例えば、コントローラサーバー18は、DHCP要求が、ブロードキャストイーサネット行先アドレスと共にエンドホストによって形成されたとしても、そのDHCP要求がスイッチによりDHCPサーバーS2へ転送されるのを防止する。
コントローラサーバー18がスイッチを通るパケット転送経路を形成する図10の例は、単なる例示に過ぎない。要望があれば、コントローラサーバー18は、コントローラサーバー18を通してDHCP要求及び/又は応答を転送することができる。例えば、コントローラサーバー18は、エンドホストEH1からDHCP発見要求112を受信し、そのDHCP発見要求112をクライアントスイッチSW2へ送信し(例えば、図8のネットワーク経路66を経て)、そしてクライアントスイッチSW2に、ポートDを経てDHCPサーバーS1へDHCP発見要求112を転送するように指令する。
DHCP発見要求112AのようなDHCP要求は、エンドホストにより特定のDHCPサーバーへ送信される。例えば、エンドホストは、それが(例えば、リース期間の満了のために)リースを更新したい場合には、所与のDHCPサーバーに向けられたDHCP発見要求を送信する(例えば、ブロードキャストIPアドレスではなく特定の行先IPアドレスを伴うDHCP発見要求)。要望があれば、コントローラサーバー18は、許可されたDHCPサーバーにDHCP要求が到達するのを許し且つ許可されないDHCPサーバーにDHCP要求が到達するのを拒絶するようにネットワークアドミニストレータにより構成される。許可されたDHCPサーバーは、許可されたDHCPサーバーのリストとしてネットワークアドミニストレータによりコントローラサーバー18に与えられる。許可されたDHCPサーバーのリストは、コントローラサーバー18の記憶装置170に記憶される。コントローラサーバー18は、ネットワークアドミニストレータにより、コントローラサーバー18がその許可されたDHCPサーバーのリストに基づきDHCP要求を許すスタティックモード、及びコントローラサーバー18が特定の行先IPアドレスを伴う全てのDHCP要求を許すノーマルモードに構成される。
ネットワークは、時々、サブネットワーク(時々、サブネットと称される)に区画化される。各サブネットは、ルーター(例えば、パケットのIPヘッダフィールドに基づいてパケットを転送するパケット転送システム)を含む。ルーターは、時々、レイヤ3スイッチとも称される。図11は、各ルーターR1及びR2に関連したサブネットワーク142A及び142Bを伴う例示的ネットワーク140を示す。ネットワーク140は、コントローラサーバー18によりネットワーク経路66を経てコントロールされるSW4及びSW5のようなクライアントスイッチを含む。
各サブネットワークは、ある範囲のIPアドレスに関連している。所与のサブネットワークにおけるネットワーク装置には、そのサブネットワークに対応するIPアドレスの範囲でIPアドレスが指定される。サブネットワーク142Aは、192.168.1.0と192.168.1.255との間のIPアドレスに関連し、一方、サブネットワーク142Bは、192.168.2.0と192.168.2.255との間のIPアドレスに関連している。サブネットワーク142Aに関連したエンドホストEH2及びルーターR1には、192.168.1.10及び192.168.1.1のIPアドレス(例えば、サブネットワーク142Aに対応する範囲内のIPアドレス)が指定される。サブネットワーク142Bに関連したDHCPサーバーS3及びルーターR2には、192.168.2.100及び192.168.2.1のIPアドレスが指定される。ルーター及びDHCPサーバーのIPアドレスは、(例えば、ネットワークアドミニストレータにより)予め構成される。
各ルーターは、それに対応するサブネットワークと他のサブネットワークとの間でネットワークパケットを転送する。ネットワークパケットは、行先IPアドレスのようなIPヘッダフィールドに基づいてルーターにより転送される。例えば、サブネットワーク142Bに関連した行先IPアドレスでサブネットワーク142Aにおいてエンドホストから送られたネットワークパケットは、ルーターR1からルーターR2へ転送される。
DHCPサーバーは、複数のサブネットワークのエンドホストにIPアドレスを指定するように構成される。しかしながら、各ルーターは、ブロードキャストイーサネット行先アドレスを有するネットワークパケットが、ルーターに関連のないサブネットワークに到達するのを防止する。例えば、ルーターR1は、エンドホストEH1により送られたブロードキャストイーサネットネットワークパケットがサブネットワーク142Bに到達するのを阻止する。あるシナリオでは、ルーターは、DHCPブロードキャストパケットがDHCPサーバーに到達するのを防止する。
例えば、エンドホストEH2によりブロードキャストされたDHCP発見要求パケットは、ルーターR1により、DHCPサーバーS3に到達する前に阻止される(例えば、サブネットワーク142Aからのネットワークパケットは、全て、ルーターR1を通過してサブネットワーク142Bに到着しなければならないからである)。このシナリオでは、ルーターR1は、ブロードキャストDHCP発見要求パケットを、指向DHCP発見要求パケットへ変換するリレーエージェント144Aで構成される(例えば、ルーターR1のIPアドレスであるソースIPアドレス、及びDHCPサーバーS3のIPアドレスである行先IPアドレスをもつ指向ネットワークパケットを形成することにより)。指向DHCP発見パケットは、その指向DHCP発見パケットが単一の行先IPアドレスに向けられるので、ユニキャストIPパケットとも称される。
コントローラサーバー18には、ネットワーク140内のリレーエージェントに関する情報が与えられる(例えば、リレーエージェント144Aに関する情報は、ネットワークアドミニストレータによりコントローラサーバー18に与えられる)。DHCPパケットのブロードキャスティングによる(例えば、対応するサブネットワーク全体にわたりDHCPパケットをブロードキャストするスイッチによる)ネットワーク負荷を減少する上で助けとなるように、コントローラサーバー18は、DHCP要求パケットをインターセプトし、そしてそのDHCP要求パケットを、適当なDHCPリレーエージェントに向けられる変更DHCP要求パケットへ変換する。
エンドホストEH2が、エンドホストEH2へのIPアドレスの指定を要求するDHCP発見要求パケットを送信するシナリオについて考える。クライアントスイッチSW4は、DHCP発見要求パケットを受信し、そしてそのDHCP発見要求パケットをコントローラサーバー18へ転送する。DHCP発見要求パケットを受信するのに応答して、コントローラサーバー18は、図12に示すコントローラ変更のDHCP発見要求112Cを形成する。
図12に示すように、コントローラ変更のDHCP発見要求112Cは、イーサネットソースアドレス、イーサネット行先アドレス、及びクライアントハードウェアアドレスを含む。イーサネットソースアドレス及びクライアントハードウェアアドレスは、エンドホストEH2のハードウェアアドレス(例えば、エンドホストEH2のMACアドレス)である。イーサネット行先アドレスは、ルーターR1(例えば、エンドホストEH2と同じサブネットワーク内にあるリレーエージェント144Aに関連したルーター)のハードウェアアドレスである。コントローラサーバー18は、システムアドミニストレータにより与えられるデータベースからリレーエージェント144Aのイーサネットアドレスを決定する。
要望があれば、コントローラサーバー18は、サブネットワーク間を転送できるコントローラ変更のDHCP要求パケットを形成する能力をコントローラサーバー18に与えるリレーエージェント144Bで形成される。リレーエージェント144Bは、予約IPアドレス(例えば、192.168.1.20)及びMACアドレス(例えば、10)に関連している。要望があれば、リレーエージェント144Bは、リレーエージェント144Aに代わって形成される。というのは、リレーエージェント144Aによって遂行される機能は、リレーエージェント144Bをもつコントローラサーバーにより遂行されてもよいからである。図13は、エンドホストEH2により送られるDHCP発見要求パケットに応答してリレーエージェント144Bを有するコントローラサーバー18により形成される例示的なコントローラ変更のDHCP発見要求122Dを示す。
図13に示すように、コントローラ変更のDHCP発見要求パケット112Dは、ソース及び行先イーサネットアドレス、ソース及び行先IPアドレス、ゲートウェイIPアドレス、及びクライアントハードウェアアドレスを含む。イーサネット及びIPソースアドレスは、リレーエージェント144BのMACアドレス及びIPアドレスである。イーサネット行先アドレスは、ルーターR1のイーサネットアドレスである。行先IPアドレスは、DHCPサーバーS3のIPアドレスである。ゲートウェイIPアドレスは、リレーエージェント144BのIPアドレスである。クライアントハードウェアアドレスは、エンドホストEH2のクライアントハードウェアアドレスである。
図14は、サブネットワーク間に転送できるコントローラ変更の要求パケット112Dのようなコントローラ変更のDHCP要求パケットを発生するために対応リレーエージェント144Bを有するコントローラサーバー18の使用に伴う例示的ステップを示す。
ステップ152において、エンドホストEH2は、エンドホストEH2へのIPアドレスの指定を要求するDHCP要求パケット(例えば、2のイーサネットソースアドレスをもつDHCP発見要求パケット112A)を送信する。ステップ154において、スイッチSW4は、DHCP要求パケットをコントローラサーバー18へ転送する。
ステップ156において、コントローラサーバー18は、DHCP要求パケットを受け取り、そしてリレーエージェント144BからのIPアドレス情報のような情報を使用してコントローラ変更の要求パケットを形成する。例えば、コントローラサーバー18は、リレーエージェント144Bに対応するソースIPアドレス(例えば、192.168.1.20)及びDHCPサーバーS3に対応する行先IPアドレス(例えば、192.168.2.100)を識別する付加的なパケットヘッダフィールドで図12のコントローラ変更の要求パケット112Cを形成する。適当なリレーエージェント情報及びIPアドレス情報を伴うコントローラ変更のDHCP要求パケットを形成することにより、コントローラサーバー18は、ルーターR1及びR2のための適当なルーティング情報を与える(例えば、ルーターR1及びR2は、IPアドレス情報に基づいてネットワークパケットを転送するので)。
ステップ158において、コントローラサーバー18は、コントローラ変更のDHCP要求パケット及び適当なフローテーブルエントリーをスイッチSW4へ送信する。スイッチSW4は、(フローテーブルエントリーを使用して)適当なパケット転送経路に沿ってコントローラ変更のDHCP要求パケットを転送する。
ステップ160において、コントローラ変更のDHCP要求パケットは、パケット転送経路を経て(例えば、ルーターR1及びR2とスイッチSW5とを経て)DHCPサーバーS3へ転送される。DHCPサーバーS3は、エンドホストEH2のハードウェアアドレス及びリレーエージェント144BのIPアドレスを検索し(例えば、クライアントハードウェアアドレスフィールド及びゲートウェイIPアドレスフィールドから)、そしてその検索された情報に基づいて適当なIPアドレスをエンドホストEH2に指定する。
図15は、ネットワークにおけるネットワークアドレス指定の要求を管理するためにコントローラサーバー18により遂行される例示的ステップを示すフローチャートである。
ステップ202において、コントローラサーバー18は、エンドホストから新たなパケットを受け取る。例えば、新たなパケットは、クライアントスイッチによりエンドホストからコントローラサーバー18へ転送される。コントローラサーバー18は、パケットの形式(例えば、パケットがDHCP要求であるか、DHCP応答であるか、又は他の形式のパケットであるか)識別する。パケットの形式を識別するために、コントローラサーバー18は、パケットのヘッダフィールド(例えば、イーサネットヘッダフィールド、IPヘッダフィールド、等)からパケット情報を検索する。
パケットがDHCPに関連していない(例えば、パケットが非DHCPである)ことを識別するのに応答して、コントローラサーバー18は、ステップ204のオペレーションを遂行する。パケットがDHCP要求パケットであることを識別するのに応答して、コントローラサーバー18は、ステップ206のオペレーションを遂行する。パケットがDHCP応答パケットであることを識別するのに応答して、コントローラサーバー18は、ステップ210のオペレーションを遂行する。
ステップ204において、コントローラサーバー18は、パケットを通常に処理する。例えば、コントローラサーバー18は、(例えば、パケットが特定の行先IPアドレスを有する場合には)パケットソースとパケット行先との間でパケットを転送するためにパケットのためのパケット転送経路を形成する。別の例として、コントローラサーバー18は、(例えば、パケットがブロードキャスト行先IPアドレスを有する場合には)パケットをブロードキャストするようにクライアントスイッチに指令する。
ステップ206において、コントローラサーバー18は、DHCP要求パケットを満足するために適当なDHCPサーバーを識別する。コントローラサーバー18は、データベース又は他の形式の記憶装置からDHCPサーバー情報を検索することにより適当なDHCPサーバーを識別する。例えば、コントローラサーバー18は、データベースに記憶されたハードウェア及びネットワークアドレスを使用して、適当なDHCPサーバーを識別する。コントローラサーバー18が適当なDHCPサーバー識別できない場合には、ステップ204のオペレーションを遂行して、ネットワーク全体にDHCP要求をブロードキャストする。コントローラサーバーが適当なDHCPサーバーを識別できる場合には、ステップ208のオペレーションが遂行される。
ステップ208において、コントローラサーバー18は、識別されたDHCPサーバーに対して検索された情報を使用してDHCP要求からコントローラ変更のDHCPパケットを形成する。例えば、コントローラサーバー18は、DHCPオファー要求116Aのブロードキャストイーサネット行先アドレスを、識別されたDHCPサーバーのハードウェアアドレスに置き換えることにより、DHCPオファー要求116Aからコントローラ変更のDHCPオファー要求116Bを形成する。
コントローラサーバー18は、コントローラ変更のDHCPパケットをその識別されたDHCPサーバーへ直接転送する。例えば、コントローラサーバー18は、エンドホストと、その識別されたDHCPサーバーとの間のパケット転送経路を形成するためのフローテーブルエントリーをクライアントスイッチに与える。別の例として、コントローラサーバー18は、DHCPサーバーに結合されたクライアントスイッチへコントローラサーバー18を通してDHCP要求パケットを転送し、そしてクライアントスイッチに、その識別されたDHCPサーバーへDHCP要求パケットを転送するように命令する。次いで、プロセスは、経路220を経てステップ202へ復帰し、エンドホストから新たなパケットを処理する。
ステップ210において、コントローラサーバー18は、オペレーションモードを識別する。オペレーションモードは、スタティックモード及び通常モードを含む。換言すれば、コントローラサーバー18は、そのコントローラサーバーがスタティックモードで構成されるか通常モードで構成されるか決定する。通常モードは、時々、溢れ又は転送モードとも称される。オペレーションモードは、ネットワークアドミニストレータにより構成される。コントローラサーバー18が通常モードで構成されたと決定するのに応答して、ステップ212のオペレーションが遂行される。コントローラサーバー18がスタティックモードで構成されたと決定するのに応答して、ステップ216のオペレーションが遂行される。
ステップ212において、コントローラサーバー18は、DHCP応答パケットを送ったDHCPサーバーの情報を記憶する。記憶された情報は、DHCPサーバーに関連したネットワーク及びハードウェアアドレス情報(例えば、IPアドレス情報、イーサネットアドレス情報、等)を含む)。記憶された情報は、例えば、コントローラサーバー18のデータベースに記憶され、そしてステップ206において、将来のDHCP要求を満足するための適当なDHCPサーバーを識別するために検索される。
ステップ214において、コントローラサーバー18は、DHCP応答パケットを行先エンドホストに直接転送する。コントローラサーバー18は、DHCP応答パケットのパケットヘッダフィールドから行先エンドホスト情報を検索する。例えば、コントローラサーバー18は、DHCP応答パケットのイーサネット行先アドレスフィールドから検索されたハードウェアアドレスから行先エンドホストを識別する。コントローラサーバー18は、応答パケットを送信したDHCPサーバーから行先エンドホストへパケットをルーティングするために適当なフローテーブルエントリーをクライアントスイッチに与えることによりDHCP応答パケットを転送する。要望があれば、DHCP応答パケットは、コントローラサーバーを通して転送される(例えば、コントローラサーバーにより、行先エンドホストに結合されたクライアントスイッチへ直接転送される)。次いで、プロセスは、経路220を経てステップ202へ復帰し、エンドホストからの新たなパケットを処理する。
ステップ216において、コントローラサーバー18は、DHCP応答パケットを送信したDHCPサーバーがDHCP応答を送信することが許可されたかどうか識別する。例えば、コントローラサーバー18は、ネットワークアドミニストレータにより、許可されたDHCPサーバーのリストで構成される。このシナリオでは、コントローラサーバー18は、DHCPサーバーの属性(例えば、IPアドレス、ハードウェアアドレス、等)を、許可されたDHCPサーバーのリストにおけるエントリーと比較する。一致が見つかった場合には、コントローラサーバー18は、DHCPサーバーがDHCP応答を送信することが許可されたと決定し、そしてステップ212のオペレーションが遂行される。一致が見つからない場合には、コントローラサーバー18は、DHCPサーバーがDHCP応答を送信することが許可されないと決定し、そしてステップ218のオペレーションが遂行される。
ステップ218において、コントローラサーバー18は、DHCP応答パケットをドロップする(例えば、DHCP応答パケットが行先エンドホストへ転送されないように)。次いで、このプロセスは、経路22を経てステップ202へ復帰し、エンドホストからの新たなパケットを処理する。
コントローラサーバー18のような1つ以上の集中的コントローラを使用してネットワークスイッチをコントロールすることは、単なる例示に過ぎない。要望があれば、パケット転送システムのネットワークをコントロールする任意の形式のコントローラ(例えば、コンピュータ装置において実施されたコントローラ)を使用して、DHCP要求のようなネットワークパケットを処理する(例えば、図15のフローチャートのステップを遂行する)ことができる。
ステップ208のオペレーションは、ネットワークトポロジー情報に基づいて遂行される。例えば、コントローラサーバー18は、ネットワークをサブネットワークに区画化することに関するネットワークトポロジー情報、及びそれらの各IPアドレス範囲を収集する。別の例として、コントローラサーバー18には、ネットワークアドミニストレータによりネットワークトポロジー情報が与えられる。図16は、コントローラ変更のDHCP要求パケットを形成し、そしてそのコントローラ変更のDHCP要求パケットを識別されたDHCPサーバーへ転送するためにネットワークトポロジー情報を使用してコントローラサーバー18により遂行される例示的ステップを示すフローチャートである。図16の例示的ステップは、図15のステップ208の一部分として遂行される。
ステップ232において、コントローラサーバー18は、識別されたDHCPサーバー又はDHCPリレーエージェント(例えば、図15のステップ206に示すDHCPサーバー)が、DHCP要求を送ったエンドホストと同じサブネットワークにあるかどうか決定する。例えば、コントローラサーバー18は、コントローラサーバー18の記憶装置170のような記憶装置から検索されたネットワークトポロジー情報を使用して、エンドホストがDHCPサーバーと同じサブネットワークにあるかどうか識別する。エンドホストがDHCPサーバーとは異なるサブネットワークに関連しているとコントローラサーバー18が決定した場合には、プロセスは、ステップ234のオペレーションを遂行する。エンドホストがDHCPサーバーと同じサブネットワークに関連しているとコントローラサーバー18が決定した場合には、プロセスは、ステップ236のオペレーションを遂行する。
ステップ234において、コントローラサーバー18は、(例えば、DHCP要求パケットをユニキャストIPパケットへ変換するために)適当なゲートウェイIPアドレス及び適当なIPヘッダフィールドを伴うコントローラ変更のDHCP要求パケットを形成する。適当なゲートウェイIPアドレスを決定するために、コントローラサーバー18は、ネットワークトポロジー情報及びリレーエージェント情報を使用する。例えば、コントローラサーバー18は、対応するIP及びMACアドレスを有するリレーエージェントと共に構成される。このシナリオでは、コントローラサーバー18は、リレーエージェントのアドレス情報を伴うコントローラ変更のパケットを形成する。要望があれば、コントローラサーバー18は、データベースからリレーエージェントのハードウェアアドレス情報を検索し、そしてその検索されたアドレス情報と共にコントローラ変更のパケットを形成する。
IPヘッダフィールドは、コントローラ変更のDHCP要求パケットを受信するルーターがそのパケットをDHCPサーバーへ正しくルーティングするようにコントローラサーバー18により与えられる(例えば、行先IPアドレスフィールドがDHCPサーバーのIPアドレスにセットされるので)。
ステップ236において、コントローラサーバー18は、ゲートウェイIPアドレスをもたないコントローラ変更のDHCP要求パケットを形成する(例えば、0.0.0.0のゲートウェイIPアドレスを与えることにより)。一例として、コントローラサーバー18は、図9Aのコントローラ変更のDHCP発見要求112Bを形成する。
ステップ238において、コントローラサーバー18は、ステップ234又は236で形成されたコントローラ変更のDHCP要求パケットをDHCPサーバー又はDHCPリレーエージェントへ転送する(例えば、適当なパケット転送ルールでネットワークにクライアントスイッチを設けるか、又はコントローラサーバーを通してコントローラ変更のDHCP要求パケットを転送することにより)。次いで、プロセスは、図15のステップ202へ戻り、エンドホストから受け取られた新たなパケットを処理する。
図17は、ネットワーク300全体を通してスイッチ14にコントローラ302が分散された例を示す。コントローラ302は、ネットワークスイッチ14の幾つか又は全部に分散される。コントローラクライアント30のようなコントローラクライアントは、ネットワーク通信リンクを経てコントローラ302の1つ以上と通信する(例えば、コントローラ302は、通信リンクを経てコントローラクライアント30へインストラクションを送信する)。コントローラ302は、スイッチ14を総体的にコントロールするように互いに通信するか、又はスイッチ14を個々にコントロールする。
一例として、コントローラ302は、互いに通信することによってネットワーク300を総体的にコントロールする。コントローラ302は、ネットワークトポロジー、ネットワークトラフィック、スイッチ14に結合されたエンドホスト、等に関する情報を共有する。ネットワーク情報を共有することにより、コントローラ302は、DHCPサーバー情報を収集し、そしてそのDHCPサーバー情報を使用して、DHCPパケットを処理することができる。
一実施形態によれば、コントローラを使用してネットワークのスイッチをコントロールする方法において、エンドホストから送られたネットワークパケットがエンドホストへのプロトコルアドレスの指定を要求するかどうかコントローラで識別し;エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを識別するのに応答して、コントローラでネットワークパケットを処理し;及び少なくとも1つのスイッチに、コントローラで処理されたネットワークパケットを与えることにより、スイッチをコントローラでコントロールする;ことを含む方法が提供される。
別の実施形態によれば、エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを前記識別することは、ネットワークパケットのパケットヘッダフィールドから情報を検索することを含む。
別の実施形態によれば、エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを前記識別することは、ネットワークパケットがダイナミックホストコンフィギュレーションプロトコル要求であることを識別することを含む。
別の実施形態によれば、コントローラでネットワークパケットを前記処理することは、プロトコルアドレス指定能力を有するサーバーをコントローラで識別すること;及びコントローラでネットワークパケットをサーバーへ転送すること;を含む。
別の実施形態によれば、プロトコルアドレス指定能力を有するサーバーを前記識別することは、データベースからダイナミックホストコンフィギュレーションプロトコルサーバーを選択することを含む。
別の実施形態によれば、ネットワークパケットをサーバーへ前記転送することは、サーバーに結合されたスイッチへコントローラを通してネットワークパケットを転送することを含む。
別の実施形態によれば、ネットワークパケットをサーバーへ前記転送することは、エンドホストからサーバーへネットワークパケットを転送するようにスイッチに指令するパケット転送ルールをスイッチに与えることを含む。
別の実施形態によれば、コントローラでネットワークパケットを前記処理することは、ネットワークパケットの少なくとも1つのヘッダフィールドを変更することにより変更パケットを形成することを更に含み、ネットワークパケットをサーバーへ前記転送することは、その変更パケットをサーバーへ転送することを含む。
別の実施形態によれば、ネットワークパケットの少なくとも1つのヘッダフィールドを前記変更することは、ネットワークパケットの少なくとも1つのイーサネットアドレスフィールドを変更することを含む。
別の実施形態によれば、ネットワークパケットの少なくとも1つのヘッダフィールドを前記変更することは、ネットワークパケットの少なくとも1つのインターネットプロトコルアドレスフィールドを変更することを含む。
別の実施形態によれば、変更パケットを前記形成することは、ネットワークパケットのゲートウェイインターネットプロトコルアドレスフィールドを変更することを含む。
別の実施形態によれば、前記方法は、コントローラで、許可されたサーバーのリストをネットワークアドミニストレータから受け取り;コントローラで、サーバーからネットワークパケットに対応する応答パケットを受け取り;コントローラで、サーバーが、許可されたサーバーのリストに基づきエンドホストへ応答パケットを送信することが許可されたかどうか決定し;サーバーがエンドホストへ応答パケットを送信することが許可されたことを決定するのに応答して、コントローラでエンドホストへ応答パケットを転送し;及びサーバーがエンドホストへ応答パケットを送信することが許可されないことを決定するのに応答して、コントローラで応答パケットをドロップする;ことを含む。
別の実施形態によれば、前記方法は、コントローラで、サーバーからダイナミックホストコンフィギュレーションプロトコルパケットを受け取り;コントローラで、ダイナミックホストコンフィギュレーションプロトコルパケットからサーバーのアドレス情報を検索し;及びそのアドレス情報をデータベースに記憶する;ことを含み、そしてコントローラでネットワークパケットを前記処理することは、データベースからアドレス情報を検索することを含む。
一実施形態によれば、コントローラを使用してネットワークのスイッチを通るネットワークトラフィックをコントロールする方法において、コントローラで、エンドホストから送られたネットワークパケットがダイナミックホストコンフィギュレーションプロトコルブロードキャストパケットであるかどうか識別し;及びネットワークパケットがダイナミックホストコンフィギュレーションプロトコルブロードキャストパケットであることを識別するのに応答して、コントローラでネットワークパケットを変更する;ことを含む方法が提供される。
別の実施形態によれば、前記ネットワークパケットを変更することは、ネットワークパケットの行先アドレスフィールドを変更することを含む。
別の実施形態によれば、前記方法は、データベースからダイナミックホストコンフィギュレーションプロトコルサーバーのアドレス情報を検索することを含み、前記ネットワークパケットの行先アドレスフィールドを変更することは、ダイナミックホストコンフィギュレーションプロトコルサーバーのアドレス情報を行先アドレスフィールドに記憶することを含む。
一実施形態によれば、スイッチのネットワークのトラフィックをコントロールする方法において、コントローラで、エンドホストから送られるダイナミックホストコンフィギュレーションプロトコル要求パケットを受け取り;及びスイッチのネットワークに関連したネットワークトポロジー情報に基づいて、コントローラでダイナミックホストコンフィギュレーションプロトコル要求パケットを変更する;ことを含む方法が提供される。
別の実施形態によれば、ネットワークは、各アドレス範囲に関連したサブネットワークへ区画化され、エンドホストは、所与のサブネットワークに関連し、前記方法は、更に、コントローラで、ダイナミックホストコンフィギュレーションプロトコル要求パケットを満足させるためにサーバーを識別し;コントローラで、ネットワークトポロジー情報に基づいてサーバーが所与のサブネットワークに関連しているかどうか識別し;サーバーが所与のサブネットワークに関連していることを識別するのに応答して、ダイナミックホストコンフィギュレーションプロトコル要求パケットのイーサネットアドレスフィールドを変更し;及びサーバーが所与のサブネットワークに関連していないことを識別するのに応答して、ダイナミックホストコンフィギュレーションプロトコル要求パケットのインターネットプロトコルアドレスフィールドを変更する;ことを含む。
別の実施形態によれば、サーバーがサブネットワークに関連しているかどうか識別することは、サーバーのインターネットプロトコルアドレスを所与のサブネットワークのアドレス範囲と比較することを含む。
別の実施形態によれば、ダイナミックホストコンフィギュレーションプロトコル要求パケットのインターネットプロトコルアドレスフィールドを前記変更することは、ダイナミックホストコンフィギュレーションプロトコル要求パケットのゲートウェイインターネットプロトコルアドレスフィールドを変更することを含む。
以上の説明は、本発明の原理を単に例示したものに過ぎず、当業者であれば、本発明の精神及び範囲から逸脱せずに種々の変更がなされ得るであろう。
10:ネットワーク
12:コンピューティング装置
18:コントローラサーバー
18−A、18−B:コントローラサーバー
14:パケット転送システム(ネットワークスイッチ)
16:ネットワークリンク
18:コントローラサーバー
20:ネットワーク構成ルール
24:コントロールユニット
24−1:マスターCPU
24−2:スレーブCPU
26:パケット処理ソフトウェア
28:フローテーブル
30:コントローラクライアント
32:パケット処理回路
32−1・・・32−N:スイッチIC
34:入力−出力ポート
36:マイクロプロセッサベースの装置
38:ネットワークインターフェイス
40:パケット処理ソフトウェア
48、50:ラインカード
52:バックプレーン
54、64:コントロールソフトウェア
56、62:コントロールプロトコルスタック
58、60:ネットワークプロトコルスタック
66:ネットワーク経路
100:ネットワーク
102:エンドホスト
104:ネットワーク部分
112A:DHCP発見要求パケット
112B:コントローラ変更のDHCP発見要求
114:DHCPサーバーオファー応答
116A:DHCPオファー要求
116B:コントローラ変更のDHCPオファー要求
118:DHCP確認応答

Claims (15)

  1. コントローラを使用してネットワークのスイッチをコントロールする方法において、
    エンドホストから送られたネットワークパケットがそのエンドホストへのプロトコルアドレスの指定を要求するかどうか前記コントローラで識別し;
    前記エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを識別するのに応答して、前記コントローラでネットワークパケットを処理し;及び
    少なくとも1つの前記スイッチに前記コントローラで処理されたネットワークパケットを与えることにより、前記コントローラで前記スイッチをコントロールする;
    ことを含み、
    前記コントローラで、サーバーからダイナミックホストコンフィギュレーションプロトコルパケットを受け取り;
    前記コントローラで、ダイナミックホストコンフィギュレーションプロトコルパケットから前記サーバーのアドレス情報を検索し;及び
    前記アドレス情報をデータベースに記憶する;
    ことを更に含み、前記コントローラでネットワークパケットを処理することは、データベースからアドレス情報を検索することを含む、方法。
  2. エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを前記識別することは、前記ネットワークパケットのパケットヘッダフィールドから情報を検索することを含む、請求項1に記載の方法。
  3. エンドホストへのプロトコルアドレスの指定をネットワークパケットが要求することを前記識別することは、ネットワークパケットがダイナミックホストコンフィギュレーションプロトコル要求であることを識別することを含む、請求項1に記載の方法。
  4. コントローラでネットワークパケットを前記処理することは、
    プロトコルアドレス指定能力を有するサーバーを前記コントローラで識別し;及び
    前記コントローラでネットワークパケットをサーバーへ転送する;
    ことを含む、請求項1に記載の方法。
  5. プロトコルアドレス指定能力を有するサーバーを前記識別することは、データベースからダイナミックホストコンフィギュレーションプロトコルサーバーを選択することを含む、請求項4に記載の方法。
  6. ネットワークパケットをサーバーへ前記転送することは、前記サーバーに結合されたスイッチへ前記コントローラを通して前記ネットワークパケットを転送することを含む、請求項4に記載の方法。
  7. ネットワークパケットをサーバーへ前記転送することは、前記エンドホストから前記サーバーへ前記ネットワークパケットを転送するように前記スイッチに指令するパケット転送ルールを前記スイッチに与えることを含む、請求項4に記載の方法。
  8. コントローラでネットワークパケットを前記処理することは、前記ネットワークパケットの少なくとも1つのヘッダフィールドを変更することにより変更パケットを形成することを更に含み、ネットワークパケットをサーバーへ前記転送することは、その変更パケットを前記サーバーへ転送することを含む、請求項4に記載の方法。
  9. ネットワークパケットの少なくとも1つのヘッダフィールドを前記変更することは、前記ネットワークパケットの少なくとも1つのイーサネットアドレスフィールドを変更することを含む、請求項8に記載の方法。
  10. ネットワークパケットの少なくとも1つのヘッダフィールドを前記変更することは、前記ネットワークパケットの少なくとも1つのインターネットプロトコルアドレスフィールドを変更することを含む、請求項8に記載の方法。
  11. 変更パケットを前記形成することは、前記ネットワークパケットのゲートウェイインターネットプロトコルアドレスフィールドを変更することを含む、請求項8に記載の方法。
  12. 前記コントローラで、許可されたサーバーのリストをネットワークアドミニストレータから受け取り;
    前記コントローラで、前記サーバーからネットワークパケットに対応する応答パケットを受け取り;
    前記コントローラで、前記サーバーが、前記許可されたサーバーのリストに基づきエンドホストへ応答パケットを送信することが許可されたかどうか決定し;
    前記サーバーがエンドホストへ応答パケットを送信することが許可されたことを決定するのに応答して、前記コントローラでエンドホストへ応答パケットを転送し;及び
    前記サーバーがエンドホストへ応答パケットを送信することが許可されないことを決定するのに応答して、前記コントローラで応答パケットをドロップする;
    ことを含む請求項4に記載の方法。
  13. コントローラを使用してネットワークのスイッチを通るネットワークトラフィックをコントロールする方法において、
    前記コントローラで、エンドホストから送られたネットワークパケットがダイナミックホストコンフィギュレーションプロトコルブロードキャストパケットであるかどうか識別し;及び
    ネットワークパケットがダイナミックホストコンフィギュレーションプロトコルブロードキャストパケットであることを識別するのに応答して、前記コントローラでネットワークパケットを変更する;
    ことを含み、
    前記コントローラで、サーバーからダイナミックホストコンフィギュレーションプロトコルパケットを受け取り;
    前記コントローラで、ダイナミックホストコンフィギュレーションプロトコルパケットから前記サーバーのアドレス情報を検索し;及び
    前記アドレス情報をデータベースに記憶する;
    ことを更に含み、前記コントローラでネットワークパケットを変更することは、データベースからアドレス情報を検索することを含む、方法。
  14. 前記ネットワークパケットを変更することは、ネットワークパケットの行先アドレスフィールドを変更することを含む、請求項13に記載の方法。
  15. 前記ネットワークパケットの行先アドレスフィールドを前記変更することは、前記サーバーのアドレス情報を行先アドレスフィールドに記憶することを含む、請求項14に記載の方法。
JP2014535746A 2011-10-14 2012-10-04 コントローラでネットワークプロトコルアドレス指定を管理するためのシステム及び方法 Expired - Fee Related JP5813885B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/274,157 US8856384B2 (en) 2011-10-14 2011-10-14 System and methods for managing network protocol address assignment with a controller
US13/274,157 2011-10-14
PCT/US2012/058601 WO2013055555A1 (en) 2011-10-14 2012-10-04 System and methods for managing network protocol address assignment with a controller

Publications (2)

Publication Number Publication Date
JP2014532373A JP2014532373A (ja) 2014-12-04
JP5813885B2 true JP5813885B2 (ja) 2015-11-17

Family

ID=47049373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014535746A Expired - Fee Related JP5813885B2 (ja) 2011-10-14 2012-10-04 コントローラでネットワークプロトコルアドレス指定を管理するためのシステム及び方法

Country Status (5)

Country Link
US (1) US8856384B2 (ja)
EP (1) EP2749011B1 (ja)
JP (1) JP5813885B2 (ja)
ES (1) ES2602818T3 (ja)
WO (1) WO2013055555A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856384B2 (en) * 2011-10-14 2014-10-07 Big Switch Networks, Inc. System and methods for managing network protocol address assignment with a controller
US8644149B2 (en) * 2011-11-22 2014-02-04 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks
KR20130093734A (ko) * 2011-12-26 2013-08-23 한국전자통신연구원 로드 밸런싱 장치 및 그것의 로드 밸런싱 방법
US9426067B2 (en) * 2012-06-12 2016-08-23 International Business Machines Corporation Integrated switch for dynamic orchestration of traffic
US9049114B2 (en) 2012-08-31 2015-06-02 Cisco Technology, Inc. Network access device and method for automatically establishing connection to a wide area network
CN103973828B (zh) * 2013-02-01 2017-07-14 华为技术有限公司 一种dhcp客户端获取ip地址的方法及装置
US9008080B1 (en) * 2013-02-25 2015-04-14 Big Switch Networks, Inc. Systems and methods for controlling switches to monitor network traffic
FR3009162B1 (fr) * 2013-07-24 2016-11-04 Bull Sas Procede et dispositif de controle de la transmission de trames par remplacement de l'adresse point a multipoints par une adresse point a point
US9742639B1 (en) * 2013-08-20 2017-08-22 Cavirin Systems, Inc. Intelligent network resource discovery and monitoring
US9787586B2 (en) * 2013-10-24 2017-10-10 University Of Houston System Location-based network routing
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9509092B2 (en) 2013-11-06 2016-11-29 Cisco Technology, Inc. System and apparatus for network device heat management
JP6228822B2 (ja) * 2013-11-21 2017-11-08 株式会社日立製作所 ネットワーク管理制御装置、ネットワーク管理制御システム、及びネットワーク管理制御方法
US9600263B2 (en) * 2014-07-21 2017-03-21 Big Switch Networks, Inc. Systems and methods for performing uninterrupted network upgrades with controllers
US9853938B2 (en) * 2014-09-08 2017-12-26 Quanta Computer Inc. Automatic generation of server network topology
WO2016051263A1 (en) * 2014-09-30 2016-04-07 Sercel Method for dynamically configuring a network comprising a plurality of subnets
US9544270B2 (en) * 2014-10-01 2017-01-10 The Boeing Company Universal DHCP helpers
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
WO2016130126A1 (en) * 2015-02-12 2016-08-18 Hewlett Packard Enterprise Development Lp Monitoring dynamic device configuration protocol offers to determine anomaly
CN104980302B (zh) * 2015-05-12 2018-06-19 上海斐讯数据通信技术有限公司 一种在sdn框架下基于stp消除冗余链路的方法
US10142163B2 (en) 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
CN107295113B (zh) * 2016-03-31 2020-08-25 华为技术有限公司 一种网络配置的方法、交换机和服务器
US10333828B2 (en) 2016-05-31 2019-06-25 Cisco Technology, Inc. Bidirectional multicasting over virtual port channel
US11509501B2 (en) 2016-07-20 2022-11-22 Cisco Technology, Inc. Automatic port verification and policy application for rogue devices
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
US10432578B2 (en) 2016-09-27 2019-10-01 Cisco Technology, Inc. Client address based forwarding of dynamic host configuration protocol response packets
US10313259B2 (en) 2016-12-09 2019-06-04 Vmware, Inc. Suppressing broadcasts in cloud environments
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10454882B2 (en) 2017-06-30 2019-10-22 Cisco Technology, Inc. DHCP in layer-3 overlay with anycast address support and network address transparency
US10797959B2 (en) * 2017-08-11 2020-10-06 Quanta Computer Inc. LLDP based rack management controller
EP3461081A1 (de) * 2017-09-22 2019-03-27 Siemens Aktiengesellschaft Verfahren zum betrieb eines mehrere kommunikationsgeräte umfassenden kommunikationsnetzes eines industriellen automatisierungssystems, steuerungseinheit und kommunikationsgerät
EP3713165B1 (en) 2017-12-11 2023-05-31 Huawei Cloud Computing Technologies Co., Ltd. Network and network management method
US11888899B2 (en) * 2018-01-24 2024-01-30 Nicira, Inc. Flow-based forwarding element configuration
JP7073841B2 (ja) * 2018-03-28 2022-05-24 株式会社リコー 情報処理装置、パケット中継方法
US10819679B2 (en) * 2018-05-02 2020-10-27 Ciena Corporation Zero touch provisioning of a network element through a network address translation gateway
US11102074B2 (en) * 2019-01-11 2021-08-24 Cisco Technology, Inc. Software defined access fabric without subnet restriction to a virtual network
US20210400015A1 (en) * 2019-01-17 2021-12-23 Hewlett Packard Enterprise Development Lp Short-term lease allocation for network address conflict reduction in dhcp failover deployments
US11356330B2 (en) * 2019-02-27 2022-06-07 Oki Electric Industry Co., Ltd. Communication device and communication method
JP7218613B2 (ja) * 2019-02-27 2023-02-07 沖電気工業株式会社 通信装置および通信方法
CN113132505A (zh) * 2020-01-10 2021-07-16 华为技术有限公司 发送应答报文的方法、装置、计算设备和存储介质

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654554B2 (ja) 1997-11-21 2005-06-02 株式会社小松製作所 ネットワークシステム及びdhcpサーバ選択方法
US6640251B1 (en) 1999-03-12 2003-10-28 Nortel Networks Limited Multicast-enabled address resolution protocol (ME-ARP)
US7318089B1 (en) 1999-09-30 2008-01-08 Intel Corporation Method and apparatus for performing network-based control functions on an alert-enabled managed client
US7231660B1 (en) 1999-11-25 2007-06-12 International Business Machines Corporation Method and system for preventing unauthorized server interference in an internet protocol network
US7260648B2 (en) 2001-01-25 2007-08-21 Ericsson, Inc. Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
EP1366613B1 (en) * 2001-03-08 2008-09-24 BRITISH TELECOMMUNICATIONS public limited company Address translator and address translation method
US7072354B1 (en) 2001-10-03 2006-07-04 Cisco Technology, Inc. Token registration of managed devices
WO2003037009A1 (en) 2001-10-23 2003-05-01 Meshnetworks, Inc. System and method for providing a congestion optimized address resolution protocol for wireless ad-hoc networks
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7337224B1 (en) 2002-10-24 2008-02-26 Cisco Technology, Inc. Method and apparatus providing policy-based determination of network addresses
US7386629B2 (en) * 2003-06-30 2008-06-10 Intel Corporation System and method for synchronous configuration of DHCP server and router interfaces
JP3838437B2 (ja) * 2003-09-26 2006-10-25 日本電気株式会社 ネットワークスイッチ及びその動作方法、並びにブレードサーバ
JP2006020085A (ja) * 2004-07-01 2006-01-19 Fujitsu Ltd ネットワークシステム、ネットワークブリッジ装置、ネットワーク管理装置およびネットワークアドレス解決方法
US7920577B2 (en) * 2004-07-08 2011-04-05 Avaya Communication Israel Ltd. Power saving in wireless packet based networks
US7729284B2 (en) * 2005-01-19 2010-06-01 Emulex Design & Manufacturing Corporation Discovery and configuration of devices across an Ethernet interface
DE102005006889B4 (de) * 2005-02-15 2007-01-11 Siemens Ag Verfahren, Kommunikationsanordnung und Kommunikationsvorrichtung zum Einrichten einer Kommunikationsbeziehung in zumindest einem Kommunikationsnetz
US7756976B2 (en) 2005-03-18 2010-07-13 Hewlett-Packard Development Company, L.P. Systems and methods for denying rogue DHCP services
US7937494B2 (en) 2005-09-01 2011-05-03 Cisco Technology, Inc. Methods and apparatus for processing a DHCP request using rule-based classification
EP1780943A1 (en) 2005-10-31 2007-05-02 Hewlett-Packard Development Company, L.P. Discovery of ISO Layer-2 Topology
US8966018B2 (en) * 2006-05-19 2015-02-24 Trapeze Networks, Inc. Automated network device configuration and network deployment
US20070286209A1 (en) 2006-06-12 2007-12-13 Research In Motion Limited System and method for handling address resolution protocol requests
JP4882555B2 (ja) 2006-07-07 2012-02-22 双葉電子工業株式会社 無線ブリッジ通信機
JP2008028914A (ja) * 2006-07-25 2008-02-07 Nec Corp 通信負荷低減装置、通信負荷低減方法、及びプログラム
US20080063002A1 (en) * 2006-09-11 2008-03-13 3Dsp Corporation Multi-gateway system and methods for same
US20080101381A1 (en) 2006-10-25 2008-05-01 Mediatek Inc. Address resolution protocol (arp) cache management methods and devices
US20080189769A1 (en) 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US9419867B2 (en) 2007-03-30 2016-08-16 Blue Coat Systems, Inc. Data and control plane architecture for network application traffic management device
US9083609B2 (en) * 2007-09-26 2015-07-14 Nicira, Inc. Network operating system for managing and securing networks
US8099764B2 (en) * 2007-12-17 2012-01-17 Microsoft Corporation Secure push and status communication between client and server
CN102027761B (zh) 2008-05-15 2015-05-20 哈里斯施特拉特克斯网络运行公司 用于无线网络中的分布式数据路由的系统和方法
US8238315B2 (en) * 2008-09-16 2012-08-07 Marvell World Trade Ltd. Rapid local address assignment for wireless communication networks
KR101352852B1 (ko) 2008-09-30 2014-01-20 삼성전자주식회사 Dhcp를 이용한 화상형성장치의 ip 주소 할당 방법, 그 화상형성장치, 및 dhcp를 이용한 ip주소 할당 시스템
US8588082B2 (en) 2009-09-23 2013-11-19 Ixia Network testing using control plane and data plane convergence
US20130268801A1 (en) * 2010-12-10 2013-10-10 Nec Corporation Server management apparatus, server management method, and program
US20130024553A1 (en) * 2011-07-18 2013-01-24 Cisco Technology, Inc. Location independent dynamic IP address assignment
US8971334B2 (en) 2011-08-02 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Packet broadcast mechanism in a split architecture network
US9250941B2 (en) * 2011-09-30 2016-02-02 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method for segregating tenant specific data when using MPLS in openflow-enabled cloud computing
US8856384B2 (en) * 2011-10-14 2014-10-07 Big Switch Networks, Inc. System and methods for managing network protocol address assignment with a controller

Also Published As

Publication number Publication date
US20130097335A1 (en) 2013-04-18
WO2013055555A1 (en) 2013-04-18
JP2014532373A (ja) 2014-12-04
EP2749011A1 (en) 2014-07-02
EP2749011B1 (en) 2016-08-10
ES2602818T3 (es) 2017-02-22
US8856384B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
JP5813885B2 (ja) コントローラでネットワークプロトコルアドレス指定を管理するためのシステム及び方法
JP6004405B2 (ja) コントローラでネットワークパケット転送を管理するシステム及び方法
JP5837989B2 (ja) コントローラでネットワークハードウェアアドレス要求を管理するためのシステム及び方法
JP5864758B2 (ja) バーチャルスイッチを介してネットワークトラフィックをコントロールするシステム及び方法
CN106797351B (zh) 使用控制器执行逻辑网络转发的系统和方法
US9042234B1 (en) Systems and methods for efficient network traffic forwarding
US9130870B1 (en) Methods for determining network topologies
US10270645B2 (en) Systems and methods for handling link aggregation failover with a controller
US8787388B1 (en) System and methods for forwarding packets through a network
US9413614B1 (en) Systems and methods for determining network topologies
US9600263B2 (en) Systems and methods for performing uninterrupted network upgrades with controllers
JP2017506025A (ja) ネットワークサービス挿入を実行するシステム及び方法
JP2015065684A (ja) ネットワーク・スイッチを構成するための方法
US10291533B1 (en) Systems and methods for network traffic monitoring
US9264295B1 (en) Systems and methods for forwarding broadcast network packets with a controller
US10873476B2 (en) Networks with multiple tiers of switches

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150916

R150 Certificate of patent or registration of utility model

Ref document number: 5813885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees