Difference between revisions of "Cisco VXLAN"
Helikopter (talk | contribs) |
Helikopter (talk | contribs) m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Virtual Extensible LAN (VXLAN) är en network virtualization technology. 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. | + | 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, default UDP destination port är 4789. Tack vare att det är vanliga IP-paket som traverserar fabricen kan alla länkar användas och det finns stöd för ECMP. VXLAN i sig har inget separat control plane utan signalering får skötas av en extern controller, BGP EVPN 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. [[Cisco_OTV|OTV]] har. VXLAN har inte stöd för service tags så som t.ex. Geneve har. Ska NX-OS manageras av en third-party controller måste man slå på NXDB. Se även [[Cisco_VLAN|Cisco VLAN]]. |
− | == | + | ==Flood and Learn== |
− | + | VXLAN Gateway använder sig av Network Virtualization Endpoint (NVE) Interface. För att kunna använda multicast måste man köra [[Cisco_PIM|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 (BD-oriented mode). | |
− | |||
− | |||
− | |||
interface lo0 | interface lo0 | ||
ip address 11.11.11.11 255.255.255.255 | ip address 11.11.11.11 255.255.255.255 | ||
interface nve1 | interface nve1 | ||
+ | source-interface Loopback0 | ||
member vni 5001 mcast-group 239.0.10.10 | member vni 5001 mcast-group 239.0.10.10 | ||
− | |||
interface GigabitEthernet2 | interface GigabitEthernet2 | ||
Line 23: | Line 20: | ||
'''Unicast''' <br/> | '''Unicast''' <br/> | ||
− | Om man inte kan köra multicast går det lösa med unicast och headend replication. Då konfigurerar man ''member vni'' utan mcast-group och istället pekar ut andra sidan manuellt. | + | 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 VTEP:s manuellt. |
interface nve1 | interface nve1 | ||
ingress-replication 22.22.22.22 | ingress-replication 22.22.22.22 | ||
Line 31: | Line 28: | ||
show nve peers | show nve peers | ||
show bridge-domain 1 | show bridge-domain 1 | ||
+ | show mac address-table nve | ||
+ | |||
+ | ===Nexus=== | ||
+ | VXLAN är en vanlig overlay-teknik i datacenter. Underlay ska lösa routing mellan IPv4-loopbacks samt ha stöd för jumbo frames (mtu 9216). Man kan köra IP Unnumbered mellan leaf och spine. UDP port number är 4789, detta går ej att ställa om. ARP suppression är supporterat. För tenants IGMP notera att interface nve1 default är en static mrouter-port. | ||
+ | feature nv overlay | ||
+ | feature vn-segment-vlan-based | ||
+ | interface nve1 | ||
+ | no shutdown | ||
+ | source-interface loopback0 | ||
+ | Bridge domain med static flood list. | ||
+ | vlan 100 | ||
+ | vn-segment 10100 | ||
+ | |||
+ | interface nve1 | ||
+ | member vni 10100 | ||
+ | ingress-replication protocol static | ||
+ | peer-ip 10.0.0.3 | ||
+ | peer-ip 10.0.0.4 | ||
+ | peer-ip 10.0.0.5 | ||
+ | |||
+ | Verify | ||
+ | show nve int nve1 | ||
+ | show nve peers | ||
+ | show nve vni | ||
+ | show nve vni ingress-replication | ||
+ | |||
+ | '''Multicast underlay''' <br/> | ||
+ | Ingress replication supporteras på Nexus 9000 men inte Nexus 5600 eller Nexus 7000. Man får då lösa BUM med multicast. Alla noder måste routa multicast. Best practice är att ha RP i spine-lagret. Använd anycast RP för lastdelning samt redundans. Notera att multicast kontra unicast är ett designval som innebär en trade-off mellan control plane scalability och data plane efficiency. | ||
+ | |||
+ | Spine | ||
+ | ip pim rp-address 10.0.0.100 group-list 224.0.0.0/4 | ||
+ | ip pim anycast-rp 10.0.0.100 10.0.0.2 | ||
+ | ip pim anycast-rp 10.0.0.100 10.0.0.3 | ||
+ | |||
+ | show ip mroute | ||
+ | |||
+ | '''Nexus 5600''' <br/> | ||
+ | Nexus 5600 måste köra i store-and-forward switching mode för att supportera VXLAN encapsulation. | ||
+ | hardware ethernet store-and-fwd-switching | ||
+ | copy run start | ||
+ | reload | ||
+ | show switching-mode | ||
+ | |||
+ | ====vPC==== | ||
+ | När man kör [[Nexus_vPC|vPC]] med VXLAN måste man sätta en secondary IP address på det loopback som är source för NVE. Denna ska vara samma på både vPC-peers och det är så dom presenterar sig själva som en enda VTEP till remote NVE peers. CFS dubbelkollar att man har gjort rätt. Däremot om peer-linken går ner så kommer loopback primary address att användas som source på de VXLAN-enkapsulerade paketen som skickas iväg. | ||
+ | |||
+ | vPC Best practice när man kör VXLAN. | ||
+ | vpc domain 1 | ||
+ | peer-switch | ||
+ | peer-keepalive destination 10.0.0.2 source 10.0.0.1 | ||
+ | peer-gateway | ||
+ | ipv6 nd synchronize | ||
+ | ip arp synchronize | ||
+ | |||
+ | Man bör också sätta upp ett nve-peer-link-vlan för att förhindra suboptimal routing. Detta vlan ska endast tillåtas på trunken som är peer-link. | ||
+ | vlan 10 | ||
+ | |||
+ | vpc nve peer-link-vlan 10 | ||
+ | |||
+ | interface vlan10 | ||
+ | ip router ospf 1 area 0 | ||
+ | ip ospf cost 2 | ||
+ | ip pim sparse-mode | ||
+ | no shut | ||
+ | |||
+ | ==EVPN== | ||
+ | Se [[Cisco_EVPN|Cisco EVPN]]. | ||
+ | |||
+ | ==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 | ||
+ | |||
+ | ==FHRP över VXLAN== | ||
+ | Man kan använda [[Cisco_FHRP|FHRP]]-protokoll tillsammans med VXLAN. De skickar hello packets som då floodas över VXLAN overlayet. Man måste ge tcam till detta, ''hardware access-list tcam region arp-ether 256''. Detta funkar endast med flood and learn VXLAN. | ||
+ | interface vlan 100 | ||
+ | ip address 192.168.1.2/24 | ||
+ | hsrp 100 | ||
+ | ip 192.168.1.1 | ||
+ | |||
+ | ==Q-in-VNI== | ||
+ | Endast VXLAN Bridging funkar med Q-in-VNI. | ||
+ | interface nve1 | ||
+ | overlay-encapsulation vxlan-with-tag | ||
+ | |||
+ | interface ethernet 1/4 | ||
+ | switchport mode dot1q-tunnel | ||
+ | switchport access vlan 100 | ||
+ | spanning-tree bpdufilter enable | ||
+ | Man kan även släppa över LACPDU:er. | ||
+ | interface nve1 | ||
+ | overlay-encapsulation vxlan-with-tag tunnel-control-frames lacp | ||
+ | QinQ-QinVNI | ||
+ | interface Ethernet1/4 | ||
+ | switchport trunk allow-multi-tag | ||
[[Category:Cisco]] | [[Category:Cisco]] |
Latest revision as of 12:31, 28 August 2019
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, default UDP destination port är 4789. Tack vare att det är vanliga IP-paket som traverserar fabricen kan alla länkar användas och det finns stöd för ECMP. VXLAN i sig har inget separat control plane utan signalering får skötas av en extern controller, BGP EVPN 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 t.ex. Geneve har. Ska NX-OS manageras av en third-party controller måste man slå på NXDB. Se även Cisco VLAN.
Flood and Learn
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 (BD-oriented mode).
interface lo0 ip address 11.11.11.11 255.255.255.255 interface nve1 source-interface Loopback0 member vni 5001 mcast-group 239.0.10.10 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 VTEP:s manuellt.
interface nve1 ingress-replication 22.22.22.22
Verify
show nve vni show nve peers show bridge-domain 1 show mac address-table nve
Nexus
VXLAN är en vanlig overlay-teknik i datacenter. Underlay ska lösa routing mellan IPv4-loopbacks samt ha stöd för jumbo frames (mtu 9216). Man kan köra IP Unnumbered mellan leaf och spine. UDP port number är 4789, detta går ej att ställa om. ARP suppression är supporterat. För tenants IGMP notera att interface nve1 default är en static mrouter-port.
feature nv overlay feature vn-segment-vlan-based interface nve1 no shutdown source-interface loopback0
Bridge domain med static flood list.
vlan 100 vn-segment 10100 interface nve1 member vni 10100 ingress-replication protocol static peer-ip 10.0.0.3 peer-ip 10.0.0.4 peer-ip 10.0.0.5
Verify
show nve int nve1 show nve peers show nve vni show nve vni ingress-replication
Multicast underlay
Ingress replication supporteras på Nexus 9000 men inte Nexus 5600 eller Nexus 7000. Man får då lösa BUM med multicast. Alla noder måste routa multicast. Best practice är att ha RP i spine-lagret. Använd anycast RP för lastdelning samt redundans. Notera att multicast kontra unicast är ett designval som innebär en trade-off mellan control plane scalability och data plane efficiency.
Spine
ip pim rp-address 10.0.0.100 group-list 224.0.0.0/4 ip pim anycast-rp 10.0.0.100 10.0.0.2 ip pim anycast-rp 10.0.0.100 10.0.0.3 show ip mroute
Nexus 5600
Nexus 5600 måste köra i store-and-forward switching mode för att supportera VXLAN encapsulation.
hardware ethernet store-and-fwd-switching copy run start reload show switching-mode
vPC
När man kör vPC med VXLAN måste man sätta en secondary IP address på det loopback som är source för NVE. Denna ska vara samma på både vPC-peers och det är så dom presenterar sig själva som en enda VTEP till remote NVE peers. CFS dubbelkollar att man har gjort rätt. Däremot om peer-linken går ner så kommer loopback primary address att användas som source på de VXLAN-enkapsulerade paketen som skickas iväg.
vPC Best practice när man kör VXLAN.
vpc domain 1 peer-switch peer-keepalive destination 10.0.0.2 source 10.0.0.1 peer-gateway ipv6 nd synchronize ip arp synchronize
Man bör också sätta upp ett nve-peer-link-vlan för att förhindra suboptimal routing. Detta vlan ska endast tillåtas på trunken som är peer-link.
vlan 10 vpc nve peer-link-vlan 10 interface vlan10 ip router ospf 1 area 0 ip ospf cost 2 ip pim sparse-mode no shut
EVPN
Se Cisco EVPN.
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
FHRP över VXLAN
Man kan använda FHRP-protokoll tillsammans med VXLAN. De skickar hello packets som då floodas över VXLAN overlayet. Man måste ge tcam till detta, hardware access-list tcam region arp-ether 256. Detta funkar endast med flood and learn VXLAN.
interface vlan 100 ip address 192.168.1.2/24 hsrp 100 ip 192.168.1.1
Q-in-VNI
Endast VXLAN Bridging funkar med Q-in-VNI.
interface nve1 overlay-encapsulation vxlan-with-tag interface ethernet 1/4 switchport mode dot1q-tunnel switchport access vlan 100 spanning-tree bpdufilter enable
Man kan även släppa över LACPDU:er.
interface nve1 overlay-encapsulation vxlan-with-tag tunnel-control-frames lacp
QinQ-QinVNI
interface Ethernet1/4 switchport trunk allow-multi-tag