如何填充光纤通道框架并遍历结构?


8

试图绕过光纤通道帧的实际填充和通过交换结构发送的过程。我了解WWNN WWPN,WWNN是实际HBA的WWN,而WWPN是卡上实际端口的WWN。因此,如果HBA具有4个端口,则它们都共享相同的WWNN,但具有不同的WWPN。仍然不确定WWNN在结构化通信中的作用。其次,通过FLOGI进程,新的N_port节点尝试登录到该结构并获得动态FCID。完成PLOGI之后,N端口节点可以提交它的WWPN。这维护了WWPN与FCID的关系。

最后,FC寻址是域ID,区域ID和端口ID的组合。所有8位。我的理解是,它用于定位接口在结构中的位置吗?因此,如果我有两个交换机,域1和域2,0100000表示第一个交换机区域00和端口00?

此外,我仍然不确定主机如何发送到另一主机。查看FC帧,有目的地ID和源ID的字段,它们是24位FC地址或FCID。我的问题是主机HBA或FC交换机会填充这些DestID和SourceID吗?我以为主持人只能从HBA知道它是自己的WWNN和WWPN?

其次,我看不到WWNN或WWPN进入光纤通道框架的任何地方。除非它们仅用于FLOGI和PLOGI进程中以获得动态FCID。

谢谢你的帮助。欣赏它。

PS我正在使用Cisco MDS,并且在我们的主机fcinfo上收集信息,我看不到一种在每个主机上使用fcinfo获取FCID的方法吗?这就是为什么我对主机是否维护目标FCID列表感到困惑的原因。

另外,对于直接连接的主机(无交换机参与),主机FLOGI是否彼此互斥?


在没有任何关于此主题的知识的情况下,文本看起来有点像“ WWN WWNN,WWPN WWW FCID HBA ...”
Christopher Perrin

Answers:


4

开始时,主机知道WWNN和WWPN。

好吧,忘记WWNN。从理论上讲,WWNN在计算机的所有HBA的所有端口上都应相同,但是这种情况很少。通常在一个HBA上都是相同的,但是我已经看到了带有多个WWNN的多端口HBA的情况。所以有点混乱。

登录到结构(FLOGI / PLOGI)后,主机将从交换机知道其P_ID。并且switch从主机学习WWPN / WWNN。因此,交换机知道哪个WWPN一对一地分配给哪个24位P_ID。

主机在正常操作过程中查询交换机,例如:

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

许多人认为WWPN与MAC地址类似,因为数字看起来“相似”。他们几乎没有共同点,扮演着不同的角色。

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交换机快速找到如何处理帧。无论如何,这是大图。

顺便说一下,FC中没有类似于MAC地址的地址(对我们有好处!)-在P_ID寻址下没有低级寻址。


有没有办法从主机查看主机的PID?远程设备的PID是否保留在本地?例如,如果节点A要发送到节点B,节点A是否知道节点B的PID?另外,如果WWNN WWPN与FC帧传输没有任何关系,那么点对点链接如何工作?每个节点是否互相登录?
吉姆(Jim)

是的,NodeA查询开关,然后在本地保留NodeB的当前P_ID。可以看到自己的P_ID,但这取决于所使用的OS。点对点无需开关即可使用,无需PLOGI / FLOGI / WWNN / WWPN / P_ID:我们在网上看到的所有内容均已处理完毕,我们发送的所有内容均已发送至NodeB,我们不会弄错,所以我们不需要任何地址。
kubanczyk

是否有从新节点发送来的FC帧类型来确定交换矩阵上还有哪些其他节点?例如,我知道我们的FC目标可以看到同一区域中的其他节点的WWPN,我只是想知道目标如何发现它们?它是否发送FC广播或其他内容?我听说这与FC交换机名称服务器有关吗?
吉姆(Jim)

没有广播。节点将查询帧发送到地址0xFFFFFC。每个交换机通常会监听此地址,因此接收到此类帧的第一个交换机会做出响应。响应是以下列表:P_ID,WWNN和WWPN。另外,还有另一种称为RSCN的可选机制,在该机制中,任何新的WWN出现在列表上之后,交换机本身都会向该节点发送帧。
kubanczyk

0

警告-我不知道较新的MDS内容(FC-SW等)会改变其中的某些内容,但是它是(向后兼容的)协议,所以...

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

域是这些循环的逻辑组。

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


“ FC本身没有路由或交换的概念”……实际上,如果将FC路由或交换与IP世界进行比较,那么很明显,FC具有一种真正干净且一致的方法,而IP堆栈是一种过于复杂和过时的混乱。
kubanczyk

1
我同意您是否将IP更改为IPv4。IPv6更接近FC。区别在于(至少在传统FC中)您的端点不会超过127。而且IPv4也不做交换,这是在以太网级别完成的。
TheFiddlerWins 2013年

同意IPv4备注。但是FC中有127个端点?否。您正在谈论的是称为“私有循环”的过时的无结构模式。在传统结构中,2 ^ 24减去一个小的预留池。
kubanczyk

我不确定您定义的“传统”结构是什么,我在谈论FC-AL,听起来您只是在谈论相对较新的FC-SW。
TheFiddlerWins 2013年

两者都在上一个千年投入生产。
kubanczyk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.