JP2006515499A - ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法 - Google Patents

ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法 Download PDF

Info

Publication number
JP2006515499A
JP2006515499A JP2006500784A JP2006500784A JP2006515499A JP 2006515499 A JP2006515499 A JP 2006515499A JP 2006500784 A JP2006500784 A JP 2006500784A JP 2006500784 A JP2006500784 A JP 2006500784A JP 2006515499 A JP2006515499 A JP 2006515499A
Authority
JP
Japan
Prior art keywords
protocol
network
data plane
configuration information
received
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.)
Pending
Application number
JP2006500784A
Other languages
English (en)
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 JP2006515499A publication Critical patent/JP2006515499A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Abstract

ネットワークフォワーディングエレメントでのデータプレーンの振る舞いを構成するための方法及び装置が記載される。1実施の形態では、本方法は、ネットワークエレメントのコントロールプレーンで、ネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用してプロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報を受信することを含んでいる。ひとたびプロトコルコンフィギュレーション情報が受信されると、プロトコルコンフィギュレーション情報は、プロトコルアプリケーションにより実現されたネットワークプロトコルに対応するコントロールインタフェースを使用して処理される。ひとたびプロトコルコンフィギュレーション情報が処理されると、コントロールインタフェースは、プロトコルコンフィギュレーション情報に従ってネットワークエレメントの1以上のデータプレーンのフォワーディングエレメントをプログラムする。これに応じて、複数のネットワークプロトコルについて類似のコントロールインタフェースを提供することで、複数のベンダからのコンポーネント間の相互運用性が可能となる。

Description

