Passa al contenuto principale

Appendice A. Chiarimento di snmpTargetAddrTimeout e snmpTargetAddrRetryCount

La semantica degli oggetti snmpTargetAddrTimeout e snmpTargetAddrRetryCount deve essere chiaramente compresa per evitare confusione.

Quando utilizzati per generare una richiesta di comando o una richiesta di notifica:

  • snmpTargetAddrTimeout specifica il tempo massimo (in centesimi di secondo) di attesa per una risposta prima di considerare la richiesta scaduta.

  • snmpTargetAddrRetryCount specifica il numero di volte in cui riprovare una richiesta prima di rinunciare.

Ad esempio, supponiamo che un'applicazione invii una richiesta inform a un target con snmpTargetAddrTimeout = 1500 (15 secondi) e snmpTargetAddrRetryCount = 3. Se non viene ricevuta alcuna risposta entro 15 secondi, la richiesta viene ritentata. Questo processo continua finché non viene ricevuta una risposta o la richiesta è stata tentata un totale di 4 volte (il tentativo iniziale più 3 ritentativi). Pertanto, il tempo massimo di attesa per una risposta sarebbe di 60 secondi (4 × 15 secondi), supponendo che non ci siano ritardi di rete.

Quando utilizzati per generare una notifica (un trap o un inform non confermato):

  • snmpTargetAddrTimeout non viene utilizzato, poiché non è prevista alcuna risposta.

  • snmpTargetAddrRetryCount non viene utilizzato neanche, poiché le notifiche vengono inviate una volta e non vengono ritentate.

È importante notare che questi parametri si applicano solo all'invio di messaggi che attendono risposte (richieste di comando e richieste inform). Non si applicano alle notifiche trap, che non sono confermate.

Inoltre, le implementazioni dovrebbero essere consapevoli che questi valori di timeout e ritentativo interagiscono con le caratteristiche di affidabilità del protocollo di trasporto sottostante. Per trasporti inaffidabili (come UDP), questi parametri forniscono il meccanismo di ritentativo. Per trasporti affidabili (come TCP), il protocollo di trasporto stesso può gestire i ritentativi, e questi parametri possono avere applicabilità diversa o limitata.

I punti chiave da ricordare sono:

  1. Valore di timeout: Il tempo di attesa per un singolo tentativo di risposta.
  2. Conteggio ritentativi: Il numero di tentativi aggiuntivi dopo il fallimento del tentativo iniziale.
  3. Tentativi totali: Sempre uno in più del conteggio ritentativi (tentativo iniziale + ritentativi).
  4. Ambito: Si applica solo alle operazioni che attendono risposte (richieste di comando, richieste inform).
  5. Non applicabile: Non si applica alle notifiche trap o alle operazioni su trasporti affidabili dove il trasporto gestisce i ritentativi.

Comprendendo questa semantica, le applicazioni possono configurare correttamente i parametri di destinazione per operazioni SNMP affidabili ed efficienti.