Difference between revisions of "Cisco OTV"

From HackerNet
Jump to: navigation, search
m
m
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Overlay Transport Virtualization är en tunnlingsteknik för att sträcka L2-domäner över ett L3-nät. Det är routing baserat på mac-adress. Det finns inbyggd felisolering tack vare att broadcast och unknown unicast droppas vid edge istället för att floodas till andra sidan. ARP optimeras också genom att Edge Devices kan svara på ARP-frågor för enheter på andra sidan genom att lyssna på ARP-svar och spara dessa.  
+
Overlay Transport Virtualization är en tunnlingsteknik för att sträcka L2-domäner över ett L3-nät med hjälp av enkapsulering. Det är routing baserat på mac-adress och för control plane används IP-enkapsulerad [[Cisco_IS-IS|IS-IS]]. OTV lär sig MAC-IP par genom MAC address learning på internal interface, IGMP snooping och OTV control plane (IS-IS) updates. Alla MAC-adresser sparas i OTV Routing Information Base (ORIB) med VLAN ID och associerad remote IP.
 +
 
 +
Det finns inbyggd felisolering tack vare att broadcast och unknown unicast droppas vid edge istället för att floodas över tunneln. ARP optimeras också genom att Edge Devices kan svara på ARP-frågor för enheter som finns på andra sidan, detta genom att lyssna på ARP-trafik på den lokala siten och cachea den. OTV går även att kombinera med en krypterad transport, t.ex. [[Cisco_IPsec#GET_VPN|GET VPN]]. IPsec kan då terminera i samma box som OTV och det funkar både ihop med OTV unicast och multicast mode.
  
 
===Termer===
 
===Termer===
 
'''Edge Device:''' Gränsenhet mellan lanet och utsidan, där OTV-enkapsulering görs.
 
'''Edge Device:''' Gränsenhet mellan lanet och utsidan, där OTV-enkapsulering görs.
  
'''Authoritative Edge Device:''' Enhet som är aktiv på siten. Endast en i taget.
+
'''Authoritative Edge Device:''' Enhet som är aktiv på siten. Endast en i taget, vlan lastdelas.
  
'''Join Interface:''' L3-interface som ska kunna nå andra sidan.
+
'''Join Interface:''' L3-interface som ska kunna nå andra OTV-siters join interface.
  
'''Internal Interface:''' L2-interface som når de VLAN som ska extendas.
+
'''Internal Interface:''' L2-interface som når de VLAN som ska sträckas.
  
'''Overlay Network:''' Det logiska nätverk som där L2-trafiken går över Transport Network. Inga BPDUer går över detta nät.
+
'''Overlay Network:''' Det logiska nätverk där L2-trafiken går över Transport Network. Inga BPDUer går över detta nät.
  
 
'''Transport Network:''' Det nätverk som kopplar ihop de olika siterna, kan vara WAN/internet eller en blandning. Ska finnas rum för 42 extra bytes MTU.
 
'''Transport Network:''' Det nätverk som kopplar ihop de olika siterna, kan vara WAN/internet eller en blandning. Ska finnas rum för 42 extra bytes MTU.
  
=Neighbors=
+
==Neighbors==
Innan trafik kan forwarderas måste det upprättas grannskap. För detta krävs Source Specific multicast-stöd av nätverket emellan (om transportnätverket inte stödjer multicast så kan en funktion i OTV som heter Adjacency Server användas). Edge devices skickar IGMP membership report och sedan OTV-enkapsulerade hello packets. Alla edge devices ska bilda adjacency. Neighbors delar MAC-adress reachability med varandra genom att skicka uppdateringar med multicast.  
+
Innan trafik kan forwarderas måste det upprättas grannskap. För detta krävs Source Specific multicast-stöd av nätverket emellan (om transportnätverket inte stödjer multicast så kan en unicast-funktion i OTV som heter Adjacency Server användas). Edge devices skickar IGMP membership report och sedan OTV-enkapsulerade hello packets. Alla edge devices ska bilda adjacency. Neighbors delar MAC-adress reachability med varandra genom att skicka uppdateringar med multicast.  
  
=Fast Convergence=  
+
===Fast Convergence===
 
* VLAN AED synchronization
 
* VLAN AED synchronization
 
* Site ID and proactive advertisments
 
* Site ID and proactive advertisments
Line 26: Line 28:
 
* Prioritized processing of LSPs
 
* Prioritized processing of LSPs
  
=IOS=
+
Om man använder multihoming, dvs flera edge devices per site är det starkt rekommenderat att slå på spanning-tree på OTV-routrarna. Genom att göra det kan de skicka ut topology change notification (TCN) när de märker att AED failar och rollen ska flyttas. Detta får switcharna att reducera sin aging timer till 15 sekunder vilket skyndar på konvergensen.
 +
 
 +
OTV-noder sparar remote unicast MAC addresses i sin ORIB även för non-AED vlan, detta för att snabba upp konvergens vid AED failover.
 +
 
 +
=Konfiguration=
 +
Notera att "OTV cannot be configured when MPLS features are enabled on the router".
 +
 
 +
site bridge-domain är samma sak som site-vlan.
 
  otv site bridge-domain 100
 
  otv site bridge-domain 100
 
  otv site-identifier 0000.0000.0101
 
  otv site-identifier 0000.0000.0101
 +
 
  otv isis Overlay1
 
  otv isis Overlay1
 
   log-adjacency-changes
 
   log-adjacency-changes
Line 34: Line 44:
 
Overlay-interface
 
Overlay-interface
 
  interface Overlay1
 
  interface Overlay1
no ip address
+
  no ip address
otv join-interface GigabitEthernet3
+
  otv join-interface GigabitEthernet3
otv use-adjacency-server 10.0.0.10 unicast-only
+
  otv use-adjacency-server 10.0.0.10 unicast-only
  service instance 200 ethernet
+
   
  description Test-vlan
+
  service instance 200 ethernet
  encapsulation dot1q 200
+
  description Test-vlan
  bridge-domain 200
+
  encapsulation dot1q 200
 +
  bridge-domain 200
 +
 
 +
Verify
 +
show otv site
 +
show otv adjacency
 +
show otv overlay 1
  
 
Internal interface
 
Internal interface
 
  interface GigabitEthernet4
 
  interface GigabitEthernet4
description Internal-interface
+
  description Internal-interface
no ip address
+
  no ip address
negotiation auto
+
  negotiation auto
service instance 100 ethernet
+
  service instance 100 ethernet
  encapsulation dot1q 100
+
  encapsulation dot1q 100
  bridge-domain 100
+
  bridge-domain 100
  service instance 200 ethernet
+
   
  description Test-vlan
+
  service instance 200 ethernet
  encapsulation dot1q 2
+
  description Test-vlan
  rewrite ingress tag translate 1-to-1 dot1q 200 symmetric  #VLAN translation 2 <-> 200
+
  encapsulation dot1q 2
   bridge-domain 200
+
  rewrite ingress tag translate 1-to-1 dot1q 200 symmetric  #VLAN translation 2 <-> 200
 +
  bridge-domain 200
 +
 
 +
Det går även att ta in det otaggat.
 +
interface GigabitEthernet2
 +
   service instance 201 ethernet
 +
  encapsulation untagged
 +
  bridge-domain 201
 +
 
 +
Verify
 +
show otv route
 +
show otv vlan
 +
show otv arp-nd-cache
 +
 
 +
AED håller även koll på multicast senders på den lokala siten. Show OTV multicast routing table for overlays.
 +
show otv mroute
 +
Default skickas alla paketen över overlay med DF-biten satt. För att tillåta fragmentation of IP packets över overlays måste man slå på det. OBS alla edge devices i overlayen bör supportera reassembly in hardware.
 +
otv fragmentation join-interface port-channel 1
 +
 
 +
===Enkapsulering===
 +
I nya versioner av hårdvara/mjukvara kan man välja vilken enkapsulering man ska använda, default används [[Cisco_GRE|GRE]]/[[Cisco_MPLS|MPLS]] men nu kan man även använda [[Cisco_VXLAN|UDP/VXLAN]]. Väljer man den VXLAN blir det overhead 50 Bytes per paket.
 +
otv encapsulation-format ip gre | udp
 +
 
 +
===FHRP===
 +
Om man har en design där båda sidor har FHRP active router måste FHRP-paket filtreras så de ej korsar OTVn.
 +
interface Overlay1
 +
  otv filter-fhrp
 +
Native-stöd även för NX-OS är planerat, lösning sålänge är att man använder VLAN-ACL i kombination med OTV MAC route filter och arp-inspection filter (feature dhcp).
  
 
=Nexus=
 
=Nexus=
 +
OTV är kompatibelt med ett IPv4 transport network.
 +
 
  feature otv
 
  feature otv
  
 
VLAN
 
VLAN
 
  vlan 1000
 
  vlan 1000
name OTV-SITE-VLAN
+
  name OTV-SITE-VLAN
 
  vlan 2000
 
  vlan 2000
name OTV-TEST1
+
  name OTV-TEST1
 
  vlan 2001
 
  vlan 2001
name OTV-TEST2
+
  name OTV-TEST2
 
  exit
 
  exit
  
Line 71: Line 116:
 
  no ipv6 dhcp relay
 
  no ipv6 dhcp relay
  
Join interface
+
'''Join interface''' <br/>
 +
Alla core och core facing L3 interface ska ha stöd för jumbo frames eftersom OTV sätter DF-biten i IP-headern på alla control och data plane packets. Vill man ha bättre load-balancing i sitt core (depolarization) kan man konfa flera IP-adresser (secondary) på sina join-interface, då kommer OTV att hasha och kunna använda alla IP-adresser som source på OTV-enkapsulerade paket. Transportnätverket måste supportera ASM eller PIM-Bidir men slå ej på PIM på join interfacet. Exempel, för SSM.
 
  interface po1
 
  interface po1
no ip redirects
+
  no ip redirects
ip igmp version 3
+
  ip igmp version 3
no shut
+
  no shut
  
Site VLAN
+
'''Site VLAN'''
 
  otv site-vlan 1000
 
  otv site-vlan 1000
 
  otv site-identifier 0x2
 
  otv site-identifier 0x2
 
+
 
  otv-isis default  
 
  otv-isis default  
vpn Overlay1
+
  vpn Overlay1
 +
 +
interface vlan1000
 +
  no ip redi
 +
  no ipv6 redi
 +
  ip add 10.1.1.1/30
 +
  no shut
  
  int vlan1000
+
'''Overlay''' <br/>
no ip redi
+
The site VLAN must not be extended into the OTV.
no ipv6 redi
+
  int Overlay1
ip add 10.1.1.1/30
+
  otv join-interface po1
no shut
+
  otv control-group 239.4.4.1
 +
  otv data-group 232.8.8.0/26
 +
  otv extended-vlan 2000
 +
  otv extended-vlan add 2001
 +
  no shut
  
Overlay
+
'''BFD''' <br/>
  int Overlay1
+
Man kan köra [[Cisco_BFD|BFD]] över site-vlan:et för att snabbt upptäcka forwarderingsproblem inom siten.
otv control-group 239.4.4.1
+
  interface vlan1000
  otv data-group 232.8.8.0/26
+
  no ip redirects
 +
  ip address 10.1.1.1/30
 +
   
 
  otv site-vlan 1000
 
  otv site-vlan 1000
  otv extended-vlan 2000
+
  otv isis bfd
otv extended-vlan add 2001
+
  otv join-interface po1
+
  otv-isis default
  no shut
+
  track-adjacency-nexthop
 +
Verify
 +
  show otv isis track-adjacency-nexthop
 +
  show bfd neighbors
  
Undantag
+
'''Static flood''' <br/>
 +
Undantag för unknown unicast (t.ex. silent hosts). Broadcast går ej.
 
  otv flood mac 0011.2233.4455 vlan 160
 
  otv flood mac 0011.2233.4455 vlan 160
Broadcast går ej
+
 
  otv flood mac FF:FF:FF:FF:FF:FF vlan 160
 
  otv flood mac FF:FF:FF:FF:FF:FF vlan 160
  The flood mac can not be a broadcast mac.
+
  ''The flood mac can not be a broadcast mac.''
 +
 
 +
'''VLAN Mapping''' <br/>
 +
Man kan skriva om VLAN ID:n på frames som gör över tunneln. Detta är inte supporterat på Cisco M3- och F3-moduler men man kan då använda per-port vlan-översättning (switchport vlan mapping).
 +
interface overlay 5
 +
  otv vlan mapping 10,14-16 to 20-21,25,28
 +
  otv extended-vlan 10,14-16
 +
Show
 +
show otv vlan-mapping
  
===FHRP===
+
===Loopback Join Interface===
Om man använder VLAN-ACL i kombination med OTV MAC route filter kan man ha en setup där båda sidor har FHRP active router. Native-stöd för detta är planerat.
+
Med NX-OS 8 kan man använda ett loopback som join interface, detta gör att man kan ha multipla routade upplänkar till sitt multicast core. Upplänkar och loopback ska köra PIM för att detta ska funka. Unicast (Adjacency Server) stöds inte med denna typ av join interface.
 +
feature pim
 +
 +
interface loopback1
 +
  ip address 10.10.10.2/32
 +
  ip router ospf 100 area 0.0.0.0
 +
  ip pim sparse-mode
 +
 +
interface Overlay1
 +
  otv join-interface loopback1
  
=Show=
+
===PVLAN===
  show otv site
+
I nyare releaser av NX-OS kan man sträcka [[Cisco_VLAN#Private_VLAN|Private VLAN]] över OTV och därmed behålla segmenteringen.
  show otv route
+
feature pvlan
  show otv vlan
+
  show otv adjacency
+
vlan 100
  show otv overlay 1
+
    private-vlan primary
 +
    private-vlan association 101-103
 +
  vlan 101
 +
    private-vlan community
 +
  vlan 102
 +
    private-vlan community
 +
  vlan 103
 +
    private-vlan isolated
 +
 +
  interface overlay 1
 +
    otv extend-vlan 100
 +
Show
 +
  show otv vlan private-vlan
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Latest revision as of 14:21, 16 January 2019

Overlay Transport Virtualization är en tunnlingsteknik för att sträcka L2-domäner över ett L3-nät med hjälp av enkapsulering. Det är routing baserat på mac-adress och för control plane används IP-enkapsulerad IS-IS. OTV lär sig MAC-IP par genom MAC address learning på internal interface, IGMP snooping och OTV control plane (IS-IS) updates. Alla MAC-adresser sparas i OTV Routing Information Base (ORIB) med VLAN ID och associerad remote IP.

Det finns inbyggd felisolering tack vare att broadcast och unknown unicast droppas vid edge istället för att floodas över tunneln. ARP optimeras också genom att Edge Devices kan svara på ARP-frågor för enheter som finns på andra sidan, detta genom att lyssna på ARP-trafik på den lokala siten och cachea den. OTV går även att kombinera med en krypterad transport, t.ex. GET VPN. IPsec kan då terminera i samma box som OTV och det funkar både ihop med OTV unicast och multicast mode.

Termer

Edge Device: Gränsenhet mellan lanet och utsidan, där OTV-enkapsulering görs.

Authoritative Edge Device: Enhet som är aktiv på siten. Endast en i taget, vlan lastdelas.

Join Interface: L3-interface som ska kunna nå andra OTV-siters join interface.

Internal Interface: L2-interface som når de VLAN som ska sträckas.

Overlay Network: Det logiska nätverk där L2-trafiken går över Transport Network. Inga BPDUer går över detta nät.

Transport Network: Det nätverk som kopplar ihop de olika siterna, kan vara WAN/internet eller en blandning. Ska finnas rum för 42 extra bytes MTU.

Neighbors

Innan trafik kan forwarderas måste det upprättas grannskap. För detta krävs Source Specific multicast-stöd av nätverket emellan (om transportnätverket inte stödjer multicast så kan en unicast-funktion i OTV som heter Adjacency Server användas). Edge devices skickar IGMP membership report och sedan OTV-enkapsulerade hello packets. Alla edge devices ska bilda adjacency. Neighbors delar MAC-adress reachability med varandra genom att skicka uppdateringar med multicast.

Fast Convergence

  • VLAN AED synchronization
  • Site ID and proactive advertisments
  • Prepopulation
  • BFD and route tracking
  • Graceful insertion
  • Graceful shutdown
  • Prioritized processing of LSPs

Om man använder multihoming, dvs flera edge devices per site är det starkt rekommenderat att slå på spanning-tree på OTV-routrarna. Genom att göra det kan de skicka ut topology change notification (TCN) när de märker att AED failar och rollen ska flyttas. Detta får switcharna att reducera sin aging timer till 15 sekunder vilket skyndar på konvergensen.

OTV-noder sparar remote unicast MAC addresses i sin ORIB även för non-AED vlan, detta för att snabba upp konvergens vid AED failover.

Konfiguration

Notera att "OTV cannot be configured when MPLS features are enabled on the router".

site bridge-domain är samma sak som site-vlan.

otv site bridge-domain 100
otv site-identifier 0000.0000.0101

otv isis Overlay1
 log-adjacency-changes

Overlay-interface

interface Overlay1
 no ip address
 otv join-interface GigabitEthernet3
 otv use-adjacency-server 10.0.0.10 unicast-only

 service instance 200 ethernet
  description Test-vlan
  encapsulation dot1q 200
  bridge-domain 200

Verify

show otv site
show otv adjacency
show otv overlay 1

Internal interface

interface GigabitEthernet4
 description Internal-interface
 no ip address
 negotiation auto
 service instance 100 ethernet
  encapsulation dot1q 100
  bridge-domain 100

 service instance 200 ethernet
  description Test-vlan
  encapsulation dot1q 2
  rewrite ingress tag translate 1-to-1 dot1q 200 symmetric  #VLAN translation 2 <-> 200
  bridge-domain 200

Det går även att ta in det otaggat.

interface GigabitEthernet2
 service instance 201 ethernet
  encapsulation untagged
  bridge-domain 201

Verify

show otv route
show otv vlan
show otv arp-nd-cache

AED håller även koll på multicast senders på den lokala siten. Show OTV multicast routing table for overlays.

show otv mroute

Default skickas alla paketen över overlay med DF-biten satt. För att tillåta fragmentation of IP packets över overlays måste man slå på det. OBS alla edge devices i overlayen bör supportera reassembly in hardware.

otv fragmentation join-interface port-channel 1

Enkapsulering

I nya versioner av hårdvara/mjukvara kan man välja vilken enkapsulering man ska använda, default används GRE/MPLS men nu kan man även använda UDP/VXLAN. Väljer man den VXLAN blir det overhead 50 Bytes per paket.

otv encapsulation-format ip gre | udp

FHRP

Om man har en design där båda sidor har FHRP active router måste FHRP-paket filtreras så de ej korsar OTVn.

interface Overlay1
 otv filter-fhrp

Native-stöd även för NX-OS är planerat, lösning sålänge är att man använder VLAN-ACL i kombination med OTV MAC route filter och arp-inspection filter (feature dhcp).

Nexus

OTV är kompatibelt med ett IPv4 transport network.

feature otv

VLAN

vlan 1000
 name OTV-SITE-VLAN
vlan 2000
 name OTV-TEST1
vlan 2001
 name OTV-TEST2
exit
no ip dhcp relay
no ipv6 dhcp relay

Join interface
Alla core och core facing L3 interface ska ha stöd för jumbo frames eftersom OTV sätter DF-biten i IP-headern på alla control och data plane packets. Vill man ha bättre load-balancing i sitt core (depolarization) kan man konfa flera IP-adresser (secondary) på sina join-interface, då kommer OTV att hasha och kunna använda alla IP-adresser som source på OTV-enkapsulerade paket. Transportnätverket måste supportera ASM eller PIM-Bidir men slå ej på PIM på join interfacet. Exempel, för SSM.

interface po1
 no ip redirects
 ip igmp version 3
 no shut

Site VLAN

otv site-vlan 1000
otv site-identifier 0x2

otv-isis default 
 vpn Overlay1

interface vlan1000
 no ip redi
 no ipv6 redi
 ip add 10.1.1.1/30
 no shut

Overlay
The site VLAN must not be extended into the OTV.

int Overlay1
 otv join-interface po1
 otv control-group 239.4.4.1
 otv data-group 232.8.8.0/26
 otv extended-vlan 2000
 otv extended-vlan add 2001
 no shut

BFD
Man kan köra BFD över site-vlan:et för att snabbt upptäcka forwarderingsproblem inom siten.

interface vlan1000
 no ip redirects
 ip address 10.1.1.1/30

otv site-vlan 1000
 otv isis bfd

otv-isis default
 track-adjacency-nexthop

Verify

show otv isis track-adjacency-nexthop
show bfd neighbors

Static flood
Undantag för unknown unicast (t.ex. silent hosts). Broadcast går ej.

otv flood mac 0011.2233.4455 vlan 160

otv flood mac FF:FF:FF:FF:FF:FF vlan 160
The flood mac can not be a broadcast mac.

VLAN Mapping
Man kan skriva om VLAN ID:n på frames som gör över tunneln. Detta är inte supporterat på Cisco M3- och F3-moduler men man kan då använda per-port vlan-översättning (switchport vlan mapping).

interface overlay 5
 otv vlan mapping 10,14-16 to 20-21,25,28
 otv extended-vlan 10,14-16

Show

show otv vlan-mapping

Loopback Join Interface

Med NX-OS 8 kan man använda ett loopback som join interface, detta gör att man kan ha multipla routade upplänkar till sitt multicast core. Upplänkar och loopback ska köra PIM för att detta ska funka. Unicast (Adjacency Server) stöds inte med denna typ av join interface.

feature pim

interface loopback1
 ip address 10.10.10.2/32
 ip router ospf 100 area 0.0.0.0
 ip pim sparse-mode

interface Overlay1
 otv join-interface loopback1

PVLAN

I nyare releaser av NX-OS kan man sträcka Private VLAN över OTV och därmed behålla segmenteringen.

feature pvlan

vlan 100
   private-vlan primary
   private-vlan association 101-103
vlan 101
   private-vlan community
vlan 102
   private-vlan community
vlan 103
   private-vlan isolated

interface overlay 1
   otv extend-vlan 100

Show

show otv vlan private-vlan