(57)【要約】【課題】  ループ処理で使用する資源の枯渇を防ぐことができる情報処理装置を提供する。【解決手段】  情報処理装置は、ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理部と、既定の条件に合致した場合に、ループ処理部によるループ処理を停止させるループ制御部と、ループ制御部によりループ処理が停止されている場合に、いずれかの定型処理に割り当てられたリソースを解放する解放処理を実施する解放処理部とを有する。ループ処理部は、パケットの送信処理を含む複数種類の定型処理をループ処理として実施し、ループ制御部は、前記送信処理で送信される送信パケットが存在しないことを条件の一つとして、ループ処理を停止させ、解放処理部は、送信処理に割り当てられたメモリ領域を解放する。【選択図】図８
2017046286.tif 000002
【特許請求の範囲】
【請求項１】
ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理部と、
既定の条件に合致した場合に、前記ループ処理部によるループ処理を停止させるループ制御部と、
前記ループ制御部によりループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放処理部と
を有する情報処理装置。
【請求項２】
前記ループ処理部は、パケットの送信処理を含む複数種類の定型処理をループ処理として実施し、
前記ループ制御部は、前記送信処理で送信される送信パケットが存在しないことを条件の一つとして、前記ループ処理を停止させ、
前記解放処理部は、前記送信処理に割り当てられたメモリ領域を解放する
請求項１に記載の情報処理装置。
【請求項３】
前記ループ制御部は、前記解放処理部による前回の解放処理から既定時間以上経過したことをさらなる条件として、前記ループ処理を停止させる
請求項２に記載の情報処理装置。
【請求項４】
前記ループ制御部は、前記解放処理部による解放処理の後に、前記ループ処理部による送信処理を一回スキップして、前記ループ処理を再開させる
請求項３に記載の情報処理装置。
【請求項５】
前記ループ処理部は、データプレーン開発キットを使用したパケットの送信処理及び受信処理を前記ループ処理の少なくとも一部として実施し、
前記ループ制御部は、送信すべき送信パケットが無いこと、及び、前回の解放処理から８０μｓ〜１３０μｓ経過したことを条件として、前記ループ処理を停止させ、
前記解放処理部は、前記ループ処理部により割り当てられたｍｂｕｆ資源を解放する
請求項４に記載の情報処理装置。
【請求項６】
ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理ステップと、
既定の条件に合致した場合に、前記ループ処理を停止させるループ停止ステップと、
前記ループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放ステップと
を有する情報処理方法。
【請求項７】
ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理ステップと、
既定の条件に合致した場合に、前記ループ処理を停止させるループ停止ステップと、
前記ループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、送出先からの受信確認を受け取ったときに、受信確認された再送用データを送信用バッファから解放する通信処理装置が開示されている。
特許文献２には、データがメモリアドレスと共に受信側に送られるシステムが開示されている。
特許文献３には、フレームポインタを読出してから、リンクトリストチェーンをたどり、バッファをフリーバッファプールに戻すバッファマネージャが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１４５５８０
【特許文献２】特表２０００−５０９５９５
【特許文献３】特表２００１−５１１９７９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ループ処理で使用する資源の枯渇を防ぐことができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理部と、既定の条件に合致した場合に、前記ループ処理部によるループ処理を停止させるループ制御部と、前記ループ制御部によりループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放処理部とを有する。
【０００６】
好適には、前記ループ処理部は、パケットの送信処理を含む複数種類の定型処理をループ処理として実施し、前記ループ制御部は、前記送信処理で送信される送信パケットが存在しないことを条件の一つとして、前記ループ処理を停止させ、前記解放処理部は、前記送信処理に割り当てられたメモリ領域を解放する。
【０００７】
好適には、前記ループ制御部は、前記解放処理部による前回の解放処理から既定時間以上経過したことをさらなる条件として、前記ループ処理を停止させる。
【０００８】
好適には、前記ループ制御部は、前記解放処理部による解放処理の後に、前記ループ処理部による送信処理を一回スキップして、前記ループ処理を再開させる。
【０００９】
好適には、前記ループ処理部は、データプレーン開発キットを使用したパケットの送信処理及び受信処理を前記ループ処理の少なくとも一部として実施し、前記ループ制御部は、送信すべき送信パケットが無いこと、及び、前回の解放処理から８０μｓ〜１３０μｓ経過したことを条件として、前記ループ処理を停止させ、前記解放処理部は、前記ループ処理部により割り当てられたｍｂｕｆ資源を解放する。
【００１０】
本発明に係る情報処理方法は、ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理ステップと、既定の条件に合致した場合に、前記ループ処理を停止させるループ停止ステップと、前記ループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放ステップとを有する。
【００１１】
本発明に係るプログラムは、ループ処理として、複数種類の定型処理を順次繰り返し実施するループ処理ステップと、既定の条件に合致した場合に、前記ループ処理を停止させるループ停止ステップと、前記ループ処理が停止されている場合に、いずれかの前記定型処理に割り当てられたリソースを解放する解放処理を実施する解放ステップとをコンピュータに実行させる。
【発明の効果】
【００１２】
ループ処理で使用する資源の枯渇を防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】ネットワーク装置１０を含むネットワーク通信システム１のハードウェア構成を例示する図である。
【図２】ネットワーク装置１０のハードウェア構成を例示する図である。
【図３】ネットワーク装置１０の機能ブロックを例示する図である。
【図４】図３のＬＡＮドライバ４６０のより詳細な機能構成を例示する図である。
【図５】制御プレーンコア及びデータプレーンコアと、ＬＡＮカードのインタフェースとの間の関係を中心としたシステム構成を例示する図である。
【図６】ループ処理及び解放処理の挿入を模式的に説明する図である。
【図７】（Ａ）は、解放処理部４６８による解放処理の模式図であり、（Ｂ）は、解放処理後の状態を模式的に示す図である。
【図８】ネットワーク装置１０のパケット処理（Ｓ１０）を説明するフローチャートである。
【図９】図８の解放処理（Ｓ２０）をより詳細に説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を、図面を参照して説明する。
図１は、ネットワーク装置１０を含むネットワーク通信システム１のハードウェア構成を例示する図である。
図１に例示するように、ネットワーク通信システム１は、複数のネットワーク装置１０と、これを接続するネットワークスイッチ２０とを含む。
ネットワーク装置１０は、ネットワークに接続して使用されるネットワーク機器である。ネットワーク装置１０は、本発明に係る情報処理装置の一例である。本例のネットワーク装置は、ＬＡＮケーブル及びネットワークスイッチ２０を介してＬＡＮに接続しており、帯域制御機能及びファイアウォール機能などを有すると共に、他のネットワーク装置１０と二重化して冗長構成によって耐障害性を高めている。具体的には、稼働中のネットワーク装置１０Ａ（Ａｃｔｉｖｅ）と、待機中のネットワーク装置１０Ｂ（Ｓｔａｎｄｂｙ）との間で生存監視パケットが送受信され、既定時間生存監視パケットが送受信されない場合に、待機中のネットワーク装置１０Ｂが稼働状態となり、役割を引き継ぐ。
【００１５】
図２は、ネットワーク装置１０のハードウェア構成を例示する図である。
図２に例示するように、ネットワーク装置１０は、ＣＰＵ１００、メモリ１０２、複数のスロット１０４、サウスブリッジ１０６、ハードディスクドライブ１０８、コンパクトフラッシュ変換アダプタ１１０、及び、ＤＶＤドライブ１１２を有する。
ＣＰＵ１００は、中央処理装置である。本例のＣＰＵ１００は、複数のコアからなるマルチコアプロセッサである。
メモリ１０２は、例えば、半導体メモリであり、ＣＰＵ１００に接続され、主記憶装置として機能する。
スロット１０４は、拡張スロットであり、例えば、ＬＡＮカード１２０などが挿入される。本例のスロット１０４には、ＬＡＮカード１２０が挿入されており、本例のＬＡＮカード１２０には、ＰＣＩスイッチを介して複数のインタフェース（＃０〜＃３）が設けられている。
サウスブリッジ１０６は、例えば、ＳＡＴＡバスなどを接続するＩＣチップである。本例では、サウスブリッジ１０６には、ハードディスクドライブ１０８、コンパクトフラッシュ変換アダプタ１１０、及び、ＤＶＤドライブ１１２が接続されている。
本例のネットワーク装置１０は、上記ハードウェア構成にデータプレーン開発キット（Ｄａｔａ  Ｐｌａｎｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）を採用して、パケット処理の高速化を実現している。
【００１６】
図３は、ネットワーク装置１０の機能ブロックを例示する図である。
図３に例示するように、ネットワーク装置１０は、ＬＡＮドライバの機能ブロックとして、制御プレーンコア処理部３００と、データプレーンコア処理部４００とを有する。
制御プレーンコア処理部３００は、ＬＡＮカード１２０などの制御処理を行う。本例の制御プレーンコア処理部３００は、上位エンジン処理部３２０、ＬＡＮドライバ共通部３４０、及びＬＡＮドライバ３６０を有する。上位エンジン処理部３２０は、上位層からの指示に応じて、制御に必要なデータを、ＬＡＮドライバ共通部３４０及びＬＡＮドライバ３６０を介して、ＬＡＮカード１２０に出力する。
【００１７】
データプレーンコア処理部４００は、パケット処理を行う。本例のデータプレーンコア処理部４００は、上位エンジン処理部４２０、ＬＡＮドライバ共通部４４０、及びＬＡＮドライバ４６０を有する。上位エンジン処理部４２０は、ファイアウォールなどの処理を実行する。ＬＡＮドライバ共通部４４０は、上位エンジン処理部４２０からの指示に応じて、送受信するパケットに対してＬＡＮカード共通の処理を施す。ＬＡＮドライバ４６０は、ＬＡＮカード１２０に直接アクセスして、ＬＡＮドライバ共通部４４０から指示されたパケットの送受信を行う。すなわち、受信パケットは、ＬＡＮドライバ４４０でＬＡＮカード１２０から受け取り、ＬＡＮドライバ共通部４４０を通過して、上位エンジン処理部４２０でファイアウォール機能などの固有機能を適用する。送信パケットは、上位エンジン処理部４２０からＬＡＮドライバ共通部４４０を通過して、ＬＡＮドライバ４６０からＬＡＮカード１２０に受け渡される。
【００１８】
図４は、図３のＬＡＮドライバ４６０のより詳細な機能構成を例示する図である。
図４に例示するように、本例のＬＡＮドライバ４６０は、ループ制御部４６２、送信処理部４６４、受信処理部４６６、及び、解放処理部４６８を有する。
ループ制御部４６２は、送信処理部４６４及び受信処理部４６６により実施されるループ処理を停止又は再開させる。ここで、ループ処理とは、複数種類の定型処理が順次繰り返し実行される処理である。すなわち、ループ処理とは、同種の処理が循環して繰り返されるものである。例えば、ループ処理には、定型処理の他に、非定型な処理が含まれてもよい。
ループ制御部４６２は、既定の条件に合致した場合に、送信処理部４６４及び受信処理部４６６により実施されるループ処理を停止させて、リソースの解放処理を挿入し、解放処理が完了した後に、ループ処理を再開させる。本例のループ制御部４６２は、送信処理部４６４により送信すべきパケットが存在しないことと、前回の解放処理から既定時間経過したこととを条件として、送信処理部４６４及び受信処理部４６６によるループ処理を停止させて、少なくとも送信処理部４６４により割り当てられたメモリ領域の解放処理を解放処理部４６８に実施させ、解放処理完了後に、送信処理を１回スキップして、受信処理からループ処理を再開させる。
【００１９】
送信処理部４６４は、データプレーン開発キットに即したパケット送信処理を実行する。すなわち、送信処理部４６４は、本発明に係る定型処理の一例として、パケットの送信処理を繰り返し実行する。
受信処理部４６６は、データプレーン開発キットに即したパケット受信処理を実行する。すなわち、受信処理部４６６は、本発明に係る定型処理の一例として、パケットの受信処理を繰り返し実行する。
このように、本例では、送信処理部４６４及び受信処理部４６６が、パケットの送信処理及び受信処理をループ処理としてサイクリックに繰り返すことにより、パケット処理の高速化を実現している。
【００２０】
解放処理部４６８は、ループ制御部４６２によりループ処理が停止されている場合に、ループ処理に含まれる定型処理のいずれかに割り当てられたリソースを解放する解放処理を実施する。例えば、解放処理部４６８は、送信処理部４６４による送信処理に割り当てられたメモリ１０２（図２）のメモリ領域のうち、送信済みのメモリ領域を解放する。
本例の解放処理部４６８は、送信処理部４６４により割り当てられたｍｂｕｆ資源（メモリ領域）のうち、送信済みのｍｂｕｆ資源を解放する。
【００２１】
図５は、制御プレーンコア及びデータプレーンコアと、ＬＡＮカードのインタフェースとの間の関係を中心としたシステム構成を例示する図である。
図５に例示するように、ＣＰＵ１００の複数のコア（＃０〜＃Ｎ）のうち、一つが制御プレーンコアとして割り当て、残りのＮ個のコアがデータプレーンコアとして割り当てられている。それぞれのデータプレーンコアが、ループ処理によってパケット送受信処理を実行している。
つまり、それぞれのデータプレーンコアでは、ＬＡＮカード１２０のインタフェース毎に送受信キューを用意しており、送受信処理を無限ループで実行することで、高速なパケット処理を実現している。この高速パケット処理では、送信処理と受信処理を延々ループして実行しており、当然、タイミングによってはパケットが存在しない場合が存在する。データプレーンコアの単一インタフェースに対する処理を考えると、パケットが存在しないときの送受信処理起動は無駄な処理となる。インタフェース数やＣＰＵやＬＡＮカードの性能により、このパケットが存在しない空振りである割合は決定することが可能である。その空振り処理に使用している時間を、送信ｍｂｕｆ資源の解放処理に割り当てることを考える。
そこで、各データプレーンコアの、データプレーン開発キットの上位層（上位エンジン処理部のプロセス）に対して、ＬＡＮカード送信済のｍｂｕｆ資源の解放処理を実行することが可能な状態にする。上位層では、目標性能を達成できるかを考慮して、送信処理間隔と、ＬＡＮカード１２０が送信完了にかかる時間などを元に、図６に例示するように、８０μ秒〜１３０μ秒間隔で送信処理とｍｂｕｆ資源の解放処理とを選択実行する。
これにより、装置目標である高速パケット処理（ファイアウォール機能を通過して５０Ｇｂｐｓ以上程度）を達成しつつ、メモリ枯渇が発生しない状況を実現している。
【００２２】
ここで、８０μ秒〜１３０μ秒という数字は、試行錯誤の末、実測ベースで決定した。
パケット送受信のループ処理において、１ループは１００μ秒よりも非常に小さい時間（オーダーが異なるレベルの差）で終えることができる。短い時間でループを延々繰り返しながら、送信処理の中で、本例では、前回の送信よりも１００μ秒経過していることを検出したら、送信すべきパケットが存在するかを確認する。この１００μ秒間隔のチェックでも、送信すべきパケットが存在しない場合が存在することがわかった。このときに、送信用のｍｂｕｆ資源の解放処理を行うことで、送信パケットが無い時間を有効に使用することができる。本例のネットワーク装置１０では、ＣＰＵ１００やＬＡＮカード１２０が高性能であったため、送信パケットが無い時間がある程度存在していたと考えられる。そのため、送信用のｍｂｕｆ資源の解放処理をある程度（最小１００μ秒間隔で）混ぜ込んでも、性能を実測すると目標達成することができている。
なお、パケット送信処理や送信ｍｂｕｆ解放処理も、８０μ秒〜１３０μ秒よりも非常に小さい時間で終えることができる。送信パケットが存在しているか、または、既定時間経過しているか等のチェック処理は、さらに（オーダーが異なるレベルの）小さい時間で終えることができる。
【００２３】
図７（Ａ）は、解放処理部４６８による解放処理の模式図であり、図７（Ｂ）は、解放処理後の状態を模式的に示す図である。
本例のネットワーク装置１０では、例えば、１ＧｂｐｓインタフェースとしてIntel（登録商標）82576EB GbE Controllerが搭載されたＬＡＮカード１２０を採用している。このＬＡＮカード１２０は、図７（Ａ）に例示するように、ソフトウェア層に送信キューを用意し、送信キューのtx_tailの位置を設定することで送信処理を行う。また、ＬＡＮカード１２０は、送信完了時に、送信完了を示すフラグDescriptor Done（ＤＤ）を送信キューに設定することで、ＬＡＮカード１２０による送信完了を上位層に通知する。そこで、解放処理部４６８は、送信ｍｂｕｆ解放処理では、送信キューのtx_tailの次のエントリ（すなわち、tx_tail＋１のエントリ）から順番に、フラグＤＤがセットされているか否かをチェックして、フラグＤＤがセットされている場合には、送信完了として、この送信キューに関連付けられたｍｂｕｆ資源を解放し、ｍｂｕｆプールに戻す処理を行う。その結果、解放処理後には、図７（Ｂ）に例示するように、ＬＡＮカード１２０により送信未完了のｍｂｕｆ資源のみが、割り当て済みの資源として残る。
なお、１０ＧｂｐｓインタフェースとしてIntel（登録商標）82599 GbE Controllerが搭載されたLANカードを採用した場合でも、こちらもtx_tailとDDで管理される仕様となっており、大まかな処理は上記１Ｇｂｐｓインタフェースの場合と同様となる。tx_tailに加えて、ｍｂｕｆ解放可能を示す閾値を保持しているため、その閾値を超えないようにｍｂｕｆを解放することで、ｍｂｕｆ解放処理を実現できる。
【００２４】
図８は、ネットワーク装置１０のパケット処理（Ｓ１０）を説明するフローチャートである。
図８に例示するように、ネットワーク装置１０のデータプレーンコア処理部４００は、ループ処理（Ｓ１００、Ｓ１０５、Ｓ１１０及びＳ１１５）を繰り返して高速パケット処理を実現する。より具体的には、ステップ１００（Ｓ１００）において、データプレーンコア処理部４００のループ制御部４６２（図４）は、前回の解放処理から１００μ秒経過したか否かを判断し、前回の解放処理から１００μ秒以内である場合（Ｓ１００：Ｎｏ）、Ｓ１０５の処理に移行してループ処理を継続し、前回の解放処理から１００μ秒以上経過した場合（Ｓ１００：Ｙｅｓ）に、ループ処理を停止して、Ｓ１２０の処理に移行する。
【００２５】
ステップ１０５（Ｓ１０５）において、送信処理部４６４は、送信キューを参照して、パケットの送信処理を実施する。なお、送信キューが空である場合に、送信処理部４６４の送信処理は、空振りとなる。
【００２６】
ステップ１１０（Ｓ１１０）において、受信処理部４６６は、ＬＡＮカード１２０にアクセスして、パケットの受信処理を実施する。なお、受信パケットが存在しない場合に、受信処理部４６６の受信処理は、空振りとなる。
【００２７】
ステップ１１５（Ｓ１１５）において、データプレーンコア処理部４００は、非定型処理を実施し、Ｓ１００の処理に戻る。
【００２８】
ステップ１２０（Ｓ１２０）において、ループ制御部４６２は、送信キューを参照して、送信パケットの有無を判断し、送信パケットが存在しない場合（Ｓ１２０：Ｙｅｓ）、Ｓ２０の処理に移行し、送信パケットが存在する場合（Ｓ１２０：Ｎｏ）、Ｓ１０５の処理に移行してループ処理を継続する。
【００２９】
ステップ２０（Ｓ２０）において、解放処理部４６８は、送信済みのｍｂｕｆ資源を解放し、ｍｂｕｆプールに戻す解放処理を実施する。
ループ制御部４６２は、解放処理が終了すると、Ｓ１１０の処理に移行し、パケット受信処理からループ処理を再開させる。
【００３０】
図９は、図８の解放処理（Ｓ２０）をより詳細に説明するフローチャートである。なお、本例では、データプレーン開発キットを採用した場合を具体例として説明する。
図９に例示するように、ステップ２００（Ｓ２００）において、解放処理部４６８は、ｍｂｕｆ解放数に０を設定する。
ステップ２０５（Ｓ２０５）において、解放処理部４６８は、last_desc_cleanedにtx_tailを設定する。
ステップ２１０（Ｓ２１０）において、解放処理部４６８は、キューエントリカウントを０に設定する。
【００３１】
ステップ２１５（Ｓ２１５）において、解放処理部４６８は、キューエントリカウントがキューエントリ数よりも小さいか否かを判断し、キューエントリカウントがキューエントリ数よりも小さい場合（Ｓ２１５：Ｙｅｓ）、Ｓ２２０の処理に移行し、キューエントリカウントがキューエントリ数以上となった場合（Ｓ２１５：Ｎｏ）、解放処理（Ｓ２０）を終了する。
【００３２】
ステップ２２０（Ｓ２２０）において、解放処理部４６８は、last_desc_cleanedを次のエントリに更新する。
ステップ２２５（Ｓ２２５）において、解放処理部４６８は、last_desc_cleanedエントリの送信が完了しているか否かを判断し、送信が完了していない場合（Ｓ２２５：Ｎｏ）、Ｓ２４０の処理に移行し、送信が完了している場合（Ｓ２２５：Ｙｅｓ）、Ｓ２３０の処理に移行する。
【００３３】
ステップ２３０（Ｓ２３０）において、解放処理部４６８は、last_desc_cleanedエントリにｍｂｕｆ資源が割り当てられているか否かを判断し、ｍｂｕｆ資源がない場合（Ｓ２３０：Ｎｏ）、Ｓ２４０の処理に移行し、ｍｂｕｆ資源がある場合（Ｓ２３０：Ｙｅｓ）、Ｓ２３５の処理に移行する。
ステップ２３５（Ｓ２３５）において、解放処理部４６８は、last_desc_cleanedエントリのｍｂｕｆ資源を解放し、ｍｂｕｆプールに戻す。
ステップ２４０（Ｓ２４０）において、解放処理部４６８は、ｍｂｕｆ解放数をインクリメントして、Ｓ２１５の処理に戻る。
【００３４】
以上説明したように、本実施形態のネットワーク装置１０は、ループ処理に使用するリソースを適時に解放することにより、リソースの枯渇を防ぐことができる。従来、ループ処理は高速処理を目指したものであり、キューが一巡したタイミングでリソースを解放していたが、本実施形態では、ループ処理の一部が空振りとなる時に、解放処理を挿入するため、より早くリソースが解放される。本例のように、データプレーン処理部４００が複数存在し、それぞれがループ処理を高速で行う場合には、リソースの取り合いとなるため、本実施形態の解放処理は特に好適である。
また、本実施形態では、空振りとなる時に常に解放処理を行う訳ではなく、前回の解放処理から既定時間経過したことも条件として、解放処理を行うため、ループ処理を停止させる頻度に上限を設けて、高速パケット処理の性能低下を抑制する。
【００３５】
すなわち、本例のように、データプレーン開発キットを利用した高速パケット処理を行うネットワークシステムにおいて、パケット処理ポーリングの無駄な時間をｍｂｕｆ解放処理に割り当てることで、高速パケット処理をある程度担保しながら、メモリ資源を効率的に使用することができる。
【符号の説明】
【００３６】
１…ネットワーク通信システム
１０…ネットワーク装置
１００…ＣＰＵ
１０２…メモリ
１０４…スロット
１２０…ＬＡＮカード
３００…制御プレーンコア処理部
４００…データプレーンコア処理部
４６０…ＬＡＮドライバ
４６２…ループ制御部
４６４…送信処理部
４６６…受信処理部
４６８…解放処理部
【図１】
2017046286.tif 000003
【図２】
2017046286.tif 000004
【図３】
2017046286.tif 000005
【図４】
2017046286.tif 000006
【図５】
2017046286.tif 000007
【図６】
2017046286.tif 000008
【図７】
2017046286.tif 000009
【図８】
2017046286.tif 000010
【図９】
2017046286.tif 000011