Passa al contenuto principale

4. Operazioni

4.1. Interazione tra NUOVI speaker BGP

Uno speaker BGP che supporta i numeri AS a quattro ottetti DEVE (SHALL) annunciarlo ai suoi peer utilizzando gli Advertisement di Capacità BGP. Il numero AS dello speaker BGP DEVE (MUST) essere trasportato nel campo Capability Value del "supporto per la capacità di numeri AS a quattro ottetti".

Quando un NUOVO speaker BGP elabora un messaggio OPEN da un altro NUOVO speaker BGP, DEVE (MUST) utilizzare il numero AS codificato nel campo Capability Value del "supporto per la capacità di numeri AS a quattro ottetti" al posto del campo "My Autonomous System" del messaggio OPEN.

Uno speaker BGP che annuncia tale capacità a un particolare peer, e riceve da quel peer l'annuncio di tale capacità, DEVE (MUST) codificare i numeri AS come entità di quattro ottetti sia nell'attributo AS_PATH che nell'attributo AGGREGATOR negli aggiornamenti che invia al peer e DEVE (MUST) presumere che questi attributi negli aggiornamenti ricevuti dal peer codifichino i numeri AS come entità di quattro ottetti.

I nuovi attributi, AS4_PATH e AS4_AGGREGATOR, NON DEVONO (MUST NOT) essere trasportati in un messaggio UPDATE tra NUOVI speaker BGP. Un NUOVO speaker BGP che riceve l'attributo AS4_PATH o l'attributo AS4_AGGREGATOR in un messaggio UPDATE da un altro NUOVO speaker BGP DEVE (MUST) scartare l'attributo di percorso e continuare l'elaborazione del messaggio UPDATE.

4.2. Interazione tra NUOVI e VECCHI speaker BGP

4.2.1. Peering BGP

Si noti che il peering tra un NUOVO speaker BGP e un VECCHIO speaker BGP è possibile solo se il NUOVO speaker BGP ha un numero AS a due ottetti. Tuttavia, questo documento non presume che un sistema autonomo con NUOVI speaker BGP debba avere un numero AS a due ottetti globalmente unico -- AS_TRANS DEVE (MUST) essere utilizzato quando il NUOVO speaker BGP non ha un numero AS a due ottetti (anche se più sistemi autonomi lo userebbero).

4.2.2. Generazione degli aggiornamenti

Quando comunica con un VECCHIO speaker BGP, un NUOVO speaker BGP DEVE (MUST) inviare le informazioni di percorso AS nell'attributo AS_PATH codificato con numeri AS a due ottetti. Il NUOVO speaker BGP DEVE (MUST) anche inviare le informazioni di percorso AS nell'attributo AS4_PATH (codificato con numeri AS a quattro ottetti), eccetto nel caso in cui tutte le informazioni di percorso AS sono composte solo da numeri AS a quattro ottetti mappabili. In questo caso, il NUOVO speaker BGP NON DEVE (MUST NOT) inviare l'attributo AS4_PATH.

Nell'attributo AS_PATH codificato con numeri AS a due ottetti, i numeri AS a quattro ottetti non mappabili sono rappresentati dal noto numero AS a due ottetti, AS_TRANS. Questo preserverà la proprietà di lunghezza del percorso delle informazioni di percorso AS e aiuterà anche ad aggiornare le informazioni di percorso AS ricevute su un NUOVO speaker BGP da un VECCHIO speaker BGP, come spiegato nella sezione successiva.

Il NUOVO speaker BGP costruisce l'attributo AS4_PATH dalle informazioni di percorso AS. Ogni volta che le informazioni di percorso AS contengono il segmento di percorso AS_CONFED_SEQUENCE o AS_CONFED_SET, il NUOVO speaker BGP DEVE (MUST) escludere tali segmenti di percorso dall'attributo AS4_PATH in costruzione.

L'attributo AS4_PATH, essendo opzionale transitivo, sarà trasportato attraverso una serie di VECCHI speaker BGP senza modifiche e aiuterà a preservare i numeri AS a quattro ottetti non mappabili nelle informazioni di percorso AS.

Similmente, se il NUOVO speaker BGP deve inviare l'attributo AGGREGATOR, e se il numero AS del sistema autonomo aggregatore è un numero AS a quattro ottetti non mappabile, allora lo speaker DEVE (MUST) utilizzare l'attributo AS4_AGGREGATOR e impostare il campo del numero AS nell'attributo AGGREGATOR esistente al numero AS riservato, AS_TRANS. Si noti che se il numero AS è mappabile, allora l'attributo AS4_AGGREGATOR NON DEVE (MUST NOT) essere inviato.

