CN117480744A - 用于转发报文的方法、交换机以及网络接口卡 - Google Patents

用于转发报文的方法、交换机以及网络接口卡 Download PDF

Info

Publication number
CN117480744A
CN117480744A CN202180098887.0A CN202180098887A CN117480744A CN 117480744 A CN117480744 A CN 117480744A CN 202180098887 A CN202180098887 A CN 202180098887A CN 117480744 A CN117480744 A CN 117480744A
Authority
CN
China
Prior art keywords
message
type
switch
frame format
forwarding
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
Application number
CN202180098887.0A
Other languages
English (en)
Inventor
郑盛巍
刘亚社
吕超
周轶刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117480744A publication Critical patent/CN117480744A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请的实施方式涉及用于转发报文的方法、交换机以及网络接口卡。用于转发报文的方法包括交换机从网络接口卡接收报文;交换机根据所述报文的帧格式中的目的地媒体访问控制域中的可配置参数转发所述报文。以此方式,能够实现报文的加速转发以降低转发过程中的时延。此外,可以显著降低在转发处理过程中的复杂程度,提高带宽效率并降低时延。

Description

用于转发报文的方法、交换机以及网络接口卡 技术领域
本公开的实施例涉及电子设备。更具体而言涉及用于转发报文的方法、交换机以及网络接口卡。
背景技术
在基于标准以太网帧和标准因特网互联协议(Internet Protocol,IP)报文中,首先传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)是目前在数据中心网络(Data Center Network,DCN)采用最为广泛的协议类型,其次承载在标准IP和标准以太上的远程内存直接访问(Remote Direct Memory Access,RDMA)协议也有所增加。在交换网(switch fabric)化的DCN中,为了提升带宽而采用的基于逐报文负载均衡技术的各种fabric协议,多数也基本采用了标准以太网帧格式来承载。
发明内容
根据本公开的实施例涉及用于转发报文的方法、交换机以及网络接口卡。
在本公开实施例的第一方面,提供一种用于转发报文的方法。该方法包括交换机从网络接口卡接收报文。该方法还包括交换机根据报文的帧格式中的目的地媒体访问控制域中的可配置参数,转发该报文,其中可配置参数与报文的报文类型相关联,报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。
根据本公开第一方面的方法,交换机能够根据报文帧格式中的特定位置的参数确定报文的类型并基于所确定的报文类型来转发报文。因此交换机能够实现对于不同类型的报文的不同处理进程,例如可以对于采用简化的以太报文采用简化的转发过程,而对于常规报文采用其他转发方式。以此方式,能够实现报文的加速转发以降低转发过程中的时延。
此外,通过在报文帧结构的特别为设置专用于某一报文类型的参数,能够在不改变原有帧结构的基础上实现以太网帧格式的简化的模式。由于简化的以太帧格式定义相比于标准以太更简洁,因此能够实现链路带宽的提升。
在一些实施方式中,交换机可以将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数相匹配,则将接收的所述报文确定为第一类型报文。交换机可以确定与所述报文的目标地址相关联的输出端口号并且基于所述输出端口号转发所述报文。
在一些实施方式中,交换机可以将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数不匹配,则将接收的报文确定为第二类型报文。交换机可以通过对所述报文进行入方向处理操作确定所述报文是否允许经由所述交换机被转发到所述报文的目标设备。如果确定所述报文经由所述交换机被转发到所述报文的所述目标设备,交换机可以确定与所述报文的目标地址相关联的输出端口号并基于所述输出端口号转发所述报文。
交换机能够根据不同的报文类型来决定对于报文的处理进程,使得报文转发过程的步骤能够被相应缩减,从而降低在转发过程中可能出现的时延。
在一些实施方式中,交换机从所述报文的所述帧格式中获取目标地址。该目标地址包括 以下中的一项:要接收所述报文的目标设备的地址,或与所述目标设备有关的目标网段的地址。交换机通过基于所述目标地址进行精确匹配操作或线性表查找操作来确定所述输出端口号。
在一些实施方式中,所述目标网段的地址包括可配置的预定长度比特掩码。
在一些实施方式中,可以通过三态内容寻址存储器匹配操作对所述报文进行入方向处理操作。
在本公开实施例的第二方面,提供一种用于转发报文的方法。该方法包括网络接口卡确定报文的帧格式中的目的地媒体访问控制域中的可配置参数,其中所述可配置参数与所述报文的报文类型相关联,所述报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。该方法还包括网络接口卡基于所述可配置参数生成所述报文并将所述报文发送到交换机。
根据本公开第二方面的方法,网络接口卡能够通过配置报文的帧格式中的特定域的参数来在不改变原有帧格式的基础上实现一种简化的以太报文。因此采用简化的以太帧格式的报文和采用标准以太帧格式的报文不仅可以互通,而且可以共存。这种简化的以太报文可以显著降低在转发处理过程中的复杂程度,提高带宽效率并降低时延。
在一些实施例中,网络接口卡确定要被封装到所述报文的数据分组的类型并基于所述数据分组的类型确定可配置参数。
在一些实施例中,网络接口卡获取与第一类型报文相关联的参考帧格式中的目的地媒体访问控制域的一组预定参数并从所述一组预定参数中确定所述可配置参数。
在本公开实施例的第三方面,提供一种交换机。该交换机可以包括处理器以及与所述处理器耦合的存储器。该存储器保存需要执行的指令,该指令在被处理器执行时使交换机执行根据第一方面及其实施方式的任一方法。
在本公开实施例的第四方面,提供一种网络接口卡。该网络接口卡可以包括处理器以及与所述处理器耦合的存储器。该存储器保存需要执行的指令,该指令在被处理器执行时使网络接口卡执行根据第二方面及其实施方式的任一方法。
在本公开的第五方面,提供了一种计算机可读存储介质。计算机可读存储介质存储有指令,指令在被电子设备执行时使得电子设备执行第一方面及其实施方式的任一方法或者第二方面及其实施方式的任一方法。
在本公开的第六方面,提供了一种计算机程序产品。计算机程序产品包括指令,指令在被电子设备执行时使得电子设备执行第一方面及其实施方式的任一方法或者第二方面及其实施方式的任一方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本申请的实施方式的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本申请各实施方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了可以实施本申请的一个实施方式的示例环境的示意图;
图2示出了根据本公开的实施例的示例性报文转发过程的信令交互图;
图3A至图3C示出了根据本公开的实施例的示例报文类型的示意图;
图4示出了根据本公开的实施例的报文转发过程的示意图;
图5示出了根据本公开的实施例的报文转发过程的示意图;
图6示出了根据本公开的实施例的用于报文转发的方法的流程图;
图7示出了根据本公开的实施例的用于报文转发的方法的流程图;
图8示出了根据本公开的示例实施例的通信装置的框图;以及
图9示出了根据本公开的示例实施例的通信装置的框图;以及
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的某些实施方式,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施方式,相反提供这些实施方式是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施方式仅用于示例性作用,并非用于限制本申请的保护范围。
在本申请的实施方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施方式”或“该实施方式”应当理解为“至少一个实施方式”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在当前DCN中,典型的网络设备可以包括网络接口卡(Network Interface Card,NIC),例如智能网卡(Smart Network Interface Card,SNIC)和数据处理单元(Data Processing Unit,DPU)等。NIC可以被视作是各种网络的端侧设备。典型的网络设备还可以包括交换机。在DCN中,主要的帧格式种类主要可以包括在标准以太网帧和标准IP报文基础上承载的各种报文以及基于Switch Fabric化接口的标准以太网帧。
在基于标准以太网帧和标准IP报文中,首先TCP/IP是目前在DCN中采用最为广泛的协议类型,其次承载在标准IP和标准以太上的RDMA协议也有所增加。在switch fabric化的DCN中,为了提升带宽而采用的基于逐报文负载均衡技术的各种fabric协议,多数也基本采用了标准以太网帧格式来承载。
由于标准以太网在广域网中建立了强大的生态基础,标准以太网帧格式目前在DCN中仍然被广泛使用。在开放式系统互联通信参考模型(OSI)标准七层模型中,标准七层模型中的第一层协议(Layer 1,L1)、标准七层模型中的第二层协议(Layer 2,L2)、标准七层模型中的第三层协议(Layer 3,L3)和标准七层模型中的第四层协议(Layer 4,L4)与DCN网络关系最为紧密。典型配置为L2采用标准以太帧格式,L3采用标准因特网协议版本4(Internet Protocol Version 4,IPv4)或者因特网协议版本6(Internet Protocol Version 6,IPv6),L4采用TCP和用户数据报协议(User Datagram Protocol,UDP)。在UDP协议基础之上还可以包括一种允许通过以太网使用RDMA的网络协议(RDMA over Converged Ethernet Version 2,RoCEv2)和扩展虚拟局域网(Visual extend LAN,VxLAN)协议。
基于标准以太帧的Switch Fabric化接口的帧格式中在L2一般采用标准以太网帧,后面跟随各个运营者自己定义的Switch Fabric化私有接口。所谓DCN Switch Fabric化技术,是指各个网络运营者把以前存在于单个网络设备内部的Switch Fabric技术,运用到整个DCN中的一类技术。通过在DCN中使用Switch Fabric技术,带宽效率大为提高,所以各类Switch Fabric化技术在DCN中应用越来越广泛。
除此之外,在DCN中还存在一类常用的网络帧格式,即商用超级计算机网络协议(Infiniband,IB)帧格式。IB网络时延低,性能好,是超级计算机(High Performance Computer, HPC)网络的首选。但是由于IB网络的规模一般较小,所以IB一般只在HPC或者存储内部网络使用。IB网络存在另外一个问题,就是IB网络无法与以太网的DCN直接互通,导致了采用IB的云网络运维难度增加。
在当前的DCN中,采用的标准以太和IP报文的网络协议,比如VxLAN等。存在着转发时延大,报文格式开销大、冗余字节多等问题。例如L2的标准以太网帧格式虽然存在,但是由于其不参与转发过程,成为冗余开销字段,浪费了网络带宽。此外,L2的标准以太网帧格式虽然不参与转发,但是却参与了控制类报文的解析动作(Parser)和匹配动作(Matching),由此引入了额外的时延开销。
一些网络运营者提出了无以太帧格式的报文头。在该方案中,以太报文头被从L2中去掉,转发和交换过程是基于L3的报文头来进行,相较于标准以太帧格式,此方案可以带来提高一些带宽效率并增加部分性能收益。然而,此方案无法兼容现有标准以太的帧格式。在实际使用过程中,现存的软件,管理协议,运维协议,路由协议等,均不兼容,或者需要修改之后才能运行。这带来的系统开销是巨大的。此外,这种方案对于DCN最重要的性能指标,即转发交换过程中的时延开销并没有带来相应的改进。因为无以太帧的IP报文虽然不进行L2处理,但是控制类、管理类、协议类报文和需要低时延的业务报文混合在一起。
IB网络采用了自有L2帧格式和IPv6做L3转发,能够带来较好的网络性能和较低时延。但是IB网络组网规模小,远远逊色于以太网DCN的大规模组网能力。此外,IB网络也无法与以太网兼容。IB网络与以太网的互通需要通过特定网关来实现。专门的协议网关的存在,不仅影响互通性能,而且给DCN的整体规范性带来破坏,使得云网络(即云DCN)的运营维护变得麻烦,DCN的后期运营成本也因此而提高。
因此,本公开的实施例提供一种用于转发报文的方法。该方法包括交换机从网络接口卡接收报文。该方法还包括交换机基于所述报文的帧格式中的目的地媒体访问控制域中的可配置参数,确定所述报文的报文类型。该方法还包括交换机基于所确定的报文类型转发所述报文。由此,交换机能够实现对于不同类型的报文的不同处理进程,例如可以对于采用简化的以太报文采用简化的转发过程,而对于常规报文采用其他转发方式。以此方式,能够实现报文的加速转发以降低转发过程中的时延。
图1示出了可以实施本申请的一个实施方式的示例环境的示意图。如图1所示,环境100可以包括NIC 110-1、110-2和110-3。NIC 110-1、110-2和110-3在下文中也可以被统称为NIC 110。NIC 110-1、110-2和110-3可以分别被承载在服务器101-1、101-2以及101-3上。应当理解,NIC 110可以以多种形式来实现。例如,NIC 110可以被实现为包括但不局限于SNIC DPU、智能架顶(ToR)交换机以及智能边缘交换机等。
环境100可以还包括交换机120-1、120-2、120-3、120-4以及120-5。交换机120-1、120-2、120-3、120-4以及120-5在下文中也可以被统称为交换机120。在环境100中,交换机120-1、120-2、120-3、120-4以及120-5可以被视作第一级交换机(也被称作ToR交换机)。如图1所示,NIC 110-1、110-2和110-3可以分别和交换机120-1、120-2和120-3进行数据传输。交换机120-1、120-2和120-3可以和交换机120-4以及120-5分别进行数据传输。应当理解,交换机120可以以多种形式来实现。例如,交换机120可以被实现为包括但不局限于ToR交换机、叶交换机(leaf switch)、骨干交换机(spine switch)以及核心交换机(core switch)等。
应当理解,环境100所包括的NIC和交换机并不局限于在图1中所示出的那样。环境100可以包括任意数目的NIC和交换机。环境100仅用于示例性目的,而不暗示对于本公开的范围的任何限制。本公开的实施例还可以被体现在其他网络环境或架构中。另外,还应当理解, 环境100还可以包括用于实现通信连接、数据传输等目的的其他元件或实体。为了简化描述,在图1中并未示出这些元件或实体,但不意味着本公开的实施例不具备它们。
本公开的基本构想和原理可以通过图2至图5被详细的阐述。图2示出了根据本公开的实施例的示例性报文转发过程的信令图200。在下文中,首先结合图2详细阐述根据本公开的实施例报文转发过程中在NIC 110和交换机120之间的信息交互。为了清楚起见,该报文转发过程将结合图1示出的环境100进行描述。
如图2所示,NIC 110可以确定报文的帧格式中的目的地媒体访问控制域中的可配置参数并根据可配置参数来生成(205)报文。该可配置参数可以和报文的报文类型相关联。该报文类型可以包括有简化的以太帧格式的第一类型报文。该报文类型还可以包括具有标准以太帧格式的第二类型报文。
在一些实施例中,NIC 110可以基于与要生成的报文相关联的业务类型来确定要生成何种类型的报文。例如,如果要生成的报文所对应的业务是要求低延迟的业务,NIC 110可以确定要生成的报文为第一类型报文。而如果要生成的报文对应的业务是控制类、协议类、运营维护类、管理类业务,则NIC 110可以确定要生成的报文为第二类型报文。
在一些实施例中,如果NIC 110要生成简化的以太帧格式的报文,NIC 110可以在报文的帧格式中的目的地媒体访问控制(Destination MAC address,DMAC)域中配置对应于简化的以太帧格式的可配置参数。例如,NIC 110可以获取与第一类型报文相关联的参考帧格式中的DMAC域的一组预定参数。这些预定参数可以被预先配置给NIC 110。NIC可以从获取到的一组预定参数中选择要被配置到报文的帧格式中的DMAC域的参数。
图3A和图3B分别示出了根据本公开的实施例的示例报文类型的示意图。图3A示出了标准以太帧格式的一个实例,而图3B示出了简化的以太帧格式的一个实例。
如图3A所示,标准以太帧格式可以包括以太头310。在以太头310中可以包括DMAC域字段311,源媒体访问控制(SMAC)域字段312,VLAN字段313以及以太网帧的效验(FCS)域字段314等。DMAC域字段311可以包括关于报文被转发的目的地地址的信息,SMAC域字段312可以包括关于报文的源地址的信息,FCS域字段可以包括用于检查以太网帧在转发过程中的错误的校验信息。
如图3B所示,简化的以太帧格式的以太头320可以包括DMAC域字段321,在该字段中配置有如上文所述的用于第一类型报文的预定DMAC域参数。相较于标准以太帧格式,简化的以太帧格式的一种可能的形式是,简化的以太帧格式中的以太头可以不包含除FCS域字段322之外的任何L2字段。此外,在简化的以太帧格式的另一种可能的形式中,简化的以太帧格式中的以太头可以不包含除FCS域字段322和一个VLAN字段(未示出)之外的任何L2字段。
虽然简化的以太帧格式相较于标准以太帧格式对一些字段进行了简化,但本质上仍然在传统以太头的框架下,因此采用简化的以太帧格式的报文和采用标准以太帧格式的报文不仅可以互通,而且可以共存。因此,通过对DMAC的特定定义,可以在支持报文以简化的以太帧格式的同时,兼容标准以太报文已有的丰富生态。而兼容收发标准以太网帧格式,就意味着兼容了广泛的、生机勃勃的以太网生态。
由此可见,NIC能够通过配置报文的帧格式中的特定域的参数来在不改变原有帧格式的基础上实现一种简化的以太报文。这种简化的以太报文可以显著降低在转发处理过程中的复杂程度,提高带宽效率并降低时延。
在DCN中,当前的主流的负载分担技术是以等价多路径(Equal-cost multi-path,ECMP) 为代表的逐流负载分担方式。ECMP涉及一种流级的负载均衡策略,可以降低网络上的突发以及减少拥塞。不过这种负载分担方式带宽效率低,因此逐报文负载分担(Packet-based Dynamic Load Balance)方式会渐渐成为DCN内负载分担方式的主流。为了实现逐报文负载分担方式,可以在第一类型报文中引入Switch Fabric。
在一些实施例中,NIC 110所生成的第一类型报文的以太帧格式的以太头330还可以包括与Switch Fabric相关联的字段。图3C示出了根据本公开的实施例的示例报文类型的示意图。如图3C所示,以太头330除了DMAC域字段331和FCS字段之外还可以包括Switch Fabric头332。该Switch Fabric头332可以实施逐报文负载分担技术,不仅字节开销小、带宽效率高,而且处理迅速、时延低。基于逐报文负载分担技术的Switch Fabric化接口可以包括携带多个逐跳交换端口号的源路由技术和在每跳进行线性表查找目的端口号的交换网技术。
再次参考图2,在生成报文之后,NIC 110将所生成的报文发送(210)到交换机120。
在接收到来自NIC 110的报文之后,交换机120可以确定(215)所接收的报文转发方式。交换机120可以根据所接收的报文的帧格式中的DMAC域中的可配置参数来确定报文的转发方式。
在一些实施例中,例如,如果交换机120可以确定DMAC域中的可配置参数是否与第一类型报文的参考帧格式中的DMAC域的预定参数相匹配。如果确定所接收的报文的帧格式的DMAC域中的可配置参数与预定参数相匹配,则交换机120可以确定所接收的报文属于第一类型报文。如果确定所接收的报文的帧格式的DMAC域中的可配置参数与预定参数不匹配,则交换机120可以确定所接收的报文属于第二类型报文。
交换机120可以针对不同的报文类型来转发报文。针对第一类型报文,即具有简化的以太帧格式的报文,交换机120可以跳过处理报文的中间过程而对报文进行直接转发,由此获得极佳的超低时延特性。该中间过程例如可以包括报文解析、控制管理协议类报文匹配和本地报文匹配等。针对第二类型报文,即具有标准以太帧格式的报文,交换机120可以采用报文解析等通路进行常规的以太报文转发处理。
如上文中已经描述的,报文类型取决于报文所涉及的业务类型。第一类型报文可以涉及与要求低时延业务相关联的报文,而第二类型报文可以涉及控制类报文、协议类报文、运维类、管理类报文以及以标准以太格式封装的普通业务报文。
图4示出了根据本公开的实施例的确定报文转发方式的一个实例。如图4所示,交换机在接收到报文401之后,会确定该报文的报文类型。如果确定该报文是第一类型报文,则该报文直接进行转发或交换(430)步骤。而如果交换机确定该报文是第二类型报文,则该报文首先进行报文解析(410)和控制报文和本地报文匹配(420)等报文中间处理过程,之后经过中间处理的报文才会进行转发和交换(430)步骤。
由此可见,相较于第二类型报文,第一类型报文可以被更快的转发,这可以显著降低由于对报文进行中间过程而造成的时延。此外,由于第一类型报文的简化的以太帧格式定义得相比于第二类型报文的标准以太更简洁,因此能够实现链路带宽的提升。
在确定报文的转发方式后,交换机120可以转发或交换从NIC 110处接收的报文。如上文所述,针对第一类型报文,由于在第一类型报文的帧格式的以太头中包括具有特定参数的DMAC域字段,并且在该以太头中除了FCS字段外不再包括其他L2字段,因此交换机120可以采用简化的转发过程。而对于第二类型报文,虽然其具有标准以太帧格式,在本申请中也提出了一种相对简化的转发过程。
在一些实施例中,如果交换机120确定要被转发的报文属于第一类型报文,则交换机120 可以确定与报文的目标地址相关联的输出端口号并基于该输出端口号转发第一类型报文。
如果交换机120确定要被转发的报文属于第二类型报文,则交换机可以通过对报文进行入方向处理操作确定该报文是否允许经由交换机120被转发到报文的目标设备。如果交换机120确定该报文允许经由所述交换机被转发到所述报文的所述目标设备,则交换机120可以与报文的目标地址相关联的输出端口号并基于该输出端口号转发第二类型报文。
为了进一步说明对于第一类型报文和第二类型报文的转发过程的简化,以下结合图5详细阐述简化转发流程与常规转发过程的区别。图5示出了根据本公开的实施例的报文转发过程的示意图。
如图5所示,DCN中标准的转发过程510可以包括入端口处理511、入方向L2处理512、入方向访问控制列表(ACL)检查513,L3转发514、转发关联数据515、出方向ACL检查516、出方向L2处理517以及出端口处理518。
在针对具有标准以太帧格式的第二类型报文的转发过程520中,可以省略入端口处理521以降低时延。可选的,可以在入端口处理521仅执行端口属性处理,从而通过一次线性表(LT)查找获取全部的端口属性。在入方向L2处理522中,可以采用三态内容寻址存储器(TCAM)来执行入方向L2处理。TCAM的匹配规格较小,能够进一步缩短时延。
在一些实施例中,交换机120在L3转发523过程中可以采用精确匹配(EM)来查找主机地址或者网段地址对应的输出端口号。在同一个DCN内,网段地址为可配置的预定比特长度掩码。
在一些实施例中,交换机120在L3转发523过程中也可以采用LT查找来确定主机地址或者网段地址的对应输出端口号。同样的,在同一个DCN内,网段地址为可配置的预定比特长度掩码。
在本申请中,为了实施对IP地址的线性查表,可以采用IP地址线性排布的方法。例如,对于32比特的IPv4或者128比特的IPv6地址,只取有限的比特来进行IP地址分配,并且在转发过程中,只基于这些比特进行LT查找,以实现较快的查找速度。
之后,交换机120可以进行转发关联数据524过程和出端口处理525过程。
可以看出,相较于标准的转发过程510,针对具有标准以太帧格式的第二类型报文的转发过程520省略了在DCN中标准的转发过程510中包括的入方向ACL检查,出方向ACL检查和出方向L2处理。因此可以降低交换机转发过程中处理报文的复杂程度,显著降低时延。
在针对具有简化的以太帧格式的第一类型报文的转发过程530中,也可以省略入端口处理531以降低时延。可选的,可以在入端口处理531仅执行端口属性处理,从而通过一次线性表(LT)查找获取全部的端口属性。
由于在第一类型报文的帧格式的以太头中包括具有特定参数的DMAC域字段,并且在该以太头中除了FCS字段外不再包括其他L2字段,因此在转发过程530中可以省略在DCN中标准的转发过程510中包括的入方向L2处理。
在转发过程530中的L3转发532可以如转发过程520中的L3转发523一样执行类似操作。在一些实施例中,交换机120在L3转发532过程中可以采用精确匹配(EM)来查找主机地址或者网段地址对应的输出端口号。在同一个DCN内,网段地址为可配置的预定比特长度掩码。在一些实施例中,交换机120在L3转发532过程中也可以采用LT查找来确定主机地址或者网段地址的对应输出端口号。同样的,在同一个DCN内,网段地址为可配置的预定比特长度掩码。
同样的,为了实施对IP地址的线性查表,可以采用IP地址线性排布的方法。例如,对 于32比特的IPv4或者128比特的IPv6地址,只取有限的比特来进行IP地址分配,并且在转发过程中,只基于这些比特进行LT查找,以实现较快的查找速度。
之后,交换机120可以进行转发关联数据533过程和出端口处理534过程。
由于相较于针对具有标准以太帧格式的第二类型报文的转发过程520而言,在针对具有简化的以太帧格式的第一类型报文的转发过程530进一步缩减了步骤,因此在报文转发中由于处理报文造成的时延可以被进一步降低。
根据本申请的实施例的方案,一方面,NIC能够通过配置报文的帧格式中的特定域的参数来在不改变原有帧格式的基础上实现一种简化的以太报文。因此采用简化的以太帧格式的报文和采用标准以太帧格式的报文不仅可以互通,而且可以共存。这种简化的以太报文可以显著降低在转发处理过程中的复杂程度,提高带宽效率并降低时延。
另一方面,交换机能够根据报文帧格式中的特定位置的参数确定报文的类型并基于所确定的报文类型来转发报文。因此交换机能够实现对于不同类型的报文的不同处理进程,例如可以对于采用简化的以太报文采用简化的转发过程,而对于常规报文采用其他转发方式。以此方式,能够实现报文的加速转发以降低转发过程中的时延。
图6示出了根据本公开的实施例的用于转发报文的方法600的流程图。在图6中示出的测量方法可以被实施在图1中的交换机120处。
在框610,交换机120从网络接口卡110接收报文。
在框620,交换机120根据报文的帧格式中的目的地媒体访问控制域中的可配置参数来转发报文。该可配置参数与所述报文的报文类型相关联,所述报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。
在一些实施例中,交换机120可以将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数相匹配,则交换机120将接收的所述报文确定为第一类型报文。交换机120可以确定与所述报文的目标地址相关联的输出端口号并且基于所述输出端口号转发所述报文。
在一些实施例中,交换机120可以将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数不匹配,则交换机120将接收的报文确定为第二类型报文。交换机120可以通过对所述报文进行入方向处理操作确定所述报文是否允许经由所述交换机被转发到所述报文的目标设备。如果确定所述报文经由所述交换机被转发到所述报文的所述目标设备,交换机120可以确定与所述报文的目标地址相关联的输出端口号并基于所述输出端口号转发所述报文。
在一些实施例中,交换机120从所述报文的所述帧格式中获取目标地址,所述目标地址包括要接收所述报文的目标设备的地址,或与所述目标设备有关的目标网段的地址。交换机120通过基于所述目标地址进行精确匹配操作或线性表查找操作来确定所述输出端口号。
在一些实施方式中,目标网段的地址包括可配置的预定长度比特掩码。
在一些实施方式中,交换机120通过三态内容寻址存储器匹配操作对所述报文进行入方向处理操作。
通过结合图6所描述的用于转发报文的方法,交换机能够实现对于不同类型的报文的不同处理进程。以此方式,能够实现报文的加速转发以降低转发过程中的时延。
图7示出了根据本公开的实施例的用于转发报文的方法700的流程图。在图8中示出的测量方法可以被实施在图1中的NIC 110处。
在框710,NIC 110确定所述报文的帧格式中的目的地媒体访问控制域中的可配置参数。 该可配置参数与所述报文的报文类型相关联,所述报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。
在一些实施例中,NIC 110确定要被封装到所述报文的数据分组的类型并基于所述数据分组的类型确定可配置参数。
在一些实施例中,如果确定要生成的所述报文是第一类型报文,NIC 110获取与第一类型报文相关联的参考帧格式中的目的地媒体访问控制域的一组预定参数并且从所述一组预定参数中确定所述可配置参数。
在框720,NIC 110基于所述可配置参数生成所述报文。
在框730,NIC 110将所述报文发送到交换机。
通过结合图7所描述的用于报文转发的方法,能够通过配置报文的帧格式中的特定域的参数来在不改变原有帧格式的基础上实现一种简化的以太报文。因此采用简化的以太帧格式的报文和采用标准以太帧格式的报文不仅可以互通,而且可以共存。这种简化的以太报文可以显著降低在转发处理过程中的复杂程度,提高带宽效率并降低时延。
图8示出了根据本公开的示例实施例的通信装置800的框图。通信装置800可以被实现为图1所示的NIC 110、交换机120、上述设备的一部分或上述设备中的芯片等。应当理解的是,通信装置800仅用于示例性目的,而不暗示对于本公开的范围的任何限制。本公开的实施例还可以被体现在不同的通信装置中。另外,还应当理解,通信装置800还可以包括其他元件、模块或实体,出于清楚的目的未被示出,但不意味着本公开的实施例不具备这些元件或实体。本公开的范围在此方面不受限制。
如图8所示,通信装置800包括输入输出接口810以及逻辑电路820。输入输出接口810被耦合至逻辑电路820。在本公开的实施例中,输入输出接口810可以被集成在一起用于实现收发功能,也可以作为独立的部件分别实现为用于接收的输入接口和用于发送的输出接口。例如,图8所示的输入输出接口810是一种集成的示例实现。
在通信装置800被实现为如图1所示的交换机120的实施例中,输入输出接口810被配置为从网络接口卡110接收报文以及根据报文的帧格式中的目的地媒体访问控制域中的可配置参数转发报文。其中可配置参数与报文的报文类型相关联,该报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。在一些示例实施例中,输入输出接口810还被配置为将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数相匹配,则将接收的所述报文确定为第一类型报文。确定与所述报文的目标地址相关联的输出端口号并且基于所述输出端口号转发所述报文。
在一些示例实施例中,输入输出接口810还被配置为将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较。如果确定可配置参数与所述预定参数不匹配,则将接收的报文确定为第二类型报文。通过对所述报文进行入方向处理操作确定所述报文是否允许经由所述交换机被转发到所述报文的目标设备。如果确定所述报文经由所述交换机被转发到所述报文的所述目标设备,确定与所述报文的目标地址相关联的输出端口号并基于所述输出端口号转发所述报文。
在一些示例实施例中,输入输出接口810还被配置为从所述报文的所述帧格式中获取目标地址,所述目标地址包括要接收所述报文的目标设备的地址,或与所述目标设备有关的目标网段的地址。通过基于所述目标地址进行精确匹配操作或线性表查找操作来确定所述输出端口号。
在一些示例实施例中,目标网段的地址包括可配置的预定长度比特掩码。
在一些示例实施例中,输入输出接口810还被配置为通过三态内容寻址存储器匹配操作对所述报文进行入方向处理操作。
在通信装置800被实现为如图1所示的NIC 110的实施例中,逻辑电路820被配置为确定报文的帧格式中的目的地媒体访问控制域中的可配置参数以及基于可配置参数生成所述报文,其中可配置参数与报文的报文类型相关联,该报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。。输入输出接口810可以被配置为将报文发送到交换机。
在一些示例实施例中,逻辑电路820还被配置为确定要被封装到所述报文的数据分组的类型并基于所述数据分组的类型确定可配置参数。
在一些示例实施例中,逻辑电路820还被配置为获取与第一类型报文相关联的参考帧格式中的目的地媒体访问控制域的一组预定参数并且从所述一组预定参数中确定所述可配置参数。
图9出了其中可以实施本公开的某些实施例的通信装置900的框图。通信装置900能够用来实现例图1中所示的终端设备110和网络设备120。通信装置900也可以实现为芯片或芯片系统。应当理解的是,通信装置900仅用于示例性目的,而不暗示对于本公开的范围的任何限制。本公开的实施例还可以被体现在不同的设备中。还应当理解,通信装置900还可以包括其他元件或实体,为了便于描述未被示出,但不意味着本公开的实施例不具备这些元件或实体。
如图9所示,通信装置900包括处理器910,处理器910控制通信装置900的操作和功能。例如,在某些示例实施例中,处理器910可以借助于与其耦合的存储器920中所存储的指令930来执行各种操作。存储器920可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和系统、光存储器件和系统。尽管图9中仅仅示出了一个存储器单元,但是在通信装置900中可以有多个物理不同的存储器单元。应当理解的是,处理器910和存储器920可以作为单独组件被分立设置,也可以集成在一起,本申请在这方面不予限制。
处理器910可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(Digital Signal Processor,DSP)以及基于控制器的多核控制器架构中的一个或多个。通信装置900也可以包括多个处理器,例如专用集成电路芯片,其在时间上从属于与主处理器同步的时钟。处理器910与通信单元940耦合。通信单元940可以通过无线电信号或者借助于光纤、电缆和/或其他部件来实现信息的接收和发送。
存储器920可以包括一个或多个非易失性存储器和一个或多个易失性存储器。非易失性存储器的示例包括但不限于只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、硬盘、光盘(Compact Disc,CD)、数字视频盘(Digital Versatile Disc,DVD)或其他磁存储和/或光存储。易失性存储器的示例包括但不限于随机存取存储器(Random Access Memory,RAM)等。
可以借助于计算机程序来实现本公开的实施例,使通信装置900可以执行如参考图2至图7所讨论的任何过程。本公开实施例还可以通过硬件或通过软件和硬件的组合来实现。计算机程序包括由处理器910执行的计算机可执行指令930。计算机程序可以存储在存储器920中。处理器910可以通过将计算机程序加载到RAM中来执行任何合适的动作和处理。
在上文描述的NIC 110或交换机120通过利用机器学习算法的模块、强化学习模型等来确定调整参数的实施例中,这些模块和模型可以以计算机程序代码或指令930的方式存储在存储器920中,处理器执行存储器920中的程序代码或指令以促使通信装置900执行上述图2至图7中NIC 110或交换机120所实施的处理过程。
在一些实施例中,计算机程序可以有形地包含在计算机可读介质中,该计算机可读介质可以包括在通信装置900中(诸如在存储器920中)或者可以由通信装置900访问的其他存储设备。可以将计算机程序从计算机可读介质加载到RAM以供执行。计算机可读介质可以包括任何类型的有形非易失性存储器,例如ROM、EPROM、闪存、硬盘、CD、DVD等。
总体而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的示例实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的示例实施例可以在机器或计算机可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各示例实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质、等等。信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
在本公开的上下文中,机器可读介质或计算机可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定示例实施例的描述。本说明书中在分开的示例实施例的上下文中描述的某些特征也可以整合实施在单个示例 实施例中。反之,在单个示例实施例的上下文中描述的各种特征也可以分离地在多个示例实施例或在任意合适的子组合中实施。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。

