Virtualization Fundamentals
Virtualization creates software-based (virtual) versions of physical resources. A hypervisor is the software layer that enables multiple virtual machines (VMs) to run on a single physical host by abstracting hardware resources. Type 1 hypervisors (bare-metal) run directly on hardware: VMware ESXi, Microsoft Hyper-V, Citrix Hypervisor, KVM. More efficient and used in enterprise data centers. Type 2 hypervisors (hosted) run on top of a host OS: VMware Workstation, VirtualBox, Parallels. Used for testing and development.
Virtual machines are software emulations of complete computers. Each VM has its own virtual CPU, RAM, storage, and network interface (vNIC). VMs share the physical hardware of the host. Snapshots capture the state of a VM at a point in time, enabling rollback. Templates allow rapid deployment of pre-configured VMs.
Containers (Docker) provide lightweight isolation at the OS level — they share the host OS kernel but isolate applications. Containers are faster to start and use fewer resources than VMs but provide less isolation. Kubernetes orchestrates containers at scale.
Virtual Networking Components
Virtual switches (vSwitches) connect VMs to each other and to the physical network. VMware vSwitch, Hyper-V Virtual Switch, and Open vSwitch are examples. A vSwitch operates like a physical switch — it builds a MAC table and forwards frames between VMs and to the physical uplinks.
Virtual NICs (vNICs) are software network adapters assigned to VMs. Each VM can have multiple vNICs connected to different virtual networks. Network bridging connects a vNIC to the physical LAN; NAT mode places VMs behind the hypervisor's NAT; host-only mode creates a network between VMs and the host only.
VXLAN (Virtual Extensible LAN) is an overlay network protocol that encapsulates Layer 2 Ethernet frames in UDP packets, allowing VLANs to extend across Layer 3 boundaries. VXLAN is critical in cloud and multi-site data center environments. It uses 24-bit VNI (VXLAN Network Identifier) supporting over 16 million virtual networks — far more than 802.1Q VLANs' 4,094 limit.
Software-Defined Networking (SDN)
SDN separates the network control plane from the data plane. In traditional networking, each device has its own control plane (routing/switching intelligence) and data plane (packet forwarding). SDN centralizes the control plane in a software controller that programs the forwarding behavior of all network devices, which become simple forwarding engines.
SDN planes: Data plane (forwarding plane) — forwards packets based on rules pushed by the controller. Control plane — the SDN controller that makes routing/forwarding decisions for the entire network. Management plane — the interface for network administrators to configure and monitor the controller and network. The southbound interface (APIs like OpenFlow) connects the controller to network devices; the northbound interface connects the controller to applications.
NFV (Network Functions Virtualization) virtualizes network appliances that traditionally run on dedicated hardware — firewalls, load balancers, routers, and WAN optimizers become software functions running on commodity servers. NFV combined with SDN creates highly flexible, software-driven networks.