Windows SNMPサービスからのTrap受信の順番が逆転してしまう・・ [パソコン]
Windows SNMPサービスからのTrap受信の順番が逆転してしまう事象にはまっています。
事象の発生個所を切り分けるために、Trapを受信するPCにWiresharkを仕掛けて、LAN上のパケットが逆転していないか確認しましたが、順番通りにパケットが並んでいます。
受信したTrapをアプリのログするのですが、このログではパケットの順番がおかしいときがあります。
アプリはSNMP APIを使ってTrapを受信、API呼び出し直後にログをしているので、アプリ処理の問題ではなさそうです。
ネットで同様の事象がないか検索してみたところ、以下を発見。私が遭遇している事象によく似ています。
SNMPサービスからアプリに通知されるTrapが逆転する現象について
これによると、原因らしきはCPUのマルチコアによるもので、シングルコアにしてみると解消が期待できそうです。
マルチコアに対応しないプログラムの場合、同期や排他がかからないままに並列処理が行われて不正動作につながります。
SNMPサービスやAPIがCPUマルチコアに対応しているかはマイクロソフトに問い合わせたいところですが、上記のマイクロソフトコミュニティでもわからないくらいなので、教えてくれないでしょう。
とりあえず、実際の検証で、事実を積み上げていくしかありません。
事象の発生個所を切り分けるために、Trapを受信するPCにWiresharkを仕掛けて、LAN上のパケットが逆転していないか確認しましたが、順番通りにパケットが並んでいます。
受信したTrapをアプリのログするのですが、このログではパケットの順番がおかしいときがあります。
アプリはSNMP APIを使ってTrapを受信、API呼び出し直後にログをしているので、アプリ処理の問題ではなさそうです。
ネットで同様の事象がないか検索してみたところ、以下を発見。私が遭遇している事象によく似ています。
SNMPサービスからアプリに通知されるTrapが逆転する現象について
これによると、原因らしきはCPUのマルチコアによるもので、シングルコアにしてみると解消が期待できそうです。
マルチコアに対応しないプログラムの場合、同期や排他がかからないままに並列処理が行われて不正動作につながります。
SNMPサービスやAPIがCPUマルチコアに対応しているかはマイクロソフトに問い合わせたいところですが、上記のマイクロソフトコミュニティでもわからないくらいなので、教えてくれないでしょう。
とりあえず、実際の検証で、事実を積み上げていくしかありません。
2017-11-20 22:39
nice!(0)
コメント(0)
コメント 0