Claims (14)

  1. 一种用于转发报文的方法,包括:
    交换机从网络接口卡接收报文;
    所述交换机根据所述报文的帧格式中的目的地媒体访问控制域中的可配置参数,转发所述报文,其中所述可配置参数与所述报文的报文类型相关联,所述报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文。
  2. 根据权利要求1所述的方法,其中转发所述报文包括:
    将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较;
    如果确定所述可配置参数与所述预定参数相匹配,将接收的所述报文确定为第一类型报文;
    确定与所述报文的目标地址相关联的输出端口号;以及
    基于所述输出端口号转发所述报文。
  3. 根据权利要求1所述的方法,其中转发所述报文包括:
    将所述可配置参数与所述第一类型报文的参考帧格式中的目的地媒体访问控制域的预定参数进行比较;
    如果确定所述可配置参数与所述预定参数不匹配,将接收的所述报文确定为第二类型报文;
    通过对所述报文进行入方向处理操作确定所述报文是否允许经由所述交换机被转发到所述报文的目标设备;
    如果确定所述报文允许经由所述交换机被转发到所述报文的所述目标设备,确定与所述报文的目标地址相关联的输出端口号;以及
    基于所述输出端口号转发所述报文。
  4. 根据权利要求2或3所述的方法,其中确定所述输出端口号包括:
    从所述报文的所述帧格式中获取目标地址,所述目标地址包括以下中的一项:
    要接收所述报文的目标设备的地址,或
    与所述目标设备有关的目标网段的地址;以及
    通过基于所述目标地址进行精确匹配操作或线性表查找操作来确定所述输出端口号。
  5. 根据权利要求2或3所述的方法,其中所述报文的目标地址被为具有预定数目的比特的因特网互联协议地址。
  6. 根据权利要求4所述的方法,其中所述目标网段的地址包括可配置的预定长度比特掩码。
  7. 根据权利要求3所述的方法,还包括:
    通过三态内容寻址存储器匹配操作对所述报文进行入方向处理操作。
  8. 一种用于转发报文的方法,包括:
    网络接口卡确定报文的帧格式中的目的地媒体访问控制域中的可配置参数,其中所述可配置参数与所述报文的报文类型相关联,所述报文类型包括具有简化的以太帧格式的第一类型报文以及具有标准以太帧格式的第二类型报文;
    所述网络接口卡基于所述可配置参数生成所述报文;以及
    所述网络接口卡将所述报文发送到交换机。
  9. 根据权利要求8所述的方法,其中确定可配置参数包括:
    确定要被封装到所述报文的数据分组的类型;以及
    基于所述数据分组的类型确定所述可配置参数。
  10. 根据权利要求8所述的方法,其中确定所述可配置参数包括:
    获取与所述第一类型报文相关联的参考帧格式中的目的地媒体访问控制域的一组预定参数;以及
    从所述一组预定参数中确定所述可配置参数。
  11. 一种交换机,包括:
    处理器;以及
    与所述处理器耦合的存储器,所述存储器保存需要执行的指令,所述指令在被处理器执行时使所述交换机执行根据权利要求1-7中任一项所述的方法。
  12. 一种网络接口卡,包括:
    处理器;以及
    与所述处理器耦合的存储器,所述存储器保存需要执行的指令,所述指令在被处理器执行时使所述网络接口卡执行根据权利要求8-10中任一项所述的方法。
  13. 一种计算机可读存储介质。计算机可读存储介质存储有指令,指令在被电子设备执行时使得电子设备执行根据权利要求1-7中任一项所述的方法或根据权利要求8-10中任一项所述的方法。
  14. 一种计算机程序产品。计算机程序产品包括指令,指令在被电子设备执行时使得电子设备执行根据权利要求1-7中任一项所述的方法或根据权利要求8-10中任一项所述的方法。
