• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

iNOF技术白皮书-6W102

手册下载

iNOF技术白皮书-6W102-整本手册.pdf  (901.36 KB)

  • 发布时间:2025/3/27 19:31:53
  • 浏览量:
  • 下载量:

iNOF技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2025 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



概述

1.1  产生背景

随着全球企业数字化转型的加速进行,互联网应用在生产、生活领域的不断深入,存储网络的规模越来越大,需要处理的数据越来越多,总部和分支机构的数据中心部署在不同的物理位置,RDMARemote Direct Memory Access,远程直接内存访问功能)成为存储网络的主流技术。RDMA利用相关的硬件和网络技术,使主机的网卡之间可以直接读内存,最终达到高带宽、低时延和低资源消耗率的效果。然而,RDMA提出之初是承载在无损的IBInfiniBand,无限带宽)网络中的,专用的IB网络架构封闭,无法兼容现网,使用成本较高,于是,RoCERDMA over Converged Ethernet)应运而生。

RoCE使用以太网承载RDMA的网络协议,有两个版本:RoCEv1是一种链路层协议,不同广播域下无法使用;RoCEv2是一种网络层协议,可以实现路由功能。

当前高性能计算、分布式存储、人工智能等应用均采用RoCEv2协议来降低CPU的处理和时延,提升应用的性能。RoCEv2协议缺乏完善的丢包保护机制,但存储业务对网络丢包异常敏感。要在以太网大环境下,发挥出RDMA的真正性能,突破数据中心大规模分布式系统的网络性能瓶颈,我们使用智能无损网络技术为RDMA搭建了一套“无丢包、低时延、高吞吐”的无损网络环境。

智能无损网络是一系列技术的集合,它一方面通过流量控制技术和拥塞控制技术来提升网络整体的吞吐量,降低网络时延,另一方面通过智能无损存储网络等技术实现网络和应用系统融合优化。

iNOFIntelligent Lossless NVMe Over Fabric,智能无损存储网络)就是一种以太网和存储网络的融合优化技术。它能实现海量存储设备的自动发现,网络故障的快速感知,并将存储设备的加入和离开第一时间通知给智能无损网络内的所有设备,为实现智能无损网络的“无丢包、低时延、高吞吐”提供基础支持。

1.2  技术优点

iNOF具有以下优势:

·     即插即用

当主机接入iNOF网络时,iNOF交换机能够自动发现该设备,并将新主机加入消息同步给网络中的其他iNOF交换机以及通知同一iNOF域中的其它主机,以便其他主机能迅速发现新加入的主机,并自动和新主机建立连接,迅速实现存储业务的部署。

·     故障快速感知

当网络故障时,iNOF交换机能够快速检测到故障,并将故障状态信息同步给网络中的其他iNOF交换机以及通知同一iNOF域中的其他主机。如果该网络故障影响了存储设备,则网络服务器会快速断开与该存储设备的连接,将业务切换到冗余路径。

·     增强的安全性

iNOF支持主机白名单功能,通过限制主机的接入接口和IP地址,防止未经授权的主机接入网络,提高网络的安全性。

iNOF技术实现

2.1  iNOF网络元素

iNOF网络中,包括以下三个重要元素:

·     iNOF主机:支持iNOF协议的网络服务器和磁盘设备,以下简称主机。

·     iNOF交换机:用于接入主机且支持iNOF功能的交换机。

·     iNOF域(Zone):iNOF使用域来管理主机。当域内有主机加入或者离开,iNOF会将这个主机的加入和离开信息通知给同一域内的其他主机,以便其他主机能够感知同一域内任一主机的加入或者离开。

为方便管理,iNOF域分为两类:

¡     自定义iNOF域:用户根据组网需求手工创建的iNOF域,需要手工向其中添加主机。

¡     缺省iNOF域:设备出厂即存在的iNOF域,无需用户创建,不能删除。对于未加入自定义iNOF域的主机,用户可以选择是否自动让它加入缺省iNOF域。

2.2  iNOF组网

2.2.1  iNOF有两种典型组网:iNOF直连组网和iNOF跨交换机组网,这两种组网的适用场景不同,原理机制也不同。iNOF直连组网

iNOF直连组网如1所示,它要求同一域内的所有主机和同一iNOF交换机直连。主机和iNOF交换机之间通过交互二层报文,来通知主机状态变化(即主机加入或离开iNOF网络,也称为主机上线/离线),iNOF交换机之间不交互iNOF相关信息。iNOF直连组网适用于小规模网络。

图1 iNOF直连组网示意图

 

2.2.2  iNOF跨交换机组网

iNOF跨交换机组网如2所示,它支持同一域内的主机可以连接在不同的iNOF交换机上,iNOF交换机之间通过iNOF报文传递域内所有主机的加入或离开信息。iNOF跨交换机组网适用于规模较大的数据中心,这样的数据中心拥有多台主机,主机属于不同的组织或部门(对应不同的iNOF域),同一组织或部门的主机通过多台iNOF交换机相连。

iNOF跨交换机组网中:

·     iNOF交换机和主机直连,iNOF交换机和主机之间交互的报文和报文交互流程同iNOF直连组网。

·     iNOF交换机之间基于iBGP连接建立iNOF连接,通过BGP报文携带iNOF路由信息。iNOF交换机之间有两种连接方式:

¡     全连接组网:iNOF交换机之间全部两两建立直连连接,这种全连接的方式增加了维护复杂度,不利于后续iNOF交换机的加入。

¡     反射器组网:H3C基于成熟的BGP技术,将BGP协议进行扩展,复用BGP反射器技术,来实现iNOF跨交换机组网。推荐使用反射器组网,本文也重点讲述该组网方式。

利用BGP反射器技术,将一台iNOF交换机感知到的主机状态变化通知给域内的所有iNOF交换机。iNOF路由信息包括主机的加入或离开信息,以及iNOF的配置信息。

提示

在使用反射器的iNOF跨交换机组网中,为简化组网,必须至少部署一台iNOF反射器,其它iNOF交换机均为客户机。所有客户机和反射器连接,客户机和客户机之间不建议连接,主机和iNOF反射器、iNOF客户机直连。因为客户机和客户机之间连接容易导致组网的复杂性,在路由快速变化时可能会出现路由表项短暂波动等非预期或不可控的现象。

为避免单点故障、提高网络的可靠性,一个iNOF域中也可以部署多个iNOF反射器。当一个反射器故障时,其它反射器能继续工作。这些路由反射器及其客户机之间形成一个集群,反射器上需要配置相同的集群ID,以便集群具有统一的标识,避免路由环路的产生

 

图2 iNOF跨交换机组网示意图

 

2.3  iNOF相关报文

iNOF在运行过程中,会用到如1所示的这些报文。

表1 iNOF相关报文描述表

报文名称

发送方——>接受方

报文描述

扩展的LLDP通告报文

主机——>iNOF交换机

用来告知直连的iNOF交换机,本主机的加入以及主机参数的变化

iNOF状态通知报文之通知报文

iNOF交换机——>主机

用来通知同一域中的其它主机,有主机离开iNOF

iNOF状态通知报文之ACK报文

主机——>iNOF交换机

用来对收到的通知报文的确认

iNOF报文

iNOF交换机——>iNOF交换机

用来同步配置以及将本地检测到的主机状态变化告知对端iNOF交换机

 

2.3.1  扩展的LLDP通告报文

iNOFLLDP通告报文进行了扩展,重新定义了LLDP通告报文中的部分字段来实现主机加入通告功能。iNOFLLDP通告报文的重新定义主要体现在以下方面:

·     通过ChassisIDPortID字段携带主机标识,用“ChassisID+PortID唯一标识一台主机

¡     Chassis ID采用主机接入iNOF网络的端口的MAC地址(例如0800-271a-494f表示。

¡     PortID采用“前缀+端口名称的格式表示。前缀采用固定字符串,在ODCC规范中,前缀取值为snsd_;在中移动规范中,前缀取值为roce-san_

·     通过新增LLDP扩展TLV携带主机iNOF参数

图3 iNOF扩展TLV格式

 

iNOF扩展TLV格式3所示,其中iNOF主要使用到如下字段:

¡     OUIOrganizationally unique identifier,组织唯一标识符):表示主机遵循的iNOF规范。

¡     subtype:表示该TLViNOF扩展TLV,携带的是iNOF相关信息。

¡     IP地址类型:取值为1表示IPv4地址;取值为2表示IPv6地址。

¡     订阅服务:表示主机是否订阅网络信息变化消息,即主机是否想要感知同一域内其它主机的加入和离开状态变化信息。

-     取值为1时,表示订阅,当同一域中其它主机加入或离开网络时需要通知本主机;

-     取值为0时,表示不订阅,当同一域中其它主机加入或离开网络时无需通知本主机。

对于服务器,必须订阅网络信息变化消息;对于磁盘设备,可选订阅网络信息变化消息。

¡     IP地址:主机的IP地址。对于IPv4地址,只占前4个字节,其余字节填0

2.3.2  状态通知报文

当某主机的网络状态发生变化(例如加入、离开或者接入链路故障等)时,与主机直连的iNOF交换机检测到主机网络信息变化,会给直连的、同一域中的其它主机发送状态通知报文,使得其它主机能尽快感知到网络状态的变化,以便其它主机和新主机及时建立连接、和离开的主机断开连接,或者快速地进行链路切换。

状态通知报文分为两种:

·     通知报文:在iNOF交换机上生成、发给主机的报文,用于通知主机的网络信息变化。

·     ACK报文:在主机上生成、发给iNOF交换机的报文,用于对收到的通知消息进行确认。

