SNMPエージェントを作成していますが、MIB定義にUnsigned32タイプのOIDが含まれています。
エージェントのUnix実装は、Net-SNMPを使用し、ASN_UNSIGNED32がないため、OIDをタイプASN_UNSIGNEDとして設定します。WiresharkでGET応答を見ると、「Gauge32」値としてデコードされます。RFC 1902によると、Unsigned32とGauge32は同じであるため、これは一見して理にかなっています。
Windowsの実装はWindowsのSnmpAPI.libに基づいており、OIDをASN_UNSIGNED32として設定し、WiresharkでGET応答を見ると、「Unsigned32」としてデコードされます。それは私にはさらに良く見えます。
どうして2つの実装がネットワーク上で異なる結果を生み出すのですか?
どちらが正しいバージョンであり、両方の実装から同じものを取得するにはどうすればよいですか?