8

Trying to wrap my head around how Fibre Channel Frames are actually populated and sent through a switched fabric. I Understand WWNN WWPN, WWNN is a WWN of the actual HBA, and WWPN are the WWN of the actually ports on the card. So if a HBA has 4 ports, they all share the same WWNN but have different WWPN. Still not sure where WWNN comes into play with the communication in a fabric though. Secondly, the FLOGI Process by which a new N_port node tries to login to the fabric and get assigned a dynmic FCID. There after a PLOGI is done so the N-port node can submit it's WWPN. This maintains a WWPN to FCID relationship....

Lastly, FC addressing is a combination of a domain ID, area ID, and port ID. All 8bits. My understanding is it is used to locate where in a fabric a interface is? So if i have two switches domain 1 and domain 2, 0100000 would mean first switch area 00 and port 00?

Furthermore I am still unsure of how a host sends to another host. Looking at a FC frame there are fields for Destination ID and Source ID which are 24-bit FC addresses or FCIDs. My question is do these DestID and SourceID get populated by the host HBA or by the FC switch?? I thought a host only knew it's own WWNN and WWPN from the HBA?

Secondly I don't see anywhere in the Fibre Channel frame where WWNN or WWPN come in to play. Unless they are only used in the FLOGI and PLOGI process to obtain a dynamic FCID.

Thanks for your help. Appreciate it.

PS I am using a Cisco MDS and on our hosts fcinfo to gather information, I cannot see a way to get the FCID using fcinfo on each host? That is why i am confused if the host maintains a list of destination FCIDs or not.

Also, for directly connected hosts, no switch involvment, do the hosts FLOGI into each other?

Jim
  • 988

2 Answers2

4

At the beginning host knows WWNN and WWPN.

Well, forget WWNN. WWNN, theoretically, should be the same on all ports of all HBAs of a computer, but this is rarely the case. Usually it is the same on one HBA, but I've seen a case of multiport HBA with multiple WWNNs. So it's a bit of a mess.

Upon logging to fabric (FLOGI/PLOGI), host gets to know its P_ID from the switch. And switch learns WWPN/WWNN from the host. Hence switches know which WWPN is assigned one-to-one to which 24-bit P_ID.

Host during the normal operation queries the switch, for example:

  • which WWPNs am I allowed to communicate to?
  • what is the current P_ID of WWPN that I remember as my block device (my hard disk)?

Many people think that WWPN works similarly to MAC address, because the numbers look "similar". They have almost nothing in common and play different roles.

WWPN or WWNN is never used as an address; P_ID is. In DNS and IP analogy, WWPN is sort of like my.node.com: it identifies the address (111.112.113.114), but does not serve as an address during the actual communication; 111.112.113.114 does. In FC, P_ID would be the actual address used in the frames.

This is not a perfect analogy. WWPN is not quite as human-readable as DNS name. And P_ID is a bit more useful than IP, as its very format helps the FC switches to quickly find out how to handle the frame. Anyway this is the large picture.

By the way, there is nothing similar to MAC address in FC (good for us!) - there is no low-level addressing beneath P_ID addressing.

kubanczyk
  • 14,252
0

Caveat - I don't know the MDS stuff newer (FC-SW etc) stuff changes some of this but it's a (hideously) backwards compatible protocol so...

My understanding is that FC always looks like a loop to the devices on it. There can be more than one device per loop but FC itself has no concept of routing or switching, that's all handled by the switches (or other tricks but not inside "normal" FC frames, no support for VLAN tagging etc, well maybe with FC-SW).

Domains are logical groups of these loops.

The Wikipedia page is actually quite good.

TheFiddlerWins
  • 3,009
  • 1
  • 16
  • 23