2016-12-01 73 views
2

背景是什麼SNMP GETBULK之間的區別和GET操作

我想創建一個SNMP網站的一個項目,以獲取有關網絡設備的信息。我已經使用由LeXtudio創建的SNMP庫 - sharpsnmp。

我創建使用GETBULK和一個與得到兩個方法中的一個問題。兩者都包含OID列表。兩者都是在出現問題時工作的。我遇到的唯一問題是在網絡設備上非常遙遠。每個人需要完全相同的時間。 2分鐘。我覺得這是一個很長的等待時間。儘管在接近的設備上速度非常快,但在5秒以內。

問題

我想知道它的GETBULK沒有要求的所有信息一次,然後回來的所有信息。或者它一次要求列表中的每個OID。和Get一樣嗎?

有沒有辦法讓一個電話獲得所有我需要的信息,只需要對設備進行一次調用,或者只是我可以對設備進行重複呼叫?

我還有其他選擇嗎?

+0

請了解什麼是SNMP,https://en.m.wikipedia.org/wiki/Simple_Network_Management_Protocol該協議定義了什麼是GET和GET BULK。 –

回答

1

通常,如果處理標量OID或精確表對象實例,應該使用GET請求。

否則,如果代理程序支持SNMPv2C,則應該使用GETNEXT或甚至GETBULK。

通常,您應該使用GETNEXT來獲取表或整個表的選定列。在這種情況下,您需要遞歸執行GET-NEXT請求,直到結果超出樹分支範圍。

如果代理程序啓用了SNMPv2C,則應使用GETBULK。這是GETNEXT請求的優化。所以基本上你不需要執行幾個GET-NEXT請求來獲得一些實例。相反,您可以發送單個GETBULK請求並將參數Max-Repetitions設置爲10,然後您將從請求中指定的OID開始,獲得接下來的10個後續變量。

相關問題