CN115396369A - 一种报文处理的方法、系统和网络设备 - Google Patents

一种报文处理的方法、系统和网络设备 Download PDF

Info

Publication number
CN115396369A
CN115396369A CN202110770871.1A CN202110770871A CN115396369A CN 115396369 A CN115396369 A CN 115396369A CN 202110770871 A CN202110770871 A CN 202110770871A CN 115396369 A CN115396369 A CN 115396369A
Authority
CN
China
Prior art keywords
tunnel
message
packet
network device
identifier
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
CN202110770871.1A
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
Priority to PCT/CN2022/094363 priority Critical patent/WO2022242775A1/zh
Priority to EP22804094.5A priority patent/EP4333397A1/en
Publication of CN115396369A publication Critical patent/CN115396369A/zh
Priority to US18/512,350 priority patent/US20240089198A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种报文处理的方法、系统和网络设备,属于网络技术领域。第一网络设备通过第一隧道向第二网络设备发送第一报文,并通过第二隧道向第三网络设备发送第二报文。所述第二网络设备将所述第一报文通过第三隧道转发给所述第三网络设备。所述第三网络设备处理所述第一报文和所述第二报文。其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。可以在多网关场景中实施广域网多路径传输。

Description

一种报文处理的方法、系统和网络设备
本申请要求于2021年05月21日提交的申请号为202110559629.X、发明名称为“数据传输方法、设备和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络技术领域,特别涉及一种报文处理的方法、系统和网络设备。
背景技术
园区网络互通时,可能会采用双网关方案。双网关方案可以提高网络连接的可靠性。例如,企业总部的园区网络有两个网关,例如,主网关和备网关,连接企业的其他分支的园区网络。主网关转发总部的园区网络和分支的园区网络之间互通的数据流。当主网关故障时,备网关转发总部的园区网络和分部的园区网络之间互通的数据流。
园区网通过主网关或备网关连接到广域网,则园区网间通过广域网单路径传输数据。
发明内容
本申请提供了一种报文处理的方法、系统和网络设备,可以在多网关场景中实施广域网多路径传输。
第一方面,提供了一种报文处理系统。所述系统包括第一网络设备,第二网络设备和第三网络设备。
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。例如,第一网络设备位于一个企业的一个分支,第二网络设备和第三网络设备位于该企业的总部。该企业的分支和该企业的总部通过广域网连接。
其中,所述第一网络设备用于通过第一隧道向所述第二网络设备发送第一报文,并通过第二隧道向所述第三网络设备发送第二报文。
其中,所述第二网络设备用于将所述第一报文通过第三隧道转发给所述第三网络设备。
其中,所述第三网络设备用于处理所述第一报文和所述第二报文。
第三网络设备可以接收到第一网络设备通过多条路径发送的同一数据流的报文。因此,第三网络设备可以处理第一网络设备通过多条路径发送的报文。即,该报文处理系统实现了在多网关场景中实施广域网多路径传输。
根据第一方面,在第一方面的第一种可能的实现方式中,所述第一网络设备用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。所述第二网络设备,用于根据所述第一序列号,为属于所述第三隧道的携带所述第一报文的隧道报文添加所述第一序列号。所述第三网络设备,用于根据所述第一序列号和所述第二序列号处理所述第一报文和所述第二报文。
例如,第一网络设备为第一报文添加隧道头以获得第一隧道报文,并在该隧道头中设置序列号。第一网络设备为第二报文添加隧道头以获得第二隧道报文,并在该隧道头中设置序列号。第二网络设备在接收到第一隧道报文时,将第一隧道报文的隧道头替换为新的隧道头以获得第三隧道报文,并拷贝该第一隧道报文的隧道头中的序列号至第三隧道报文的隧道头。第三网络设备接收到第一隧道报文和第三隧道报文时,可以根据第一隧道报文的隧道头包括的序列号和第三隧道报文的隧道头包括的序列号处理第一隧道报文包括的第一报文和第三隧道报文包括的第三报文。例如,第三网络设备按照序列号递增的顺序发送第一报文和第二报文给第二站点。
第一网络设备在隧道报文中添加了序列号,且第二网络设备在转发接收到的报文时拷贝序列号,使得第三网络设备可以根据序列号处理接收到的报文。该报文处理系统不仅可以使得在多网关场景中实施广域网多路径传输,还能保证按需发送报文给目的站点,避免了广域网多路径传输可能带来的乱序问题。
根据第一方面,或,第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识。所述第二网络设备,用于根据所述流标识为属于所述第三隧道的携带所述第一报文的隧道报文添加所述流标识。其中,所述流标识用于标识所述第一报文和所述第二报文所属的数据流。
例如,第一网络设备可以基于流标识区分不同的数据流。第一网络设备在第一数据流的隧道报文中添加第一流标识,在第二数据流的隧道报文中添加第二流标识。第二网络设备在接收到第一网络设备发送的隧道报文后,替换隧道报文的隧道头以获得新的隧道报文,并拷贝隧道报文中的流标识至新的隧道报文中。第三网络接收到第一网络设备发送的隧道报文和第二网络设备发送的隧道报文后,可以基于第一流标识和第二流标识区分第一数据流和第二数据流。第一网络设备可以为不同数据流的隧道报文设置相同的序列号,第三网络设备可以根据流标识将拥有相同序列号的报文归属于不同的数据流。
第一网络设备在隧道报文中添加了流标识,且第二网络设备在转发接收到的报文时拷贝流标识,使得第三网络设备可以根据流标识处理接收到的报文。该报文处理系统可以基于流标识区分数据流。
根据第一方面,或,第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括主标识。所述主标识用于指示所述第三网络设备处理所述第二报文。
根据第一方面,或,第一方面的第一至第三种可能的实现方式的任一种,在第一方面的第四种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述转发标识用于指示所述第二网络设备转发所述第一报文。
主标识用于指示接收包括该主标识的隧道报文的网络设备处理包括该主标识的隧道报文。例如,发送该隧道报文包括的报文给目的站点。或者,基于该隧道报文执行多路径优化技术后再发送报文给目的站点。
转发标识用于指示接收包括该转发标识的隧道报文的网络设备转发包括该转发标识的隧道报文。即,该网络设备不会直接发送该隧道报文包括的报文给目的站点,也不会基于该隧道报文执行多路径优化技术。
第一网络设备可以为不同数据流的报文设置不同的主标识和转发标识。例如,第一网络设备为属于第一隧道的携带第一数据流的某些报文设置主标识,为属于第二隧道的携带第一数据流的其他报文设置转发标识。第一网络设备为属于第一隧道的携带第二数据流的某些报文设置转发标识,为属于第二隧道的携带第二数据流的其他报文设置主标识。因此,第二网络设备将转发第一数据流的报文给第三网络设备,第三网络设备将转发第二数据流的报文给第二网络设备。第二网络设备将处理第二数据流的报文。第三网络设备将处理第一数据流的报文。
第一网络设备还可以为不同时段的数据流报文设置不同的主标识和转发标识。例如,第一网络设备为属于第一隧道的携带第一时段的部分报文设置主标识,为属于第二隧道的携带第一时段的其他报文设置转发标识。第一网络设备为属于第一隧道的携带第二时段的部分报文设置转发标识,为属于第二隧道的携带第二时段的其他报文设置主标识。因此,在第一时段,第二网络设备将转发报文给第三网络设备,第三网络设备负责处理报文。在第二时段,第三网络设备将转发报文给第二网络设备,第三网络设备负责处理报文。
第一网络设备在隧道报文中设置主标识或转发标识,使得第二网络设备和第三网络设备可以根据隧道报文包括的标识来选择转发报文或处理报文。该报文转发系统不仅可以均衡第二网络设备和第三网络设备的处理负荷,还可以在第二网络设备与第二站点的传输路径,和,第三网络设备与第二站点的传输路径上分摊流量,防止第二网络设备或者第三网络设备到第二站点的出口出现带宽瓶颈。
根据第一方面,或以上第一方面的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识。所述第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错(forward error correction,FEC)。
例如,第一网络设备在发送给第三网络设备的第一数据流的隧道报文中设置优化技术标识为负载分担,在发送给第三网络设备的第二数据流的隧道报文中设置优化技术标识为多发选收。则,第三网络设备发送第一数据流的报文给第二站点,第三网络设备在发送第二数据流的报文给第二站点时去除重复的报文。
第一网络设备在隧道报文中设置优化技术标识,使得第三网络设备可以根据优化技术标识执行相应的多路径优化技术。该报文转发系统提升了实施不同的广域网多路径优化技术的灵活性。
根据第一方面,或以上第一方面的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第三网络设备用于通过第四隧道向所述第二网络设备发送第三报文,并通过第五隧道向所述第一网络设备发送第四报文。所述第二网络设备,用于将所述第三报文通过第六隧道转发给所述第一网络设备。所述第一网络设备,用于处理所述第三报文和所述第四报文。
即,当第二站点向第一站点发送报文时,也可以执行多路径优化技术。该报文处理系统可以实现在多网关场景中实施双向的广域网多路径优化技术。
第二方面,提供了一种报文处理方法。所述方法包括:第一网络设备通过第一隧道向第二网络设备发送第一报文,并通过第二隧道向第三网络设备发送第二报文。
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。
根据第二方面,在第二方面的第一种可能的实现方式中,所述第一网络设备为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。
根据第二方面,或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识。属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识。其中,所述流标识用于标识所述第一报文和所述第二报文所属的数据流。
根据第二方面,或,第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括主标识。其中,所述主标识用于指示所述第三网络设备处理所述第二报文。
根据第二方面,或,第二方面的第一至第三种可能的实现方式的任一种,在第二方面的第四种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。其中,所述转发标识用于指示所述第二网络设备转发所述第一报文。
根据第二方面,或,以上第二方面的任一种可能的实现方式,在第二方面的第五种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识。所述优化技术标识用于指示所述第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
第三方面,提供一种报文处理方法。所述方法包括:第一网络设备接收第二网络设备通过第一隧道发送的第一报文,并将所述第一报文通过第二隧道转发给第三网络设备。
其中,所述第一网络设备和所述第三网络设备位于第一站点,所述第二网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。
根据第三方面,在第三方面的第一种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括序列号。所述第一网络设备根据所述序列号,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述序列号。
根据第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识。所述第一网络设备根据所述流标识,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述流标识。
根据第三方面,或第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述第一网络设备根据所述转发标识转发所述第一报文。
根据第三方面,或以上第三方面的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一网络设备接收所述第二网络设备通过第一隧道发送的第二报文。
根据第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,属于所述第一隧道的携带所述第二报文的隧道报文包括主标识。所述第一网络设备根据所述主标识处理所述第二报文。
根据第三方面的第四种或第五种可能的实现方式,在第三方面的第六种可能的实现方式中,属于所述第一隧道的携带所述第二报文的隧道报文包括优化技术标识。所述第一网络设备根据所述优化技术标识指示的优化技术处理所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
根据第三方面,或以上第三方面的任一种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第一网络设备接收所述第三网络设备通过第三隧道发送的第三报文,并通过第四隧道将所述第三报文转发给所述第二网络设备。
第四方面,提供一种第一网络设备。所述第一网络设备包括获取模块和发送模块。
其中,所述获取模块用于获取多个报文。所述多个报文包括第一报文和第二报文;
其中,所述发送模块用于通过第一隧道向第二网络设备发送所述第一报文,并通过第二隧道向第三网络设备发送所述第二报文。
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。
根据第四方面,在第四方面的第一种可能的实现方式中,所述发送模块还用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。
根据第四方面,或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识。其中,所述流标识用于标识所述第一报文和所述第二报文所属的数据流。
根据第四方面,或,第四方面的第一种或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括主标识。所述主标识用于指示所述第三网络设备处理所述第二报文。
根据第四方面,或以上第四方面的任一种可能的实现方式,在第四方面的第四种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述转发标识用于指示所述第二网络设备转发所述第一报文。
根据第四方面,或以上第四方面的任一种可能的实现方式,在第四方面的第五种可能的实现方式中,属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识。所述优化技术标识用于指示第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
第五方面,提供一种第二网络设备。所述第二网络设备包括接收模块和发送模块。
其中,所述接收模块用于接收第一网络设备通过第一隧道发送的第一报文。
其中,所述发送模块用于通过第二隧道将所述第一报文转发给第三网络设备。
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点。所述第一站点和所述第二站点通过广域网连接。
根据第五方面,在第五方面的第一种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括序列号。所述发送模块还用于根据所述序列号,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述序列号。
根据第五方面,或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识。所述发送模块还用于根据所述流标识,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述流标识。
根据第五方面,或,第五方面的第一种或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述发送模块用于根据所述转发标识转发所述第一报文。
根据第五方面,或以上第五方面的任一种可能的实现方式,在第五方面的第四种可能的实现方式中,所述第二网络设备还包括处理模块。
其中,所述接收模块还用于接收所述第一网络设备通过第一隧道发送的第二报文。
其中,所述处理模块用于处理所述第二报文。
根据第五方面的第四种可能的实现方式,在第五方面的第五种可能的实现方式中,属于所述第一隧道的携带所述第二报文的隧道报文包括主标识。所述处理模块还用于根据所述主标识处理所述第二报文。
根据第五方面的第四种或第五种可能的实现方式,在第五方面的第六种可能的实现方式中,属于所述第一隧道的携带所述第二报文的隧道报文包括优化技术标识。所述处理模块用于根据所述优化技术标识指示的优化技术处理所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
根据第五方面,或以上第五方面的任一种可能的实现方式,在第五方面的第七种可能的实现方式中,所述接收模块还用于接收所述第三网络设备通过第三隧道发送的第三报文。所述发送模块还用于通过第四隧道将所述第三报文转发给所述第一网络设备。
第六方面,提供一种网络设备。所述网络设备包括处理器和存储器。所述存储器中存储有程序。所述处理器用于执行所述存储器中存储的程序以实现以上第二方面或第二方面的任一种可能的实现方式所述的报文处理方法,或者,以上第三方面或第三方面的任一种可能的实现方式所述的报文处理方法。
第七方面,提供一种计算机可读存储介质。所述计算机可读存储介质内存储有计算机程序。所述计算机程序被处理器执行时实现以上第二方面或第二方面的任一种可能的实现方式所述的报文处理方法,或者,以上第三方面或第三方面的任一种可能的实现方式所述的报文处理方法。
附图说明
图1是本申请实施例涉及的一种实施环境示意图;
图2是本申请实施例提供的一种在双网关场景中实施负载分担的方案示意图;
图3是本申请实施例提供的一种在双网关场景中实施多发选收的方案示意图;
图4是本申请实施例提供的一种在双网关场景中实施多路径FEC的方案示意图;
图5是本申请实施例提供的一种报文处理方法的流程图;
图6是本申请实施例涉及的一种隧道报文格式示意图;
图7是本申请实施例提供的一种隧道报头格式示意图;
图8是本申请实施例提供的另一种隧道报头格式示意图;
图9是本申请实施例提供的另一种隧道报头格式示意图;
图10是本申请实施例涉及的一种TLV格式示意图;
图11是本申请实施例提供的另一种在双网关场景中实施负载分担的方案示意图;
图12是本申请实施例提供的另一种在双网关场景中实施多发选收的方案示意图;
图13是本申请实施例提供的另一种在双网关场景中实施多路径FEC的方案示意图;
图14是本申请实施例提供的一种网络设备的逻辑结构示意图;
图15是本申请实施例提供的另一种网络设备的逻辑结构示意图;
图16是本申请实施例提供的一种网络设备的硬件结构示意图;
图17是本申请实施例提供的一种报文处理系统示意图;
具体实施方式
为使本申请的原理、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请实施例涉及的一种实施环境的示意图。如图1所示,该实施环境包括通信网络100。通信网络100包括多个站点。例如,通信网络100包括站点110和站点120。站点可以应用于多种场景。例如,站点可以是企业的办公网络。相应地,站点110可以是某个企业的总部的园区网络,站点120可以是该企业的一个分支的园区网络。又例如,站点可以是工业场景中的生产网络。例如,站点110是工业场景中的中控室网络,站点120是工业场景中的终端网络。例如,该中控室包括可编程逻辑控制器(programmable logiccontroller,PLC)和/或服务器。例如,该终端包括摄像头和/或激光测距设备。又例如,站点可以是校园网。相应地,站点110可以是一个学校的总部的校园网,站点120可以是该学校的一个分支的校园网。站点110和站点120通过广域网130互通。广域网130可以是多种类型的网络。例如,广域网130是因特网协议(Internet Protocol,IP)/多协议标签交换(multi-protocol label switch,MPLS)网络。或者,广域网130还可以包括第五代宽带蜂窝网络技术(the fifth generation of broadband cellular network technology,5G)网络。站点可以通过一个或多个网关设备接入广域网。例如,站点110通过网关设备140和网关设备150接入广域网130。站点120通过网关设备160接入广域网130。网关设备可以是多种类型的设备,例如,路由器、交换机。
当站点120需要发送报文给站点110时,网关设备160接收该报文,并通过隧道将该报文发送给网关设备140。该隧道可以是多种类型的隧道。例如,该隧道可以是通用路由封装(generic routing encapsulation,GRE)隧道,或者,该隧道还可以是IP in IP隧道。网关设备140接收到隧道报文后,去掉隧道报头并发送负荷给站点110。
站点通过多个网关设备接入广域网,可以提升该站点连接的可靠性。例如,若网关设备140发生故障,站点110还可以通过网关设备150接入广域网。此时,网关设备160通过隧道将该报文发送给网关设备150。网关设备150接收到隧道报文后,去掉隧道报头并发送负荷给站点110。
站点通过多个网关设备接入广域网,还使得站点间存在多条路径。例如,站点120和站点110间可以存在路径170和路径180。如果网关设备可以在数据流上应用多路径优化技术,那么数据流的传输质量可以得到提升。多路径优化技术包括多种优化技术,例如,负载分担、多发选收、多路径FEC等。负载分担是指发送端通过多条路径发送数据流的报文给接收端,使得该数据流可以使用多条路径的传输资源,以提升数据流的吞吐。多发选收是指发送端将数据流的每个报文拷贝多份,并通过多条路径来发送该多份报文,以尽可能的提升接收端接收到每个报文的概率,降低链路丢包对数据流的影响。多路径FEC是指发送端基于原始报文生成冗余报文,并通过多条路径发送原始报文和冗余报文。当链路有丢包或错误时,接收端可基于部分原始报文和部分冗余报文恢复已丢失的或已发生错误的原始报文。其中,发送端执行的操作称为FEC编码,接收端执行的操作称为FEC解码。如果数据发送方将多个数据报文分散发送给多个网关,那么多个网关可能都只接收到分散的数据,没有一个网关可以获得完整的多个数据报文并实施多路径优化技术。
本申请实施例提供的技术方案,可以在多网关场景中实施广域网多路径优化技术,提升数据流的传输质量。所述多网关包括两个或两个以上的网关。为描述方便,下文以所述多网关为两个网关为例说明本申请实施例提供的技术方案。以下将两个网关中处理报文的称为主网关,转发报文给主网关的称为辅助网关。例如,请参见图2,主网关可以是网关设备140,辅助网关可以是网关设备150。如果有两个以上的网关,其中一个是主网关,其他的为辅助网关。
源站点(例如,站点120)通过广域网发送报文给目的站点(例如,站点110)。目的站点通过多个网关连接到广域网。例如,站点110通过网关设备140和网关设备150连接到广域网。为实施多路径优化技术,发送报文的网络设备将多个报文中的某些报文发送给主网关,将多个报文中的其他报文发送给辅助网关,以使得该多个报文经过不同的路径传输。为使得报文到达目的站点的不同网关,该网络设备和辅助网关建立隧道A,该网络设备和主网关建立隧道B。该网络设备通过隧道B发送某些报文给主网关,通过隧道A发送其他报文给辅助网关。辅助网关通过隧道A接收到报文后,通过隧道C将报文转发给主网关。因此,主网关可以接收到发送报文的网络设备通过多条路径发送的报文。主网关可以基于发送报文的网络设备采用的多路径优化技术处理接收到的报文。主网关处理接收到的报文包括主网关发送接收到的报文给目的站点。例如,若发送报文的网络设备执行负载分担,则主网关将接收到的报文发送给目的站点。又例如,若发送报文的网络设备执行多发选收,则主网关在发送报文给目的站点时去掉重复的报文。又例如,若发送报文的网络设备执行FEC编码,则主网关基于接收到的报文执行FEC解码,并将恢复出的原始报文发送给目的站点。因此,本申请实施例提供的技术方案,可以在多网关场景中实施广域网多路径优化技术,提升数据流的传输质量。
该发送报文的网络设备可以是服务器、主机、路由器、交换机等。例如,源站点的网关设备是一台路由器,该路由器接收源站点内的服务器发送到目的站点的报文,并为报文选择目的站点的不同网关设备。又例如,若源站点内的某台服务器可以直接和目的站点的不同网关设备建立隧道并发送报文,则该发送报文的网络设备可以是该服务器。下文以该网络设备为源站点的网关为例说明本申请实施例提供的技术方案。
本申请实施例提供的技术方案可以在多网关场景中实施多种广域网优化技术。下文以负载分担、多发选收和多路径FEC为例说明本申请实施例提供的技术方案。图2示出了在双网关场景中实施负载分担的技术方案。图3示出了在双网关场景中实施多发选收的技术方案。图4示出了在双网关场景中实施多路径FEC的技术方案。
请参考图2,其示出了在双网关场景中实施负载分担的技术方案。网关设备160从站点120接收4个报文。网关设备160通过隧道A发送第1个和第3个报文给网关设备150。网关设备160通过隧道B发送第2个和第4个报文给网关设备140。隧道A和隧道B基于不同的传输路径传输报文。例如,隧道A通过图2所示的路径180传输报文,隧道B通过图2所示的路径170传输报文。网关设备150接收到第1个和第3个报文时,通过隧道C转发第1个和第3个报文给网关设备140。网关设备140接收到隧道报文后,删除隧道头,发送原始报文给站点110。图2中所示A、B、C分别代表隧道A、隧道B和隧道C的隧道头。以下将隧道A的隧道头简称为隧道头A,将隧道B的隧道头简称为隧道头B,将隧道C的隧道头简称为隧道头C。因为网关设备160通过两条路径发送4个报文,且网关设备150转发了接收到的2个报文给网关设备140,所以网关设备140可以接收到网关设备160通过两条路径发送的报文,且将报文发送给目的站点。因此,该方案实现了在双网关场景中实施负载分担,使得数据流可以充分利用多条路径的传输能力,提升数据流的传输质量。
请参考图3,其示出了在双网关场景中实施多发选收的技术方案。网关设备160从站点120接收4个报文。网关设备160为每个报文拷贝一份报文。网关设备160通过隧道A发送4个拷贝报文给网关设备150。网关设备160通过隧道B发送4个原始报文给网关设备140。隧道A和隧道B基于不同的传输路径传输报文。例如,隧道A基于路径180传输报文,隧道B基于路径170传输报文。因为传输路径有可能存在丢包,所以网关设备140有可能仅接收到第1个、第2个和第3个原始报文,网关设备150有可能仅接收到第2个、第3个和第4个拷贝报文。网关设备150通过隧道C转发第2个、第3个和第4个拷贝报文给网关设备140。网关设备140接收到3个原始报文和3个拷贝报文。其中,网关设备收到2份第2个报文和2份第3个报文。网关设备140删除重复的报文,将不重复的第1个、第2个、第3个和第4个原始报文发送给站点110。图3中所示A、B、C分别代表隧道头A、隧道头B和隧道头C。该方案实现了在双网关场景中实施多发选收,可以抵抗传输链路中可能存在的丢包,提升数据流的传输质量。
请参考图4,其示出了在双网关场景中实施多路径FEC的技术方案。网关设备160从站点120接收4个报文。网关设备160基于该4个报文进行FEC编码生成2个冗余报文。网关设备160通过隧道A发送2个冗余报文给网关设备150。网关设备160通过隧道B发送4个原始报文给网关设备140。隧道A和隧道B基于不同的传输路径传输报文。例如,隧道A基于路径180传输报文,隧道B基于路径170传输报文。因为传输路径有可能存在丢包或者链路错误,所以网关设备140有可能仅接收到正确的第1个、第2个和第3个原始报文。网关设备150有可能接收到2个冗余报文。网关设备150通过隧道C转发2个冗余报文给网关设备140。网关设备140接收到3个正确的原始报文和2个冗余报文。网关设备140基于接收到的报文执行FEC解码以恢复第4个原始报文,并发送4个原始报文发送给站点110。图4中所示A、B、C分别代表隧道头A、隧道头B和隧道头C。该方案实现了在双网关场景中实施多路径FEC,可以抵抗传输链路中可能存在的丢包和链路错误,提升数据流的传输质量。
详细的执行步骤请参考图5。请参考图5,其示出了本申请实施例提供的一种报文处理的方法的流程图,包括如下步骤:
步骤501、第一网络设备通过第一隧道发送数据流的部分报文给第二网络设备,通过第二隧道发送数据流的其他报文给第三网络设备。
第一网络设备位于第一站点,第二网络和第三网络设备位于第二站点。第一站点和第二站点通过广域网连接。例如,请参考图2,第一站点可以是站点110,第二站点可以是站点120,站点110和站点120通过广域网130连接。第一网络设备可以是网关设备160。第二网络设备可以是网关设备150。第三网络设备可以是网关设备140。其中,网关设备140可以是主网关,网关设备150可以是辅助网关。第一隧道可以是隧道A。第二隧道可以是隧道B。图2所示的A和B分别代表隧道头A和隧道头B。隧道A和隧道B基于不同的传输路径传输报文。例如,隧道A基于路径180传输报文,隧道B基于路径170传输报文。网关设备160基于隧道A通过广域网和网关设备150通信。网关设备160基于隧道B通过广域网和网关设备140通信。
隧道A或隧道B可以是多种类型的隧道。例如,隧道A或隧道B是GRE隧道。或者,隧道A或隧道B是IP in IP隧道。隧道A和隧道B可以相同,也可以不相同。例如,隧道A和隧道B均是GRE隧道。或者,隧道A是GRE隧道,隧道B是IP in IP隧道。
数据流可以是一条业务流。例如,该数据流的报文均拥有相同的五元组。五元组包括源IP地址、目的IP地址、源端口、目的端口以及协议号。数据流也可以包括多条业务流。例如,该数据流的多个报文分别拥有不同的五元组,每个五元组对应于一条业务流。数据流的报文可以是多种类型的报文。例如,IP报文,以太网报文。
网关设备160可以基于多种方式获得数据流的报文。例如,站点120发送多个报文给网关设备160。网关设备160接收该多个报文以获得多个报文。又例如,网关设备160还可以调整接收到的多个报文的顺序以获得多个原始报文。例如,若网关设备160接收的报文携带序列号,网关设备160通过该序列号发现接收到的多个报文乱序时,网关设备160可以基于序列号调整该多个报文的顺序。调整顺序后的多个报文为网关设备160获得的多个原始报文。又例如,网关设备160还可以根据接收到的报文的特定字段调整接收到的报文的顺序。例如,若网关设备160接收的报文是IP报文,且IP报文设置了IP报头中的差分服务码点(differentiated services code point,DSCP)字段,则网关设备160可以根据DSCP字段的值调整接收的多个报文的顺序。例如,网关设备160基于DSCP值判断报文的优先级,并根据报文的优先级调整报文的顺序以优先发送高优先级的报文。
当网关设备160执行负载分担时,网关设备160可将上述获得的多个报文中的部分报文通过隧道A发送给网关设备150,将上述获得的多个报文中的其他报文通过隧道B发送给网关设备140。
当网关设备160执行其他多路径优化技术时,网关设备160还可以基于上述获得的多个报文执行优化技术以获得待发送的报文。例如,若网关设备160执行多路径FEC,则网关设备160基于上述获得的多个原始报文生成冗余报文,并通过多路径发送原始报文和冗余报文。例如,网关设备160通过隧道A将冗余报文发送给网关设备150,通过隧道B将原始报文发送给网关设备140。又例如,若网关设备160执行多发选收,则网关设备160可将每个接收到的原始报文拷贝一份以获得双倍数量的报文,并通过多路径发送原始报文和拷贝报文。例如,网关设备160通过隧道A将拷贝报文发送给网关设备150,网关设备160通过隧道B将原始报文发送给网关设备140。
为将待发送的报文中的某些报文发送给网关设备150,网关设备160给这些报文中的每个报文增加隧道A的隧道头以获得多个隧道A的隧道报文。第一网络设备在隧道A的隧道头中设置目的地址为网关设备150的地址,以将隧道A的隧道报文发送给网关设备150。
为将待发送的多个报文中的其他报文发送给网关设备140,网关设备160给该其他报文中的每个报文增加隧道B的隧道头以获得多个隧道B的隧道报文。网关设备160在隧道B的隧道头中设置目的地址为网关设备140的地址,以将隧道A的隧道报文发送给第三网络设备。
待发送的报文是隧道报文的内层报文。隧道报文包括内层报文和外层隧道头。隧道头A和隧道头B可以相同。例如,当隧道A和隧道B均是IP in IP隧道时,隧道头A和隧道头B均包括外层IP报头。又例如,当隧道A是IP in IP隧道,隧道B是GRE隧道时,隧道头A包括外层IP报文,隧道头B还包括GRE报头。
隧道报文可以包括序列号。当隧道报文包括序列号时,网关设备160可以在隧道头中添加序列号。
隧道报文还可以包括流标识。当隧道报文包括流标识时,网关设备160可以在隧道头中添加流标识。网关设备140可以基于流标识区分数据流。当隧道报文不包括流标识时,网关设备可以基于报文的其他字段区分数据流。例如,网关设备基于内层报文的元组区分数据流。
隧道报文还可以包括优化技术标识。优化技术标识用于指示网关设备160针对隧道报文包括的内层报文采用的优化技术。当隧道报文包括优化技术标识时,网关设备160可以在隧道头中添加优化技术标识。网关设备140可以根据隧道头中的优化技术标识区分优化技术,以执行相应的优化技术。当隧道报文不包括优化技术标识时,网关设备也可以基于默认的配置执行相应的优化技术。例如,网关设备160和网关设备140在第一时段执行负载分担,在第二时段执行多发选收。又例如,网关设备160和网关设备140为第一数据流执行负载分担,为第二数据流执行多发选收。
隧道报文还可以包括主标识/转发标识。转发标识用于指示接收包括转发标识的隧道报文的网关设备转发该隧道报文。主标识用于指示接收包括主标识的隧道报文的网关设备处理该隧道报文。当隧道报文包括主标识/转发标识时,网关设备160可以在隧道头中添加主标识/转发标识。例如,网关设备160在第一数据流的隧道A的隧道头中添加转发标识,在第一数据流的隧道B的隧道头中添加主标识。网关设备160在第二数据流的隧道A的隧道头中添加主标识,在第二数据流的隧道B的隧道头中添加转发标识。则,网关设备140转发接收到的第二数据流的报文给网关设备150,网关设备150转发接收到的第一数据流的报文给网关设备140。网关设备140负责处理第一数据流的报文,网关设备负责处理第二数据流的报文。隧道报文包括主标识/转发标识不仅可以均衡网关设备150和网关设备140的处理负荷,还可以在网关设备140与站点110的传输路径,和,网关设备150与站点110的传输路径上分摊流量,防止网关设备140或者网关设备150到站点120的出口出现带宽瓶颈。当多个网关包括两个以上的网关时,针对一个数据流,发送隧道报文的网关设备在发给一个网关的隧道报文中添加主标识,在发给其他网关的隧道报文中添加转发标识。当隧道报文不包括主标识/转发标识时,接收隧道报文的网关还可以基于配置执行处理/转发操作。例如,若多个网关包括网关A、网关B、网关C,则在第一时段,网关A可以执行处理操作,网关B和网关C处理转发操作。又例如,网关A为第一数据流执行处理操作,网关B为第二数据流执行处理操作,网关C为第三数据流执行处理操作。
步骤502、第二网络设备通过第一隧道接收报文,并通过第三隧道将该报文转发给第三网络设备。
请参考图2,第一网络设备可以是网关设备160,第二网络设备可以是网关设备150,第三网络设备可以是网关设备140,第一隧道可以是隧道A,第三隧道可以是隧道C。图2所示的A和C分别代表隧道A和隧道C的隧道头。网关设备150接收网关设备160通过隧道A发送的报文,将隧道报文中的隧道头A替换为隧道头C以获得隧道C的隧道报文。网关设备150设置该隧道C的隧道报文的目的地址为网关设备140的地址,以将该隧道报文发送给网关设备140。
若隧道头A包括可选字段,则网络设备150根据隧道头A包括的可选字段设置隧道头C的可选字段。例如,若隧道头A包括序列号,则隧道头C也包括序列号,且隧道头C包括的序列号和对应的隧道头A包括的序列号相同。当隧道头A报文包括序列号时,网关设备150将隧道头A包括的序列号拷贝到隧道头C中。又例如,若隧道头A包括流标识,则隧道头C也包括流标识,且隧道头C包括的流标识和对应的隧道头A包括的流标识相同。当隧道头A包括流标识时,网关设备150将隧道头A包括的流标识拷贝到隧道头C中。又例如,若隧道头A包括优化技术标识,则隧道头C也可以包括优化技术标识。网关设备150拷贝隧道头A包括的优化技术标识到对应的隧道头C。又例如,若隧道头A包括主标识/转发标识时,该值为第二值,表示接收该隧道报文的网关设备150应该转发该隧道报文包括的报文给网关设备140。则,隧道头C也可以包括主标识/转发标识。此时,网关设备150设置隧道头C包括的主标识/转发标识的值为第一值,指示接收该隧道报文的网关设备140处理该隧道报文。例如,若网关设备160对原始报文执行了负载分担优化技术,则网关设备160设置优化技术标识以指示优化技术是负载分担。网关设备140接收到隧道报文时,将接收到的隧道报文携带的原始报文发送给站点110。又例如,若网关设备160对原始报文执行了多发选收优化技术,则网关设备160设置优化技术标识以指示优化技术是多发选收。网关设备140接收到隧道报文时,删除重复的隧道报文,并将保留的隧道报文携带的原始报文发送给站点110。又例如,若网关设备160对原始报文执行了多路径FEC优化技术,则网关设备160设置优化技术标识以指示优化技术是多路径FEC。网关设备140接收到隧道报文时,若发现原始报文有丢失或发生错误,则网关设备140基于接收到的原始报文和冗余报文执行FEC解码以恢复原始报文,并将恢复出的原始报文发送给站点110。
步骤503、第三网络设备接收第二隧道报文和第三隧道报文,并处理隧道报文包括的内层报文。
请参考图2,第一网络设备可以是网关设备160,第二网络设备可以是网关设备150,第三网络设备可以是网关设备140,第二隧道可以是隧道B,第三隧道可以是隧道C。图2所示的B和C分别代表隧道B和隧道C的隧道头。
网关设备140接收网关设备160发送的隧道B的隧道报文,接收网关设备150发送的隧道C的隧道报文。隧道报文包括隧道头和内层报文。接收到隧道报文后,网关设备140执行与网关设备160相应的优化技术以基于隧道报文包括的内层报文恢复原始报文,并发送原始报文给站点110。例如,若网关设备160执行的是优化技术是负载分担,则隧道报文包括的内层报文就是原始报文。网关设备140可以直接发送隧道报文包括的内层报文给站点110。又例如,若网关设备160执行的优化技术是多发选收,则一个原始报文对应多个内层报文。相应地,网关设备140可能接收到对应于一个原始报文的多个隧道报文。网关设备140删除重复的隧道报文,仅发送保留的隧道报文包括的内层报文给站点110。又例如,若网关设备160执行的优化技术是多路径FEC,则隧道报文包括的内层报文可能是原始报文,也可能是冗余报文。当网关设备140判断原始报文有丢包或错误时,网关设备140基于正确的原始报文和冗余报文执行FEC解码以期恢复所有原始报文,并发送原始报文给站点110。当网关设备140判断原始报文没有丢包或错误时,网关设备140可直接发送原始报文给目的站点。网关设备140还可以基于隧道头包括的序列号选择性的发送原始报文给目的站点。例如,网关设备140接收到的隧道报文有可能会乱序,若优化技术是负载分担,则网关设备140根据隧道头B和隧道头C中的序列号将接收到的报文重排序,按照重排序后的顺序发送原始报文给目的站点。又例如,若优化技术是多发选收,网关设备140有可能会收到序列号重复的隧道报文。因此,网关设备140删除序列号重复的报文,仅发送一份该序列号对应的原始报文给目的站点。网关设备140还可以基于隧道头中的序列号发送未删除的隧道报文包括的原始报文给目的站点。
若隧道头还包括其他字段,则网关设备140结合其他字段选择性的发送原始报文给站点110。例如,若隧道头还包括流标识,则网关设备140根据流标识区分不同的数据流,为每个数据流执行优化技术。例如,若优化技术是负载分担,则网关设备140基于第一数据流的隧道报文携带的序列号发送第一数据流的原始报文给站点110;网关设备140基于第二数据流的隧道报文携带的序列号发送第二数据流的原始报文给站点110。又例如,若隧道头还包括优化技术标识,则网关设备140根据该标识指示的优化技术选择性的发送原始报文给站点110。例如,若优化技术标识指示网关设备160为隧道报文应用的优化技术是负载分担,则网关设备140基于隧道报文包括的序列号发送原始报文给目的站点。当隧道报文不包括序列号时,网关设备140还可以基于内层报文包括的序列号发送报文。又例如,若优化技术标识指示网关设备160为隧道报文应用的优化技术是多发选收,则网关设备140删除序列号重复的隧道报文,针对每个序列号,仅发送一份原始报文给目的站点。当隧道报文不包括序列号时,网关设备140还可以基于内层报文包括的序列号或者其他报文包括的其他字段删除重复的报文。
本申请实施例提供的报文处理方法步骤的先后顺序可以适当调整。例如,第三网络设备于步骤503中接收第二隧道报文可能在步骤502之前发生。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
综上所述,本申请实施例提供的报文处理方法,第一网络设备采用多路径优化技术,根据多个原始报文获得多个优化报文,并将获得的多个优化报文中的某些报文转换为第一隧道报文发送给辅助网关,将多个优化报文中的其他报文转换为第二隧道报文发送给主网关。辅助网关再将接收到第一隧道报文转换为第三隧道报文发送给主网关。主网关基于接收到的第二隧道报文和第三隧道报文执行相应的优化技术,以选择性的发送隧道报文包括的原始报文给目的站点。即,第一网络设备可以基于多条路径传输获得的原始报文,且主网关可以获取到所有接收隧道报文的网关接收到的报文,以执行多路径优化技术。因此,该方法实现了在多网关场景中实施广域网多路径优化技术。
步骤501中,网关设备160可以采用多种方法来决定报文是应该发送到网关设备150还是网关设备140。例如,针对每个待发送的报文,网关设备160在第网关设备150和网关设备140中随机的选择一个作为目的网关,以将该待发送的报文发送给该目的网关。又例如,网关设备150和网关设备140轮流被网关设备160选择为目的网关。例如,网关设备160发送第奇数个报文时,发送该报文给网关设备150,网关设备160发送第偶数个报文时,发送该报文给网关设备140。又例如,网关设备160还可以将待发送的多个报文分组,将一个指定组的报文发送给网关设备150,将另一个指定组的报文发送给网关设备140。例如,网关设备160基于多发选收获得双倍数量的报文时,将该双倍数量的报文中的原始报文发送给网关设备140,将该双倍数量的报文中的拷贝报文发送给网关设备150。例如,网关设备160基于多路径FEC获得新的报文时,将该新的报文中的原始报文发送给网关设备150,将该新的报文中的冗余报文发送给网关设备140。
当隧道头包括序列号时,第一网络设备可以基于第一网络设备获得原始报文的顺序设置原始报文对应的隧道报文的序列号。例如,隧道报文的序列号的取值按照第一网络设备获得该隧道报文对应的原始报文的顺序递增。又例如,隧道报文的序列号的取值按照第一网络设备获得该隧道报文对应的原始报文的顺序递减。下文以隧道报文的序列号按照第一网络设备获得隧道报文对应的原始报文的顺序递增为例说明。
例如,请参见图2,网关设备160执行负载分担优化技术,将获得的4个原始报文发送给网关设备140和网关设备150。其中,网关设备160为获得的4个原始报文中的第1个和第3个添加隧道头A,以获得两个隧道A的隧道报文(以下简称为隧道A报文),并发送这两个隧道报文给网关设备150。其中,网关设备160为获得的4个原始报文中的第2个和第4个添加隧道头B,以获得两个隧道B的隧道报文(以下简称为隧道B报文),并发送这两个隧道报文给网关设备140。网关设备160设置第1个原始报文对应的隧道A报文中的序列号的值为1。网关设备160设置第2个原始报文对应的隧道B报文中的序列号的值为2。网关设备160设置第3个原始报文对应的隧道A报文中的序列号的值为3。网关设备160设置第4个原始报文对应的隧道B报文中的序列号的值为4。即,第一网络设备后获得的原始报文对应的隧道报文中的序列号要大于第一网络设备先获得的原始报文对应的隧道报文中的序列号。
又例如,请参考图3,网关设备160执行多发选收,基于获得的4个原始报文拷贝生成4个拷贝报文,并将4个原始报文通过隧道B发送给网关设备140,将4个拷贝报文通过隧道A发送给网关设备150。网关设备160分别设置第1~4个原始报文对应的隧道A报文中的序列号的值为1、2、3、4。4个拷贝报文对应的的隧道B报文拥有与原始报文的隧道报文相同的序列号。即,第1个原始报文的拷贝报文的隧道报文的序列号为1,第2个原始报文的拷贝报文的隧道报文的序列号为2,第3个原始报文的拷贝报文的隧道报文的序列号为3,第4个原始报文的拷贝报文的隧道报文的序列号为4。
又例如,请参考图4,网关设备160执行FEC编码,基于获得的4个原始报文编码生成2个冗余报文,并将4个原始报文通过隧道B发送给网关设备140,将2个冗余报文通过隧道A发送给网关设备150。网关设备160分别设置第1~4个原始报文对应的隧道A报文中的序列号的值为1、2、3、4。网关设备160可独立设置冗余报文的序列号,因为网关设备160可在隧道头中增加冗余报文的标识,以区分冗余报文和原始报文。例如,网关设备160设置2个冗余报文的序列号为1、2。
当隧道报文中包括序列号时,接收隧道报文的网关可基于序列号执行进一步的优化技术。例如,接收隧道报文的主网关或辅助网关可基于序列号判断隧道报文在传输过程中是否发生了丢包。一旦检测到丢包,接收隧道报文的网关可快速的发起重传请求以促使发送隧道报文的网关重传该丢失的隧道报文,而不必等待目的站点检测到丢包后再触发丢包重传。这可以进一步的提升数据流的传输质量。当隧道报文中包括序列号时,主网关可以基于该序列号发送原始报文给目的站点。例如,主网关基于序列号递增的顺序发送原始报文给目的站点,以使得报文被发送给目的站点的顺序和源站点发送该报文的顺序一致,避免多路径优化技术可能带来的乱序给数据流传输质量带来的影响。
第一网络设备可通过多种方式在隧道头中添加序列号。例如,隧道头包括IP报头,第一网络设备在IP报头的选项字段中包括序列号字段。例如,网关设备160在隧道头A中的IP报头中增加一个TLV,以在该TLV中包括序列号。例如,网关设备160在隧道头B中的IP报头中增加一个TLV,以在该TLV中包括序列号。又例如,隧道头还可以包括其他报头,例如,GRE报头,第一网络设备在GRE报头中包括序列号字段。例如,网关设备160在隧道头A中的GRE报头中包括序列号字段。例如,网关设备160在隧道头B中的GRE报头中包括序列号字段。又例如,第一网络设备还可以在隧道头中新增一个报头,以在该新增的报头中包括序列号字段。
当隧道头包括优化技术时,第一网络设备可以用几个比特表示优化技术。例如,第一网络设备使用3个比特来表示8种优化技术。例如,比特000代表负载分担,比特001代表多发选收,比特002代表多路径FEC。第一网络设备可通过多种方式在隧道头中携带表示优化技术的比特以包括优化技术标识。例如,隧道头包括IP报头,第一网络设备在IP报头的选项字段中包括优化技术标识。例如,网关设备160在隧道头A中的IP报头中增加一个TLV,以在该TLV中包括优化技术标识。例如,网关设备160在隧道头B中的IP报头中增加一个TLV,以在该TLV中包括优化技术标识。又例如,隧道头还可以包括其他报头,例如,GRE报头,第一网络设备在GRE报头中包括优化技术标识。例如,网关设备160在隧道头A中的GRE报头中包括优化技术标识。例如,网关设备160在隧道头B中的GRE报头中包括优化技术标识。又例如,第一网络设备还可以在隧道头中新增一个报头,以在该新增的报头中包括优化技术标识。
当隧道头包括流标识时,第一网络设备可以用几个比特表示流标识。例如,第一网络设备使用8个比特来表示256个数据流。第一网络设备可通过多种方式在隧道头中携带表示流标识的比特以包括流标识。例如,隧道头包括IP报头,第一网络设备在IP报头的选项字段中包括流标识。例如,网关设备160在隧道头A中的IP报头中增加一个TLV,以在该TLV中包括流标识。例如,网关设备160在隧道头B中的IP报头中增加一个TLV,以在该TLV中包括流标识。又例如,隧道头还可以包括其他报头,例如,GRE报头,第一网络设备在GRE报头中包括流标识。例如,网关设备160在隧道头A中的GRE报头中包括流标识。例如,网关设备160在隧道头B中的GRE报头中包括流标识。又例如,第一网络设备还可以在隧道头中新增一个报头,以在该新增的报头中包括流标识。
第一网络设备还可以用特定的字段表示流标识。例如,第一网络设备使用IP地址区分不同的数据流。例如,第一网络设备判断拥有相同目的IP的原始报文为一类数据流。第一网络设备在隧道头中增加一个字段以携带目的IP,主网关根据该IP字段来区分数据流。第一网络设备可通过多种方式在隧道头中携带表示流标识的比特以包括流标识。例如,隧道头包括IP报头,第一网络设备在IP报头的选项字段中包括该特定的字段。例如,网关设备160在隧道头A中的IP报头中增加一个TLV,以在该TLV中包括该特定的字段。例如,网关设备160在隧道头B中的IP报头中增加一个TLV,以在该TLV中包括该特定的字段。又例如,隧道头还可以包括其他报头,例如,GRE报头,第一网络设备在GRE报头中包括该特定的字段。例如,网关设备160在隧道头A中的GRE报头中包括该特定的字段。例如,网关设备160在隧道头B中的GRE报头中包括该特定的字段。又例如,第一网络设备还可以在隧道头中新增一个报头,以在该新增的报头中包括该特定的字段。
一个流标识表示的一个数据流可以包括一个或多个业务流。例如,一个流标识表示的一个数据流可以仅包括一组拥有相同五元组的原始报文。又例如,一个流标识表示的一个数据流可以包括拥有不同五元组的原始报文,其中,每个五元组代表一个业务流。
当隧道头包括主标识/转发标识时,第一网络设备可以用几个比特表示主标识/转发标识。例如,第一网络设备使用1个比特来表示主标识/转发标识。当该比特为第一值时,表示携带该比特的隧道报文包括主标识;当该比特为第二值时,表示携带该比特的隧道报文包括转发标识。例如,上述第一值可以为1,上述第二值可以为0。第一网络设备可通过多种方式在隧道头中携带该比特以包括主标识/转发标识。例如,隧道头包括IP报头,第一网络设备在IP报头的选项字段中包括主标识/转发标识。例如,网关设备160在隧道头A中的IP报头中增加一个TLV,以在该TLV中包括主标识/转发标识。例如,网关设备160在隧道头B中的IP报头中增加一个TLV,以在该TLV中包括主标识/转发标识。又例如,隧道头还可以包括其他报头,例如,GRE报头,第一网络设备在GRE报头中包括主标识/转发标识。例如,网关设备160在隧道头A中的GRE报头中包括主标识/转发标识。例如,网关设备160在隧道头B中的GRE报头中包括主标识/转发标识。又例如,第一网络设备还可以在隧道头中新增一个报头,以在该新增的报头中包括主标识/转发标识。
隧道头可以包括一种或多种字段。
例如,隧道头仅包括序列号字段。接收隧道报文的多个网关可以基于配置决定是该执行处理操作还是转发操作。例如,多个网关中的一个网关默认为主网关,多个网关中的其他网关默认为辅助网关。又例如,多个网关中的一个网关默认为第一数据流的主网关,多个网关中的另一个网关默认为第二数据流的主网关。其中,多个网关可以基于隧道报文包括的内层报文的元组区分第一数据流和第二数据流。例如,该元组可以为包括源IP、目的IP的二元组,或者,该元组可以为包括源IP、目的IP、源端口、目的端口和协议类型的五元组。发送隧道报文的网关和接收隧道报文的主网关可以基于配置执行优化技术。例如,发送隧道报文的网关和主网关针对所有报文执行负载分担优化技术。又例如,发送隧道报文的网关和主网关针对第一时间段内获得的报文执行负载分担优化技术,针对第二时间段内获得的报文执行多发选收优化技术。
又例如,隧道头包括序列号和流标识。不同的流标识表示的数据流可以使用相同的序列号。主网关基于流标识区分数据流,基于序列号为流标识表示的数据流执行优化技术。
又例如,隧道头优化技术标识。此时,发送隧道报文的网关可以分时段执行不同的优化技术。例如,该网关在上午为获得的报文执行负载分担,在下午为获得的报文执行多发选收。主网关基于优化技术标识为接收到的隧道报文执行不同的优化技术。当主网关接收到的隧道报文包括优化技术标识时,辅助网关接收到的隧道报文可以包括优化技术标识,也可以不包括优化技术标识。当辅助网关接收到的隧道报文不包括优化技术标识时,主网关可以基于该主网关接收到其他隧道报文包括的优化技术标识执行相应的优化技术。该主网关接收到的其他隧道报文和辅助网关接收到的不包括优化技术标识的隧道报文属于同一数据流。
又例如,隧道头包括主标识/转发标识。此时,发送隧道报文的网关可以调整隧道报文中的主标识/转发标识,以均衡主网关和辅助网关的处理负荷。
又例如,隧道头包括序列号、流标识和优化技术标识。此时,不同的流标识表示的数据流可以使用相同的序列号,发送隧道报文的网关可以为不同的数据流执行不同的优化技术。主网关基于流标识区分数据流。针对每个数据流,主网关基于优化技术标识执行相应的优化技术。
又例如,隧道头包括序列号、流标识、优化技术标识和主标识/转发标识。此时,发送隧道报文的网关可以为不同的数据流选择不同的主/辅助网关。例如,请参考图2,网关设备160通过隧道A发送报文给网关设备150,网关设备通过隧道B发送报文给网关设备140。网关设备160可以选择网关设备140为第一数据流的主网关,选择网关设备150为第二数据流的主网关。例如,网关设备160在第一数据流的隧道A报文中设置主标识/转发标识为第二值,并发送该隧道报文给网关设备150。网关设备160在第一数据流的隧道B报文中设置主标识/转发标识为第一值,并发送该隧道报文给网关设备140。网关设备160在第二数据流的隧道A报文中设置主标识/转发标识为第一值,并发送该隧道报文给网关设备150。网关设备160在第二数据流的隧道B报文中设置主标识/转发标识为第二值,并发送该隧道报文给网关设备140。网关设备150和网关设备140基于流标识区分第一数据流和第二数据流。网关设备140将第二数据流的隧道A报文转换为隧道C报文,并通过隧道C发送该隧道报文给网关设备150。网关设备150基于优化技术标识为第二数据流执行相应的优化技术。网关设备150将第一数据流的隧道B报文转换为隧道C报文,并通过隧道C发送该隧道报文给网关设备140。网关设备140基于优化技术标识为第一数据流执行相应的优化技术。隧道C报文包括序列号、流标识。该序列号与隧道C报文对应的隧道A报文或隧道B报文包括的序列号相同。该流标识与隧道C报文对应的隧道A报文或隧道B报文包括的流标识相同。隧道C报文还可以包括优化技术标识,该优化技术标识与隧道C报文对应的隧道A报文或隧道B报文包括的优化技术标识相同。当隧道C报文不包括优化技术标识时,主网关可基于该主网关接收到的该数据流的其他隧道报文包括的优化技术标识执行相应的优化技术。隧道C报文还可以包括主标识/转发标识,该主标识/转发标识为第一值。当隧道C报文不包括主标识/转发标识时,主网关可基于其他方法来判断需要为隧道C报文执行优化技术。例如,因为该隧道报文为隧道C报文,所以接收该隧道报文的网关设备为该隧道报文执行优化技术。
隧道头包括的字段还可以有其他组合形式。此处不再一一例举。
请参见图6~10,其示出了隧道头的几种参考格式。其中,图6示出了隧道报文的示意图。图7示出了一种隧道头的示意图。该隧道头基于IP报头的可选项携带上述字段。图8示出了另一种隧道头的示意图。该隧道头基于GRE报头携带上述字段。图9示出了另一种隧道头。该隧道头基于新增的报头携带上述字段。图10示出了图7所示隧道头使用的TLV的格式。
请参考图6,其示出了隧道报文的示意图。隧道报文包括隧道头1000和内层报文2000。内层报文2000是发送隧道报文的网关从源站点接收的报文,或基于接收的报文生成的报文。内层报文2000可以是多种类型的报文。例如,IP报文、以太网报文。
请参考图7,其示出了隧道头1000的一种示意图。隧道头1000包括第四版因特网协议(IP version 4,IPv4)报头1100。该IPv4报头1100包括基本报头1110和可选字段1120。可选字段1120是本申请实施例在IP报头中新增的扩展字段。例如,序列号类型长度数值(typelength value,TLV)1121用于携带序列号。又例如,流标识TLV 1122用于携带流标识。又例如,优化技术标识TLV 1123用于携带优化技术标识。其中,TLV的格式请参考图10。TLV字段包括类型(type,T)610、长度(length,L)620和数值(value,V)630。类型610取值不同,则相应的数值630代表不同的含义。例如,若类型610取值T=1表示该TLV是序列号TLV,则数值630中存储序列号。又例如,若类型610取值T=2表示该TLV是流标识TLV,则数值630中存储流标识。又例如,若类型610取值T=3表示该TLV是优化技术标识TLV,则数值630中存储优化技术标识。其中,类型610和长度620的长度是固定的,例如,各占1个字节。数值630的长度是可变的。长度620的取值是类型610、长度620和数值630占用的字节数之和。例如,图10所示TLV中,类型610占用1个字节,长度620占用1个字节,数值630占用2个字节。此时,整个TLV占用4个字节,则长度620的取值为4。另外,基本报头1110中的字段R1 1111是保留字段。本申请实施例可以使用该字段携带主标识/转发标识。例如,发送隧道报文的网关设置发送给主网关的隧道报文中的该字段为1,设置发送给辅助网关的隧道报文中的该字段为0。
请参考图8,其示出了隧道头1000的另一种示意图。隧道头1000包括IPv4基本报头1110和GRE报头1200。本申请实施例使用GRE报头1200中的字段携带本申请实施例涉及的字段。例如,基于保留字段2 1210携带序列号。又例如,基于保留字段1 1220携带流标识、优化技术标识和主标识/转发标识。该保留字段1 1220占用GRE报头的1-12共12比特。本申请实施例可将该12比特分配给流标识、优化技术标识和主标识/转发标识。例如,2-4共3个比特用于携带优化技术标识,4-12共8个比特用于携带流标识,剩余的1个比特用于携带主标识/转发标识。
请参考图9,其示出了隧道头1000的另一种示意图。隧道头1000包括IPv4基本报头1110和新增报头1300。本申请实施例使用新增报头1300携带本申请实施例涉及的字段。例如,1310用于携带序列号,1320用于携带主标识/转发标识,1340用于携带流标识,1350用于携带优化技术标识。为保持报头4字节对齐,新增报头包括保留字段1330。
图7~9仅仅是列举了几种隧道头的参考格式,隧道头还可以是其他类型的报文格式。例如,图7~9中的IP报头还可以是第六版因特网协议(IPversion 6,IPv6)报头。又例如,图8中的GRE报头还可以是其他格式的GRE报头。又例如,GRE报头处还可以是其他隧道报头。又例如,图9所示的隧道头中,IPv4基本报头1110与新增报头1300之间还可以存在GRE报头。此处不再一一列举。
隧道头A的格式和隧道头B的格式可以相同。例如,隧道头A的格式和隧道头B的格式都如图7所示。隧道头A的格式和隧道头B的格式也可以不同。例如,隧道头A的格式如图7所示,隧道头B的格式如图8所示。
隧道头C的格式可以和隧道头A的格式相同。例如,隧道头C的格式和隧道头A的格式都如图7所示。隧道头C的格式也可以和隧道头A的格式不相同。例如,隧道头C的格式如图8所示,隧道头A的格式如图7所示。
相应地,在多网关场景的反向传输路径上也可以实施多路径优化技术。
例如,请参考图11,其示出了在双网关场景的反向传输路径上实施负载分担的技术方案。网关设备140接收站点110发送的4个报文。网关设备140通过隧道D发送第1个和第2个报文给网关设备150。网关设备140通过隧道E发送第3个和第4个报文给网关设备160。网关设备150通过隧道D接收到第1个和第2个报文时,再通过隧道F转发该两个报文给网关设备160。网关设备160将通过多条路径接收到的4个报文发送给站点120。图11中所述D、E、F分别代表隧道D、隧道E和隧道F的隧道头。因为网关设备140通过两条路径发送4个报文,且网关设备150转发了接收到的2个报文给网关设备160,所以网关设备160可以接收到网关设备140通过两条路径发送的报文,且将报文发送给目的站点。因此,该方案实现了在双网关场景中实施负载分担,使得数据流可以充分利用多条路径的传输能力,可以提升数据流的传输质量。
又例如,请参考图12,其示出了在双网关场景的反向传输路径上实施多发选收的技术方案。网关设备140接收站点110发送的4个报文。网关设备140为每个报文拷贝一份报文。网关设备140通过隧道D发送4个拷贝报文给网关设备150。网关设备140通过隧道E发送4个原始报文给网关设备160。网关设备150通过隧道D接收到拷贝报文时,再通过隧道F转发拷贝报文给网关设备160。因为传输路径有可能存在丢包,所以网关设备160有可能仅接收到第1个、第2个和第3个原始报文,仅接收到第2个、第3个和第4个拷贝报文。网关设备160删除重复的报文,将不重复的第1个、第2个、第3个和第4个原始报文发送给站点120。图12中所示D、E、F分别代表隧道D、隧道E和隧道F的隧道头。该方案实现了在双网关场景中实施多发选收,可以抵抗传输链路中可能存在的丢包,提升数据流的传输质量。
又例如,请参考图13,其示出了在双网关场景的反向传输路径上实施多路径FEC的技术方案。网关设备140接收站点110发送的4个报文。网关设备140基于该4个报文进行FEC编码生成2个冗余报文。网关设备140通过隧道D发送2个冗余报文给网关设备150。网关设备140通过隧道E发送4个原始报文给网关设备160。网关设备150通过隧道D接收到冗余报文时,再通过隧道F转发冗余报文给网关设备160。因为传输路径有可能存在丢包或者链路错误,所以网关设备160有可能仅接收到正确的第1个、第2个和第3个原始报文和2个冗余报文。网关设备160基于接收到的报文执行FEC解码以恢复第4个原始报文,并发送4个原始报文给站点120。图13中所示D、E、F分别代表隧道D、隧道E和隧道F的隧道头。该方案实现了在双网关场景中实施多路径FEC,可以抵抗传输链路中可能存在的丢包和链路错误,提升数据流的传输质量。
其中,隧道D和隧道C可以是同一个隧道,也可以是不同的隧道。例如,隧道D和隧道C是同一个隧道,网关设备150基于该隧道向网关设备140发送隧道报文,网关设备140基于该隧道向网关设备150发送隧道报文。又例如,隧道D和隧道C是两个不同的隧道,网关设备150基于隧道C向网关设备140发送隧道报文,网关设备140基于隧道D向网关设备150发送报文。相似地,隧道A和隧道F可以是同一个隧道,也可以是两个不同的隧道。相似地,隧道B和隧道E可以是同一个隧道,也可以是两个不同的隧道。
在双网关场景的反向传输路径上实施多路径优化技术的具体步骤与图5所示的方法步骤类似,此处不再赘述。
下述为本申请的装置实施例,可以用于执行本申请的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图14,其示出了本申请实施例提供的一种网络设备1400的逻辑结构示意图。该网络设备1400可以为报文处理系统中的第一网络设备,或者是该第一网络设备的功能组件。该报文处理系统包括该第一网络设备、第二网络设备和第三网络设备。其中,该第一网络设备位于第一站点,该第二网络设备和该第三网络设备位于第二站点。该第一站点和该第二站点通过广域网连接。参见图14,该网络设备1400包括:获取模块1410和发送模块1420。其中,获取模块1410用于获取图5所示实施例中的步骤501发送的数据流的报文;发送模块1420用于执行图5所示实施例中的步骤501中的发送步骤。具体地:
该获取模块1410,用于获取待发送的报文。所述待发送的报文包括第一报文和第二报文。第一报文和第二报文属于同一数据流。
获取模块1410可通过多种方法获取待发送的报文。例如,获取模块1410接收其所在的第一站点发送的报文以获取待发送的报文。又例如,获取模块1410基于接收到的报文执行优化技术以获取待发送的报文。例如,获取模块1410将接收到的报文拷贝多份以获得待发送的报文。又例如,获取模块1410基于接收到的报文进行FEC编码以生成冗余报文。此时,获取模块1410获取到的待发送的报文包括接收到的原始报文和生成的冗余报文。
该发送模块1420,用于通过第一隧道发送所述第一报文给第二网络设备,并通过第二隧道发送所述第二报文给第三网络设备。
可选地,该发送模块1420还用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识。所述流标识用于标识所述第一报文和所述第二报文所属的数据流。
可选地,属于所述第二隧道的携带所述第二报文的隧道报文包括主标识。所述主标识用于指示所述第三网络设备处理所述第二报文。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述转发标识用于指示所述第二网络设备转发所述第一报文。
可选地,属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识。所述优化技术标识用于指示第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
请参考图15,其示出了本申请实施例提供的一种网络设备1500的逻辑结构示意图。该网络设备1500可以为报文处理系统中的第二网络设备,或者该第二网络设备的功能组件。该报文处理系统还包括第一网络设备和第三网络设备。其中,第一网络设备位于第一站点,第二网络设备和第三网络设备位于第二站点。第一站点和第二站点通过广域网连接。参见图15,该网络设备1500包括:接收模块1510和发送模块1520。该接收模块1510用于执行图5所示实施例中的步骤502中的接收子步骤;该发送模块1520用于执行图5所示实施例中的步骤502中的发送子步骤。具体地:
该接收模块1510,用于接收第一网络设备通过第一隧道发送的第一报文。
该发送模块1520,用于通过第二隧道将所述第一报文转发给第三网络设备。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括序列号。所述发送模块还用于根据所述序列号,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述序列号。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识。所述发送模块还用于根据所述流标识,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述流标识。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述发送模块用于根据所述转发标识转发所述第一报文。
可选地,所述第二网络设备还包括处理模块1530。所述接收模块1520还用于接收所述第一网络设备通过第一隧道发送的第二报文。所述处理模块1530用于处理所述第二报文。
可选地,属于所述第一隧道的携带所述第二报文的隧道报文包括主标识。所述处理模块1530还用于根据所述主标识处理所述第二报文。
可选地,属于所述第一隧道的携带所述第二报文的隧道报文包括优化技术标识。所述处理模块1530用于根据所述优化技术标识指示的优化技术处理所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
可选地,所述接收模块1510还用于接收所述第三网络设备通过第三隧道发送的第三报文。所述发送模块1520还用于通过第四隧道将所述第三报文转发给所述第一网络设备。
需要说明的是,上述实施例提供的网络设备在执行报文处理任务时,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备与报文处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图16,其示出了本申请实施例提供的一种网络设备1600的硬件结构示意图。该网络设备1600可以为上述第一网络设备或上述第二网络设备。参见图16,该网络设备1600包括处理器1620、存储器1640、通信接口1660和总线1680,处理器1620、存储器1640和通信接口1660通过总线1680彼此连接。处理器1620、存储器1640和通信接口1660也可以采用除了总线1680之外的其他连接方式连接。
其中,存储器1640可以是各种类型的存储介质,例如随机存取存储器(randomaccess memory,RAM)、只读存储器(read-only memory,ROM)、非易失性RAM(non-volatileRAM,NVRAM)、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、闪存、光存储器、硬盘等。
其中,处理器1620可以是通用处理器,通用处理器可以是通过读取并执行存储器(例如存储器1640)中存储的内容来执行特定步骤和/或操作的处理器。例如,通用处理器可以是中央处理器(central processing unit,CPU)。处理器1620可以包括至少一个电路,以执行图5所示实施例提供的报文处理方法的全部或部分步骤。
其中,通信接口1660包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现网络设备1600内部的器件互连的接口,以及用于实现网络设备1600与其他设备(例如其他网络设备或用户设备)互连的接口。物理接口可以是以太网接口,光纤接口,ATM接口等。
其中,总线1680可以是任何类型的,用于实现处理器1620、存储器1640和通信接口1660互连的通信总线,例如系统总线。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
图16所示的网络设备1600仅仅是示例性的,在实现过程中,网络设备1600还可以包括其他组件,本文不再一一列举。
本申请实施例提供了一种报文处理系统,该报文处理系统包括第一网络设备、第二网络设备和第三网络设备。其中,第一网络设备位于第一站点,第二网络设备和第三网络设备位于第二站点。第一站点和第二站点通过广域网连接。请参考图17,其示出了本申请实施例提供的一种报文处理系统1700的示意图。参见图17,该报文处理系统1700包括:第一网络设备1710、第二网络设备1720和第三网络设备1730。其中,第一网络设备1710位于第一站点1740,第二网络设备1720和第三网络设备1730位于第二站点1750。第一站点1740和第二站点1750通过广域网1760连接。
该第一网络设备1710,用于通过第一隧道向第二网络设备1720发送第一报文,并通过第二隧道向第三网络设备1730发送第二报文。所述第一隧道和所述第二隧道穿越广域网1760。
该第二网络设备1720,用于将所述第一报文通过第三隧道转发给第三网络设备1730。
该第三网络设备1730,用于处理所述第一报文和所述第二报文。
可选地,该第一网络设备1710用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。该第二网络设备1720,用于根据所述第一序列号,为属于所述第三隧道的携带所述第一报文的隧道报文添加所述第一序列号。该第三网络设备1730,用于根据所述第一序列号和所述第二序列号处理所述第一报文和所述第二报文。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识。所述流标识用于标识所述第一报文和所述第二报文所属的数据流。该第二网络设备1720,用于根据所述流标识,为属于所述第三隧道的携带所述第一报文的隧道报文添加所述流标识。
可选地,属于所述第二隧道的携带所述第二报文的隧道报文包括主标识。所述主标识用于指示第三网络设备1730处理所述第二报文。
可选地,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识。所述转发标识用于指示第二网络设备1720转发所述第一报文。
可选地,属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识。该第三网络设备1730根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文。其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径FEC。
可选地,该第三网络设备1730,用于通过第四隧道向该第二网络设备1720发送第三报文,并通过第五隧道向该第一网络设备1730发送第四报文。该第二网络设备1720,用于将所述第三报文通过第六隧道转发给该第一网络设备1710。该第一网络设备1710,用于处理所述第三报文和所述第四报文。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现图5所示实施例提供的报文处理方法的全部或部分步骤。
应理解,在本申请实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,不应对本申请实施例的实施过程构成任何限定。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (37)

