5.1.3. NEXT_HOP
5.1.3. NEXT_HOP
NEXT_HOP è un attributo obbligatorio ben noto che definisce l'indirizzo IP del router che DOVREBBE essere utilizzato come next hop verso le destinazioni elencate nel messaggio UPDATE. L'attributo NEXT_HOP è calcolato come segue:
-
Quando si invia un messaggio a un peer interno, se la route non è originata localmente, lo speaker BGP NON DOVREBBE modificare l'attributo NEXT_HOP a meno che non sia stato esplicitamente configurato per annunciare il proprio indirizzo IP come NEXT_HOP. Quando si annuncia una route originata localmente a un peer interno, lo speaker BGP DOVREBBE utilizzare l'indirizzo dell'interfaccia del router attraverso il quale la rete annunciata è raggiungibile per lo speaker come NEXT_HOP. Se la route è direttamente connessa allo speaker, o se l'indirizzo dell'interfaccia del router attraverso il quale la rete annunciata è raggiungibile per lo speaker è l'indirizzo del peer interno, allora lo speaker BGP DOVREBBE utilizzare il proprio indirizzo IP per l'attributo NEXT_HOP (l'indirizzo dell'interfaccia utilizzata per raggiungere il peer).
-
Quando si invia un messaggio a un peer esterno, X, e il peer è a un hop IP di distanza dallo speaker:
-
Se la route annunciata è stata appresa da un peer interno o è originata localmente, lo speaker BGP può utilizzare un indirizzo di interfaccia del router peer interno (o del router interno) attraverso il quale la rete annunciata è raggiungibile per lo speaker per l'attributo NEXT_HOP, a condizione che il peer X condivida una sottorete comune con questo indirizzo. Questa è una forma di attributo NEXT_HOP "di terze parti".
-
Altrimenti, se la route annunciata è stata appresa da un peer esterno, lo speaker può utilizzare un indirizzo IP di qualsiasi router adiacente (noto dall'attributo NEXT_HOP ricevuto) che lo speaker stesso utilizza per il calcolo della route locale nell'attributo NEXT_HOP, a condizione che il peer X condivida una sottorete comune con questo indirizzo. Questa è una seconda forma di attributo NEXT_HOP "di terze parti".
-
Altrimenti, se il peer esterno a cui viene annunciata la route condivide una sottorete comune con una delle interfacce dello speaker BGP che annuncia, lo speaker PUÒ utilizzare l'indirizzo IP associato a tale interfaccia nell'attributo NEXT_HOP. Questo è noto come un attributo NEXT_HOP "di prima parte".
-
Per impostazione predefinita (se nessuna delle condizioni precedenti si applica), lo speaker BGP DOVREBBE utilizzare l'indirizzo IP dell'interfaccia che lo speaker utilizza per stabilire la connessione BGP con il peer X nell'attributo NEXT_HOP.
-
-
Quando si invia un messaggio a un peer esterno X, e il peer è a più hop IP di distanza dallo speaker (alias "multihop EBGP"):
-
Lo speaker PUÒ essere configurato per propagare l'attributo NEXT_HOP. In questo caso, quando si annuncia una route che lo speaker ha appreso da uno dei suoi peer, l'attributo NEXT_HOP della route annunciata è esattamente lo stesso dell'attributo NEXT_HOP della route appresa (lo speaker non modifica l'attributo NEXT_HOP).
-
Per impostazione predefinita, lo speaker BGP DOVREBBE utilizzare l'indirizzo IP dell'interfaccia che lo speaker utilizza nell'attributo NEXT_HOP per stabilire la connessione BGP con il peer X.
-
Normalmente, l'attributo NEXT_HOP viene scelto in modo tale da prendere il percorso più breve disponibile. Uno speaker BGP DEVE essere in grado di supportare la disabilitazione dell'annuncio degli attributi NEXT_HOP di terze parti per gestire supporti collegati in modo imperfetto.
Una route originata da uno speaker BGP NON DEVE essere annunciata a un peer utilizzando un indirizzo di quel peer come NEXT_HOP (SHALL NOT). Uno speaker BGP NON DEVE installare una route con se stesso come next hop (SHALL NOT).
L'attributo NEXT_HOP viene utilizzato dallo speaker BGP per determinare l'interfaccia in uscita effettiva e l'indirizzo next-hop immediato che DOVREBBE essere utilizzato per inoltrare i pacchetti di transito verso le destinazioni associate.
L'indirizzo next-hop immediato viene determinato eseguendo un'operazione di ricerca ricorsiva della route per l'indirizzo IP nell'attributo NEXT_HOP, utilizzando il contenuto della Tabella di Routing, selezionando una voce se esistono più voci di uguale costo. La voce della Tabella di Routing che risolve l'indirizzo IP nell'attributo NEXT_HOP specificherà sempre l'interfaccia in uscita. Se la voce specifica una sottorete collegata, ma non specifica un indirizzo next-hop, allora l'indirizzo nell'attributo NEXT_HOP DOVREBBE essere utilizzato come indirizzo next-hop immediato. Se la voce specifica anche l'indirizzo next-hop, questo indirizzo DOVREBBE essere utilizzato come indirizzo next-hop immediato per l'inoltro dei pacchetti.