CN108259350A - 一种报文传输方法、装置及机器可读存储介质 - Google Patents

一种报文传输方法、装置及机器可读存储介质 Download PDF

Info

Publication number
CN108259350A
CN108259350A CN201710999835.6A CN201710999835A CN108259350A CN 108259350 A CN108259350 A CN 108259350A CN 201710999835 A CN201710999835 A CN 201710999835A CN 108259350 A CN108259350 A CN 108259350A
Authority
CN
China
Prior art keywords
message
user
user equipment
destination address
address
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.)
Granted
Application number
CN201710999835.6A
Other languages
English (en)
Other versions
CN108259350B (zh
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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201710999835.6A priority Critical patent/CN108259350B/zh
Publication of CN108259350A publication Critical patent/CN108259350A/zh
Application granted granted Critical
Publication of CN108259350B publication Critical patent/CN108259350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • 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
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

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

一种报文传输方法、装置及机器可读存储介质
技术领域
本发明涉及通信领域,尤其是报文传输方法、装置及机器可读存储介质。
背景技术
VXLAN(Virtual eXtensible Local Area Network,可扩展虚拟局域网络)是基于IP网络、并采用“MAC(Media Access Control,媒体访问控制)in UDP(User DatagramProtocol,用户数据报协议)”封装形式的二层VPN(Virtual Private Network,虚拟专用网络)技术。VXLAN可以基于已有的服务提供商或者企业IP网络,为分散的站点提供二层互联,并能够为不同的租户提供业务隔离。
在VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)设备,可以配置AC(Attachment Circuit,接入电路),即VTEP设备连接本地站点的物理电路或虚拟电路,AC的配置包括物理接口、用户Tag(标签)、VXLAN标识,其表示:从该物理接口进入的数据报文,若该数据报文携带该Tag,通过该VXLAN标识对应的VXLAN隧道进行转发,从而完成Tag到VXLAN隧道的映射。
目前,有一种接入方式是VLAN list(Virtual Local Area Network list,虚拟局域网列表),可以将多个Tag映射到同一VXLAN,即AC的配置包括物理接口、多个Tag、VXLAN标识。基于此,若从该物理接口进入的数据报文,携带多个Tag的任意一个Tag,则通过该VXLAN标识对应的VXLAN隧道进行转发。
但是,在上述方式下,VTEP设备在通过所述AC发送报文时,由于所述AC存在多个Tag,因此,针对每个Tag分别发送报文,从而导致报文被重复发送,浪费了带宽资源和处理开销。例如,若AC的配置包括Tag1、Tag2和Tag3,VTEP设备在发送报文时,会分别发送携带Tag1、Tag2和Tag3的多个报文。
发明内容
本公开提供一种报文传输方法,应用于本端设备,所述方法包括:
接收对端设备发送的第一报文,解封装第一报文的隧道头,得到第二报文;
通过第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
为第二报文封装获取的用户标签,通过所述出接口发送封装后的第二报文。
本公开提供一种报文传输方法,应用于对端设备,所述方法包括:
接收用户设备发送的第二报文;
通过第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为所述第二报文封装隧道头,得到第一报文;其中,所述隧道头中携带与所述目的地址对应的用户标签;
通过所述隧道将所述第一报文发送给本端设备,以使本端设备从所述第一报文的隧道头中解析所述用户标签,并根据所述用户标签发送所述第一报文。
本公开提供一种报文传输装置,应用于本端设备,所述装置包括:
接收模块,用于接收对端设备发送的第一报文;
处理模块,用于解封装所述第一报文的隧道头,得到第二报文,并通过所述第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
获取模块,用于确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
发送模块,用于为所述第二报文封装获取的用户标签,并通过所述出接口发送封装后的第二报文。
本公开提供一种报文传输装置,应用于对端设备,所述装置包括:
接收模块,用于接收用户设备发送的第二报文;
获得模块,用于通过所述第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为第二报文封装隧道头,得到第一报文;所述隧道头中携带与所述目的地址对应的用户标签;
发送模块,用于通过所述隧道将所述第一报文发送给本端设备,以使本端设备从所述第一报文的隧道头中解析所述用户标签,并根据所述用户标签发送第一报文。
本公开提供一种机器可读存储介质,应用于本端设备,机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收对端设备发送的第一报文,解封装第一报文的隧道头,得到第二报文;
通过第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
为第二报文封装获取的用户标签,通过所述出接口发送封装后的第二报文。
本公开提供一种机器可读存储介质,应用于对端设备,机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收用户设备发送的第二报文;
通过第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;
利用所述目的地址对应的隧道,为所述第二报文封装隧道头,得到第一报文;其中,所述隧道头中携带与所述目的地址对应的用户标签;
通过所述隧道将所述第一报文发送给本端设备,以使所述本端设备从所述第一报文的隧道头中解析所述用户标签,根据所述用户标签发送所述第一报文。
基于上述技术方案,本公开实施例中,VTEP设备在通过AC发送报文时,即使所述AC存在多个用户标签,即将多个用户标签映射到同一个VXLAN,VTEP设备也可以确定与报文的目的地址对应的一个用户标签,并只针对该用户标签发送报文,而不是针对每个用户标签分别发送报文,这样,可以只向一个用户设备发送报文,从而避免报文被重复发送,节省带宽资源和处理开销。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1是本公开一种实施方式中的报文传输方法的流程图;
图2是本公开另一种实施方式中的报文传输方法的流程图;
图3是本公开一种实施方式中的应用场景示意图;
图4是本公开一种实施方式中的报文传输装置的结构图;
图5是本公开一种实施方式中的本端设备的硬件结构图;
图6是本公开一种实施方式中的报文传输装置的结构图;
图7是本公开一种实施方式中的对端设备的硬件结构图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。
本公开实施例中提出一种报文传输方法,该方法可以应用于包括本端设备和对端设备的系统,本端设备和对端设备均可以是VTEP设备。本端设备和对端设备是相对的,例如,当VTEP设备1为本端设备时,则与VTEP设备1通信的VTEP设备2为对端设备;当VTEP设备2为本端设备时,则与VTEP设备2通信的VTEP设备2为对端设备。参见图1所示,为本公开实施例中提出的报文传输方法的流程图,该方法可以应用于本端设备,该方法可以包括:
步骤101,接收对端设备发送的第一报文,并解封装该第一报文的隧道头(即去除隧道头),得到第二报文。其中,以隧道头是VXLAN隧道头为例,第一报文是包括VXLAN隧道头的报文,第二报文是去除VXLAN隧道头后的报文。
步骤102,通过该第二报文的目的地址(如目的MAC地址和/或目的IP地址)查询转发表,得到与该目的地址对应的出接口。其中,该转发表用于记录用户设备的地址(如MAC地址和/或IP地址)与用户设备的出接口的对应关系。
步骤103,确定与该出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从至少两个用户标签中获取与该目的地址对应的一个用户标签,然后执行步骤104。若确定的用户标签为一个用户标签,则基于该用户标签,直接执行步骤104,不用获取与该目的地址对应的一个用户标签。
其中,上述出接口可以是AC,上述用户标签(Tag)包括但不限于VLAN。
其中,在每个接口的AC配置中,可以包括但不限于VXLAN、用户标签等内容,因此,可以基于接口的AC配置,确定与该出接口对应的用户标签。
在一个例子中,针对“从至少两个用户标签中获取与该目的地址对应的一个用户标签”的过程,可以包括但不限于:方式一、通过该目的地址查询对应关系表,得到与该目的地址对应的一个用户标签,其中,该对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系。方式二、若第一报文的隧道头中携带与该目的地址对应的用户标签,则可以从第一报文的隧道头中解析与该目的地址对应的一个用户标签。
针对方式一,在执行上述步骤之前,还可以采用如下方式维护对应关系表:本端设备在接收到用户设备发送的ARP(Address Resolution Protocol,地址解析协议)报文(如免费ARP报文或者ARP请求报文等)后,则可以从该ARP报文中解析出用户设备的地址、用户设备所属用户标签(即一个用户标签);在对应关系表中记录该用户设备的地址与该用户设备所属用户标签的对应关系。
基于此,在“获取与该目的地址对应的一个用户标签”的过程中,本端设备可以通过该目的地址查询该对应关系表,得到与该目的地址对应的一个用户标签。
针对方式二,在执行上述步骤之前,还可以采用如下处理:本端设备在接收到用户设备发送的ARP报文后,则可以从该ARP报文中解析出用户设备的地址、用户设备所属用户标签(即一个用户标签);然后,本端设备向对端设备发送通告消息,该通告消息可以携带该用户设备的地址、该用户设备所属用户标签。对端设备在接收到本端设备发送的通告消息后,从该通告消息中解析出用户设备的地址、用户设备所属用户标签,并在对端设备的对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系,如在对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系。
经过上述处理,在步骤101中,对端设备可以根据用户设备的地址与用户设备所属用户标签的对应关系,向本端设备发送第一报文,且本端设备可以接收到对端设备发送的第一报文,并解封装该第一报文的隧道头,得到第二报文。
具体的,对端设备在接收到用户设备发送的第二报文后,通过第二报文的目的地址查询上述对应关系表,得到与该目的地址对应的用户标签(即一个用户标签)。对端设备可以利用该目的地址对应的隧道,为该第二报文封装隧道头,得到第一报文,该隧道头中携带与该目的地址对应的用户标签。然后,对端设备可以通过该隧道将该第一报文发送给本端设备,而本端设备可以接收到对端设备发送的第一报文,并解封装该第一报文的隧道头,从而得到第二报文。
基于此,在“本端设备获取与该目的地址对应的一个用户标签”的过程中,由于所述第一报文的隧道头中携带与该目的地址对应的一个用户标签,因此,本端设备可以从第一报文的隧道头中解析出与该目的地址对应的一个用户标签。
步骤104,为该第二报文封装该用户标签(与第二报文的目的地址对应的用户标签),并通过该出接口(目的地址对应的出接口)发送封装后的第二报文。
基于上述技术方案,本公开实施例中,VTEP设备在通过AC发送报文时,即使所述AC存在多个用户标签,即将多个用户标签映射到同一个VXLAN,VTEP设备也可以确定与报文的目的地址对应的一个用户标签,并只针对该用户标签发送报文,而不是针对每个用户标签分别发送报文,这样,可以只向一个用户设备发送报文,从而避免报文被重复发送,节省带宽资源和处理开销。
基于与上述方法同样的构思,本公开实施例中还提出另一种报文传输方法,该方法可以应用于对端设备,参见图2所示,为该方法的处理流程图。
步骤201,接收用户设备发送的第二报文,并通过该第二报文的目的地址查询对应关系表,得到与该目的地址对应的用户标签(即一个用户标签)。其中,该对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系。
在一个例子中,在通过该第二报文的目的地址查询对应关系表,得到与该目的地址对应的用户标签之前,还可以包括对应关系表的维护过程。具体的,对端设备接收本端设备发送的通告消息,该通告消息可以携带用户设备的地址、用户设备所属用户标签,且通告消息是本端设备在接收到ARP报文,并从ARP报文中解析出用户设备的地址、用户设备所属用户标签后发送的;对端设备可以在对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系。
步骤202,利用该目的地址对应的隧道,为该第二报文封装隧道头,得到第一报文;其中,该隧道头中还可以携带与该目的地址对应的用户标签。
步骤203,通过该隧道将第一报文发送给本端设备,以使本端设备从第一报文的隧道头中解析出与该目的地址对应的用户标签,并根据该用户标签发送第一报文。
基于上述技术方案,本公开实施例中,VTEP设备在通过AC发送报文时,即使所述AC存在多个用户标签,即将多个用户标签映射到同一个VXLAN,VTEP设备也可以确定与报文的目的地址对应的一个用户标签,并只针对该用户标签发送报文,而不是针对每个用户标签分别发送报文,这样,可以只向一个用户设备发送报文,从而避免报文被重复发送,节省带宽资源和处理开销。
以下结合图3所示的应用场景,对上述报文传输方法进行详细说明。参见图3所示,VTEP设备301和VTEP设备302均配置EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)协议,VTEP设备301和VTEP设备302设置VXLAN基础配置,VTEP设备301和VTEP设备302之间建立VXLAN隧道1。
在VTEP设备301上,VXLAN隧道1对应的出接口是接口3012,源IP地址是VTEP设备301的IP地址1.1.1.1,目的IP地址是VTEP设备302的IP地址2.2.2.2,且VXLAN隧道1的VXLAN标识为VXLAN100,且VXLAN隧道1的VSI((Virtual Switch Interface,虚拟交换接口)可以是VPNa,这个VPNa与VXLAN100具有对应关系,即通过VPNa可以找到对应的VXLAN100。
在VTEP设备302上,VXLAN隧道1对应的出接口是接口3022,源IP地址是VTEP设备302的IP地址2.2.2.2,目的IP地址是VTEP设备301的IP地址1.1.1.1,且VXLAN隧道1的VXLAN标识为VXLAN100,且VXLAN隧道1的VSI((Virtual Switch Interface,虚拟交换接口)可以是VPNa,这个VPNa与VXLAN100具有对应关系,即通过VPNa可以找到对应的VXLAN100。
进一步的,VTEP设备301的接口3011对应AC1,所述AC1的配置可以包括但不限于:物理接口3011、多个Tag(如Tag10-Tag100)、VXLAN100(或者VPNa,通过VPNa可以找到对应的VXLAN100)。其中,每个Tag对应一个用户设备,如Tag10对应用户设备321,Tag11对应用户设备322,以此类推。
此外,VTEP设备302的接口3021可以对应AC2,所述AC2的配置可以包括但不限于:物理接口3021、一个Tag200、VXLAN100(或者VPNa,通过VPNa可以找到对应的VXLAN100)。其中,所述Tag200可以对应用户设备331。
在一个例子中,当VTEP设备存在支持多个Tag的AC时,这个VTEP设备可以为本端设备,而与这个VTEP设备通信的另一个VTEP设备是对端设备。因此,VTEP设备301可以是本端设备,VTEP设备302可以是对端设备。
在上述应用场景下,则报文传输方法的一个流程,还可以包括以下步骤:
步骤a1、用户设备321上线时,发送免费ARP报文,其中,该免费ARP报文可以携带用户设备321的IP地址192.168.1.110和MAC地址A-A-A。
步骤a2、交换机311通过接口3111接收到免费ARP报文后,确定接口3111对应的Tag是Tag10,为免费ARP报文封装Tag10,并发送免费ARP报文。
步骤a3、VTEP设备301通过AC1(即接口3011)接收到免费ARP报文后,在ARP表中记录IP地址192.168.1.110、MAC地址A-A-A、出接口AC1的对应关系,在转发表(如MAC转发表)中记录MAC地址A-A-A、出接口AC1的对应关系,参见表1所示,为转发表的一个示例,对此转发表的内容不做限制。
表1
MAC地址 State VSI名称 出接口
A-A-A Dynamic VPNa AC1
步骤a4、VTEP设备301在对应关系表中记录MAC地址A-A-A与Tag10(即从免费ARP报文中解析出的用户设备321所属的用户标签)的对应关系。
其中,对应关系表可以是转发表,也可以是独立的表。若是转发表,则对应关系表的示例如表2所示,若是独立的表,则对应关系表的示例如表3所示。
表2
MAC地址 用户标签 State VSI名称 出接口
A-A-A Tag10 Dynamic VPNa AC1
表3
MAC地址 用户标签
A-A-A Tag10
步骤a5、VTEP设备301向VTEP设备302发送EVPN路由通告消息,EVPN路由通告消息携带MAC地址A-A-A、VXLAN100(即VPNa对应的VXLAN100)。
步骤a6、VTEP设备302通过VXLAN隧道1接收到EVPN路由通告消息后,由于本地存在EVPN路由通告消息携带的VXLAN100,因此将MAC地址A-A-A学习到转发表,即在转发表记录MAC地址A-A-A、出接口VXLAN隧道1的对应关系,参见表4所示,为转发表的示例,对转发表的内容不做限制。
表4
MAC地址 State VSI名称 出接口
A-A-A EVPN VPNa VXLAN隧道1
经过上述表项学习过程,则报文(即数据报文)传输过程,还可以包括:
步骤a7、用户设备331向用户设备321发送报文1,且这个报文1被发送给VTEP设备302。其中,该报文1的目的MAC地址可以为MAC地址A-A-A。
步骤a8、VTEP设备302通过MAC地址A-A-A查询表4的转发表,得到出接口是VXLAN隧道1,并为报文1封装VXLAN隧道1对应的隧道头,得到报文2。在该隧道头中,源IP地址是VTEP设备302的IP地址2.2.2.2,目的IP地址是VTEP设备301的IP地址1.1.1.1,且VXLAN标识为VXLAN100。
步骤a9、VTEP设备302通过VXLAN隧道1对应的接口3022发送报文2。
步骤a10、VTEP设备301通过VXLAN隧道1接收到报文2后,解封装该报文2的隧道头(即去除隧道头),得到报文1,其目的MAC地址是A-A-A。
步骤a11、VTEP设备301通过MAC地址A-A-A查询表1所示的转发表,得到出接口AC1。由于出接口AC1对应多个用户标签(Tag10-Tag100),VTEP设备301通过MAC地址A-A-A查询表2或表3所示的对应关系表,得到Tag10。
步骤a12、VTEP设备301为上述报文1封装Tag10,并通过AC1发送封装后的报文1。此外,VTEP设备301不是为报文1分别封装Tag10-Tag100。
步骤a13、交换机311在接收到报文1后,由于报文1封装了Tag10,因此,交换机311只通过Tag10对应的接口3111发送报文1,而不会通过Tag11对应的接口3112发送报文1,这样,就可以将报文1只发送给用户设备321。
在上述应用场景下,则报文传输方法的另一个流程,可以包括以下步骤:
步骤b1、用户设备321上线时,发送免费ARP报文,其中,该免费ARP报文可以携带用户设备321的IP地址192.168.1.110和MAC地址A-A-A。
步骤b2、交换机311通过接口3111收到免费ARP报文后,确定接口3111对应的Tag是Tag10,为免费ARP报文封装Tag10,并发送免费ARP报文。
步骤b3、VTEP设备301通过AC1(即接口3011)接收到免费ARP报文后,在ARP表中记录IP地址192.168.1.110、MAC地址A-A-A、出接口AC1的对应关系,在转发表(如MAC转发表)中记录MAC地址A-A-A、出接口AC1的对应关系,参见表1所示,为转发表的一个示例,对此转发表的内容不做限制。
步骤b4、VTEP设备301向VTEP设备302发送EVPN路由通告消息,EVPN路由通告消息携带MAC地址A-A-A、VXLAN100(即VPNa对应的VXLAN100)和Tag10(从免费ARP报文中解析出的用户设备321所属的用户标签)。
步骤b5、VTEP设备302通过VXLAN隧道1接收到EVPN路由通告消息后,由于本地存在EVPN路由通告消息携带的VXLAN100,因此将MAC地址A-A-A学习到转发表,即在转发表记录MAC地址A-A-A、出接口VXLAN隧道1的对应关系,参见表4所示,为转发表的示例,对转发表的内容不做限制。
步骤b6、VTEP设备302在对应关系表中记录MAC地址A-A-A与Tag10(从EVPN路由通告消息解析出的用户设备321所属的用户标签)的对应关系。
其中,对应关系表可以是转发表,也可以是独立的表。若是转发表,则对应关系表的示例如表5所示,若是独立的表,则对应关系表的示例如表6所示。
表5
MAC地址 用户标签 State VSI名称 出接口
A-A-A Tag10 EVPN VPNa VXLAN隧道1
表6
MAC地址 用户标签
A-A-A Tag10
经过上述表项学习过程,则报文(即数据报文)传输过程,还可以包括:
步骤b7、用户设备331向用户设备321发送报文1,且这个报文1被发送给VTEP设备302。其中,该报文1的目的MAC地址可以为MAC地址A-A-A。
步骤b8、VTEP设备302通过MAC地址A-A-A查询表4的转发表,得到VXLAN隧道1,通过A-A-A查询表5或者表6的对应关系表,得到Tag10。
步骤b9、VTEP设备302为报文1封装VXLAN隧道1对应的隧道头,得到报文2。其中,在该隧道头中,源IP地址是VTEP设备302的IP地址2.2.2.2,目的IP地址是VTEP设备301的IP地址1.1.1.1,且VXLAN标识为VXLAN100。此外,在该隧道头中,还可以携带与MAC地址A-A-A对应的Tag10。
例如,在该隧道头的保留字段中,携带与MAC地址A-A-A对应的Tag10。
步骤b10、VTEP设备302通过VXLAN隧道1对应的接口3022发送报文2。
步骤b11、VTEP设备301通过VXLAN隧道1接收到报文2后,解封装该报文2的隧道头(即去除隧道头),得到报文1,其目的MAC地址是A-A-A。
步骤b12、VTEP设备301通过MAC地址A-A-A查询表1所示的转发表,得到出接口AC1。由于出接口AC1对应多个用户标签(Tag10-Tag100),因此,VTEP设备301从报文2的隧道头中解析出与MAC地址A-A-A对应的Tag10。
步骤b13、VTEP设备301为上述报文1封装Tag10,并通过AC1发送封装后的报文1。此外,VTEP设备301不是为报文1分别封装Tag10-Tag100。
步骤b14、交换机311在接收到报文1后,由于报文1封装了Tag10,因此,交换机311只通过Tag10对应的接口3111发送报文1,而不会通过Tag11对应的接口3112发送报文1,这样,就可以将报文1只发送给用户设备321。
基于与上述方法同样的构思,本公开实施例还提供一种报文传输装置,可以应用在本端设备。如图4所示,为该装置的结构图,该装置可以包括:
接收模块401,用于接收对端设备发送的第一报文;
处理模块402,用于解封装所述第一报文的隧道头,得到第二报文,并通过所述第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
获取模块403,用于确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
发送模块404,用于为所述第二报文封装获取的用户标签,并通过所述出接口发送封装后的第二报文。
所述获取模块403,具体用于在从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签的过程中,通过所述目的地址查询对应关系表,得到与所述目的地址对应的一个用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;或者,从所述第一报文的隧道头中解析出与所述目的地址对应的一个用户标签。
所述获取模块403,还用于在接收到用户设备发送的地址解析协议ARP报文之后,则从所述ARP报文中解析出所述用户设备的地址、所述用户设备所属用户标签;在所述本端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系;或者,向对端设备发送通告消息,所述通告消息携带所述用户设备的地址、所述用户设备所属用户标签,以使对端设备在所述对端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系,并根据记录的对应关系向本端设备发送第一报文。
本公开实施例提供的本端设备,从硬件层面而言,其硬件架构示意图具体可以参见图5所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的报文传输操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质可以应用于本端设备,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收对端设备发送的第一报文,解封装第一报文的隧道头,得到第二报文;
通过第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
为第二报文封装获取的用户标签,通过所述出接口发送封装后的第二报文。
基于与上述方法同样的构思,本公开实施例还提供一种报文传输装置,可以应用在对端设备。如图6所示,为该装置的结构图,该装置可以包括:
接收模块601,用于接收用户设备发送的第二报文;
获得模块602,用于通过所述第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为第二报文封装隧道头,得到第一报文;所述隧道头携带与所述目的地址对应的用户标签;
发送模块603,用于通过所述隧道将所述第一报文发送给本端设备,以使本端设备从所述第一报文的隧道头中解析所述用户标签,根据所述用户标签发送第一报文。
所述接收模块601,还用于接收本端设备发送的通告消息,所述通告消息携带用户设备的地址、用户设备所属用户标签;所述通告消息是本端设备在接收到ARP报文,从所述ARP报文中解析出用户设备的地址、用户设备所属用户标签后发送的;在对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系。
本公开实施例提供的对端设备,从硬件层面而言,其硬件架构示意图具体可以参见图7所示。包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本公开上述示例公开的报文传输操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质可以应用于对端设备,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收用户设备发送的第二报文;
通过第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;
利用所述目的地址对应的隧道,为所述第二报文封装隧道头,得到第一报文;其中,所述隧道头中携带与所述目的地址对应的用户标签;
通过所述隧道将所述第一报文发送给本端设备,以使所述本端设备从所述第一报文的隧道头中解析所述用户标签,根据所述用户标签发送所述第一报文。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

Claims (12)

1.一种报文传输方法,其特征在于,应用于本端设备,所述方法包括:
接收对端设备发送的第一报文,解封装第一报文的隧道头,得到第二报文;
通过第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
为第二报文封装获取的用户标签,通过所述出接口发送封装后的第二报文。
2.根据权利要求1所述的方法,其特征在于,所述从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签的过程,具体包括:
通过所述目的地址查询对应关系表,得到与所述目的地址对应的一个用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;或者,从第一报文的隧道头解析与所述目的地址对应的一个用户标签。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到用户设备发送的地址解析协议ARP报文之后,则从所述ARP报文中解析出所述用户设备的地址、所述用户设备所属用户标签;
在所述本端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系;或者,向对端设备发送通告消息,所述通告消息携带所述用户设备的地址、所述用户设备所属用户标签,以使对端设备在所述对端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系,并根据记录的对应关系向本端设备发送第一报文。
4.一种报文传输方法,其特征在于,应用于对端设备,所述方法包括:
接收用户设备发送的第二报文;
通过所述第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为所述第二报文封装隧道头,得到第一报文;其中,所述隧道头中携带与所述目的地址对应的用户标签;
通过所述隧道将所述第一报文发送给本端设备,以使所述本端设备从所述第一报文的隧道头中解析所述用户标签,根据所述用户标签发送所述第一报文。
5.根据权利要求4所述的方法,其特征在于,所述通过第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签之前,还包括:
接收本端设备发送的通告消息,所述通告消息携带用户设备的地址、用户设备所属用户标签;其中,所述通告消息是所述本端设备在接收到ARP报文,从所述ARP报文中解析出用户设备的地址、用户设备所属用户标签后发送的;在对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系。
6.一种报文传输装置,其特征在于,应用于本端设备,所述装置包括:
接收模块,用于接收对端设备发送的第一报文;
处理模块,用于解封装所述第一报文的隧道头,得到第二报文,并通过所述第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
获取模块,用于确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
发送模块,用于为所述第二报文封装获取的用户标签,并通过所述出接口发送封装后的第二报文。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,具体用于在从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签的过程中,通过所述目的地址查询对应关系表,得到与所述目的地址对应的一个用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;或者,从所述第一报文的隧道头中解析出与所述目的地址对应的一个用户标签。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,还用于在接收到用户设备发送的地址解析协议ARP报文之后,则从所述ARP报文中解析出所述用户设备的地址、所述用户设备所属用户标签;
在所述本端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系;或者,向对端设备发送通告消息,所述通告消息携带所述用户设备的地址、所述用户设备所属用户标签,以使对端设备在所述对端设备的对应关系表中记录所述用户设备的地址与所述用户设备所属用户标签的对应关系,并根据记录的对应关系向本端设备发送第一报文。
9.一种报文传输装置,其特征在于,应用于对端设备,所述装置包括:
接收模块,用于接收用户设备发送的第二报文;
获得模块,用于通过所述第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为第二报文封装隧道头,得到第一报文;所述隧道头中携带与所述目的地址对应的用户标签;
发送模块,用于通过所述隧道将所述第一报文发送给本端设备,以使本端设备从所述第一报文的隧道头中解析所述用户标签,并根据所述用户标签发送第一报文。
10.根据权利要求9所述的装置,其特征在于,所述接收模块,还用于接收本端设备发送的通告消息,所述通告消息携带用户设备的地址、用户设备所属用户标签;其中,所述通告消息是本端设备在接收到ARP报文,从所述ARP报文中解析出用户设备的地址、用户设备所属用户标签后发送的;在对应关系表中记录用户设备的地址与用户设备所属用户标签的对应关系。
11.一种机器可读存储介质,其特征在于,应用于本端设备,机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收对端设备发送的第一报文,解封装第一报文的隧道头,得到第二报文;
通过第二报文的目的地址查询转发表,得到与所述目的地址对应的出接口;
确定与所述出接口对应的用户标签,若确定的用户标签为至少两个用户标签,则从所述至少两个用户标签中获取与所述目的地址对应的一个用户标签;
为第二报文封装获取的用户标签,通过所述出接口发送封装后的第二报文。
12.一种机器可读存储介质,其特征在于,应用于对端设备,机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
接收用户设备发送的第二报文;
通过第二报文的目的地址查询对应关系表,得到与所述目的地址对应的用户标签,所述对应关系表用于记录用户设备的地址与用户设备所属用户标签的对应关系;利用所述目的地址对应的隧道,为所述第二报文封装隧道头,得到第一报文;其中,所述隧道头中携带与所述目的地址对应的用户标签;
通过所述隧道将所述第一报文发送给本端设备,以使本端设备从所述第一报文的隧道头中解析所述用户标签,并根据所述用户标签发送所述第一报文。
CN201710999835.6A 2017-10-24 2017-10-24 一种报文传输方法、装置及机器可读存储介质 Active CN108259350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710999835.6A CN108259350B (zh) 2017-10-24 2017-10-24 一种报文传输方法、装置及机器可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710999835.6A CN108259350B (zh) 2017-10-24 2017-10-24 一种报文传输方法、装置及机器可读存储介质

Publications (2)

Publication Number Publication Date
CN108259350A true CN108259350A (zh) 2018-07-06
CN108259350B CN108259350B (zh) 2021-02-26

Family

ID=62720847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710999835.6A Active CN108259350B (zh) 2017-10-24 2017-10-24 一种报文传输方法、装置及机器可读存储介质

Country Status (1)

Country Link
CN (1) CN108259350B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108990126A (zh) * 2018-07-25 2018-12-11 新华三技术有限公司 报文转发方法和装置
WO2021139288A1 (zh) * 2020-01-08 2021-07-15 华为技术有限公司 报文发送方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868614A (zh) * 2012-09-13 2013-01-09 杭州华三通信技术有限公司 Trill网络中的报文转发方法和路由网桥
WO2013127179A1 (zh) * 2012-02-28 2013-09-06 华为技术有限公司 虚拟专用局域网的故障处理方法、装置及系统
CN103685022A (zh) * 2012-09-17 2014-03-26 杭州华三通信技术有限公司 报文转发方法及服务提供商网络边缘设备
CN104380667A (zh) * 2013-06-14 2015-02-25 华为技术有限公司 一种数据报文的路由方法和设备
CN104378296A (zh) * 2013-08-15 2015-02-25 杭州华三通信技术有限公司 一种报文转发方法及设备
CN106130865A (zh) * 2016-07-07 2016-11-16 杭州华三通信技术有限公司 一种终端间的通信方法及装置
CN106330719A (zh) * 2016-10-26 2017-01-11 杭州迪普科技有限公司 一种vxlan报文转发方法和装置
CN106603550A (zh) * 2016-12-28 2017-04-26 中国银联股份有限公司 一种网络隔离方法及装置
CN106656786A (zh) * 2016-11-18 2017-05-10 新华三技术有限公司 一种流量保护方法及装置
CN106878133A (zh) * 2016-12-15 2017-06-20 新华三技术有限公司 报文转发方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013127179A1 (zh) * 2012-02-28 2013-09-06 华为技术有限公司 虚拟专用局域网的故障处理方法、装置及系统
CN102868614A (zh) * 2012-09-13 2013-01-09 杭州华三通信技术有限公司 Trill网络中的报文转发方法和路由网桥
CN103685022A (zh) * 2012-09-17 2014-03-26 杭州华三通信技术有限公司 报文转发方法及服务提供商网络边缘设备
CN104380667A (zh) * 2013-06-14 2015-02-25 华为技术有限公司 一种数据报文的路由方法和设备
CN104378296A (zh) * 2013-08-15 2015-02-25 杭州华三通信技术有限公司 一种报文转发方法及设备
CN106130865A (zh) * 2016-07-07 2016-11-16 杭州华三通信技术有限公司 一种终端间的通信方法及装置
CN106330719A (zh) * 2016-10-26 2017-01-11 杭州迪普科技有限公司 一种vxlan报文转发方法和装置
CN106656786A (zh) * 2016-11-18 2017-05-10 新华三技术有限公司 一种流量保护方法及装置
CN106878133A (zh) * 2016-12-15 2017-06-20 新华三技术有限公司 报文转发方法及装置
CN106603550A (zh) * 2016-12-28 2017-04-26 中国银联股份有限公司 一种网络隔离方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108990126A (zh) * 2018-07-25 2018-12-11 新华三技术有限公司 报文转发方法和装置
WO2021139288A1 (zh) * 2020-01-08 2021-07-15 华为技术有限公司 报文发送方法、装置及存储介质
US12063155B2 (en) 2020-01-08 2024-08-13 Huawei Technologies Co., Ltd. Packet sending method and apparatus, and storage medium

Also Published As

Publication number Publication date
CN108259350B (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN106464564B (zh) 用于网络分组封装和路由的方法、系统和计算机可读介质
US10205657B2 (en) Packet forwarding in data center network
US20150188802A1 (en) System for supporting multi-tenant based on private ip address in virtual private cloud networks and operating method thereof
CN107426077B (zh) 用于实现物理网络和虚拟网络互通的方法和设备
CN108259347B (zh) 一种报文传输方法和装置
US9749239B2 (en) Transparent Rbridge
CN105939239B (zh) 虚拟网卡的数据传输方法及装置
CN103200069A (zh) 一种报文处理的方法和设备
CN107770072B (zh) 一种发送和接收报文的方法和设备
CN106209557B (zh) 报文转发方法及装置
US10182125B2 (en) Server, physical switch and communication system
CN107659485A (zh) 一种虚拟专用网络vpn中的设备与服务器通信的方法及装置
CN109379241A (zh) 一种路径信息确定方法及装置
CN102792651B (zh) 在mac层应用服务路径路由选择的装置
CN109412927B (zh) 一种多vpn数据传输方法、装置及网络设备
CN109412949A (zh) 一种数据报文传输方法和装置
CN109412926A (zh) 一种隧道建立方法和装置
US10681126B2 (en) Mechanism for overlay virtual networking
CN107920020A (zh) 报文处理方法和网关
CN108718276B (zh) 一种报文转发方法和装置
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN108259453A (zh) 一种报文转发方法及装置
CN111131039B (zh) 一种报文转发控制方法及装置
CN105227498B (zh) 叠加网络交换机及其使用的方法
CN108259350A (zh) 一种报文传输方法、装置及机器可读存储介质

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
GR01 Patent grant
GR01 Patent grant