1.一种报文处理系统,其特征在于,所述系统包括第一网络设备,第二网络设备和第三网络设备,其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点,所述第一站点和所述第二站点通过广域网连接,
所述第一网络设备,用于通过第一隧道向所述第二网络设备发送第一报文,并通过第二隧道向所述第三网络设备发送第二报文;
所述第二网络设备,用于将所述第一报文通过第三隧道转发给所述第三网络设备;
所述第三网络设备,用于处理所述第一报文和所述第二报文。
2.根据权利要求1所述的系统,其特征在于,
所述第一网络设备,用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号;
所述第二网络设备,用于根据所述第一序列号,为属于所述第三隧道的携带所述第一报文的隧道报文添加所述第一序列号;
所述第三网络设备,用于根据所述第一序列号和所述第二序列号处理所述第一报文和所述第二报文。
3.根据权利要求1或2所述的系统,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,所述流标识用于标识所述第一报文所属的数据流;
属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识,所述流标识用于标识所述第二报文属于所述数据流;
所述第二网络设备,用于根据所述流标识,为属于所述第三隧道的携带所述第一报文的隧道报文添加所述流标识。
4.根据权利要求1至3任一所述的系统,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括主标识,所述主标识用于指示所述第三网络设备处理所述第二报文。
5.根据权利要求1至4任一所述的系统,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识,所述转发标识用于指示所述第二网络设备转发所述第一报文。
6.根据权利要求1至5任一所述的系统,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识,所述第三网络设备用于根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文,其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错FEC。
7.根据权利要求1至6任一所述的系统,其特征在于,
所述第三网络设备,还用于通过第四隧道向所述第二网络设备发送第三报文,并通过第五隧道向所述第一网络设备发送第四报文;
所述第二网络设备,还用于将所述第三报文通过第六隧道转发给所述第一网络设备;
所述第一网络设备,还用于处理所述第三报文和所述第四报文。
8.一种报文处理方法,其特征在于,所述方法包括:
第一网络设备通过第一隧道向第二网络设备发送第一报文,并通过第二隧道向第三网络设备发送第二报文;
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点,所述第一站点和所述第二站点通过广域网连接。
9.根据权利要求8所述的方法,其特征在于,所述方法包括:
所述第一网络设备为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。
10.根据权利要求8或9所述的方法,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,所述流标识用于标识所述第一报文所属的数据流;
属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识,所述流标识用于标识所述第二报文属于所述数据流。
11.根据权利要求8至10任一所述的方法,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括主标识,所述主标识用于指示所述第三网络设备处理所述第二报文。
12.根据权利要求8至11任一所述的方法,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识,所述转发标识用于指示所述第二网络设备转发所述第一报文。
13.根据权利要求8至12任一所述的方法,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识,所述优化技术标识用于指示所述第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文,其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错FEC。
14.一种报文处理方法,其特征在于,所述方法包括:
第一网络设备接收第二网络设备通过第一隧道发送的第一报文,并将所述第一报文通过第二隧道转发给第三网络设备;
其中,所述第一网络设备和所述第三网络设备位于第一站点,所述第二网络设备位于第二站点,所述第一站点和所述第二站点通过广域网连接。
15.根据权利要求14所述的方法,其特征在于,属于所述第一隧道的携带所述第一报文的隧道报文包括序列号,所述方法包括:
所述第一网络设备根据所述序列号,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述序列号。
16.根据权利要求14或15所述的方法,其特征在于,属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,所述方法包括:
所述第一网络设备根据所述流标识,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述流标识。
17.根据权利要求14至16任一所述的方法,其特征在于,属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识,所述方法包括:
所述第一网络设备根据所述转发标识转发所述第一报文。
18.根据权利要求14至17任一所述的方法,其特征在于,所述方法包括:
所述第一网络设备接收所述第二网络设备通过所述第一隧道发送的第二报文。
19.根据权利要求18所述的方法,其特征在于,属于所述第一隧道的携带所述第二报文的隧道报文包括主标识,所述方法包括:
所述第一网络设备根据所述主标识处理所述第二报文。
20.根据权利要求18或19所述的方法,其特征在于,属于所述第一隧道的携带所述第二报文的隧道报文包括优化技术标识,所述方法包括:
所述第一网络设备根据所述优化技术标识指示的优化技术处理所述第二报文,其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错FEC。
21.根据权利要求14至20任一所述的方法,其特征在于,所述方法包括:
所述第一网络设备接收所述第三网络设备通过第三隧道发送的第三报文,并将所述第三报文通过第四隧道转发给所述第二网络设备。
22.一种第一网络设备,其特征在于,包括:
获取模块,所述获取模块用于获取多个报文,所述多个报文包括第一报文和第二报文;
发送模块,所述发送模块用于通过第一隧道向第二网络设备发送所述第一报文,并通过第二隧道向第三网络设备发送所述第二报文;
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点,所述第一站点和所述第二站点通过广域网连接。
23.根据权利要求22所述的第一网络设备,其特征在于,所述发送模块还用于为属于所述第一隧道的携带所述第一报文的隧道报文添加第一序列号,为属于所述第二隧道的携带所述第二报文的隧道报文添加第二序列号。
24.根据权利要求22或23所述的第一网络设备,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括流标识,所述流标识用于标识所述第一报文所属的数据流;
属于所述第二隧道的携带所述第二报文的隧道报文包括所述流标识,所述流标识用于标识所述第二报文属于所述数据流。
25.根据权利要求22至24任一所述的第一网络设备,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括主标识,所述主标识用于指示所述第三网络设备处理所述第二报文。
26.根据权利要求22至25任一所述的第一网络设备,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识,所述转发标识用于指示所述第二网络设备转发所述第一报文。
27.根据权利要求22至26任一所述的第一网络设备,其特征在于,
属于所述第二隧道的携带所述第二报文的隧道报文包括优化技术标识,所述优化技术标识用于指示所述第三网络设备根据所述优化技术标识指示的优化技术处理所述第一报文和所述第二报文,其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错FEC。
28.一种第二网络设备,其特征在于,包括:
接收模块,所述接收模块用于接收第一网络设备通过第一隧道发送的第一报文;
发送模块,所述发送模块用于通过第二隧道将所述第一报文转发给第三网络设备;
其中,所述第一网络设备位于第一站点,所述第二网络设备和所述第三网络设备位于第二站点,所述第一站点和所述第二站点通过广域网连接。
29.根据权利要求28所述的第二网络设备,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括序列号;
所述发送模块还用于根据所述序列号,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述序列号。
30.根据权利要求28或29所述的第二网络设备,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括流标识;
所述发送模块还用于根据所述流标识,为属于所述第二隧道的携带所述第一报文的隧道报文添加所述流标识。
31.根据权利要求28至30任一所述的第二网络设备,其特征在于,
属于所述第一隧道的携带所述第一报文的隧道报文包括转发标识;
所述发送模块用于根据所述转发标识转发所述第一报文。
32.根据权利要求28至31任一所述的第二网络设备,其特征在于,
所述接收模块,还用于接收所述第一网络设备通过所述第一隧道发送的第二报文;
所述第二网络设备还包括处理模块,所述处理模块用于处理所述第二报文。
33.根据权利要求32所述的第二网络设备,其特征在于,
属于所述第一隧道的携带所述第二报文的隧道报文包括主标识;
所述处理模块还用于根据所述主标识处理所述第二报文。
34.根据权利要求32或33所述的第二网络设备,其特征在于,
属于所述第一隧道的携带所述第二报文的隧道报文包括优化技术标识;
所述处理模块用于根据所述优化技术标识指示的优化技术处理所述第二报文,其中,所述优化技术包括以下一项或多项:负载分担,多发选收,或多路径前向纠错FEC。
35.根据权利要求28至34任一所述的第二网络设备,其特征在于,
所述接收模块,还用于接收所述第三网络设备通过第三隧道发送的第三报文;
所述发送模块,还用于通过第四隧道将所述第三报文转发给所述第一网络设备。
36.一种网络设备,其特征在于,包括处理器和存储器,所述存储器中存储有程序,所述处理器用于执行所述存储器中存储的程序以实现权利要求8至13任一所述的报文处理方法,或者,权利要求14至21任一所述的报文处理方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求8至13任一所述的报文处理方法,或者,权利要求14至21任一所述的报文处理方法。
CN202110770871.1A 2021-05-21 2021-07-08 一种报文处理的方法、系统和网络设备 Pending CN115396369A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2022/094363 WO2022242775A1 (zh) 2021-05-21 2022-05-23 一种报文处理的方法、系统和网络设备
EP22804094.5A EP4333397A1 (en) 2021-05-21 2022-05-23 Packet processing method and system, and network device
US18/512,350 US20240089198A1 (en) 2021-05-21 2023-11-17 Packet processing method and system, and network device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110559629X 2021-05-21
CN202110559629 2021-05-21