iNOF通知报文的格式如4所示,报文中重要字段的描述请参见2。设备通过ETH类型字段的取值来判断一个报文是否为iNOF通知报文,然后再根据TLV类型字段的取值来判断这个报文是通知报文还是ACK报文。

图4 iNOF状态通知报文格式

 

说明

一条iNOF通知报文中可以包含多组TLVH3C设备当前的实现是一个iNOF通知报文中携带一个TLV

 

表2 状态通知报文重要字段描述表

字段类型

字段名称

字段长度

字段说明

ETH帧头

目的MAC地址

6字节

固定为0180-C200-000D

MAC地址

6字节

消息发送方的MAC地址

ETH类型

2字节

·     ODCC规范中,该字段取值为0x88A7

·     在中移动规范中,该字段取值为0x7777

通知消息头

版本号

1字节

表示版本号,当前取值为1

预留字段

1字节

预留字段

消息总长度

2字节

通知消息里可以携带多个TLV消息,这里填所有TLV消息的总长度,不包括ETH帧头和通知消息头的长度

预留字段

4字节

预留字段

TLV消息

TLV类型

1字节

·     ODCC规范中,取值为33时,表示该消息为通知消息;在中移动规范中取值为1时,表示该消息为通知消息

¡     对于IPv4通知消息,消息内容里必须携带类型为125678subTLV

¡     对于IPv6通知消息,消息内容里必须携带类型为345678subTLV

·     ODCC规范中取值为34时,表示该消息为ACK消息;在中移动规范中取值为2时,表示该消息为ACK消息

¡     对于IPv4 ACK消息,消息内容里必须携带类型为125subTLV

¡     对于IPv6 ACK消息,消息内容里必须携带类型为345subTLV

ACK消息的里携带的subTLV1subTLV2必须与原通知消息保持一致,供交换机检查用

TLV消息长度

2字节

表示通知消息内容的长度,不包括TLV类型和TLV消息长度

通知消息内容

可变长度

不同TLV携带的subTLV组合不同,subTLV的定义请参见3

 

表3 subTLV格式描述表

subTLV类型

subTLV消息长度

subTLV消息说明

1

4字节

表示网络状态发生变化的主机的IPv4地址,取值为:IPv4地址

2

4字节

表示目的IPv4地址,同一域中订阅了网络信息变化消息的主机的IPv4地址,取值为:IPv4地址

3

16字节

表示网络状态发生变化的主机的IPv6地址,取值为:IPv6地址

4

16字节

表示目的IPv6地址,同一域中订阅了网络信息变化消息的主机的IPv6地址,取值为:IPv6地址

5

4字节

表示消息序列号,取值为:消息序列号,每个消息递增1ACK报文中携带的序列号必须和它确认的通知报文中携带的序列号相同

6

4字节

表示主机的状态,取值为:

·     0表示离线

·     1表示上线

7

4字节

表示设备状态变化原因的原因码,取值为:

·     0:表示正常

·     1:表示主机离线,原因是主机与iNOF交换机之间的链接断开

·     2:表示主机离线,原因是iNOF交换机检测到和主机相连的接口发生了PFC死锁

·     3:表示主机离线,原因是iNOF交换机通过BFD检测到接入iNOF交换机故障或iNOF交换机间级联链路故障

·     4:表示主机离线,原因是域配置变化,主机从域中删除

·     5:表示主机离线,原因是主机的IP地址配置发生变化

·     6:表示主机离线,原因是主机超过120秒没有给iNOF交换机发送LLDP通告报文

8

可变长度

表示设备附属信息

取值由主机厂商填充

 

2.3.3  iNOF报文

1. 概述

BGPiNOF新增了BGP iNOF地址族,并通过BGP Update消息中的MP_REACH_NLRIMultiprotocol Reachable NLRI,多协议可达NLRI)或MP_UNREACH_NLRIMultiprotocol Unreachable NLRI,多协议不可达NLRI)字段携带iNOF路由信息。iNOF路由信息通过BGP Update消息中的MP_REACH_NLRIMultiprotocol Reachable NLRI,多协议可达NLRI)字段携带。在BGP iNOF地址族中,设备可以交互iNOF路由信息,iNOF路由信息用于传递主机的加入或离开消息,以及iNOF的配置信息。

2. BGP Update

5所示为BGP iNOF报文的格式,报文中BGP Header区域的Type字段取值为2,表示该报文为BGP Update消息,BGP iNOF报文的Unfeasible routes length字段的取值固定为0iNOF路由信息封装在Path Attributes字段。

图5 BGP iNOF报文格式

 

3. Path Attributes

Path Attributes是一个可变长度字段,它是一个列表,可包含多个三元组<attribute type, attribute length, attribute value>来传递不同类型的BGP属性。

·     attribute type表示BGP属性的类型,占2个字节,由Attr.Flags(属性标签)和Attr.Type组成。

¡     Attr.Type Code=14表示MP_REACH_NLRI多协议可达NLRI

如果iNOF主机加入iNOF网络、iNOF主机的信息变更或者iNOF配置变更,则iNOF主机相连的iNOF交换机会生成一条Attr.Type Code=14BGP Update消息通告给和它直连的iNOF交换机。因为反射器和iNOF交换机直连,所以反射器也会收到该BGP Update消息,并将该BGP Update消息反射给其它所有iNOF交换机。

¡     Attr.Type Code=15,表示MP_UNREACH_NLRI(多协议不可达NLRI

如果iNOF主机离开iNOF网络,则反射器会生成一条Attr.Type Code=15BGP Update消息通告给网络中的所有iNOF交换机。

·     attribute length表示BGP属性的长度,可能占用1个字节,也可能占用2个字节。

¡     如果Attr.Flags中的第4个比特位(表示Extended Length)取值为0,则attribute length占用1个字节。

¡     如果Attr.Flags中的第4个比特位取值为1,则attribute length占用2个字节。

·     attribute value表示BGP属性的值,是一个变长字段。

该字段可用于通告IPv6 BGPFlowSpeciNOF等路由,BGP使用Address Family IdentifierSubsequent Address Family Identifier字段来区分不同的路由。当Address Family Identifier=6000Subsequent Address Family Identifier=254时,表示BGP iNOF路由。

¡     发布或者修改BGP iNOF路由时,其attribute value内部结构如6所示iNOF信息封装在Network Layer Reachability Information字段。

¡     删除BGP iNOF路由时,使用MP_UNREACH_NLRI字段,其attribute value内部结构如7所示。iNOF信息封装在Withdrawn Routes字段。

Network Layer Reachability Information字段Withdrawn Routes字段的结构相同,均采用<length, prefix>格式,其中prefixiNOF模块封装的TLV结构,lengthprefix的长度。

图6 MP_REACH_NLRI消息的attribute value内部结构

 

图7 MP_UNREACH_NLRI消息的attribute value内部结构

 

4. iNOF TLV结构

iNOF根据其业务需要,定义了5TLV结构。当对应的事件发生时,iNOF会将相应的信息组装成对应的TLV结构,发送给BGP模块,BGP模块再封装到MP_REACH_NLRI消息的Network Layer Reachability Information字段的prefix区域,或者是MP_UNREACH_NLRI消息Withdrawn Routes字段的prefix区域。一个BGP Update报文可以同时包含五种iNOF TLV结构类型,同一种iNOF TLV结构类型的多条信息也可以集成到一条BGP Update报文中传递。当设备收到来自不同邻居的相同的iNOF消息,会选择最优的那条消息,并通过BGP Update报文传递出去。一个BGP Update报文可以同时传递BGP iNOF路由和其它BGP路由属性(IPv6路由、Flowspec路由等),以提高BGP路由传输效率,加快BGP路由的收敛速度。

表4 iNOF TLV结构类型描述表

编号

消息TLV结构类型

说明

生成的BGP消息的Attr.Type Code

1

Host TLV结构

添加主机时,发送该类型的消息

14

删除主机时,发送该类型的消息

15

主机/存储信息变化时,发送该类型的消息

14

2

Zone TLV结构

添加zone时,发送该类型的消息

14

删除zone时,发送该类型的消息

15

3

ZoneHost TLV结构

添加zone中主机信息时,发送该类型的消息

14

删除zone中主机信息时,发送该类型的消息

15

4

DefaultZone TLV结构

iNOF缺省域自动加入功能配置变化时,发送该类型的消息

14

5

HardZone TLV结构

iNOF域隔离功能时,发送该类型的消息

14

 

缺省情况下,iNOF缺省域自动加入功能处于开启状态。如果在反射器上配置undo default-zone enable命令来关闭iNOF缺省域自动加入功能,iNOF模块就会生成一个如8所示的TLV结构的数据块,并将该数据块发送给BGP模块。BGP模块就会生成一个Attr.Type Code=14BGP Update消息,并将DefaultZone TLV结构数据块填充到消息中的Path Attributes/attribute value/Network Layer Reachability Information字段,然后将消息发布给所有的BGP clientBGP client收到并解析该消息后,会关闭本机的iNOF缺省域自动加入功能。

图8 DefaultZone TLV结构

 

表5 DefaultZone TLV结构描述表

字段名称

字段长度(单位为字节)

字段说明

INOF_MSG_BODY_TYPE_KEY

2

表示TLV类型,取值为2

INOF_MSG_BODY_TYPE_VALUE

2

表示TLV类型,取值为3

INOF_MSG_KEY_DEFAULTZONE

2

表示TLV类型,取值为4

INOF_MSG_VALUE_ROUTERID

4

表示路由器的Router ID

INOF_BGPMSG_ENABLE_VALUE_TYPE

4

表示DefaultZone功能的开关状态

 

2.3.4  不同iNOF协议中iNOF相关报文的差异

目前,iNOF协议主要包括《ODCC-2020-05016 NVMe NVMe over RoCEv2网络控制优化技术要求与测试规范》和《中移动RoCE-SAN解决方案v03 20210817》。iNOF交换机通过和主机协商,来决定使用这两种协议中的一种进行报文交互。

不同iNOF协议中iNOF报文个别字段的取值存在差异,详情请参见6

表6 不同iNOF协议中iNOF报文的差异

iNOF报文中的字段

ODCC规范中定义的值

中移动规范中定义的值

LLDP通告报文中的OUI字段

0x001882

0x5C75C6

LLDP通告报文中的subtype字段

101

88

LLDP通告报文中的Port ID字段

Port ID字段中前缀部分的取值为:snsd_

Port ID字段中前缀部分的取值为:roce-san_

状态通知报文中ETH类型字段

0x88A7

0x7777

状态通知报文中TLV类型字段

·     33:表示通知报文

·     34:表示ACK报文

·     1:表示通知报文

·     2:表示ACK报文

 

2.4  iNOF工作机制

2.4.1  iNOF直连组网的工作机制

1. 主机加入

主机和iNOF交换机均需支持并启用LLDP功能。在9所示的iNOF网络中,服务器1和磁盘设备1属于同一自定义域zone 1,服务器2和磁盘设备2属于缺省域。当主机(例如磁盘设备1)接入iNOF交换机时,各设备间的报文交互过程如下:

(1)     主机主动向直连的iNOF交换机(Device ADevice B)分别发送LLDP通告报文,报文内记录了LLDP邻居变化信息以及要求订阅网络信息变化消息。

(2)     iNOF交换机收到LLDP通告报文后,会进行以下处理:

a.     维护本地主机信息库

iNOF交换机以“ChassisID+PortID”为关键精确查找本地主机信息库。

-     如果找到对应的记录,则认为该主机为已加入iNOF网络,更新主机信息老化定时器,并继续比较其他参数取值是否有变化。如果其他参数取值有变化,则更新本地对应记录;如果其他参数取值无变化,则无需处理。(iNOF交换机使用主机信息老化定时器自动维护主机记录,对于本地主机信息库中已存在的主机记录,如果直到主机信息老化定时器超时,仍一直未收到主机的LLDP通告报文,iNOF交换机会认为该主机已离线,并进行相应的处理。主机信息老化定时器时长由主机决定,当前取值为120秒)

-     如果未找到对应的记录,则认为该主机为新主机。iNOF交换机为该主机在主机信息库中创建记录,并启动主机信息老化定时器。

b.     发送通知报文,告知网络信息变化。

-     对于新加入且订阅了网络信息变化消息的主机(磁盘设备1),iNOF交换机将域内所有设备(服务器1)信息状态通告给该主机。

-     对于直连的、属于同一iNOF域且订阅网络信息变化消息的其它主机(服务器1),iNOF交换机将新加入的主机(磁盘设备1)的信息通告给它们(服务器1)。

(3)     主机对通告信息进行确认。

服务器1Device ADevice B分别发送ACK报文,表示已经感知到新主机加入。iNOF交换机如果未收到主机的ACK报文,会重新发送通知报文。

图9 主机加入组网图

 

2. 主机离开

出现以下情况时,iNOF交换机会认为主机离开,启动主机离开通告流程:

·     主机与iNOF交换机之间的链接断开

·     iNOF交换机检测到和主机相连的接口发生了PFC死锁

·     iNOF交换机通过BFD检测到接入iNOF交换机故障或iNOF交换机间级联链路故障

·     域配置变化,主机从域中删除

·     主机的IP地址配置发生变化

·     主机超过120秒(为主机信息老化定时器时长,当前取值为120秒)没有给iNOF交换机发送LLDP通告报文

主机离开时,各设备间的报文交互过程如下:

(1)     iNOF交换机判断主机离开,删除本地主机信息库中的对应记录。通知直连的、同一iNOF域且订阅网络信息变化消息的其它主机,有设备离线。

(2)     服务器1Device ADevice B分别发送ACK报文,表示已经感知到主机离线。iNOF交换机如果未收到主机的ACK报文,会重新发送通知报文。

2.4.2  iNOF跨交换机组网的工作机制

1. 建立iNOF连接

iNOF复用了BGP路由反射技术,iNOF连接复用了iBGP连接。因此,部署iNOF前,需要在所有iNOF交换机上完成iBGP和反射器的配置。

iNOF交换机上开启iNOF功能后,反射器会向客户端及其它反射器发送BGP路由,iNOF信息以路由属性的形式携带在其中。

10所示,假设Device BDevice C为反射器,Device ADevice D为客户端。Device B会分别和Device ADevice CDevice D建立iBGP连接;Device C会分别和Device ADevice BDevice D建立iBGP连接。

图10 建立iNOF连接示意图(带反射器)

 

2. 主机加入

图11 iNOF反射器组网环境下的主机加入组网图

 

11所示的iNOF网络中,服务器10、磁盘设备11~磁盘设备15属于同一自定义域zone 1,服务器20和磁盘设备21属于缺省域。Device ADevice D为客户机,Device BDevice C为两个互为备份的反射器,所有iNOF交换机均属于AS 65000,且属于同一集群。主机和iNOF交换机均需支持并启用LLDP功能。当有主机(假设为磁盘设备11)接入iNOF交换机时,各设备间的报文交互过程如下:

(1)     主机主动向直连的iNOF交换机(Device A)发送LLDP通告报文,报文内记录了LLDP邻居变化信息以及需要订阅网络信息变化消息。

(2)     iNOF交换机收到LLDP通告报文后,会进行以下处理:

a.     维护本地主机信息库

iNOF交换机以“ChassisID+PortID”为关键精确查找本地主机信息库。

-     如果找到对应的记录,则认为该主机为已加入主机,更新主机信息老化定时器,并继续比较其它参数取值是否有变化。如果其它参数取值有变化,则更新本地对应记录;如果其它参数取值无变化,则无需处理。

-     如果未找到对应的记录,则认为该主机为新主机。iNOF交换机为该主机在主机信息库中创建记录,并启动主机信息老化定时器。

b.     发送通知报文,告知网络信息变化。

-     对于新加入且订阅了网络信息变化消息的主机(磁盘设备11),iNOF交换机将域内所有设备(服务器10、磁盘设备12~磁盘设备15)信息状态通告给新主机。

-     对于直连的、属于同一iNOF域且订阅网络信息变化消息的其它主机(服务器10、磁盘设备12~磁盘设备15),iNOF交换机将新加入的主机的信息通告给其它主机。

c.     发送iNOF报文,告知iNOF反射器。

Device ALLDP邻居变化信息提取出来,以iNOF路由的形式封装到BGP报文中,通过iBGP连接通告给反射器Device B和反射器Device C

(3)     服务器10和磁盘设备11回复ACK报文,表示收到了通告报文。

(4)     Device B收到iNOF报文后,会进行如下处理:

a.     将从Device A收到的iNOF路由反射给Device CDevice D

因为Device BDevice C属于同一集群,是互为备份的两个反射器,所以,当Device C收到Device B反射的iNOF路由后,直接丢弃该路由。

b.     发送通知报文,告知网络信息变化。

Device B查询本地主机信息库中是否有直连的、属于Zone 1且订阅了网络信息变化消息的其它主机。假设磁盘设备14订阅了网络信息变化消息,磁盘设备15未订阅网络信息变化消息,则Device B向磁盘设备14发送通告报文,不会向磁盘设备15发送通告报文。

(5)     磁盘设备14回复ACK报文,表示收到了通告报文。

(6)     Device C会进行如下处理:

a.     将从Device A收到的iNOF路由反射给Device BDevice D

因为Device BDevice C属于同一集群,是互为备份的两个反射器,所以,当Device B收到Device C反射的iNOF路由后,直接丢弃该路由。

b.     Device C查询本地主机信息库,发现无主机属于Zone 1,所以,Device C无需发送通知报文。

(7)     Device D发送通知报文,告知网络信息变化。

Device D查询本地主机信息库中是否有属于Zone 1且订阅了网络信息变化消息的其它主机。假设这两台磁盘设备均订阅了网络信息变化消息,则Device D向磁盘设备12和磁盘设备13发送通告报文。

(8)     磁盘设备12和磁盘设备13回复ACK报文,表示收到了通告报文。

经过收敛,Zone 1内所有主机均能完成信息同步,每台主机均知道,Zone 1中有6台主机:服务器10、磁盘设备11~磁盘设备15

3. 主机离开

出现以下情况时,iNOF交换机会认为主机离开,启动主机离开通告流程:

·     iNOF交换机侧的LLDP报文超时。

·     iNOF交换机和主机直连的接口状态变成Down

·     iNOF交换机发生了PFCPriority-based Flow Control,基于优先级的流量控制)死锁,主机的报文无法被交换机转发。

·     iNOF域配置信息变化,导致主机之间路由不可达。

主机(假设为磁盘设备11)离开时,各设备间的报文交互过程如下:

(1)     主机直连的iNOF交换机会进行如下处理:

a.     删除本地主机信息库中的对应记录。

b.     通知直连的、同一iNOF域且订阅网络信息变化消息的其它主机,有设备离线。

c.     通知iNOF反射器有设备离线。

(2)     其它iNOF交换机会进行如下处理:

a.     通知直连的、同一iNOF域且订阅网络信息变化消息的其它主机,有设备离线。

b.     对于iNOF反射器,通知其它iNOF反射器和相连的客户机,有设备离线。

(3)     其它主机上的处理。

其它主机向iNOF交换机发送ACK报文,表示已经感知到主机离线。iNOF交换机如果未收到主机的ACK报文,会重新发送通知报文。

经过收敛,Zone 1内所有主机均能完成信息同步,所有订阅网络信息变化消息的主机均知道,Zone 1中有5台主机,服务器10、磁盘设备12~磁盘设备15

2.5  iNOF白名单

2.5.1  产生背景

在现代网络环境中,尤其是企业网络、数据中心等对安全性要求较高的场景,网络接入的精细化管理至关重要。传统的网络接入控制往往难以应对日益复杂的安全威胁,例如IP地址仿冒、未经授权的主机接入等。为了应对这些挑战,iNOF主机白名单功能应运而生,旨在通过严格的接入控制机制,提升网络的安全性、管理性和可控性。

2.5.2  白名单功能的价值与实现

iNOF主机白名单功能通过多重验证机制,确保只有经过授权的主机能够接入网络,从而有效防止非法访问和潜在的安全威胁。其核心能力包括:

·     基于IP地址和接口的双重验证

白名单功能支持对主机的IP地址和接入接口进行双重验证。只有当主机的IP地址符合预设范围,并且从指定的接口接入时,才允许其访问网络。这种双重验证机制能够有效避免IP地址仿冒等安全风险,为网络提供更高级别的保护。

·     例外接口的灵活配置

在某些特殊场景中,例如数据中心集中管理的主机,交换机所处的物理位置可能已经具备较高的安全性。针对此类场景,白名单功能支持配置例外接口,允许从这些接口接入的任意主机访问网络,既保证了安全性,又兼顾了灵活性。

·     默认拒绝其他主机

白名单功能采用“默认拒绝”策略,即未在白名单中的主机均无法接入网络。这种机制从根本上杜绝了未经授权的主机访问,确保网络环境的安全性和纯净性。

12所示,Device A上部署了iNOF功能,并配置了例外接口为Interface 1,白名单为Interface 2 + IP 1Interface 2 + IP 2。基于上述配置,网络接入规则如下:

·     例外接口规则:任何主机从Interface 1接入时,均允许接入iNOF网络。

·     白名单规则:

¡     IP地址为IP 1IP 2的主机从Interface 2接入时,允许接入iNOF网络。

¡     其他IP地址的主机从Interface 2接入时,不允许接入iNOF网络。

·     默认拒绝规则:主机从Interface 1Interface 2之外的接口接入时,不允许接入iNOF网络。

图12 iNOF白名单原理示意图

 

2.5.3  白名单功能的应用场景

iNOF主机白名单功能适用于多种场景,包括但不限于:

·     企业网络中对特定部门或设备进行访问控制。

·     数据中心中确保只有授权服务器和主机能够接入网络。

·     高安全性要求的场景中,防止非法设备接入网络。

2.6  iNOFBFD联动

在部署iNOF反射器的组网中,iNOF基于BGP,支持和BFD联动。

BFDBidirectional Forwarding Detection,双向转发检测)是一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测转发路径的连通状况,保证设备之间能够快速检测到通信故障,以便能够及时采取措施,保证业务持续运行。BFD可以为各种上层协议(如路由协议)快速检测两台设备间双向转发路径的故障。BGP感知通信故障所需时间为秒级,而BFD可以提供毫秒级检测。iNOFBFD联动就是将BFD——BGP——iNOF协议关联起来,可实现对iNOF交换机之间的链路故障进行快速检测。当BFD检测到故障时,iNOF交换机能够迅速将故障信息通告给同一iNOF域内的主机,以便主机及时切换链路。

2.6.1  建立BFD会话

BFD本身没有邻居发现机制,依靠关联的上层协议来建立会话。上层协议在建立新的邻居关系后,将邻居的参数及检测参数(包括目的地址和源地址等)通告给BFDBFD根据收到的参数建立BFD会话。

13所示,假设在AS65000中,Device A为反射器,Device B为客户机,iNOFBFD联动触发建立会话的流程为:

(1)     Device ADevice B之间建立iBGP连接。

(2)     iNOF基于iBGP连接建立iNOF连接,iNOF连接的状态和iBGP连接的状态完全一致。

(3)     iBGP建立连接后,Device ADevice B将邻居信息(包括目的地址和源地址等)通告给本设备的BFD模块。

(4)     BFD模块根据收到的邻居信息和对端自动建立BFD会话。

图13 BFD会话建立流程图

 

2.6.2  BFD检测到链路故障通知iNOF

BFD会话建立后,Device ADevice B周期性地互相发送BFD报文。如果本端在BFD检测时间内没有收到会话对端的BFD报文,则认为该双向转发路径发生了故障,并将故障信息通知给该会话所服务的上层应用,由上层应用采取相应的措施。

