4. Requirements (Requisiti)
Tutti i collegamenti DEVONO (MUST) far rispettare il loro MTU: i collegamenti che potrebbero consegnare in modo non deterministico pacchetti più grandi del loro MTU nominale DEVONO (MUST) scartare costantemente tali pacchetti.
Tutti gli host DOVREBBERO (SHOULD) usare la frammentazione IPv4 in una modalità che imita la funzionalità IPv6. Tutta la frammentazione DOVREBBE (SHOULD) essere fatta sull'host, e tutti i pacchetti IPv4, inclusi i frammenti, DOVREBBERO (SHOULD) avere il bit DF impostato in modo che non vengano frammentati (di nuovo) nella rete.
I requisiti seguenti si applicano solo a quelle implementazioni che includono PLPMTUD.
Per usare PLPMTUD, un livello di pacchettizzazione DEVE (MUST) avere un meccanismo di segnalazione delle perdite che fornisce al mittente indicazioni tempestive e accurate su quali pacchetti sono stati persi nella rete.
Gli algoritmi normali di controllo della congestione DEVONO (MUST) rimanere in vigore in tutte le condizioni tranne quando solo un pacchetto di sondaggio isolato viene rilevato come perso. Solo in questo caso, la riduzione normale della congestione (finestra o velocità dei dati) DOVREBBE (SHOULD) essere soppressa. Se viene rilevata qualsiasi altra perdita di dati, il controllo della congestione standard DEVE (MUST) avere luogo.
Il controllo della congestione soppresso DEVE (MUST) essere limitato in velocità in modo che si verifichi meno frequentemente del tasso di perdita nel caso peggiore per il controllo della congestione TCP a una velocità di dati comparabile sullo stesso percorso.
Ogni volta che il MTU viene aumentato, le variabili di stato della congestione DEVONO (MUST) essere ridimensionate in modo da non aumentare la dimensione della finestra in byte (o la velocità dei dati in byte al secondo).
Ogni volta che il MTU viene ridotto (ad esempio, quando si elaborano messaggi ICMP PTB), la variabile di stato della congestione DOVREBBE (SHOULD) essere ridimensionata in modo da non aumentare la dimensione della finestra in pacchetti.
Se PLPMTUD aggiorna il MTU per un particolare percorso, tutte le sessioni del livello di pacchettizzazione che condividono la rappresentazione del percorso DOVREBBERO (SHOULD) essere notificate per utilizzare il nuovo MTU e fare gli aggiustamenti di controllo della congestione richiesti.
Tutte le implementazioni DEVONO (MUST) includere meccanismi per le applicazioni per trasmettere selettivamente pacchetti più grandi del Path MTU effettivo corrente, ma più piccoli del link MTU del primo hop.
Le implementazioni POSSONO (MAY) usare diverse euristiche per selezionare il Path MTU effettivo iniziale per ogni protocollo.