本発明の1以上の実施の形態は、ネットワーク通信及びプロトコルの分野全般に関する。より詳細には、本発明の1以上の実施の形態は、ネットワークフォワーディングエレメント(network forwarding elements)でデータプレーンの振る舞いを構成するための方法及び装置に関する。
今日、様々な独立したハードウェアベンダ(IHV: Independent Hardware Vendors)は、無数のパケット処理タスクを実行するためのネットワーキング特定用途向け集積回路(ASIC: Application Specific Integrated Circuits)を製造している。残念なことに、かかるASICへの現在のインタフェースは、対応するビットレベルの振る舞い及びドキュメンテーションを有するメモリマップドレジスタである。しかし、全てのIHVがレジスタレベルの記述にそれらの製品を制限しているのではなく、Cレベル又はハードウェアに対する他のソフトウェアインタフェースを提供するものがある。しかし、これらのインタフェースは、基礎をなすレジスタを便宜的に反映するものであり、したがって、IHV毎に異なる。
さらに、レジスタレベルの記述又はハードウェアASICへのそれらのソフトウェアインタフェースは、これらの様々な製品を使用するのを非常に難しくする。実際に、これらのレジスタレベルのモデルは、スティープラーニングカーブを表し、ある製品でASIC又はネットワーキングシリコンを使用するのを望む相手先ブランド製造(OEM: Original Equipment Manufacturer)又は独立したソフトウェアベンダ(ISV: Independent Software Vendors)からの堅い結合を表している。かかるマイクロレベルの記述(すなわちレジスタビット)では、これらの様々なASICにわたって再使用可能なコードを書き込むことは困難である。さらに、ASICのネットワーキングシリコンのマイクロレベルの機能性を解読することも困難である。
ネットワーキング産業における最近のトレンドは、よりプログラマブルであるが、ネットワークプロセッサのようなパフォーマンス指向のネットワーク装置との、ASICのリプレースメントであり、これは比較的融通がきかない。残念なことに、ネットワークプロセッサは、一般的に初期のステージにあり、アブストラクトプログラミングモデルを有さないか、又はプロセッサ自身における進歩につれて成長するに十分に表現的であってフレキシブルなモデルを有さない。一般に、スイッチ及びルータのようなネットワークエレメントは、コントロールプレーン(control plane)、フォワーディングプレーン(forwarding plane)及びマネージメントプレーン(management plane)という、3つの論理的な動作コンポーネントに分類することができる。
一般に、コントロールプレーンは、異なるシグナリング及び/又はルーティングプロトコルを実行し、全てのルーティング情報をフォワーディングプレーンに提供する。フォワーディングプレーンは、この情報に基づいて決定し、分類のフォワーディング、フィルタリング等のようなパケットに関する動作を実行する。直交するマネージメントプレーンは、コントロール及びフォワーディングプレーンを管理する。しかし、上述されたプレーンないに標準化されたアプリケーションプログラミングインタフェース(API: Application Programming Interfaces)を導入することで、システムベンダOEM及びこれらネットワークエレメントのエンドユーザは、かれらの装置の選択を達成するために異なるベンダから利用可能なコンポーネントを混成及び整合させるのに役立つことができる。
本発明の様々な実施の形態は、添付図面における、限定されるものではない例示により説明される。
ネットワークフォワーディングエレメントでデータプレーンの振る舞いを構成するための方法及び装置が記載される。1実施の形態では、本方法は、ネットワークエレメントのコントロールプレーン内でネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用したネットワークプロトコルスタック(プロトコルアプリケーション)から抽出されたプロトコルコンフィギュレーション情報を受信することを含んでいる。ひとたび、プロトコルコンフィギュレーション情報が受信されると、プロトコルコンフィギュレーション情報は、対応するコントロールプレーンのコントロールインタフェースを使用して処理される。
ひとたび、プロトコルコンフィギュレーション情報が処理されると、コントロールインタフェースは、受信されたプロトコルコンフィギュレーション情報に従って、ネットワークエレメントの1以上のデータプレーンフォワーディングエレメントをプログラムする。これに応じて、多数のネットワークプロトコルについて同様にコントロールインタフェースを提供することで、多数のベンダからのコンポーネント間の相互運用性が可能になる。結果として、ベンダの独立性が達成され、将来的なネットワークエレメントについて販売、改善された効率、より低いコスト及びより大きな革新のためのより迅速な時間が得られる。
以下の説明では、説明のため、本発明の実施の形態の全体的な理解を提供するため、様々な特定の詳細が述べられる。しかし、本発明の様々な実施の形態がこれら特定の詳細なしに実施される場合があることは当業者にとって明らかであろう。さらに、以下の説明は、本発明の実施の形態に関する全ての可能な実現の使い尽くされたリストを提供するよりはむしろ、可能な実施の形態及びその添付図面のサブセットを提供するものである。他の例では、公知の構造及び装置は、本発明の様々な実施の形態の詳細を曖昧にするのを回避するため、ブロック図の形式で示されている。
[システムアーキテクチャ]
図1は、インターネットを介してホストコンピュータ140(140−1,...,140−N)に結合されるインターネットホスト102を含んでいる、従来のネットワーク100を説明するブロック図である。一般に、インターネットホスト102とホストコンピュータ140との間の情報のルーティングは、データパケットを転送するための従来の手段に従って実行される。インターネットホスト102から様々なホストコンピュータ140にインターネット内で様々なパケットが経路制御される。従来のパケット化された情報を送信するときにこのモデルは上手くいくが、マルチメディアアプリケーションと同様に、遠隔地間会議を含む様々なアプリケーションが登場しており、これらのアプリケーションは、従来のネットワーク内で受ける遅延に対して感度が高い。
結果として、かかるマルチメディア及びリアルタイムアプリケーションの出現は、図1に示されるようなネットワークを利用しており、変動するサービス品質(QoS: Quality of Service)と同様に、ネットワークから利用可能なスイッチング、ルーティング等を改善するための要求を駆動している。同様に、様々な情報(パケット)は、ネットワーク100を通して経路制御される場合があり、様々な特別なプロトコルアクティビティを必要とする場合がある。残念なことに、図1に示されるようなネットワークは、伝統的な最善努力サービスモデルを利用しており、このサービスモデルは、ネットワークトラフィックを処理するために帯域幅を前もって割り当てないが、最善の努力に基づいて現在利用可能な帯域幅を利用してパケットを単に経路制御する。結果として、変動する問合せの遅延及びインターネットに渡る混雑がかなり一般的である。
ネットワーク100により実現される最善努力のサービスモデルは、伝送制御プロトコル(TCP: Transmission Control Protocol)/インターネットプロトコル(IP: Internet Protocol)(TCP/IP)に基づいている。プロトコルの実現は、インターネットプロトコル・バージョン4(IPv4)を示している。一般に、IPv4は、今日使用されている最も広く設けられているインターネットプロトコルのレベルである。当業者には知られているように、IPアドレスは、インターネットにわたりパケットで送出される情報のそれぞれ送信側と受信側を識別する32ビット数である。一般に、IPアドレスは、インターネット上の特定のネットワークの識別子、及びネットワーク内の特定の装置の識別子という、2つのパートを有している。
かかるように、インターネットは、多くの個々のネットワークの相互接続であり、IPv4は、ネットワークがその自身のインターネットアドレスを知っており、該ネットワークが通信する他のネットワークのインターネットアドレスを知っているという前提で、別のネットワークと通信する一方のネットワークのためのルールのセットである。残念ながら、IPv4により規定される32ビットのIPアドレスは、超えるに非常に近い。言い換えれば、インターネットの成長により、新たなアーキテクチャなしに、IPv4により提供されるアドレス指定方法を使用した可能なネットワークアドレスの数を間もなく超える可能性があることである。同様に、現在のTCP/IPにより提供される最善努力のサービスモデルは、様々な現在及び将来的なネットワーキングアプリケーションにとって不十分である。
これに応じて、次の世代のバージョンのインターネットプロトコルが実現されてきている。当業者には知られているように、この次の世代のインターネットプロトコルは、「インターネットプロトコル・バージョン6(IPv6)」と呼ばれている。IPv4に対するIPv6における最も明らかな実現は、IPアドレスが32ビットから128ビットに長くされていることである。結果として、この拡張により、インターネットのかなりの将来的な成長を期待することができ、ネットワークアドレスの差し迫った不足として認識されることについての軽減を提供する。さらに、IPv6は、ユニキャスト(あるホストから別のホストへ)、エニーキャスト(あるホストから複数のホストのうちで最も近いホストへ)、及びマルチキャスト(あるホストから複数のホストへ)といった、3つのタイプのアドレス指定についてのルールを記述している。
さらに、IPv6は、様々なエンハンスを提供している。たとえば、IPv6は、他のネットワークトラフィックパケットと相対的に高いQosを必要とすると思われるパケットについて識別メカニズムを可能にする。言い換えれば、エンド・トゥ・エンドパス(すなわちフロウ)に属しているパケットは、たとえば、リアルタイムの到着を必要とするマルチメディアプレゼンテーションの一部として識別することができる。結果として、この識別を提供することで、リアルタイムデリバリを必要とするパケット、すなわち遅延に対する感度が高いパケットには、標準的なネットワークトラフィックに関して高いQoSが与えられる。
たとえば、図2は、たとえばリアルタイムアプリケーションサーバ(ソースコンピュータ)200とデスティネーションコンピュータ220との間の様々なネットワークエレメントを例示するために示される図1のネットワークを更に例示するブロック図である。ネットワークがたとえばIPv4ルーティングプロトコルに従って構成されているため、受信されたネットワークトラフィックは、ベストエフォートサービスモデルに基づいて送出される。結果として、リアルタイムアプリケーションサーバ200とデスティネーションコンピュータ220との間にパケット化されたデータの転送は、インターネットにわたる混雑がインターネットの増加する広い使用の結果としてかなり一般的であるという事実のために様々なルーティング遅延を受ける。たとえば、ピーク時間の間、リアルタイムのパケット化されたデータの転送は、デスティネーションソースコンピュータで使用不可能なアプリケーションをレンダリングするため、多量の遅延を受ける。トラフィックフローについてサービス区分(変動するQoS)を提供するための現在のネットワークプロトコルは、DiffServ(Differentiated Services)モデルである。DiffServモデルは、遅延限界のような困難な保証及び統合サービス(IntServ)モデルにより提供される帯域幅とは異なる集合体を流すための定量的な区分(qualitative differentiation)を提供する。たとえば、DiffServモデルにより提供された定量的な区分は、クラスBよりも優先度が高いクラスAを提供するために構成される場合がある。さらに、DiffServモデルは、限定されるものではないが、分類子(classifiers)、メーター(meters)、ドロッパー(droppers)、キュー(queues)及びスケジューラ(schedulers)を含むデータパスエレメント(DPE: Data Pass Element)を提供する。
たとえばオーディオ及びボイスアプリケーションのようなネットワーク内での待ち時間をなす遅延及び混雑に対して非常に感度が高いアプリケーションを実現するため、たとえば、ネットワークトラフィックを高速化するための利用される場合がある更なるネットワークプロトコルは、マルチプロトコルラベルスイッチングプロトコル(MPLS: Multi-Protocol Label Switching)プロトコルである。MPLSプロトコルは、その簡略化された管理と同様に、ネットワークトラフィックフローを高速化するための標準的に承認されている技術である。MPLSは、それぞれのパケットに付されるラベルにより識別される所与のパケット系列のための特別のパスを設定することを含んでいる。結果として、パケットを転送するために次のノードへのアドレスを見るためにルータにとって一般に必要とされる時間が節約される。
さらに、MPLSは、当業者には知られているように、インターネットプロトコル、非同期転送モード(ATM)プロトコル、及びフレームリレーネットワークプロトコルと共に機能するので、マルチプロトコルと呼ばれている。さらに、MPLSは、大部分のパケットがレイヤ3(ルーティング)レベルよりはむしろレイヤ2(スイッチング)レベルで送出されるのを可能にする。さらに、トラフィックを高速に移動することに加えて、MPLSは、ネットワークのサービス品質(QoS)及びトラフィックエンジニアリングの簡略化された管理を提供する。これに応じて、MPLSプロトコルを実現するネットワークは、異なるネットワークトラフィックの混成に対して十分なサービス品質を提供することができる。本明細書で説明されたように、先に記載された各種ルーティング。スイッチング及びQoSプロトコルは、「ネットワークプロトコル」と集合的に呼ばれる。
図3を参照して、図3は、図2に示されたように、ネットワーク300内で利用される従来のネットワークエレメント302である。例示されるように、ネットワークエレメントは、コントロールプレーン310により示されるように、到来パケットを目的地に経路制御するための入力ファイバブロック304、転送決定ブロック390、及び出力ファイバブロック306を使用するフォワーディングプレーン380を含んでいる。残念なことに、ネットワークエレメント302は、1つの装置内で、堅く結合されるフォワーディング及びコントロールプレーンを提供する。結果として、ネットワークエレメント302内で、遅延に感度が高いアプリケーションにより必要とされるように、変動するQoSを実現することは、該装置内で使用される適切なインタフェースの詳細な知識を一般に必要とする。
しかし、ネットワーキング産業における最近のトレンドは、よりプログラマブルな、パフォーマンス指向のネットワークプロセッサのようなネットワーク装置と従来のネットワークエレメントを置き換えることであり、これは比較的フレキシブルではない。残念なことに、ネットワークプロセッサは、一般にそれら初期のステージにあり、アブストラクトプログラミングモデルを有していないか、プロセッサ自身における進歩につれて成長するに十分に表現的かつフレキシブルなモデルを有していない。
一般に、スイッチ及びルータのようなネットワークエレメントは、コントロールプレーン、フォワーディングプレーン及びマネージメントプレーンといった、3つの論理的な動作コンポーネントに分類することができる。たとえば、コントロールプレーンは、異なるシグナリング又はルーティングプロトコルを実行し、全てのルーティング情報をフォワーディングプレーンに提供する。フォワーディングプレーンは、この情報に基づいて決定を行い、転送、分類、フィルタリング等のようなパケットに関する動作を実行する。直交するマネージメントプレーンは、コントロール及びフォワーディングプレーンを管理する。
しかし、上述されたプレーン内での標準化されたアプリケーションプログラミングインタフェース(API)の導入により、これらのネットワークエレメントのシステムベンダ、OEM及びエンドユーザは、彼らの装置の選択を達成するために異なるベンダから入手可能なコンポーネントを混成して整合させるのに役立たせることができる。これに応じて、図4は、本発明の1実施の形態に係る、相互接続402を介して互いに結合される個別のコントロールプレーン410及びデータプレーン430から構成されるネットワークエレメント400を例示するブロック図である。
1実施の形態では、コントロールインタフェース410は、データプレーン430のフォワーディングエレメントをプログラムするために必要とされる情報を決定するためにデータプレーンの照会を可能にする。これにより、ネットワークフォワーディングエレメントにおける特定の振る舞いを制御することにおいて大きな程度の一般化が可能となる。本明細書で記載されるように、テーブルを生成し、それぞれのプロトコルを実現するためにそれらのエントリをポピュレートするための様々なパラメータ及び情報は、「プロトコルコンフィギュレーション情報(protocol configuration information)」と集合的に呼ばれる。
これに応じて、コントロールインタフェース420は、データプレーンのベンダソースにも関わらず、データプレーン430内で第三者のネットワークプロトコルスタック(プロトコルアプリケーション)を実現するため、選択されたデータプレーンフォワーディングエレメントをプログラムすることができる。1実施の形態では、コントロールインタフェース420は、該プロトコルに対応するAPIによりプロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報に従ってデータプレーン430をプログラムする。たとえば、ネットワークエレメント400は、アプリケーション424及び426を介して、MPLS及びDiffServネットワークプロトコル(「ネットワークプロトコル」)と同様に、IPv4,IPv6ルーティングプロトコルを実現するように例示されている。同様に、マネージメント/コンフィギュレーションアプリケーション422も提供される。
異なる第三者の開発者からの様々なプロトコルアプリケーションを可能にするため、本発明の1実施の形態は、たとえばIPv4ルーティングプロトコル、IPv6ルーティングプロトコル、MPLSネットワークプロトコル及びDiffServネットワークプロトコルを提供する。しかし、望まれる更なるプロトコルのための様々なAPIは、本発明の実施の形態に従って実現される場合がある。これに応じて、本発明の実施の形態に係るAPIを利用することで、第三者のプロトコルアプリケーションは、ベンダBのコントロールプレーン内の第三者のソフトウェア開発者により望まれる特定のプロトコルを実現するため、ベンダAのコントロールプレーンにロードされる場合がある。
1実施の形態では、コミュニケーションインターフェーシングは、データプレーン430内でのプロトコルの実現と同様に、それぞれのプロトコルAPIにより処理される。言い換えれば、コントロールインタフェース420は、先に記載されたプロトコルについてAPIを露出する。結果として、対応するAPIを従来のプロトコルアプリケーションに組み込むことで、プラットフォームに独立なプロトコルアプリケーションが提供される。かかるように、1実施の形態では、対応するAPIは、プロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報をコントロールプレーン420に提供する。
1実施の形態では、コントロールプレーン420は、このプロトコルコンフィギュレーション情報を使用して、プロトコルを実現するためにデータプレーン430のフォワーディングエレメントをプログラムする。さらに、コントロールインタフェース420とデータプレーン430との間の通信は、たとえば、相互接続メッセージプロトコル等を使用して達成される。たとえば、IPv6ルーティングプロトコルは、フォワーディングエレメント440内で実現される場合がある。例示されるように、IPv6フォワーディングテーブル(forwarding table)は、ネイバーテーブル(neighbor table)460もまた、装置のブートアップの間にフォワーディングエレメント440内で形成される。さらに、プロトコルコンフィギュレーション情報により指示されるように、インタフェース442を介して受信されたパケットの経路制御を指示するため、インタフェース特定テーブルのエントリ(462及び464)が生成され、それぞれのテーブル460内に取り込まれる。
同様に、MPLS、FTN(NHLFE(next hop label-forwarding entry)へのFEC(forward equivalence class)、及びILM(incoming label map)テーブルは、特定のエントリ452,454及び456をもつフォワーディングエレメント440内で実現される場合もある。特定のエントリは、インタフェース442を介して対応するパケットを受信したとき、フォワーディングエレメントの振る舞いを制御するため、対応するLDP(label distribution protocol)アプリケーションにより指示される。同様に、IPv4ルーティングプロトコルは、DiffServルーティングプロトコルと同様に、フォワーディングエレメント470内で実現される場合もある。
この能力は、1実施の形態において、コントロールインタフェース420がデータプレーン430内の多くの特定のエレメントのうちの1つをターゲットとするためのメカニズムを提供するという事実により提供される。すなわち、多数のフォワーディングエレメントのうちの1つエレメントのうちの、1以上のテーブルのうちの特定のテーブルのエントリがアドレス指定される場合がある。同様に、1実施の形態では、コントロールインタフェースは、コントロールプレーンのコンポーネント(プロトコルアプリケーション)にとって、データプレーンのパラメータ及び機能を決定するためのフォワーディングエレメントを照会するためのメカニズムを提供する。
これに応じて、図5は、本発明の1実施の形態に係る、図4に示されたようなネットワークエレメント400を利用するネットワーク500を例示するブロック図である。例示されるように、リアルタイムアプリケーションサーバ200は、たとえば、ネットワークエレメント400内のDiffServネットワークプロトコルにより提供される改善された/変動するQoSを受信することができる。同様に、他の様々なソースコンピュータは、たとえば、IPv4(レガシーアプリケーションについて)及びIPv6ルーティングプロトコル、MPLSネットワーク等のような個別のルーティング/ネットワークプロトコルを必要とする。これらのプロトコルは、本発明の実施の形態に従って、対応するプロトコルAPIを含むたとえば第三者のプロトコルアプリケーションを使用してネットワーク内で実現される場合がある。
さらに、ネットワークエレメント400内のコントロールインタフェース420は、コントロールプレーンとデータプレーンとの間のいずれかの種類の相互接続技術をサポートするために本質的に完全な非同期であるように設計される。コントロールプレーンとデータプレーンは、イーサネット(登録商標)、ケーブルライン、バス又は光ファイバのようなネットワーク技術を使用して接続することができる。同様に、コントロールプレーンとデータプレーンとの間の接続は、コンパクトPCI(Peripheral Component Interconnect)のようなバステクノロジーを介して達成されるか、又はコントロールプレーンとデータプレーンは、同じ位置に配置され、プロセス間通信を介して接続される。ここで、本発明の実施の形態を実現するための手順的な方法が説明される。
[動作]
図6は、本発明の1実施の形態に係る、図4に示されるような、たとえばネットワークエレメント400のネットワークフォワーディングエレメントによるデータプレーンの振る舞いを構成するための方法600を説明するフローチャートである。プロセスブロック602で、プロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報は、ネットワークエレメントのコントロールプレーンで受信される。1実施の形態では、プロトコルアプリケーションは、プロトコルのアプリケーションプログラミングインタフェース(API)を利用してネットワーク/ルーティングプロトコルを実現し、このAPIは、プロトコルコンフィギュレーション情報を抽出するための責任を果たす。
1実施の形態では、プロトコルAPIは、たとえば、DiffServネットワークプロトコル、MPLSネットワークプロトコル、IPv4及びIPv6ルーティングプロトコルのようなネットワークプロトコルをサポートする。これに応じて、受信されたプロトコルコンフィギュレーション情報により規定されたそれぞれのプロトコルの実現は、アプリケーションプログラマから隠されている。ひとたび、プロトコルコンフィギュレーション情報のアプリケーションが受信されると、プロセスブロック604で、受信されたプロトコルコンフィギュレーション情報は、受信されたプロトコルアプリケーションにより実現されたプロトコルに対応するコントロールインタフェースを使用して処理される。
たとえば、図4を参照して示されるように、コントロールインタフェース420は、コントロールインタフェースIPv4、IPv6、MPLS及びDiffServコントロールインタフェースから構成される。結果として、コントロールインタフェース420は、たとえば第三者の開発者から受信されたアプリケーションを処理するために対応するプロトコルインタフェースを決定する。かかるように、ひとたび選択されると、プロセスブロック620で、ネットワークエレメントの1以上のデータプレーンフォワーディングエレメントは、たとえば図4に例示されるように、プロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報に従ってプログラムされる。
図7は、本発明の1実施の形態に係る、図6に示されるような、プロセスブロック604での受信されたプロトコルコンフィギュレーション情報の処理のための方法606を例示するフローチャートである。プロセスブロック608で、コントロールインタフェースは、受信されたプロトコルコンフィギュレーション情報と関連されるネットワークルーティング又はノンルーティングプロトコルを実現するため、データプレーン内のフォワーディングエレメントを選択する。たとえば、コントロールインタフェース420は、IPv6ルーティングプロトコルを実現するため、フォワーディングエレメント440を選択する。
つぎに、プロセスブロック610で、選択されたフォワーディングエレメント内の情報を要求する1以上のインタフェース特定テーブルが決定される。ひとたび、プロセスブロック612で決定されると、プロトコルコンフィギュレーション情報に従って、コントロールインタフェースによりインタフェース特定(プロトコル特定)テーブル内の1以上のエントリが決定される。結果として、インタフェース特定テーブルを含むフォワーディングエレメントは、インタフェース特定テーブル内のエントリに従ってルーティングの決定を確定する。たとえば、IPv6テーブル460のエントリ1及び2に加えてMPLSテーブル450のエントリ1−3が決定される。
図8は、本発明の1実施の形態に係る、図6に示されるような、プロセスブロック620のデータプレーンフォワーディングエレメントをプログラミングするための方法622を説明するフローチャートである。プロセスブロック624では、データプレーンにより提供されるプロトコル機能を照会した後、プロトコルコンフィギュレーション情報により規定されるネットワークプロトコルは、データプレーンからイベントの受信を可能にするために装置のブートアップの間、データプレーンに登録される。言い換えれば、フォワーディングエレメントでの各種の処理の間、実現されるプロトコルは、データプレーンでのその後の処理の振る舞いを決定するため、コントロールプレーンへの通信を必要とするイベントをトリガする場合がある。
プロセスブロック626では、コントロールインタフェースは、たとえばフォワーディングエレメント440(図4)のようなネットワークデータプレーンのうちの1以上のフォワーディングエレメントからフォワーディングエレメントを選択する。つぎに、プロセスブロック628では、デバイスのブートアップで選択されたフォワーディングエレメントで発生される1以上のインタフェース特定テーブルが選択される。プロセスブロック630でひとたび選択されると、コントロールインタフェースは、対応するプロトコルAPIにより受信されたプロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報により指示されるように、選択されたフォワーディングエレメントのインタフェース特定テーブルの1以上のエントリを発生する。
図9は、本発明の1実施の形態に係る、IPv4ルーティングプロトコルを実現するため、図6に示されるような、プロセスブロック620のデータプレーンの振る舞いをプログラミングする方法632のためのフローチャートである。プロセスブロック634では、IPv4ルーティングプロトコルは、データプレーンからイベントの受信を可能にするため、装置のブートアップの間にネットワークエレメントのデータプレーンに登録される。プロセスブロック636では、IPv4フォワーディングテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで選択されたフォワーディングエレメントで選択される。プロセスブロック638では、アドレスレソリューション(ARP)テーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで生成される。
つぎに、プロセスブロック640では、データプレーンでのフォワーディングエレメントは、IPv4ルーティングプロトコルを実現するために選択される。プロセスブロック642では、要求がプロトコルアプリケーションから受信されたかが判定され、この要求は、ルート更新要求及びARP更新要求を含んでいる場合がある。ルート要求が受信されたとき、プロセスブロック644で、IPv4ルーティングエントリは、受信された更新要求に従ってフォワーディングテーブルで追加又は削除のいずれかされる。ARP要求が受信されたとき、プロセスブロック646で、IPv4エントリは、受信された要求に従ってアドレスレゾリューションテーブルで追加又は削除される。これに応じて、プロセスブロック642〜646は、フォワーディングエレメントのプログラミングが完了するまで繰り返される。
図10は、本発明の1実施の形態に係る、IPv6ルーティングプロトコルを実現するため、図6に示されるような、プロセスブロック620のデータプレーンをプログラミングするための方法650を説明するためのフローチャートである。プロセスブロック652では、IPv6ルーティングプロトコルは、先に示されたように、データプレーンからのイベントの受信を可能にするため、装置のブートアップの間にデータプレーンで登録される。プロセスブロック654では、IPv6フォワーディングテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで生成される。ひとたびプロセスブロック656で選択されると、IPv6ネイバーテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで生成される。
つぎに、プロセスブロック658で、フォワーディングエレメントは、ネットワークエレメントのデータプレーンから選択される。プロセスブロック66では、要求がプロトコルアプリケーションから受信されたかが判定され、この要求は、ルート更新要求及びネイバーテーブル更新要求を含んでいる場合がある。ルート要求が受信されたとき、プロセスブロック662では、IPv6ルーティングエントリは、受信された要求に従ってフォワーディングテーブルで追加又は削除される。ネイバーテーブル更新要求が受信されたとき、プロセスブロック664では、IPv6ネイバーエントリは、受信された要求に従ってネイバーテーブルに追加又は削除される。これに応じて、プロセスブロック660〜664は、フォワードエレメントのプログラミングが完了するまで繰り返される。
図11は、本発明の1実施の形態に係る、MPLSネットワークプロトコルを実現するため、図6に示されるような、プロセスブロック620でのデータプレーンのフォワードエレメントをプログラミングするための方法670を説明するフローチャートである。プロセスブロック672では、FTNテーブルがMPLSスイッチングプロトコルを実現するため、装置のブートアップの間に、選択されたフォワーディングエレメントで生成される。プロセスブロック674では、ILMテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで生成される。つぎに、プロセスブロック676では、FTN DiffServコンテクストテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで生成される。
ひとたび生成されると、プロセスブロック678では、ILM DiffServコンテクストテーブルは、装置のブートアップの間に選択されたフォワーディングエレメントで発生される。ひとたび生成されると、プロセスブロック680では、プロトコルアプリケーション要求が受信されたかが決定される。FTN要求が受信されたとき、プロセスブロック682及び684が実行される。しかし、ILM要求が受信されたとき、プロセスブロック686及び688が形成される。さもなければ、制御フローは、プロセスブロック620(図6)に戻り、これは、データプレーンのフォワーディングエレメントのプログラミングがそれぞれのプロトコルアプリケーション要求のためのプロセスブロック680−688の繰返しにより完了されると一般に生じる。
これに応じて、プロセスブロック682では、MPLS FTNエントリは、MPLS FTNエントリの要求が受信されたとき、FTNテーブルで追加又は削除される。同様に、プロセスブロック684では、MPLS E−LSP(explicit route label switch path)コンフィギュレーションのエントリは、MPLS E−LSPコンフィギュレーションのエントリ要求が受信されたとき、FTN DiffServコンテクストテーブルで追加又は削除される。さもなければ、プロセスブロック686で、MPLS ILMエントリは、MPLS ILMエントリ要求が受信されたときにILMテーブルで追加又は削除される。同様に、プロセスブロック686では、MPLS E−LSPプレコンフィギュレーションエントリは、MPLS E−LSPプリコンフィギュレーションのエントリ要求が受信されたときに、ILM DiffServコンテクストテーブルに追加又は削除される。
図12は、本発明の1実施の形態に係る、DiffServネットワークプロトコルを実現するため、図6に示されるような、プロセスブロック620のデータプレーンフォワーディングエレメントをプログラミングするための方法690を説明するためのフローチャートである。プロセスブロック692では、複数のDiffServテーブルは、装置のブートアップの間、たとえばDiffServ DPEであるDiffServルーティングプロトコルを実現するために選択されたフォワーディングエレメントで生成される。1実施の形態では、それぞれのコール(プロトコルアプリケーション要求)は、以下のタイプのうちの1つのエントリを含んでいる。フィルタ、メーター、マーカー、キュー又はスケジューラ。プロセスブロック694では、フィルタエントリは、分類子テーブルのエントリ要求が受信されたときDiffServ分類子テーブルで追加又は削除される。プロセスブロック696では、DiffServメーターテーブルでのメーターエントリは、メーターエントリ要求が受信されたとき追加、変更又は削除される。
さらに、プロセスブロック698では、DiffServマーカーテーブルでのマーカーエントリは、マーカーテーブルのエントリ要求が受信されたときに追加、変更又は削除される。プロセスブロック700では、ドロッパーエントリは、ドロッパーエントリ要求が受信されたとき、選択されたフォワーディングエレメントで生成されたDiffServアルゴリズムのドロッパーテーブルで追加、変更又は削除される。プロセスブロック702では、DiffServキューでのキューエントリは、キューのエントリ要求が受信されたときに追加、変更又は削除される。最後に、プロセスブロック704では、DiffServスケジューラテーブルでのスケジューラエントリは、スケジューラテーブルのエントリ要求が受信されたときに追加、変更又は削除される。
最後に、図13は、本発明の1実施の形態に係る、たとえばコントロールインタフェースを実現するネットワークエレメントの振る舞いのための方法710を説明するフローチャートである。プロセスブロック712では、パケットが受信されたかが判定される。プロセスブロック714でひとたび受信されると、「プロトコルがサポートされていない」イベントのような受信されたパケットによりイベントがトリガされたかが判定される。イベントがトリガされたとき、プロセスブロック716が実行される。プロセスブロック716では、フォワードエレメントアプリケーションは、受信されたパケットに対応するネットワークプロトコルを実現するものであって、イベントが通知される。1実施の形態では、通知は、責任のあるフォワーディングエレメントに受信されたパケットを転送することを含んでいる場合がある。
さもなければ、プロセスブロック718では、該パケットと関連されるネットワークプロトコルに対応する1以上のインタフェース特定テーブルでプログラムされたフォワーディングエレメントが決定される。ひとたび決定されると、プロセスブロック720では、「エントリが失われている/エントリが見つからない」イベントのような、テーブルのルックアップによりイベントがトリガされているかが判定される。イベントがトリガされたとき、プロセスブロック722が実行される。プロセスブロック722では、受信されたパケットに対応するネットワークプロトコルを実現するフォワードエレメントアプリケーションにはイベントが通知される。1実施の形態では、「エントリが見つからない」イベントは、フォワーディングエレメントにより受信されたパケットのDROPアクションを引き起こす。
さもなければ、プロセスブロック724では、フォワーディングエレメントは、該パケットと関連されるネットワークプロトコルに対応するエントリであって、対応するプロトコルコンフィギュレーション情報に従ってポピュレートされるインタフェース特定テーブルのエントリに従ってパケットを処理する。1実施の形態では、コントロールプレーンとデータプレーンとの間の通信は、たとえば、当該技術分野にて知られているように、インターコネクトメッセージングプロトコルを介して提供される。代替的な実施の形態では、コントロールプレーンとデータプレーンとの間の更なるメッセージング又は通信プロトコルが利用される場合がある。
これに応じて、本発明の実施の形態を利用して、たとえばネットワークプロセッサのための第三者のプロトコルアプリケーションの開発は、ネットワークプロセッサのようなフォワーディングエレメントのコントロールプレーン又はデータプレーンエレメントのいずれかのベンダソースに関わらず実現される場合がある。言い換えれば、本発明の実施の形態に係る、コントロールインタフェース及び対応するAPIの使用により、改善された変動するサービス品質を複数の変動するネットワークトラフィックに提供するためにネットワークエレメントを実現するための複数のベンダのコンポーネント間の相互運用性を可能にする。
これに応じて、データプレーンでのネットワーク/ルーティングプロトコルの実現を第三者のプロトコルアプリケーションの開発者から分離することで、プラットフォームの独立性が達成される。改善された効率及び低コスト及び高い斬新さをもつ製品の販売に対して迅速な時間が得られる。さらに、提供されるコントロールインタフェースは、コントロールプレーンとデータプレーンとの間でいずれかの種類のインターネットの相互接続技術サポートするため、本来完全に非同期であるように設計される。結果として、コントロールプレーンとデータプレーンは、たとえばEthernet(登録商標)ファイバのようなネットワーク技術を使用して接続することができる。
同様に、コントロールプレーンとデータプレーンとの間のコネクション(相互接続リンク)は、コンパクトPCIのようなバステクノロジーを介して行うことができるか、又はコントロールプレーン及びデータプレーンは、同じ位置に配置され、プロセス間通信を介して接続される。さらに、コントロールインタフェースは、ネットワークプロセッサのデータプレーンでIPv4/IPv6/MPLS/DiffServの振る舞いを構成するため、使用するのが容易であって、スケーラブルかつロバスト性の高いインタフェースを提供する。1実施の形態では、マネージメント、アプリケーション及びコントロールプレーンで実行するルーティング/MPLS/Qosアプリケーションのため、たとえばカリフォルニア州サンタクララにあるインテル社により製造されるようなネットワークプロセッサが使用される。さらに、第三者のルーティングスタック及びマネージメントアプリケーションの統合もまた、本発明の実施の形態に従ってコントロールインタフェースを利用して容易に実現される。
[代替的な実施の形態]
複数のデータプレーンの振る舞いを構成するためのコントロールインタフェース及びAPIの1実現の幾つかの態様が記載される。しかし、コントロールインタフェース及びAPIの様々な実現は、先に記載された機能を補足、補充、及び/又は置換することを含む様々な機能を提供する。機能は、コントロールプレーンの一部として、又は異なる実施の形態の実現におけるネットワークエレメントの一部として実現することができる。さらに、上述された記載は、説明のために、本発明の実施の形態の全体的な理解を提供するために特定の用語が使用されている。しかし、本発明の実施の形態を実施するため、特定の詳細が必要とされていないことは、当業者にとって明らかであろう。
さらに、本明細書で記載される実施の形態は、ネットワークエレメントのコントロールインタフェース及びAPIに向けられるが、本発明の実施の形態は、他のシステムに適用することもできることは当業者により理解されるであろう。実際に、特許請求の範囲により定義されるように、ネットワークエレメントで多数のプロトコルをサポートするためのシステムは、本発明の実施の形態に含まれる。先に記載された実施の形態は、本発明の実施の形態の原理及びその実用的な用途を最良に説明するために選択及び記載された。これらの実施の形態は、当業者が本発明を最良に利用するのを可能にするために選択され、様々な変更による様々な実施の形態は、予想される特定の使用に適している。
なお、本発明の様々な実施の形態の様々な特徴及び利点は、本発明の様々な実施の形態の構造及び機能の詳細と共に、上述された記載で述べられたが、この開示は例示的なものであることが理解される。あるケースでは、所定のサブアセンブリのみが1つのかかる実施の形態で詳細に記載される。しかし、かかるサブアセンブリは本発明の他の実施の形態で使用される場合があることが認識及び意図される。特に、本発明の実施の形態の原理での構造及び部材のマネージメントの事項が特許請求の範囲で表現される用語の広く一般的な意味により示される十分な範囲にまで、変形を詳細に行うことができる。
例示的な実施の形態及び最良のモードが開示されたが、特許請求の範囲により定義される本発明の実施の形態の範囲のままで、変更及び変形が開示された実施の形態に対してなされる場合がある。
当該技術分野で知られている従来のコンピュータネットワークを例示するブロック図である。 図1に示される従来のコンピュータネットワークを例示するブロック図であり、従来技術で知られているネットワーク内でパケットを経路制御するために利用される様々なネットワークエレメントを更に例示する図である。 図2に示される従来のネットワーク内で利用される従来のネットワークエレメントを例示するブロック図である。 本発明の1実施の形態に係る、ネットワークエレメントを例示するブロック図である。 本発明の1実施の形態に係る、図4に示されるネットワークエレメントを利用したコンピュータネットワークの図である。 本発明の1実施の形態に係る、ネットワークフォワーディングエレメントでデータプレーンの振る舞いを形成するための方法を説明するフローチャートである。 本発明の1実施の形態に係る、受信されたコンフィギュレーション情報により実現されるネットワークプロトコルに対応するコントロールインタフェースを使用して受信されたコンフィギュレーション情報を処理するための方法を説明するフローチャートである。 本発明の1実施の形態に係る、ネットワークプロトコルに従って1以上のデータプレーンのフォワーディングエレメントをプログラミングするための方法を説明するフローチャートである。 本発明の1実施の形態に係る、IPv4(Internet Protocol version 4)ルーティングプロトコルに係る1以上のデータプレーンのフォワーディングエレメントをプログラミングするための方法を説明するフローチャートである。 本発明の1実施の形態に係る、IPv6(Internet Protocol version 6)ルーティングプロトコルに係る1以上のデータプレーンフォワーディングエレメントをプログラミングするための方法を説明するフローチャートである。 本発明の1実施の形態に係る、MPLS(Multi-protocol label switching)プロトコルに係る1以上のデータプレーンフォワーディングエレメントをプログラミングするための方法を説明するフローチャートである。 本発明の1実施の形態に係る、DiffServ(Differentiated-Services)プロトコルに係る1以上のデータプレーンフォワーディングエレメントをプログラミングするための方法を説明するフローチャートである。 本発明の1実施の形態に係る、ルーティングプロトコルを実現するためのコントロールプレーンのコントロールインタフェースに従ってプログラムされるフォワーディングエレメント内で受信されたパケットを処理するための方法を説明するためのフローチャートである。

Claims (35)

  1. ネットワークエレメントのコントロールプレーンで、ネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用してプロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報を受信するステップと、
    前記受信されたプロトコルコンフィギュレーション情報により規定されるネットワークプロトコルに対応するコントロールインタフェースを使用して、該受信されたプロトコルコンフィギュレーション情報を処理するステップと、
    前記コントロールインタフェースにより、前記受信されたプロトコルコンフィギュレーション情報に従って、前記ネットワークエレメントの1以上のデータプレーンのフォワーディングエレメントを構成するステップと、
    を備えることを特徴とする方法。
  2. 前記受信されたプロトコルコンフィギュレーション情報を処理するステップは、
    前記プロトコルコンフィギュレーション情報により規定される該ネットワークプロトコルを実現するため、前記データプレーンでフォワーディングエレメントを選択するステップと、
    前記プロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントで形成するための1以上のインタフェース特定テーブルを決定するステップと、
    前記インタフェース特定テーブルを含んでいるフォワーディングエレメントが前記インタフェース特定テーブルでのエントリに従う決定を確定するように、前記インタフェース特定テーブルで1以上のエントリを決定するステップと、
    を更に備える請求項1記載の方法。
  3. 前記1以上のデータプレーンのフォワーディングエレメントを構成するステップは、
    前記データプレーンからのイベントの受信を可能にするため、前記プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを前記データプレーンと登録するステップと、
    ネットワークエレメントのデータプレーンのうちの1以上のフォワーディングエレメントからフォワーディングエレメントを選択するステップと、
    前記プロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントでの1以上のインタフェース特定テーブルについて前記選択されたフォワーディングエレメントを照会するステップと、
    前記プロトコルアプリケーションにより実現された前記ネットワークプロトコルに対応するパケットを処理するとき、データプレーンの振る舞いを制御するため、前記選択されたフォワーディングエレメントの前記インタフェース特定テーブルで1以上のエントリを生成してポピュレートするステップと、
    を更に備える請求項1記載の方法。
  4. 前記生成するステップは、
    前記生成されたインタフェース特定テーブルを決定するため、前記選択されたフォワーディングエレメントを照会するステップと、
    前記受信されたプロトコルコンフィギュレーション情報に従って前記生成されたインタフェース特定テーブルをポピュレートするステップと、
    を更に備える請求項3記載の方法。
  5. 前記データプレーンエレメントを構成するステップは、
    ブートアップの間に前記データプレーンからのイベントの受信を可能にするため、前記ネットワークプロトコルを前記ネットワークエレメントのデータプレーンで登録するステップと、
    前記受信されたプロトコルコンフィギュレーション情報に従ってIPv4ルーティングプロトコルを実現するため、前記ネットワークエレメントの前記データプレーンでフォワーディングエレメントを選択するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成されたフォワーディングテーブルについて前記選択されたフォワーディングエレメントを照会するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成されたアドレスレゾリューションテーブルについて、前記選択されたフォワーディングエレメントを照会するステップと、
    プロトコルアプリケーションのルート更新要求が受信されたとき、前記フォワーディングテーブルでIPv4ルーティングエントリを追加/削除するステップと、
    プロトコルアプリケーションのアドレスレゾリューションの更新要求が受信されたとき、前記アドレスレゾリューションテーブルにIPv4エントリを追加/削除するステップと、
    を更に備える請求項1記載の方法。
  6. 前記1以上のデータプレーンのフォワーディングエレメントを構成するステップは、
    ブートアップの間に前記データプレーンからのイベントの受信を可能にするため、前記ネットワークプロトコルを前記データプレーンと登録するステップと、
    前記受信されたプロトコルコンフィギュレーション情報に従ってIPv6ルーティングプロトコルを実現するため、前記ネットワークエレメントのデータプレーンのフォワーディングエレメントを選択するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成されたIPv6フォワーディングテーブルについて前記選択されたフォワーディングエレメントを照会するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成されたIPv6ネイバーテーブルについて前記選択されたフォワーディングエレメントを照会するステップと、
    プロトコルアプリケーションのルート更新要求が受信されたとき、前記フォワーディングテーブルにIPv6ルーティングエントリを追加/削除するステップと、
    プロトコルアプリケーションのネイバーテーブル更新要求が受信されたとき、前記ネイバーテーブルにIPv6ネイバーエントリを追加/削除するステップと、
    を更に備える請求項1記載の方法。
  7. 前記データプレーンの前記1以上のフォワーディングエレメントを構成するステップは、
    ブートアップの間にMPLSプロトコルを実現するために選択されたフォワーディングエレメントでFTNテーブルを生成するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントでILMテーブルを生成するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントでFTN DiffServコンテクストテーブルを生成するステップと、
    ブートアップの間に前記選択されたフォワーディングエレメントでILM DiffServコンテクストテーブルを生成するステップと、
    プロトコルアプリケーションのFTNテーブル更新要求が受信されたとき、前記FTNテーブルにMPLS FTNエントリを追加/削除するステップと、
    プロトコルアプリケーションのILMテーブル更新要求が受信されたとき、前記ILMテーブルにMPLS ILMエントリを追加/削除するステップと、
    プロトコルアプリケーションのMPLS E−LSPコンフィギュレーション更新要求が受信されたとき、前記FTN DiffServコンテクストテーブルにMPLS E−LSPコンフィギュレーションエントリを追加/削除するステップと、
    プロトコルアプリケーションのMPLS E−LSPプレコンフィギュレーション更新要求が受信されたとき前記ILM DiffServコンテクストテーブルにMPLS E−LSPプレコンフィギュレーションエントリを追加/削除するステップと、
    を更に備える請求項1記載の方法。
  8. 前記データプレーンの前記1以上のフォワーディングエレメントを構成するステップは、
    ブートアップの間にDiffServネットワークプロトコルを実現するために選択されるフォワーディングエレメントで複数のDiffServテーブルを生成するステップと、
    プロトコルアプリケーションの分類子更新要求が受信されたとき、前記選択されたフォワーディングエレメントで生成されたDiffServ分類子テーブルにフィルタエントリを追加/削除するステップと、
    プロトコルアプリケーションのメーター更新要求が受信されたとき、前記選択されたフォワーディングエレメントで生成されたDiffServメーターテーブルにメーターエントリを追加/変更/削除するステップと、
    プロトコルアプリケーションのマーカー更新要求が受信されたとき、前記選択されたフォワーディングエレメントで生成されたDiffServマーカーテーブルにマーカーエントリを追加/変更/削除するステップと、
    プロトコルアプリケーションのドロッパー更新要求が受信されたとき、前記選択されたフォワードエレメントで生成されたDiffServアルゴリズムドロッパーテーブルにドロッパーエントリを追加/変更/削除するステップと、
    プロトコルアプリケーションのキュー更新要求が受信されたとき、前記選択されたフォワーディングエレメントで生成されたDiffServキューテーブルに照会エントリを追加/変更/削除するステップと、
    プロトコルアプリケーションのスケジューラ更新要求が受信されたとき、前記選択されたフォワーディングエレメントで生成されたDiffServスケジューラテーブルにスケジューラエントリを追加/変更/削除するステップと、
    を更に備える請求項1記載の方法。
  9. 前記データプレーンで、パケットを受信するステップと、
    イベントがトリガされたとき、受信されたパケットに対応するネットワークプロトコルを実現するプロトコルアプリケーションを通知するステップと、
    さもなければ、前記受信されたパケットと関連されるネットワークプロトコルに対応する1以上のインタフェース特定テーブルでプログラムされるフォワーディングエレメントを決定するステップと、
    イベントがトリガされたとき、前記受信されたパケットに対応するネットワークプロトコルを実現するプロトコルアプリケーションを通知するステップと、
    さもなければ、前記プロトコルコンフィギュレーション情報に従って、前記受信されたパケットと関連される前記コントロールインタフェースにより生成されるインタフェース特定テーブルのエントリに従い前記受信されたパケットを処理するステップと、
    を更に備える請求項1記載の方法。
  10. 前記ネットワークプロトコルのAPIは、ルーティングプロトコルのAPI、スイッチングプロトコルのAPI、及びサービス品質(QoS)プロトコルのAPIのうちの1つである、
    請求項1記載の方法。
  11. 前記ルーティングプロトコルのAPIは、IPv4プロトコル及びIPv6プロトコルのうちの1つである、
    請求項10記載の方法。
  12. 前記スイッチングプロトコルのAPIは、MPLSプロトコルのAPIである、
    請求項10記載の方法。
  13. 前記QoSプロトコルのAPIは、DiffServプロトコルのAPIである、
    請求項10記載の方法。
  14. 前記ネットワークプロトコルのAPIは、特定のトラフィックフローのパケットを所望の特別な処理と関連付けするのを可能にするためのサービス品質の機能を備える、
    請求項1記載の方法。
  15. 前記所望の特別の処理は、リアルタイムサービス又はデフォルトではないサービス品質のうちの少なくとも1つを備える、
    請求項14記載の方法。
  16. プロセッサにより実行されたとき、コンピュータに、
    ネットワークエレメントのコントロールプレーンで、ネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用してプロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報を受信するステップと、
    前記受信されたプロトコルコンフィギュレーション情報により規定されるネットワークプロトコルに対応するコントロールインタフェースを使用して、前記受信されたプロトコルコンフィギュレーション情報を処理するステップと、
    前記コントロールインタフェースにより、前記受信されたプロトコルコンフィギュレーション情報に従って、前記ネットワークエレメントの1以上のデータプレーンのフォワーディングエレメントを構成するステップと、
    を備える方法を実行するように指示するプログラム命令を含むコンピュータ読取り可能な記憶媒体。
  17. 前記受信されたプロトコルコンフィギュレーション情報を処理するステップは、
    前記プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを実現するため、前記データプレーンでフォワーディングエレメントを選択するステップと、
    前記プロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントで形成するための1以上のインタフェース特定テーブルを決定するステップと、
    前記インタフェース特定テーブルを含んでいるフォワーディングエレメントが前記インタフェース特定テーブルでのエントリに従う決定を確定するように、前記インタフェース特定テーブルで1以上のエントリを決定するステップと、
    を更に備える請求項16記載のコンピュータ記憶媒体。
  18. 前記1以上のデータプレーンのフォワーディングエレメントを構成するステップは、
    ブートアップの間に前記データプレーンからのイベントの受信を可能にするため、前記プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを前記データプレーンと登録するステップと、
    ネットワークエレメントのデータプレーンのうちの1以上のフォワーディングエレメントからフォワーディングエレメントを選択するステップと、
    前記プロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントでの1以上のインタフェース特定テーブルについて前記選択されたフォワーディングエレメントを照会するステップと、
    前記プロトコルアプリケーションにより実現された前記ネットワークプロトコルに対応するパケットを処理するとき、データプレーンの振る舞いを制御するため、前記選択されたフォワーディングエレメントの前記インタフェース特定テーブルで1以上のエントリを生成してポピュレートするステップと、
    を更に備える請求項16記載のコンピュータ記憶媒体。
  19. 前記データプレーンで、パケットを受信するステップと、
    イベントがトリガされたとき、受信されたパケットに対応するネットワークプロトコルを実現するプロトコルアプリケーションを通知するステップと、
    さもなければ、前記受信されたパケットと関連されるネットワークプロトコルに対応する1以上のインタフェース特定テーブルでプログラムされるフォワーディングエレメントを決定するステップと、
    イベントがトリガされたとき、前記受信されたパケットに対応するネットワークプロトコルを実現するプロトコルアプリケーションを通知するステップと、
    さもなければ、前記プロトコルコンフィギュレーション情報に従って、前記受信されたパケットと関連される前記コントロールインタフェースにより生成されるインタフェース特定テーブルのエントリに従い前記受信されたパケットを処理するステップと、
    を更に備える請求項16記載のコンピュータ記憶媒体。
  20. 前記ネットワークプロトコルのAPIは、ルーティングプロトコルのAPI、スイッチングプロトコルのAPI、及びサービス品質(QoS)プロトコルのAPIのうちの1つである、
    請求項16記載のコンピュータ記憶媒体。
  21. 前記ルーティングプロトコルのAPIは、IPv4プロトコル及びIPv6プロトコルのうちの1つである、
    請求項20記載のコンピュータ記憶媒体。
  22. 前記スイッチングプロトコルのAPIは、MPLSプロトコルのAPIである、
    請求項20記載のコンピュータ記憶媒体。
  23. 前記QoSプロトコルのAPIは、DiffServプロトコルのAPIである、
    請求項20記載のコンピュータ記憶媒体。
  24. 前記ネットワークプロトコルのAPIは、特定のトラフィックフローのパケットを所望の特別な処理と関連付けするのを可能にするためのサービス品質の機能を備える、
    請求項16記載のコンピュータ記憶媒体。
  25. 前記所望の特別の処理は、リアルタイムサービス又はデフォルトではないサービス品質のうちの少なくとも1つを備える、
    請求項24記載のコンピュータ記憶媒体。
  26. それぞれのフォワーディングエレメントに含まれる対応するインタフェース特定テーブルに従って受信されたパケットを処理するために1以上のフォワーディングエレメントを含むデータプレーンと、
    相互接続リンクを介して前記データプレーンに結合され、ネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用して、ネットワークプロトコルを実現する1以上のプロトコルアプリケーションを含むコントロールプレーンと、
    それぞれのプロトコルAPIにより前記コントロールプレーンの前記プロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報に従って前記データプレーンに含まれるインタフェース特定テーブルを生成及び構成するために使用されるコントロールインタフェースと、
    を備えることを特徴とするネットワークエレメント。
  27. 前記コントロールインタフェースは、
    プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを実現するために前記データプレーンでフォワーディングエレメントを選択し、
    抽出されたプロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントで形成される1以上のインタフェース特定テーブルを決定し、
    前記インタフェース特定テーブルを含んでいるフォワーディングエレメントが前記インタフェース特定テーブルでのエントリに従うプロトコルの決定を確定するように、プロトコルコンフィギュレーション情報に従って、前記インタフェース特定テーブルで1以上のエントリを決定する、
    請求項26記載のネットワークエレメント。
  28. 前記コントロールインタフェースは、
    ブートアップの間に前記データプレーンからのイベントの受信を可能にするため、前記プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを前記データプレーンで登録し、
    ネットワークエレメントのデータプレーンの1以上のフォワーディングエレメントからフォワーディングエレメントを選択し、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成された1以上のインタフェース特定テーブルについて前記選択されたフォワーディングエレメントを照会し、
    抽出されたプロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントの前記インタフェース特定テーブルで1以上のエントリを生成及びポピュレートする、
    請求項26記載のネットワークエレメント。
  29. 前記コントロールインタフェースは、
    前記データプレーンで、パケットを受信し、
    前記パケットと関連されるネットワークプロトコルに対応する1以上のインタフェース特定テーブルでプログラムされるフォワーディングエレメントを決定し、
    前記受信されたプロトコルコンフィギュレーション情報に従って前記コントロールインタフェースにより生成されるインタフェース特定テーブルのエントリに従いパケットを処理し、
    イベントがトリガされたときに、前記パケットと関連されるネットワークプロトコルを実現する前記プロトコルアプリケーションを通知する、
    請求項26記載のネットワークエレメント。
  30. 前記相互接続リンクは、バス、ケーブル、光ファイバ、及びEthernet(登録商標)リンクのうちの1つである、
    請求項26記載のネットワークエレメント。
  31. 複数の結合されたネットワークエレメントを含むネットワークを備えるシステムであって、前記ネットワークエレメントは、
    それぞれのフォワーディングエレメントに含まれる対応するインタフェース特定テーブルに従って受信されたパケットを処理するために1以上のフォワーディングエレメントを含むデータプレーンと、
    相互接続リンクを介して前記データプレーンに結合され、ネットワークプロトコルのアプリケーションプログラミングインタフェース(API)を利用して、ネットワークプロトコルを実現する1以上のプロトコルアプリケーションを含むコントロールプレーンと、
    それぞれのプロトコルAPIにより前記コントロールプレーンの前記プロトコルアプリケーションから抽出されたプロトコルコンフィギュレーション情報に従って前記データプレーンに含まれるインタフェース特定テーブルを生成及び構成するために使用されるコントロールインタフェースと、
    を備えることを特徴とするシステム。
  32. 前記コントロールインタフェースは、
    プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを実現するために前記データプレーンでフォワーディングエレメントを選択し、
    抽出されたプロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントで形成される1以上のインタフェース特定テーブルを決定し、
    前記インタフェース特定テーブルを含んでいるフォワーディングエレメントが前記インタフェース特定テーブルでのエントリに従うプロトコルの決定を確定するように、プロトコルコンフィギュレーション情報に従って、前記インタフェース特定テーブルで1以上のエントリを決定する、
    請求項31記載のシステム。
  33. 前記コントロールインタフェースは、
    ブートアップの間に前記データプレーンからのイベントの受信を可能にするため、前記プロトコルコンフィギュレーション情報により規定される前記ネットワークプロトコルを前記データプレーンで登録し、
    ネットワークエレメントのデータプレーンの1以上のフォワーディングエレメントからフォワーディングエレメントを選択し、
    ブートアップの間に前記選択されたフォワーディングエレメントで生成された1以上のインタフェース特定テーブルについて前記選択されたフォワーディングエレメントを照会し、
    抽出されたプロトコルコンフィギュレーション情報に従って前記選択されたフォワーディングエレメントの前記インタフェース特定のテーブルで1以上のエントリを生成及びポピュレートする、
    請求項31記載のシステム。
  34. 前記コントロールインタフェースは、
    前記データプレーンで、パケットを受信し、
    前記パケットと関連されるネットワークプロトコルに対応する1以上のインタフェース特定テーブルでプログラムされるフォワーディングエレメントを決定し、
    前記受信されたプロトコルコンフィギュレーション情報に従って前記コントロールインタフェースにより生成されるインタフェース特定テーブルのエントリに従いパケットを処理し、
    イベントがトリガされたときに、前記パケットと関連されるネットワークプロトコルを実現する前記プロトコルアプリケーションを通知する、
    請求項31記載のシステム。
  35. 前記相互接続リンクは、バス、ケーブル、光ファイバ及びEthernet(登録商標)リンクのうちの1つである、
    請求項31記載のシステム。
JP2006500784A 2003-01-07 2004-01-02 ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法 Pending JP2006515499A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/338,291 US7646759B2 (en) 2003-01-07 2003-01-07 Apparatus and method for configuring data plane behavior on network forwarding elements
PCT/US2004/000094 WO2004064309A2 (en) 2003-01-07 2004-01-02 An apparatus and method for configuring data plane behavior on network forwarding elements

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007335129A Division JP5160214B2 (ja) 2003-01-07 2007-12-26 ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法

Publications (1)

Publication Number Publication Date
JP2006515499A true JP2006515499A (ja) 2006-05-25

Family

ID=32681414

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006500784A Pending JP2006515499A (ja) 2003-01-07 2004-01-02 ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法
JP2007335129A Expired - Fee Related JP5160214B2 (ja) 2003-01-07 2007-12-26 ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007335129A Expired - Fee Related JP5160214B2 (ja) 2003-01-07 2007-12-26 ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法

Country Status (7)

Country Link
US (1) US7646759B2 (ja)
JP (2) JP2006515499A (ja)
KR (1) KR100747181B1 (ja)
CN (1) CN100401254C (ja)
DE (1) DE112004000122T5 (ja)
GB (1) GB2413032B (ja)
WO (1) WO2004064309A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135973A (ja) * 2004-11-01 2006-05-25 Lucent Technol Inc SoftRouterプロトコルのフェイルオーバー
JP2007324981A (ja) * 2006-06-01 2007-12-13 Alaxala Networks Corp ネットワーク接続装置およびネットワーク接続方法
JP2011041251A (ja) * 2009-05-14 2011-02-24 Avaya Inc 大規模な無線lanを分配するために安価に管理される無線交換ポイントを用いるアーキテクチャ
CN113282296A (zh) * 2021-05-31 2021-08-20 河南信大网御科技有限公司 基于数据面编程的数据转发方法及装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983239B1 (en) 2003-01-07 2011-07-19 Raytheon Bbn Technologies Corp. Systems and methods for constructing a virtual model of a multi-hop, multi-access network
US7415028B1 (en) * 2003-02-11 2008-08-19 Network Equipment Technologies, Inc. Method and system for optimizing routing table changes due to ARP cache invalidation in routers with split plane architecture
US7397778B2 (en) * 2003-04-21 2008-07-08 Avaya Technology Corp. Method and apparatus for predicting the quality of packet data communications
US7881229B2 (en) * 2003-08-08 2011-02-01 Raytheon Bbn Technologies Corp. Systems and methods for forming an adjacency graph for exchanging network routing data
US7606927B2 (en) * 2003-08-27 2009-10-20 Bbn Technologies Corp Systems and methods for forwarding data units in a communications network
US7606140B2 (en) * 2003-08-28 2009-10-20 Alcatel Lucent Distributed and disjoint forwarding and routing system and method
US8166204B2 (en) * 2003-08-29 2012-04-24 Raytheon Bbn Technologies Corp. Systems and methods for automatically placing nodes in an ad hoc network
US20050265234A1 (en) * 2004-05-13 2005-12-01 Marconi Communications, Inc. Diffserv path object for network management
FI117587B (fi) * 2004-06-18 2006-11-30 Nethawk Oyj Menetelmä, laite ja tietokoneohjelmatuote tiedonsiirtoyhteyksien monitorointiin
US9014181B2 (en) * 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
US8953432B2 (en) * 2004-11-01 2015-02-10 Alcatel Lucent Softrouter dynamic binding protocol
US8068408B2 (en) * 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US8996722B2 (en) * 2004-11-01 2015-03-31 Alcatel Lucent Softrouter feature server
US7941512B2 (en) * 2004-12-13 2011-05-10 Cisco Technology, Inc. Use of IPv6 in access networks
CN100505684C (zh) * 2005-03-29 2009-06-24 国际商业机器公司 网络系统,流量均衡方法,网络监视设备和主机
CN1842051A (zh) * 2005-03-30 2006-10-04 国际商业机器公司 流量均衡设备和方法以及使用它们的网络转发设备和方法
US7870565B2 (en) * 2005-06-30 2011-01-11 Intel Corporation Systems and methods for secure host resource management
US7742477B1 (en) * 2006-02-03 2010-06-22 Cisco Technology, Inc. Interconnectivity between autonomous systems
US20070233885A1 (en) * 2006-03-31 2007-10-04 Buskens Richard W Architectures for assuring the inter-domain transport of QoS sensitive information
US8279885B2 (en) * 2007-09-25 2012-10-02 Packeteer, Inc. Lockless processing of command operations in multiprocessor systems
US8111707B2 (en) * 2007-12-20 2012-02-07 Packeteer, Inc. Compression mechanisms for control plane—data plane processing architectures
US9419867B2 (en) * 2007-03-30 2016-08-16 Blue Coat Systems, Inc. Data and control plane architecture for network application traffic management device
US8059532B2 (en) * 2007-06-21 2011-11-15 Packeteer, Inc. Data and control plane architecture including server-side triggered flow policy mechanism
TWI423622B (zh) * 2007-11-26 2014-01-11 Ind Tech Res Inst 路由系統、控制元件、路由方法及交換表和轉送表的產生方法
US8199750B1 (en) * 2007-12-18 2012-06-12 World Wide Packets, Inc. Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
US9531716B1 (en) * 2009-08-07 2016-12-27 Cisco Technology, Inc. Service enabled network
US9054943B2 (en) * 2009-12-23 2015-06-09 Citrix Systems, Inc. Systems and methods for mixed mode handling of IPv6 and IPv4 traffic by a virtual server
US8804720B1 (en) * 2010-12-22 2014-08-12 Juniper Networks, Inc. Pass-through multicast admission control signaling
CN102148764B (zh) * 2011-05-09 2013-12-11 杭州华三通信技术有限公司 一种基于QoS业务的数据处理方法和设备
CN103748841B (zh) * 2011-08-18 2017-03-15 瑞典爱立信有限公司 用于控制数据包流的数据面流的方法和中央控制实体
US8930604B2 (en) 2012-07-17 2015-01-06 Lsi Corporation Reliable notification of interrupts in a network processor by prioritization and policing of interrupts
CN103986660B (zh) * 2014-05-30 2018-01-23 华为技术有限公司 加载微码的装置以及加载微码的方法
US9450866B2 (en) * 2014-07-11 2016-09-20 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table performance control in SDN
US10219522B2 (en) * 2015-02-06 2019-03-05 Naturex S.A. Antimicrobial compositions
US10721206B2 (en) 2015-02-27 2020-07-21 Arista Networks, Inc. System and method of persistent address resolution synchronization
WO2017184112A1 (en) * 2016-04-18 2017-10-26 Arista Networks, Inc. System and method of a graceful reboot of a network controller
US10587468B2 (en) 2015-04-27 2020-03-10 Arista Networks, Inc. System and method of a graceful reboot of a network controller
US10530692B2 (en) * 2015-09-04 2020-01-07 Arista Networks, Inc. Software FIB ARP FEC encoding
US10075567B1 (en) * 2016-02-08 2018-09-11 Barefoot Networks, Inc. Packet generation in the data plane of a forwarding element
US10848420B2 (en) 2018-02-12 2020-11-24 Cisco Technology, Inc. Dynamic forwarding features in network elements
US11272042B2 (en) * 2020-01-21 2022-03-08 Cisco Technology, Inc. Methods and systems to track protocol and hardware resource state transitions
CN112558935B (zh) * 2020-12-10 2023-05-30 中盈优创资讯科技有限公司 一种基于编排控制流程业务开通的网元控制引擎模块
CN114157461B (zh) * 2021-11-22 2023-08-01 绿盟科技集团股份有限公司 工控协议数据流处理方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197111A (ja) * 1992-10-26 1994-07-15 Hitachi Ltd インタネットワーク装置
US5537417A (en) * 1993-01-29 1996-07-16 International Business Machines Corporation Kernel socket structure for concurrent multiple protocol access
US5699350A (en) * 1995-10-06 1997-12-16 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
US6393496B1 (en) * 1995-11-09 2002-05-21 Curtis A. Schwaderer Operating system and network independent application program interface for use in an intelligent communication device
US5987517A (en) * 1996-03-27 1999-11-16 Microsoft Corporation System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols
US6185566B1 (en) * 1998-05-05 2001-02-06 Robert A. Adams Network management system having an embedded network database
JP3645733B2 (ja) * 1999-02-24 2005-05-11 株式会社日立製作所 ネットワーク中継装置及びネットワーク中継方法
US6532241B1 (en) * 1999-05-20 2003-03-11 Cisco Technology, Inc. Method and apparatus for determining SNA sessions using various protocols for transport based on filter criteria
US7203740B1 (en) * 1999-12-22 2007-04-10 Intel Corporation Method and apparatus for allowing proprietary forwarding elements to interoperate with standard control elements in an open architecture for network devices
KR100454674B1 (ko) * 2000-08-28 2004-11-03 엘지전자 주식회사 라우터의 자동 설정 장치 및 방법
US6681262B1 (en) * 2002-05-06 2004-01-20 Infinicon Systems Network data flow optimization

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135973A (ja) * 2004-11-01 2006-05-25 Lucent Technol Inc SoftRouterプロトコルのフェイルオーバー
JP4711411B2 (ja) * 2004-11-01 2011-06-29 アルカテル−ルーセント ユーエスエー インコーポレーテッド SoftRouterプロトコルのフェイルオーバー
JP2007324981A (ja) * 2006-06-01 2007-12-13 Alaxala Networks Corp ネットワーク接続装置およびネットワーク接続方法
JP4714081B2 (ja) * 2006-06-01 2011-06-29 アラクサラネットワークス株式会社 ネットワーク接続装置
JP2011041251A (ja) * 2009-05-14 2011-02-24 Avaya Inc 大規模な無線lanを分配するために安価に管理される無線交換ポイントを用いるアーキテクチャ
CN113282296A (zh) * 2021-05-31 2021-08-20 河南信大网御科技有限公司 基于数据面编程的数据转发方法及装置

Also Published As

Publication number Publication date
WO2004064309A2 (en) 2004-07-29
CN1723439A (zh) 2006-01-18
US20040131079A1 (en) 2004-07-08
GB0513407D0 (en) 2005-08-03
US7646759B2 (en) 2010-01-12
GB2413032B (en) 2006-05-17
KR20050095841A (ko) 2005-10-04
DE112004000122T5 (de) 2013-01-17
WO2004064309A3 (en) 2004-12-23
GB2413032A (en) 2005-10-12
KR100747181B1 (ko) 2007-08-07
JP2008125116A (ja) 2008-05-29
CN100401254C (zh) 2008-07-09
JP5160214B2 (ja) 2013-03-13

Similar Documents

Publication Publication Date Title
JP5160214B2 (ja) ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法
US9699105B2 (en) Self-routing multicast in a software defined network fabric
CN112039748B (zh) 软件定义的网络环境中服务的自动发现和自动扩缩
US7508829B2 (en) Method and apparatus providing prioritized recursion resolution of border gateway protocol forwarding information bases
CN109362085B (zh) 通过openflow数据平面在云计算机中实现epc
US8934486B2 (en) System and method for implementing multicast over a label-switched core network
CN106453138B (zh) 一种报文处理方法和装置
US10027594B1 (en) Congestion control for label switching traffic
EP3094053A1 (en) Predictive egress packet classification for quality of service
US10333853B1 (en) Unified quality of service (QoS) for label switching traffic
EP1343273A2 (en) Packet communications system and transfer device
WO2015024411A1 (zh) 一种服务节点能力信息的获取方法及控制平台
US20060114904A1 (en) Differentiated services multicast system and method using encapsulation and unicast
US8743685B2 (en) Limiting transmission rate of data
CN113542114B (zh) 路由配置方法和路由配置装置
US11784838B2 (en) Multicast based on penultimate hop popping
JP2003158544A (ja) プログラマブル・ネットワーク・ルータ兼スイッチのための方法および装置
US7061919B1 (en) System and method for providing multiple classes of service in a packet switched network
EP4040759A1 (en) Service differentiation based on constrained network topology slicing
TW200421794A (en) MPLS virtual private network using dual network cores
EP3996350A1 (en) Backup service function notification and synchronization
WO2018182467A1 (en) Techniques for congestion control in information-centric networks
JP2006186888A (ja) ユーザ受信優先度対応データ配信システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071225

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080108

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080201