14所示,BFD检测到链路故障通知iNOF的流程为:

(1)     Device ADevice B上的链路故障。

(2)     Device ADevice BBFD模块检测到BFD邻居不可达,将本地的BFD会话状态变为DOWN

(3)     BFD模块通知本地BGP进程BFD邻居不可达。

(4)     Device ADevice B的本地BGP进程中断iBGP邻居关系,并通告iNOF进程。

(5)     Device ADevice B的本地iNOF连接断开,iNOF进程认为远端主机离线,于是向本机直连的、处于同一域的、订阅了网络信息变化消息的主机发送通告报文。反射器还会向相连的客户端和其它反射器发送iNOF报文,通知远端主机离线。

图14 BFD故障发现处理流程图

 

H3C实现的技术特色

H3C对成熟的BGP技术进行扩展,来实现iNOF跨交换机组网的技术具有以下特性:

·     基于BGP连接建立iNOF连接,传输层使用TCP协议,可以为iNOF信息的传输提供稳定的连接。

·     基于BGP提供的丰富的路由策略,能够对iNOF路由实现灵活的过滤和选择。

·     iNOF复用BGP路由反射功能,在大规模的iNOF网络中可以有效减少iNOF连接的数量,简化网络拓扑,降低网络维护成本。同时,管理员在反射器上完成iNOF域和成员主机的配置后,iNOF可自动将这些配置同步给客户机,从而简化iNOF的部署和配置。

·     iNOF复用BGPGRGraceful Restart,平滑重启)和NSRNonstop Routing,不间断路由)功能,在iNOF交换机进行主备倒换或BGP协议重启时,保障iNOF信息的传递不中断。

·     iNOF复用BGP连接,BGP支持和BFD联动,因此,iNOF也能够利用BFD快速检测到链路故障。

·     借助BGP会话的各种加密手段,例如MD5认证、GTSMGeneralized TTL Security Mechanism,通用TTL安全保护机制)keychain认证,可以提高iNOF交换机间连接的安全性。

典型组网应用

4.1.1  未部署反射器的iNOF典型组网应用

15所示,所有服务器上安装了SNSDStorage Network Smart Discovery,存储网络智能发现)和多路径软件,所有磁盘设备上安装了SNSD软件。为了提高可靠性,服务器和磁盘分别通过Device ADevice B相连。正常情况下,多路径软件选择通过Device A传输服务器和磁盘之间的报文。

分别在Device ADevice B上部署iNOF功能,可以实现:

·     如果Device A和磁盘设备之间的链路故障,Device A能第一时间通知服务器,以便服务器上的多路径软件可以快速切换到“服务器——Device B——磁盘设备”这条链路传输报文;

·     如果Device A和磁盘设备之间的链路恢复,Device A能第一时间通知服务器,以便服务器上的多路径软件可以快速切换到“服务器——Device A——磁盘设备”这条链路传输报文。

图15 未部署反射器的iNOF典型组网应用图

 

4.1.2  部署反射器的iNOF配置组网应用

16所示,某企业在不同地方建立了数据中心,这些数据中心的磁盘设备和服务器通过以太网互联。所有服务器上安装了SNSD和多路径软件,所有磁盘设备上安装了SNSD软件。在网络中部署iNOF功能,可以实现:

·     当有磁盘设备加入时,服务器能第一时间感知,且能尽快自动和磁盘设备建立连接。

·     当有磁盘设备发生故障时,服务器能第一时间感知,且能快速切换到备份磁盘设备。

·     将一组资产划分到iNOF自定义域,将零星资产划分到缺省域,实现不同域间设备的隔离。例如将服务器100、磁盘设备101~磁盘设备105加入Zone 1,由数据部门使用和管理;服务器200和磁盘设备201加入缺省域,由IT部门统一管理。

·     在接入交换机上部署iNOF白名单功能,确保只有符合要求的主机能够接入网络。例如,服务器100、磁盘设备101~磁盘设备105均属于安全机房,可在接入交换机上配置例外端口,从这些端口接入的主机均允许接入网络。对于缺省域中的众多设备,可以要求只有指定IP地址且从指定接口接入的主机才能接入网络。

图16 部署反射器的iNOF配置组网图

mk:@MSITStore:F:\命令行评审\V7\20210317%20【SeerFabric解决方案】iNOF华为竞争特性支持(lisheng)()\03.参考文档\CloudEngine%208800,%206800系列交换机%20V300R020C10%20产品文档.chm::/public_sys-resources/note_3.0-zh-cn.png

 

参考文献

·     ODCC-2020-05016NVMe over RoCEv2 网络控制优化技术要求与测试规范

·     中移动RoCE-SAN解决方案v03 20210817

新华三官网
联系我们