martedì 18 settembre 2012

QFABRIC DIETRO LE QUINTE: ERO SPOT-ON


Pochi giorni fa Balle Kurt e Cooper Lees mi ha dato accesso ad un ambiente di prova QFabric. Ho sempre voluto sapere cosa stava realmente accadendo dietro le quinte QFabric e il momento in cui Kurt era in grado di vedere alcuni di questi dettagli, ero completamente agganciato.
Breve riassunto: QFabric funziona esattamente come avevo previsto tre mesi prima che l'utente-documentale si rivolta al pubblico (il dietro le quinte vista descritto in questo post del blog è probabilmente ancora difficile da trovare).
Questo post non è affatto una critica di QFabric. Se non altro, io sono contento ci sia ancora un fornitore di rete in grado di creare soluzioni innovative senza lacrime unicorno, basandosi invece su testate sul campo le tecnologie ... che potrebbe, tra le altre cose, rendono la soluzione più stabile.

Sembra come un interruttore gigante

Quando si accede l'indirizzo IP di gestione QFabric (VIP), appare esattamente come un interruttore gigante - singola configurazione, unico insieme di interfacce, comandi show ecc Tutti i componenti familiari di configurazione Junos sono lì: gruppo di sistema, interfacce VLAN e protocolli . L'unico componente veramente nuovo è il tessuto oggetto con il nodo del gruppo definizioni ( più informazioni su gruppi di nodi QFabric ).
Tuttavia, ogni interruttore gigante ha bisogno di risoluzione dei problemi, che normalmente richiede l'accesso ai singoli componenti, nel caso QFabric, la componente richiesta di accesso di comando che svela il mondo davvero interessante dietro la tenda.
ip @ test> Entra componente richiesta?
Completamenti possibili:
  <node-name> nome Inventario per il nodo remoto
  DRE-0 di diagnostica del motore di routing
  IC-Left/RE0 Interconnect dispositivo di scheda di controllo
  IC-Left/RE1 Interconnect dispositivo di scheda di controllo
  IC-Right/RE0 Interconnect dispositivo di scheda di controllo
  IC-Right/RE1 Interconnect dispositivo di scheda di controllo
  FC-0 Tessuto di controllo
  FC-1 tessuto di controllo
  FM-0 Fabric Manager
  NW-NG-0 Nodo gruppo
  R2-19-Node0 nodo del dispositivo
  R2-19-nodo 1 nodo del dispositivo
  R2-7-Node4 nodo del dispositivo
  R2-7-Node5 nodo del dispositivo
  R3-12-Node6 nodo del dispositivo
  R3-12-Node7 nodo del dispositivo
  R3-19-nodo 2 nodo del dispositivo
  R3-19-Node3 nodo del dispositivo
  RSNG01 Nodo gruppo
  RSNG02 Nodo gruppo
I nomi delle persone fisiche (QF / Nodi, QF / Collegamenti) potrebbe essere o il loro numero di serie (impostazione predefinita) o configurabili dall'utente nomi (consigliato).
Come si può vedere, è possibile accedere ai singoli dispositivi fisici, gruppi di nodi e componenti virtuali come i controlli in tessuto e Fabric Manager. Questi componenti virtuali eseguiti su QF / Amministrazione - caselle di CentOS in esecuzione KVM (è possibile accedere al QF / Direttore shell di Linux e vedere le macchine virtuali con ps-elf).
Ogni QF / Director è in esecuzione una serie di servizi comuni, tra cui database (MySQL), DHCP, FTP, NTP, SSH, GFS, DLM (distribuito gestore di blocco), NFS e server Syslog:
ip @ QFabric> mostra tessuto amministrazione inventario direttore del gruppo di stato 
Stato gruppo Direttore sab 25 ago 2012 09:52:08 PDT

 Membri di stato Ruolo Mgmt Indirizzo CPU virtuali di memoria liberare tempo
 -------------------------------------------------- ---------------
 DG0 on line maestro xxxxxxxxxxxx 10% 17642780k 4 3 giorni, ore 16:23
 DG1 backup online xxxxxxxxxxxx 6% 20509268k 3 3 giorni, ore 16:13

 Iscritto ID dispositivo / Stato Alias ​​Ruolo
 --------------------------------------
 DG0 xxxxxxxxxxxxxxxx on line maestro   

  Master Service
  ---------------
  Database Server on line    
  Load Balancer Direttore on-line    
  QFabric partizione online Indirizzo    

  Direttore Gruppo Managed Services
  -------------------------------
  Il file condiviso in linea di sistema    
  Network File System on-line    
  Virtual Machine Server on line    
  Load Balancer / DHCP on-line    

  Stato unità rigido
  ----------------
  Volume ID: ottimale 4    
  Fisica ID: 1 on-line     
  Fisico ID: 0 on-line     
  SCSI ID: 1 100%       
  SCSI ID: 0 100%       

  % Disponibilità Dimensione Usato Usato Montato su 
  ----------------------------
  395g 6.3g 423G 2% /          
  99M 20M 75M 21% / boot      
  91 octies 93g 2.0G 3% / pbData    

  Direttore del Gruppo Processi
  ------------------------
  Direttore responsabile del gruppo on-line    
  Partition Manager on-line    
  Mirroring software on-line    
  Shared File System master on line    
  Secure Shell di processo on-line    
  Network File System on-line    
  DHCP Server master on line Master                           
  FTP Server on line    
  Syslog on-line    
  Gestione on-line Distributed    
  Trap SNMP in linea Forwarder    
  SNMP di processo on-line    
  Management Platform on-line    
