2.25. Exchange Collisions (Collisioni di scambio)
2.25. Exchange Collisions (Collisioni di scambio)
Poiché gli scambi IKEv2 possono essere avviati da entrambi i peer, due scambi che riguardano la stessa SA possono sovrapporsi parzialmente. Lo stato SA può essere temporaneamente non sincronizzato; un peer può ricevere una richiesta che non può elaborare normalmente.
Una finestra maggiore di 1 complica la situazione, soprattutto con elaborazione fuori ordine. Questa sezione si concentra sui problemi possibili anche con finestra 1.
Si DOVREBBE inviare TEMPORARY_FAILURE quando una richiesta non può essere completata per una condizione temporanea (es. rekey). Il peer che la riceve NON DEVE ritentare subito; DEVE attendere. PUÒ ritentare una o più volte in alcuni minuti. Se TEMPORARY_FAILURE persiste sulla stessa IKE SA dopo diversi minuti, DOVREBBE concludere per stato fuori sincrono e chiudere l'IKE SA.
Si DOVREBBE inviare CHILD_SA_NOT_FOUND per richiesta di rekey di una Child SA inesistente. Lo SPI nel Notify è copiato da REKEY_SA. Il peer che riceve CHILD_SA_NOT_FOUND DOVREBBE eliminare silenziosamente la Child SA (se esiste ancora) e inviare richiesta di creazione nuova Child SA (se non esiste ancora).
2.25.1. Collisions while Rekeying or Closing Child SAs
Rekey mentre si chiude la stessa Child SA: TEMPORARY_FAILURE. Rekey durante rekey: rispondere normalmente, preparare chiusura SA ridondanti in base ai nonce (2.8.1). Rekey di Child SA inesistente: CHILD_SA_NOT_FOUND.
Chiusura durante chiusura: rispondere senza Delete (1.4.1). Chiusura durante rekey: con Delete. Chiusura di Child SA inesistente: senza Delete.
Rekey IKE SA durante creazione, rekey o chiusura di Child SA di quell'IKE SA: TEMPORARY_FAILURE.
2.25.2. Collisions while Rekeying or Closing IKE SAs
Rekey IKE SA durante rekey IKE SA: rispondere normalmente, preparare chiusura e migrazione Child SA in base ai nonce (2.8.2). Rekey durante tentativo di chiusura IKE SA: TEMPORARY_FAILURE.
Chiusura IKE SA durante rekey IKE SA: rispondere normalmente, dimenticare la propria richiesta di rekey. Chiusura durante chiusura: rispondere normalmente, dimenticare la propria chiusura.
Creazione o rekey Child SA durante rekey IKE SA: TEMPORARY_FAILURE. Eliminazione Child SA durante rekey IKE SA: normalmente con Delete.