NVMe over Fabric中转发报文的方法、交换设备和系统技术方案

技术编号:15355379 阅读:109 留言:0更新日期:2017-05-17 12:26
本申请提供一种NVMe over Fabric中转发报文的方法、交换设备和系统,以解决因设备名称相同而连接端口不同造成的报文转发失败的问题。通过本申请提供的交换设备和方法,在接收到需要转发的报文时,获取所述需要转发的报文中包括的设备名称,判断获取到的设备名称在域名服务表中是否有记录。当域名服务表中有记录时,判断所述记录中与所述设备名称对应的连接端口,是否是所述交换设备接收所述需要转发的报文的端口。如果所述记录中与所述设备名称对应的连接端口不是所述交换设备接收所述需要转发的报文的端口,则丢弃所述需要转发的报文。这样就能够避免不同的设备用相同的设备名称,通过交换设备上不同的连接端口转发报文时带来的报文转发错误的问题。

【技术实现步骤摘要】

本专利技术涉及信息
,特别涉及一种网络(英文:fabric)上的非易失性存储器标准(英文:Non-VolatileMemoryExpress,NVMe),NVMeoverFabric,中转发报文的方法、交换设备和系统。
技术介绍
NVMe规定了以快速外围部件互连标准(英文:PeripheralComponentInterconnectExpress,PCIe)总线连接的NVMe设备和主机之间的传输机制。已经发布的PCIe架构的NVMe标准在产业界取得了巨大的成功之后,业界很快希望将NVMe标准扩展到数据中心领域。但受限于数据中心领域PCIe协议本身的缺陷(扩展性、远距离连接等),产业界正在推动将NVMe协议运行在网络上,以提供更灵活的更广泛的应用。NVMe协议运行的网络包括但不限于沃普(英文:iWarp),基于融合以太的远程内存直接访问协议(英文:RemoteDirectMemoryAccessOverConvergedEthernet,ROCE),无限带宽(英文:Infiniband),光纤通道(英文:FiberChannel,FC),全路径(英文:Omni-Path)等。业界将NVMe协议运行在iWarp、ROCE、Infiniband、FC和Omni-Path等网络上的架构称为NVMeoverFabric(或NVMe-oF)。在NVMeoverFabric中,主机负责发起数据的读写,存储设备负责接收并且执行主机发送的命令。主机和存储设备之间通过交换设备实现命令报文和输入输出报文等的转发。当主机或存储设备通过交换设备转发报文时,存在不同的设备以相同的设备名称通过交换设备不同的连接端口发送需要转发的报文给交换设备的情况,造成报文转发的失败。
技术实现思路
本申请提供一种NVMeoverFabric中转发报文的方法、交换设备和系统,以解决因设备名称造成的报文转发失败的问题。一方面,本申请提供一种交换设备,所述交换设备包括处理器和交换芯片,所述处理器控制交换芯片对接收到的报文进行转发,所述处理器用于:获取所述交换设备接收到的需要转发的报文中的设备名称;判断域名服务表中是否有包含所述设备名称的记录;如果所述域名服务表中没有包含所述设备名称的记录,则控制所述交换芯片转发所述需要转发的报文,并在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系;如果所述域名服务表中有包含所述设备名称的记录,则判断所述记录中与所述设备名称对应的连接端口,是否是所述交换设备接收所述需要转发的报文的端口;如果所述记录中与所述设备名称对应的连接端口是所述交换设备接收所述需要转发的报文的端口,则控制所述交换芯片转发所述需要转发的报文;如果所述记录中与所述设备名称对应的连接端口不是所述交换设备接收所述需要转发的报文的端口,则丢弃所述需要转发的报文。上述交换设备,在接收到需要转发的报文时,获取所述需要转发的报文中包括的设备名称,判断获取到的设备名称在域名服务表中是否有记录。当域名服务表中有记录时,判断所述记录中与所述设备名称对应的连接端口,是否是所述交换设备接收所述需要转发的报文的端口。如果所述记录中与所述设备名称对应的连接端口不是所述交换设备接收所述需要转发的报文的端口,则丢弃所述需要转发的报文。这样就能够避免不同的设备用相同的设备名称,通过交换设备上不同的连接端口转发报文时带来的报文转发错误的问题。在一个可能的设计中,所述处理器还用于:在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系后,为所述对应关系设定老化时间;在所述对应关系的存续时间达到所述老化时间设定的时间时,删除所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系。在一个可能的设计中,所述处理器还用于:为所述对应关系设定老化时间后启动定时器,所述定时器用于记录所述对应关系的存续时间;并在接收到所述设备名称对应的设备通过所述连接端口发送的报文时,将所述定时器记录的时间清零并重新计时。这样,对于长时间未通过所述交换设备转发报文的设备,老化掉该设备在域名服务表中的记录,即删除域名服务表中包含该设备的设备名称的记录。当其它设备使用相同的设备名称通过所述交换设备转发报文时,因域名服务表中未记录与该设备名称相关的记录,其发送的转发报文能够被交换设备转发。避免了因设备名称冲突导致的报文转发失败的问题。可选的,所述交换设备接收到的所述需要转发的报文,可以是发送所述需要转发的报文的设备直接发送给所述交换设备的,也可以是其它交换设备转发给所述交换设备的。可选的,所述交换设备在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系之后,还可以记录日志,用于所述交换设备的故障诊断和日常维护。在一个可能的设计中,所述设备名称是媒体接入控制MAC地址或互联网协议IP地址。在一个可能的设计中,所述交换设备还包括内存,所述处理器在所述内存中维护所述域名服务表。在一个可能的设计中,所述需要转发的报文,是网络上的非易失性存储器标准NVMeoverFabric中控制设备或存储设备发送的报文。可选的,所述NVMeoverFabric中控制设备或存储设备通过iWarp、ROCE、Infiniband、FC或Omni-Path等网络实现连接和通信。在一个可能的设计中,所述需要转发的报文是NVMeoverFabric中的命令报文或输入输出报文,所述输入输出报文用于所述控制设备从所述存储设备读取数据或向所述存储设备写入数据。可选的,所述交换设备200可以根据接收到的需要转发的报文中的特定字段,例如opcode或commandtype等,识别该需要转发的报文是命令报文还是输入输出报文。可选的,所述命令报文包括但不限于NVMeoverFabric中的Discovery、connection、keepalive报文。所述输入输出报文包括但不限于读数据报文或写数据报文。在一个可能的设计中,所述处理器控制所述交换芯片转发所述需要转发的报文包括:当所述需要转发的报文是命令报文时,所述处理器将所述需要转发的报文发送给所述交换芯片,以通知所述交换芯片转发所述需要转发的报文;当所述需要转发的报文是输入输出报文时,所述处理器发送通知消息给所述交换芯片,以通知所述交换芯片转发所述需要转发的报文。可选的,所述交换芯片中保存有MAC转发表和/或IP转发表,当所述控制器控制所述交换芯片转发所述输入输出报文时,所述交换芯片根据保存的MAC转发表和/或IP转发表对所述输入输出报文进行转发。另一方面,本申请提供一种转发报文方法,所述方法包括:接收需要转发的报文;获取所述需要转发的报文中的设备名称;判断域名服务表中是否有包含所述设备名称的记录;如果所述域名服务表中没有包含所述设备名称的记录,则转发所述需要转发的报文,并在域名服务表中记录所述设备名称与接收所述需要转发的报文的连接端口之间的对应关系;如果所述域名服务表中有包含所述设备名称的记录,则判断所述记录中与所述设备名称对应的连接端口,是否是接收所述需要转发的报文的端口;如果所述记录中与所述设备名称对应的连接端口是接收所述需要转发的报文的端口,则转发所述需要本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201611256610.html" title="NVMe over Fabric中转发报文的方法、交换设备和系统原文来自X技术">NVMe over Fabric中转发报文的方法、交换设备和系统</a>

【技术保护点】
一种交换设备,所述交换设备包括处理器和交换芯片,所述处理器控制交换芯片对接收到的报文进行转发,其特征在于,所述处理器用于:获取所述交换设备接收到的需要转发的报文中的设备名称;判断域名服务表中是否有包含所述设备名称的记录;如果所述域名服务表中没有包含所述设备名称的记录,则控制所述交换芯片转发所述需要转发的报文,并在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系;如果所述域名服务表中有包含所述设备名称的记录,则判断所述记录中与所述设备名称对应的连接端口,是否是所述交换设备接收所述需要转发的报文的端口;如果所述记录中与所述设备名称对应的连接端口是所述交换设备接收所述需要转发的报文的端口,则控制所述交换芯片转发所述需要转发的报文;如果所述记录中与所述设备名称对应的连接端口不是所述交换设备接收所述需要转发的报文的端口,则丢弃所述需要转发的报文。

【技术特征摘要】
1.一种交换设备,所述交换设备包括处理器和交换芯片,所述处理器控制交换芯片对接收到的报文进行转发,其特征在于,所述处理器用于:获取所述交换设备接收到的需要转发的报文中的设备名称;判断域名服务表中是否有包含所述设备名称的记录;如果所述域名服务表中没有包含所述设备名称的记录,则控制所述交换芯片转发所述需要转发的报文,并在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系;如果所述域名服务表中有包含所述设备名称的记录,则判断所述记录中与所述设备名称对应的连接端口,是否是所述交换设备接收所述需要转发的报文的端口;如果所述记录中与所述设备名称对应的连接端口是所述交换设备接收所述需要转发的报文的端口,则控制所述交换芯片转发所述需要转发的报文;如果所述记录中与所述设备名称对应的连接端口不是所述交换设备接收所述需要转发的报文的端口,则丢弃所述需要转发的报文。2.根据权利要求1所述的交换设备,其特征在于,所述处理器还用于:在域名服务表中记录所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系后,为所述对应关系设定老化时间;在所述对应关系的存续时间达到所述老化时间设定的时间时,删除所述设备名称与所述交换设备接收所述需要转发的报文的连接端口之间的对应关系。3.根据权利要求2所述的交换设备,其特征在于,所述处理器还用于:为所述对应关系设定老化时间后启动定时器,所述定时器用于记录所述对应关系的存续时间;并在接收到所述设备名称对应的设备通过所述连接端口发送的报文时,将所述定时器记录的时间清零并重新计时。4.根据权利要求1-3所述的任一交换设备,其特征在于,所述设备名称是媒体接入控制MAC地址或互联网协议IP地址。5.根据权利要求1-3所述的任一交换设备,其特征在于,所述交换设备还包括内存,所述处理器在所述内存中维护所述域名服务表。6.根据权利要求1-3所述的任一交换设备,其特征在于,所述需要转发的报文,是网络上的非易失性存储器标准NVMeoverFabric中控制设备或存储设备发送的报文。7.根据权利要求6所述的交换设备,其特征在于,所述需要转发的报文是NVMeoverFabric中的命令报文或输入输出报文,所述输入输出报文用于所述控制设备从所述存储设备读取数据或向所述存储设备写入数据。8.根据权利要求7所述的交换设备,其特征在于,所述处理器控制所述交换芯片转发所述需...

【专利技术属性】
技术研发人员:李宇涛
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1