[... resto soppresso ...]

Ed ecco - è effettivamente in esecuzione BGP interno

Dopo l'accesso in una delle macchine di controllo del tessuto virtuali, è possibile eseguire la mostra tessuto bgp sintesi di comando, che indica chiaramente il controllo piano protocollo di dietro le quinte, è multi-protocollo BGP esegue numerose famiglie di indirizzi.Ogni VM controllo tessuto scorre BGP con tutti i server o nodi di rete (non QF individuale / nodi) e con tutti i QF / Collegamenti.
QFabric-admin @ FC-0> show bgp tessuto Riassunto | no-more 
Gruppi: 2 Peers: 6 peers di Down: 0
Coetanei non configurati: 5
Tabella Percorsi Tot. Act Percorsi soppresso Stato Damp Storia attesa
bgp.l3vpn.0          
                      42 18 0 0 0 0
Peer AS InPkt OutPkt Flaps OUTQ Ultima Up / Stato Dwn | # Attiva / ricevute / Accettato / smorzato ...
128.0.128.4 100 10517 10602 0 0 3d 06:43:58 Establ
  bgp.l3vpn.0: 17/17/17/0
  bgp.rtarget.0: 28/31/31/0
  bgp.fabricvpn.0: 28/28/28/0
  bgp.bridgevpn.0: 8/8/8/0
  default.inet.0: 17/17/17/0
  default.fabric.0: 19/19/19/0
128.0.128.8 100 10594 10593 0 0 3d 06:44:06 Establ
  bgp.l3vpn.0: 0/18/18/0
  bgp.rtarget.0: 1/32/32/0
  bgp.fabricvpn.0: 0/103/103/0
  bgp.bridgevpn.0: 0/9/9/0
  default.inet.0: 0/18/18/0
  default.fabric.0: 0/91/91/0
128.0.130.4 100 10466 10552 0 0 3d 06:35:42 Establ
  bgp.rtarget.0: 0/4/4/0
  bgp.fabricvpn.0: 34/34/34/0
  bgp.bridgevpn.0: 0/0/0/0
  default.fabric.0: 34/34/34/0
128.0.130.10 100 9751 9636 0 0 3d 01:04:34 Establ
  bgp.rtarget.0: 0/4/4/0
  bgp.fabricvpn.0: 34/34/34/0
  bgp.bridgevpn.0: 0/0/0/0
  default.fabric.0: 34/34/34/0
128.0.130.24 100 10432 10547 0 0 3d 06:18:09 Establ
  bgp.l3vpn.0: 1/7/7/0
  bgp.rtarget.0: 0/7/7/0
  bgp.fabricvpn.0: 7/7/7/0
  bgp.bridgevpn.0: 1/1/1/0
  default.inet.0: 1/7/7/0
  default.fabric.0: 4/4/4/0
128.0.130.26 100 10410 10545 0 0 3d 06:19:11 Establ
  bgp.l3vpn.0: 0/0/0/0
  bgp.rtarget.0: 0/4/4/0
  bgp.fabricvpn.0: 0/0/0/0
  bgp.bridgevpn.0: 0/0/0/0
Qualsiasi altro nodo (esempio: QF / Interconnect), ha due sessioni BGP con VM tessuto sia di controllo:
QFabric-admin @ IC-sinistra> show bgp sintesi tessuto 
Gruppi: 1 Peers: 2 peers di Down: 0
Peer AS InPkt OutPkt Flaps OUTQ Ultima Up / Stato Dwn | # Attiva / ricevute / Accettato / smorzato ...
128.0.128.6 100 9663 9775 0 0 3d 01:16:27 Establ
  bgp.rtarget.0: 28/32/32/0
  bgp.fabricvpn.0: 61/61/61/0
  bgp.bridgevpn.0: 0/0/0/0
  default.fabric.0: 61/61/61/0
