Virtualization and VRFs
Hypervisors, virtual machines and containers, and how VRFs create separate routing instances on one physical device.
Hypervisors, VMs and containers
A hypervisor runs multiple virtual machines on one physical host. Type 1 (bare-metal, e.g. ESXi, Hyper-V, KVM) runs directly on hardware; Type 2 (e.g. VirtualBox, Workstation) runs as an application on a host OS. Each VM gets virtual CPU, memory, NICs and storage isolated from the others.
VMs versus containers
| Property | Virtual machine | Container |
|---|---|---|
| Isolation unit | Whole guest OS kernel | Shared host kernel, isolated namespace |
| Boot time | Minutes | Milliseconds–seconds |
| Overhead | Full OS per instance | Only app + dependencies |
| Use | Strong isolation, different OSes | Dense packaging of one app's processes |
VRF isolation
A VRF (Virtual Routing and Forwarding) instance is a separate routing table and set of interfaces inside one physical device. Each VRF has its own routes, ARP table and forwarding decisions — interfaces assigned to different VRFs cannot reach each other unless routes are deliberately leaked. One router can therefore host a management VRF, a guest VRF and a production VRF that never mix.
Virtualization also extends to the network itself: hypervisor vSwitches connect VMs to physical NICs, and overlay networks let VMs on different hosts share a virtual segment. On Cisco routers the simplest exam-relevant virtualization is the VRF: ip vrf creates the instance, ip vrf forwarding pins an interface to it, and show ip vrf lists them.
Name Default RD InterfacesEach VRF lists its bound interfaces. MGMT <not set> Gi0/0A management VRF keeps OOB traffic separate. GUEST <not set> Gi0/1.30Guest traffic gets its own table.- Setup
- Gi0/1 assigned to VRF GUEST; operator pings a directly-connected neighbor
ping 192.168.30.2uses the global routing table — the interface is in VRF GUEST.- The global table has no route for 192.168.30.0/24 → ping fails even though the neighbor exists.
ping vrf GUEST 192.168.30.2uses the VRF table and succeeds.
VRF isolation is the explanation: the same router has multiple independent routing contexts.
Verification and mistakes
Common mistakes
- Treating a VRF like a VLAN — a VRF separates L3 tables; VLANs separate L2 domains. They solve different problems.
- Pinging without the VRF qualifier after assigning an interface — the global table no longer knows that subnet.
- Assuming containers give VM-grade kernel isolation — they share the host kernel by design.
- Configuring
ip vrf forwardingafter the IP address — IOS removes the address when the interface joins a VRF; re-apply it.
Observation: After ip vrf forwarding GUEST, show ip interface brief shows the address as unassigned.
- IOS removed the address when the interface joined the VRF
- Configuration never applied
| Check | Indicates |
|---|---|
show ip vrf interfaces GUEST | Interface is listed → the VRF binding worked. |
show running-config interface | Confirms whether an IP line survived the VRF change. |
Correction: Re-apply the IP address under the interface after the ip vrf forwarding line.
show ip vrf interfaces lists the interface with its address; ping vrf GUEST works.
Related resources
Sources
- Cisco CCNA 200-301 v1.1 Exam Topics (official PDF) — reviewed 2026-11-02
Targets CCNA 200-301 v1.1 objectives. Supplemental blocks are labeled beyond exam scope.