WO2018090980A1 - 报文转发 - Google Patents
报文转发 Download PDFInfo
- Publication number
- WO2018090980A1 WO2018090980A1 PCT/CN2017/111667 CN2017111667W WO2018090980A1 WO 2018090980 A1 WO2018090980 A1 WO 2018090980A1 CN 2017111667 W CN2017111667 W CN 2017111667W WO 2018090980 A1 WO2018090980 A1 WO 2018090980A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tunnel
- notification message
- network device
- keepalive
- data packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/826—Involving periods of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Definitions
- FIG. 2 is a schematic structural diagram of a network according to an exemplary embodiment of the present disclosure
- FIG. 5 is a schematic structural diagram of a network device according to an exemplary embodiment of the present disclosure.
- the following embodiments of the present disclosure provide a packet forwarding method, and a network device to which the method can be applied.
- the method of an embodiment of the present disclosure may be performed by a network device such as a router.
- a network device such as a router.
- the network device that performs the packet forwarding method of the embodiment of the present disclosure is hereinafter referred to as a first device.
- the information about the first tunnel may include: an IP address of the source device of the first tunnel, an IP address of the destination device of the first tunnel, and an ID (identification) of the protocol to which the first tunnel belongs.
- an aging mechanism is provided for forwarding entries. Specifically, if the first notification message sent by the destination device of the first tunnel is not received within the predetermined time, the first device deletes the forwarding entry as shown in Table 1. In this way, after receiving the encapsulated data packet sent by the source device of the first tunnel, the first device directly forwards the packet to the destination device of the first tunnel without decapsulating the encapsulated data packet.
- the first device performs the method shown in FIG. 1 to reconfigure the forwarding entry, and performs the operation of decapsulating the packet and forwarding the packet to the destination device of the first tunnel according to the forwarding entry. .
- the embodiment of the present disclosure utilizes the tunnel keepalive mechanism.
- the forwarding device configures the forwarding entry so that subsequent encapsulated data packets can be decapsulated on the previous hop device in advance.
- step S303 the keepalive response message 1 is not sent through the outbound port found in the IP routing table, but is requested by a keepalive.
- the port 21 of the packet sends the keepalive response packet 1 to ensure that the keepalive response packet 1 is sent to the device R_C203.
- the encapsulated data packet sent by the device R_A201 is decapsulated in advance and forwarded to the device R_D 204, thereby reducing the decapsulation processing pressure of the tunnel destination device R_D204 and reducing the link overhead of the GRE tunnel.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种报文转发方法及网络设备。根据该方法的示例,当网络设备作为第一隧道的目的端设备的上一跳设备时,接收第一隧道的目的端设备发来的第一通知消息,其中,第一通知消息中携带有第一隧道的相关信息。该网络设备配置转发表项,其中,该转发表项的匹配域中包括第一隧道的相关信息。在接收到封装数据报文之后,若该封装数据报文与该转发表项匹配,则该网络设备对该封装数据报文进行解封装后转发给第一隧道的目的端设备。
Description
相关申请的交叉引用
本专利申请要求于2016年11月18日提交的、申请号为201611034213.1、发明名称为“报文转发方法及装置”的中国专利申请的优先权,该申请的全文以引用的方式并入本文中。
GRE(Generic Routing Encapsulation,通用路由封装)协议用来对某种协议(如IP(Internet Protocol,因特网协议)、MPLS(Multiprotocol Label Switching,多协议标签交换)、以太网等)的数据报文进行封装,使这些封装后的数据报文能够利用另一个网络层协议进行传输。封装后的数据报文在网络中传输的路径称为GRE隧道。GRE隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报文进行GRE封装和解封装。
图1是本公开一示例性实施例示出的报文转发方法的流程图;
图2是本公开一示例性实施例示出的网络结构示意图;
图3是图2中的各个设备的交互流程图;
图4是本公开一示例性实施例示出的keepalive请求报文的格式示意图;
图5是本公开一示例性实施例示出的网络设备的结构示意图;
图6是本公开一示例性实施例示出的网络设备的另一种结构示意图;
图7是本公开一示例性实施例示出的网络设备的又一种结构示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
GRE封装的过程如下所述。原始报文中包括:14字节的二层头、20字节的原始IP头、以及30字节的负载(payload)。在GRE封装的过程中,在原始报文中增加了4字节的GRE头和20字节的新IP头。这样,与原始报文相比,GRE封装后的报文的长度增加了24字节。这样,就增加了GRE隧道上的各个链路的数据流量,占用了较多的链路带宽。
本公开以下实施例中提供了一种报文转发方法,以及一种可以应用该方法的网络设备。本公开实施例的方法可以由路由器等网络设备执行。为了描述方便,以下将执行本公开实施例的报文转发方法的网络设备称为第一设备。
如图1所示,第一设备执行的报文转发方法包括以下步骤。
步骤S101,第一设备接收第一隧道的目的端设备发来的第一通知消息,其中,第一通知消息中携带有第一隧道的相关信息,第一设备作为第一隧道的目的端设备的上一跳设备。
其中,第一隧道的相关信息可以包括:第一隧道的源端设备的IP地址、第一隧道的目的端设备的IP地址、第一隧道所属协议的ID(标识)。
第一隧道可以是GRE隧道、PPPoE(Point-to-Point Protocol over Ethernet,以太网上的点对点协议)隧道、L2TP(Layer2Tunneling Protocol,二层隧道协议)隧道等,本公开实施例对此不做限定。
步骤S102,第一设备配置转发表项,其中,该转发表项的匹配域中包括第一隧道的相关信息。
其中,第一设备可以将上述转发表项配置在软件层面或硬件层面上,也可以将转发表项的匹配域配置在软件层面上、动作域配置在硬件层面上,或者,还可以将转发表项的匹配域配置在硬件层面上、动作域配置在软件层面上,本公开实施例对此不做限定。
在其中一种实施方式中,从第一通知消息中获取到第一隧道的相关信息之后,第一设备配置一条如表1所示的转发表项:
表1
步骤S103,第一设备接收到封装数据报文之后,将该封装数据报文与如表1所示的转发表项进行匹配,若匹配,则对该封装数据报文进行解封装,以得到解封装的数据报文,然后将解封装的数据报文转发给第一隧道的目的端设备。
在步骤S103中,在接收到封装数据报文之后,第一设备会将该封装数据报文与位于软件层面或硬件层面的该转发表项的匹配域进行匹配,若匹配,则按照位于软件层面或硬件层面的该转发表项的动作域,对该封装数据报文进行解封装得到原始数据报文,将该原始数据报文转发给第一隧道的目的端设备。
在上述实施例的方法中,隧道的目的端设备会向该目的端设备的上一跳设备发送通知消息,该通知消息中携带有该隧道的相关信息。该上一跳设备在接收到该通知消息之后,就会配置一条匹配域包含该隧道的相关信息的转发表项。后续,该上一跳设备在接收到封装数据报文之后,若该封装数据报文与该转发表项匹配,则该上一跳设备就会对该封装数据报文进行解封装后转发给隧道目的端设备。从而,隧道目的端设备的上一跳设备可以提前将封装数据报文解封装,并将解封装得到的原始数据报文转发给目的端设备。这样,一方面,减轻了目的端设备的解封装处理压力,在源端设备与目的端设备之间建立了多条隧道时,可以将部分隧道的报文解封装处理工作分担给上一跳设备。另一方面,由于在上一跳设备与目的端设备之间的链路上,只需传输原始数据报文,而无需传输封装数据报文,减少了链路的数据流量,节约了链路带宽。
另外,为转发表项提供了一种老化机制。具体的,如果在预定时间内没有接收到第一隧道的目的端设备发来的第一通知消息,则第一设备删除如表1所示的转发表项。这样,第一设备在接收到第一隧道的源端设备发来的封装数据报文之后,就会直接转发给第一隧道的目的端设备,而不会对该封装数据报文进行解封装。后续,当再次接收到该目的端设备发来的
第一通知消息时,第一设备就会执行如图1所示的方法,重新配置转发表项,并根据该转发表项执行将报文解封装后转发给第一隧道的目的端设备的操作。
为了能够使得隧道的目的端设备向该目的端设备的上一跳设备发送通知消息,本公开实施例中可以利用隧道keepalive(保活)机制。例如,在GRE隧道的keepalive机制中,在开启了GRE的keepalive功能后,源端设备会周期性的通过GRE隧道向目的端设备发送keepalive请求报文,如果连续发送预定数量的keepalive请求报文后,仍然没有收到目的端设备回应的keepalive应答报文,则源端设备会将GRE隧道的状态置为down(不可用);在GRE隧道的状态为down时,若接收到了目的端设备回应的keepalive应答报文,则源端设备会将GRE隧道的状态切换为up(可用),否则,维持在down状态。同样,PPPoE隧道和L2TP隧道等隧道也存在类似的keepalive机制。
通过利用上述的隧道keepalive机制,第一隧道的目的端设备可以在接收到源端设备通过第一隧道发来的keepalive请求报文之后,向发来该keepalive请求报文的上一跳设备(即第一设备)发送携带有第一隧道的相关信息的第一通知消息,从而使得第一设备执行如图1所示的操作步骤。在实际实施过程中,可以配置命令,根据该命令,第一设备在接收到第一隧道的目的端设备发来的第一通知消息后,在本设备上配置转发表项;或者,也可以在协议标准中作出相应的规定,本公开实施例对此不做限定。
同样,第一设备也可以作为某一隧道的目的端设备。这样,当第一设备例如作为第二隧道的目的端设备时,在接收到源端设备通过第二隧道发来的keepalive请求报文之后,第一设备会向发来该keepalive请求报文的上一跳设备发送第二通知消息,其中,第二通知消息中携带有第二隧道的相关信息。其中,第二隧道的相关信息中可以包括:第一设备的IP地址、该源端设备的IP地址、第二隧道所属协议的ID。第二隧道可以是GRE隧道、PPPoE隧道、L2TP隧道等,本公开实施例对此不做限定。
本公开实施例中对上述通知消息(包括第一通知消息和第二通知消息)的协议和报文格式不做具体限定,只要能够携带隧道的相关信息,并且能够起到通知作用即可。其中一种通知消息可以是TTL(Time To Live,生存时间)为1的keepalive应答报文。该TTL指示了数据报文在网络中可以转发的最大跳数。具体的,当作为第二隧道的目的端设备时,第一设备在接收到源端设备发来的keepalive请求报文之后,可以按照隧道keepalive机制向源端设备回应keepalive应答报文。另外,第一设备可向发来该keepalive请求报文的上一跳设备发送TTL=1的keepalive应答报文作为通知消息,以便该上一跳设备执行如图1所示的操作步骤。TTL置为1可以起到2个作用:一个是可以使得该keepalive应答报文在该上一跳设备上终结,
不再继续转发,另一个是作为通知消息的标识,即TTL=1用于标识该keepalive应答报文为通知消息。
本公开实施例利用了隧道keepalive机制,隧道目的端设备在接收到keepalive请求报文之后,额外发送TTL=1的keepalive应答报文给发来该keepalive请求报文的上一跳设备,以便通知该上一跳设备配置转发表项,使得后续封装数据报文可以提前在该上一跳设备上被解封装。另外,使用TTL=1的keepalive应答报文作为通知消息,可以无需定义新的消息类型,也无需对keepalive应答报文的格式进行修改,应用范围广泛。
下面以图2所示的实际网络为例对上述实施例的方法进行详细说明。如图2所示,设备R_A 201与设备R_D 204之间建立了GRE隧道,其中,设备R_A 201为该GRE隧道的源端设备,设备R_D 204为该GRE隧道的目的端设备,设备R_C 203为目的端设备的上一跳设备。设备R_A 201的IP地址为IP-A、MAC地址为MAC-A,设备R_C 203的IP地址为IP-C、MAC地址为MAC-C,设备R_D 204的IP地址为IP-D、MAC地址为MAC-D。
此时的报文转发方法如图3所示,具体包括以下步骤:
步骤S301,设备R_A 201通过GRE隧道向设备R_D 204发送keepalive请求报文;
其中,keepalive请求报文的格式如图4所示,包括:二层头、外层IP头、外层GRE头、内层IP头、以及内层GRE头。在步骤S301中,该keepalive请求报文的外层IP头中的源IP地址为IP-A、目的IP地址为IP-D,内层IP头中的源IP地址为IP-D、目的IP地址为IP-A。
步骤S302,设备R_D 204接收到该keepalive请求报文之后,对该keepalive请求报文进行解封装,之后构造2个keepalive应答报文:keepalive应答报文1和keepalive应答报文2;
具体的,设备R_D 204接收到该keepalive请求报文之后,记录该keepalive请求报文的入端口为Port21,解析出该keepalive请求报文的二层头中的源MAC地址为MAC-C、目的MAC地址为MAC-D;然后,设备R_D 204弹出该keepalive请求报文的外层IP头和外层GRE头,得到剩余的二层头、内层IP头和内层GRE头,并利用这些报头构造keepalive应答报文1和keepalive应答报文2。
其中,构造keepalive应答报文1的过程是,将IP头中的TTL置为1,将二层头中的源MAC地址MAC-C和目的MAC地址MAC-D互换,即,将MAC-D作为源MAC地址,将MAC-C作为目的MAC地址。这样,构造得到的keepalive应答报文1的二层头中的源MAC地址为MAC-D、目的MAC地址为MAC-C,IP头中的TTL=1。keepalive应答报文1即为通知消息。
keepalive应答报文2为TTL不为1的keepalive应答报文,该报文的二层头中的源MAC地址为MAC-D、目的MAC地址是keepalive应答报文2转发的下一跳设备的MAC地址,IP头中的TTL=254。根据设备R_A 201的IP地址IP-A在IP路由表中查找对应的下一跳信息,可以获取到keepalive应答报文2的出端口和下一跳设备的MAC地址等信息。
步骤S303,设备R_D 204通过Port21发送keepalive应答报文1给设备R_C 203;
由于根据IP-A查找到的下一跳设备有可能不是设备R_C 203,因此,在步骤S303中,不是通过在IP路由表中查找到的出端口发送keepalive应答报文1,而是通过keepalive请求报文的入端口Port21发送keepalive应答报文1,能够确保keepalive应答报文1发送给设备R_C203。
步骤S304,设备R_D 204通过在IP路由表中查找到的出端口发送keepalive应答报文2给设备R_A 201;
由步骤S302~步骤S304可知,keepalive应答报文1与keepalive应答报文2的IP头中的TTL值不同、确定出端口的方式也不同。其中,keepalive应答报文1的TTL置为1、而不是置为254,其目的是:一方面可以使得keepalive应答报文1只能转发一跳,从而在设备R_C203上终结,不再继续转发,另一方面TTL=1可以用于标识keepalive应答报文1为通知消息。另外,确定keepalive应答报文1的出端口为keepalive请求报文的入端口Port21、而不是根据IP-A查找到的出端口,其原因是:keepalive应答报文1是要发回给keepalive请求报文的转发路径(即设备R_A 201→设备R_B 202→设备R_C 203→设备R_D 204)上的倒数第2跳设备,即设备R_C 203,所以必须从keepalive请求报文的入端口上发出;而keepalive应答报文2是要发给设备R_A 201的,因此,只需按照GRE隧道keepalive机制,根据设备R_A 201的IP地址IP-A在IP路由表中查找对应的出端口,通过该出端口转发给设备R_A 201即可。
在实际实施过程中,keepalive应答报文1和keepalive应答报文2没有特定的发送先后顺序。keepalive应答报文1是一种用于通知设备R_C 203配置转发表项以便实现提前解封装报文的功能通知消息,而keepalive应答报文2是一种保活维护消息。在其中一种实现方式中,可以先执行步骤S303再执行步骤S304。在其中另一种实现方式中,可以先执行步骤S304再执行步骤S303。
步骤S305,设备R_A 201接收到keepalive应答报文2之后,会维持GRE隧道的状态为up;
后续,设备R_A 201会在预定发送时间间隔到达时,再次执行步骤S301。
步骤S306,设备R_C 203接收到keepalive应答报文1之后,解析出IP头中的TTL=1,就会直接上送CPU进行处理,CPU从该keepalive应答报文1的IP头中获取源IP地址IP-D、目的IP地址IP-A、协议ID,然后在硬件层面上配置如表2所示的转发表项;
表2
另外,在接收到上述keepalive应答报文1时,设备R_C 203会启动计时器从0开始计时,后续,每次接收到keepalive应答报文1时,会重新启动计时器,以使计时器重新从0开始计时,如果计时器的计时时间达到预定时间T并且设备R_C 203未接收到新的keepalive应答报文1,则会删除该转发表项。
步骤S307,设备R_C 203在接收到设备R_A 201发来的GRE封装数据报文之后,会将该GRE封装数据报文与如表2所示的转发表项进行匹配,在命中该表项时,按照该转发表项的动作域,对该GRE封装数据报文进行解封装后转发给设备R_D 204。
由如图3所示的方法可以看出,本公开实施例的方法中,利用了GRE隧道的keepalive机制,GRE隧道的目的端设备R_D 204接收到源端设备R_A 201发来的keepalive请求报文之后,在进行应答时,额外发送1个TTL=1的keepalive应答报文给发来该keepalive请求报文的上一跳设备R_C 203,可以使得设备R_C 203配置转发表项,根据该表项可以将设备R_A201发来的封装数据报文提前解封装后转发给设备R_D 204,从而减少了隧道目的端设备R_D204的解封装处理压力,并且减少了GRE隧道的链路开销。
此外,设备R_C 203在根据如表2所示的转发表项对封装数据报文进行解封装时,还可以支持隧道的安全认证处理。例如,GRE隧道支持识别关键字(Key)验证、端到端校验这两种安全认证机制。
(1)Key验证
在步骤S306中设备R_C 203接收到设备R_D 204发来的keepalive应答报文1之后,向设备R_D 204获取GRE隧道的Key并保存,或者,keepalive应答报文1中携带有Key,设
备R_C 203直接从keepalive应答报文1中获取Key并保存。
在获取到Key之后,设备R_C 203配置转发表项,此时的转发表项的动作域为:在判断出封装数据报文中携带的Key与本地保存的Key一致时,对该封装数据报文进行解封装后转发给设备R_D 204。
这样,在步骤S307中,设备R_C 203在接收到设备R_A 201发来的GRE封装的数据报文之后,会将该GRE封装的数据报文与转发表项进行匹配,在命中该表项时,按照该转发表项的动作域,判断该GRE封装数据报文中携带的Key与本地保存的Key是否一致,若一致,则对该GRE封装数据报文进行解封装后转发给设备R_D 204。
(2)端到端校验
在keepalive应答报文1中携带有校验指示标记,例如校验和(checksum)。在步骤S306中设备R_C 203接收到keepalive应答报文1之后,根据该校验指示标记,配置转发表项,其中,转发表项的动作域为:计算封装数据报文的校验和,在判断出计算得到的校验和与该封装数据报文中携带的校验和一致时,对该封装数据报文进行解封装后转发给设备R_D 204。
这样,在步骤S307中,设备R_C 203在接收到设备R_A 201发来的GRE封装数据报文之后,会将该GRE封装数据报文与转发表项进行匹配,在命中该表项时,按照该转发表项的动作域,计算该GRE封装数据报文的校验和,判断该校验和与该GRE封装数据报文中携带的校验和是否一致,若一致,则对该GRE封装数据报文进行解封装后转发给设备R_D 204。
显然,如图3所示的方法,对于支持keepalive机制的其它隧道同样适用,例如,PPPoE隧道和L2TP隧道等,本公开实施例对此不做限定。
与前述报文转发方法的实施例相对应,本公开还提供了网络设备的实施例。
请参考图5,本公开实施例的网络设备中包括以下模块:接收单元501、配置单元502和发送单元503,其中:
接收单元501,用于接收第一隧道的目的端设备发来的第一通知消息,其中,所述网络设备作为所述第一隧道的目的地端设备的上一跳设备,所述第一通知消息中携带有第一隧道的相关信息;
配置单元502,用于在接收单元501接收到第一通知消息之后,配置转发表项,其中,转发表项的匹配域中包括第一隧道的相关信息;
发送单元503,用于在接收单元501通过第一隧道接收到封装数据报文之后,若封装数据
报文与转发表项匹配,则对该封装数据报文进行解封装,以得到解封装的数据报文,并将解封装的数据报文转发给第一隧道的目的端设备。
其中,接收单元501,还用于当该网络设备作为第二隧道的目的端设备时,接收第二隧道的源端设备通过第二隧道发来的保活keepalive请求报文;
发送单元503,还用于在接收单元501接收到keepalive请求报文之后,向发来该keepalive请求报文的上一跳设备发送第二通知消息,其中,第二通知消息中携带有第二隧道的相关信息。
另外,如图6所示,上述网络设备中还包括:删除单元504。接收单元501判断在接收到第一通知消息后的预定时间内是否接收到第一隧道的目的端设备发来的第三通知消息,其中,所述第三通知消息中携带有第一隧道的相关信息。若接收单元501在预定时间内没有接收到第三通知消息,则删除单元504从该网络设备上删除转发表项。
其中,接收单元501在接收到第一隧道的目的端设备发来的第一通知消息时,启动计时器开始计时;若在计时器的计时时间达到预定时间时仍未接收到第三通知消息,确定在预定时间内没有接收到第一隧道的目的端设备发来的第三通知消息。
其中,接收单元501接收到的第一通知消息和发送单元503发送的第二通知消息是TTL为1的keepalive应答报文。
其中,上述第一隧道的相关信息中包括:第一隧道两端的设备的IP地址、第一隧道所属协议的标识ID。上述第二隧道的相关信息中包括:第二隧道两端的设备的IP地址、第二隧道所属协议的标识ID。具体的,第一隧道两端的设备为第一隧道的源端设备和目的端设备,第二隧道两端的设备为该网络设备和第二隧道的源端设备。
其中,上述第一隧道或第二隧道为以下之一:GRE隧道、PPPoE隧道、L2TP隧道。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
参见图7,图7为本公开示例示出的网络设备的硬件结构示意图。该网络设备包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中的机器可执行指令,处理器701可执行上文描述的报文转发方法。通常根据该网络设备的实际功能,该网络设备还可以包括其他硬件,对此不再赘述。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘。
例如,当处理器701读取并执行机器可读存储介质702中的机器可执行指令时,该处理器701被促使执行以下操作:
接收第一隧道的目的端设备发来的第一通知消息,其中,所述网络设备为所述第一隧道的目的端设备的上一跳设备,所述第一通知消息中携带有所述第一隧道的相关信息;
配置转发表项,其中,所述转发表项的匹配域中包括所述第一隧道的相关信息;
若接收到的封装数据报文与所述转发表项匹配,则对所述封装数据报文进行解封装,以得到解封装的数据报文;
将所述解封装的数据报文转发给所述第一隧道的目的端设备。
在一个示例中,处理器701还被所述机器可执行指令促使:
接收第二隧道的源端设备通过所述第二隧道发来的保活keepalive请求报文,其中,所述网络设备为所述第二隧道的目的端设备;
向发来所述keepalive请求报文的上一跳设备发送第二通知消息,其中,所述第二通知消息中携带有所述第二隧道的相关信息。
在一个示例中,处理器701还被所述机器可执行指令促使:
判断在接收到所述第一通知消息后的预定时间内是否接收到所述第一隧道的目的端设备发来的第三通知消息,其中,所述第三通知消息中携带有所述第一隧道的相关信息;
若在所述预定时间内没有接收到所述第三通知消息,则删除所述转发表项。
在一个示例中,处理器701还被所述机器可执行指令促使:
在接收到所述第一隧道的目的端设备发来的所述第一通知消息时,启动计时器开始计时;
若在所述计时器的计时时间达到所述预定时间时仍未接收到所述第三通知消息,确定在所述预定时间内没有接收到所述第一隧道的目的端设备发来的所述第三通知消息。
在一个示例中,所述第一通知消息和所述第二通知消息是生存时间TTL为1的keepalive应答报文。
在一个示例中,所述第一隧道的相关信息包括:所述第一隧道两端的设备的互联网协议IP地址、所述第一隧道所属协议的标识ID;
所述第二隧道的相关信息包括:所述第二隧道两端的设备的互联网协议IP地址、所述第二隧道所属协议的标识ID。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (12)
- 一种报文转发方法,包括:网络设备接收第一隧道的目的端设备发来的第一通知消息,其中,所述网络设备为所述第一隧道的目的端设备的上一跳设备,所述第一通知消息中携带有所述第一隧道的相关信息;所述网络设备配置转发表项,其中,所述转发表项的匹配域中包括所述第一隧道的相关信息;若所述网络设备接收到的封装数据报文与所述转发表项匹配,则所述网络设备对所述封装数据报文进行解封装,以得到解封装的数据报文;所述网络设备将所述解封装的数据报文转发给所述第一隧道的目的端设备。
- 根据权利要求1所述的方法,还包括:所述网络设备接收第二隧道的源端设备通过所述第二隧道发来的保活keepalive请求报文,其中,所述网络设备为所述第二隧道的目的端设备;所述网络设备向发来所述keepalive请求报文的上一跳设备发送第二通知消息,其中,所述第二通知消息中携带有所述第二隧道的相关信息。
- 根据权利要求1所述的方法,还包括:所述网络设备判断在接收到所述第一通知消息后的预定时间内是否接收到所述第一隧道的目的端设备发来的第三通知消息,其中,所述第三通知消息中携带有所述第一隧道的相关信息;若在所述预定时间内没有接收到所述第三通知消息,则所述网络设备删除所述转发表项。
- 根据权利要求3所述的方法,其中,判断在所述预定时间内是否接收到所述第一隧道的目的端设备发来的第三通知消息,包括:在接收到所述第一隧道的目的端设备发来的所述第一通知消息时,所述网络设备启动计时器开始计时;若在所述计时器的计时时间达到所述预定时间时仍未接收到所述第三通知消息,所述网络设备确定在所述预定时间内没有接收到所述第一隧道的目的端设备发来的所述第三通知消息。
- 根据权利要求2所述的方法,其中,所述第一通知消息和所述第二通知消息是生存时间TTL为1的keepalive应答报文。
- 根据权利要求2所述的方法,其中,所述第一隧道的相关信息包括:所述第一隧道两端的设备的互联网协议IP地址、所述第一隧道所属协议的标识ID;所述第二隧道的相关信息包括:所述第二隧道两端的设备的IP地址、所述第二隧道所属协议的ID。
- 一种网络设备,包括:处理器;以及存储有机器可执行指令的非暂时性机器可读存储介质,其中,通过执行所述机器可执行指令,所述处理器被所述机器可执行指令促使:接收第一隧道的目的端设备发来的第一通知消息,其中,所述网络设备为所述第一隧道的目的端设备的上一跳设备,所述第一通知消息中携带有所述第一隧道的相关信息;配置转发表项,其中,所述转发表项的匹配域中包括所述第一隧道的相关信息;若接收到的封装数据报文与所述转发表项匹配,则对所述封装数据报文进行解封装,以得到解封装的数据报文;将所述解封装的数据报文转发给所述第一隧道的目的端设备。
- 根据权利要求7所述的网络设备,其中,所述处理器还被所述机器可执行指令促使:接收第二隧道的源端设备通过所述第二隧道发来的保活keepalive请求报文,其中,所述网络设备为所述第二隧道的目的端设备;向发来所述keepalive请求报文的上一跳设备发送第二通知消息,其中,所述第二通知消息中携带有所述第二隧道的相关信息。
- 根据权利要求7所述的网络设备,其中,所述处理器还被所述机器可执行指令促使:判断在接收到所述第一通知消息后的预定时间内是否接收到所述第一隧道的目的端设备发来的第三通知消息,其中,所述第三通知消息中携带有所述第一隧道的相关信息;若在所述预定时间内没有接收到所述第三通知消息,则删除所述转发表项。
- 根据权利要求9所述的网络设备,其中,在判断在所述预定时间内是否接收到所述第一隧道的目的端设备发来的第三通知消息时,所述处理器还被所述机器可执行指令促使:在接收到所述第一隧道的目的端设备发来的所述第一通知消息时,启动计时器开始计时;若在所述计时器的计时时间达到所述预定时间时仍未接收到所述第三通知消息,确定在所述预定时间内没有接收到所述第一隧道的目的端设备发来的所述第三通知消息。
- 根据权利要求8所述的网络设备,其中,所述第一通知消息和所述第二通知消息是生存时间TTL为1的keepalive应答报文。
- 根据权利要求8所述的网络设备,其中,所述第一隧道的相关信息包括:所述第一隧道两端的设备的互联网协议IP地址、所述第一隧道所属协议的标识ID;所述第二隧道的相关信息包括:所述第二隧道两端的设备的IP地址、所述第二隧道所属协议的ID。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/462,402 US10880122B2 (en) | 2016-11-18 | 2017-11-17 | Forwarding packet |
JP2019526218A JP6812549B2 (ja) | 2016-11-18 | 2017-11-17 | パケット転送方法及びネットワーク機器 |
EP17871799.7A EP3528438B1 (en) | 2016-11-18 | 2017-11-17 | Packet forwarding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611034213.1A CN108075991B (zh) | 2016-11-18 | 2016-11-18 | 报文转发方法及装置 |
CN201611034213.1 | 2016-11-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018090980A1 true WO2018090980A1 (zh) | 2018-05-24 |
Family
ID=62146178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/111667 WO2018090980A1 (zh) | 2016-11-18 | 2017-11-17 | 报文转发 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10880122B2 (zh) |
EP (1) | EP3528438B1 (zh) |
JP (1) | JP6812549B2 (zh) |
CN (1) | CN108075991B (zh) |
WO (1) | WO2018090980A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324165B (zh) * | 2018-03-30 | 2021-05-11 | 华为技术有限公司 | 网络设备的管理方法、装置及系统 |
CN112448912B (zh) * | 2019-08-27 | 2023-08-01 | 中兴通讯股份有限公司 | 一种防报文攻击方法、装置及存储介质 |
CN114125910A (zh) * | 2020-08-31 | 2022-03-01 | 华为技术有限公司 | 隧道保活方法、网络设备、系统及存储介质 |
CN114301737B (zh) * | 2021-12-29 | 2023-10-24 | 迈普通信技术股份有限公司 | 网络配置方法、装置、网络设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120099602A1 (en) * | 2010-10-25 | 2012-04-26 | Brocade Communications Systems, Inc. | End-to-end virtualization |
CN102739521A (zh) * | 2012-06-04 | 2012-10-17 | 杭州华三通信技术有限公司 | 一种组播业务实现方法及其设备 |
CN104521195A (zh) * | 2012-08-15 | 2015-04-15 | 华为技术有限公司 | 在通信网络中创建软件定义有序业务模式的方法和系统 |
CN105337881A (zh) * | 2014-06-27 | 2016-02-17 | 华为技术有限公司 | 一种数据报文的处理方法、业务节点以及引流点 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801021B1 (en) * | 2002-07-01 | 2010-09-21 | Cisco Technology, Inc. | Generic routing encapsulation tunnel keepalives |
JP4093125B2 (ja) | 2003-06-17 | 2008-06-04 | 株式会社日立製作所 | Mpls経路管理システム |
JP4947430B2 (ja) * | 2005-08-18 | 2012-06-06 | 日本電気株式会社 | 無線マルチホップネットワークにおける通信経路制御方法および通信端末 |
US8526331B2 (en) * | 2008-05-23 | 2013-09-03 | Telefonaktiebolaget L M Ericsson (Publ) | Maintaining distributed hash tables in an overlay network |
CN101695053B (zh) * | 2009-09-30 | 2012-05-23 | 清华大学 | 一种改善域内路由ospf算法的ip快速重路由方法 |
US8458344B2 (en) * | 2011-05-05 | 2013-06-04 | Blue Coat Systems, Inc. | Establishing tunnels between selective endpoint devices along communication paths |
US20130022041A1 (en) | 2011-07-18 | 2013-01-24 | Sriganesh Kini | Signaling a label switched path (lsp) tunneling model |
US9769116B2 (en) * | 2011-09-16 | 2017-09-19 | Wilmerding Communications Llc | Encapsulating traffic while preserving packet characteristics |
US9338050B2 (en) * | 2012-03-27 | 2016-05-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Shared keep-alive and failure detection mechanism in distributed network |
EP2853066B1 (en) * | 2012-05-23 | 2017-02-22 | Brocade Communications Systems, Inc. | Layer-3 overlay gateways |
US9872321B2 (en) * | 2012-10-09 | 2018-01-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for establishing and using PDN connections |
US9036639B2 (en) * | 2012-11-29 | 2015-05-19 | Futurewei Technologies, Inc. | System and method for VXLAN inter-domain communications |
US9621460B2 (en) * | 2013-01-14 | 2017-04-11 | Versa Networks, Inc. | Connecting multiple customer sites over a wide area network using an overlay network |
CN104348759B (zh) * | 2013-07-23 | 2019-04-02 | 中兴通讯股份有限公司 | Gre报文的封装方法、解封装方法及对应的装置 |
US9548873B2 (en) * | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
-
2016
- 2016-11-18 CN CN201611034213.1A patent/CN108075991B/zh active Active
-
2017
- 2017-11-17 JP JP2019526218A patent/JP6812549B2/ja active Active
- 2017-11-17 WO PCT/CN2017/111667 patent/WO2018090980A1/zh unknown
- 2017-11-17 EP EP17871799.7A patent/EP3528438B1/en active Active
- 2017-11-17 US US16/462,402 patent/US10880122B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120099602A1 (en) * | 2010-10-25 | 2012-04-26 | Brocade Communications Systems, Inc. | End-to-end virtualization |
CN102739521A (zh) * | 2012-06-04 | 2012-10-17 | 杭州华三通信技术有限公司 | 一种组播业务实现方法及其设备 |
CN104521195A (zh) * | 2012-08-15 | 2015-04-15 | 华为技术有限公司 | 在通信网络中创建软件定义有序业务模式的方法和系统 |
CN105337881A (zh) * | 2014-06-27 | 2016-02-17 | 华为技术有限公司 | 一种数据报文的处理方法、业务节点以及引流点 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3528438A4 * |
Also Published As
Publication number | Publication date |
---|---|
EP3528438B1 (en) | 2021-08-11 |
JP6812549B2 (ja) | 2021-01-13 |
EP3528438A1 (en) | 2019-08-21 |
CN108075991A (zh) | 2018-05-25 |
JP2019536364A (ja) | 2019-12-12 |
US20190305987A1 (en) | 2019-10-03 |
CN108075991B (zh) | 2020-09-08 |
US10880122B2 (en) | 2020-12-29 |
EP3528438A4 (en) | 2019-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10439843B2 (en) | Method and system for virtual and physical network integration | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
WO2018090980A1 (zh) | 报文转发 | |
US8472438B2 (en) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network | |
CN105591982B (zh) | 一种报文传输的方法和装置 | |
US8351352B1 (en) | Methods and apparatus for RBridge hop-by-hop compression and frame aggregation | |
US9294302B2 (en) | Non-fragmented IP packet tunneling in a network | |
WO2017113306A1 (zh) | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 | |
CN108632145B (zh) | 一种报文转发方法和叶子节点设备 | |
WO2017054576A1 (zh) | 单播隧道建立方法、装置和系统 | |
AU2011244044A1 (en) | Efficient encapsulation of packets transmitted on a packet-pseudowire over a Packet Switched Network | |
WO2016131422A1 (en) | Flow entry generating and packet processing based on flow entry | |
WO2018024187A1 (zh) | 报文监控 | |
CN107547338B (zh) | 一种报文转发方法及装置 | |
WO2018219319A1 (zh) | 报文转发 | |
US20160112371A1 (en) | Ip address allocation system and method | |
WO2018219326A1 (zh) | 报文转发 | |
WO2021088813A1 (zh) | 报文封装方法及装置、报文解封装方法及装置 | |
JP2022516355A (ja) | データ送信方法及び機器 | |
WO2018019146A1 (zh) | 设备探测 | |
WO2017219868A1 (zh) | Arp条目的处理方法及装置 | |
TWI793904B (zh) | 為本地服務進行訊務轉址的行動邊緣運算裝置和方法 | |
US9998376B2 (en) | Control device, communication system, control method, and non-transitory recording medium | |
WO2015137977A1 (en) | A switching fabric including a virtual switch | |
CN113794616B (zh) | 一种报文转发方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17871799 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019526218 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017871799 Country of ref document: EP Effective date: 20190517 |