CN119232699A - 一种通信方法、装置和通信系统 - Google Patents
一种通信方法、装置和通信系统 Download PDFInfo
- Publication number
- CN119232699A CN119232699A CN202311160032.3A CN202311160032A CN119232699A CN 119232699 A CN119232699 A CN 119232699A CN 202311160032 A CN202311160032 A CN 202311160032A CN 119232699 A CN119232699 A CN 119232699A
- Authority
- CN
- China
- Prior art keywords
- network
- address
- message
- computing node
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2557—Translation policies or rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
- H04L69/085—Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信方法、装置和通信系统,涉及通信技术领域。该方法可以应用于第一网关设备,该第一网关设备位于第一网络,该第一网络内的至少一个计算节点采用第一网络协议实现互联,方法包括:确定第一网络与第二网络之间的通信地址转换规则,第二网络内的至少一个计算节点采用第二网络协议实现互联;接收来自第二网络内的第一计算节点的第一报文;根据所述通信地址转换规则,将第一报文中携带的第一地址映射到第二地址;基于第二地址和第二网络协议,对第一报文进行协议转换,得到第二报文;向所述第一网络内的第二计算节点发送第二报文。该方法有助于实现异构网络地址之间的多对一的映射,减少对地址空间的过多占用。
Description
本申请要求在2023年06月29日提交国家知识产权局、申请号为202310785858.2、申请名称为“一种数据传输方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种通信方法、装置和通信系统。
背景技术
随着科技的发展,网络结构日益复杂,应用程序(application,APP)的开发和设计需求也逐渐向具备输入/输出(Input/Output,IO)高并发、低时延等特性发展,例如高性能计算应用、大数据分析应用等。这些需求的提出,也对相应的业务系统提出了更高的要求。例如,在异构网络互通的场景中,需要实现采用不同网络协议的网络地址之间的多对一的映射,以减少对地址空间的过多占用。而如何实现不同网络地址之间的多对一的映射,仍为亟需解决的重要问题。
发明内容
本申请实施例提供一种通信方法和通信系统,用于实现异构网络地址之间的多对一的映射,减少对地址空间的过多占用。
第一方面,本申请实施例提供了一种通信方法,该方法可由第一网关设备实现,该第一网关设备位于第一网络,该第一网络内的至少一个计算节点采用第一网络协议实现互联,该方法可以包括:确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;接收来自第二网络内的第一计算节点的第一报文;根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;向所述第一网络内的第二计算节点发送所述第二报文。
结合第一方面,在一种可能的实现方式中,所述确定所述第一网络与第二网络之间的通信地址转换规则,包括:接收来自所述第一计算节点的第三报文,其中,所述第三报文中包括第一指示信息,所述第一指示信息用于指示地址偏移信息;根据所述第一指示信息,确定所述第一网络与第二网络之间的通信地址转换规则。
结合第一方面,在一种可能的实现方式中,所述根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址,包括:根据预先配置的地址映射页表和所述地址偏移信息,将所述第一报文中携带的所述第一地址映射到所述第二地址,其中,所述地址映射页表中记录有第一映射关系,所述第一映射关系用于表征采用所述第一网络协议的不同公网地址与采用所述第二网络协议的不同公网地址之间的映射关系。
结合第一方面,在一种可能的实现方式中,若采用所述第一网络协议的不同公网地址关联同一第一服务,所述方法还可以包括:采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:获取在管理平台输入或选择的地址映射信息,并基于所述地址映射信息建立所述地址映射页表。
结合第一方面,在一种可能的实现方式中,若所述第一地址无法映射到所述第二地址,所述方法还包括:丢弃所述第一报文。
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:基于被丢弃的第一报文,重新配置地址映射页表。
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:接收来自所述第二计算节点的第四报文;将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议;基于所述第五地址和所述第二网络协议,对所述第四报文进行协议转换,得到第五报文;向所述第一计算节点发送所述第五报文。
结合第一方面,在一种可能的实现方式中,所述第二网络协议包括以太网络协议/网际互连IP协议,所述第一网络协议包括统一总线UB协议。
结合第一方面,在一种可能的实现方式中,所述第二网络内的至少一个计算节点中的一者包括以下任一种类型:裸金属服务器、虚拟机、容器、轻量级容器或者无服务器。
第二方面,本申请实施例提供了一种通信装置,所述通信地址位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,所述通信装置包括:确定单元,用于确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;通信接口,用于接收来自所述第二网络内的第一计算节点的第一报文;映射单元,用于根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;转换单元,用于基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;所述通信接口用于向所述第一网络内的第二计算节点发送所述第二报文。
结合第二方面,在一种可能的实现方式中,所述确定单元具体用于:接收来自所述第一计算节点的第三报文,其中,所述第三报文中包括第一指示信息,所述第一指示信息用于指示地址偏移信息;根据所述第一指示信息,确定所述第一网络与第二网络之间的通信地址转换规则。
结合第二方面,在一种可能的实现方式中,所述映射单元具体用于:根据预先配置的地址映射页表和所述地址偏移信息,将所述第一报文中携带的所述第一地址映射到所述第二地址,其中,所述地址映射页表中记录有第一映射关系,所述第一映射关系用于表征采用所述第一网络协议的不同公网地址与采用所述第二网络协议的不同公网地址之间的映射关系。
结合第二方面,在一种可能的实现方式中,若采用所述第一网络协议的不同公网地址关联同一第一服务,所述装置还包括:调度单元,用于采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。
结合第二方面,在一种可能的实现方式中,所述装置还包括:获取单元,用于获取在管理平台输入或选择的地址映射信息,并基于所述地址映射信息建立所述地址映射页表。
结合第二方面,在一种可能的实现方式中,若所述第一地址无法映射到所述第二地址,所述映射单元还用于丢弃所述第一报文。
结合第二方面,在一种可能的实现方式中,所述装置还可以包括:更新单元,用于基于被丢弃的第一报文,重新配置地址映射页表。
结合第二方面,在一种可能的实现方式中,所述通信接口还用于接收来自所述第二计算节点的第四报文;所述映射单元还用于将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议;所述转换单元还用于基于所述第五地址和所述第二网络协议,对所述第三报文进行协议转换,得到第五报文;所述通信接口还用于向所述第一计算节点发送所述第五报文。
结合第二方面,在一种可能的实现方式中,所述第二网络协议包括以太网络协议/网际互连IP协议,所述第一网络协议包括统一总线UB协议。
结合第二方面,在一种可能的实现方式中,所述第二网络内的至少一个计算节点中的一者包括以下任一种类型:裸金属服务器、虚拟机、容器、轻量级容器或者无服务器。
第三方面,本申请实施例还提供了一种通信系统,包括第一计算节点、第一网关设备和第二计算节点,所述第一计算节点位于第二网络,所述第二网络内的至少一个计算节点采用第二网络协议实现互联,所述第二计算节点和所述第一网关设备位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,其中,所述第一网关设备用于确定所述第一网络与所述第二网络之间的通信地址转换规则;所述第一计算节点用于向所述第一网关设备发送第一报文;所述第一网关设备用于接收所述第一报文,根据所述通信地址转换规则将所述第一报文中携带的第一地址映射到第二地址,基于所述第二地址和所述第一网络协议对所述第一报文进行协议转换得到第二报文,向第二计算节点发送所述第二报文,其中,所述第一地址对应于所述第二网络协议,所述第二地址对应于所述第一网络协议;所述第二计算节点用于接收所述第二报文。
第四方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。
第六方面,本申请实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。
本申请实施例在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。
上述第二方面至第六方面中任一方面中的任一可能实现方式可以达到的技术效果,可以相应参照上述第一方面至第二方面中任一方面中的任一可能实现方式可以达到的技术效果描述,重复之处不予论述。
附图说明
图1示出了本申请实施例适用的通信系统的结构示意图;
图2示出了本申请实施例的通信方法的流程示意图;
图3示出了本申请实施例的协商报文的示意图;
图4示出了本申请实施例的RDMA场景下的协商报文的示意图;
图5示出了本申请实施例的异构网络的结构示意图;
图6示出了本申请实施例的IP报文的示意图;
图7示出了本申请实施例的通信方法的流程示意图;
图8示出了本申请实施例的通信装置的结构示意图;
图9示出了本申请实施例的通信装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种通信方法和通信系统,用于实现异构网络地址之间的多对一的映射,减少对地址空间的过多占用,同时还有助于实现大带宽、灵活可扩展的网络拓扑结构,降低应用通信时延,并减少系统实现和部署负担。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。并且,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
需要说明的是,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a和b和c,其中a,b,c可以是单个,也可以是多个。
以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的优先级或者重要程度。例如,第一网关、第二网关,只是为了区分不同网络的网关,而不是表示这两个网关的优先级或者重要程度等的不同。例如,在一些实施例中,第一网关与第二网关可以是同一网关。
下面结合附图及实施例进行详细介绍。
图1示出了本申请实施例适用的通信系统的架构示意图。
参阅图1所示,该通信系统100可以包括至少一个网络系统(或称为网络域),例如表示为网络10_1、网络10_2、网络10_3等,各个网络系统之间可以通过网关设备实现互联互通。
每个网络系统中可以包括至少一个计算节点,例如网络10_1内的计算节点20_1、计算节点20_2、计算节点20_3,网络10_2内的计算节点20_4、计算节点20_5、计算节点20_6,网络10_3内的计算节点20_7、计算节点20_8、计算节点20_9。每个计算节点可以包括但不限于以下任一种类型,裸金属服务器、虚拟机、容器、轻量级容器或者无服务器,可以用于提供至少一种服务(或者说业务),包括但不限于渲染(Rendering)服务、视频编解码(Mediacode c)服务、机器学习(Machine Learning)服务、安全(Security)服务、人工智能(Artificial Intelligence,AI)服务、高性能计算(High performance computing,HPC)服务、存储(Storage)服务或者网络(network)服务。
在一种可选的实施方式中,该至少一个网络系统中的每个计算节点可以采用相同的网络协议。当不同的网络系统之间需要进行通信时,作为源端的计算节点可以将请求报文发送至网关设备,网关设备会将该请求报文转发至作为目标端的计算节点。目标计算节点在对该请求报文进行处理后,还会向源计算节点反馈响应报文。
具体例如,若位于网络10_1内的计算节点20_1需要借助于网络10_3内的计算节点20_7实现算力加速,则计算节点20_1可以发出请求报文。网关设备可以接收来自与计算节点20_1的请求报文,并根据该请求报文中携带的目的地址,向计算节点20_7转发该请求报文。计算节点20_7接收到该请求报文后,利用自身的算力设施对该请求报文进行处理后,向网关设备和计算节点20_1反馈响应报文。
随着网络结构的日益复杂,在另一种可选的实施方式中,图1中的不同网络系统可以采用不同的网络协议,实现异构的网络互联互通。
例如网络10_1可以采用网络协议A,网络10_2可以采用网络协议A,网络10_3可以采用网络协议B。或者例如,网络10_1可以采用网络协议A,网络10_2可以采用网络协议B,网络10_3可以采用网络协议B。或者例如,网络10_1可以采用网络协议A,网络10_2可以采用网络协议B,网络10_3可以采用网络协议C。
在实现异构网络的互联互通时,网关设备需要将采用一种网络协议的通信地址映射到采用另一种网络协议的通信地址上,随着网络负载的增多,为减少对地址空间的过多占用,需要实现网络地址之间的多对一的映射。
例如,目前业内针对高带宽、低时延的需求设计了一种全新的统一总线(unifiedbus,UB)协议,以期基于高速物理和链路层技术,利用网络技术重构系统总线架构,实现大带宽、灵活可扩展的网络拓扑,降低应用通信时延,减少系统实现和部署的负担。该UB协议的特性使得采用该UB协议的系统架构有望取代以太网(ethemet)协议/网际互连(Internetprotocol,IP)协议来提升系统的整体性能。但采用该UB协议的系统架构也需要实现网络地址之间的多对一的映射,减少对地址空间的过多占用。
图2示出了本申请实施例的通信方法的流程示意图。该方法可由图1所示的网关设备实现。在具体实施时,该网关设备可以是独立设备,也可以从逻辑上划分为部署在网络10_1的第一网关设备、部署在网络10_2的第二网关设备、部署在网络10_3的第三网关设备,本申请实施例对此产品形态不做限定。为了便于描述,下文中以第一网络指代网络10_1,以第二网络指代10_2,该第一网络内的至少一个计算节点可以采用第一网络协议实现互联,第二网络内的至少一个计算节点可以采用第二网络协议实现互联,第一网关设备可以用于辅助实现第一网络的不同计算节点与第二网络的不同计算节点之间的互联互通。
参阅图2所示,该通信方法可以包括以下步骤:
S210:第一网关设备确定第一网络与第二网络之间的通信地址转换规则。
例如,第一网关设备可以基于接收到的来自于第二网络的协商报文,确定该通信地址转换规则。
以第三报文表示该协商报文,具体实施该S210时,第一网关设备可以接收来自于第二网络内的第一计算节点的第三报文,该第三报文中可以包括第一指示信息,该第一指示信息可以用于指示地址偏移信息。第一网关设备可以根据该第一指示信息,确定第一网络与第二网络之间的通信地址转换规则。
如图3所示,该第三报文中可以封装有链路层头部、网络层头部、报文类型信息以及有效载荷(例如用户数据)。该有效载荷中例如可以包括协议报文头部,该协议报文头部可以包括但不限于一组键(key)(包括至少一个key)的长度、需要转换的报文类型(type)、源地址和目的地址等。该有效载荷中还可以包括至少一个key以及该至少一个key的起始位置信息,该至少一个key可以用作与第一计算节点的后续通信所需的地址偏移信息。
示例性地,可以以偏移量(offset)和字节长度(length)的方式指示该起始位置信息,n个key的具体值以及相应的返程(reverse)key的具体值可以是第一计算节点配置的,可以是固定值,也可以是任意(optional)值,n为大于或等于1的整数,本申请实施例对key的配置方式不做限定。
如图4所示,以第三报文实现为远程直接内存访问(Remote Direct MemoryAccess,RDMA)报文为例,可以约定每个key的长度是固定的,在该报文的协议报文头部可以通过key的数量间接地指示一组key的长度,需要转换的报文类型可以是UDP,源地址(SIP)可以是111.111.111.222,目的地址(DIP)可以是111.111.111.111。偏移量取值为12,长度取值为6,表示需要从有效载荷的第12个字节,读取6个字节的内容,以获取所需的key值。该key可以采用16进制表示,例如key=0x15,返程key=0x16。第一网关设备可以采用静态的方式,为key=0x15建立会话信息(例如下文描述的会话表中的一条会话记录),该会话的回程key=0x16,在与第一计算节点的后续通信中,该第一网关设备可以基于该会话信息进行后续的地址的映射以及报文的转换流程。
S220:第一网关设备接收来自第一计算节点的第一报文。
本申请实施例中,第一计算节点可以位于第二网络,该第二网络内的至少一个计算节点采用第二网络协议实现互联。第一网关设备可以位于第一网络。
若第一计算节点存在面向第一网络的访问需求,第一计算节点可以根据待访问的目的计算节点对外公布的公网地址(即目的IP地址(Destination IP Address,DIP))封装第一报文,并发送该第一报文。该第一报文首先会到达位于第二网络边界的第一网关设备。第一网关设备可以接收该第一报文并解析。
示例性地,如图5所示,该第二网络可以是以太/IP网络域,该第二网络协议可以是以太/IP网络协议,例如IPv4网络协议、或者IPv6网络协议。第二网络内的不同计算节点(例如服务器)可以通过IPv4网络协议或者IPv6网络协议等实现域内通信。第一网络与该第二网络为异构网络,第一网络可以是UB网络域,该第一网络协议可以是UB协议。第一网络内的不同计算节点(例如服务器)可以通过UB网络协议实现域内通信。在其它可选的实施方式中,该第一网络协议/第二网络协议也可以是其它类型的通信协议,本申请实施例对此不做限定。
S230:第一网关设备根据通信地址转换规则,将第一报文中携带的第一地址映射到第二地址。
本申请实施例中,该第一报文可以是请求报文,例如来自第一计算节点的算力加速请求报文。
第一地址对应于第二网络协议。以第二网络协议为IP协议为例,第一报文为IP报文,该第一地址可以是IP地址,例如包括源IP地址和目的IP地址,承载在第一报文的头部,如图6所示。
在一种可选的实施方式中,第一网关设备上可以预先配置有地址映射页表,实施S230时,第一网关设备可以根据该地址映射页表和在实施S210时获得的地址偏移信息,将第一报文中携带的第一地址映射到第二地址,以利用该第二地址访问第一网络内的资源。其中,该地址映射表中可以记录有第一映射关系,该第一映射关系可以用于表征采用第一网络协议的不同公网地址和采用第二网络协议的不同公网地址之间的映射关系。
以第一网络是UB网络为例,在UB原生私网的数据中心里,可以提供跨UB网络的对外服务,供外部客户端访问。在该UB网络的部署阶段,可以基于服务的粒度划分同一网络内的不同计算节点(例如服务器),例如,可以由UB网络内的至少一个服务器组成分组(group,或者称为集群)共同提供一种服务,即不同的公网地址可以关联同一第一服务。管理人员可以将UB网络所能够提供的至少一种服务(例如表示为第一服务)以外部客户端(例如部署在第一计算节点的客户端)认可的地址格式标识,使得外部客户端的公网地址与UB网络所能够提供的至少一种服务绑定。管理人员可以通过管理平台,以输入或者选择的方式配置地址映射信息,并对外提供该地址映射信息。第一网关设备可以获取在管理平台输入或选择的地址映射信息,并基于该地址映射信息建立地址映射页表。该地址映射页表中可以记录有第一映射关系,该第一映射关系可以用于表征采用第一网络协议的不同公网地址与UB网络所提供的第一服务(具体可以是服务端口或者服务关联的UB私网地址)之间的映射关系。当外部客户端向UB网络发出请求时,第一网关设备即可通过查表的方式,将该请求中携带的公网地址映射到某一种具体的服务上,并利用该UB网络中的可用资源,为外部客户端提供相应的服务。
示例性地,该地址映射页表可以如下表1所示:
表1
应理解,表1仅是对服务端口/服务关联的UB私网地址、外部公网地址、以及两者之间的映射关系的示例说明而非任何限定。在一些实施例中,该外部公网地址与服务端口/服务关联的UB私网地址之间的映射关系可以是N:1,N为大于或等于1的整数。
若第一报文中携带的第一地址作为key可以命中表1中的外部公网地址,则可以进入到地址转换流程,即将第一地址转换为外部公网地址关联的第二地址,例如UB EID。
若第一报文中携带的第一地址作为key无法命中表1中的外部公网地址,即第一地址无法映射到第二地址,则第一网关设备可以按照异常处理,丢弃该第一报文,也即丢弃第一网关设备无法识别的服务访问。同时,第一网关设备还可以触发地址映射页表的更新流程。例如,第一网关设备基于被丢弃的第一报文,重新配置地址映射页表,以进一步完善第一网络支持访问的网络类型。
S240:第一网关设备基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文。
具体实施时,第一报文中携带的地址信息不限于一种,例如IP报文中既可以携带源IP地址又可以携带目的IP地址,因此,第一报文中携带的第一地址可以不限于一个地址。该第一网关设备可以按照之前确定的通信地址转换规则,根据第一报文中的不同字段,组合得到一组键(key),并基于该组key查询地址流会话表项。若该会话表存在,则根据会话表中的内容实现第一地址到第二地址的转换。若会话表不存在,则第一网关设备还可以触发针对此条报文流量建立会话表,以及对应的动作(action)。
示例性地,会话表的内容可以如下所示:
1)TCP/UDP场景:
会话信息包括:Key:报文流量的源IP地址(source IP Address,SIP),DIP,一组动态key;
Action:SIP←→SEID(SEID配置地址池中取,N:1映射),DIP←→DEID(DEID和DIP一一映射),添加一组动态key。
2)RDMA场景:
会话信息包括:Key:报文流量的SIP,DIP,一组动态key;
Action:SIP←→SEID(SEID配置地址池中取,N:1映射),DIP←→DEID(DEID和DIP一一映射),添加一组动态key,并剥除报文UDP头。
其中,SEID配置地址池即上述表1中预先配置的服务端口或服务关联的UB私网地址,多个不同的公网地址可以映射到同一个SEID。
若第一网关设备基于第一报文中携带的SIP、DIP、一组动态key,查询到上述1)的TCP/UDP场景的会话表的内容,则实施S240时,第一网关设备可以按照该会话表内容中记录的action,将采用第二网络协议的SIP转换(以符号“←→”表示)为采用第一网络协议的SEID,将采用第二网络协议的DIP转换为采用第一网络协议的DEID,同时添加第三报文中的一组动态key,以实现网络地址之间的多对一的映射。
若第一网关设备基于第一报文中携带的SIP、DIP、第三报文中的一组动态key,查询到上述2)的
RDMA场景的会话表的内容,则实施S240时,第一网关设备可以按照该会话表内容中记录的action,将SIP转换为SEID,将DIP转换为DEID,添加一组动态key,并剥除报文UDP头。
第一网关设备可以根据上述会话表的内容进行转换处理,对第一报文中包含的内容重新进行封装,以转换为UB报文,并在该UB报文中填新写报文的目的地址,例如DEID,封装得到第二报文。
S250:第一网关设备向第一网络内的第二计算节点发送所述第二报文。
例如,第一网络为UB网络,由至少一个计算节点提供同一种服务,例如至少一个公网地址关联同一第一服务,第一网关设备可以采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。本申请实施例对此第二网络内的服务调度方式不做限定。
当第二计算节点对该第二报文进行处理后,还可以向第一计算节点反馈响应报文。如图7所示,该反馈过程可以包括以下步骤:
第二计算节点利用地址池中的地址封装第四报文,并在第一网络域内查询路由发送至第一网关设备。
S710:第一网关设备接收来自所述第二计算节点的第四报文。
S720:第一网关设备根据通信地址转换规则,将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议。与S230相似地,第一网关设备通过查询地址映射表和在会话表中记录的地址偏移信息进行查询,若第四报文中携带的DEID命中地址映射表,则进入地址转换流程。反之,则丢去第四报文。
S730:第一网关设备基于所述第五地址和所述第二网络协议,对所述第四报文进行协议转换,得到第五报文。
具体实施时,若第二网络采用IP网络协议,第一网关设备可以根据第四报文中的字段的组合作为组key查询地址流会话表,反向转换EID到IP地址。若未命中该会话表,则丢弃第四报文。
示例性地,该会话表内容可以如下所示:
1)TCP/UDP场景:
Key:报文流量的SEID,DEID,一组动态key;
Action:SEID←→SIP(SEID和SIP配置1:1映射),DEID←→DIP(DEID和DIP N:1映射,地址池中配置),添加一组动态key。
2)RDMA场景:
Key:报文流量SEID,DEID,一组动态key;
Action:SEID←→SIP(SEID和SIP配置1:1映射),DEID←→DIP(DEID和DIP N:1映射,地址池中配置),添加一组动态key,并取出表中UDP头部port,封装UDP报文。
应理解,此处描述的会话表内容与前文结合S430介绍的会话表内容相同,在此不再赘述。
S740:第一网关设备向所述第一计算节点发送所述第五报文,即响应报文。
上述通信方法中,可以在异构网络之间进行互联互通时,首先通过协议报文进行协商以确定本次会话所需要使用的一组动态key,以便在后续的多次交互中,基于该组key实现异构网络地址之间的多对一映射,在实现异构网络互联互通的同时,减少对地址空间的过多占用。应理解,上述方法实施例仅是以UB网络、以太网络/IP网络作为示例进行介绍,在其它实施例中,还可以采用相似的方法实现其它类型的网络架构之间的互联互通,在此不再赘述。由此,通过上述方法,通过在UB域设置特殊的EID地址代表外部网络,在IP网络域设置IP主机地址/网段代表某个网络域,在UB网络域内增设网关设备实现不同网络地址之间的转换,实现异构网络之间的互联互通,从而实现大带宽、灵活可扩展的网络拓扑,降低应用通信时延,减少系统实现和部署负担。
本申请实施例还提供了一种通信装置,用于执行上述方法实施例中第一网关设备所执行的方法,相关特征可以参见上述方法实施例,在此不再赘述。
如图8所示,该通信装置800可以包括:确定单元801,用于确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;通信接口802,用于接收来自所述第二网络内的第一计算节点的第一报文;映射单元803,用于根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;转换单元804,用于基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;所述通信接口802用于向所述第一网络内的第二计算节点发送所述第二报文。具体实现方式,请参考上述方法实施例中第一设备所实现的方法步骤,这里不再赘述。
应理解,以上装置中各单元的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的单元可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器例如为通用处理器,例如中央处理单元(Central Processing Unit,CPU)或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为专用集成电路(application-specific integrated circuit,ASIC),通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路为可以通过可编程逻辑器件(programmable logic device,PLD)实现,以现场可编程门阵列(Field ProgrammableGate Array,FPGA)为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、图形处理器(graphicsprocessing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital singnalprocessor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为ASIC或PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(Neural NetworkProcessing Unit,NPU)张量处理单元(Tensor Processing Unit,TPU)、深度学习处理单元(Deep learning Processing Unit,DPU)等。
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。
在一个简单的实施例中,本领域的技术人员可以想到上述实施例中的通信装置均可采用图9所示的计算设备的形式。
如图9所示的装置900,包括至少一个处理器910和通信接口930。在一种可选的设计中,还可以包括存储器920。
本申请实施例中不限定上述处理器910以及存储器920之间的具体连接介质。
在如图9的装置中,处理器910在与其他设备进行通信时,可以通过通信接口930进行数据传输。
当通信装置采用图9所示的形式时,图9中的处理器910可以通过调用存储器920中存储的计算机执行指令,使得装置900可以执行上述任一方法实施例。
本申请实施例还涉及一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述任一实施例的方法。
在一种可能的实现方式中,该处理器可以通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还可以直接包括存储器,该存储器中存储有计算机程序或计算机指令。
示例地,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述任一实施例所述的方法。
示例地,在本申请实施例中,处理器是一种集成电路芯片,具有信号的处理能力。例如,该处理器可以是FPGA,可以是通用处理器、DSP、ASIC或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,还可以是系统芯片(system on chip,SoC),还可以是CPU,还可以是网络处理器(network processor,NP),还可以是微控制器(microcontroller unit,MCU),还可以是PLD或其他集成芯片,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
在一种可能的实现方式中,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,当所述程序代码在所述计算机上运行时,使得计算机执行上述方法实施例。
在一种可能的实现方式中,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
Claims (15)
1.一种通信方法,其特征在于,所述方法应用于第一网关设备,所述第一网关设备位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,所述方法包括:
确定所述第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;
接收来自所述第二网络内的第一计算节点的第一报文;
根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;
基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;
向所述第一网络内的第二计算节点发送所述第二报文。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一网络与第二网络之间的通信地址转换规则,包括:
接收来自所述第一计算节点的第三报文,其中,所述第三报文中包括第一指示信息,所述第一指示信息用于指示地址偏移信息;
根据所述第一指示信息,确定所述第一网络与第二网络之间的通信地址转换规则。
3.根据权利要求2所述的方法,其特征在于,所述根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址,包括:
根据预先配置的地址映射页表和所述地址偏移信息,将所述第一报文中携带的所述第一地址映射到所述第二地址,其中,所述地址映射页表中记录有第一映射关系,所述第一映射关系用于表征采用所述第一网络协议的不同公网地址与采用所述第二网络协议的不同公网地址之间的映射关系。
4.根据权利要求3所述的方法,其特征在于,若采用所述第一网络协议的不同公网地址关联同一第一服务,所述方法还包括:
采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:
先进先出调度算法;轮询调度算法或者最低负载优先调度算法。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
获取在管理平台输入或选择的地址映射信息,并基于所述地址映射信息建立所述地址映射页表。
6.根据权利要求1-5中任一项所述的方法,其特征在于,若所述第一地址无法映射到所述第二地址,所述方法还包括:
丢弃所述第一报文。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于被丢弃的第一报文,重新配置地址映射页表。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第二计算节点的第四报文;
根据通信地址转换规则,将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议;
基于所述第五地址和所述第二网络协议,对所述第四报文进行协议转换,得到第五报文;
向所述第一计算节点发送所述第五报文。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述第二网络协议包括以太网络协议/网际互连IP协议,所述第一网络协议包括统一总线UB协议。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述第二网络内的至少一个计算节点中的一者包括以下任一种类型:裸金属服务器、虚拟机、容器、轻量级容器或者无服务器。
11.一种通信装置,其特征在于,所述通信装置位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,所述通信装置包括:
确定单元,用于确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;
通信接口,用于接收来自所述第二网络内的第一计算节点的第一报文;
映射单元,用于根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;
转换单元,用于基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;
所述通信接口用于向所述第一网络内的第二计算节点发送所述第二报文。
12.一种通信系统,其特征在于,包括第一计算节点、第一网关设备和第二计算节点,所述第一计算节点位于第二网络,所述第二网络内的至少一个计算节点采用第二网络协议实现互联,所述第二计算节点和所述第一网关设备位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,其中,
所述第一网关设备用于确定所述第一网络与所述第二网络之间的通信地址转换规则;
所述第一计算节点用于向所述第一网关设备发送第一报文;
所述第一网关设备用于接收所述第一报文,根据所述通信地址转换规则将所述第一报文中携带的第一地址映射到第二地址,基于所述第二地址和所述一网络协议对所述第一报文进行协议转换得到第二报文,向第二计算节点发送所述第二报文,其中,所述第一地址对应于所述第二网络协议,所述第二地址对应于所述第一网络协议;
所述第二计算节点用于接收所述第二报文。
13.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1-10中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-10中任一项所述的方法。
15.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2024/084691 WO2025001377A1 (zh) | 2023-06-29 | 2024-03-29 | 一种通信方法、装置和通信系统 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2023107858582 | 2023-06-29 | ||
| CN202310785858 | 2023-06-29 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119232699A true CN119232699A (zh) | 2024-12-31 |
Family
ID=93942573
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311160032.3A Pending CN119232699A (zh) | 2023-06-29 | 2023-09-07 | 一种通信方法、装置和通信系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119232699A (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102957754A (zh) * | 2011-08-22 | 2013-03-06 | 中国电信股份有限公司 | 运营级网络地址转换方法、设备及网络系统 |
| CN114513485A (zh) * | 2020-11-16 | 2022-05-17 | 华为技术有限公司 | 获取映射规则的方法、装置、设备、系统及可读存储介质 |
| CN115701063A (zh) * | 2021-07-30 | 2023-02-07 | 华为技术有限公司 | 一种报文传输方法以及通信装置 |
-
2023
- 2023-09-07 CN CN202311160032.3A patent/CN119232699A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102957754A (zh) * | 2011-08-22 | 2013-03-06 | 中国电信股份有限公司 | 运营级网络地址转换方法、设备及网络系统 |
| CN114513485A (zh) * | 2020-11-16 | 2022-05-17 | 华为技术有限公司 | 获取映射规则的方法、装置、设备、系统及可读存储介质 |
| CN115701063A (zh) * | 2021-07-30 | 2023-02-07 | 华为技术有限公司 | 一种报文传输方法以及通信装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111522653B (zh) | 基于容器的网络功能虚拟化平台 | |
| US11907749B2 (en) | RDMA with virtual address space | |
| CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
| CN110958213B (zh) | 处理tcp报文的方法、toe组件以及网络设备 | |
| CN115701063B (zh) | 一种报文传输方法以及通信装置 | |
| US20220027208A1 (en) | Method for controlling of accelerating edge platform network and electronic device using the same | |
| WO2017113231A1 (zh) | 一种报文传输的方法、装置和系统 | |
| JP2023543831A (ja) | マイクロサービスベースのサービスメッシュシステムおよびサービス指向アーキテクチャ管理方法 | |
| CN109040232A (zh) | 一种视频会议的负载均衡方法、装置、设备及其存储介质 | |
| CN113497767A (zh) | 传输数据的方法、装置、计算设备及存储介质 | |
| CN115486045A (zh) | 在虚拟化网络中处理用户流量 | |
| CN117714398A (zh) | 一种数据传输系统、方法、电子设备及存储介质 | |
| CN116633726A (zh) | 云网关和用于网络适配器的方法及网络适配器 | |
| WO2024188167A1 (zh) | 一种基于隧道技术的报文处理方法以及装置 | |
| CN108353017B (zh) | 计算系统和用于操作多网关虚拟机上的多个网关的方法 | |
| CN107483628A (zh) | 基于dpdk的单向代理方法及系统 | |
| CN119232699A (zh) | 一种通信方法、装置和通信系统 | |
| CN118784401B (zh) | 一种数据传输方法及装置 | |
| WO2025001377A1 (zh) | 一种通信方法、装置和通信系统 | |
| CN113259271B (zh) | 报文交换方法和报文交换系统 | |
| CN114793217B (zh) | 智能网卡、数据转发方法、装置及电子设备 | |
| CN115460303B (zh) | 一种数据处理方法、装置、终端及存储介质 | |
| US20250219942A1 (en) | Network device configured for workloads in software defined networks | |
| CN113676544A (zh) | 一种云存储网络和在实体服务器中实现业务隔离的方法 | |
| US20250219943A1 (en) | Network processor primitives for workloads in a software defined network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |