Virtual network based tunneling
Segment definition
Each segment has its own policies. For example, if a group of clients belong to an admin segment, then this segment can have better QoS and security privileges as compared to the segments assigned to guest clients.
Inter-segment traffic is prohibited between two segments based on policy.
A segment does not map to a network construct such as a VLAN or a VRF. Multiple segments can co-exist within a VLAN or a segment can span multiple VLANs and VRFs. However, the switch must realize segmentation using network constructs such as VLANs, VRFs ACLs, etc.
Example
This example illustrates a simple deployment using two VLANs and VRFs.
Overlay Client VLAN | L2 VLAN | Subnet |
---|---|---|
10 | 100 | 1.1.1.0/24 |
20 | 200 | 2.2.2.0/24 |
Overlay Client VRF | L3 VNI | Overlay SVIs on VRF | Overlay ROPs on VRF |
---|---|---|---|
A | 10000 |
|
ROP interfaces to the north of Core. |
Configuration on switches | A1 | A2 | Core |
---|---|---|---|
|
Y | Y | N |
|
Y | Y | N |
|
Y | Y | Y |
|
Y | Y | Y |
The two VRFs are configured on the core switch, and the two VLANs and VRFs are configured on the two access switches as required. The two VLANs and the VRF are part of the running config on both access switches.
Initially, the status of the two VLANs on the access switches is down. This means that:
- EVPN routes - RT-3 (IMET) route, and RT-5 and RT-2 with respect to the VLAN interfaces are not announced by the switches.
- No VXLAN tunnels are established between any pairs of switches.
When Host H1 connects to A1, the host is authenticated with CPPM and the client is mapped to Role-1 on VLAN 10. This results in the following:
The VLAN state changes to up in show commands on A1.
The L2 and L3 forwarding constructs for the local MAC of H1 are programmed onto VLAN 10 inside A1.
- The IMET route for L2VNI is advertised by A1.
This route is not used by the core as it does not have footprint of VLAN 10 on it.
This route is not used by A2 either - this is because it does not have a local VLAN 10 on "up" state as yet.
RT-5 prefix route (if enabled) is advertised by A1.
Upon receiving the route, the core programs the prefix route (1.1.1.0/24). This also results in VxLAN tunnel programming on the core towards A1.
A2 still does not use this route, because the VRF is not instantiated on A2 yet.
- The RT-4 and the RT-2 routes are advertised by A1.
Upon receiving the route, the core programs the route host route (1.1.1.1/32) with BH as A1. But the existing tunnel towards A1 is reused.
A2 still does not use this route.
The BUM domain for VLAN 10 on A1 is still the local host H1. This is because VLAN 10 is not instantiated on any other switch as yet.
Any prefix routes from the core is programmed by A1 and it also programs a VxLAN tunnel towards the core.
When Host H2 connects to A2, the host is authenticated with CPPM and the client is mapped to say Role-1 and the role's VLAN is VLAN 10. This results in the following:
The VLAN state is changes to "up" in the show commands.
The L2 and L3 forwarding constructs for the local MAC of H2 is programmed into VLAN 10 inside A2.
The IMET route for L2VNI is advertised by A2.
This route is not used by the core again as it does not have footprint of VLAN 10 on it.
This route is used by A1. It creates a VXLAN tunnel towards A2 and adds it to the BUM domain for VLAN 10.
RT-5 prefix route (if enabled) is advertised by A2.
Upon receiving the route, the core programs the prefix route (1.1.1.0/24). In the absence of ECMP, the existing route in the core is overwritten. This also results in VxLAN tunnel programming on the core towards A2.
A1 still does not use this route, this is because the local connected route for 1.1.1.0/24 has higher priority.
The RT-4 and the RT-2 routes are advertised by A2.
Upon receiving the route, the core programs the route host route (1.1.1.2/32). The existing tunnel is reused.
A1 programs the 1.1.1.2/32 route into its FIB with NH as VTEP towards A2.
Any prefix routes from the core are programmed by A2 and it also programs a VxLAN tunnel towards the core
Thus a full mesh of VxLAN tunnels is created.
If host H3 connects to A2 and it is on boarded on VLAN 20. This results in the following:
The VLAN state of VLAN 20 changes to "up" in the show commands
The L2 and L3 forwarding constructs for the local MAC of H3 is programmed into VLAN 20 inside A2.
The IMET route for L2VNI is advertised by A2
This route is not used by the core again as it does not have footprint of VLAN 20 on it.
This route is not used by A1 either for the same reason.
RT-5 prefix route (if enabled) is advertised by A2
Upon receiving the route, the core programs the prefix route (2.2.2.0/24). The core reuses the existing tunnel.
A1 also programs the prefix route with NH as A2.
The RT-4 and the RT-2 routes with respect to H3 are advertised by A2.
A1 programs its FIB for host route 2.2.2.2/24 with NH as A2. But it reuses the existing tunnel.
Same behavior on the core.
Additional notes
- Reference counts maintained in the access switches ensure that existing tunnels are reused as and when new clients come up.
- The clients leaving the VLAN (disconnect/Auth time out etc.) can lead to the reversal of the procedure described above - i.e. deletion of local programming, withdrawal of routes, VLAN status change, etc. The reversal is initiated based on reference count.
- Dynamic VLAN instantiation does not mandate VNI association for VLANs. Even local VLANs with secure clients (if any) are also dynamically instantiated.