CN202180098887.0A 2021-06-18 2021-06-18 用于转发报文的方法、交换机以及网络接口卡 Pending CN117480744A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/101018 WO2022261961A1 (zh) 2021-06-18 2021-06-18 用于转发报文的方法、交换机以及网络接口卡

Publications (1)

Publication Number Publication Date
CN117480744A true CN117480744A (zh) 2024-01-30

Family

ID=84526634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180098887.0A Pending CN117480744A (zh) 2021-06-18 2021-06-18 用于转发报文的方法、交换机以及网络接口卡

Country Status (2)

Country Link
CN (1) CN117480744A (zh)
WO (1) WO2022261961A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775283B1 (en) * 1999-11-16 2004-08-10 Advanced Micro Devices, Inc. Passing vlan information through descriptors
US8238347B2 (en) * 2004-10-22 2012-08-07 Cisco Technology, Inc. Fibre channel over ethernet
CN106850140B (zh) * 2012-01-12 2020-04-28 华为终端有限公司 数据通信的方法、装置及系统
CN109922164B (zh) * 2019-02-12 2022-07-26 Oppo广东移动通信有限公司 一种地址转换方法、装置以及计算机存储介质
CN112822128B (zh) * 2020-12-30 2023-04-07 瑞斯康达科技发展股份有限公司 一种pon系统报文镜像方法及pon系统

