JP2007060282A - Snmp agent communication device - Google Patents
Snmp agent communication device Download PDFInfo
- Publication number
- JP2007060282A JP2007060282A JP2005243043A JP2005243043A JP2007060282A JP 2007060282 A JP2007060282 A JP 2007060282A JP 2005243043 A JP2005243043 A JP 2005243043A JP 2005243043 A JP2005243043 A JP 2005243043A JP 2007060282 A JP2007060282 A JP 2007060282A
- Authority
- JP
- Japan
- Prior art keywords
- snmp
- communication device
- request packet
- mib
- packet
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、SNMP(Simple Network Management Protocol)エージェント機能を有するルータ(Router)やハブ(HUB)等の通信装置に係り、特にSNMPマネージャ機能を有する通信装置とエージェント機能を有する通信装置間で管理するオブジェクト(MIB:Management Information Base)定義の整合性をSNMPエージェント側で保持するSNMPエージェント通信装置に関する。 The present invention relates to a communication device such as a router (Router) or a hub (HUB) having an SNMP (Simple Network Management Protocol) agent function, and in particular, manages between a communication device having an SNMP manager function and a communication device having an agent function. The present invention relates to an SNMP agent communication apparatus that maintains consistency of an object (MIB: Management Information Base) definition on the SNMP agent side.
SNMPに基づいて通信を行なうネットワークは、従来から一般に知られている(例えば、特許文献1参照。)。
図1は、本発明の対象とするネットワークシステムの全体の概略構成を示すシステム構成図である。図1において、11はマネージャ機能を有するSNMPマネージャ通信装置(管理ステーション)で、このSNMPマネージャ通信装置11には、ネットワーク12を介してエージェント機能を有する複数のSNMPエージェント通信装置(被管理対象)13a〜13nが接続される。上記SNMPエージェント通信装置13a〜13nは、例えばルータ(Router)やハブ(HUB)等の通信装置を指すが、SNMPを用いて管理される通信装置であれば、特に限定されるものではない。
A network that performs communication based on SNMP has been generally known (see, for example, Patent Document 1).
FIG. 1 is a system configuration diagram showing an overall schematic configuration of a network system as a subject of the present invention. In FIG. 1,
上記SNMPエージェント通信装置13a〜13nは、SNMPマネージャ通信装置11によりMIB(Management Information base)定義に基づき遠隔管理されるものであり、SNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)処理及びGET(取得)処理を実行する。
The SNMP
図6は、従来のSNMPエージェント通信装置13a′(〜13n′)におけるSNMPパケットフロー図であり、(1)〜(11)の破線矢印で示した流れが実際のSNMPパケットの流れを示している。
FIG. 6 is an SNMP packet flow diagram in the conventional SNMP
従来のSNMPマネージャ通信装置11′は、図6に示すように上位アプリケーション(上位AP)21、プロトコル(Protocol)スタック部22、ドライバ/OS部23からなっている。上記プロトコルスタック部22は、SNMP221、UDP(User Datagram Protocol)222、TCP(Transmission Control Protocol)223、IP(Internet Protocol)224を備えると共に、揮発RAMからなる第1のMIB(Management Information base:データベース)225、及び不揮発RAMからなる第2のMIB226を備えている。
As shown in FIG. 6, the conventional SNMP
また、上記ドライバ/OS部23は、ドライバ(Driver)231及びOS(Operating System)232を備えている。
また、従来のSNMPエージェント通信装置13a′(〜13n′)は、上位アプリケーション(上位AP)31、プロトコル(Protocol)スタック部32、ドライバ/OS部33からなっている。上記プロトコルスタック部32は、SNMP321、UDP(User Datagram Protocol)322、TCP(Transmission Control Protocol)323、IP(Internet Protocol)324を備えると共に、揮発RAMからなる第1のMIB(Management Information base)325、及び不揮発RAMからなる第2のMIB326を備えている。また、ドライバ/OS部33は、ドライバ(Driver)331及びOS(Operating System)332を備えている。
The driver /
The conventional SNMP
そして、上記SNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)との間は、通信回線25により接続される。
The SNMP
以下、従来のSNMPエージェント通信装置13a′(〜13n′)がSNMPマネージャ通信装置11′から要求されるMIB定義情報のSET(更新)及びGET(取得)処理を行なう場合のSNMPパケットフローについて、図6を参照して説明する。
Hereinafter, the SNMP packet flow when the conventional SNMP
(1)SNMPマネージャ通信装置11′は、SNMP221の管理に基づいて、SNMPエージェント通信装置13a′(〜13n′)が持っている現在の機器の情報を取得するためのSET(更新)/GET(取得)処理の要求パケットをドライバ/OS部23から送信する。
(1) The SNMP
(2)SNMPマネージャ通信装置11′から出力される要求パケットは、通信回線25を経由してSNMPエージェント通信装置13a′(〜13n′)へ送られる。
(2) The request packet output from the SNMP
(3)SNMPエージェント通信装置13a′(〜13n′)は、受信した要求パケットをSNMP321に入力して解析を実施する。
(3) The SNMP
(4)SNMP321は、解析結果に基づき、SNMPマネージャ通信装置11′で指定されたオブジェクトIDに従って、MIB325、326におけるMIBを更新する。
(4) The SNMP 321 updates the MIBs in the
(5)また、上記要求パケットがGET(取得)要求であった場合は、MIB325、326をアクセスして現在の情報を取得し、この取得した情報によりSNMPマネージャ通信装置11′からの要求パケットのデータエリアを更新する。
(5) If the request packet is a GET (acquisition) request, the current information is acquired by accessing the
(6)SNMP321は、取得した情報を応答パケットとしてドライバ/OS部33から送信する。
(6) The SNMP 321 transmits the acquired information from the driver /
(7)また、上記SNMP321は、上記応答パケットを送信した後、上位アプリケーション31に対し、SNMPマネージャ通信装置11′へ情報を送信した旨の通知を行なう。上位アプリケーション31は、上記SNMP321からの通知を受けて所定の処理を実行する。
(7) After transmitting the response packet, the SNMP 321 notifies the
(8)上記SNMPエージェント通信装置13a′(〜13n′)から出力される応答パケットは、通信回線25を経由してSNMPマネージャ通信装置11′へ送られる。
(8) The response packet output from the SNMP
(9)SNMPマネージャ通信装置11′は、受信した応答パケットをSNMP221に入力して解析を実施する。
(9) The SNMP
(10)SNMP221は、上記応答パケットの解析結果に基づいてMIB225、226をアクセスして情報を更新する。
(10) The SNMP 221 updates the information by accessing the
(11)また、SNMP221は、MIB225、226の更新情報に基づいて処理が必要な場合、その処理を実施する。
(11) Further, the
図7は、上記SNMPエージェント通信装置13a′(〜13n′)のソフトウェア制御図である。
SNMPエージェント通信装置13a′(〜13n′)は、起動すると同時にSNMPエージェントメインタスクが生成され、SNMPマネージャ通信装置11′から送られてくるSET(更新)/GET(取得)要求パケットの入力待ちの状態となる(ステップA1)。この状態で、SNMPマネージャ通信装置11′からのSET/GETの要求パケットを受信すると、SNMPにて規定されているパラメタチェックを行ない(ステップA2)、正常であればオブジェクトID毎の処理関数CALLを行ない、対象のオブジェクトIDでのMIB情報の更新/取得、応答パケットの作成を行なう(ステップA3)。そして、上記作成した応答パケットをSNMPマネージャ通信装置11′へ送信する(ステップA4)。その後、上位アプリケーション31に対し、SNMPマネージャ通信装置11′へ情報を送信した旨の通知を行なって所定の処理を実行する(ステップA5)。上記上位アプリケーション31への通知を行なった後は、ステップA1に戻り、再びSNMPパケットの入力待ちの状態となる。
As soon as the SNMP
上記従来のSNMPエージェント通信装置13a′(〜13n′)では、上記(6)のステップで応答パケットをSNMPマネージャ通信装置11′へ送信した後、(7)のステップにて上位アプリケーション31に対する通知を行なっているので、上位アプリケーション31の処理結果における可否については、SNMPマネージャ通信装置11′へ送信する応答パケットに反映されないという問題がある。
In the conventional SNMP
SNMPマネージャ通信装置11′においては、応答パケットに含まれる制御結果に応じてMIB225、226のMIB情報を更新するが、SNMPエージェント通信装置13a′(〜13n′)にて上記(7)のステップで発生する上位アプリケーション31の処理が異常終了した場合、SNMPマネージャ通信装置11′で保持/管理しているMIB情報を別の値にて更新あるいは制御前の状態に戻す場合が発生する。このような状況が発生した場合、SNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)でのMIB値が異なってしまう可能性がある。
In the SNMP
上記のようにSNMPマネージャ通信装置11′とSNMPエージェント通信装置13a′(〜13n′)との間でMIB不整合が発生した場合の対処の一つとして、SNMPエージェント通信装置13a′(〜13n′)の状態変化をSNMPマネージャ通信装置11′へ通知するTRAPパケットによる処理がSNMPでサポートされている。
As one of the countermeasures when the MIB mismatch occurs between the SNMP
しかし、上記TRAPパケット通知により、SNMPエージェント通信装置13a′(〜13n′)の状態変化をSNMPマネージャ通信装置11′に通知した場合でも、SNMPマネージャ通信装置11′では応答パケットをトリガとして該当処理を開始するため、TRAPパケットによる通知で該当処理を中断若しくは終了させたとしても、システムとして一時的にMIB情報の不整合による不安定な状況になると考えられる。
However, even when the SNMP
また、SNMPマネージャ通信装置11′によって複数のSNMPエージェント通信装置13a′(〜13n′)を管理及び制御するシステムにおいては、SNMPマネージャ通信装置11′からSNMPエージェント通信装置13a′(〜13n′)に対する要求パケット(SET/GET処理の要求パケット)が応答パケットとは非同期で、且つバースト的に発生する可能性がある。例えばSNMPマネージャ通信装置11′に該当するプリンタサーバからSNMPエージェント通信装置13a′(〜13n′)に該当するプリンタ本体へのインク残量の問い合わせがプリンタサーバを利用しているユーザから一斉に行なわれた場合等が考えられる。
In a system in which a plurality of SNMP
上記のような状況が発生した場合、図7で示したようなソフトウェア制御構造では、その処理性能上、上記要求パケットに対する応答パケットが破棄されるか大幅に遅延する恐れがある。このため上記したようにシステムとして一時的にMIBの不整合による不安定な状況が発生し、若しくはSNMPマネージャ通信装置11′からの要求パケット再送処理に伴う通信トラフィックの増大が懸念される。
When such a situation occurs, in the software control structure as shown in FIG. 7, the response packet for the request packet may be discarded or significantly delayed due to its processing performance. For this reason, as described above, the system is temporarily unstable due to MIB mismatch, or there is a concern that communication traffic increases due to request packet retransmission processing from the SNMP
本発明は上記の課題を解決するためになされたもので、SNMPマネージャ通信装置からSNMPエージェント通信装置に対する要求パケットが応答パケットとは非同期で、且つバースト的に発生した場合であっても、上記両通信装置間におけるMIB不整合を確実に防止し得るSNMPエージェント通信装置を提供することを目的とする。 The present invention has been made to solve the above-described problem. Even when a request packet from the SNMP manager communication device to the SNMP agent communication device is generated asynchronously with a response packet and bursted, It is an object of the present invention to provide an SNMP agent communication device that can reliably prevent MIB mismatch between communication devices.
第1の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットを上位アプリケーションへ通知し、該上位アプリケーションからMIBにアクセスしてMIB定義情報の更新/取得処理を実行し、前記要求パケットが取得要求であった場合に前記上位アプリケーションがMIBから取得した情報を応答パケットとして前記SNMPマネージャ通信装置へ送信することを特徴とする。 The first invention is an SNMP agent communication device that has an SNMP agent function and is remotely managed based on an MIB definition by an SNMP manager communication device connected via a network, and is requested from the management device having the SNMP manager function. When a request packet for MIB definition information update / acquisition processing is received, the request packet is notified to the upper application, the MIB is accessed from the upper application, and MIB definition information update / acquisition processing is executed. Is an acquisition request, the information acquired from the MIB by the upper application is transmitted as a response packet to the SNMP manager communication device.
第2の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、この要求パケットに対する処理を行なうタスクを処理パケット毎に分散させ、選択されたタスクにおいて前記要求パケットに対する処理要求メッセージを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段と、前記要求パケットを上位アプリケーションへ通知した際、該上位アプリケーションから応答メッセージが出力されるまでの時間を監視タイマにより監視し、前記応答メッセージが規定時間以上出力されなかった場合に前記要求パケットを異常処理し、待ち状態となっている新規の更新/取得処理の要求パケットを動作させる手段とを具備することを特徴とする。 According to a second aspect of the present invention, there is provided an SNMP agent communication apparatus having an SNMP agent function and remotely managed based on an MIB definition by an SNMP manager communication apparatus connected by a network, and requested from the management apparatus having the SNMP manager function. When a request packet for MIB definition information update / acquisition processing is received, a task for processing the request packet is distributed for each processing packet, and a processing request message for the request packet is notified to the upper application in the selected task. A notification means; a means for accessing the MIB by the higher-level application that has received the notification; executing a MIB definition information update / acquisition process; and outputting a response message; and a response based on the response message output from the higher-level application. And a means for transmitting a packet to the SNMP manager communication device, and when the request packet is notified to a higher-level application, the time until the response message is output from the higher-level application is monitored by a monitoring timer, and the response message is a specified time. And means for abnormally processing the request packet when it has not been output, and operating a request packet for a new update / acquisition process that is in a waiting state.
第3の発明は、SNMPエージェント機能を有し、ネットワークで接続されたSNMPマネージャ通信装置によるMIB定義に基づいて遠隔管理されるSNMPエージェント通信装置において、前記SNMPマネージャ機能を有する管理装置から要求されるMIB定義情報の更新/取得処理の要求パケットを受信した際、該要求パケットを解析して軽負荷の要求パケットの優先度を高く設定する優先度設定手段と、前記優先度設定手段により設定された優先度の高い要求パケットを上位アプリケーションへ通知する通知手段と、該通知を受けた上位アプリケーションによりMIBにアクセスしてMIB定義情報の更新/取得処理を実行して応答メッセージを出力する手段と、前記上位アプリケーションから出力される応答メッセージに基づいて応答パケットを前記SNMPマネージャ通信装置へ送信する手段とを具備することを特徴とする。 A third invention is an SNMP agent communication device that has an SNMP agent function and is remotely managed based on an MIB definition by an SNMP manager communication device connected via a network, and is requested from the management device having the SNMP manager function. When receiving a request packet for MIB definition information update / acquisition processing, priority setting means for analyzing the request packet and setting a high priority for the light load request packet; and the priority setting means A notification means for notifying a higher-priority request packet to a higher-level application, a means for accessing the MIB by the higher-level application that has received the notification, executing a MIB definition information update / acquisition process, and outputting a response message; Based on the response message output from the upper application A response packet, characterized by comprising means for transmitting to the SNMP manager communication device.
本発明によれば、SNMPエージェント通信装置側で受信したMIB定義情報の更新/取得処理の要求パケットを上位アプリケーションへ通知し、上位アプリケーションからMIBへのアクセスを行なわせることにより、上位アプリケーションでの処理結果を反映した情報をSNMPマネージャ通信装置へ送信することが可能となり、SNMPマネージャ通信装置とSNMPエージェント通信装置との間におけるMIB不整合を確実に防止することができる。 According to the present invention, a request packet for MIB definition information update / acquisition processing received on the SNMP agent communication device side is notified to the upper application, and the upper application is made to access the MIB, whereby processing in the upper application is performed. Information reflecting the result can be transmitted to the SNMP manager communication device, and MIB mismatch between the SNMP manager communication device and the SNMP agent communication device can be reliably prevented.
また、SNMPマネージャ通信装置からのバースト的なパケット入力に対しても、複数のタスクに分散して処理することにより、過負荷に対する処理正常性の向上を図ることができる。更に、要求パケットに処理優先度を設定し、軽負荷のパケット処理を優先させることで、負荷に対する処理性能を更に向上することができる。 Also, burst normal packet input from the SNMP manager communication device can be distributed to a plurality of tasks to improve processing normality against overload. Furthermore, by setting the processing priority to the request packet and giving priority to the light load packet processing, the processing performance for the load can be further improved.
以下、図面を参照して本発明の一実施形態を説明する。
本発明は、上記図1で説明したようにマネージャ機能を有するSNMPマネージャ通信装置(管理ステーション)11と、このSNMPマネージャ通信装置11にネットワーク12を介して接続されるエージェント機能を有する複数のSNMPエージェント通信装置(被管理対象)13a〜13nからなるネットワークシステムを対象としている。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
The present invention relates to an SNMP manager communication device (management station) 11 having a manager function as described in FIG. 1 and a plurality of SNMP agents having an agent function connected to the SNMP
上記SNMPエージェント通信装置13a〜13nは、SNMPマネージャ通信装置11によりMIB(Management Information base)定義に基づき遠隔管理されるものであり、SNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)処理及びGET(取得)処理を実行する。
The SNMP
図2は、本発明の一実施形態に係るSNMPエージェント通信装置13a〜13nにおけるSNMPパケットフロー図であり、(1)〜(12)の破線矢印で示した流れが実際のSNMPパケットの流れを示している。
FIG. 2 is an SNMP packet flow diagram in the SNMP
上記SNMPマネージャ通信装置11は、従来のSNMPマネージャ通信装置11′と同様の構成であり、上位アプリケーション21、プロトコル(Protocol)スタック部22、ドライバ/OS部23からなっている。
The SNMP
また、SNMPエージェント通信装置13a〜13nは、従来のSNMPエージェント通信装置13a′(〜13n′)と同様の構成であり、上位アプリケーション31、プロトコル(Protocol)スタック部32、ドライバ/OS部33からなっている。
The SNMP
以下、上記SNMPエージェント通信装置13a(〜13n)がSNMPマネージャ通信装置11から要求されるMIB定義情報のSET(更新)/GET(取得)を行なう場合のSNMPパケットフローについて、図2を参照して説明する。
Hereinafter, the SNMP packet flow when the SNMP
(1)SNMPマネージャ通信装置11は、SNMP221の管理に基づいて、SNMPエージェント通信装置13a(〜13n)が持っている現在の機器の情報を取得するためのSET/GETの要求パケットをドライバ/OS部23から出力する。
(1) The SNMP
(2)SNMPマネージャ通信装置11から出力される要求パケットは、通信回線25を経由してSNMPエージェント通信装置13a(〜13n)へ送られる。
(2) The request packet output from the SNMP
(3)SNMPエージェント通信装置13a(〜13n)は、受信した要求パケットをSNMP321に入力して解析を実施する。
(3) The SNMP
(4)SNMP321は、受信したSET/GETの要求パケットを上位アプリケーション31へ通知する。
(4) The
(5)上位アプリケーション31は、要求パケットの解析結果に基づき、SNMPマネージャ通信装置11で指定されたオブジェクトIDに従って所定の処理を実行し、その後、MIB325、326に対するSET/GETの要求処理を実施する。
(5) Based on the analysis result of the request packet, the
(6)上位アプリケーション31は、上記要求パケットがGET(取得)要求であった場合は、MIB325、326をアクセスして現在の情報を取得する。
(6) If the request packet is a GET (acquisition) request, the
(7)上記上位アプリケーション31がMIB325、326から取得した情報は、SNMP321へ送られる。
(7) Information acquired by the
(8)SNMP321は、上位アプリケーション31を経由して取得した情報を応答パケットとしてドライバ/OS部33から出力する。
(8) The
(9)上記SNMPエージェント通信装置13a(〜13n)から出力される応答パケットは、通信回線25を経由してSNMPマネージャ通信装置11へ送られる。
(9) The response packet output from the SNMP
(10)SNMPマネージャ通信装置11は、受信した応答パケットをドライバ/OS部23からSNMP221に入力して解析を実施する。
(10) The SNMP
(11)SNMP221は、上記応答パケットの解析結果に基づいてMIB225、226をアクセスして情報を更新する。
(11) The
(12)また、SNMP221は、MIB225、226の更新情報に基づいて処理が必要な場合は、その処理を実施する。
(12) Further, the
上記のようにSNMPエージェント通信装置13a(〜13n)側で受信したMIB定義情報の更新/取得処理の要求パケットを上位アプリケーション31へ通知し、上位アプリケーション31からMIB325,326へのアクセスを行なわせることにより、上位アプリケーション31での処理結果を反映した情報をSNMPマネージャ通信装置11へ送信することが可能となり、SNMPマネージャ通信装置11とSNMPエージェント通信装置13a(〜13n)との間におけるMIB不整合を確実に防止することができる。
As described above, a request packet for MIB definition information update / acquisition processing received on the SNMP
図3は、上記SNMPエージェント通信装置13a(〜13n)のソフトウェア制御図である。
まず、ソフトウェア全体の構成として、従来ではSNMPエージェントメインタスクのみによって行なっていた処理を、本実施形態ではSNMPエージェント子タスクにて処理することを特徴としている。また、SNMPエージェント子タスクは、システムで規定する制限値まで、受信するSNMP要求パケットの負荷に応じて生成することが可能である。つまり、SNMPエージェントメインタスクでは、SNMPマネージャ通信装置11からのSET/GET要求パケット受信とパラメタチェック、SNMPエージェント子タスクの生成が主な機能となり、SNMPエージェント子タスクでは実際のSET/GET要求パケット処理が主な機能となる。
FIG. 3 is a software control diagram of the SNMP
First, as a configuration of the entire software, the processing that is conventionally performed only by the SNMP agent main task is processed by the SNMP agent child task in the present embodiment. The SNMP agent child task can be generated according to the load of the received SNMP request packet up to a limit value defined by the system. In other words, in the SNMP agent main task, the main functions are reception of the SET / GET request packet from the SNMP
以下、図3に従って詳細な処理シーケンスを説明する。
SNMPエージェントメインタスクは、SNMPエージェント通信装置13a(〜13n)が起動すると同時に生成/動作し、SNMPマネージャ通信装置11からのSET/GET要求パケット入力待ちの状態となる(ステップB1)。SNMPエージェントメインタスクは、SNMPマネージャ通信装置11からのSET/GET要求パケットを受信すると、SNMPにて規定されているパラメタチェックを行ない(ステップB2)、正常であればSNMPエージェント子タスクを起動させるための前処理として受信したSET/GET要求パケットに対して、SNMPエージェント子タスクにて処理中である旨のフラグを設定する(ステップB3)。その後、SNMPエージェント子タスクを生成し、SNMPエージェントメインタスクは無限ループにて、SNMPマネージャ通信装置11からのSET/GET要求パケットの入力待ちの状態となる。
A detailed processing sequence will be described below with reference to FIG.
The SNMP agent main task is generated / operated at the same time when the SNMP
SNMPエージェント子タスクは、タスク生成後に既に起動している他のSNMPエージェント子タスクの起動総数が、システムにて規定される子タスク生成の制限値を超えていないかをチェックする(ステップC1)。本チェックにて、システムにて規定されている子タスク生成の制限値を超えている場合には、SNMPエージェント通信装置13a(〜13n)の処理性能以上の負荷が発生しているか、あるいはSNMPエージェント通信装置13a(〜13n)に重大な問題が発生し、処理が不可能な状態であるかのどちらかである。しかし、何れの場合でもSNMPマネージャ通信装置11に対して、応答パケットを送信しなければならないため、制御NGにて応答パケットを送信する。なお、SNMPエージェント通信装置13a(〜13n)に重大な欠陥が発生しているか否かについては、SNMPマネージャ通信装置11からのSET/GET要求パケットを一時中断して再開した場合、正常な応答パケットが送信されるかどうかで判定可能である。また、このような重大な問題が発生する可能性を低減させるため、詳細を後述するように上位アプリケーション31側でタイマ監視による制御を導入している。
The SNMP agent child task checks whether the total number of other SNMP agent child tasks already started after task generation exceeds the child task generation limit defined by the system (step C1). In this check, if the child task generation limit value specified by the system is exceeded, a load exceeding the processing performance of the SNMP
一方、SNMPエージェント子タスク起動時に、システムに規定される子タスク生成の制限値を超えていない場合は、子タスク生成数をインクリメントし、SET/GET要求パケット情報テーブルのセマフォ(以下、PKTテーブルセマフォと略称する)を取得する(ステップC2)。上記SET/GET要求パケット情報テーブルは、SNMPエージェント子タスク群にて共有するリソースであるため、あるSNMPエージェント子タスクがPKTテーブルセマフォを取得している間は、他のSNMPエージェント子タスクにてPKTテーブルセマフォを取得しようとした場合でも待ち行列につながれ、タスク状態としてはセマフォ待ちの状態となる。 On the other hand, when the child task creation limit value specified in the system is not exceeded when the SNMP agent child task is activated, the child task creation number is incremented and the semaphore in the SET / GET request packet information table (hereinafter referred to as the PKT table semaphore). Is abbreviated as (step C2). The SET / GET request packet information table is a resource shared by the SNMP agent child task group. Therefore, while a certain SNMP agent child task acquires the PKT table semaphore, the other SNMP agent child tasks use the PKT. Even if a table semaphore is to be acquired, it is queued and the task state is a semaphore waiting state.
従って、本実施形態では、一つのSNMPエージェント子タスクがPKTテーブルセマフォを取得している場合の新規SNMPエージェント子タスクの生成は制限値まで可能であるが、生成されたSNMPエージェント子タスクが動作できるのは、1タスクのみとなる。PKTテーブルセマフォを取得したSNMPエージェント子タスクは、SNMPマネージャ通信装置11から発生したSET/GET要求パケットに含まれる制御対象のオブジェクトIDが複数含まれていた場合でも、上位アプリケーション31とI/F(インターフェイス)との要求/応答回数を最低限に抑えるため1メッセージで上位アプリケーション31にSET/GET要求メッセージを送信するための処理、すなわちIPDU化処理を行なう(ステップC3)。その後、上位アプリケーション31へ要求メッセージを送信し、応答メッセージ待ちの状態となる(ステップC4)。
Therefore, in this embodiment, when a single SNMP agent child task acquires a PKT table semaphore, a new SNMP agent child task can be generated up to a limit value, but the generated SNMP agent child task can operate. Is only one task. The SNMP agent child task that has acquired the PKT table semaphore is connected to the
上位アプリケーション31は、SET/GET要求メッセージに従ってMIB225、226に対する処理を行ない、応答メッセージを出力する。
The
上記ステップC4の応答メッセージ待ちの状態において、上位アプリケーション31からの応答メッセージを受信すると、受信メッセージの整合性をチェックし、上位アプリケーション31から通知された制御内容を応答パケットに反映させる処理、すなわちオブジェクトID毎の処理関数CALLを行なう(ステップC5)。全てのオブジェクトIDに関して、反映する処理が終了した場合、SNMPマネージャ通信装置11に対する応答パケットを送信する(ステップC6)。
When a response message from the
その後、動作中取得していたPKTテーブルセマフォを解放し(ステップC7)、タスク処理を終了する(ステップC8)。このタスク処理の終了と同時に子タスク生成数をデクリメントする。そして、PKTテーブルセマフォ待ち状態となっているSNMPエージェント子タスクは、待ち行列状態となっている最古のSNMPエージェント子タスクの待ち状態が解除され、以上で示した同様の手順にて処理が行なわれる。 Thereafter, the PKT table semaphore acquired during operation is released (step C7), and the task processing is ended (step C8). The number of child task generations is decremented simultaneously with the end of this task processing. Then, the SNMP agent child task in the PKT table semaphore waiting state is released from the waiting state of the oldest SNMP agent child task in the queuing state, and is processed in the same procedure as described above. It is.
上記のようにSNMPエージェント通信装置13a(〜13n)に入力される要求パケットに対し、要求パケットを処理するタスクを処理パケット毎に分散させ、一時的に処理できない状態が発生する場合にはキューイングすることにより、SNMPマネージャ通信装置11からバースト的な要求パケットが入力された場合でも、過負荷に対する処理正常性の向上を図ることができる。
As described above, in response to a request packet input to the SNMP
次に、上述したソフトウェア制御方法により発生する懸念のある重大な問題に対しての改善方法を説明する。
上記図3で説明したように、本実施形態におけるソフトウェア制御方法では、PKTテーブル情報のセマフォ解放のトリガを上位アプリケーション31からの応答メッセージとしている。このため上位アプリケーション31からの応答メッセージがSNMPエージェント子タスクにて受信されない限り、その他全ての待ち状態となっているSET/GET要求パケットが解消されない。このため一旦本状態に陥った場合には、SNMPエージェント通信装置13a(〜13n)全体のリセットを行なわなければ復旧不可能な状態となる。
Next, an improvement method for a serious problem that may be caused by the above-described software control method will be described.
As described with reference to FIG. 3, in the software control method according to the present embodiment, the trigger for releasing the semaphore in the PKT table information is a response message from the
上記のような状態に陥るのを可能な限り避けるため、上位アプリケーション31に対して応答メッセージに対するタイマによる監視制御を行ない、規定時間以上、上位アプリケーション31からの応答メッセージが到着しない場合には、タイムアウト処理の中で、SNMPマネージャ通信装置11に対する応答パケットを送信し、待ち状態となっている新規のSET/GET要求パケットを動作させる異常処理を行なう。
In order to avoid falling into the state as described above as much as possible, the
すなわち、図4のソフトウェア制御図に示すように、上記図3で説明したSNMPエージェント子タスク処理において、ステップC3でIPDU化処理を行なった際、上位アプリケーション(上位AP)31へ要求メッセージを送出する(ステップD1)。このとき監視タイマをセットし(ステップD2)、応答メッセージ待ちの状態となる(ステップC4)。この応答メッセージ待ちの状態では、上位アプリケーション31からの応答メッセージの有無を判定し(ステップD3)、応答メッセージがなければ上記監視タイマによる計測時間が予め設定した規定時間を経過したかどうかを判定する(ステップD4)。上記監視タイマによる計測時間が規定時間を経過していなければステップC4へ戻り、応答メッセージ待ちの状態となる。 That is, as shown in the software control diagram of FIG. 4, in the SNMP agent child task process described with reference to FIG. 3, a request message is sent to the upper application (upper AP) 31 when the IPDU process is performed in step C3. (Step D1). At this time, a monitoring timer is set (step D2), and a response message is waited (step C4). In this response message waiting state, it is determined whether or not there is a response message from the upper application 31 (step D3), and if there is no response message, it is determined whether or not a predetermined time set in advance by the monitoring timer has elapsed. (Step D4). If the time measured by the monitoring timer has not passed the specified time, the process returns to step C4 and waits for a response message.
そして、上記規定時間を経過する前に上位アプリケーション31から応答メッセージが送られてきた場合は、上記監視タイマをリセットし(ステップD5)、上記図3に示したステップC5の処理(オブジェクトID毎の処理関数CALL)に進む。
If a response message is sent from the
また、上記ステップD4で監視タイマによる計測時間が規定時間を経過したと判定された場合には、当該SET/GET要求パケットをエラー処理し(ステップD6)、待ち状態となっている新規のSET/GET要求パケットを動作させる(ステップD7)。 When it is determined in step D4 that the time measured by the monitoring timer has passed the specified time, the SET / GET request packet is error-processed (step D6), and a new SET / The GET request packet is operated (step D7).
上記の異常処理により、上位アプリケーション31からの応答メッセージが送信されない場合でも、SNMPエージェント通信装置13a(〜13n)全体を異常状態とさせずに、当該SET/GET要求パケットのみをエラーとすることで、システム全体の安定性を向上させることが可能となる。
Even if a response message from the
次に、上述したソフトウェア制御方法により発生する懸念のある重大な問題に対しての他の改善方法について説明する。
この改善方法は、ソフトウェア制御アルゴリズムの一つとして受信したSET/GET要求パケットに処理優先度を設け、軽負荷のSET/GET要求パケット処理を優先させることで、待ち行列につながれるSNMPエージェント子タスク数を低減し、処理優先度を設けない場合よりも応答パケットがエラーとなる可能性を低減したものである。
Next, another improvement method for a serious problem that may be caused by the above-described software control method will be described.
This improvement method provides an SNMP agent child task that is queued by giving processing priority to a SET / GET request packet received as one of software control algorithms and giving priority to light load SET / GET request packet processing. The number of response packets is reduced, and the possibility that the response packet becomes an error is reduced as compared with the case where the processing priority is not provided.
本発明におけるソフトウェア制御方法のクリティカルセクション(上位アプリケーション31へ要求メッセージを送出してから応答メッセージを受信するまで)を如何に短縮できるかが、本ソフトウェア制御方法を導入したSNMPエージェント通信装置13a(〜13n)の性能を大きく左右する要素となっている。SNMPエージェント通信装置13a(〜13n)は、その性質上、SET/GET要求パケットに対して処理負荷に差が生じる。例えばSET/GET要求パケットについてあるGET要求パケットは、MIB325、326で管理している一つの情報を取得するだけの場合もあり、装置状態や条件によって、その都度計算や上位アプリケーション31間で問い合わせが必要な場合もある。これらSET/GET要求パケットの種類と組み合わせについては、SNMPマネージャ通信装置11間で既に規定されているので、SET/GET要求パケットの内容を解析することによって、処理負荷の大きさを判定することが可能である。
How to shorten the critical section (from sending a request message to the
図5は、上記のように処理優先度を考慮したSNMPエージェント通信装置13a(〜13n)のソフトウェア制御図(SNMPエージェント子タスク)の一例を示したものである。
FIG. 5 shows an example of a software control diagram (SNMP agent child task) of the SNMP
SNMPエージェント子タスクは、図3で説明したようにタスク生成後に既に起動している他のSNMPエージェント子タスクの起動総数が、システムにて規定される子タスク生成の制限値を超えていないかをチェックする(ステップC1)。 As described with reference to FIG. 3, the SNMP agent child task determines whether the total number of other SNMP agent child tasks already started after task generation exceeds the child task generation limit defined by the system. Check (step C1).
次いで、受信した要求パケットを解析し、処理負荷が高い要求パケットは、別領域にキューイングする(ステップE1)。その後は、上記図3で説明したように、子タスク生成数のインクリメント及びPKTテーブルセマフォの取得処理(ステップC2)、IPDU化処理(ステップC3)、上位アプリケーション31への要求メッセージ送信、上位アプリケーション31からの応答メッセージ待ち(ステップC4)、オブジェクトID毎の処理関数CALL(ステップC5)、SNMPマネージャ通信装置11に対する応答パケットの送信(ステップC6)、PKTテーブルセマフォ解除(ステップC7)、等の処理を行なう。
Next, the received request packet is analyzed, and the request packet with a high processing load is queued in another area (step E1). After that, as described with reference to FIG. 3 above, the increment of the number of child tasks generated and the PKT table semaphore acquisition process (step C2), the IPDU process (step C3), the request message transmission to the
以上の処理を行ない、子タスク生成数が「0」であれば、上記ステップE1で別領域にキューイングしていた要求パケットを解放する(ステップE2)。以上でタスク処理を終了し(ステップC8)、タスク終了と同時に子タスク生成数をデクリメントする。 The above processing is performed, and if the number of child tasks generated is “0”, the request packet queued in another area in step E1 is released (step E2). The task processing is thus completed (step C8), and the number of child task generations is decremented simultaneously with the task termination.
上記したようにSNMPマネージャ通信装置11から送られてきたSET/GET要求パケットに処理優先度を設け、軽負荷のSET/GET要求パケット処理を優先させることで、待ち行列につながれるSNMPエージェント子タスク数を低減し、処理優先度を設けない場合よりも応答パケットがエラーとなる可能性を低減することができる。
As described above, a processing priority is provided to the SET / GET request packet sent from the SNMP
なお、上述したシステムにて規定される子タスク生成の制限値、上位アプリケーション31における応答メッセージの応答時間を監視するタイマの値、更には要求パケットの処理優先度を考慮する際の判定条件については、SNMPエージェント通信装置13a(〜13n)の性能に大きな影響があるため、個々の通信装置において性能に合わせて設定する。
Regarding the child task generation limit value defined in the above-described system, the value of the timer for monitoring the response time of the response message in the higher-
11…SNMPマネージャ通信装置、12…ネットワーク、13a〜13n…SNMPエージェント通信装置、21…上位アプリケーション(上位AP)、22…プロトコルスタック部、221…SNMP、222…UDP、223…TCP、224…IP、225、226…MIB、23…ドライバ/OS部、231…ドライバ、232…OS、25…通信回線、31…上位アプリケーション(上位AP)、32…プロトコルスタック部、321、322…SNMP、323…TCP、324…IP、325、326…MIB、33…ドライバ/OS部、331…ドライバ、332…OS。
DESCRIPTION OF
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005243043A JP2007060282A (en) | 2005-08-24 | 2005-08-24 | Snmp agent communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005243043A JP2007060282A (en) | 2005-08-24 | 2005-08-24 | Snmp agent communication device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007060282A true JP2007060282A (en) | 2007-03-08 |
Family
ID=37923366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005243043A Pending JP2007060282A (en) | 2005-08-24 | 2005-08-24 | Snmp agent communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007060282A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010045702A (en) * | 2008-08-18 | 2010-02-25 | Hitachi Kokusai Electric Inc | Software radio machine system |
CN111865639A (en) * | 2019-04-30 | 2020-10-30 | 深信服科技股份有限公司 | Method and device for collecting information of snmp service equipment and electronic equipment |
-
2005
- 2005-08-24 JP JP2005243043A patent/JP2007060282A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010045702A (en) * | 2008-08-18 | 2010-02-25 | Hitachi Kokusai Electric Inc | Software radio machine system |
CN111865639A (en) * | 2019-04-30 | 2020-10-30 | 深信服科技股份有限公司 | Method and device for collecting information of snmp service equipment and electronic equipment |
CN111865639B (en) * | 2019-04-30 | 2023-07-14 | 深信服科技股份有限公司 | Method and device for collecting information of snmp service equipment and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7840682B2 (en) | Distributed kernel operating system | |
JP5519859B2 (en) | Improved management communication | |
US8185651B2 (en) | Multi-segment network application monitoring and correlation architecture | |
US7421695B2 (en) | System and methodology for adaptive load balancing with behavior modification hints | |
KR100442610B1 (en) | Flow control method of radius protocol | |
US7768939B1 (en) | Network proxy with asymmetric connection connectivity | |
US8667184B2 (en) | Distributed kernel operating system | |
KR100812374B1 (en) | System and method for managing protocol network failures in a cluster system | |
US20050228885A1 (en) | Method and apparatus for efficient data collection | |
US7362701B2 (en) | Customer-based service system including a cascaded pipeline with self-monitoring relays | |
KR100470915B1 (en) | Method for controlling internet information security system in ip packet level | |
JPH09186688A (en) | Improved node discovery and network control system with monitoring | |
JP2011526126A (en) | Message management and suppression in surveillance systems | |
WO2021032175A1 (en) | Fault injection method and device, and service system | |
JP2010501912A (en) | System and method for managing a network | |
EP2614614B1 (en) | Dynamic configuration of interconnected devices for measuring performance characteristics in a network | |
US9043472B1 (en) | Method and system for providing transmission control protocol dead connection detection | |
US10122573B1 (en) | Managing a network element operating on a network | |
JP5229007B2 (en) | Monitoring system, network device, monitoring information providing method and program | |
JP2007060282A (en) | Snmp agent communication device | |
JP4415391B2 (en) | Method and apparatus for transmitting data to a network and method and apparatus for receiving data from a network | |
US6938086B1 (en) | Auto-detection of duplex mismatch on an ethernet | |
JPH09282252A (en) | Network managing system | |
JP3080936B2 (en) | Network management system | |
US20240187322A1 (en) | Strategy to ensure continual user experience and system performance if an uplink is stuck |