128.0.128.8 100 9667 9773 0 0 3d 01:16:23 Establ
  bgp.rtarget.0: 0/32/32/0
  bgp.fabricvpn.0: 0/61/61/0
  bgp.bridgevpn.0: 0/0/0/0
  default.fabric.0: 0/61/61/0
Nodi di Edge utilizzare sei MP-BGP famiglie di indirizzi (compresi default.inet.0 e default.fabric.0), QF / Collegamenti hanno solo quattro.
Il tessuto di controllo macchine virtuali agiscono come riflettori rotte BGP ( esattamente come avevo previsto ). Si può facilmente verificare che controllando ogni singola voce BGP su uno dei gruppi di nodi - vedrete il Creatore e Cluster Lista attributi BGP:
65534:1:192.168.13.37 / 32 (2 ingressi, 1 annunciato)
        * BGP Preferenze: 170/-101
                Percorso Distinguisher: 65534:1
                Hop successivo Tipo: Indiretta
                Indirizzo: 0x964f49c
                Next-hop conteggio di riferimento: 6
                Fonte: 128.0.128.6
                Hop successivo Tipo: Router, Prossimo Indice hop: 131070
                Prossimo hop: 128.0.130.24 via dcfabric.0, selezionati
                Etichetta operazione: PFE Id 7 Port ID 55
                Etichetta TTL azione: PFE Id 7 Port ID 55
                Session ID: 0x0
                Prossimo hop: 128.0.130.24 via dcfabric.0
                Etichetta operazione: PFE Id Id 8 Port 55
                Etichetta TTL azione: PFE Id Id 8 Port 55
                Session ID: 0x0
                Protocollo successivo hop: 128.0.130.24:49160 (NE_PORT)
                Livello 3 Etichetta tessuto 5
                Composito prossimo hop: 964f440 1738 ID sessione INH: 0x0
                Indiretto prossimo hop: 92c8d00 131.072 ID sessione INH: 0x0
                Stato: <Active Int <esto
                Locali come: 100 Peer AS: 100
                Età: 3d 06:54:40 Metric2: 0 
                Convalida dello Stato: non verificato 
                Compito: BGP_100.128.0.128.6 33035
                Annuncio (1 bit): 0-Risolvere Tree 1 
                AS percorso: lista Cluster I (Originator): 0.0.0.1
                AS percorso: ID Originator: 128.0.130.24
                Comunità: target: 65534:117440513 (L3: 1)
                Importazione Accettato
                Timestamp: 0x116
                Bandiere percorso: arp
                Tipo di percorso: Host
                Percorso protocollo: arp
                L2domain: 5
                SNPA contare: 1, lunghezza SNPA: 8
                SNPA Tipo: Elemento di rete porta SNPA
                NE Port ID: 49160
                Localpref: 100
                Router ID: 128.0.128.6
                Tabelle secondarie: default.inet.0
                Compositi hop successivi: 1
                        Protocollo successivo hop: 128.0.130.24:49160 (NE_PORT)
                        Livello 3 Etichetta tessuto 5
                        Composito prossimo hop: 964f440 1738 ID sessione INH: 0x0
                        Indiretto prossimo hop: 92c8d00 131.072 ID sessione INH: 0x0
                        Indiretti luppolo inoltro prossimi percorso: 2
                                Tipo di salto successivo: Router
                                Prossimo hop: 128.0.130.24 via dcfabric.0
                                Session ID: 0x0
                                Prossimo hop: 128.0.130.24 via dcfabric.0
                                Session ID: 0x0

Indirizzamento

Piano di controllo QFabric utilizza localmente amministrati indirizzi MAC e IP 128.0.0.0/16 blocco di indirizzi. Potete vedere tutti gli indirizzi MAC e IP con la show arp comando eseguito su uno qualsiasi dei componenti interni. Le BME interfacce sono le interfacce di controllo aereo, la vlan interfaccia è un utente-interfaccia fronte SVI.
QFabric-admin @ NW-NG-0> show arp 
Indirizzo MAC Indirizzo Nome interfaccia Bandiere
00:13: dc: ff: 72:01 10.73.2.9 10.73.2.9 vlan.501 nessuno
02:00:00:00:40:01 128.0.0.1 128.0.0.1 permanente bme0.2
02:00:00:00:40:02 128.0.0.2 128.0.0.2 permanente bme0.2
02:00:00:00:40:05 128.0.0.4 128.0.0.4 permanente bme0.0
02:00:00:00:40:05 128.0.0.5 128.0.0.5 permanente bme0.1
02:00:00:00:40:05 128.0.0.5 128.0.0.5 permanente bme0.2
02:00:00:00:40:05 128.0.0.6 128.0.0.6 permanente bme0.0
02:00:00:00:40:07 128.0.0.7 128.0.0.7 permanente bme0.1
02:00:00:00:40:07 128.0.0.7 128.0.0.7 permanente bme0.2
02:00:00:00:40:08 128.0.0.8 128.0.0.8 permanente bme0.1
02:00:00:00:40:08 128.0.0.8 128.0.0.8 permanente bme0.2
02:00:00:00:40:09 128.0.0.9 128.0.0.9 permanente bme0.1
02:00:00:00:40:09 128.0.0.9 128.0.0.9 permanente bme0.2
[... resto soppresso ...]

