Difference between revisions of "Cisco L2VPN"

From HackerNet
Jump to: navigation, search
Line 1: Line 1:
Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av pseudo-wires. De underliggande tekniker som kan användas som pseudo-wire är Ethernet over MPLS, L2TPv3 eller [[Cisco_GRE|GRE]]. För control plane (Auto-Discovery och Signaling) kan LDP eller [[Cisco_BGP|BGP]] användas. VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med [[Cisco_STP|STP]] eller ha routrar direkt på andra sidan. Se även [[Cisco_MPLS|Cisco MPLS]].
+
Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av pseudowires. De underliggande tekniker som kan användas som pseudowire är Ethernet over MPLS, L2TPv3 eller [[Cisco_GRE|GRE]]. Den vanligaste bäraren är MPLS och för control plane (Auto-Discovery/Signaling) kan LDP eller [[Cisco_BGP|BGP]] användas. Det finns inbyggd loop prevention i form av att frames som kommer ifrån en VPLS aldrig får skickas vidare inom VPLS. VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Det man gör då är att koppla ihop flera VPLS och stänga av split horizon vid intersektionerna. En annan begränsande faktor är minnesmängden på VPLS Edge devices eftersom de måste lära sig kundens MAC-adresser. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med [[Cisco_STP|STP]] alternativt ha routrar direkt på andra sidan. Se även [[Cisco_MPLS|Cisco MPLS]].
  
'''Ethernet Virtual Circuit''' <br/>
+
===Ethernet Virtual Circuit===
Att binda en kund eller tjänst till en port eller VLAN var en begränsande faktor i access-lagret. Därför togs EVC framework fram för att komma förbi det. Det är en unified software infrastructure för att konfigurera Ethernet services. Tanken är att låta access circuits mappas till flera olika typer av Ethernet-tjänster så som L2 point-to-point local connects, L2 point-to-point xconnects, L2 multipoint-to-multipoint VPLS och andra tjänster.  
+
Att binda en kund eller tjänst till en port eller VLAN var en begränsande faktor i access-lagret. Därför togs EVC framework fram för att komma förbi det. Det är en unified software infrastructure för att konfigurera Ethernet services. Tanken är att låta access circuits mappas till flera olika typer av Ethernet-tjänster så som L2 point-to-point local connects, L2 point-to-point xconnects, L2 multipoint-to-multipoint VPLS och andra tjänster. Man kan genom att välja encapsulation även vlan-tagga, dubbel-tagga eller skriva om vlan-tag.
  
 
  interface GigabitEthernet2
 
  interface GigabitEthernet2
Line 9: Line 9:
 
   encapsulation default
 
   encapsulation default
 
   xconnect 19.19.19.19 219 encapsulation mpls
 
   xconnect 19.19.19.19 219 encapsulation mpls
Man kan i samband med detta även vlan-tagga, dubbel-tagga eller skriva om vlan-tag.
+
Verification
 +
show ethernet service instance summary
 +
show ethernet service instance id 10 interface gig2 detail
  
 
=Konfiguration=
 
=Konfiguration=
LDP based VPLS (RFC 4762)
+
Manual VPLS, legacy syntax. Bridge domain används för mac learning samt att binda ihop Ethernet UNI med LSP. Man kan ej blanda gammal och ny syntax pga att bridge-domain betyder olika beroende på config context.
 
  l2 vfi VPLS manual
 
  l2 vfi VPLS manual
   vpn id 10
+
   vpn id 100
   bridge-domain 10
+
   bridge-domain 1
 
   neighbor 10.0.0.2 encapsulation mpls
 
   neighbor 10.0.0.2 encapsulation mpls
 
   neighbor 10.0.0.3 encapsulation mpls
 
   neighbor 10.0.0.3 encapsulation mpls
   neighbor 10.0.0.4 encapsulation mpls
+
 +
interface gi2
 +
   service instance 10 ethernet
 +
  encapsulation default
 +
  bridge-domain 1
  
LDP based VPLS with BGP Auto discovery
+
Manual VPLS, preferred syntax. Full mesh scaling är ett administrativt problem oavsett syntax.
  l2 vfi VPLS autodiscovery
+
  l2vpn vfi context VPLS
 
   vpn id 100
 
   vpn id 100
 
+
  member 10.0.0.2 encapsulation mpls
