iNOF在现实网络中的运用,以带反射器的iONF为例

2024-01-15 02:50

本文主要是介绍iNOF在现实网络中的运用,以带反射器的iONF为例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

定义

        iNOF(Intelligent Lossless NVMe Over Fabric,智能无损存储网络)是指通过对接入主机的快速管控,将智能无损网络应用到存储系统,实现计算和存储网络融合的技术。

目的

        网络转发设备用于传输流量,不同类型的流量对网络的需求是不同的。传统的网络架构中,用户到用户的应用流量对于丢包、时延和吞吐的容忍度较高,通常使用基于TCP/IP协议的以太网进行传输;计算流量需要极低的时延,通常使用IB(Infinite Band,无限带宽)网络进行低时延、高吞吐地传输;存储流量需要无丢包,通常使用FC(Fibre Channel,光纤通道)网络进行无丢包、高吞吐地传输。三种网络的部署和维护相互独立。

        随着全球企业数字化转型的加速进行,海量数据的高效处理促进了存储系统的高速发展。存储介质从HDD(hard-disk drive)发展到NVMe(Non-Volatile Memory express),访问性能可以提升10000倍,大幅降低存储介质的内部时延,满足大规模存储业务的需要。

        存储系统分为计算和存储节点,需要具有无丢包、低时延和高吞吐性能的网络。若仍采用传统网络架构中三种网络独立部署的方案,不仅需要大量的部署和维护成本,并且基于TCP/IP协议的传统以太网也无法满足存储系统对性能的要求。

        智能无损网络基于RoCEv2(RDMA over Converged Ethernet Version 2)协议,通过集合了PFC、AI ECN等技术的iLossless(Intelligent Lossless)智能无损算法,可以在以太网上实现无丢包、低时延和高吞吐地流量传输,满足存储系统的需求,实现计算和存储网络的融合。

        然而存储系统为了存储大量的数据,往往需要管理数量庞大的主机,并且存在新主机陆续接入网络设备的情况。为了让智能无损网络技术更好的服务于存储系统,提出了iNOF技术,通过对接入主机的快速管控,可以第一时间获知新接入的主机,智能的调整智能无损网络的相关配置,并且iNOF技术支持将主机信息通告给存储系统,可以协助存储系统管理主机。

 iNOF原理图:

iNOF报文是TCP封装的报文,TCP端口号范围为10000到57999,缺省值为19516,包含iNOF关键信息的内容承载在TCP报文的Data字段内。客户端可以通过iNOF报文将iNOF关键信息发送给反射器,反射器汇总后再发往其他客户端。通过iNOF报文可以传输以下几类信息:

1、建连信息:iNOF反射器和客户端之间需要通过互相交换iNOF报文来建立iNOF连接,具体的建立过程类似TCP建连。

2、域配置信息:iNOF系统中,设备可以通过域(Zone)对接入的主机进行管理,iNOF反射器上完成iNOF域的相关配置后,会通过iNOF报文把域配置信息发往各个客户端。

3、主机动态信息:iNOF设备需要启用LLDP功能,当有新的主机接入客户端或者离开客户端时,主机会主动向客户端发送LLDP报文,报文内记录了LLDP邻居信息的变化,让iNOF系统内的其他设备感知到主机动态信息。

4、接口Error-Down信息:当iNOF设备因为PFC死锁、CRC错误报文达到告警阈值等问题触发接口Error-Down后,iNOF报文内会携带接口Error-Down信息,让iNOF系统内的其他设备迅速感知,及时调整路径信息。

iNOF系统建立后,系统内的所有设备都可以第一时间感知到接入主机的变化,从而可以将信息反馈给各个智能无损网络功能去智能的调整相关配置,最终使网络达到低时延、无丢包和高吞吐的性能。

 典型实验案例:

Reflector1配置:

#
sysname Reflector1
#
bfd
lldp enable
#
interface 100GE1/0/2undo portswitchip address 10.1.3.1 255.255.255.0
#
interface 100GE1/0/3undo portswitchip address 10.1.4.1 255.255.255.0
#
interface LoopBack0ip address 192.168.1.1 255.255.255.255 
#
ai-service#inofauthentication-mode hmac-sha256 password 123456hard-zoning enableinof bfd enablepeer 192.168.1.2 reflect-clientpeer 192.168.1.3 reflect-clientpeer 192.168.1.4 reflect-clientrole reflectorservice-address 192.168.1.1 port-id 10002undo default-zone enable#zone zone1host 10.1.1.1host 10.1.2.1
# 
ospf 1area 0.0.0.0 network 10.1.3.0 0.0.0.255network 10.1.4.0 0.0.0.255 network 192.168.1.1 0.0.0.0 
#
return

Reflector2配置:

#
sysname Reflector2
#
bfd
lldp enable
#
interface 100GE1/0/2undo portswitchip address 10.1.5.1 255.255.255.0
#
interface 100GE1/0/3undo portswitchip address 10.1.6.1 255.255.255.0
#
interface LoopBack0ip address 192.168.1.4 255.255.255.255 
#
ai-service#inofauthentication-mode hmac-sha256 password 123456hard-zoning enableinof bfd enablepeer 192.168.1.2 reflect-clientpeer 192.168.1.3 reflect-clientpeer 192.168.1.1 reflect-clientrole reflectorservice-address 192.168.1.4 port-id 10002undo default-zone enable#zone zone1host 10.1.1.1host 10.1.2.1
#
ospf 1area 0.0.0.0 network 10.1.5.0 0.0.0.255network 10.1.6.0 0.0.0.255 network 192.168.1.4 0.0.0.0 
#
return

Client1配置:

#
sysname Client1
#
lldp enable
#
interface 100GE1/0/2undo portswitchip address 10.1.3.2 255.255.255.0
#
interface 100GE1/0/3undo portswitchip address 10.1.1.2 255.255.255.0
#
interface 100GE1/0/4undo portswitchip address 10.1.5.2 255.255.255.0
#
interface LoopBack0ip address 192.168.1.2 255.255.255.255 
#
ai-service#inofauthentication-mode hmac-sha256 password 123456role reflect-clientservice-address 192.168.1.2 port-id 10002
#
ospf 1area 0.0.0.0 network 10.1.1.0 0.0.0.255network 10.1.3.0 0.0.0.255 network 10.1.5.0 0.0.0.255 network 192.168.1.2 0.0.0.0 
#
return

Client2配置:

#
sysname Client2
#
lldp enable
#
interface 100GE1/0/2undo portswitchip address 10.1.4.2 255.255.255.0
#
interface 100GE1/0/3undo portswitchip address 10.1.2.2 255.255.255.0
#
interface 100GE1/0/4undo portswitchip address 10.1.6.2 255.255.255.0
#
interface LoopBack0ip address 192.168.1.3 255.255.255.255 
#
ai-service#inofauthentication-mode hmac-sha256 password 123456role reflect-clientservice-address 192.168.1.3 port-id 10002
#
ospf 1area 0.0.0.0 network 10.1.2.0 0.0.0.255network 10.1.4.0 0.0.0.255 network 10.1.6.0 0.0.0.255 network 192.168.1.3 0.0.0.0 
#
return

这篇关于iNOF在现实网络中的运用,以带反射器的iONF为例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607407

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 2431 poj 3253 优先队列的运用

poj 2431: 题意: 一条路起点为0, 终点为l。 卡车初始时在0点,并且有p升油,假设油箱无限大。 给n个加油站,每个加油站距离终点 l 距离为 x[i],可以加的油量为fuel[i]。 问最少加几次油可以到达终点,若不能到达,输出-1。 解析: 《挑战程序设计竞赛》: “在卡车开往终点的途中,只有在加油站才可以加油。但是,如果认为“在到达加油站i时,就获得了一

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使