Publications (1)

Publication Number Publication Date
CN115396369A true CN115396369A (zh) 2022-11-25

Family

ID=84114380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110770871.1A Pending CN115396369A (zh) 2021-05-21 2021-07-08 一种报文处理的方法、系统和网络设备

Country Status (4)

Country Link
US (1) US20240089198A1 (zh)
EP (1) EP4333397A1 (zh)
CN (1) CN115396369A (zh)
WO (1) WO2022242775A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702476B (zh) * 2013-12-05 2018-07-31 华为技术有限公司 基于分布式网关的报文处理方法及网络虚拟化边缘点
US11038715B2 (en) * 2018-02-07 2021-06-15 Gooee Limited System and method for identifying specific/best path in a mesh network
CN110324159B (zh) * 2018-03-28 2020-11-03 华为技术有限公司 链路配置方法、控制器和存储介质
CN111628957B (zh) * 2019-02-28 2021-10-01 华为技术有限公司 一种数据传输方法以及网络设备
CN114844828A (zh) * 2019-10-31 2022-08-02 华为技术有限公司 发送报文的方法、装置及系统
CN111865704B (zh) * 2020-09-24 2021-05-28 南京中兴软件有限责任公司 数据传输方法、系统和网络设备

Also Published As

Publication number Publication date
EP4333397A1 (en) 2024-03-06
WO2022242775A1 (zh) 2022-11-24
US20240089198A1 (en) 2024-03-14