Attaching l2 vfi to VLAN
+
   member 10.0.0.3 encapsulation mpls
interface Vlan10
+
   member 10.0.0.4 encapsulation mpls
   no ip address
+
   xconnect vfi l2vpn
 
 
 
Attach router interface
 
 
  interface gi2
 
  interface gi2
  no ip address
 
 
   service instance 10 ethernet
 
   service instance 10 ethernet
 
   encapsulation default
 
   encapsulation default
  bridge-domain 10
+
 +
bridge-domain 1
 +
  mac limit maximum addresses 50
 +
  member gi2 service-instance 10
 +
  member vfi VPLS
 +
 
 +
Verify
 +
show l2vpn vfi
 +
show bridge-domain
 +
show mpls l2transport vc
 +
show mpls forwarding-table | i l2ckt
  
'''BGP based VPLS''' (RFC 4761)
+
Man kan även koppla in L3-interface på sin bridge-domain.
 +
interface BDI1
 +
  ip address 172.20.0.10 255.255.255.0
 +
 
 +
===BGP Autodiscovery===
 +
'''LDP''' based VPLS med BGP Autodiscovery (RFC 4762). BGP används för att upptäcka VPLS-endpoints automatiskt för varje VPN och VC-grannar konfigureras ej maneullt. Varje VPLS får en egen rd och detta går att använda i kombination med route reflector.
 +
 
 +
l2vpn vfi context VPLS
 +
  vpn id 100
 +
  autodiscovery bgp signaling ldp
 +
  auto-route-target  #på default
 +
 
  router bgp 100
 
  router bgp 100
 
   address-family l2vpn vpls
 
   address-family l2vpn vpls
 +
  neighbor 1.1.1.1 activate
 +
  neighbor 1.1.1.1 send-comunity extended
 +
Verify
 +
show bgp l2vpn vpls all summary
  
 +
'''BGP''' based VPLS med BGP Autodiscovery (RFC 4761). BGP används för att upptäcka VPLS-endpoints men också för att signalera labels. Man måste suppress ldp signaling för att slå på bgp signaling.
 +
l2vpn vfi context VPLS
 +
  vpn id 100
 +
  autodiscovery bgp signaling bgp
 +
  ve id 11  #unik per VPLS Edge device
 +
 +
router bgp 100
 +
  address-family l2vpn vpls
 +
  neighbor 1.1.1.1 suppress-signaling-protocol ldp
 
Verify
 
Verify
  show xconnect all
+
  show bgp l2vpn vpls all
  show l2vpn vfi
+
 
  show mpls l2transport vc
+
===L2 Tunneling===
  show vfi
+
För CDP, LACP, STP frames etc krävs l2 tunneling protocol. Detta finns det inte stöd för på alla plattformar, ''l2protocol action not supported''.
 +
  interface gi2
 +
  service instance 100 ethernet
 +
  l2protocol tunnel
 +
   
 +
  show ethernet service instance detail | i L2protocol
  
 
=AToM=
 
=AToM=

Revision as of 15:18, 6 January 2017

Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av pseudowires. De underliggande tekniker som kan användas som pseudowire är Ethernet over MPLS, L2TPv3 eller GRE. Den vanligaste bäraren är MPLS och för control plane (Auto-Discovery/Signaling) kan LDP eller BGP användas. Det finns inbyggd loop prevention i form av att frames som kommer ifrån en VPLS aldrig får skickas vidare inom VPLS. VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Det man gör då är att koppla ihop flera VPLS och stänga av split horizon vid intersektionerna. En annan begränsande faktor är minnesmängden på VPLS Edge devices eftersom de måste lära sig kundens MAC-adresser. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med STP alternativt ha routrar direkt på andra sidan. Se även Cisco MPLS.

Ethernet Virtual Circuit

Att binda en kund eller tjänst till en port eller VLAN var en begränsande faktor i access-lagret. Därför togs EVC framework fram för att komma förbi det. Det är en unified software infrastructure för att konfigurera Ethernet services. Tanken är att låta access circuits mappas till flera olika typer av Ethernet-tjänster så som L2 point-to-point local connects, L2 point-to-point xconnects, L2 multipoint-to-multipoint VPLS och andra tjänster. Man kan genom att välja encapsulation även vlan-tagga, dubbel-tagga eller skriva om vlan-tag.

