ACI Fundamentals
ACI Fundamentals
VXLAN
Architecture
Architecture ( Cont. )
Architecture ( Cont. )
Architecture ( Cont. )
Architecture ( Cont. )
Architecture ( Cont. )
Architecture ( Cont. )
What is an VXLAN?
The simplest VxLAN model is data-plan learning.
It’s also known as ‘bridging’, as it acts as a layer-2
bridge between hosts.
As the ‘flood and learn’ suggests, some traffic is
flooded through the underlay. It’s a lot like regular
ethernet in this way. Also, there’s no built-in support for
routing
Encapsulation
Ethernet Frame
Encapsulation ( Cont. )
VXLAN Header
•Reserved (8 bits) – Currently unused information. This is set to zero on transmission and ignored when received
•VNI (24 bits) – The VNI ID number. 24 bits allows for about 16 million possible VNI’s
•Reserved (24 bits) – As before, this is currently unused
•Flags (8 bits) – Currently only bit 3 is used. This is the I flag, and indicates if this is a valid VNI
Encapsulation ( Cont. )
VXLAN UDP
After the VxLAN header, the VTEP adds a UDP header. This uses a destination port
of 4789, and a random source port.
Encapsulation ( Cont. )
VXLAN IP (VTEP )
L2
VNI 5001 L3
VTEP 10.0.0.1
VNI 9001
Address Learning
Address Learning ( Cont. )
BUM ( Broadcast, Unknown unicast, Multicast )
Address Learning ( Cont. )
VNI Mcast Group
1701 224.0.17.1
9000100 224.0.0.100
16 224.0.44.57
Address Learning ( Cont. )
Address Learning ( Cont. )
Data Plane Learning ( Bridging )
Data plane learning is the typical flood-and-learn style. It’s in the original
VxLAN specification and is very similar to the way Ethernet learns addresses.
The other reason this is called bridging is that this is a layer-2 only solution. There is
no built-in way to route between VNI’s. If you need this, you must connect an
external router, and let traffic ‘hair-pin’ through it.
Address Learning ( Cont. )
Data Plane Learning Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Underlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Underlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Underlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
BGP operates in the control plane. A normal BGP deployment will share IP
reachability information (routes). When integrated with VxLAN, it can also
share MAC and VTEP reachability information.
As all the addresses are learned proactively, there’s no need for flooding.
When VTEPs are learned through BGP, they are dynamically added to a
whitelist. This prevents rogue VTEP injection. BGP neighbour authentication
can be used to prevent rogue peers.
Address Learning ( Cont. )
Control Plane Learning (EVPN)
Integrated Routing and Bridging (IRB) is supported when using BGP. This means
that each switch with a VTEP can also be a router.
Now that routing is supported, each switch with a VTEP can be a default gateway.
This is an anycast gateway.
Address Learning ( Cont. )
Control Plane Learning (EVPN) configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Underlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Interface vlan is used to create a virtual interface based on a VLAN. We use this to
create the anycast gateway IP for the VNI, and to tie VNI’s to a tenant’s VRF. Don’t
worry, it’ll make more sense soon.
Overlay evpn adds the EVPN address family.
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
There is a vMAC address on each switch for the Anycast Gateway. This is the
same on each switch. Making this the same on each means that any switch can
respond as the default gateway.
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration The NVE interface is the VTEP. There is
only one of these per switch. It uses the
loopback interface to get its IP address.
We set BGP as the host-reachability
protocol, which enables BGP control
plane learning. If this isn’t enabled, then
we’re using flood and learn.
The BGP instance is configured mostly as
normal. Remember that this is iBGP, so in
the real world you need to make sure
that you have a full mesh or route
reflectors.
We enable the L2VPN EVPN address
family, which lets MP-BGP carry MAC
addresses.
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Add the first tenant. The configuration here is the same on both switches.
create a VRF. This is associated with VNI 900001, making this an L3VNI. The L3VNI
defines the tenant within the fabric, and contains L3 routes for the tenant.
Address Learning ( Cont. )
The L3VNI needs an SVI to be created
Data Plane Learning Configuration on each switch. SVI’s are based on
VLAN, so we need to associate VNI
Overlay Configuration 900001 with VLAN 101 first.
The SVI then needs to be created and
associated with the tenant’s VRF. The
SVI and VRF represent the tenant’s
routing boundary.
The ip forward command is added to
the SVI. This command enables routing.
Technically, it enables the switch to
take the decapsulated VxLAN packet,
and forward it to the CPU or Supervisor
for handling.
In BGP, we need to add the Tenant’s
VRF. Inside this, we use the advertise
l2vpn evpn command. This enables
advertising EVPN routes (MAC
addresses) within the tenant.
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Now it’s time for the L2VNI’s. These are
the more traditional LAN segments.
We start with binding VNI 5000 to VLAN
1000. VNI 5000 then needs to be added
to the VTEP. This is also where we enable
ARP Suppression, and configure ingress
replication. Finally, associate the VNI with
the tenant’s L3VNI/VRF to enable IRB.
Each VNI that needs to be routable needs
to have an SVI in the tenant’s VRF. This
SVI is given the same IP address on each
switch, which enables Anycast Gateway.
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
Address Learning ( Cont. )
Data Plane Learning Configuration
Overlay Configuration
What is an ACI network?
4
4
In reality ACI is all about networking and how you deploy
applications onto the network
At a very basic level ACI is really just a Spine/Leaf network of
Nexus 9k switches with a management platform
13
ACI is an automated (VXLAN) overlay network running over
an automated (ISIS) underlay network
15
Physically Building the ACI Network
Physically Building the ACI Network
APIC
Physically Building the ACI Network
APIC
APIC
APIC
APIC
APIC
APIC
Interface Configuration: Fabric | Access Policies
APIC
APIC
APIC
APIC
APIC
APIC
Interface Selectors
Interface IDs
Domains
Where VLANs, VXLANs etc
are consumed
Pools
List of VLANs, VXLANs etc
Security Domains
Restricts VLANs, Switches,
Interfaces, Tenants
Interface Selectors
Interface IDs
Domains
Where VLANs, VXLANs etc
are consumed
Pools
List of VLANs, VXLANs etc
Let’s consider a practical example…
Rack Layout
APIC
APIC
APIC
Rack 02
Rack 01 Rack 03
APIC
APIC
c3850
Leaf 101 Leaf 103 Leaf 105
n7706 n9504
Rack 05 Rack 06
Rack 01 Rack 02 Rack 03 Rack 04
24
Rack Layout
APIC
APIC
APIC
c3850
Leaf 101 Leaf 103 Leaf 105
n7706 n9504
Rack 05
Rack 06
Rack 01 Rack 02 Rack 03 Rack 04
c3850
Leaf 101 Leaf 103 Leaf 105
n7706 n9504
Rack 05 Rack 06
Rack 01 Rack 02 Rack 03 Rack 04
Domains
common:vrf-01
Pools
shared_vlan_pool
Switch Policies Interfac Rack / Interfac
Leaf Profiles e Device e
Leafs_101_and_102 Rack / Leaf
R01_Leaf_101 1/1 R04_c3850 1/1
R01_Leaf_101 1/2 R05_n7706 1/1
Interface Policies R01_Leaf_101 1/3 R06_n9504 1/1
Leaf Profiles
R01_to_R04_c3850
R01_Leaf_102 1/1 R04_c3850 1/2
R01_Leaf_102 1/2 R05_n7706 1/2
Interface Selectors R01_Leaf_102 1/3 R06_n9504 1/2
1/1
Domains
common:vrf-01
Pools
shared_vlan_pool
25
Switch Policies Interfac Rack / Interfac
Leaf Profiles e Device e
Leafs_101_and_102 Rack / Leaf
R01_Leaf_101 1/1 R04_c3850 1/1
R01_Leaf_101 1/2 R05_n7706 1/1
Interface Policies R01_Leaf_101 1/3 R06_n9504 1/1
Leaf Profiles
R01_to_R05_n7706
R01_Leaf_102 1/1 R04_c3850 1/2
R01_Leaf_102 1/2 R05_n7706 1/2
Interface Selectors R01_Leaf_102 1/3 R06_n9504 1/2
1/2
Domains
common:vrf-01
Pools
shared_vlan_pool
26
Switch Policies Interfac Rack / Interfac
Leaf Profiles e Device e
Leafs_101_and_102 Rack / Leaf
R01_Leaf_101 1/1 R04_c3850 1/1
R01_Leaf_101 1/2 R05_n7706 1/1
Interface Policies R01_Leaf_101 1/3 R06_n9504 1/1
Leaf Profiles
R01_to_R05_n7706
R01_Leaf_102 1/1 R04_c3850 1/2
R01_Leaf_102 1/2 R05_n7706 1/2
Interface Selectors R01_Leaf_102 1/3 R06_n9504 1/2
1/2
Domains
common:vrf-01
Pools
shared_vlan_pool
26
Switch Policies Interfac Rack / Interfac
Leaf Profiles e Device e
Leafs_101_and_102 Rack / Leaf
R01_Leaf_101 1/1 R04_c3850 1/1
R01_Leaf_101 1/2 R05_n7706 1/1
Interface Policies R01_Leaf_101 1/3 R06_n9504 1/1
Leaf Profiles
R01_to_R06_n9504
R01_Leaf_102 1/1 R04_c3850 1/2
R01_Leaf_102 1/2 R05_n7706 1/2
Interface Selectors R01_Leaf_102 1/3 R06_n9504 1/2
1/3
Domains
common:vrf-01
Pools
shared_vlan_pool
27
Switch Policies Interfac Rack / Interfac
Leaf Profiles e Device e
Leafs_101_and_102 Rack / Leaf
R01_Leaf_101 1/1 R04_c3850 1/1
R01_Leaf_101 1/2 R05_n7706 1/1
Interface Policies R01_Leaf_101 1/3 R06_n9504 1/1
Leaf Profiles
R01_to_R06_n9504
R01_Leaf_102 1/1 R04_c3850 1/2
R01_Leaf_102 1/2 R05_n7706 1/2
Interface Selectors R01_Leaf_102 1/3 R06_n9504 1/2
1/3
Domains
common:vrf-01
Pools
shared_vlan_pool
27
Switch Policies Switch Policies Switch Policies
Leaf Profiles Leaf Profiles Leaf Profiles
Leafs_101_and_102 Leafs_101_and_102 Leafs_101_and_102
Concrete Model
Interface Policies Interface Policies Interface Policies Logical Model
Leaf Profiles Leaf Profiles Leaf Profiles
R01_to_R04_c3850 R01_to_R05_n7706 R01_to_R06_n9504
29
Switch Policies Switch Policies Switch Policies
Leaf Profiles Leaf Profiles Leaf Profiles
Leafs_101_and_102 Leafs_101_and_102 Leafs_101_and_102
Concrete Model
Interface Policies Interface Policies Interface Policies Logical Model
Leaf Profiles Leaf Profiles Leaf Profiles
R01_to_R04_c3850 R01_to_R05_n7706 R01_to_R06_n9504
31
Switch Policies Switch Policies Switch Policies
Leaf Profiles Leaf Profiles Leaf Profiles
Leafs_101_and_102 Leafs_101_and_102 Leafs_101_and_102
Concrete Model
Interface Policies Interface Policies Interface Policies Logical Model
Leaf Profiles Leaf Profiles Leaf Profiles
R01_to_R04_c3850 R01_to_R05_n7706 R01_to_R06_n9504
Interface Selectors
1/1, 1/2,1/3
33
Device Centric Model
Concrete Model
Logical Model
34
Device Centric Model
Concrete Model
Interface Policies Logical Model
Leaf Profiles
ESX_Hosts
Interface Selectors
1/1, 1/2, 1/3….
Pools
all_vlans
34
Switch Policies
Leaf Profiles
Leafs_101_and_102
Concrete Model
Interface Policies Logical Model
Leaf Profiles
ESX_Hosts
Leaf Profiles aligned to attached
Leaf dPerovifcileim.ea.pEpSeXd_tHoosswtsitches
Interface Selectors
1/1, 1/2, 1/3….
Pools
all_vlans
34
Switch Policies Switch Policies Switch Policies
Leaf Profiles Leaf Profiles Leaf Profiles
Leafs_101_and_102 Leafs_103_and_104 Leafs_105_and_106
Concrete Model
Interface Policies Logical Model
Leaf Profiles
ESX_Hosts
Leaf Profiles aligned to attached
device i.e. ESX_Hosts Configure additional Leaf
switches with the selected Leaf
Profile
Interface Selectors
1/1, 1/2, 1/3….
Pools
all_vlans
34
Switch Centric Model
35
Switch Centric Model
Interface Policies
Leaf Profiles
Leafs_101_and_102
Interface Selectors
1/1, 1/2, 1/3….
Pools
all_vlans
35
Switch Policies
Leaf Profiles
Leafs_101_and_102
Interface Policies
Leaf Profiles al iegned to switches Leaf Profiles
Leafs_101_and_102
Interface Selectors
1/1, 1/2, 1/3….
Pools
all_vlans
35
Switch Policies
Leaf Profiles
Leafs_101_and_102
Interface Policies
Leaf Profiles al iegned to switches Leaf Profiles
Leafs_101_and_102
Pools Domains
all_vlans physical_servers
35
Switch Policies
Leaf Profiles
Leafs_101_and_102
Interface Policies
Leaf Profiles al iegned to switches Leaf Profiles
Leafs_101_and_102
Pools Domains
all_vlans physical_servers
35
Repeat the process for additional
Leaf switches
Switch Policies Switch Policies Switch Policies
Leaf Profiles Leaf Profiles Leaf Profiles
Leafs_101_and_102 Leafs_103_and_104 Leafs_105_and_106
…………..
Leaf Policy Groups Leaf Policy Groups Leaf Policy Groups
ESX_Hosts Linux_Hosts Windows_Hosts
Pools Domains
all_vlans physical_servers
35
It’s not an either/or method, both methods can be used at the
same time…
36
Let’s use the network
interfaces…!
37
ACI Consumption Model
Interface Configuration Interface Consumption
Fabric | Access Policies Tenants
• VLANs • Tenants
• Domains • VRFs
• AAEP • Route Leaking
• Interface Policies • L2/L3out
• Leaf Policy Groups • Bridge Domains
38
ACI Consumption Model
Interface Configuration Interface Consumption
Fabric | Access Policies Tenants
• VLANs • Tenants
• Domains • VRFs
• AAEP • Route Leaking
• Interface Policies • L2/L3out
• Leaf Policy Groups • Bridge Domains
38
Tenants
39
Tenants: Isolated configuration “zones” on common physical
infrastructure
APIC
APIC
APIC
40
Tenants: Isolated configuration “zones” on common physical
infrastructure
APIC
APIC
BD:192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
AD DNS DHCP
Tenant: Common
40
Tenants: Isolated configuration “zones” on common physical
infrastructure
APIC
APIC
BD:192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
AD DNS DHCP
Tenant: Common
40
Tenants: Isolated configuration “zones” on common physical
infrastructure
APIC
APIC
BD:192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
AD DNS DHCP VRF-01
Tenant: Common
BD:192.168.10.x_24 BD: 192.168.12.x_24
GW:192.168.10.1/24 GW:192.168.12.1/24
Advertise Externally: Yes Advertise Externally: Yes
40
Tenants: Isolated configuration “zones” on common physical
infrastructure
APIC
APIC
Objects created in “Common” can be APIC
consumed by other Tenants
BD:192.168.10.x_24
GW:192.168.10.1/24
40
Looking under the covers at Tenants
apic1# show running-config tenant Cisco
# Command: show running-config tenant Cisco #
Time: Tue Jan 30 13:47:50 2018
tenant Cisco
vrf context vrf-01
exit
bridge-domain 192.168.10.x_24
vrf member vrf-01
exit
bridge-domain 192.168.11.x_24
vrf member vrf-01
exit
bridge-domain 192.168.12.x_24
vrf member vrf-01
exit
bridge-domain vlan-501
arp flooding
l2-unknown-unicast flood
no unicast routing
vrf member vrf-01
exit
41
Looking under the covers at Tenants
apic1# show running-config tenant Cisco
# Command: show running-config tenant Cisco.
# Time: Tue Jan 30 13:47:50 2018
tenant Cisco
vrf context vrf-01
exit
bridge-domain 192.168.10.x_24
vrf member vrf-01
exit
bridge-domain 192.168.11.x_24
vrf member vrf-01
exit
bridge-domain 192.168.12.x_24
vrf member vrf-01
exit
bridge-domain vlan-501
arp flooding
l2-unknown-unicast flood
no unicast routing
vrf member vrf-01
exit
41
VRFs
42
APIC
APIC
APIC
43
VRFs are configured within a Tenant
APIC
APIC
APIC
43
Bridge Domains
44
A Bridge Domain is a Layer 2 forwarding segment which
maps a (locally significant) VLAN on each Leaf switch to a
unique VXLAN segment
45
APIC
APIC
APIC
BD:192.168.10.x_24 BD:192.168.10.x_24
GW:192.168.10.1/24 .. GW:192.168.10.1/24
Advertise Externally: Yes Advertise Externally: Yes Layer 2 forwarding over
a Layer 3 network
46
What does this look like…
APIC
APIC
APIC
BD:192.168.10.x_24 BD:192.168.10.x_24
GW:192.168.10.1/24 .. GW:192.168.10.1/24
Advertise Externally: Yes Advertise Externally: Yes Layer 2 forwarding over
a Layer 3 network
46
Endpoint Groups
47
An Endpoint Group is a security “container” for devices that
are attached to an ACI fabric. There is a 1:1 mapping
between EPGs and Bridge Domains
48
APIC
APIC
APIC
H1 H2 H3 H4
49
What does this look like…
APIC
APIC
APIC
H1 H2 H3 H4
50
An Application Profile is a collection of EPGs which may or
may not represent an Application, e.g. MyExpenses
51
APIC
APIC
APIC
BD:10.52.248.192_27 BD:10.52.249.192_27
GW:10.52.248.193/27 GW:10.52.249.193/27
Advertise Externally: Yes Advertise Externally: Yes
H1 H2 H3 H4
52
What does this look like…
APIC
APIC
APIC
BD:10.52.248.192_27 BD:10.52.249.192_27
GW:10.52.248.193/27 GW:10.52.249.193/27
Advertise Externally: Yes Advertise Externally: Yes
H1 H2 H3 H4
55
What’s in a name?
Application Profile Application Profile
Application Profile
represents ESX represents
represents VLANs
Infrastructure Applications
55
Option 1: Single EPG on a Single BD with a Single Subnet –
“standard networking”
Tenant: Cisco
VRF: vrf-01
vDS
56
Option 1: Single EPG on a Single BD with a Single Subnet –
“standard networking”
Tenant: Cisco
VRF: vrf-01
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
56
Option 2: Multiple EPGs on a Single BD with a Single
Subnet – µSegmentation in IP space
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
57
Option 2: Multiple EPGs on a Single BD with a Single
Subnet – µSegmentation in IP space
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
57
Option 3: Multiple EPGs on a Single BD with Multiple
Subnets – IP secondary
Tenant: Cisco
VRF: vrf-01
BD: multiple_subnets
GW:192.168.10.1/24
GW:192.168.11.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
Communication blocked
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
Communication blocked Communication blocked
VM VM VM VM VM VM
Options 1, 2, and 3 – µSegmentation within an EPG/Port
Group based on machine attribute
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
vDS
Portgoup: Cisco:MyApp:Web
VM VM VM VM VM VM VM VM VM
60
Options 1, 2, and 3 – µSegmentation within an EPG/Port
Group based on machine attribute
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
Dynamic EPG: Dynamic EPG: Dynamic EPG:
Name=WebSrvsApp1 Name=WebSrvsApp2 Name=WebSrvsApp3
vDS
Portgoup: Cisco:MyApp:Web
VM VM VM VM VM VM VM VM VM
VMs mapped to dynamic EPG
based on attribute
60
Alternative option: 3x Portgroups
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
61
Alternative option: 3x Portgroups
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
VM VM VM VM VM VM VM VM VM
61
How do I retrofit my network and migrate from
“Network Centric” to “Application Centric”…?
62
Why change what is already working…?
63
Network Centric Mode: Single EPG on a Single BD with a
Single Subnet – “standard networking”
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup:
Portgoup: Cisco:VLANs_10-20:VLAN_10_All_Web_Servers
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM VM VM VM
64
Network Centric Mode: Single EPG on a Single BD with a
Single Subnet – “standard networking”
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup:
Portgoup: Cisco:VLANs_10-20:VLAN_10_All_Web_Servers
Cisco:MyApp:Web Cisco:MyApp:App
64
Application Centric Mode: Multiple EPGs on a Single BD
with a Single Subnet – µSegmentation in IP space
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup: Portgoup:
Cisco:App_1:Web_1 Cisco:App_2:Web_2 Cisco:App_3:Web_3
VM VM VM VM VM VM VM VM VM
65
Application Centric Mode: Multiple EPGs on a Single BD
with a Single Subnet – µSegmentation in IP space
Tenant: Cisco
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
vDS
Portgoup: Portgoup: Portgoup:
Cisco:App_1:Web_1 Cisco:App_2:Web_2 Cisco:App_3:Web_3
65
How do I allow inter
EPG communication?
66
Contracts permit communication
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
67
Contracts permit communication
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
68
How do I use Contracts?
68
How do I use Contracts?
68
Contract Scope
Contract enforcement is “scoped” at:
• Global
• Tenant
• VRF
• Application Profile
69
Contract Scope
Contract enforcement is “scoped” at:
• Global Application Profile: MyApp_1
• VRF
• Application Profile
• VRF
• Application Profile
Application Profile: MyApp_2
• VRF
• Application Profile
Application Profile: MyApp_2
• VRF
• Application Profile
Application Profile: MyApp_2
Tenant: Cisco
VRF: vrf-01
70
Intra-EPG Contract
Tenant: Cisco
VRF: vrf-01
Intra-EPG Contract:
permit_heartbeat EPG: Web(isolated) EPG: App EPG: DB
vDS: Cisco-vds-01 vDS: Cisco-vds-01 Path: 101/1/1-2
tcp 12675 VLAN: dynamic VLAN: dynamic VLAN: 12
70
Contract Preferred Groups
Tenant: Cisco
VRF: vrf-01
71
Contract Preferred Groups
Contract Consumer:
permit_to_
Tenant: Cisco
VRF: vrf-01 Active_Directory
tcp 53, 88, 445
Contract Provider:
permit_to_ EPG: Active_Directory EPG: App EPG: DB
vDS: Cisco-vds-01 vDS: Cisco-vds-01 Path: 101/1/1-2
Active_Directory VLAN: dynamic VLAN: dynamic VLAN: 12
tcp 53, 88, 445
71
Contracts Inheritance
72
Contracts Inheritance
72
Contracts Inheritance
72
Contracts Inheritance
72
Checking the Provided/Consumed Contracts
apic1# show epg
Tenant Application AEPg Consumed Contracts Provided Contracts Denied Contracts Description
---------- ---------- ---------- -------------------- -------------------- -------------------- ------------
Cisco MyApp App permit_to_database_servers permit_to_application_servers MyApp | App
73
Checking the Provided/Consumed Contracts
apic1# show epg
Tenant Application AEPg Consumed Contracts Provided Contracts Denied Contracts Description
---------- ---------- ---------- -------------------- -------------------- -------------------- ------------
Cisco MyApp App permit_to_database_servers permit_to_application_servers MyApp | App
73
What happens if I don’t know the required Filter ports?
74
Filter discovery
• Ask the Application Owner – it’s their application, they will (ok should) know
• Ask the Security Admin for the firewall rules
• Use an “any-any” Filter between EPGs ! Most customers start here
• Install Tetration for Application Dependency Mapping
• Use Wireshark
• Configure “Unenforced” mode on the VRF
75
Deep Dive – Bridge
Domains
76
Bridge Domain Forwarding Options
Hardware Proxy (default) Flood and Learn
• Unknown Unicast sent to Spine Proxy (forward/ • Unknown Unicast flooded over multicast tree
discarded) and constrained in BD or Encap
• Removes unknown unicast flooding
Bridge Domain Forwarding –
Hardware Proxy (Unicast
Routing)
78
Bridge Domain Forwarding – Hardware Proxy
79
Bridge Domain Forwarding – Hardware Proxy
Tenant: common
VRF: vrf-01
APIC
BD: 10.52.248.192_27
APIC
GW:10.52.248.193/27
Advertise Externally: Yes
APIC
EPG: infra-ssharman-29
Interface: candid-prod-64.1.0.0.872
VLAN: 2087 vDS
Portgoup:
ssharman|Candid|candid-
candid- prod-64.1.0.0.872
VM VM VM
VM VM VM
79
Bridge Domain Forwarding – Hardware Proxy
80
Bridge Domain Forwarding – Hardware Proxy
80
Bridge Domain Forwarding – Hardware Proxy
80
Bridge Domain Forwarding – Hardware Proxy
If the destination Mac/IP is not known the packet is sent to the Spine proxy database, where it will be
forwarded or discarded
80
Endpoint Learning – Flood and Learn with Unicast Routing
Enabled
apic1# show endpoints vlan 2087
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : ssharman
Application : Candid
AEPg : candid-prod-64.1.0.0.872
81
Endpoint Learning – Flood and Learn with Unicast Routing
Enabled
apic1# show endpoints vlan 2087
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : ssharman
Application : Candid
AEPg : candid-prod-64.1.0.0.872
81
Bridge Domain Forwarding –
Flood and Learn with Unicast
Routing Disabled
82
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Disabled
83
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Disabled
APIC
BD: outside_infra-
ssharman-29
Unknown unicast GW: N/A
Advertise Externally: N/A
flooded over multicast
tree
Tenant: ssharman
BD: infra-ssharman-29
Application Profile: lab-vlans
BD: infra-ssharman-29
GW: N/A GW: N/A EPG: infra-ssharman-29
Advertise Externally: N/A Advertise Externally: N/A Path:
1Gbps_vPC_to_n5548
VLAN: 29
EPG: infra-ssharman-29
Interface:1Gbps_vPC_to_n5548
VLAN: 29
H1 H2
H1 H2 H3
83
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Disabled
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Disabled
Unknown Unicast flooded over multicast tree and constrained in BD or Encap
IIffUUnniicacaststrorouuttinnggissddiisasabblleeddA
R
AR
PP
EPG only learns Mac issaalwwaaysysfloodedflooded
Addresses
Endpoint Learning – Flood and Learn with Unicast Routing
Disabled
apic1# show endpoints vlan 29
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : ssharman
Application : lab-vlans
AEPg : infra-ssharman-29
85
Endpoint Learning – Flood and Learn with Unicast Routing
Disabled
apic1# show endpoints vlan 29
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : ssharman
Application : lab-vlans
AEPg : infra-ssharman-29
85
Bridge Domain Forwarding –
Flood and Learn with Unicast
Routing Enabled
86
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Enabled
87
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Enabled
APIC
BD: outside_infra-
ssharman-29
Unknown unicast GW: N/A
Advertise Externally: N/A
flooded over multicast
tree
Tenant: ssharman
BD: infra-ssharman-29
Application Profile: lab-vlans
BD: infra-ssharman-29
GW: N/A GW: N/A EPG: infra-ssharman-29
Advertise Externally: N/A Advertise Externally: N/A Path:
1Gbps_vPC_to_n5548
VLAN: 29
EPG: infra-ssharman-29
Interface:1Gbps_vPC_to_n5548
VLAN: 29
H1 H2
H1 H2 H3
87
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Enabled
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Enabled
Bridge Domain Forwarding – Flood and Learn with Unicast
Routing Enabled
Dynamic Endpoints:
Tenant : ssharman
Application : lab-vlans
AEPg : infra-ssharman-29
89
Endpoint Learning – Flood and Learn with Unicast Routing
Enabled
apic1# show endpoints vlan 29
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : ssharman
Application : lab-vlans
AEPg : infra-ssharman-29
89
90
Why should we be cautious with Unicast Routing Enabled
and no SVI configured…?
90
Subnet behind L3out
L3out Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
EPG: App EPG: DB
vDS: Cisco-vds-01 vDS: Cisco-vds-01
VLAN: dynamic VLAN: dynamic
Communication allowed
vDS
Portgoup: Portgoup:
Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
VM VM VM VM VM VM
91
Subnet behind L3out
L3out Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
EPG: Web
vDS: Cisco-vds-01
VLAN: 10 EPG: App EPG: DB
Domain: outside vDS: Cisco-vds-01 vDS: Cisco-vds-01
Path: vPC_to_outside VLAN: dynamic VLAN: dynamic
Communication allowed
vDS
Portgoup: Portgoup:
Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
VM VM VM VM VM VM
91
Subnet behind L3out
L3out Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
EPG: Web
vDS: Cisco-vds-01
VLAN: 10 EPG: App EPG: DB
Domain: outside vDS: Cisco-vds-01 vDS: Cisco-vds-01
Path: vPC_to_outside VLAN: dynamic VLAN: dynamic
* Proxy B
0050.5686.2574 Leaf-102 Communication allowed
00:50:56:99:0A:11 Po1
192.168.10.10 Po1
00:50:56:99:BB:7B Po1
192.168.10.11 Po1 vDS vDS
00:50:56:99:EC:B3 Po1 Portgoup: Portgoup: Portgoup:
192.168.10.12 Po1 Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
d
apic1# fabric 101 clear system internal epm endpoint vrf Cisco:vrf-01 remote
e
w
Communication allo
EPG: Web
vDS: Cisco-vds-01
VLAN: 10 EPG: App EPG: DB
Domain: outside vDS: Cisco-vds-01 vDS: Cisco-vds-01
Path: vPC_to_outside VLAN: dynamic VLAN: dynamic
* Proxy B
0050.5686.2574 Leaf-102 Communication allowed
00:50:56:99:0A:11 Po1
192.168.10.10 Po1
00:50:56:99:BB:7B Po1
192.168.10.11 Po1 vDS vDS
00:50:56:99:EC:B3 Po1 Portgoup: Portgoup: Portgoup:
192.168.10.12 Po1 Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
92
Enforce Subnet Check on Bridge Domain to prevent IP
Learning
93
Enforce Subnet Check on Bridge Domain to prevent IP
Learning
93
Bridge Domain Configuration Recommendations
Generation 1 Generation 2 Mixed Leafs
• Bridge Domain Configuration • Fabric Wide Configuration • Bridge Domain Configuration
• Limit IP Learning ToSubnet • IP Aging Policy (enabled by • Limit IP Learning ToSubnet
default)
• Fabric Wide Configuration • Disable Remote EP Learn (on • Fabric Wide Configuration
• IP Aging Policy (enabled by border leaf) • IP Aging Policy (enabled by
default) • Prerequisite is to set Tenant> default)
Networking> VRFs> Policy
• Disable Remote EP Learn (on Control Enforcement to Ingress • Disable Remote EP Learn (on
border leaf) on your VRF instances border leaf)
• Prerequisite is to set Tenant> • Prerequisite is to set Tenant>
Networking> VRFs> Policy
• Enforce Subnet Check Networking> VRFs> Policy
Control Enforcement to Ingress Control Enforcement to Ingress
on your VRF instances on your VRF instances
• Enforce Subnet Check
94
Deep Dive – EPG
Forwarding
95
Spine Proxy Table
0025.b5dc.034e Leaf-102 ARP table only used for L3out
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
apic1# fabric 101 show ip arp
00:50:56:99:EF:B3 Leaf-101 ----------------------------------------------------------------
10.52.248.202 Leaf-101 Node 101 (Leaf-101)
----------------------------------------------------------------
00:00:0C:07:AC:1D Leaf-101 Flags: * - Adjacencies learnt on non-active FHRP router
00:18:74:E2:15:40 Leaf-101 + - Adjacencies synced via CFSoE
# - Adjacencies Throttled for Glean
APIC 00:1A:A2:D5:C0:80 Leaf-101 D - Static Adjacencies attached to down interface
0050.5686.2574 Leaf-102
IP ARP Table for all contexts
APIC
Total number of entries: 4
Address Age MAC Address Interface
10.0.0.1 - b838.61f7.1435 vlan1
APIC
101.0.100.1 00:07:39 0018.74e2.1540 eth1/96.9
101.0.101.1 00:06:59 0018.74e2.1540 eth1/96.13
101.0.102.1 00:06:59 0018.74e2.1540 eth1/96.25
Leaf: 101
Leaf 101 BD: vlan-8_host-mgmt
Leaf: 102
BD: vlan-8_host-mgmt
* Proxy B GW:10.52.248.193/27 GW:10.52.248.193/27
Advertise Externally: Yes Advertise Externally: Yes
Tunnel22
0050.5686.2574 (Leaf-102) Global Leaf 102
Tunnel22 EPG: host-mgmt * Proxy B
0025.b5dc.034e (Leaf-102) Interface: 101-102/1/21 Tunnel06
Tunnel22
VLAN: 8 0050.2986.2574 (Leaf-103) Global
10.52.248.21 (Leaf-102) Local Tunnel15
0025.b5dc.040f 1/21 0025.b5dc.040f (Leaf-101)
10.52.248.20 1/21 Tunnel15
C1 C2 C3 10.52.248.20 (Leaf-101) Local
0025.b5dc.034e 1/21
.20 .21 10.52.248.21 1/21
101/1/21 Tun22
BRKACI-1002 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 96
Spine Proxy Table
0025.b5dc.034e Leaf-102
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
00:50:56:99:EF:B3 Leaf-101
10.52.248.202 Leaf-101
00:00:0C:07:AC:1D Leaf-101
00:18:74:E2:15:40 Leaf-101
APIC 00:1A:A2:D5:C0:80 Leaf-101
0050.5686.2574 Leaf-102
APIC
APIC
IP Payload
101/1/21 Tun22
BRKACI-1002 © 2018 Cisco and/or its affiliates. All rights reserved. Cisco Public 96
Spine Proxy Table
0025.b5dc.034e Leaf-102
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
00:50:56:99:EF:B3 Leaf-101
10.52.248.202 Leaf-101
00:00:0C:07:AC:1D Leaf-101
00:18:74:E2:15:40 Leaf-101
APIC
00:1A:A2:D5:C0:80 Leaf-101
0050.5686.2574 Leaf-102
APIC
IP Payload
101/1/21 Tun22
Spine Proxy Table
0025.b5dc.034e Leaf-102
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
00:50:56:99:EF:B3 Leaf-101
L6 VTEP VXLAN IP Payload 10.52.248.202 Leaf-101 S1 VTEP VXLAN IP Payload
00:00:0C:07:AC:1D Leaf-101
If the ingress Leaf has learned the If the ingress Leaf has NOT learned the
destination IP to egress VTEP binding it 00:18:74:E2:15:40 Leaf-101 destination IP to egress VTEP binding it
3a will set required destination VTEP APIC
00:1A:A2:D5:C0:80 Leaf-101 3b will set required destination VTEP to the
address and forward 0050.5686.2574 Leaf-102 Spine Proxy VTEP
APIC
IP Payload
101/1/21 Tun22
Spine Proxy Table
0025.b5dc.034e Leaf-102
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
00:50:56:99:EF:B3 Leaf-101
L6 VTEP VXLAN IP Payload 10.52.248.202 Leaf-101 S1 VTEP VXLAN IP Payload
00:00:0C:07:AC:1D Leaf-101
If the ingress Leaf has learned the If the ingress Leaf has NOT learned the
destination IP to egress VTEP binding it 00:18:74:E2:15:40 Leaf-101 destination IP to egress VTEP binding it
3a will set required destination VTEP APIC
00:1A:A2:D5:C0:80 Leaf-101 3b will set required destination VTEP to the
address and forward 0050.5686.2574 Leaf-102 Spine Proxy VTEP
APIC
Leaf swaps ingress encapsulation with VXLAN (EPG) Leaf removes ingress VXLAN (EPG) ID and performs
2 ID and performs any required policy functions
4 any required policy functions
IP Payload
101/1/21 Tun22
Spine Proxy Table
0025.b5dc.034e Leaf-102
10.52.248.21 Leaf-102
Packet Walk
0025.b5dc.040f Leaf-101
10.52.248.20 Leaf-101
10.52.248.204 Leaf-101
00:50:56:99:EF:B3 Leaf-101
L6 VTEP VXLAN IP Payload 10.52.248.202 Leaf-101 S1 VTEP VXLAN IP Payload
00:00:0C:07:AC:1D Leaf-101
If the ingress Leaf has learned the If the ingress Leaf has NOT learned the
destination IP to egress VTEP binding it 00:18:74:E2:15:40 Leaf-101 destination IP to egress VTEP binding it
3a will set required destination VTEP APIC
00:1A:A2:D5:C0:80 Leaf-101 3b will set required destination VTEP to the
address and forward 0050.5686.2574 Leaf-102 Spine Proxy VTEP
APIC
Leaf swaps ingress encapsulation with VXLAN (EPG) Leaf removes ingress VXLAN (EPG) ID and performs
2 ID and performs any required policy functions
4 any required policy functions
IP Payload IP Payload
101/1/21 Tun22
The EPG shows the switches where the Mac/IP addresses
are learned
97
The EPG shows the switches where the Mac/IP addresses
are learned
97
The EPG shows the switches where the Mac/IP addresses
are learned
apic1# show endpoints vlan 8
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : common
Application : outside_vlans
AEPg : vlan-8_host-mgmt
98
The EPG shows the switches where the Mac/IP addresses
are learned
apic1# show endpoints vlan 8
Legends:
(P):Primary VLAN
(S):Secondary VLAN
Dynamic Endpoints:
Tenant : common
Application : outside_vlans
AEPg : vlan-8_host-mgmt
98
External Connectivity
99
100
Layer 2 connectivity
1 Bridge Domain = 1 Outside VLAN
100
External Layer 2 – Extended EPG
Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
BD: 192.168.11.x_24 BD: 192.168.12.x_24
GW:192.168.11.1/24 GW:192.168.12.1/24
Advertise Externally: Yes Advertise Externally: Yes
VM VM VM vDS
Portgoup: Portgoup:
Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
VM VM VM VM VM VM
101
External Layer 2 – Extended EPG
Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
BD: 192.168.11.x_24 BD: 192.168.12.x_24
GW:192.168.11.1/24 GW:192.168.12.1/24
Advertise Externally: Yes Advertise Externally: Yes
Web_VL10
vDS
VM VM VM Portgoup: Portgoup:
Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
VM VM VM VM VM VM
101
External Layer 2 – Extended EPG
Tenant: Cisco
Default Gateway VRF: vrf-01
192.168.10.1/24
Communication allowed
BD: Outside_Web_VL10 BD: 192.168.11.x_24 BD: 192.168.12.x_24
GW:N/A GW:192.168.11.1/24 GW:192.168.12.1/24
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
VM VM VM vDS
Portgoup: Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
Communication allowed
VM VM VM VM VM VM VM VM VM
101
102
Layer 3 connectivity
L3out’s are simply routed interfaces/sub interfaces/SVIs
102
Anatomy of a L3out
Tenant: Common
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
103
Anatomy of a L3out
Tenant: Common
VRF: vrf-01
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
103
Anatomy of a L3out
Tenant: Common
External Routed VRF: vrf-01
Network (L3out)
VRF: Common:VRF-01
Routing Protocol
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
103
Anatomy of a L3out
Tenant: Common
Logical Node Profile External Routed VRF: vrf-01
Switch ID / Router-ID Network (L3out)
Static-Routes* VRF: Common:VRF-01
Loopback Address Routing Protocol
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
103
Anatomy of a L3out
Tenant: Common
Logical Node Profile External Routed VRF: vrf-01
Switch ID / Router-ID Network (L3out)
Static-Routes* VRF: Common:VRF-01
Loopback Address Routing Protocol
Logical Interfaces
Profile
Routed Interface Type
Interface IP Address
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
VLAN: dynamic
103
Anatomy of a L3out
Tenant: Common
Logical Node Profile External Routed VRF: vrf-01
Switch ID / Router-ID Network (L3out)
Static-Routes* VRF: Common:VRF-01
Loopback Address Routing Protocol
Logical Interfaces
Profile
Routed Interface Type
Interface IP Address
BD: 192.168.10.x_24
GW:192.168.10.1/24
Advertise Externally: Yes
EPG: Web
vDS: Cisco-vds-01
OSPF Interface Policy* VLAN: dynamic
OSPF Interface Type
Timers
103
Anatomy of a L3out
Tenant: Common
Logical Node Profile External Routed VRF: vrf-01
Switch ID / Router-ID Network (L3out)
Static-Routes* VRF: Common:VRF-01
Loopback Address Routing Protocol
Logical Interfaces
Profile
Routed Interface Type
Interface IP Address
BD: 192.168.10.x_24
GW:192.168.10.1/24
Ext Switch: 6ka
VRF: global Advertise Externally: Yes
103
Anatomy of a L3out
Tenant: Common
Logical Node Profile External Routed VRF: vrf-01
Switch ID / Router-ID Network (L3out)
Static-Routes* VRF: Common:VRF-01
Loopback Address Routing Protocol
Co
m
VRF: global Advertise Externally: Yes
m
un
OSPF Interface Profile*
ica
tio
Authentication
n
al
OSPF Interface Policy
lo
we
d
Ext Switch: 6kb
VRF: global
EPG: Web
vDS: Cisco-vds-01
OSPF Interface Policy* VLAN: dynamic
OSPF Interface Type
Timers
103
Shared L3out
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24
cati
GW:192.168.12.1/24
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
Co
mm
BD: 192.168.10.x_24 BD: 19 2.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24
cati
GW:192.168.11.1/24 GW:192.168.12.1/24
on
Advertise Externally: Yes Adverti se Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile : MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
Communication allowed
Shared L3out
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 19 2.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24
cati
GW:192.168.11.1/24 GW:192.168.12.1/24
on
Advertise Externally: Yes Adverti se Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile : MyApp
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
VM VM VM VM VM VM
External EPG permits connectivity
to the listed subnets Communication allowed Communication allowed
L3out in the Common Tenant
apic1# fabric 101-102 show ip interface brief vrf common:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Interface Status for VRF "common:vrf-01"(4)
Interface Address Interface Status
eth1/96.9 101.0.100.2/30 protocol-up/link-up/admin-up
vlan12 192.168.110.1/24 protocol-up/link-up/admin-up
vlan54 10.52.248.193/27 protocol-up/link-up/admin-up
lo2 101.1.1.1/32 protocol-up/link-up/admin-up
----------------------------------------------------------------
Node 102 (Leaf-102)
----------------------------------------------------------------
IP Interface Status for VRF "common:vrf-01"(4)
Interface Address Interface Status
eth1/96.5 102.0.100.2/30 protocol-up/link-up/admin-up
vlan9 192.168.110.1/24 protocol-up/link-up/admin-up
vlan53 10.52.248.193/27 protocol-up/link-up/admin-up
lo2 102.1.1.1/32 protocol-up/link-up/admin-up
apic1#
105
L3out in the Common Tenant
apic1# fabric 101-102 show ip interface brief vrf common:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Interface Status for VRF "common:vrf-01"(4) Routed sub interface
Interface Address Interface Status
eth1/96.9 101.0.100.2/30 protocol-up/link-up/admin-up
vlan12 192.168.110.1/24 protocol-up/link-up/admin-up
vlan54 10.52.248.193/27 protocol-up/link-up/admin-up
lo2 101.1.1.1/32 protocol-up/link-up/admin-up
----------------------------------------------------------------
Node 102 (Leaf-102)
---------------------------------------------------------------- Routed sub interface
IP Interface Status for VRF "common:vrf-01"(4)
Interface Address Interface Status
eth1/96.5 102.0.100.2/30 protocol-up/link-up/admin-up
vlan9 192.168.110.1/24 protocol-up/link-up/admin-up
vlan53 10.52.248.193/27 protocol-up/link-up/admin-up
lo2 102.1.1.1/32 protocol-up/link-up/admin-up
apic1#
105
Common Tenant Configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
106
Common Tenant Configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Leaking 0.0.0.0/0
106
Common Tenant Configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Leaking 0.0.0.0/0
Consuming the
exported contract
106
Common Tenant Configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Leaking 0.0.0.0/0
Leaking all
Ext Switch: 6ka routes
VRF: global
Consuming the
exported contract
106
Default Route in Common Tenant
apic1# fabric 101-102 show ip route 0.0.0.0 vrf common:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Route Table for VRF "common:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
----------------------------------------------------------------
Node 102 (Leaf-102)
----------------------------------------------------------------
IP Route Table for VRF "common:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
apic1#
107
Default Route in Common Tenant
apic1# fabric 101-102 show ip route 0.0.0.0 vrf common:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Route Table for VRF "common:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
----------------------------------------------------------------
Node 102 (Leaf-102)
----------------------------------------------------------------
IP Route Table for VRF "common:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
apic1#
107
Default Route in Cisco Tenant
apic1# fabric 101-102 show ip route 0.0.0.0 vrf Cisco:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Route Table for VRF "Cisco:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
----------------------------------------------------------------
Node 102 (Leaf-102)
----------------------------------------------------------------
IP Route Table for VRF "Cisco:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
apic1#
108
Default Route in Cisco Tenant
apic1# fabric 101-102 show ip route 0.0.0.0 vrf Cisco:vrf-01
----------------------------------------------------------------
Node 101 (Leaf-101)
----------------------------------------------------------------
IP Route Table for VRF "Cisco:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
----------------------------------------------------------------
Node 102 (Leaf-102)
----------------------------------------------------------------
IP Route Table for VRF "Cisco:vrf-01"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF<string>
apic1#
108
Firewall Integration
109
L3out – Route Peering
Tenant: Common Tenant: Cisco Tenant: Cisco
VRF: vrf-01 VRF: vrf-01 VRF: vrf-02
Route Leak
FW_Out FW_In
EPG: Out EPG: In
110
L3out – Route Peering
Tenant: Common Tenant: Cisco Tenant: Cisco
VRF: vrf-01 VRF: vrf-01 VRF: vrf-02
Route Leak
FW_Out FW_In
EPG: Out EPG: In
Communication allowed
Communication allowed
m GW: 192.168.11.1/24
un GW: 192.168.10.1/24
ica
tio Advertise Externally: Yes Advertise Externally: Yes
n
al
lo
we
d
110
NAT
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak L2 Bridge Domain
Tenant: ssh arman
VRF: vrf-01
Co
mm
BD: 192.168.10.x_24 BD: FW_Inside
uni
GW: 192.168.10.1/24 GW: N/A
cati
on
Advertise Externally: Yes Advertise Externally: N/A
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
111
NAT
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak L2 Bridge Domain
Tenant: ssh arman
VRF: vrf-01
Co
mm
BD: 192.168.10.x_24 BD: FW_Inside
uni
GW: 192.168.10.1/24 GW: N/A
cati
on
Advertise Externally: Yes Advertise Externally: N/A
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
Default Gateway
111
PBR – Service Graph
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak
Tenant: ssh arman
VRF: vrf-01
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24
uni
GW: 192.168.10.1/24 GW: 192.168.11.1/24
cati
on
Advertise Externally: Yes Advertise Externally: No
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
112
PBR – Service Graph
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak
Tenant: ssh arman
VRF: vrf-01
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24
uni
GW: 192.168.10.1/24 GW: 192.168.11.1/24
cati
on
Advertise Externally: Yes Advertise Externally: No
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
112
How does ACI integrate with
VMware’s virtual switches?
Why should you care about integrating with VMware’s
Virtual Switches?
114
A perceived barrier to timely delivery of new services
(from Virtualization Teams) is that it takes too long to
provision Network Services i.e. VLANs, Subnets,
and L4-7 Devices
115
There are four integration options with VMware
1. Independently configure the vSwitch/vDS as you do today
2. Create EPGs on vCenter and map them to an APIC managed vDS to create port groups – requires
ACI plugin
3. Create EPGs on APIC and map them to an APIC managed vDS to create port groups
4. Create EPGs on APIC and map them to an AVE to create port groups
Network Team configures VRFs/subnets
117
Network Team configures VRFs/subnets
Tenant: Cisco
VRF: vrf-01
APIC
117
Server Team configures network interfaces
Tenant: Cisco
VRF: vrf-01
APIC
118
Server Team configures network interfaces API Connection
Tenant: Cisco
VRF: vrf-01
APIC
118
VMware Team pushes vDS
Tenant: Cisco
VRF: vrf-01
APIC
119
VMware Team pushes vDS API Connection
Tenant: Cisco
VRF: vrf-01
APIC
vCenter
vDS
119
VMware Team pushes portgroups
Tenant: Cisco
VRF: vrf-01
APIC
vCenter
vDS
120
VMware Team pushes portgroups
Tenant: Cisco
VRF: vrf-01
APIC
vCenter
vDS
120
VMware Team pushes portgroups
Tenant: Cisco
VRF: vrf-01
APIC
vCenter
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
vDS pushed to ESX
Hosts
120
Application Team deploys VMs
Tenant: Cisco
VRF: vrf-01
APIC
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
vDS pushed to ESX
Hosts
121
Application Team deploys VMs
Tenant: Cisco
VRF: vrf-01
APIC
vCenter
vDS
Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App
vDS pushed to ESX
Hosts
VM VM VM VM VM VM
121
There are two ways to interoperate with VMware NSX
Option 1 – NSX for Virtual Machine Security:
• Uses NSX as a security and services solution (DFW, LB, etc.)
• ACI functions as integrated overlay and underlay
• No requirement for NSX VTEP configuration
• ACI uses VMM Domain programming application dvPortGroups
There are two ways to interoperate with VMware NSX
Option 2 – NSX for Networking and Virtual Machine Security:
• ACI functions as an underlay network
• NSX functions as a VXLAN overlay
• Customer follows VMware Design Recommendations
• ACI can use VMM Domain to enhance visibility
• NSX Host to Host VTEP connectivity can use ACI in various VTEP subnet
models:
• Single VTEP Subnet
• VTEP Subnet per Rack
• VTEP Subnet per Cluster
NSX Overlay
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
BD: NSX
GW:N/A
Advertise Externally: Yes
VM VM VM VM VM VM
124
NSX Overlay
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
ring
BD: NSX
GW:N/A
pee
Advertise Externally: Yes
ute
VRF: global
EPG: NSX
vDS: Cisco-vds-01
VLAN: 1000
VM VM VM VM VM VM
124
NSX Overlay
Tenant: Cisco Route peering
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
ESG
ring
BD: NSX
GW:N/A
pee
Advertise Externally: Yes
ute
VRF: global
EPG: NSX
vDS: Cisco-vds-01
VLAN: 1000
VM VM VM VM VM VM
124
NSX Overlay
Tenant: Cisco Route peering
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
Route
ESG
programming
ring
BD: NSX
GW:N/A
pee
Advertise Externally: Yes
ute
VRF: global
EPG: NSX Controller
vDS: Cisco-vds-01
VLAN: 1000
VM VM VM VM VM VM
124
NSX Overlay
Tenant: Cisco Route peering
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
Route
ESG
programming
ring
BD: NSX
GW:N/A
pee
Advertise Externally: Yes
ute
VRF: global
EPG: NSX Controller
vDS: Cisco-vds-01 Route
VLAN: 1000
programming
Ext Switch: 6kb DLR
VRF: global VTEP VTEP VTEP VTEP
10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4
VM VM VM VM VM VM
124
NSX Overlay
Tenant: Cisco Route peering
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
Route
ESG
programming
ring
BD: NSX
GW:N/A
pee
Advertise Externally: Yes
ute
VRF: global
EPG: NSX Controller
vDS: Cisco-vds-01 Route
VLAN: 1000
programming
Ext Switch: 6kb DLR
VRF: global VTEP VTEP VTEP VTEP
10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4
VM VM VM VM VM VM
124
NSX Overlay at scale
125
NSX Overlay at scale
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
vCenter-01
125
NSX Overlay at scale
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
125
NSX Overlay at scale
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
vCenter-02
125
NSX Overlay at scale
Tenant: Cisco
VRF: vrf-01
L3out: Ext L3out: NSX
EPG EPG
125
How to get started
programming your ACI fabric
126
First you need a basic understand of the ACI Policy Model
127
Managed Objects Policy Universe
APIC Controllers … Tenants – User, Fabric, Access, VM Domains … Layer 4-7 Services AAA, Security
Common … Inventory …
128
Managed Objects Policy Universe
APIC Controllers … Tenants – User, Fabric, Access, VM Domains … Layer 4-7 Services AAA, Security
Common … Inventory …
Tenant
Subnet Subject
EPG
128
https://{{APIC}}/doc/html/
130
https://{{APIC}}/visore.html
131
https://{{APIC}}/visore.html
131
https://{{APIC}}/visore.html
131
132
Step 1: Build your required object(s) in the GUI
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
VM VM VM VM VM VM VM VM VM
133
Step 1: Build your required object(s) in the GUI
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
VM VM VM VM VM VM VM VM VM
133
Step 2: Save your configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
mm
BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
uni
GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
cati
on
Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
allo
we
d
Ext Switch: 6ka
VRF: global Application Profile: MyApp
vDS
Portgoup: Portgoup: Portgoup:
Cisco:MyApp:Web Cisco:MyApp:App Cisco:MyApp:DB
VM VM VM VM VM VM VM VM VM
134
Step 2: Save your configuration
Tenant: Common Tenant: Cisco
VRF: vrf-01 VRF: vrf-01
Route Leak 0.0.0.0/0
Co
m
mu
ni BD: 192.168.10.x_24 BD: 192.168.11.x_24 BD: 192.168.12.x_24
ca
tin o GW:192.168.10.1/24 GW:192.168.11.1/24 GW:192.168.12.1/24
allo
w Advertise Externally: Yes Advertise Externally: Yes Advertise Externally: Yes
ed
vDS
Portgoup: Portgoup : Portgoup:
Cisco:MyApp:Web Cisco:MyAp p:App Cisco:MyApp:DB
VM VM VM VM VM VM VM VM VM
134
Step 3: Clean up your JSON
135
Step 3: Clean up your JSON
135
Step 3: Clean up your JSON
135
Provided Contract
Endpoint Group
Application Profile
name
Domain name
(VMM)
Endpoint Group name
Children of the
Application Profile
Children of the
Endpoint Group
Bridge Domain
variables
Contract name
Application Profile (variable)
“path” to the Application
Profile (variable) Domain
Endpoint Group
Application Profile
name (variable) Domain name
(VMM) (variable)
“path” to the Endpoint
Group (variable)
New “status” object
(variable)
Endpoint Group
name (variable)
Option: created
Option: created,modified
Option: deleted
Understand how managed objects are related
Tenant
Layer 3 VRF
Outside Layer 2
Outside
Application Profile
vDS
Portgoup Portgoup
VM VM VM VM VM VM
141
Choose Your Management Method(s)
142
Choose Your Management Method(s)
142
Connect the Old to the New
APIC
APIC
APIC
vDS-01
143
Connect the Old to the New
APIC
APIC
APIC
vDS-01
Layer 2 vPC to
existing network
Layer 3 to existing
network
143
Connect the Old to the New
APIC
APIC
APIC
vDS-01
Layer 2 vPC to
existing network
Layer 3 to existing
network
143
Connect the Old to the New
APIC
APIC
APIC
vDS-01
Layer 2 vPC to
existing network
Layer 3 to existing
network
143
Connect the Old to the New
APIC
APIC
APIC
vDS-01 vDS-02
Layer 2 vPC to
existing network
Layer 3 to existing
network
143