Cisco VXLAN

From HackerNet
Revision as of 12:18, 11 July 2017 by Helikopter (talk | contribs)
Jump to: navigation, search

Virtual Extensible LAN (VXLAN) är en network virtualization technology, med andra ord enkapsuleringsteknik (overlay). Det maximala antalet VLAN på ett Ethernet-nätverk är 4094 (IEEE 802.1Q). Med VXLAN höjs denna gräns till 16 miljoner. Ethernet frames enkapsuleras i IP-paket och transporteras med UDP. VXLAN i sig har inget separat control plane utan signalering får skötas av en extern controller, BGP eller flood and learn. Vid det senare så kommer L2 flooding (unknown unicast, broadcast) att emuleras med multicast och VTEP:arna kommer på så sätt att lära sig vilka MAC-adresser som finns på andra sidan. Detta leder till att VXLAN i sig har ingen inbyggd felisolering så som t.ex. OTV har. VXLAN har inte stöd för service tags så som Geneve har. Se även Cisco VLAN.

Konfiguration

Default VXLAN UDP destination är 8472.

vxlan udp port <number>

VXLAN Gateway använder sig av Network Virtualization Endpoint (NVE) Interface. För att kunna använda multicast måste man köra PIM på underlay network. Om man ska enkapsulera frames som är VLAN-taggade måste man ta bort taggen när det skickas VLAN -> VXLAN och sätta på den igen i andra riktningen, se exemplet.

interface lo0
 ip address 11.11.11.11 255.255.255.255

interface nve1
 member vni 5001 mcast-group 239.0.10.10
 source-interface Loopback0

interface GigabitEthernet2
 service instance 1 ethernet
  encapsulation dot1q 100
  rewrite ingress tag pop 1 symmetric

bridge-domain 1
 member vni 5001
 member GigabitEthernet2 service-instance 1

Unicast
Om man inte kan köra multicast går det lösa med unicast och headend replication (HER). Då konfigurerar man member vni utan mcast-group och istället pekar ut andra sidan manuellt.

interface nve1
 ingress-replication 22.22.22.22 

Verify

show nve vni
show nve peers
show bridge-domain 1

GPE

VXLAN Generic Protocol Extension finns till för att ge VXLAN tillägg såsom OAM och versionsmöjligheter.

interface Tunnel1 
 ip address 192.168.1.1 255.255.255.0 
 tunnel source GigabitEthernet2 
 tunnel mode vxlan-gpe ipv4 
 tunnel destination 10.0.0.20
 tunnel vxlan vni 12345

EVPN

Ethernet VPN (RFC 7432) är en modernare variant än VPLS för att tillhandahålla Ethernet multipoint services över IP, MPLS eller SR. BGP EVPN är en ny adressfamilj som bl.a. har features för att hålla koll på hostar som flyttar mellan datacenter (sekvensnummer i annonseringarna) och kan då konvergera snabbt. EVPN är öppet så det finns interoperability med andra network vendors, se t.ex. Quagga EVPN.

router bgp 100
 address-family l2vpn evpn
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-community both
 exit-address-family
 !
 address-family ipv4 vrf evpn1
  advertise l2vpn evpn
  neighor 10.0.0.10 remote-as 65000

Verify

show ip bgp l2vpn evpn summary

NX-OS

I en VXLAN-EVPN based fabric så kommer MAC learning att göras via control plane (MP-BGP) istället för data plane.

feature nv overlay
feature vn-segment-vlan-based
nv overlay evpn
feature bgp

interface nve1
 no shutdown
 source-interface loopback0

router bgp 65000
 address-family l2vpn evpn
 neighbor 10.0.0.10
   remote-as 65000
   update-source loopback0
   address-family l2vpn evpn
     send-community extended

vlan 100
 vn-segment 1000100

evpn
 vni 1000100 l2
   rd auto
   route-target import auto
   route-target export auto

Det går att köra Controller-less VXLAN och VTEP:arna kommer då att upptäckas med BGP. Ange att control plane learning görs med BGP.

interface nve1                        
 host-reachability protocol bgp

Verify

show nve peers detail
show bgp l2vpn evpn summary

Route Reflector
Precis som med övriga adressfamiljer kan man med hjälp av route reflector öka skalbarhet och förenkla konfigurationen. Spine-switchar kan t.ex. stå för denna roll.

router bgp 65000
 address-family l2vpn evpn
 neighbor 10.0.0.11
   remote-as 65000
   update-source loopback0
   address-family l2vpn evpn
     send-community extended
     route-reflector-client