4.2.3. Elaborazione degli aggiornamenti ricevuti

Quando un NUOVO speaker BGP riceve un aggiornamento da un VECCHIO speaker BGP, DEVE (MUST) essere preparato a ricevere l'attributo AS4_PATH insieme all'attributo AS_PATH esistente. Se viene ricevuto anche l'attributo AS4_PATH, entrambi gli attributi saranno utilizzati per costruire le informazioni di percorso AS esatte, e quindi le informazioni trasportate da entrambi gli attributi saranno considerate per il rilevamento dei loop di percorso AS.

Si noti che una route potrebbe aver attraversato una serie di sistemi autonomi con numeri AS a due ottetti e solo VECCHI speaker BGP. In tal caso, se la route trasporta l'attributo AS4_PATH, questo attributo sarebbe rimasto non modificato da quando la route ha lasciato l'ultimo NUOVO speaker BGP. Le informazioni di percorso AS finali (che rappresentano sistemi autonomi con numeri AS a due ottetti e solo VECCHI speaker BGP) sono contenute solo nell'attributo AS_PATH corrente (codificato nella parte iniziale dell'attributo AS_PATH).

In determinate condizioni, potrebbe non essere possibile ricostruire tutte le informazioni di percorso AS dagli attributi AS_PATH e AS4_PATH di una route. Questo si verifica, ad esempio, quando due o più route che trasportano l'attributo AS4_PATH vengono aggregate da un VECCHIO speaker BGP, e l'attributo AS4_PATH di almeno una di queste route trasporta almeno un numero AS a quattro ottetti (al contrario di un numero AS a due ottetti codificato in 4 ottetti). A seconda dell'implementazione, l'attributo AS4_PATH verrebbe perso durante l'aggregazione della route, oppure sia l'attributo AS_PATH che l'attributo AS4_PATH conterrebbero informazioni parziali valide che non possono essere combinate senza soluzione di continuità, risultando in informazioni di percorso AS incomplete in questi casi.

Un NUOVO speaker BGP DEVE (MUST) anche essere preparato a ricevere l'attributo AS4_AGGREGATOR insieme all'attributo AGGREGATOR da un VECCHIO speaker BGP. Quando entrambi gli attributi vengono ricevuti, se il numero AS nell'attributo AGGREGATOR non è AS_TRANS, allora:

  • l'attributo AS4_AGGREGATOR e l'attributo AS4_PATH DEVONO (SHALL) essere ignorati,
  • l'attributo AGGREGATOR DEVE (SHALL) essere preso come informazione sul nodo aggregatore, e
  • l'attributo AS_PATH DEVE (SHALL) essere preso come informazioni di percorso AS.

Altrimenti,

  • l'attributo AGGREGATOR DEVE (SHALL) essere ignorato,
  • l'attributo AS4_AGGREGATOR DEVE (SHALL) essere preso come informazione sul nodo aggregatore, e
  • le informazioni di percorso AS devono essere costruite, come in tutti gli altri casi.

Per costruire le informazioni di percorso AS, è necessario prima calcolare il numero di numeri AS negli attributi AS_PATH e AS4_PATH utilizzando il metodo specificato nella Sezione 9.1.2.2 di [RFC4271] e in [RFC5065] per la selezione della route.

Se il numero di numeri AS nell'attributo AS_PATH è inferiore al numero di numeri AS nell'attributo AS4_PATH, allora l'attributo AS4_PATH DEVE (SHALL) essere ignorato, e l'attributo AS_PATH DEVE (SHALL) essere preso come informazioni di percorso AS.

Se il numero di numeri AS nell'attributo AS_PATH è maggiore o uguale al numero di numeri AS nell'attributo AS4_PATH, allora le informazioni di percorso AS DEVONO (SHALL) essere costruite prendendo tanti numeri AS e segmenti di percorso quanti necessari dalla parte iniziale dell'attributo AS_PATH, e poi anteponendoli all'attributo AS4_PATH in modo che le informazioni di percorso AS abbiano un numero di numeri AS identico a quello dell'attributo AS_PATH. Si noti che un segmento di percorso AS_CONFED_SEQUENCE o AS_CONFED_SET valido DEVE (SHALL) essere anteposto se è il segmento di percorso iniziale o è adiacente a un segmento di percorso che viene anteposto.