NPV & NPIV explained
I- Normal FLOGI (without N-Port Virtualization):
The host has what’s known as a WWPN (World Wide Port Name, or pWWN), which is a 64-bit globally unique label very similar to a MAC address.
However, when a Fibre Channel host sends a Fibre Channel frame, that WWPN is nowhere in the header. Instead, the host does a Fabric Login and obtains an FCID (somewhat analogous to an IP address). The FCID is a 24-bit number, and when FC frames are sent in Fibre Channel, the FCID is what goes into the source and destination fields of the header.
So, Every host port (server, array …) have a unique WWPN that is used for FLOGI. After FLOGI Process, the switch associates the WWPN to an FCID. this FCID is used to forward FC Frame( source and destination fields).
The picture below shows FCID format:
In regular Fibre Channel operations, only one FCID is given per physical port. That’s it. It’s a 1 to 1 relationship between WWPN, FCID and the physical host port.
NPIV allows a Fibre Channel host connection or N-Port to be assigned multiple N-Port IDs or Fibre Channel IDs (FCID) over a single link. All FCIDs assigned can now be managed on a Fibre Channel fabric as unique entities on the same physical host.
In other words, NPIV enabled switches can assign multiple FCIDs (associated with multiple WWPN) on a single port.
Different applications can be used in conjunction with NPIV. In a virtual machine environment where many hosts operating systems or applications are running on a physical host, each virtual machine can now have a unique WWPN and there therefore a unique FCID on the switch. This allows the the VMs be managed independently from zoning, aliasing, and security perspectives.
Whereas NPIV is primarily a host-based solution, NPV is primarily a switch-based technology. It is designed to reduce switch management and overhead in larger Storage Area Network (SAN) deployments. Consider that every Fibre Channel switch in a fabric needs a different domain ID, and that the total number of domain IDs in a fabric is limited. In some cases, this limit can be fairly low depending upon the devices attached to the fabric.
The problem, though, is that you often need to add Fibre Channel switches to scale the size of your fabric. There is, therefore, an inherent conflict between trying to reduce the overall number of switches to keep the domain ID count low while also needing to add switches to have a sufficiently high port count. NPV is intended to address this problem.
NPV is a complementary feature that reduces the number of Fibre Channel domain IDs in core-edge SANs. Cisco MDS 9000 family fabric switches operating in the NPV mode do not join a fabric; they just pass traffic between core switch links and end devices, which eliminates the domain IDs for these switches. NPIV is used by edge switches in the NPV mode to log in to multiple end devices that share a link to the core switch.
The hosts perform fabric logins just like they normally would, but the NPV switch passes FLOGIs up to the NPIV enabled port on the upstream switch. The FCID of the devices ta the Domain ID of the upstream switch (and appears directly attached to the upstream switch).
The NPV enabled switch just proxies the FLOGIs up to the upstream switch.
The fibre channel module in the Nexus 5×00 creates a new port type to the fibre channel network when in NPV mode: the NP-port. The NP-port proxies fabric login (FLOGI) requests from end stations and converts them to Fabric Discoveries (FDISC) dynamically and transparently to the end device. The result is that end-systems see the NPV-enabled switch as a Fabric Port (F-port) and the upstream/core switch sees the NPV-enabled switch as an F-port as well.
IV- FCoE NPV Mode:
FCoE NPV also creates a new port type for the VNP (Virtual NPV Port):