distributed anycast protocol gateway and learning process endpoint and example-config fabric test
30.12 2019 | by massimilianoDistributed Anycast Protocol Gateway and Learning Process Endpoint Distributed Anycast Protocol Gateway è una tecnica che supera le limitazioni […]
https://www.ingegnerianetworking.com/wp-content/uploads/2019/12/multi-site-epg-l2out-10c.png
Distributed Anycast Protocol Gateway and Learning Process Endpoint
- Distributed Anycast Protocol Gateway è una tecnica che supera le limitazioni del classico protocollo HSRP/VRRP in ambienti data center di tipo Spine and Leaf (CLOS) Fabric e presenta i seguenti vantaggi:
- tutti i VTEP hanno lo stesso indirizzo IP per una L2-VNI segment ed un indirizzo MAC Anycast Gateway è globale in ogni VTEP per tutte le VNI associate ai tenants (quindi ogni endpoint ha come gateway il VTEP locale il quale ruota il traffico ai VTEP remoti attraverso una rete IP e questo vale sia per una Fabric monosite che multisite);
- la funzionalità di ARP suppression permette di ridurre il flooding all’interno del proprio dominio layer 2;
- permette il moving di VM o Server continuando a mantenere lo stesso IP address gateway configurato nel VTEP locale all’interno di ciascuna VXLAN EVPN Fabric sia monosite che multisite (geograficamente distribuita)
no FHRP Filtering tra VXLAN EVPN Fabrics
- Permette:
- – VLAN and VRF-Lite handoff to DCI
- – MAN/WAN connectivity to external Layer 3 network domain
- – Connectivity to network services
Learning Process Endpoint è il processo di learning endpoint ed avviene a livello edge switch VTEP Leaf di una VXLAN EVN Fabric dove questo è direttamente collegato.
- Le informazioni MAC address a livello locale sono calcolate attraverso la tabella di forwarding (data-plane);
- Le informazioni IP address sono apprese attraverso meccanismi di ARP, GARP (Gratitous ARP) oppure IPv6 neighbor discovery message;
- Una volta avvenuto il processo di associazione MAC/IP address a livello locale, queste informazioni vengono annunciate ai Leaf VTEP remoti attraverso il protocollo MP-BGP control-plane utilizzando le EVPN route-type 2 advertisement ed inseriscono queste informazioni in una ARP cache (se un indirizzo IP non fosse più presente nella sua ARP cache suppression table, ritrasmette un ARP request agli altri VTEP);
- Tutti i VTEP hanno le informazioni degli endpoint che appartengono alle rispettive VXLAN VNID per essere importate nelle proprie tabelle di forwarding plane
I comandi:
show l2route evpn mac mostra il contenuto della VPN table (L2 RIB routing information base) popolato via BGP updates
show l2route evpn mac-ip mostra le informazioni contenute nella L2RIB insieme alle host route information ricevute via route-type 2 EVPN updates.
Una volta avvenuto il processo di apprendimento MAC + IP a livello locale, queste informazioni vengono annunciate dai rispettivi VTEP attraverso il MP-BGP EVPN control-plane utilizzando le EVPN route-type 2 advertisement trasmette a tutti i VTEP Edge Devices che appartengono alla stessa VXLAN EVPN Fabric.
Di conseguenza, tutti gli Edge Devices imparano le informazioni EndPoint che appartengono ai rispettivi VNI (VXLAN segment Network Identifier) ed essere importate all’interno della propria forwarding table.
Nota con OTV DCI:
Quando si configura un anycast gateway vMAC address attraverso Fabrics VXLAN, gli OTV devices ad ogni sites continueranno ad aggiornare le loro tabelle di forwarding (L2 table) affinchè possano continuare a ricevere sulle loro internal interface le richieste ARP trasmesse dagli endpoint connessi localmente.
E’ una buona pratica applicare una route-map al piano di controllo OTV per evitare comunicazioni anycast gateway MAC address information tra OTV devices tra siti remoti; è possibile applicare una route-map via OTV IS-IS control-plane come nel seguente esempio:
mac-list anycast_GW_MAC seq 10 deny 0001.0001.0001 ffff.ffff.ffff
mac-list anycast_GW_MAC seq 20 permit 0000.0000.0000 0000.0000.0000
!
route-map anycast_GW_MAC_filter permit 10
match mac-list anycast_GW_MAC
!
otv-isis default
vpn Overlay0
redistribute filter route-map anycast_GW_MAC_filter
per maggiori info su OTV vedi:
OTV dataplane header https://www.massimilianosbaraglia.it/switching/datacenter/otv-overlay-transport-virtualization/otv-data-plane-header
OTV interface type e funzionalità https://www.massimilianosbaraglia.it/switching/datacenter/otv-overlay-transport-virtualization/otv-interface-type-e-funzionalita
OTV example-configuration per interface type https://www.massimilianosbaraglia.it/switching/datacenter/otv-overlay-transport-virtualization/otv-example-configuration
Esempio di comunicazione INTRA-SUBNET tra Multi-Site Fabric:
Esempio di comunicazione INTER-SUBNET tra Multi-Site Fabric:
Esempio di configurazione High-Level Fabric (generic Fabric)
Diagramma di rete IP di TEST
Leaf Nodes stabiliscono sessioni IBGP EVPN con i Spine Nodes; quest’ultimi hanno ruolo di Router Reflector EVPN e scambiano informazioni layer 2 e layer 3 tra VTEP (Leaf Nodes)
Diagramma di rete MP-BGP EVPN
Le sessioni IBGP sono stabilite su base loopback; pertanto è necessario un protocollo IGP (OSPF, ISIS) per la redistribuzione delle looopback VTEPs
In genere un data centers IaaS costruito su una architettura Spine-Leaf utilizza per migliorare le sue performance di raggiungibilità layer 2 e 3, un processo ECMP (Equal Cost Multi Path) via IGP.
In caso di crescita della Fabric con la separazione multi-tenant, si può pensare a meccanismi di scalabilità come il protocollo BGP e scegliere se utilizzare internal-BGP oppure external in considerazione anche di meccanismi ECMP molto utili in ambienti datacenters
IBGP richiede sessioni tra tutti i PE VTEP e l’impiego di Router Reflector aiuta molto in termini di scalabilità delle sessioni configurati a livello Spine; questo tipo standard di soluzione, in ogni caso, riflette solo il best-single-prefix verso i loro client ed nella soluzione di utilizzare ECMP bisogna configurare un BGP addpath feature per aggiungere ECMP all’interno degli annuncia da parte dei RRs
EBGP, invece, supporta ECMP senza addpath ed è semplice nella sua tradizionale configurazione; con EBGP ogni devices della Fabric utilizza un proprio AS (Autonomous System)
Di seguito una rappresentazione grafica delle due soluzioni BGP:
EVPN E-BGP and ASN underlay design
EVPN I-BGP with Router Reflector one-Fabric overlay design
CONFIGURATION EVPN Fabric with Router Reflector IBGP
Enable Feature config
feature bgp # activate bgp protocol that will be used for L2VPN EVPN address-family
feature vn-segment-VLAN-based # this feature allow you to map a VNI to a VLAN
feature nv overlay # this is VXLAN Feature
feauture nv overlay evpn
Other features need to be activated for your underlay infrastructure like:
feature ospf
feature pim
feature interface-VLAN
VTEP 1 config:
Vlans database, fabric forwarding anycast-gateway-mac and pim multicast configuration parameters
vlan 1,10,20,30
!
fabric forwarding anycast-gateway-mac 0001.0001.0001
!
ip pim rp-address 172.16.1.1 group-list 224.0.0.0/4
ip pim ssm range 232.0.0.0/8
Vlans Black ed associarla ad un segmento VXLAN VNI and L3-VNI intervlan routing
VLAN 10 # vlan 10 is used as Layer 3 VNI to route inter-vlan routing
name L3-VNI
vn-segment 1000010
!
VLAN 20
name BLACK
vn-segment 2000020
EVPN configuration permit the exchange of L2 reachability between VTEPs
evpn
vni 2000020 l2
rd auto # RD is default calculated as VNI:BGP Router ID
route-target import auto # RT is default calculated as BGP AS:VNI
route-target export auto
Definizione layer 3 VRF per inter-VNI traffic
vrf context EVPN
vni 1000010
rd auto
address-family ipv4 unicast
route-target both auto
route-target both auto evpn
!
interface VLAN 20
description BLACK
vrf member EVPN
ip address 10.10.10.1/24
no shutdown
fabric forwarding mode anycast-gateway
!
interface VLAN 10 # Layer 3 VNI associated interface vlan does not have an ip address.
vrf member EVPN
no shutdown
Definizione NVE tunnel logical interface where VXLAN packets are encapsulated and decapsulated
interface nve1
no shutdown
source-interface loopback0
host-reachability protocol bgp
member vni 1000010 associate-vrf
member vni 2000020
mcast-group 239.1.1.1
suppress-arp
# suppress arp permit to VTEP to cache host-reachability information for remote VTEPs and behave later like a proxy-arp when it receives an ARP request from end host and the information is already in his cache table.
Configurazione physical interface and ospf underlay
interface Ethernet1/2 # ospf with PIM is used as Underlay.
description “to Spine”
no switchport
ip address 10.1.1.2/30
ip router ospf UNDERLAY area 0.0.0.0
ip pim sparse-mode
no shutdown
!
interface Ethernet1/10 # Port to Host A.
switchport mode trunk
!
interface loopback01 # Loopback for BGP Peering.
description “Loopback for “BGP”
ip address 172.16.1.3/32
ip router ospf UNDERLAY area 0.0.0.0
ip pim sparse-mode
!
router ospf UNDERLAY
VTEP 3 config:
Vlans database, fabric forwarding anycast-gateway-mac and pim multicast configuration parameters
vlan 1,10,20,30
!
fabric forwarding anycast-gateway-mac 0001.0001.0001
!
ip pim rp-address 172.16.1.1 group-list 224.0.0.0/4
ip pim ssm range 232.0.0.0/8
Vlans Red ed associarla ad un segmento VXLAN VNI and L3-VNI intervlan routing
VLAN 10 # vlan 10 is used as Layer 3 VNI to route inter-vlan routing
name L3-VNI
vn-segment 1000010
!
VLAN 30
name RED
vn-segment 3000030
EVPN configuration permit the exchange of L2 reachability between VTEPs
evpn
vni 3000030 l2
rd auto # RD is default calculated as VNI:BGP Router ID
route-target import auto # RT is default calculated as BGP AS:VNI
route-target export auto
Definizione layer 3 VRF per inter-VNI traffic
vrf context EVPN
vni 1000010
rd auto
address-family ipv4 unicast
route-target both auto
route-target both auto evpn
!
interface VLAN 30
description RED
vrf member EVPN
Ip address 20.20.20.1/24
no shutdown
fabric forwarding mode anycast-gateway
!
interface VLAN 10 # Layer 3 VNI associated interface vlan does not have an ip address.
vrf member EVPN
no shutdown
Definizione NVE tunnel logical interface where VXLAN packets are encapsulated and decapsulated
interface nve1
no shutdown
source-interface loopback0
host-reachability protocol bgp
member vni 10000 associate-vrf
member vni 3000030
mcast-group 239.1.1.2
suppress-arp
Nota: la configurazione delle interfacce fisiche viste per il VTEP 1 e l’ospf underlay è medesimo al paragrafo precedente.
BGP RR config
router bgp 65000
address-family ipv4 unicast
address-family l2vpn evpn
retain route-target all
template peer IBGP-EVPN
remote-as 65000
update-source loopback0
address-family ipv4 unicast
send-community extended
route-reflector-client
address-family l2vpn evpn
send-community extended
route-reflector-client
neighbor 172.16.1.3
inherit peer IBGP-EVPN
neighbor 172.16.1.4
inherit peer IBGP-EVPN
neighbor 172.16.1.5
inherit peer IBGP-EVPN
neighbor 172.16.1.6
inherit peer IBGP-EVPN
BGP VTEP config
router bgp 65000
address-family ipv4 unicast
address-family l2vpn evpn
neighbor 172.16.1.1
remote-as 65000
update-source loopback0
address-family ipv4 unicast
address-family l2vpn evpn
send-community extended
neighbor 172.16.1.2
remote-as 65000
update-source loopback0
address-family ipv4 unicast
address-family l2vpn evpn
send-community extended
vrf EVPN
address-family ipv4 unicast
advertise l2vpn evpn
Diagramma di esempio finale: