RoCE v2中UDP的源端口和目的端口

2024-03-28 00:12
文章标签 udp 端口 v2 目的 roce

本文主要是介绍RoCE v2中UDP的源端口和目的端口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0 前言

RoCE v2协议中RDMA的数据都是通过UDP来传输的,按照RoCE v2协议规范,UDP的目的端口是固定的(des port = 4791),但是UDP源端口的确定是由RDMA驱动使用hash来算出来的。不同的QP建链方式以及QP的类型采用具体的计算方法不同。其中源端口的范围是49152-65535 (十六进制:0xC000-0xFFFF)

1 采用RDMA_CM建链时源端口的计算方式

CM_REQ.ServiceID.DstPort [2 Bytes]
CM_REQ.PrivateData.SrcPort [2 Bytes]
RoCE.UDP.src_port = (DstPort[0..1] XOR SrcPort[0..1]) OR 0xC000
其中RDMA_CM建链时用到的源端口和目的端口占16bits,取DstPort 和SrcPort做异或然后再与0xC000做或运算。

2 不采用RDMA_CM建链时源端口的计算方式

不采用RDMA_CM建立连接时UDP源端口需要根据QP类型和建链两边的QP Number来确定,具体算法如下:
QP Number占24bits,需要先将这24bits Fold成16bits,具体运算为QP[0] ^= QP[2],具体的hash计算是根据QP而指定的:

  • 对于RC类型的QP,具体计算方法是:
  if

这篇关于RoCE v2中UDP的源端口和目的端口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Flask解决指定端口无法生效问题

《Flask解决指定端口无法生效问题》文章讲述了在使用PyCharm开发Flask应用时,启动地址与手动指定的IP端口不一致的问题,通过修改PyCharm的运行配置,将Flask项目的运行模式从Fla... 目录android问题重现解决方案问题重现手动指定的IP端口是app.run(host='0.0.

nginx配置多域名共用服务器80端口

《nginx配置多域名共用服务器80端口》本文主要介绍了配置Nginx.conf文件,使得同一台服务器上的服务程序能够根据域名分发到相应的端口进行处理,从而实现用户通过abc.com或xyz.com直... 多个域名,比如两个域名,这两个域名其实共用一台服务器(意味着域名解析到同一个IP),一个域名为abc

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

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

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

InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE)

在超算网络环境中,InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 是两种重要的网络技术,它们旨在提供高性能、低延迟的数据传输能力,适用于大规模并行计算任务。下面是对这两个技术的具体名词解释和应用场景的详细说明。 InfiniBand (IB) 名词解释 InfiniBand (IB):InfiniBand 是一种高性能计算和企业数据

野火霸天虎V2学习记录

文章目录 嵌入式开发常识汇总1、嵌入式Linux和stm32之间的区别和联系2、stm32程序下载方式3、Keil5安装芯片包4、芯片封装种类5、STM32命名6、数据手册和参考手册7、什么是寄存器、寄存器映射和内存映射8、芯片引脚顺序9、stm32芯片里有什么10、存储器空间的划分11、如何理解寄存器说明12、如何操作寄存器的某一位 STM32F407芯片学习1、stm32单片机启动流程s

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

VC环境下window网络程序:UDP Socket程序

最近在学Windows网络编程,正好在做UDPsocket的程序,贴上来: 服务器框架函数:              socket();    bind();    recfrom();  sendto();  closesocket(); 客户机框架函数:            socket();      recfrom();  sendto();  closesocket();