Guarda mamma! Ci sono le etichette!

Nel mio post sul blog avevo previsto QFabric usi MPLS internamente. E 'impossibile capire senza uno sniffer di 40 Gbps se pila etichetta MPLS è il formato di incapsulamento esatto QFabric sta usando, ma sembra sicuro come MPLS dall'esterno.
Il dcfabric interfaccia utilizza MPLS come uno dei protocolli:
QFabric-admin @ RSNG01> show interfaces dcfabric.0 
  Interfaccia logica dcfabric.0 (Indice 64) (SNMP ifIndex 1214251262) 
    Bandiere: SNMP-Traps incapsulamento: ENET2
    Pacchetti di ingresso: 0 
    Pacchetti di uscita: 0
    Protocollo inet, MTU: 1558
      Bandiere: Is-primaria
    Protocollo MPLS, MTU: 1546, etichette massimo: 3
      Bandiere: Is-primaria
    Protocollo eth-switch, MTU: 0
      Bandiere: Is-primaria
È anche possibile vedere MPLS-come le etichette in numerose voci BGP, ad esempio nelbridgevpn famiglia di indirizzi ...
. 65534:1:5 c8: e2: c3: 01:78:8 f/144               
         * [BGP/170] 1w3d 15:28:00, localpref 100
            AS percorso: I, la convalida dello stato: non verificato
            128.0.128.4 per via dcfabric.0, Push 1730, Push 1, Push 55 (in alto)
          > Per 128.0.128.4 via dcfabric.0, Push 1730, spinta 2, push 55 (in alto)
          [BGP/170] 1w3d 15:28:00, localpref 100, da 128.0.128.8
            AS percorso: I, la convalida dello stato: non verificato
            128.0.128.4 per via dcfabric.0, Push 1730, Push 1, Push 55 (in alto)
          > Per 128.0.128.4 via dcfabric.0, Push 1730, spinta 2, push 55 (in alto)
La stessa serie di tre etichette appare in una route di host che punta a un host collegato ad un altro QF / Node:
65534:1:10.73.2.9 / 32                
           * [BGP/170] 3d 12:32:09, localpref 100
              AS percorso: I, la convalida dello stato: non verificato
            > Per 128.0.128.4 via dcfabric.0, Push 5, Push 1, Push 23 (in alto)
            [BGP/170] 3d 12:32:09, localpref 100, da 128.0.128.8
              AS percorso: I, la convalida dello stato: non verificato
            > Per 128.0.128.4 via dcfabric.0, Push 5, Push 1, Push 23 (in alto)
Prefissi IP collegati direttamente alla QFabric avere una sola etichetta - probabilmente un puntatore ad una voce di tabella di inoltro IP.
65534:1:10.73.2.0 / 29                
           * [BGP/170] 3d 12:31:59, localpref 101, da 128.0.128.4
              AS percorso: I, la convalida dello stato: non verificato
            > Per 128.0.128.4:129 (NE_PORT), Layer 3 Etichetta tessuto 5
            [BGP/170] 3d 12:31:59, localpref 101, da 128.0.128.8
              AS percorso: I, la convalida dello stato: non verificato
            > Per 128.0.128.4:129 (NE_PORT), Layer 3 Etichetta tessuto 5 
D'altra parte, il routing MPLS e tabelle di inoltro sono vuote, indicando che questo non è molto probabilmente il MPLS siamo abituati.

Riassunto

Dietro le quinte, piste QFabric come ogni ben progettata rete del provider: un cluster di server centrali fornisce servizi comuni (tra cui DHCP, NFS, FTP, NTP e Syslog), BGP viene utilizzato nel piano di controllo per distribuire i prefissi dei clienti (indirizzi IP , host / ARP itinerari, indirizzi MAC) e MPLS-come incapsulamento in grado di allegare una etichetta stack ad un telaio L2 o L3 datagramma viene utilizzato nel piano di inoltro.
La vera magia del QFabric è la VM CLI, che presenta l'interno IP MPLS + simile a rete come un singolo switch, senza OpenFlow o SDN magia. Non sarebbe bello avere qualcosa di simile nelle reti del prestatore?


Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.