interface GigabitEthernet2
 no ip address
 service instance 10 ethernet
  encapsulation default
  xconnect 19.19.19.19 219 encapsulation mpls

Verification

show ethernet service instance summary
show ethernet service instance id 10 interface gig2 detail

Konfiguration

Manual VPLS, legacy syntax. Bridge domain används för mac learning samt att binda ihop Ethernet UNI med LSP. Man kan ej blanda gammal och ny syntax pga att bridge-domain betyder olika beroende på config context.

l2 vfi VPLS manual
 vpn id 100
 bridge-domain 1
 neighbor 10.0.0.2 encapsulation mpls
 neighbor 10.0.0.3 encapsulation mpls

interface gi2
 service instance 10 ethernet
  encapsulation default
  bridge-domain 1

Manual VPLS, preferred syntax. Full mesh scaling är ett administrativt problem oavsett syntax.

l2vpn vfi context VPLS
 vpn id 100
 member 10.0.0.2 encapsulation mpls
 member 10.0.0.3 encapsulation mpls
 member 10.0.0.4 encapsulation mpls

interface gi2
 service instance 10 ethernet
  encapsulation default

bridge-domain 1
 mac limit maximum addresses 50
 member gi2 service-instance 10
 member vfi VPLS 

Verify

show l2vpn vfi
show bridge-domain
show mpls l2transport vc
show mpls forwarding-table | i l2ckt

Man kan även koppla in L3-interface på sin bridge-domain.

interface BDI1
 ip address 172.20.0.10 255.255.255.0

BGP Autodiscovery

LDP based VPLS med BGP Autodiscovery (RFC 4762). BGP används för att upptäcka VPLS-endpoints automatiskt för varje VPN och VC-grannar konfigureras ej maneullt. Varje VPLS får en egen rd och detta går att använda i kombination med route reflector.

l2vpn vfi context VPLS
 vpn id 100
 autodiscovery bgp signaling ldp
  auto-route-target  #på default

router bgp 100
 address-family l2vpn vpls
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-comunity extended

Verify

show bgp l2vpn vpls all summary

BGP based VPLS med BGP Autodiscovery (RFC 4761). BGP används för att upptäcka VPLS-endpoints men också för att signalera labels. Man måste suppress ldp signaling för att slå på bgp signaling.

l2vpn vfi context VPLS
 vpn id 100
 autodiscovery bgp signaling bgp
  ve id 11  #unik per VPLS Edge device 

router bgp 100
 address-family l2vpn vpls
  neighbor 1.1.1.1 suppress-signaling-protocol ldp

Verify

show bgp l2vpn vpls all

L2 Tunneling

För CDP, LACP, STP frames etc krävs l2 tunneling protocol. Detta finns det inte stöd för på alla plattformar, l2protocol action not supported.

interface gi2
 service instance 100 ethernet
  l2protocol tunnel

show ethernet service instance detail | i L2protocol

AToM

Any Transport over MPLS (RFC 4448). Requires end-to-end MPLS LSP och att targeted LDP tillåts.

xconnect logging pseudowire status 
mpls ldp discovery targeted-hello accept

PE1

interface gi2
 xconnect 2.2.2.2 102 encapsulation mpls

PE2, VCID måste matcha på båda sidor

interface gi2
 xconnect 1.1.1.1 102 encapsulation mpls

Verify

show xconnect all
show xconnect peer 2.2.2.2 vcid 102
show mpls l2transport vc 102 detail
ping mpls pseudowire 10.0.0.10 102

Segment 1 är de interface som kunden sitter på, segment 2 är core.

Inter AS
Inter AS pseudowire går att bygga PE <-> ASBR <-> ASBR <-> PE.

AS1-BR

pseudowire-class PW
 encapsulation mpls

l2 vfi PW-SWITCH point-to-point
 neighbor <AS2-BR IP> 100 pw-class PW
 neighbor <PE IP> 16 pw-class PW

L2TPv3

Layer 2 Tunneling Protocol (RFC 3931, RFC 4719) kräver CEF och IP-konnektivitet end-to-end. Det är endast point-to-point. IP protocol: 115.

pseudowire-class L2TP-PWCLASS
 encapsulation l2tpv3
 ip local interface Loopback0

interface gi2
 xconnect 2.2.2.2 102 pw-class L2TP-PWCLASS

Verify

show l2tp session all
show l2tun tunnel all