Similar Documents

Publication Publication Date Title
US10693765B2 (en) Failure protection for traffic-engineered bit indexed explicit replication
US5781534A (en) Method and apparatus for determining characteristics of a path
JP3931175B2 (ja) 明示的マルチキャストのトンネリングサービス方法及び装置
US6643292B2 (en) Efficient packet data transport mechanism and an interface therefor
US7778204B2 (en) Automatic maintenance of a distributed source tree (DST) network
US11258698B2 (en) Multicast forwarding method and related device
US20080137669A1 (en) Network of nodes
WO2022062506A1 (zh) 一种数据处理方法、装置、存储介质及电子装置
JP2018510553A (ja) アクセス制御装置、システム、及び方法
CN102415065A (zh) 在有路由的网络中冗余主机连接
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
CN109120540B (zh) 传输报文的方法、代理服务器和计算机可读存储介质
CN104683210A (zh) 一种自动建立隧道的方法和装置
CN105144639A (zh) 在覆盖网络中至双重连接(vpc)的主机的有效组播传送
CN104301252A (zh) 一种数据发送系统及数据发送方法
CN111555982A (zh) 一种基于IPv6扩展头的报文智能选路的方法和系统
CN110943935A (zh) 一种实现数据传输的方法、装置和系统
US20120327775A1 (en) Protocol Independent Multicast with Quality of Service Support
CN112491706A (zh) 数据报文的处理方法及装置、存储介质、电子装置
CN112822097A (zh) 报文转发的方法、第一网络设备以及第一设备组
CN115396369A (zh) 一种报文处理的方法、系统和网络设备
CN116094987A (zh) 转发路径的确定方法及装置
EP3609127B1 (en) Method for control signalling overhead in an access network
CN114221913A (zh) 一种发送和获取断言报文的方法和网络节点
CN116723144B (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