I have very little real world experience with FCoE because I never work with it. It never comes up in my cases. That makes it hard to learn about it. However, one of the best ways for me to learn something is to research something, explain it, think of what questions an imaginary student might think to ask, research and find out the answers, write them all down, and then lay it all out in a coherent and consumable way. The result is the following.
I talked with Brian, one of our trainers about FCoE. One of the things he said is 'The trick is to first learn FC.' I think he's right. So here goes.
Fibre-channel basics
Fibre-channel is different from Ethernet. Ethernet is versatile, and thus, it is used for everything. Fibre-channel networks are largely used for distributed storage and carrying SCSI commands and payloads from hosts to storage targets and vice versa.
iSCSI for instance, carries SCSI commands inside of IP packets, which are encapsulated inside of Ethernet frames. The Ethernet networks carry the payloads like normal Ethernet traffic according to the way Ethernet switches handle their frames.
Fibre-channel, on the other hand, carries SCSI commands and payloads in Fibre-channel frames, period. It has no use for Internet Protocol. Fibre-channel functions as layer 1, 2, and sort-of layer 3. I say sort-of because Fibre-channel has no directly correlative elements to IP addresses--but more on that later. After those SCSI commands are encapsulated in Fibre-channel frames, those frames are handled by FC switches as Fibre-channel switches do.
FLOGI
With Fibre-channel, in order for devices to be able to communicate with one another, those devices, which are known as Nodes, must first log into the FC switch, a process known as FLOGI. This is how the node gets registered in the fabric and can gain access to fabric services provided by this switch, or by other devices on the fabric. The node gets what's called a Fibre-channel identifier or FCID from a name server on the fabric. This address is used so that the switch can know how to pass FC frames from node to node. Each FC frame has a source and destination FCID.
Fibre-channel port types
There are several different kinds of ports in a Fibre-channel fabric, but for now we'll deal with only three: N_Port, F_Port, and E_Port. N_Port, or Node Port, is the port on a node, which is usually an HBA. An F_Port, or Fabric Port, is a port on an FC switch which connects to an N_Port. An E_Port, or Expansion Port, is a port on an FC switch which connects to another E_Port on a different FC switch.
WWNs and Zoning
In the blogs and articles that I've read about about Fibre-channel, people compare the FCID to the IP address. This sort of makes sense since the FCID is how FC switches know where to send frames. Also, nodes request for FCIDs in a way that's very similar to how hosts request IP addresses from DHCP servers in the Ethernet world. You also hear comparisons made between WWNs, or World Wide Names, with MAC addresses. This sort of works because WWNs are 64-bit addresses used to
uniquely identify different elements within the network, similar to how MAC addresses are supposed to uniquely identify different elements in an Ethernet network. Unlike MACs, however, WWNs are not to be found inside of FC frames. FC switches know how to pass FC frames around only by virtue of the FCID.
What is the WWN for then? Zoning. Zoning is used to determine who can talk with whom. It's like VLANs in that way, but better. Zoning has some of the capabilities that private VLANs have, except natively. For instance, you can have groups
X and
Y in a zone be able to talk with group
Z, but not with each other--like devices in different private VLAN communities talking with their primary VLAN but not each other. You can also define different network elements with aliases. There's greater control and granularity available with zoning than with VLANs. Zoning configurations are usually based on WWNs, since WWNs uniquely identify different Fibre-channel elements.
FCoE at its highest level
If you're seasoned in networking, you understand that networking is all about encapsulation. In that sense, FCoE is not intimidating. It's just one more layer of encapsulation. With Ethernet, application data is encapsulated into segments, which are encapsulated into packets, which are encapsulated into Ethernet frames, which are formed into bits on the wire. In FCoE SCSI commands are encapsulated with fibre-channel frames, which are encapsulated into Ethernet frames, which are formed into bits on the wire.
This is similar to how IPsec and GRE use encapsulation for tunneling, except those are layer 3 while Fibre-channel and Ethernet are layer 2. In the case of FCoE, Fibre-channel networks are tunneled through Ethernet networks by encapsulating Fibre-channel frames inside of Ethernet frames. As you can see, layer 4 segments and layer 3 packets are skipped over. Fibre-channel has its own mechanisms which provide the functions of TCP/IP. Just like one might use GRE over IPsec for securely connecting remote offices which are doing dynamic routing, one might use Fibre-channel over Ethernet for converged networking. It's just more of the same. Since it's easy to understand what's happening conceptually, the purpose of this post is to understand
how this is all achieved, and through what
mechanisms.
FCoE a bit deeper
FCoE can be further broken up into the following steps:
- In FCoE, an FCoE Node, usually abbreviated to Enode, creates the tunnel starting point. The Enode is a host equipped with a converged network adapter, or CNA. That device creates and tunnels Fibre-channel frames to a switch which natively understands both Fibre-channel and Ethernet. It is known as the Fibre-channel Forwarder, or FCF. In FCoE, the Enode and FCF are the tunnel endpoints.
In the first step, the Enode discovers its FCoE termination point (FCF). When the entire process of setting up FCoE virtual links and sessions is finished, the host will send FCoE traffic to this device which will translate those FCoE frames into FC frames.
The FCF and FCoE discovery process has some similarities with how an IP phone might ask its connected switch to know which VLAN to use via LLDP MED. The host solicits for a service with a multicast, like how a phone might ask its connected switch to know which VLAN and QoS parameters to use to generate voice frames. Except here, the Enode is soliciting to know the FCoE VLAN and who its FCF is.
- After the client learns its FCoE VLAN and its FCF, it FLOGIs into the FCF. After the Enode logs into the switch, the virtual FC links are set up.
- After FLOGI, the host logs into its target (usually a Fibre-channel array). This is called Port Login, or PLOGI.
- The entire process of constructing virtual Fibre-channel links is managed by a protocol called FCoE Initiation Protocol, or FIP. The last step is the teardown of the FIP session now that it's done its job of setting up virtual Fibre-channel links. This is called FIP LOGOUT. Keepalives are are continually sent between the CNA-enabled host and the FCF to keep the virtual Fibre-channel links active.
That's it. After the Fibre-channel virtual links are set up between the CNA-enabled host and the FCF, the host can send FCoE frames to the FCF, which will then translate those FCoE frames into Fibre-channel frames to the rest of the Fibre-channel network.
The FIP process in more detail
- CNA-equipped hosts ask to discover FCoE VLANs with the well known multicast MAC address 01-10-18-01-00-02. This is an address that FCFs know to respond to.
- The hosts learn about FCoE VLANs from the FCF.
- The hosts ask to discover FCFs. The FCF provides the Enode MAC, Enode WWnN, Enode FCoE frame size.
- The hosts learn about FCFs: Priority, FCF WWnN, Fabric Descriptor (VFID, FC-Map), FKA ADV Period (interval for FC fabric advertisement).
In this case, Priority refers to an FCF's priority for the host to learn. After the hosts learn about the FCFs they're able to log into the Fibre-channel fabric. After Enode learns of the FCF and the FCoE VLAn, it FLOGIs into the FCF.
The FLOGI process
- The host sends a FIP FC ELS FLOGI to ff.ff.fe. This process creates virtual N_Ports and virtual F_Ports.
- The host receives a FC ELS ACC (FLOGI) from FCF. This response includes a Fabric-provided MAC address (FPMA).
The Enode uses its FIP MAC, which is a MAC address used to initially make the tunnel between it and the FCF, to request to the FCF to log in. After it receives the FC ELS FLOG, the Enode receives its FPMA from the FCF. As mentioned, the FPMA consists of the FC-Map as well as the FCID. The FCID is used as the routable address in the frame after the FC frame gets out to the FC network.
You might wonder what an FC-Map is for since I haven't mentioned it until now. The FC-Map is to identify different Fibre-channel fabrics since the FCF can work and deal with different FC fabrics--different FC networks with different domains and which do not communicate with one another. By using an FPMA which has this information built into the Ethernet frame, confusion as to which FC fabric the FC payload is to be dropped onto can be avoided.
After the Enode is logged into the FCF, the virtual Fibre-channel links are established. The Enode uses that virtual link to PLOGI to another device (FLOGI is to log into the fabric switch, PLOGI is for a node to connect to another node (e.g., storage). After it uses its virtual links to PLOGI, it's ready to start communicating with other FC devices.
The ENode encapsulates the fibre-channel frames into Ethernet. The MAC address used in the FCoE frame is the FPMA. This is the MAC address the Enode uses in its Ethernet frames which are encapsulating the Fibre-channel frames when it talks to Fibre-channel storage. The FCF sees the FC-Map (the first three bytes), which indicates the Fibre-channel fabric to use. It strips off the Ethernet frame, and then forwards it out to the correct Fibre-channel fabric according zoning rules as a Fibre-channel frame. From that point on, the frame is no longer FCoE, and is treated and forwarded as normal Fibre-channel traffic. It is passed along using the original FCID that it received upon the login process.
When Fibre-channel frames come back from storage, or whatever the device is, the process occurs in reverse. The Fibre-channel frame comes into one of the FCF's FC ports which is associated with an FC-Map, which is associated with the virtual Fibre-channel interface. The FCF takes the destination FCID in the FC frame, adds the FC-Map to the beginning, and uses that as the destination MAC address when it encapsulates the frame with Ethernet. It then passes it along the vF_Port to the Enode. There's no need to reference any table for it to generate the FPMA. The FCF knows what FC fabric the frame came in on, and adds the fabric identifier (FP-Map) to the destination FCID of the frame.
|
The FCF's E and vF ports are associated with the FC-Map, and thus, it knows how to generate the FPMA for the FCoE Frame. |
That's it, but that's not all.
The above details the FCoE process between the Enode and the FCF. The purpose was to explain the meat and potatoes of FCoE--the mechanisms by which the tunneling works. There are, however, more details in how FCoE is implemented in the real world. The last bits to explain, at least in this post, is NPV and NPIV: N_Port Virtualization and N_Port ID Virtualization, respectively.
Many converged infrastructures will have a FIP Snooping Bridge running in NPV Mode in between Enodes and the FCF. The reason is scalability. The purpose of the FIP Snooping Bridge, or FSB, is to provide lots of available Fibre-channel connections between the hosts and the FCF by extending the FCoE fabric out with an FCoE-aware switch, which is capable of reliably carrying FC payloads to the FCF. The FSB provides this functionality while at the same time functioning as an ordinary Ethernet switch.
The FSB does this in two ways.
- It provides transport for FCoE traffic by snooping in on the original FIP sessions between the Enode and FCF. Based on the information gathered from the snooping, it creates ACLs which let only the registered Enodes communicate with the FCF on the FCoE VLANs, thus fulfilling Fibre-channel's zoning requirement. The FSB also provides safe transport of FCoE traffic with the use of Enhanced Transmission Selection (ETS), and Priority Flow Control (PFC). ETS provides a guaranteed allocation of link bandwidth on a per dot1p value basis, and PFC provides flowcontrol on a per dot1p value basis. This is necessary for FCoE to meet Fibre-channel's requirement of losslessness.
- It can provide lots of FC connections to the FCF with NPV Mode. The FIP snooping bridge can allow for many Enode connections to the FCF by means of N_Port Virtualization. In NPV Mode, the FSB poses as a node to the FCF. It gathers logins from downstream nodes via its vF_Ports (see glossary) and sends them upstream via its Proxy vN_Port to the FCF's vF_Port. This only works if the FCF is set up with N_Port ID Virtualization so that it can allow for more than one FCID to enter through its F_Port.
NPV mode versus NPIV
I initially found this confusing because NPV and NPIV sound very similar, and FCoE has way too many acronyms, many of which are used interchangeably.
NPIV and NPV are similar, but do different things. They're best used together. What NPIV does is allow for multiple logins to occur through a single F_Port. Without an NPIV-enabled switch, you
cannot have more than one login via an F_Port. Specifically, NPIV allows for more than one FCID association with an F_Port.
So you can use NPIV on its own, just plug the switch's F_Port into a downstream node that has several hosts identified with it. The different nodes will make FLOGI requests, which will pass to the NPIV-enabled switch, which will know how to deal with those requests and it will all work fine.
But you get the real benefit if you combine an NPIV-enabled switch
with another FC switch in NPV-mode. A switch in NPV Mode is called an NPV switch because it's doing N_Port virtualization: it's pretending to be a node. You'll also hear people refer a switch in NPV Mode as being in
passthrough mode or functioning as an FCoE passthrough. What this means is that the switch is
not part of the Fibre-channel fabric. There's an excellent blog post explaining it all
here. A switch in NPV Mode has an NP_Port (yes, another freaking acronym), which means Proxy N_Port. Why isn't it then called a PN_Port? Well, uhm... good question. Anyway. A Proxy N_Port on an NPV Mode-enabled switch takes fabric login requests from downstream nodes and passes them off to the upstream switch's F_Port. It functions as a proxy for the downstream nodes, handing off fabric logins on behalf of the nodes to the FCF's NPIV-enabled F_Port.
Because the NPV switch's proxy N_Port is passing along multiple logins and Fibre-channel frames with different FCIDs, the upstream switch's F_Port must be able to accept those different logins and frames containing different FCIDs. Therefore, the upstream switch must be NPIV-enabled.
In this way you can see that NPV and NPIV are not the same thing, but they do complement one another. An FC switch in NPV Mode acts like a Fibre-channel hub and passes on connections to the upstream switch, which
must have NPIV capability in order to accept those connections on a single port.
Misc
FCoE passthrough versus multihop
Multihop connects two Fibre-channel switches with VE_Ports. The first Fibre-channel switch is the FCF and serves as the FCoE termination point. FC traffic passes between this switch and the next Fibre-channel switch. This forms an FCoE interswitch link.
FCoE passthrough (
NPV mode) connects an FCF to a FIP Snooping bridge with the FCF's VE_Port to the FIP Snooping bridge's VN_Port. The FIP Snooping Bridge is pretending as though it is a node. In this setup, FCoE traffic passes between the FCF and the FIP Snooping Bridge. FCoE is
passing through the bridges and getting terminated the FCF.
NPV mode versus AG mode
There is no difference. They're different acronyms which mean the same thing: N_Port virtualization. The NPV switch appears as a node to the upstream switch. It is invisible to the rest of the FC fabric. AG is a Brocade acronym, NPV is an acronym invented by Cisco.
NPV mode versus native mode
NPV allows an Fibre-channel switch to behave like a passthrough for FCoE traffic and can save on Fibre-channel ports since it allows for several FCIDs to come in through one F_Port, which can then be sent to the NP_Port, which can pass those logins along to an NPIV-enabled FCF. In native mode, however, you can only have a single FCID come in through its F_Port, and thus, only one FLOGI.
Configuration example
Examples are always good. I ripped this configuration example from here:
http://partnerdirect.dell.com/sites/channel/Documents/Deploying-FCoE-Dell-Force10-MXL-Networking-Whitepaper.pdf
I'm going to go through this example line by line and explain what everything does, and make general comments about things.
Scenario: Force10 as FSB and Nexus 5000 as FCF.
Configuring an MXL as an FSB
- Turn on FCoE
feature FIP-snooping
fip-snooping enable
protocol lldp
service-class dynamic dot1p
This enables FIP snooping, enables LLDP, which is necessary for lossless Ethernet, since ETS/PFC are extensions of the LLDP protocol. The service class tells the switch to prioritize based on the dot1p tag in order to give priority to FCoE traffic.
- Configure default-VLAN
default vlan-id 20
This command configures the default VLAN to be 20, so that all ports are in VLAN 20 untagged by default. That means the Enode is going to be using VLAN 20 untagged to talk FIP to the FCF in order to discover the FCoE VLAN and FCF identity.
- Configure uplink FCF switch-facing ports
int te0/52
portmode hybrid
switchport
fip-snooping port-mode fcf
protocol lldp
no advertise dcbx-tlv ets-reco
dcbx port-role auto-upstream
no shutdown
Hybrid mode is Force10's Native VLAN mode. It allows the switch to accept both tagged and untagged Ethernet frames. Switchport turns the switch port into L2 mode for switching. The FIP Snooping Port-Mode indicates that the connected switch on the other end of te0/52 is an FCF. The DCBx role-auto-upstream indicates that the switch learns its PFC/ETS settings from the upstream switch.
- Configure downlink server-facing ports
int te0/1
portmode hybrid
switchport
protocol lldp
dcbx port-role auto-downstream
span pvst edge-port
Span pvst edge-port configures the port to skip past the STP process of checking for loops and to put the port into the forwarding state right away.
- Configure VLAN interfaces for switch and assign ports
int vlan 20
int vlan 1000
tagged te0/1,52
fip-snooping enable
no shut
This tags the Enode and FCF-facing ports for VLAN 1000. The FCoE VLAN must be tagged, because the FCoE relies on the dot1p value inside of the dot1q tag for ETS and PFC.
Configuring an Nexus 5000 as FCF
- Add features
feature fcoe
feature npiv
feature telnet
feature lacp
These enable FCoE and NPIV to allow it to accept multiple logins from its vF_Port.
- Configure FC ports and settings if using unified ports
slot 2
port 15-16 type fc
copy run start
reload
Designate the FC ports.
- Configure VSANs and FCoE VLANs.
vsan database
vsan 2
vlan 1000
fcoe vsan
Define a VSAN and associate it with the FCoE VLAN. I didn't talk about VSAN before, but I mention it in the glossary a bit. It basically does the same to SANs which VLANs does to LANs.
- Configure individual ports from MXL
int eth 1/1
switchport mode trunk
switch trunk native vlan 20
switchport trunk allowed vlan 20,1000
no shut
This configures the trunk to the MXL for VLAN 20 untagged and 1000 tagged. The native VLAN 20 allows for the initial FIP communication between the Enode and the FCF, and the tagged VLAN 1000 functions as the FCoE VLAN.
- Configure VFC interfaces for binding to port-channel.
int vfc1
bind int eth 1/1
no shut
This configures the vFC and binds it to the Ethernet port facing the FSB. Cisco and others usually recommend binding the vFC to the FIP MAC of the Enodes.
- Configure VSAN database matching VFC and FC interfaces.
vsan 2 int vfc1
vsan 2 int fc2/15
This associates the VSAN with the vFC and FC interfaces, joining the FC and Ethernet fabrics together.
- Configure zones and zonesets.
zone name blade1 vsan 2
member int fc2/15
member ppwn
xx:xx:xx:xx:xx:xx:xx:xx
zoneset name set1 vsan 2
member blade 1
zoneset activate name set1 vsan 2
This configures the zones.
Validating FIP Snooping
MXL-B1-Rack3015# show fip-snooping sessions
Enode MAC
5c:f9:12:34:56:78
Enode Intf
Te 0/3
FCF MAC
54:7f:ee:56:55:49
FCF Intf
Te 0/52
VLAN
1000
FCoE MAC
0e:fc:00:55:00:04
FC-ID
55:00:04
Port WWPN
20:01:5c:f9:dd:16:ef:26
Port WWNN
20:00:5c:f9:dd:16:ef:26
Here are the parameters of a single virtual FC link as shown by the FSB. You have the FCoE VLAN (1000), and you have the FCoE MAC of the Enode (0e:fc:00:55:00:04). It's not clear to me whether that's the FCID of the Enode or for the device it's got an FC connection to. You can see that last part is the FC_ID, and the first part is the FC-Map.
Validating vFC
switch# show interface vfc 4
vfc4 is up
Bound interface is Ethernet1/4
Hardware is Virtual Fibre Channel
Port WWN is 20:02:00:0d:ec:6d:95:3f
Port WWN is 20:02:00:0d:ec:6d:95:3f
snmp link state traps are enabled
Port WWN is 20:02:00:0d:ec:6d:95:3f
APort WWN is 20:02:00:0d:ec:6d:95:3f
snmp link state traps are enabled
Port mode is F, FCID is 0x490100
Port vsan is 931
1 minute input rate 0 bits/sec, 0 bytes/sec, 0 frames/sec
1 minute output rate 0 bits/sec, 0 bytes/sec, 0 frames/sec
0 frames input, 0 bytes 0 discards, 0 errors
0 frames output, 0 bytes 0 discards, 0 errors
Interface last changed at Thu Mar 11 04:44:42 2010
Here you can see how the vFC is like a Fibre-channel port. It has a WWpN, an associated FCID, it's an F_Port (going to the FSB's NP_Port), it has an association with a VSAN.
Glossary
AG Mode: Access gateway mode. This is a Brocade word. This is the same thing as NPV Mode. This mode uses N_Port virtualization. An AG pretends to connect to a single node when it may be connecting to several. It uses F_Ports to connect to hosts, and to the FCF. This saves on ports on the FSB because a single N_Port can map to several F_Ports, each of which connects to an N_port on the hosts. This is in contrast to native mode, which requires a 1:1 E (ISL) to F (switch to node) to N (node).
CEE: Converged Enhanced Ethernet = IBM’s trademarked term for their implementation (trademarked April 18th 2007, 18 months after Cisco trademarked Cisco Data Center Ethernet).
CEE Port:
DCB: Datacenter bridging.
DCBx: Data Center Bridging Capabilities Exchange Protocol. A discovery and capability exchange protocol that is used for conveying capabilities and configuration of the above features between neighbors to ensure consistent configuration across the network.
Domain ID: Eight-bit field in the FCID.
ENode: This means FCoE Node, which got abbreviated to ENode. An ENode is an FCoE termination point on the CNA, which provides the functionality of a Fibre-channel HBA with lossless Ethernet capability. These end devices produce VFC (virtual Fibre channel) interfaces as VN_Ports connecting to VF_Ports on the FCF. These devices create the FCoE tunnel endpoint on the host end.
E_port expansion port on the switch which is used to connect to another switch.
FCID: N_Port identifier. A 24-Bit value identifies an individual Fibre-channel host. Unlike a WWN, an FCID is what is used in the source and destination headers of the Fibre-channel header. The first byte in the FCID is the Domain ID, which logs the host in. The domain ID is unique to each switch. The second byte is the Area ID, used to identify an N_Port that is connected to a switch. The third is the Port ID, which is used to identify a single FC object on the Fibre-channel fabric. The FCID is a bit like an IP address, where a WWN is like a MAC address. FCIDs are uniquely assigned within a SAN.
FC-MAP: FCoE MAC Address Prefix. 0e:fc:00-0e:fc:ff. The VN_Port is given a a fabric-provided MAC address, or FPMA. This is given to the Enode in the FIP advertisement. An FC-MAP is like an identifier for individual SANs. This must be configured on the NPV bridge which helps the FCoe NPV bridge isolate misconnections to FCFs in other fabrics.
FCoE-FIP MAC: An Enode MAC address used to associate a CNA to the created VFC.
FCoE-WWN: The WWN of the CNA which will be used for zoning.
FDISC: Fabric Discovery. Subsequent logins from the same ENode for different users, applications, or virtual machines after an ENode performs an initial FLOGI to log in to a switch. FC and FIP FDISC messages serve the same function in FC and FCoE networks, respectively. N_Ports send FC FDISC messages to the FC switch and VN_Ports send FIP FDISC messages to the FCF.
FIP: FCoE Initialization Protocol. an L2 protocol for endpoint discovery and fabric association. FIP frames have their own Ethertype (FIP).
FIP-ADV-Period: FIP keep alive period. These are transmitted to the MAC address of the Enode from the FCF. It's on average 128 seconds.
FLOGI: Fabric Login. F_Port Login. Logical connection to the FC switch. This process gives an FCID to a node. For FC devices, an N_Port logs in to the FC network by sending an FC FLOGI message to the F_Port of an FC switch. For FCoE devices, a VN_Port logs in to the FC network by sending a FIP FLOGI message to the VF_Port of an FC switch.
FPMA: Fabric-Provided MAC Address. Is is also sometimes referred to as an FCoE MAC address. This consists of two parts: a 24-bit FC-Map and a 24-bit FCID.
F_port fabric port on the switch which connects to a node point-to-point.
FSB: A FIP Snooping Bridge is an intermediate switch between the ENode and the FCF. By snooping on FIP packets during the discovery and login phases, intermediate bridges can implement dynamic data integrity mechanisms using ACLs that permit valid FCoE traffic between the ENode and FCF. Implementing such security mechanisms ensures that only valid FCoE traffic is allowed. This is FIP snooping.
FWWN: Fabric World Wide Name. WWN on each port on a fabric switch.
NPAR: NIC partitioning done at the card. The driving standards are Dell and QLogic.
These have an 'FCoE controller' for each of its Ethernet ports. The controller creates VN_Ports. NPAR does require a special switch. NPAR allows you to set up multiple apparent NICs according to a dot1q tag. Because dot1q has eight possible values this means that NPAR can only allow for eight virtual NICs.
N_port node port on the host.
NPV Mode: N_Port virtualization. This is a Cisco-specific word. Brocade has it and calls it 'Access Gateway' mode. A switch in NPV mode is invisible to the fibre-channel fabric. It doesn't participate in fabric services. This uses proxy N_Ports, which make requests for fabric logins on behalf of downstream nodes. NPV and NPIV are commonly used together.
NPIV: N_PortID Virtualization. NPIV allows a single physical N_Port to have multiple WWpNs and therefore multiple N_Port_IDs, associated with it. An NPIV-enabled physical N_Port can subsequently issue additional commands to register more WWPNs and receive more N_Port_IDs (one for each WWPN). Without NPIV, a host can only have single WWPN per F_Port. Therefore, without NPIV, there will only be allowed one fabric login.
NPV: This is similar to NPIV, but it instead uses an 'NP_Port' on the switch which requests WWPNs via NPIV on behalf of other N_Ports connected to it. This is switch-based, rather than NPIV, which is host-based.
NP_Port: Proxy N_Port. This connects to an F_Port and acts like a proxy for other N_Ports on the NPV-enabled switch.
N_Port_ID: is a 24-bit address assigned by the Fibre Channel switch during the FLOGI process. The N_Port_ID is not the same as the World Wide Port Name (WWPN), although there is typically a one-to-one relationship between WWPN and N_Port_ID.
NWWN: Node World Wide Name. An NWWN is valid for on multiple ports that are on that node (this identifies the ports as network interfaces of a particular node).
PLOGI: N_Port login, request login to another N_port, before any data exchange between ports. Hosts register their WWpNs to the name server. It sends its WWpN map to its FCID. The name server can then expose that map and then allow for communication between devices.
PRLI: Process Login. Finished. Now devices can talk via SCSI.
PWWN: The same thing as World Wide Port Name, or WWpN. VN_Port emulates an FC N_port
SCR: State Change Registration. Nodes are able to send notifications to the name server which can be sent to all other nodes in the fabric regarding major changes to the fabric--stuff like nodes joining and leaving the fabric, switches joining or leaving the fabric, or changing the switch name.
SR-IOV: Single Root I/O virtualization. This is a PCI-SIG standard which allows a CNA to appear as multiple NICs in the operating system while using up only a single I/O resource. It provides a mechanism by which a Single Root Function can appear to be multiple separate physical devices. In constrast to NPAR, NIC partitioning with SR-IOV is done by the operating system. This does not require a special switch.
SPMA: (Server Provided MAC Addresses) MAC address that an ENode assigns to one of its ENode MACs and is not assigned to any other ENode MAC in the same FCoE VLAN. An SPMA can be associated with more than one VN_Port at that ENode MAC.
VE_Port emulates an FC E_port. V means that it's an Ethernet port.
VF_Port emulates an FC F_port. V means that it's an Ethernet port.
vFC: Virtual Fibre-channel interface. This is configured on the FCF. This is used for the FC part of the FCoE configuration. It must be bound to a physical Ethernet port or the MAC address of the CNA's FIP MAC. This is needed for connecting Ethernet and Fibre-channel services together. You must map a VLAN to a VSAN, map the VSAN to the VFC, and map the VFC to an Ethernet port or Enode's FIP MAC. So it's sort of a Fibre-channel port that has an associated VSAN as well as an associated Ethernet port/Enode FIP MAC.
VFID: Virtual fabric ID:
VSAN: Virtual SAN. A collection of ports from a set of connected Fibre Channel switches, that form a virtual fabric. Ports within a single switch can be partitioned into multiple VSANs, despite sharing hardware resources. Conversely, multiple switches can join a number of ports to form a single
VSAN. A VSAN is very similar to VLAN in that sense, and the term was invented by Cisco.
WWN: World Wide Name. These are eight-byte addresses, usually represented in hex form. They're used in storage technologies like Fibre-channel, ATA, and SAS. They can be used to refer to a switch, individual ports on a switch, or nodes.
WWnN: World Wide Node Name. This is an example of a World Wide Name. It is an eight-byte number used as a unique identifier in Fibre-channel to identify a node in the Fibre-channel fabric. This might be a multiport HBA.
WWpN: World Wide Port Name. This is an example of a World Wide Name. It is an eight-byte number used as a unique identifier in Fibre-channel to identify a port in the Fibre-channel fabric. This might be an individual port, on say, a multiport HBA.