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

news2024/11/20 4:29:27

定义

        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/2
 undo portswitch
 ip address 10.1.3.1 255.255.255.0
#
interface 100GE1/0/3
 undo portswitch
 ip address 10.1.4.1 255.255.255.0
#
interface LoopBack0
  ip address 192.168.1.1 255.255.255.255 
#
ai-service
 #
 inof
  authentication-mode hmac-sha256 password 123456
  hard-zoning enable
  inof bfd enable
  peer 192.168.1.2 reflect-client
  peer 192.168.1.3 reflect-client
  peer 192.168.1.4 reflect-client
  role reflector
  service-address 192.168.1.1 port-id 10002
  undo default-zone enable
  #
  zone zone1
   host 10.1.1.1
   host 10.1.2.1
# 
ospf 1
 area 0.0.0.0 
  network 10.1.3.0 0.0.0.255
  network 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/2
 undo portswitch
 ip address 10.1.5.1 255.255.255.0
#
interface 100GE1/0/3
 undo portswitch
 ip address 10.1.6.1 255.255.255.0
#
interface LoopBack0
  ip address 192.168.1.4 255.255.255.255 
#
ai-service
 #
 inof
  authentication-mode hmac-sha256 password 123456
  hard-zoning enable
  inof bfd enable
  peer 192.168.1.2 reflect-client
  peer 192.168.1.3 reflect-client
  peer 192.168.1.1 reflect-client
  role reflector
  service-address 192.168.1.4 port-id 10002
  undo default-zone enable
  #
  zone zone1
   host 10.1.1.1
   host 10.1.2.1
#
ospf 1
 area 0.0.0.0 
  network 10.1.5.0 0.0.0.255
  network 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/2
 undo portswitch
 ip address 10.1.3.2 255.255.255.0
#
interface 100GE1/0/3
 undo portswitch
 ip address 10.1.1.2 255.255.255.0
#
interface 100GE1/0/4
 undo portswitch
 ip address 10.1.5.2 255.255.255.0
#
interface LoopBack0
  ip address 192.168.1.2 255.255.255.255 
#
ai-service
 #
 inof
  authentication-mode hmac-sha256 password 123456
  role reflect-client
  service-address 192.168.1.2 port-id 10002
#
ospf 1
 area 0.0.0.0 
  network 10.1.1.0 0.0.0.255
  network 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/2
 undo portswitch
 ip address 10.1.4.2 255.255.255.0
#
interface 100GE1/0/3
 undo portswitch
 ip address 10.1.2.2 255.255.255.0
#
interface 100GE1/0/4
 undo portswitch
 ip address 10.1.6.2 255.255.255.0
#
interface LoopBack0
  ip address 192.168.1.3 255.255.255.255 
#
ai-service
 #
 inof
  authentication-mode hmac-sha256 password 123456
  role reflect-client
  service-address 192.168.1.3 port-id 10002
#
ospf 1
 area 0.0.0.0 
  network 10.1.2.0 0.0.0.255
  network 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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

竞争不是内卷,用头脑学习,而非时间

文章目录 用头脑学习,而非时间 前言 一、自由竞争不是内卷 二、内卷都在哪些行业 三、高效学习来大数据梦想联盟 用头脑学习,而非时间 前言 大多数人不懂,不会,不做,才是你的机会,你得行动&#xff…

【Queue】- 从源码分析ArrayDeque及其常用方法

文章目录概述ArrayDeque基础知识ArrayDeque内部结构ArrayDeque的构造方法ArrayDeque的扩容操作ArrayDeque常用方法将ArrayDeque作为双端队列使用时public void addFirst(E e)public void addLast(E e)public boolean offerFirst(E e)public boolean offerLast(E e)public E pol…

动态SLAM论文归纳

持续更新,持续更新 2022 Multi-modal Semantic SLAM for Complex Dynamic Environments 作者:Han Wang, Jing Ying Ko and Lihua Xie, Fellowcode:https://github.com/wh200720041/MMS_SLAM视频:https://www.youtube.com/watch…

web自动化测试——入门篇01

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。…

并发编程中的原子性,可见性,有序性问题

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章是关于并发编程中出现的原子性,可见性,有序性问题。 本篇文章记录的基础知识,适合在学Java的小白,也适合复习中&am…

PyTorch(三)TensorBoard 与 Transforms

文章目录Log一、TensorBoard1. TensorBoard 的安装2. SummaryWriter 的使用① add_scalar() 的使用a. 参数说明b. 函数使用c. 使用 Tensorboard② add_image() 的使用a. 参数说明b. 使用 numpy.array() 对 PIL 图片进行转换c. 使用函数d. 改变 global_step二、Transforms1. Tra…

数据结构 | 时间复杂度与空间复杂度

… 🌳🌲🌱本文已收录至:数据结构 | C语言 更多知识尽在此专栏中! 🎉🎉🎉欢迎点赞、收藏、关注 🎉🎉🎉文章目录🌳前言🌳正…

【C++初阶】类和对象(二)

大家好我是沐曦希💕 类和对象1.类的6个默认成员函数2.构造函数2.1 概念2.2 特性3.析构函数3.1 概念3.2 特性4.拷贝构造函数4.1 概念4.2 特征1.类的6个默认成员函数 空类:类中一个成员都没有 可是空类真的什么都没有吗? 并不是,任…

STM32关于UART的接收方式

STM32的 UART 一般分为定长接收和不定长接收 定长接收: HAL_UART_Receive():只能接收固定长度的数据,如果超过固定长度的数据只能接收对应长度,如果小于固定长度则不会接收 HAL_UART_Receive_IT():中断方式接收,每接收一个字节…

CSS 2 CSS 选择器 - 5 2.8 伪选择器 2.8.1 伪类选择器【根据特定状态选取元素】

CSS 文章目录CSS2 CSS 选择器 - 52.8 伪选择器2.8.1 伪类选择器【根据特定状态选取元素】2 CSS 选择器 - 5 2.8 伪选择器 2.8.1 伪类选择器【根据特定状态选取元素】 【什么是伪类】 伪类用于定义元素的特殊状态。 例如,它可以用于: 设置鼠标悬停在…

如何删除ZIP压缩包的密码?

ZIP是比较常用的压缩文件格式,有时候因为工作需要很多人还会给压缩包设置打开密码。那如果后续不需要密码保护了要如何删除密码呢?密码忘记了还能删除吗? 首先来说说第一种情况,也就是知道密码但后续不需要密码保护,只…

1. 初识Python

1. Pythond 简介 Python 语言由荷兰的 Guido Van Rossum (吉多范罗苏姆, 江湖人称龟叔) 在1989年圣诞节期间为了打发圣诞节的无趣而开发的一个脚本解释语言.Python 源代码遵循 GPL(GNU General Public License)开源协议, 也就是说你可以免费使用和传播它, 而不用担心版权的问…

libusb系列-005-部分API简介

libusb系列-005-部分API简介 文章目录libusb系列-005-部分API简介摘要libusb_initlibusb_open_device_with_vid_pidlibusb_kernel_driver_activelibusb_detach_kernel_driverlibusb_claim_interfacelibusb_release_interfacelibusb_attach_kernel_driverlibusb_closelibusb_exi…

【论文翻译】分布式并发控制中时间戳排序算法与本地计数器同步的改进方法

An Advanced Approach of Local Counter Synchronization to Timestamp Ordering Algorithm in Distributed Concurrency Control DOI目录1 介绍2 时间戳排序算法3 本地计数器同步的一种高级方法3.1 改进更新本地计数器的广播消息方式3.2 减少广播消息中的数据传输费用4 结论参…

时间复杂度与空间复杂度

文章目录1.什么是数据结构2.什么是算法3.如何学好数据结构呢3.1写代码3.2 多去动手画图4.算法效率4.1如何评判一个算法的好与坏呢4.2算法的复杂度5.时间复杂度5.1 概念5.2大O渐进法6常见的时间复杂度6.1常数阶6.2线性阶6.3 对数阶6.4平方阶6.5函数调用6.5.1普通调用6.5.2递归调…

1024程序节|Android框架之一 BRVAH【BaseRecyclerViewAdapterHelper】使用demo

文章目录🍓🍓BRVAH 上部🍄🍓动态图结果展示🍄🍄myAdapter.java【第一个布局适配器】🍄🍄youAdapter.java【第二个布局适配器】🍄🍄MainActivity.java【主活动…

【Android】自制静音App,解决他人手机外放问题

契源 看到一个粉丝留言,吐槽舍友深夜手机外放,打扰别人休息,想设计一款软件阻止舍友行径。于是我就来简单设计一下。 需求实现分析 实际上,我之前有篇博文提到过一个类似的Android APP,主要功能是将手机声音强制开到…

内存函数 memcpy、memmove 的简单模拟实现

一、memcpy 函数 数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。注意是以字节为单位进行拷贝。函数声明如下: 1、参数返回值解析 第二个参数 src:源地址,即你要从哪开始拷贝。 第三个参数 count&#xff1a…

Qt 物联网系统界面开发 “ 2022湖南省大学生物联网应用创新设计竞赛技能赛 ——应用物联网的共享电动自行车 ”

文章目录前言一、实现效果二、程序设计1. 界面背景图设计2. 信号槽设计3. 定时器设计4. 动态曲/折线图的设计5. 摄像头扫码6. 注册设计7. 登录设计8. 巡检人员设计三、综合分析前言 本篇源于 “ 2022 湖南省大学生物联网应用创新设计竞赛技能赛参考样题 ” ——应用物联网的共享…

【git】git ssh 公钥私钥 在 windows和mac 双系统分别如何生成 以及对接各个平台说明

win和mac 双系统分别如何生成 git ssh 一、windows 生成 ssh 公钥私钥 windows版本需要下载git bash:https://gitforwindows.org/ 在 git bash 中输入如下指令: # 创建全局名称(将会在你的git提交作者中显示)git config --glo…