JP2010050699A - ネットワーク機器装置 - Google Patents
ネットワーク機器装置 Download PDFInfo
- Publication number
- JP2010050699A JP2010050699A JP2008212737A JP2008212737A JP2010050699A JP 2010050699 A JP2010050699 A JP 2010050699A JP 2008212737 A JP2008212737 A JP 2008212737A JP 2008212737 A JP2008212737 A JP 2008212737A JP 2010050699 A JP2010050699 A JP 2010050699A
- Authority
- JP
- Japan
- Prior art keywords
- reception
- receiving
- packet
- cpu
- signal
- 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.)
- Withdrawn
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】高速ネットワーク環境において十分な受信処理能力を持たない場合でも、受信処理能力に応じた受信性能を発揮できるネットワーク機器装置を提供する。
【解決手段】パケットが格納される受信バッファ12と、受信バッファ12からパケットの転送を受けてパケットを格納するメモリ14と、受信バッファ12からメモリ14へパケットを転送する受信割込処理およびメモリ14に格納されたパケットに基づく受信タスク処理の双方を実行するCPU13と、パケットを受信して受信バッファ12に転送して受信割込信号を出力する受信部11と、受信割込信号をマスクするマスクモードとマスク解除モードを有する信号制御部15を備え、信号制御部15がCPU13からマスク解除信号を受けたときに、受信割込信号を保持していれば受信割込信号をCPU13に伝えるとともにマスクモードを維持し、受信割込信号を保持していないときはマスク解除モードに移行する。
【選択図】図1
【解決手段】パケットが格納される受信バッファ12と、受信バッファ12からパケットの転送を受けてパケットを格納するメモリ14と、受信バッファ12からメモリ14へパケットを転送する受信割込処理およびメモリ14に格納されたパケットに基づく受信タスク処理の双方を実行するCPU13と、パケットを受信して受信バッファ12に転送して受信割込信号を出力する受信部11と、受信割込信号をマスクするマスクモードとマスク解除モードを有する信号制御部15を備え、信号制御部15がCPU13からマスク解除信号を受けたときに、受信割込信号を保持していれば受信割込信号をCPU13に伝えるとともにマスクモードを維持し、受信割込信号を保持していないときはマスク解除モードに移行する。
【選択図】図1
Description
本発明は、ネットワークを経由して送信されてきたパケットを受信して処理するネットワーク機器装置に関する。
従来より、ネットワークを経由して送信されてきたパケットを受信する受信部と、その受信部で受信したパケットを格納する受信バッファと、その受信バッファに格納されたパケットに基づいた処理を実行するCPUとを備えたネットワーク機器装置が知られている。
図3は、従来のネットワーク機器装置における受信処理のフローを示す図である。
ネットワーク機器装置には、ネットワークを経由してパケットが送信されてくる。すると、ネットワーク機器装置を構成する受信部では、以下のステップS1〜S3が実行される。先ず、ステップS1において、パケットを受信する。次いで、ステップS2において、受信したパケットを受信バッファに転送する。さらに、ステップS3において、受信バッファへのパケットの転送が完了したことを示す受信割込信号を発生し、発生した受信割込信号をCPUへ通知(図3の点線で示すイベント通知)する。
CPUでは、以下のステップS4〜S7が実行される。先ず、ステップS4において、受信部からの受信割込信号を受信する。次いで、ステップS5において、受信割込処理を行なう。この受信割込処理では、受信バッファに転送されたパケットを取り出す処理が行なわれる。さらに、取り出されたパケットに対して、ステップS6,S7において受信タスク処理を行なう。即ち、ステップS6においてプロトコルスタック処理を行ない、次いでステップS7においてアプリケーション処理を行なう。その後、この受信処理フローを終了する。
近年、ネットワークの通信速度の高速化に伴って、そのネットワークに接続されるネットワーク機器装置の受信処理能力が十分でなくなり、このため受信性能が低下するという問題が発生している。例えば、装置の処理能力に対して受信パケットの頻度が高い場合、CPUが受信タスク処理を実行中に受信割込信号を受けてしまうことがある。一般的に、受信タスク処理中に割込信号を受けると、CPUは受信タスク処理を中断して受信割込処理を実行してしまう。このようなことが継続して発生すると処理を中断されたままのパケットが多くなるため、受信性能が低下するという問題が発生する。これは受信処理能力が十分でないネットワーク機器装置で発生しうる現象である。
このような問題に対し、十分な受信処理能力を備えていないネットワーク機器装置において、あらかじめ設定した周期より短い周期では受信割込信号を発生させない受信割込遅延機構を備えることで、受信タスク処理および通信以外の処理を行う時間を確保する技術が提案されている(特許文献1参照)。
特開2007―74320号公報
しかし、特許文献1に提案された、あらかじめ設定した周期より短い周期では受信割込信号を発生させない技術では、イーサネットのような受信パケットの到着タイミングやサイズ等をあらかじめ予見したり保障したりすることのできないネットワークにおいては、無駄な時間が発生してしまい効率的でない。従って、ネットワーク機器装置の能力に応じた性能を発揮する適切な受信処理を行なうことは困難である。
本発明は、上記事情に鑑み、高速ネットワーク環境において十分な受信処理能力を持たない場合であっても、その受信処理能力に応じた受信性能を発揮することができるネットワーク機器装置を提供することを目的とする。
上記目的を達成する本発明のネットワーク機器装置は、
パケットが格納される受信バッファと、
上記受信バッファからパケットの転送を受けてそのパケットを格納するメモリと、
上記受信バッファから上記メモリへパケットを転送する受信割込処理と、そのメモリに格納されたパケットに基づく処理である受信タスク処理とを実行するCPUと、
ネットワークを経由して送信されてきたパケットを受信しそのパケットを上記受信バッファに転送して転送完了を示す受信割込信号を出力する受信部と、
マスクモードとマスク解除モードとを有し、上記受信部から上記受信割込信号を受け取り、そのマスク解除モードにあるときにその受信割込信号を受け取ったときはその受信割込信号を上記CPUに伝えてそのマスクモードに移行する信号制御部とを備え、
上記CPUは、上記受信タスク処理終了後に上記信号制御部に向けてマスク解除信号を出力するものであり、
上記信号制御部は、上記CPUからそのマスク解除信号を受けて、その信号制御部が上記マスクモードにあるときに上記受信部から受信割込信号を受けて保持していたときは、その受信割込信号を上記CPUに伝えるとともにそのマスクモードを維持し、その受信割込信号を保持していないときは上記マスク解除モードに移行するものであることを特徴とする。
パケットが格納される受信バッファと、
上記受信バッファからパケットの転送を受けてそのパケットを格納するメモリと、
上記受信バッファから上記メモリへパケットを転送する受信割込処理と、そのメモリに格納されたパケットに基づく処理である受信タスク処理とを実行するCPUと、
ネットワークを経由して送信されてきたパケットを受信しそのパケットを上記受信バッファに転送して転送完了を示す受信割込信号を出力する受信部と、
マスクモードとマスク解除モードとを有し、上記受信部から上記受信割込信号を受け取り、そのマスク解除モードにあるときにその受信割込信号を受け取ったときはその受信割込信号を上記CPUに伝えてそのマスクモードに移行する信号制御部とを備え、
上記CPUは、上記受信タスク処理終了後に上記信号制御部に向けてマスク解除信号を出力するものであり、
上記信号制御部は、上記CPUからそのマスク解除信号を受けて、その信号制御部が上記マスクモードにあるときに上記受信部から受信割込信号を受けて保持していたときは、その受信割込信号を上記CPUに伝えるとともにそのマスクモードを維持し、その受信割込信号を保持していないときは上記マスク解除モードに移行するものであることを特徴とする。
本発明のネットワーク機器装置は、信号制御部がCPUからマスク解除信号を受けて、マスクモードにあるときに受信部から受信割込信号を受けて保持していたときは、その受信割込信号をCPUに伝えるとともにそのマスクモードを維持し、受信割込信号を保持していないときはマスク解除モードに移行する構成である。このため、CPUが受信タスク処理を実行している途中で、次のパケットを受信した場合であっても、CPUには、この受信タスク処理が実行された後に受信割込信号が伝えられる。従って、CPUでは受信タスク処理が中断されることなく、受信タスク処理に必要な時間を適切に確保することができる。このため、大量のパケットを受信した場合でも受信割込信号により受信タスク処理が中断されることが防止され、高速ネットワーク環境において、十分な受信処理能力を持たない場合であっても、その受信処理能力に応じた受信性能を発揮することができる。
本発明によれば、高速ネットワーク環境において十分な受信処理能力を持たない場合であっても、その受信処理能力に応じた受信性能を発揮することができるネットワーク機器装置を提供することができる。
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態のネットワーク機器装置の構成を示すブロック図である。
図1に示すネットワーク機器装置10には、受信部11と、受信バッファ12と、CPU13と、メモリ14と、信号制御部15とが備えられている。
受信部11は、ネットワークを経由して送信されてきたパケットを受信する。また、この受信部11は、受信したパケットを受信バッファ12に転送する。さらに、この受信部11は、受信したパケットの転送完了を示す受信割込信号を、信号制御部15に出力する。また、この受信部11は、受信バッファ12が満杯のときは、ネットワークを経由して送信されてきたパケットを廃棄する。
受信バッファ12は、複数のパケットを格納する容量を有し、受信部11から転送されてきた複数のパケットを格納する。
CPU13は、受信バッファ12からメモリ14へパケットを転送する受信割込処理と、メモリ14に格納されたパケットに基づくプロトコル処理およびアプリケーション処理である受信タスク処理とを実行する。また、このCPU13は、受信タスク処理終了後に、信号制御部15に向けてマスク解除信号を出力する。
メモリ14は、CPU13による、受信バッファ12からのパケットの転送を受けてそのパケットを格納する。
信号制御部15は、マスクモードとマスク解除モードとを有し、受信部11から受信割込信号を受け取り、マスク解除モードにあるときに受信割込信号を受け取ったときは受信割込信号をCPU13に伝えてマスクモードに移行する。また、信号制御部15は、CPU13からマスク解除信号を受けて、この信号制御部15がマスクモードにあるときに受信部11から受信割込信号を受けて保持していたときは、その受信割込信号をCPU13に伝えるとともにそのマスクモードを維持する。一方、受信割込信号を保持していないときはマスク解除モードに移行する。ここで、受信バッファ12は、メモリ14の内部に配置することも可能である。この場合、受信バッファ12からメモリ14へのパケットの転送は、パケットのメモリアドレスの書き換えのみで済む。
図2は、図1に示すネットワーク機器装置における動作フローを示す図である。
図1に示すネットワーク機器装置10に、ネットワークを経由してパケットが送信されてくると、受信部11では、以下のステップS11〜S13が実行される。先ず、ステップS11において、パケットを受信する。次いで、ステップS12において、受信したパケットを受信バッファ12に転送する。さらに、ステップS13において、受信バッファ12へのパケットの転送が完了したことを示す受信割込信号を発生し、この受信割込信号を信号制御部15に通知(図2の点線で示すイベント通知)する。
信号制御部15では、受信部11からの受信割込信号の通知を受けると、ステップS21において、受信割込信号をマスクするマスクモードか否かが判定される。マスクモードであると判定された場合は、ステップS22において、CPU13への受信割込信号の通知は行わず(非通知)、ステップS23に進む。ステップS23では、その受信割込信号の情報を保持する。
一方、ステップS21において、マスクモードではない(マスク解除モードである)と判定された場合は、ステップS24に進む。ステップS24では、CPU13に受信割込信号を通知(図2の点線で示すイベント通知)してステップS25に進む。ステップS25では、マスク解除モードからマスクモードに移行する。
CPU13では、信号制御部15からの受信割込信号の通知を受けると、ステップS31において、受信割込信号を受信する。次いで、ステップS32において、受信割込処理を実行する。さらに、ステップS33において、受信タスク処理のうちのプロトコルスタック処理を実行し、次いでステップS34において受信タスク処理のうちのアプリケーション処理を実行する。さらに、ステップS35において、マスク解除信号を信号制御部15に向けて出力する(図2の点線で示すイベント通知)。
ここで、信号制御部15は、最初の時点では、マスク解除モードに設定されている。このため、受信部11からの受信割込信号は、信号制御部15を経由してCPU13に通知される。CPU13では受信割込信号の通知を受けて受信割込処理と受信タスク処理とを実行する。上述したように、ステップS25において、マスク解除モードからマスクモードに移行されているため、CPU13が受信タスク処理を実行している途中で、次のパケットを受信した場合であっても、CPU13には、この受信タスク処理が実行された後に受信割込信号が通知される。従って、CPU13では受信タスク処理が中断されることなく、受信タスク処理に必要な時間を適切に確保することができる。
また、CPU13による受信割込処理は、複数のパケットに対してまとめて行なわれる。受信割込処理では、受信バッファ12に転送されたパケットを取り出す処理が行なわれるが、パケットを取り出した後に受信バッファ12にまだパケットが残っていれば、連続してパケットを取り出す処理が行なわれる。このようにすることにより、割込みによる遅延時間のオーバーヘッドを減少することができる。ここで、連続してパケットを取り出す処理を行なうにあたり、パケットの最大数があらかじめ設定される。パケットの数が、この最大数に達するか、受信バッファ12にパケットがなくなったら受信割込処理を終了し、受信タスク処理に移行する。受信タスク処理においては、受信割込処理が完了した数のパケットの処理が行なわれる。
ここで、マスクモードの期間中においてCPU13が受信タスク処理を行なっている途中で、新たな受信パケットが到着すると、受信部11はパケットを受信バッファ12に転送して受信割込信号を信号制御部15に向けて出力する。信号制御部15は、この受信割込信号をマスクする(CPU13に通知しない)とともに、この受信割込信号の情報(新たに受信パケットがあったという情報)を保持しておく。やがてCPU13による受信タスク処理が完了すると、CPU13は信号制御部15にマスク解除信号を出力する。尚、受信割込処理、受信タスク処理以外に実行したい処理がある場合は、CPU13から受信割込処理後の特定の処理中において信号制御部15にマスク解除信号が出力される。
信号制御部15では、CPU13からのマスク解除信号を受けると、ステップS26において、マスクモードの期間中に受信部11から受信割込信号があったか否かが判定される。マスクモードの期間中に受信割込信号があったと判定された場合は、新たな受信パケットが受信バッファ12に存在するため、前述したステップS24に戻り、受信割込信号をCPU13に通知するとともに、マスクモード期間中の受信割込信号情報をクリアし、次いでステップS25においてマスクモードを継続する。CPU13は、受信バッファ12内の新たなパケットに対する受信割込処理および受信タスク処理を行なう。
一方、ステップS26において、マスクモードの期間中に受信部11から受信割込信号がなかったと判定された場合は、新たな受信パケットは存在しないため、ステップS27に進む。ステップS27では、マスク解除モードに移行して新たな受信パケットに備え、この動作フローを終了する。
本実施形態のネットワーク機器装置10は、上述した動作フローにより、受信するパケット数が多い場合であっても、CPU13が受信タスク処理を行っている期間は、CPU13への受信割込信号を一旦マスク(無効)することにより、受信タスク処理に必要な時間を適切に確保することができる。このため、大量のパケットを受信した場合でも受信割込信号により受信タスク処理が中断されることが防止され、装置の能力に応じた受信性能を発揮することができる。
10 ネットワーク機器装置
11 受信部
12 受信バッファ
13 CPU
14 メモリ
15 信号制御部
11 受信部
12 受信バッファ
13 CPU
14 メモリ
15 信号制御部
Claims (1)
- パケットが格納される受信バッファと、
前記受信バッファからパケットの転送を受けて該パケットを格納するメモリと、
前記受信バッファから前記メモリへパケットを転送する受信割込処理と、該メモリに格納されたパケットに基づく処理である受信タスク処理とを実行するCPUと、
ネットワークを経由して送信されてきたパケットを受信し該パケットを前記受信バッファに転送して転送完了を示す受信割込信号を出力する受信部と、
マスクモードとマスク解除モードとを有し、前記受信部から前記受信割込信号を受け取り、該マスク解除モードにあるときに該受信割込信号を受け取ったときは該受信割込信号を前記CPUに伝えて該マスクモードに移行する信号制御部とを備え、
前記CPUは、前記受信タスク処理終了後に前記信号制御部に向けてマスク解除信号を出力するものであり、
前記信号制御部は、前記CPUから該マスク解除信号を受けて、該信号制御部が前記マスクモードにあるときに前記受信部から受信割込信号を受けて保持していたときは、該受信割込信号を前記CPUに伝えるとともに該マスクモードを維持し、該受信割込信号を保持していないときは前記マスク解除モードに移行するものであることを特徴とするネットワーク機器装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008212737A JP2010050699A (ja) | 2008-08-21 | 2008-08-21 | ネットワーク機器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008212737A JP2010050699A (ja) | 2008-08-21 | 2008-08-21 | ネットワーク機器装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010050699A true JP2010050699A (ja) | 2010-03-04 |
Family
ID=42067432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008212737A Withdrawn JP2010050699A (ja) | 2008-08-21 | 2008-08-21 | ネットワーク機器装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010050699A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012015630A (ja) * | 2010-06-29 | 2012-01-19 | Fujitsu Ltd | 半導体装置、パケット受信方法、およびパケット送信方法 |
-
2008
- 2008-08-21 JP JP2008212737A patent/JP2010050699A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012015630A (ja) * | 2010-06-29 | 2012-01-19 | Fujitsu Ltd | 半導体装置、パケット受信方法、およびパケット送信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936510B (zh) | 多路径rdma传输 | |
JP2009239634A (ja) | 到着パケット廃棄決定を行うパケットバッファ管理装置及びその廃棄決定方法 | |
JP2007202153A (ja) | ネットワークプロセッサーのキュー管理装置及びその方法 | |
US8838782B2 (en) | Network protocol processing system and network protocol processing method | |
JP2007013654A (ja) | パケット中継装置およびパケット中継方法 | |
RU2510142C2 (ru) | Способ и система для передачи сообщения между дополнительным процессором и переключающей схемой | |
JP2010050699A (ja) | ネットワーク機器装置 | |
JP5094532B2 (ja) | 通信装置 | |
JP4563210B2 (ja) | 通信制御方法、通信ノード、及び通信システム | |
JP5601906B2 (ja) | 通信装置およびパケット中継方法 | |
CN111385219A (zh) | 借用硬件中断实现高性能高精度软件tcp限速的方法 | |
JP6127872B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP5692406B2 (ja) | 通信システム、通信方法、エッジ装置、エッジ装置制御方法、エッジ装置制御プログラム、非エッジ装置、非エッジ装置制御方法、及び、非エッジ装置制御プログラム | |
JP2011166238A (ja) | パケット通信装置、パケット通信システム及びパケット通信方法 | |
CN102571576A (zh) | 一种多协议标签交换网络中优雅重启的方法及路由设备 | |
JP2005094249A (ja) | パケット中継方法及びパケット中継装置 | |
JP5569185B2 (ja) | 半導体装置、およびパケット受信方法 | |
JP2005277704A (ja) | データ配信管理装置およびデータ配信管理方法 | |
EP3353959B1 (en) | Active link during lan interface reset | |
JP2011024156A (ja) | パケット通信装置およびシステム、ならびに同システムにおける受信割り込み制御方法、パケット通信制御プログラム | |
JP6493970B2 (ja) | 通信システム、通信装置および通信制御方法 | |
CN105187949A (zh) | 一种视频的传输方法及客户端 | |
JP2015111769A (ja) | データ送信装置、データ処理システムおよびデータ処理方法 | |
JP5709210B2 (ja) | パケット交換装置、マルチコアプロセッサ、パケット交換方法、パケット制御方法、プログラム | |
WO2015120699A1 (zh) | 一种报文转发方法、装置及网络转发设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20111101 |