Also Published As

Publication number Publication date
WO2022261961A1 (zh) 2022-12-22

Similar Documents

Publication Publication Date Title
US10778464B2 (en) NSH encapsulation for traffic steering establishing a tunnel between virtual extensible local area network (VxLAN) tunnel end points (VTEPS) using a NSH encapsulation header comprising a VxLAN header whose VNI field has been replaced by an NSH shim
US9621373B2 (en) Proxy address resolution protocol on a controller device
US20190116220A1 (en) Neighbor Discovery for IPV6 Switching Systems
US6683885B1 (en) Network relaying apparatus and network relaying method
CN103685009B (zh) 数据包的处理方法、控制器及系统
EP2928123B1 (en) Method for processing VXLAN data units
CN101645851B (zh) 一种ip分片报文的重组方法和装置
CN110505244B (zh) 远程隧道访问技术网关以及服务器
CN109474534B (zh) 基于fpga的路由加速转发系统、路由器及转发方法
US20220393908A1 (en) Message Encapsulation Method and Apparatus, and Message Decapsulation Method and Apparatus
CN110932890A (zh) 一种数据传输方法、服务器及计算机可读存储介质
CN106992918B (zh) 报文转发方法和装置
US11563698B2 (en) Packet value based packet processing
US9143448B1 (en) Methods for reassembling fragmented data units
CN108737239B (zh) 一种报文转发方法及装置
US7145911B2 (en) Method and system for parallel hash transformation for an address input
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
WO2024001701A1 (zh) 数据处理方法、装置及系统
CN117480744A (zh) 用于转发报文的方法、交换机以及网络接口卡
US20220094769A1 (en) Message Decapsulation Method and Device, Message Encapsulation Method and Device, Electronic Device, and Storage Medium
CN115134299A (zh) 通信方法及装置
CN113746715A (zh) 通信方法及装置
CN110505137B (zh) 功能扩展式有线网络装置
WO2023078144A1 (zh) 报文处理方法、装置及系统
US20230135615A1 (en) Mac-based routing

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