1. 如何实现流量控制?
a) 点到点是通过BB_CREDIT,端到端通过EE_CREDIT
2. 如何知道其他节点的状态?包括是否掉线,新加来的端口等情况
a) 直连情况下,会产生LINK DOWN/UP。交换机组网下是通过RSCN
3. 业务的异常后,如何处理的?
a) 通过ABTS机制。在发现错误后,主机发送ABTS,终止掉出错的Exchange,并等一个安全的Timer。超时后再恢复业务。
4. 协议的分层是如何卸载的?(驱动、FW和芯片分别实现哪些功能)
a) 主流做法,是驱动实现FC 2(部分/4层,FW实现FC 2层中(部分),芯片实现FC 0/1层。从流程上来说,就是芯片实现速率协商,FW实现链路初始化,驱动实现FLOGI/PLOGI/PRLI/IO等。
5. 是否支持虚拟端口(同一物理介质,虚拟出多个端口)?
a) 只有Fabric组网下支持虚拟端口(NPIV)。相当于一个物理端口,可以作为多个虚拟端口使用。对端看到的即为多个端口。
6. 进入了不能发帧的状态时,是否有恢复机制?
a) 会有TIMER,超时后发起LR,让链路重启。
7. 如何维护链路的状态?
a) IDLE
8. 帧最大是多少?如何组织成上层业务需要的形式的?
a) 2112字节。Frame按照帧头的seq_cnt组成SEQ。SEQ再组成EXCH。
9. 帧如何表明是哪个端口发给另外的端口?
a) 通过S_ID和D_ID。
10. 换端口如何处理?
a) 要同时根据NPORT_ID和WWN来判断。判断NPORT_ID和WWN哪个发生了变化,然后进一步处理。