光纤通道帧是如何填充和穿越光纤的?

试图围绕光纤通道帧如何实际填充并通过交换结构发送。 我了解WWNN WWPN,WWNN是实际HBA的WWN,而WWPN是卡上实际端口的WWN。 所以如果HBA有4个端口,它们都共享相同的WWNN,但是具有不同的WWPN。 仍然不确定WWNN在一个结构中的通信中起什么作用。 其次,一个新的N_port节点试图login到结构并分配一个引用的FCID的FLOGI过程。 在PLOGI完成之后,N端口节点可以提交它的WWPN。 这保持WWPN FCID关系….

最后,FC寻址是域ID,区域ID和端口ID的组合。 全部8位。 我的理解是用它来定位一个界面在哪里? 所以如果我有两个开关域1和域2,0100000将意味着第一个开关区域00和端口00?

此外,我仍然不确定主机如何发送到另一台主机。 看一个FC帧,有24个FC地址或FCID的Destination ID和Source ID字段。 我的问题是这些DestID和SourceID由主机HBA或FC交换机填充? 我以为主机只知道它是HBA自己的WWNN和WWPN?

其次我没有看到WWNN或WWPN进入光纤通道帧的任何地方。 除非它们只用于FLOGI和PLOGI过程来获得dynamic的FCID。

谢谢你的帮助。 欣赏它。

PS我正在使用Cisco MDS,并在我们的主机fcinfo收集信息,我看不到一种方法来获得在每个主机上使用fcinfo FCID? 这就是为什么如果主机维护一个目标FCID列表,我很困惑。

另外,对于直接连接的主机,没有交换机参与,做主机FLOGI到彼此?

一开始主机知道WWNN和WWPN。

那么,忘记WWNN。 WWNN在理论上应该与计算机的所有HBA的所有端口都是相同的,但这种情况很less。 通常在一个HBA上是一样的,但是我已经看到了一个多端口HBA和多个WWNN的情况。 所以这有点乱。

login到结构(FLOGI / PLOGI)后,主机会从交换机获知其P_ID。 并且从主机学习WWPN / WWNN。 因此,交换机知道哪个WWPN被一对一地分配给哪个24比特的P_ID。

主机正常运行时查询交换机,例如:

  • 我允许哪些WWPN与之通信?
  • 什么是WWPN的当前P_ID,我记得我的块设备(我的硬盘)?

很多人认为WWPN的工作原理与MAC地址类似,因为数字看起来“相似”。 他们几乎没有任何共同点,扮演着不同的angular色。

WWPN或WWNN永远不会用作地址; P_ID是。 在DNS和IP类比中,WWPN有点像my.node.com :标识地址( 111.112.113.114 ),但不作为实际通信中的地址; 111.112.113.114 。 在FC中,P_ID将是帧中使用的实际地址。

这不是一个完美的比喻。 WWPN不像DNS名称那样可读。 而且P_ID比IP更有用,因为它的格式可以帮助FC交换机快速find如何处理帧。 无论如何,这是一个大的图片。

顺便说一下,没有什么类似于FC中的MAC地址(对我们有益!) – 在P_ID寻址下面没有低电平寻址。

注意 – 我不知道MDS的东西更新(FC-SW等)的东西改变了一些,但它是(可怕的)向后兼容的协议,所以…

我的理解是,FC总是看起来像一个循环的设备上。 每个回路可以有多个设备,但FC本身没有路由或交换的概念,这些都是由交换机(或其他技巧,但不在“正常”的FC帧内,不支持VLAN标记等等,也可能是FC -SW)。

域是这些循环的逻辑组。

维基百科页面其实是相当不错的。