CN108512758B - 报文处理方法、控制器以及转发设备 - Google Patents

报文处理方法、控制器以及转发设备 Download PDF

Info

Publication number
CN108512758B
CN108512758B CN201810186956.3A CN201810186956A CN108512758B CN 108512758 B CN108512758 B CN 108512758B CN 201810186956 A CN201810186956 A CN 201810186956A CN 108512758 B CN108512758 B CN 108512758B
Authority
CN
China
Prior art keywords
forwarding
service
controller
instruction
forwarding device
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.)
Active
Application number
CN201810186956.3A
Other languages
English (en)
Other versions
CN108512758A (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.)
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 CN201810186956.3A priority Critical patent/CN108512758B/zh
Publication of CN108512758A publication Critical patent/CN108512758A/zh
Priority to PCT/CN2019/077009 priority patent/WO2019170083A1/zh
Priority to EP19763881.0A priority patent/EP3751799A4/en
Priority to US17/012,982 priority patent/US11546255B2/en
Application granted granted Critical
Publication of CN108512758B publication Critical patent/CN108512758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/304Route determination for signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Abstract

本申请实施例公开了一种报文处理方法、控制器以及转发设备,用于提高对报文处理的灵活性。本申请实施例方法包括:控制器获取业务信息,并根据所述业务信息确定至少一个转发设备;所述控制器根据所述业务信息以及所述至少一个转发设备的网络功能信息生成指令列表,所述网络功能信息用于指示所述至少一个转发设备的网络功能,所述指令列表中包含所述控制器为所述至少一个转发设备生成的控制指令;所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令,所述控制指令用于指示所述至少一个转发设备对与所述业务信息对应的业务的业务报文进行相应的处理。

Description

报文处理方法、控制器以及转发设备
技术领域
本申请涉及通信技术领域,尤其涉及报文处理方法、控制器以及转发设备。
背景技术
随着网络技术的发展,数据业务类型越来越多,每种数据业务类型对网络传输的需求都不相同。如何高质量地进行传输每种数据业务类型对应的传输报文成为网络技术领域的研究重点。
目前,为了针对不同数据业务类型提供不同的网络传输需求,出现了分段路由技术。控制器获取网络拓扑以及分段标识(segment identifier,SID),然后计算报文的转发路径,向入口节点传递一组由SID表示的显式路径,即:分段路由列表(segment list),入口节点就会将这组由SID表示的显式路径封装到该报文中,然后在分段路由中每个节点根据分段路由列表对报文进行相应的处理。
但是,控制器生成该报文的一组由SID表示的显式路径之后,入口节点会将该显式路径封装至该报文,由于该显式路径是一条处理该报文的固定路径,并封装在该报文当中,因此在对报文的处理过程中依赖于该显式路径进行处理,会导致处理报文的灵活性较低。
发明内容
本申请实施例提供了一种报文处理方法、控制器以及转发设备,用于提高了报文处理的灵活性。
第一方面,本申请实施例提供了一种报文处理方法,包括:
当网络中发送端请求业务时,此时发送端会向控制器发送业务信息,其中,该发送端请求业务时可以是在网络中的用户侧请求业务,也可以是用户侧对网络的诉求发生变化时,用户侧请求业务,还可以是当网络中添加新的基站时,该基站向控制器发送业务信息,对此本申请不做限定。该控制器就可以获取到该发送端发送的业务信息,并根据该业务信息来确定至少一个转发设备;然后该控制器可以根据该业务信息以及该至少一个转发设备的网络功能生成指令列表,该网络功能信息用于指示该至少一个转发设备的网络功能,该指令列表中包含该控制器为该至少一个转发设备生成的控制指令;然后控制器生成指令列表之后,会向该至少一个转发设备发送该指令列表中对应的控制指令,该控制指令用于指示该至少一个转发设备对于该业务信息对应的业务的业务报文进行相应的处理。
本申请实施例中,控制器获取业务信息,然后控制器根据该业务信息确定至少一个转发设备,控制器会根据该业务信息以及该至少一个转发设备的网络功能生成指令列表,然后控制器向该至少一个转发设备发送该指令列表中的控制指令,然后该至少一个转发设备就可以根据该控制指令对该业务报文进行相应的处理,而不是依赖于报文中固定的显式路径对报文进行处理,从而提高了报文处理的灵活性。
一种可能的实现方式中,在该控制器根据该业务信息以及该至少一个转发设备的网络功能信息生成指令列表之前,还可以包括:该控制器可以从该至少一个转发设备获取该网络功能信息。
本申请实施例中,该至少一个转发设备的网络功能信息可以是控制器从该至少一个转发设备中获取得到,提供了一种具体的该至少一个转发设备的网络功能信息的获取方式,在实际应用中,提高了方案的可实现性。
另一种可能的实现方式中,该网络功能信息可以包括功能指令集,该功能指令集可以为该至少一个转发设备向该控制器发送的网络功能指令的集合。
另一种可能的实现方式中,该业务信息可以包括该业务的目的地址;该控制器根据该业务信息确定至少一个转发设备可以为该控制器可以根据该目的地址计算对应该业务报文的转发路径,该至少一个转发设备为所述转发路径上的设备。
本申请实施例中,该业务信息可以包括该业务的目的地址,该控制器可以根据该目标地址计算该业务报文的转发路径,提供了一种具体的计算业务报文的转发路径的计算方法,在实际应用中,提高了方案的可实现性。
另一种可能的实现方式中,该控制器可以根据该业务信息以及该至少一个转发设备的网络功能信息生成指令列表可以为该控制器可以根据该业务信息、该转发路径以及该至少一个转发设备的网络功能信息生成指令列表。
本申请实施例中,该控制器可以根据该业务信息、该转发路径以及该至少一个转发设备的网络功能信息生成指令列表,提供了一种具体的控制器生成指令列表的方式,在实际应用中,提高了方案的可实现性。
另一种可能的实现方式中,该业务信息可以包括该业务的业务类型;该控制器可以根据该业务信息、该转发路径以及该至少一个转发设备的网络功能信息生成指令列表可以包括:首先,该控制器可以确定与该业务类型对应的编排模板,该编排模板用于指示该业务类型对应的对网络功能的需求;然后,该控制器可以根据该转发路径、该编排模板以及该至少一个转发设备的网络功能信息生成指令列表,该指令列表包含该控制器为该至少一个转发设备生成的转发指令。
本申请实施例中,该业务信息包括该业务的业务类型,该控制器可以确定与该业务类型对应的编排模板,然后,该控制器可以根据该转发路径、该编排模板以及该至少一个转发设备的网络功能信息生成指令列表,因此,提供了一种具体的控制器生成指令列表的生成方法,在实际应用中,提高了方案的可实现性。
另一种可能的实现方式中,该控制指令可以包括转发指令;该至少一个转发设备可以为具备转发报文功能的设备;该控制器可以根据该转发路径、该编排模板以及该至少一个转发设备的网络功能信息生成指令列表可以包括:首先,该控制器可以确定与该编排模板对应的该至少一个转发设备的网络功能信息;然后该控制器可以根据该与编排模板对应的该至少一个转发设备的网络功能信息以及该转发路径生成该转发指令;最后,该控制器可以将生成的转发指令生成指令列表。
本申请实施例中,该控制指令可以为转发指令,该至少一个转发设备可以为具备转发报文功能的设备,该控制器可以确定与该编排模板对应的该至少一个转发设备的网络功能信息,然后控制可以根据据该与编排模板对应的该至少一个转发设备的网络功能信息以及该转发路径生成该转发指令,再将生成的该转发指令生成指令列表,因此,提供了一种具体的控制器生成指令列表的生成方法,在实际应用中,提高了方案的可实现性。
另一种可能的实现方式中,该控制指令可以包括转发指令,在该控制器可以获取业务信息之后,在该控制器可以根据该业务信息以及该至少一个转发贺岁杯的网络功能信息生成指令列表之前,还可以包括:该控制器可以确定该业务信息对应的业务为组播业务。
本申请实施例中,该控制器可以确定该业务为组播业务,因此,本申请适用与对组播业务的处理,在实际应用中,提高了方案的实用性以及完善度。
另一种可能的实现方式中,该控制器可以向该至少一个转发设备发送该指令列表中对应的控制指令可以包括:该控制器可以向该至少一个转发设备中具备复制功能的转发设备发送该指令列表中的至少两条转发指令,该至少两条转发指令用于指示该具备复制功能的转发设备对组播业务的业务报文进行复制和转发。
本申请实施例中,该控制器可以向该至少一个转发设备中具备复制功能的转发设备发送该指令列表中的至少两条转发指令,该至少两条转发指令用于指示该具备复制功能的转发设备对组播业务的业务报文进行复制和转发,因此,对于组播业务,控制器能够为该至少一个转发设备中具备复制功能的转发设备生成两条转发指令并向该具备复制功能的转发设备发送至少两条转发指令使得该具备复制功能的转发设备能够对组播业务的业务报文进行复制和转发,在实际应用中,提升了方案的可实现性以及实用性。
另一种可能的实现方式中,该控制指令可以包括封装指令和转发指令;该控制器可以向该至少一个转发设备发送指令列表中对应的控制指令可以包括:该控制器可以向该至少一个转发设备发送该指令列表中对应的封装指令和对应的转发指令,以使得该至少一个转发设备可以根据该封装指令对该业务报文进行相应的封装,得到封装后的报文;该至少一个转发设备可以根据该转发指令将该封装后的报文进行相应的转发。
本申请实施例中,该控制指令可以包括封装指令和转发指令,该控制器可以向该至少一个转发设备发送该指令列表中对应的封装指令和对应的转发指令,以使得该至少一个转发设备可以根据该封装指令对该业务报文进行相应的封装,得到封装后的报文;该至少一个转发设备可以根据该转发指令将该封装后的报文进行相应的转发。因此,对于需要先进行封装再进行转发的业务报文,控制器会为该至少一个转发设备生成对应的封装指令以及对应的转发指令,并向该至少一个转发设备发送对应的封装指令以及对应的转发指令,在实际应用中,提升了方案的实用性以及完善度。
另一种可能的实现方式中,该业务信息可以包括该业务报文的封装类型;在该控制器向该至少一个转发设备发送该指令列表中对应的控制指令之前,还可以包括:该控制器可以根据该封装类型为该业务分配相应的业务标签。
本申请实施例中,该控制器可以根据该封装类型为该业务分配相应的业务标签,因此,在后续该至少一个转发设备对该业务的业务报文进行处理可以根据该业务标签使用对应控制指令对该业务报文进行处理,所以实现了通过一个业务标签来灵活使用网络功能,实现了网络和业务的解耦,提升了方案的实用性和完善度。
另一种可能的实现方式中,在该控制器可以根据该封装类型为该业务分配相应的业务标签之后,在该控制器可以向该至少一个转发设备发送该指令列表中对应的控制指令之前,还可以包括:该控制可以向该业务报文的发送端发送该业务标签以及该封装类型,该业务标签指示该发送端按照该封装类型对该业务报文进行封装。
本申请实施例中,该控制器为该业务分配业务标签之后,控制器会将该业务标签以及该封装类型发送至发送端,使得发送端能够根据该封装类型对该业务报文进行封装,那么该业务报文中含有该业务标签,使得在后续该至少一个转发设备中可以通过该业务标签使用对应的控制指令对该业务报文进行相应的处理,因此,提升了方案的可实现性以及完善度。
第二方面,本申请实施例提供了一种报文处理方法,包括:
当发送端请求业务时,此时发送端向控制器发送业务信息,该控制器根据该业务信息以及至少一个转发设备的网络功能信息生成指令列表,该指令列表中包含为该至少一个转发设备生成的控制指令,然后控制器就会向该转发设备发送对应的控制指令,因此,转发设备可以接收该控制器发送的控制指令;然后,该转发设备会根据该控制指令对该业务信息对应的业务的业务报文执行相应的操作。
本申请实施例中,转发设备接收控制器发送的控制指令,然后根据该控制指令对该业务信息对应的业务的业务报文进行相应的处理,因此,转发设备是根据该控制指令对业务报文进行处理的,而不是依赖于业务报文中的固定显示路径对报文进行相应的处理,从而提高了转发设备在对报文处理的灵活性。
一种可能的实现方式中,在该转发设备可以接收该控制器发送的控制指令之前,还可以包括:该转发设备可以向该控制器发送该网络功能信息,该网络功能信息用于指示该转发设备的网络功能。
本申请实施例中,该转发设备可以向该控制器发送网络功能信息,因此,提供了一种控制器获取网络功能信息的获取方式,在实际应用中,提升了方案的可实现性。
另一种可能的实现方式中,在该转发设备可以向该控制器发送该网络功能信息之前,还可以包括:该转发设备生成该网络功能指令,该网络功能指令用于指示该转发设备的网络功能,一个网络功能指令对应的一个或多个网络功能;该转发设备可以向该控制器发送该网络功能信息可以包括:该转发设备可以发送该网络功能指令至该控制器。
本申请实施例中,转发设备可以生成网络功能指令,然后向控制器发送该网络功能指令,因此,该网络功能信息可以为网络功能指令,在实际应用中,提升了方案的可实现性。
另一种可能的实现方式中,该转发设备可以为具备转发功能的设备,或者可以为具备复制报文功能且具备转发功能的设备,或者可以为具备相应封装功能且具备转发功能的设备。
本申请实施例中,该转发设备可以为具备转发功能的设备,或者可以为具备复制报文功能且具备转发功能的设备,或者可以为具备相应封装功能且具备转发功能的设备,在实际应用中,提升了方案的可实现性。
另一种可能的实现方式中,该业务信息对应的业务可以为组播业务;该控制指令可以为转发指令;该转发设备可以为具备复制报文的功能且具备转发功能的设备;该转发设备可以接收该控制器发送的控制指令可以包括:该转发设备可以接收控制器发送的至少两条转发指令。
本申请实施例中,该业务信息对应的业务可以为组播业务,该控制指令可以为转发指令,该转发设备可以为具备复制报文的功能且具备转发功能的设备,该转发设备可以接收控制器发送的至少两条转发指令。因此,对于组播业务,转发设备可以接收到控制器发送的至少两条转发指令,用于对组播业务的业务报文进行相应的处理,在实际应用中,提升了方案的实用性和完善度。
另一种可能的实现方式中,该转发设备可以根据该控制指令对该业务报文执行相应的操作可以包括:首先,该转发设备可以按照目标次数对该组播业务对应的业务报文进行复制,得到复制后的业务报文,该目标次数比该至少两条转发指令的数量少一;然后,该转发设备可以根据该至少两条转发指令对该组播业务对应的业务报文以及该复制后的业务报文进行相应的转发。
本申请实施例中,该转发设备可以按照目标次数对该组播业务对应的业务报文进行复制,得到复制后的业务报文;然后,该转发设备可以根据该至少两条转发指令对该组播业务对应的业务报文以及该复制后的业务报文进行相应的转发,因此,提供了一种具体的执行相应操作的方式,在实际应用中,提升了方案的可实现性。
另一种可能的实现方式中,该转发设备可以为具备相应封装功能且具备转发功能的设备;该控制指令可以包括封装指令和转发指令;该转发设备接收控制器发送的控制指令可以包括:该转发设备可以接收该控制器发送的封装指令以及转发指令;该转发设备可以根据该控制指令对该业务信息对应的业务的业务报文执行相应的操作可以包括:首先,该转发设备可以根据该封装指令对该业务报文进行相应的封装,得到封装后的业务报文;然后,该转发设备就会根据该转发指令对该封装后的业务报文进行相应的转发。
本申请实施例中,该转发设备可以为具备相应封装功能且具备转发功能的设备;该控制指令可以包括封装指令和转发指令;该转发设备可以接收该控制器发送的封装指令以及转发指令,该转发设备可以根据该封装指令对该业务报文进行相应的封装,得到封装后的业务报文;然后,该转发设备就会根据该转发指令对该封装后的业务报文进行相应的转发。因此,对于需要先进行封装再进行转发的业务报文,控制器会为该转发设备生成对应的封装指令以及对应的转发指令,转发设备接收到控制器发送该封装指令以及转发指令之后,就会根据该封装指令对业务报文进行相应的封装,然后根据该转发指令对该业务报文进行相应的转发。因此,在实际应用当中,提升了方案的完善度。
另一种可能的实现方式中,该控制指令可以包括转发指令,该转发设备可以为具备转发功能的设备,该转发设备可以根据该控制指令对该业务信息对应的业务的业务报文执行相应的操作可以包括:首先,该转发设备可以根据该转发指令生成转发表,然后该转发设备可以根据该转发表对该业务报文进行转发。
本申请实施例中,该控制指令可以包括转发指令,该转发设备可以为具备转发功能的设备,该转发设备可以根据该转发指令生成转发表,然后该转发设备可以根据该转发表对该业务报文进行转发。因此,提供了一种具体的转发设备执行相应的操作的方法,在实际应用中,提升了方案的可实现性。
第三方面,本申请实施例提供了一种控制器,该控制器具有实现上述第一方面控制器行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请实施例提供了一种转发设备,该转发设备具有实现上述第二方面转发设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面,本申请实施例提供了一种控制器,该控制器包括:处理器、存储器、输入输出设备以及总线;该处理器、存储器、输入输出设备分别与该总线相连,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第一方面任意一种实现方式。
第六方面,本申请实施例提供了一种转发设备,该转发设备包括:处理器、存储器、输入输出设备以及总线;该处理器、存储器、输入输出设备分别与该总线相连,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第二方面任意一种实现方式。
第七方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持网络设备实现上述第一方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第八方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持网络设备实现上述第二方面中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第九方面,本申请实施例提供了一种包括指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得该计算机执行如第一方面或第二方面中任一种的实现方式。
第十方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,包括指令,当该指令在计算机上运行时,使得计算机执行如第一方面或第二方面中任一种实现方式。
第十一方面,本申请实施例提供了一种报文处理系统,包括如第三方面的控制器以及如第四方面的转发设备。
附图说明
图1为本申请实施例提供的一个应用场景框架示意图;
图2为本申请实施例提供的报文处理方法的一个实施例示意图;
图3为本申请实施例提供的报文处理方法的另一个实施例示意图;
图4为本申请实施例提供的报文处理方法的另一个实施例示意图;
图5为本申请实施例提供的报文处理方法的一个场景示意图;
图6为本申请实施例提供的控制器的一个结构示意图;
图7为本申请实施例提供的转发设备的一个结构示意图;
图8为本申请实施例提供的控制器的另一个结构示意图;
图9为本申请实施例提供的转发设备的另一个结构示意图;
图10为本申请实施例提供的一种报文处理系统的示意图。
具体实施方式
下面结合附图,对本发明的实施例进行描述。
请参阅图1,图1为本申请的一个应用框架示意图,该图为本申请应用于4G网络下的框架示意图,需要说明的是,本申请适用于不同的网络架构下,比如3G网络、4G网络、5G网络,对此本申请不做限定。下面以本申请应用于4G的网络架构为例进行说明。在图1中,A、B、C、D、E、F、G、H为转发设备,用于向控制器发送自身的功能指令集,该功能指令集用于指示该转发设备的网络功能,该网络功能为网络设备在通信网络中所具备的功能,比如转发设备A具备转发报文的功能或者具备报文丢包统计的功能等。这些转发设备还用于接收控制器下发用于控制处理目标业务的控制指令,然后根据控制指令对报文进行相应的处理。需要说明的是,在该网络架构下,转发设备的连接关系可以是其他的连接方式,与控制器连接的可以是更多的转发设备,图1仅是作为例子进行描述,对此本申请不做限定。控制器用于控制转发设备对报文的处理,首先在本申请中,控制器收集A、B、C、D、E、F、G、H这些转发设备的网络功能信息,并根据发送端发送的业务信息进行计算和编排,然后生成控制指令下发至转发设备,转发设备就会根据控制指令对业务报文进行相应的处理。其中,基站为4G网络下的基站,该业务信息可以通过基站向控制器发送,然后控制器就可以接收到业务信息,根据该业务信息以及转发设备的网络功能生成指令,再下发对应的指令到转发设备,转发设备就能够业务信息对应的业务的业务报文进行相应的处理。
需要说明的是,本申请中转发设备可以为路由器,也可以为交换机,具体此处不做限定。
在本申请实施例中,控制器获取业务信息,该业务信息为发送端向控制器发送的信息。其中,需要说明的是,发送端可以是基站,可以是用户设备或用户接入设备,或者是软件定义网络(Software Defined Network,SDN)中的应用程序,具体此处不做限定。其次,需要说明的是,该业务信息可以为发送端请求对在网络中传输的业务报文的流量统计的消息,也可以是发送端请求传输业务报文的消息,或者发送端请求传输业务报文,且该业务报文为组播业务的业务报文或者加密业务的业务报文,具体此处不做限定。比如发送端向控制器发送请求传输业务报文的业务信息,则该业务信息包括该业务的目的地址和/或该业务的业务类型等,那么控制器就会根据该业务信息以及转发设备的网络功能为转发设备生成转发指令,然后将转发指令下发至目标转发设备,使得转发设备能够根据转发指令对业务信息对应的业务的业务报文进行相应的转发,该转发设备具备转发报文的功能。又例如,发送端请求统计业务信息对应的业务的业务报文在转发路径上一段时间内的丢包统计,那么控制器就会根据业务信息以及转发设备的网络功能生成丢包统计指令,然后再下发至对应的目标转发设备,该转发设备具备丢包统计的功能。
需要说明的是,转发设备向控制器上报其网络功能信息可以通过功能指令的方式上报,也可以通过其他形式上报其所具备的网络功能,具体此次不做限定,在后续的实施例中仅以转发设备通过功能指令的行式向控制器上报其具备的网络功能为例进行说明。
本申请实施例中,在控制器控制下的转发设备的网络功能多样,且每个转发设备具备的网络功能可以不相同。控制器会根据转发设备的网络功能以及业务信息来下发对应的控制指令至对应转发设备。因此,转发设备的网络功能可以是具备转发功能的转发设备,也可以是具备复制报文且具备转发功能的转发设备,也可以是具备对应的封装能力的转发设备,具体此处不做限定。在后续的实施例当中,转发设备能够接收到对应的功能指令,则说明该转发设备具备该网络功能,因为控制器在下发控制指令之前会确定该转发设备的网络功能之后,才会下发对应的控制指令,从而实现通过控制指令来实现对业务信息对应的业务报文的处理。
本申请实施例中,控制器在对业务信息对应的业务的业务报文进行转发时,可以通过为该业务分配一个业务标签,用来后续转发设备根据该业务标签使用对应的指令对该业务报文进行转发,该业务标签可以全网唯一也可以局部唯一,只要转发过程中网络设备能够识别并与其他业务区分开即可。另外,也可以通过其他方式进行业务标识,具体此处不做限定。在后续的实施例中仅以控制器通过为该业务分配业务标签来实现对该业务报文的转发为例进行说明。
本申请实施例中,控制器获取转发设备的功能指令集可以控制器获取控制器控制下的所有转发设备的功能指令,也可以是控制器获取后续处理该业务报文所需的转发设备的功能指令,具体此处不做限定。在后续实施例中,仅以控制器获取后续处理该业务报文所需的转发设备的功能指令为例进行说明。
本申请实施例通过控制器下发控制指令至对应的转发设备,该转发设备对该业务报文进行相应的处理,下面通过图2进行详细描述。
请参阅图2,在图2的实施例中,控制器获取业务信息,通过该业务信息以及转发设备的网络功能信息生成转发指令,然后再将转发指令发送至对应的转发设备,使得转发设备对业务信息对应的业务报文进行转发。本申请实施例中数据处理方法的一个实施例包括:
201、转发设备生成功能指令集。
转发设备会生成功能指令集,该功能指令集包含多个功能指令,该功能指令用于指示该转发设备的某个网络功能,其中,该转发设备在对其具备的网络功能进行描述时,可以根据表1、表2、表3、表4以及表5中的编码格式对自身具备的网络功能进行描述,生成对应的控制指令。另外,需要说明的是,该转发设备还可以通过指令的形式描述该转发设备具备的其他网络功能,比如指令格式的定义对应的功能指令等,这里仅是以表1、表2、表3、表4以及表5的编码格式作为例子进行说明,应用时根据实际情况需要可以对更多网络功能进行指令描述。其中,表1为对不同类型的隧道封装指令的定义,表示用于指定设备按哪条隧道来封装报文,在表1中,SrcIP为源地址,DestIP为目的地址,TunnelID为业务标签,UDP port为用户数据报协议端口,隧道Key,为隧道的关键字,隧道Key的长度为隧道关键字的长度,通用路由封装(generic routing encapsulation,GRE),用户数据报协议(user datagramprotocol,UDP)封装以及一组基于互联网协议IP的高层协议(GPRSTunnellingProtocol,GTP)封装。比如,GRE封装指令的操作码为“0x88”,隧道类型为“0x03”,隧道Key为“SrcIP+DestIP+TunnelID”隧道Key的长度为12字节。
表1
隧道封装类型 操作码 隧道类型 隧道Key Length 隧道Key
GRE封装 0x88 0x03 12 SrcIP+DestIP+TunnelID
UDP封装 0x88 0x04 12 SrcIP+DestIP+UDP Port
GTP封装 0x88 0x05 8 SrcIP+DestIP
表2为不同报文类型的封装指令的定义,用于描述对报文进行具体的封装。其中,报文封装编码格式如表2所示,其中包括互联网协议(Internet Protocol,IP)报文封装以及多协议标签交换(multiprotocol label switching,MPLS)标签封装,其中,SrcIP为源地址,DestIP为目的地址,TTL(time to live)为IP报文的生存时间值,DSCP(differentiatedservices code point)为IP报文头中的差分服务代码点,Label Value为MPLS报文的标签值。比如,从表2中可知,把业务报文封装为IP报文的封装指令对应的操作码为:“0x89”,报文类型为“0x04”,该报文的属性为“SrcIP+DestIP+ttl+DSCP”。
表2
报文封装编码格式
操作码 报文类型 报文属性
IP报文封装
0x89 0x03 SrcIP+DestIP+TTL+DSCP
MPLS标签封装
0x88 0x04 Label Value
表3中为报文转发指令的定义,用于描述对报文具体转发动作,其中包括IP报文转发、MPLS报文转发、IP报文备份转发等,比如,IP报文转发的指令表示转发设备能够转发IP报文,转发设备通过该指令向控制器上报其具备转发IP报文的功能。其中Outif+nexthop表示转发的出接口和下一跳信息,Outif+nexthop+outlabel表示出接口、下一跳信息和业务标签值。
表3
报文转发编码格式
操作码 报文类型 转发属性
IP报文转发
0x90 0x03 Outif+nexthop
MPLS报文转发
0x90 0x04 Outif+nexthop+outlabel
IP报文备份转发
0x90 0x05 Outif+nexthop
MPLS报文备份转发
0x90 0x06 Outif+nexthop+outlabel
…………
表4为报文转发的编码格式,报文转发时,根据转发等价类(Forwarding equalclass,FEC)来转发,即对报文进行的具体转发动作的描述,其中IP Address为IP地址,IPv6Address为IPv6地址。
表4
Figure BDA0001590554360000101
表5为对报文做性能统计的功能描述,其中可以包括时延统计和丢包统计。
表5
性能统计编码格式
操作码 统计类型 数据上送
时延统计
0x92 0x03 目的IP+上送方式
丢包统计
0x92 0x04 目标IP+上送方式
转发设备生成指令功能集,举例来说,该转发设备有一条通用路由封装(genericrouting encapsulation,GRE)隧道到目的地址(1.1.1.1),该隧道的源地址为(2.2.2.2),TunnelID为0x1234,那么可知该转发设备具备GRE的封装功能,所以使用表1中对应的GRE封装指令,即该转发设备会生成一条为“0x880C02020202010101011234”GRE封装指令。该转发设备具备MPLS的封装功能,那么从表2中可知,该转发设备生成的MPLS封装指令为“0x88040000”。该转发设备具备IP报文的转发功能,那么从表3中可知,该转发设备生成“0x90031234567801010101”的IP报文转发指令。该转发设备通过生成指令来描述其具备的网络功能,那么这些指令就可以为一个功能指令集,用于指示该转发设备的网络功能。因此,在该控制器控制下的转发设备都会通过指令来描述自身的网络功能,然后形成功能指令集,再上报至控制器,控制器通过这些功能指令集就可以确定每个转发设备的网络功能。
202、转发设备发送该功能指令集至控制器。
该转发设备通过步骤201中,将自身具备的网络功能通过生成功能指令的形式进行描述,那么转发设备就会将生成的功能指令集发送至控制器。需要说明的是,该转发设备向控制器上报自身的网络功能可以通过接口来上报,这里对接口类型不做限定,可以是通过边界网关协议(border gateway protocol,BGP)或者内部网关协议(interior gatewayprotocol,IGP)或者其他扩展的协议向控制器发送功能指令,具体此处不做限定。
203、发送端发送业务信息至控制器。
当在网络中添加新的基站,或者用户侧对网络的诉求发生变化,或者用户设备需要向接收端传发送业务报文时,此时发送端会发送业务信息至控制器,发送端发送的业务信息中包括业务信息对应的业务的业务类型、该业务对应的业务报文的目的地址、发送端的封装功能等。具体的,发送端可以通过指令的形式来描述该业务的相关信息,然后携带在该业务信息中发送至控制器,如表6、表7和表8,发送端可以根据表6、表7和表8的编码格式来描述该业务信息对应的业务的相关信息,当然在实际应用中还可以有更多的网络功能相应的编码格式,这里仅以表6、表7以及表8为例进行说明。
其中,表6为用户对业务类型的描述指令,其中Destiation address为目的地址。
表6
业务描述编码格式
操作码 业务类型 目的地址
移动业务
0x94 0x03 Destiation address
宽带业务
0x94 0x04 Destiation address
表7为定义用户侧具备的封装能力的描述指令,其中,IP address为IP地址,LabelValue为MPLS报文的标签值;
表7
Srv描述编码格式
操作码 封装类型 封装属性
IPv4封装
0x95 0x03 IP address
MPLS封装
0x94 0x04 Label Value
表8为定义用户对网络具体诉求的指令,其中,Bandwidth表示带宽值,SLA(Service-Level Agreement)为服务等级协议。
表8
SLA描述编码格式
操作码 统计类型 SLA Value
带宽
0x93 0x03 Bandwidth
时延
0x93 0x04 时延
比如,发送端为基站,基站向控制器请求一条目的地址(2.2.2.2)的路径,该业务的业务类型为移动S1业务,路径的时延要求小于100毫秒(在后文中称ms),发送端的封装功能为MPLS报文封装,那么基站就可以从表6中确定描述该业务的业务类型为移动S1业务的指令操作码为“0x94”,业务类型为“0x03”,目的地址为“2.2.2.2”;从表7中可知,该业务的业务报文的封装类型为MPLS报文的封装的操作码为“0x94”,封装类型为“0x04”,封装属性为“,0x0000”;从表8中可知,路径的时延为小于100ms的指令操作码为“0x93”,统计类型为“0x04”,时延为100ms,发送端将业务对这些网络功能的需求生成指令,携带在业务信息中。
204、控制器为该业务信息对应的业务分配业务标签。
控制器接收到发送端的业务信息之后,从该业务信息中确定发送端的封装能力,可以是控制器通过发送端发送的业务信息中对发送端的封装能力的描述指令中确定该发送端的封装能力,那么控制器就会给发送端的该业务的业务报文分配一个全网唯一的业务标签ServiceID为该业务的标识。发送端可以有IP报文封装功能,或者MPLS封装功能等,这里以发送端具备MPLS报文的封装功能为例进行说明,那么请求消息中就会携带MPLS的封装指令,从表6中可知,该封装指令的操作码为“0x94”,封装类型为“0x04”,封装属性为0x0000,那么控制器通过识别该指令中的操作码、封装类型等,可以确定该发送端的封装功能为MPLS封装功能,那么控制器就会为该业务分配一个MPLS的标签值,这里以分配的标签值为0x1234为例。
205、控制器将该业务标签以及该业务对应的业务报文的封装类型发送至发送端。
控制器为该业务信息对应的业务分配业务标签之后,就会将该业务标签发送至发送端。比如,步骤204中控制器分配的标签值为0x1234,那么控制器就会将0x1234这个标签值以及封装类型为MPLS的信息发送给发送端,即将ServiceID(0x1234)以及type(MPLS)发送给发送端。
206、发送端根据该业务标签以及该业务报文的封装类型对该业务对应的业务报文进行封装,得到封装后的业务报文。
发送端接收到控制器发送的业务标签之后,就会对该业务对应的业务报文进行封装,得到封装后的业务报文。比如,发送端为基站,在步骤205中确定发送端的封装能力为MPLS封装,分配的业务标签值为0x1234,那么4G网络中基站,即EnodeB就会对该业务报文进行MPLS封装,将该业务报文的外层封装MPLS标签,标签值为0x1234。因此,本申请实施例中发送端将业务标签封装于报文外层,用于后续转发设备通过该业务标签来对该业务报文进行转发,所以本申请同样适用于加密场景下的加密报文的处理,提高了方案完善度以及实用性。通过该标签值来实现该转发设备根据相应的指令对业务报文进行处理,该指令中也携带有该标签值,从而实现了通过一个ServiceID来灵活地使用网络功能。
207、控制器确定与该业务的业务类型对应的编排模板。
发送端发送的业务信息中携带该业务的业务类型,因此控制器从业务信息中可以获取到发送端请求传输该业务的业务类型,那么就可以确定对应的编排模板,该编排模板为预置在控制器中的模板,用于定义实现该业务的网络功能的方法,不同业务类型对应不同编排模板。比如,在步骤203中,发送端请求的业务为移动S1业务,那么在业务信息中就包括一条指令操作为“0x94”,业务类型为“0x03”,目的地址为“2.2.2.2”;从这个指令中,控制器可以确定该业务的业务类型为移动业务,那么控制器就可以确定移动业务对应的编排模板,从编排模板可以确定实现该业务的网络功能。
208、控制器根据该业务报文的目标地址计算该业务报文的转发路径。
发送端发送的业务信息中携带该业务报文传输的目标地址,控制器根据该目标地址可以通过算法计算该业务报文的转发路径。比如,在步骤203中,发送端请求传输的业务报文的目标地址为“2.2.2.2”,控制器通过算法计算确定该业务报文的转发路径为图1中A-B-C-D。
209、控制器根据转发路径确定与该编排模板对应的该转发设备的功能指令。
控制器确定了该业务报文的转发路径之后,控制器就会根据编排模板确定该转发设备的功能指令。比如,步骤208中确定该业务报文的转发路径为A-B-C-D,控制器就会确定A、B、C和D中与编排模板中所描述的对网络功能需求对应的功能指令,比如在前面的步骤中确定该业务报文的封装类型为MPLS报文,控制器也可以从A、B、C和D的功能指令集中确定A、B、C和D都是具备MPLS报文转发的功能,其中D还具备IP报文转发的功能,那么此时从编排模板中可以确定此时需要的A、B、C和D的网络功能就是通过A、B、C和D这四个转发设备中将该业务报文进行转发,所以控制器可以确定此时需要A、B、C和D的MPLS报文转发的功能指令,从表2中可知,MPLS报文转发的功能指令的操作码为“0x90”,报文类型为“0x04”,封装属性为“Outif+nexthop+outlabel”。
210、控制器根据转发路径以及该转发设备的功能指令生成控制指令。
控制器确定了该转发设备的功能指令之后,就可以根据转发路径以及功能指令生成控制指令,其中,该控制指令包括转发指令。比如,在步骤209中,控制器确定A的MPLS报文转发功能指令,其中操作码为“0x90”,报文类型为“0x04”,封装属性为“Outif+nexthop+outlabel”,那么控制器通过转发路径可以确定A将该封装后的业务报文转发至B,B转发该封装后的业务报文至C,C转发该封装后的业务报文至D,因此,可以知道A的下一跳为B,而步骤204中分配的标签值为0x1234,所以控制器就会为A生成一条MPLS报文的转发指令,具体为“0x900412345678050505051234”,而B和C与A的动作相同,一样是MPLS报文转发动作;对于D,首先控制器会为D生成一条弹出业务标签值的指令,然后再生成一条IP报文转发指令,具体的弹出业务标签指令为“0x89061234”,IP报文转发指令为“0x900312345678070707”。
211、控制器将控制指令生成指令列表。
控制器生成转发路径中每个目标转发设备的控制指令之后,就会将这些控制指令生成指令列表。比如,在步骤210中,控制器为转发路径中A、B、C和D四个结点生成对应的指令之后,就会将这些指令生成一个指令列表,如表9所示,ServiceID为业务标签,type为报文的类型,Action指令为指令的具体动作。
表9
Figure BDA0001590554360000141
212、控制器向该转发设备发送对应的控制指令。
控制器将控制指令生成指令列表之后,然后就会向该转发设备发送对应的控制指令。因为在控制器向转发设备下发控制指令之前,控制器会根据该转发设备的功能指令集来确定该转发设备的网络功能,然后控制器会生成控制指令,再将对应的控制指令下发至该转发设备,这样转发设备才能根据该控制指令执行相应的操作。比如,在步骤208中,控制器确定该封装后的业务报文的转发路径为A-B-C-D,所以转发设备为A、B、C和D,转发设备A、B、C和D都具备MPLS报文转发能力,所以转发设备A、B、C以及D才能对MPLS报文进行转发,那么从表9的指令列表可知,控制器会向A发送MPLS报文转发指令:“0x900412345678050505051234”,向B发送MPLS报文转发指令“0x900412345678060606061234”,向C发送MPLS报文转发指令“0x900412345678060606061234”,在转发设备D中,由于该D为该封装后的业务报文转发的出接口,所以此时控制器会向D发送弹出业务标签指令“0x89061234”以及IP报文转发指令“0x900312345678070707”,该弹出业务标签指令用于转发设备D将该封装后的业务报文外层的业务标签弹出,然后再根据IP报文转发指令对该业务报文进行转发。
213、该转发设备根据控制指令生成转发表。
转发设备接收到控制器下发的控制指令之后,该控制指令为转发指令,那么该转发设备就会根据该转发指令生成转发表,该转发表是根据转发指令中的信息生成。比如,步骤212中,转发设备A接收到的MPLS报文指令为“0x900412345678060606061234”,那么转发设备A就可以确定该封装后的业务报文标签值为0x1234,出接口为D,下一跳地址为B所在的地址,那么转发设备就可以根据该转发指令生成0x1234标签转发表。转发设备B以及转发设备C生成转发表的过程也跟转发设备A类似,具体不做赘述。然后转发设备D接收到控制器发送的弹出业务标签指令“0x89061234”以及IP报文转发指令“0x900312345678070707”,首先,转发设备D就会生成0x1234标签Egress转发表,同时关联一个IP转发表的动作,即在转发时,首先将报文中的标签值0x1234先弹出,然后再以IP报文的形式转发到目的地址。
214、发送端将封装后的业务报文发送至转发设备。
发送端通过标签值按照对应的封装类型对业务报文进行封装之后,就会将封装后的业务报文发送至转发设备。比如,在步骤206中,发送端将该业务的标签值按照MPLS封装形式将该标签值0x1234封装到业务报文中,外层封装为MPLS标签,标签值为0x1234,然后发送端就会将该封装后的业务报文发送给转发设备。
215、转发设备根据转发表对该封装后的业务报文进行相应的转发。
转发设备接收到封装后的业务报文之后,该转发设备确定该封装后的业务报文中的业务标签与该转发表中标签值一致,那么转发设备可以确定使用该转发表对该封装后的业务报文进行相应的转发。比如,在步骤214中,转发设备A根据MPLS报文转发指令“0x900412345678060606061234”生成转发表,转发设备A可以通过该封装后的业务报文外层标签值0x1234确定该转发指令为用于该封装后的业务报文的转发,就可以以MPLS报文的转发方式将该封装后的业务报文转发至目标转发设备B中,转发设备B以及转发设备C也同样按照相应的方式对该封装后的业务报文进行相应的转发,当转发设备D接收到该封装后的业务报文时,首先转发设备就会根据步骤214中生成的Egress表项以及关联的IP转发表将封装后的报文进行解封装,弹出该报文中的标签值0x1234,然后再以IP报文的行式转发至目标地址,从而实现对一次报文的完整转发。
本申请中,通过该标签值来实现转发设备根据相应的指令对该封装后的业务报文进行处理,该指令中也携带有该标签值,从而实现了通过一个业务标签来灵活的使用网络功能,实现了网络和业务的解耦,在使用网络功能时更为简单方便,实现自动的形式来提供网络服务。
本申请实施例中,控制器获取业务信息,根据该业务信息确定至少一个转发设备,然后根据业务信息以及该至少一个转发设备的网络功能信息生成指令列表,该网络功能信息用于指示转发设备的网络功能,该指令列表中包含该控制器为至少一个转发设备生成的控制指令,然后控制器就会该至少一个转发设备发送指令列表中对应的控制指令,该控制指令用于该至少一个转发设备对该业务报文进行相应的处理,因此,控制器可以通过生成指令列表,然后控制器向至少一个转发设备发送对应的控制指令,从而实现转发设备根据对应的控制指令对该业务报文进行相应的处理。因此,控制器通过业务信息生成对应的控制指令,然后控制器将对应的控制指令发送到至少一个目标转发设备中,转发设备就可以根据控制指令对该业务报文进行相应的处理,而不是依赖于报文中固定的显式路径对报文进行处理,从而提高了对报文处理的灵活性。
下面通过图3来描述控制器通过下发控制指令来实现对业务报文进行相应处理的过程。
请参阅图3,在图3的实施例中,控制器获取业务信息,通过该业务信息以及转发设备的网络功能信息生成封装指令以及转发指令,然后再将封装指令以及转发指令发送至对应的转发设备,使得转发设备对该业务报文进行相应的封装,然后在根据转发指令进行相应的转发。本申请实施例中数据处理方法的一个实施例包括:
301、转发设备生成功能指令集。
302、转发设备发送该功能指令集至控制器。
303、发送端发送业务信息至控制器。
304、控制器为该业务信息对应的业务分配业务标签。
305、控制器将该业务标签以及该业务对应的业务报文封装类型发送至发送端。
306、发送端根据业务标签以及该封装类型对该业务对应的业务报文进行封装,得到封装后的业务报文。
307、控制器确定与该业务的业务类型对应的编排模板。
308、控制器根据该业务报文的目标地址计算该业务报文的转发路径。
步骤301至步骤308与前述图2中步骤201至步骤208类似,详细描述请参见图2中步骤201至步骤208,具体此处不再赘述。
309、控制器根据转发路径确定与该编排模板对应的该转发设备的功能指令。
控制器确定了该业务报文的转发路径之后,控制器就会根据编排模板确定转发设备的功能指令。比如,控制器确定该业务报文的转发路径为图1中的A-B-C-D,控制器就可以从A、B、C和D的功能指令集中确定第一转发设备A具备MPLS封装功能、IP报文封装功能、IP报文的转发功能以及MPLS报文转发功能;B、C和D都具备IP报文的转发功能以及IP报文封装功能,那么从编排模板中确定要对报文经过A、B、C和D进行IP报文转发,由于发送端具备的封装能力为MPLS封装能力,因此发送至第一转发设备A中的报文为MPLS报文,所以第一转发设备A要将MPLS报文解封装,然后再进行IP报文的封装,所以此时控制器可以确定需要A、B、C和D的IP报文转发的功能指令、第一转发设备A的IP报文封装功能指令且第一转发设备A具备MPLS报文转发功能等,从表2中可知,IP报文转发的功能指令的操作码为“0x90”,报文类型为“0x03”,封装属性为“Outif+nexthop”;IP报文封装功能指令的操作码为“0x89”,报文类型为“0x03”,报文属性为“SrcIP+DestIP+ttl+DSCP”。
310、控制器根据转发路径以及与该编排模板对应的该转发设备的功能指令生成转发指令以及封装指令。
控制器确定了转发设备的功能指令之后,就可以根据转发路径和功能指令生成对应的转发指令以及封装指令。比如,步骤310中,控制器确定转发路径A-B-C-D,发送端的封装功能为MPLS报文封装,即发送端发送该业务报文至第一转发设备A的时候,该报文是MPLS报文的形式,而第一转发设备A能够识别MPLS报文,由于B、C和D只能转发IP报文,所以此时控制器为第一转发设备A生成IP报文封装指令以及IP报文转发指令,控制器为B、C、D生成对应的IP报文转发指令。
311、控制器将转发指令以及封装指令生成指令列表。
控制器为转发路径中的每个转发设备生成对应的指令之后,就会将这些指令生成指令列表。比如,在步骤310中,控制器为转发路径中A生成IP报文封装指令以及IP报文转发指令,控制器为B、C和D生成对应的IP报文转发指令,那么控制器生成这些指令之后,会将这些指令生成指令列表。
312、控制器将对应的封装指令以及对应的转发指令发送至对应的第一转发设备。
控制器为第一转发设备生成对应的封装指令和转发指令之后,就会将对应的指令发送至第一转发设备,该第一转发设备为具备封装能力和转发能力的设备。比如,步骤310中,控制器为第一转发设备A生成IP报文封装指令和IP报文转发指令,那么此时控制器就会向第一转发设备A发送该指令列表中的该IP报文封装指令和IP报文转发指令;控制器分别向B、C和D发送对应的IP报文转发指令。
313、第一转发设备根据转发指令生成转发表。
第一转发设备接收到控制器发送的转发指令之后,就会从转发指令中获取业务报文的类型,报文的出接口以及转发该业务报文的下一跳地址等信息,然后将这些信息生成转发表。比如,第一转发设备A从IP报文转发指令可以确定报文类型为IP报文,出接口为转发设备D,报文的下一跳地址为转发设备B。
314、发送端将封装后的业务报文发送至第一转发设备。
发送端对业务报文进行封装之后,就会将该封装后的业务报文发送至第一转发设备。比如,控制器在步骤310中确定该业务报文的转发路径为A-B-C-D,那么此时发送端就会将该封装后的业务报文发送至第一转发设备A中。
315、第一转发设备将封装后的业务报文进行解封装,得到解封装后的业务报文。
第一转发设备接收到封装后的业务报文之后,首先会对该封装后的业务报文进行解封装,得到解封装后的业务报文。比如,第一转发设备A接收到发送端发送的MPLS报文之后,就会将该MPLS报文进行解封装。
316、第一转发设备根据该对应的封装指令以及业务标签对该解封装后的业务报文进行封装,得到目标报文。
第一转发设备对封装后的业务报文解封装之后,会根据控制器发送的封装指令以及该发送端发送的业务报文中外层业务标签对该解封装的业务报文进行相应的封装,得到目标报文。比如,第一转发设备将MPLS报文解封装之后,根据接收到的IP报文封装指令以及MPLS报文外层的标签值将该解封装后的报文封装为IP报文。控制器在生成报文的转发路径之后,会根据转发路径中每个转发设备的网络功能来对应下发指令,从而实现对报文的成功转发。
317、第一转发设备根据转发表对该目标报文进行相应的转发。
第一转发设备生成转发表之后,就会根据该转发表对目标报文进行相应的转发。比如,第一转发设备A将业务报文封装为IP报文之后,就会根据IP报文转发指令生成的转发表来将该IP报文转发至目标转发设备B中,而转发设备B就会根据控制器发送的IP报文转发指令将该IP报文转发至转发设备C中,然后转发设备D会根据IP报文转发指令将IP报文转发至目标地址,从而完成一次报文的转发。
本申请实施例中,控制器可以通过确定目标业务的报文为组播报文,然后通过下发至少两条转发指令来实现组播转发,下面通过图4进行详细描述:
请参阅图4,在图4的实施例中,控制器通过确定该业务为组播业务,然后通过下发至少两条转发指令来实现对组播业务的处理。本申请实施例中数据处理方法的另一个实施例包括:
401、转发设备生成功能指令集。
402、转发设备发送该功能指令集至控制器。
403、发送端发送业务信息至控制器。
404、控制器为该业务信息对应的业务分配业务标签。
405、控制器将该业务标签以及该业务对应的业务报文的封装类型发送至发送端。
406、发送端根据该业务标签以及该业务报文的封装类型对该业务报文进行封装,得到封装后的报文。
步骤401至步骤406与前述图2中步骤201至步骤206类似,详细描述请参见图2中步骤201至步骤206,具体此处不再赘述。
407、控制器确定该业务为组播业务。
控制器可以确定该业务为组播业务,具体可以是控制器通过业务信息中包括的该业务报文的组播节点来确定该业务为组播业务,也可以是控制器通过检测确定请求该业务报文的多个接收端来确定该业务为组播业务,具体此处不做限定。
408、控制器确定该业务的业务类型对应的编排模板。
步骤408与前述图2中的步骤207类似,具体此处不再赘述。
409、控制器计算该报文的转发路径。
控制器确定该业务为组播业务之后,可以根据组播业务的相关信息计算该组播业务对应的报文的转发路径,控制器根据该转发路径确定转发设备,该转发设备包括第二转发设备,该第二转发设备为具备复制报文功能和转发报文功能的设备。具体可以是控制器通过业务信息确定组播节点,然后再根据算法计算对相应的转发路径,也可以是控制器确定该组播业务对应的报文的多个接收端的地址,然后根据算法计算出相应的转发路径。比如,在图5中,控制器确定该业务为组播业务,通过计算得到该组播业务对应的报文的转发路径有四条,具体为A-B-C-D-H、A-E、A-B-F以及A-B-C-G,那么控制器就可以确定A、B、C和D为组播结点。
410、控制器根据转发路径确定与该编排模板对应的该转发设备的功能指令。
控制器确定转发路径之后,然后确定与该编排模板对应的该转发设备的功能指令。比如,控制器确定组播业务对应的报文的转发路径为A-E、A-B-F、A-B-C-G以及A-B-C-D-H,控制器就会确定A、B、C、D、E、F和G中与编排模板中所描述的对网络功能需求对应的功能指令,控制器确定A、B、C、D、E、F、G和H具备MPLS报文转发的功能指令,且在本次转发中需要该功能指令,从表2中可知,MPLS报文转发的功能指令的操作码为“0x90”,报文类型为“0x04”,封装属性为“Outif+nexthop+outlabel”。
411、控制器根据转发路径以及与该编排模板对应的该转发设备的功能指令生成转发指令。
控制器确定转发路径之后,就会结合转发设备的功能指令生成转发指令。具体的,在步骤410中,控制器计算该组播业务对应的报文的转发路径为A-E、A-B-F、A-B-C-G以及A-B-C-D-H,控制器确定A、B、C、D、E、F和G的MPLS报文转发指令,那么对于第二转发设备A,则控制器需要生成两条转发指令,其中,一条为将该组播业务对应的报文转发至B的MPLS报文转发指令,另一条为将该组播业务对应的报文转发至E的MPLS报文转发指令,具体为如表10所示,即控制器为第二转发设备A生成两条MPLS报文转发指令。
表10
转发动作
0x90 0x04 Outif+nexthop B+outlabel 0x1234
0x90 0x04 Outif+nexthop E+outlabel 0x1234
控制器为转发设备B生成两条MPLS报文转发指令,其中,一条为将组播业务对应的报文转发至C的MPLS报文转发指令,另一条为将组播业务对应的报文转发至F的MPLS报文转发指令,具体为如表11所示,即控制为转发设备B生成两条MPLS报文转发指令。
表11
转发动作
0x90 0x04 Outif+nexthop C+outlabel 0x1234
0x90 0x04 Outif+nexthop F+outlabel 0x1234
控制器为转发设备C生成两条MPLS报文转发指令,其中,一条为将组播业务对应的报文转发至D的MPLS报文转发指令,另一条为将组播业务对应的报文转发至G的MPLS报文转发指令,具体为如表12所示,即控制器为转发设备B生成两条MPLS报文转发指令。
表12
转发动作
0x90 0x04 Outif+nexthop D+outlabel 0x1234
0x90 0x04 Outif+nexthop G+outlabel 0x1234
控制器为转发设备D生成一条MPLS报文转发指令,将组播业务对应的报文转发至转发设备G,具体如表13所示,即控制器为转发设备D生成的MPLS报文转发指令。
表13
转发动作
0x90 0x04 Outif+nexthop H+outlabel 0x1234
412、控制器将转发指令生成指令列表。
控制器为每条转发路径中的每个转发设备生成对应的转发指令之后,就会将这些转发指令生成指令列表。比如,控制器将步骤411中,控制器将生成的转发指令生成指令列表。
413、控制器将至少两条转发指令发送第二转发设备。
控制器为每条转发路径中的每个转发设备生成对应的转发指令之后,就会将至少两条转发指令发送至第二转发设备,该第二转发设备为具备复制报文功能和转发功能的设备。比如,在步骤412的指令列表中,控制器会向第二转发设备A发送两条转发指令,控制器向第二转发设备B发送两条转发指令。
414、第二转发设备根据至少两条转发指令生成至少两个转发表。
第二转发设备接收到该至少两条转发指令之后,就会根据该转发指令生成对应的转发表。比如,第二转发设备A接收到两条转发指令,那么第二转发设备A就会根据这两条转发指令生成两个对应的转发表。
415、发送端将封装后的业务报文发送至第二转发设备。
发送端利用控制器分配的业务标签按照对应的封装类型对该业务报文进行封装,然后将封装后的报文发送至第二转发设备。
416、第二转发设备按照目标次数对该业务报文进行复制,得到复制后的报文。
第二转发设备根据该至少两条转发指令生成两个对应的转发表之后,然后第二转发设备接收发送端发送的封装后的业务报文,由于第二转发设备需要对封装后的报文进行至少两次转发,所以第二转发设备就会按照目标次数复制该报文,得到复制后的报文,该目标次数比该至少两条转发指令的数量少一,因为第二转发设备转发该报文的次数与第二转发设备接收到的转发指令的数量一致,所述需要该报文的数量为该第二转发设备接收到的转发指令的数量,因此,目标次数比该第二转发设备接收到的转发指令的数量少一。比如,第二转发设备A接收到两条转发指令,那么第二转发设备A就会复制一次该报文。
417、第二转发设备根据该至少两个转发表对该业务报文以及复制后的业务报文进行相应的转发。
第二转发设备复制该业务报文之后,就会根据转发表将业务报文进行相应的转发。比如,第二转发设备A将该业务报文复制一次,得到复制后的报文以及该报文,然后根据接收到的两条转发指令对应的将该业务报文转发。因此,本申请同样适用组播业务的报文的转发,且该组播业务的报文可以为加密报文,也可以是普通报文,提高了方案的实用性。
本申请实施例中,在控制器通过下发控制指令至转发设备,转发设备执行相应的操作的过程中,图3的实施例中的对业务报文先封装之后可以结合图4的实施例中对业务报文进行组播转发,即本申请在对业务报文的处理过程中,可以是控制器下发封装指令至对应的转发设备,转发设备对该业务报文进行相应的封装之后,转发设备再根据控制下发的组播转发指令对该业务报文进行相应的组播转发;还可以是在对业务报文进行转发的过程中统计该业务报文的丢包率等信息,因此本申请在实际应用当中可以结合实际情况,控制器下发对应的控制指令实现对业务报文的处理,对此本申请不做限定。
图6示出了上述实施例中所涉及的控制器的一种可能的结构示意图,该控制器600可以实现图2、图3以及图4所示的实施例中的控制器的功能。参阅图6,该控制器600包括:第一获取单元601、第一确定单元602、生成单元603、第一发送单元604、第二获取单元605、第二确定单元606、分配单元607和第二发送单元608。这些单元可以执行上述方法实施例中控制器的相应的功能。第一获取单元601,用于支持控制器600执行图2中的过程203,图3中的过程303以及图4中的过程403;第一确定单元602,用于支持图2中的过程208、图3中的过程307以及图4中的过程409;生成单元603,用于图2中的过程207、209、以及210,图3中的过程308、309、310以及311,图4中的过程408、410、411以及412;第一发送单元604,用于支持图2中的过程212、图3中的过程312以及图4中的过程413;第二获取单元605,用于支持图2中的过程202、图3中的过程302以及图4中的过程403;第二确定单元606,用于支持图4中的过程407;分配单元607,用于支持图2中的过程204、图3中的过程304以及图4中的过程404;第二发送单元608,用于支持图2中的过程205、图3中的过程305以及图4中的过程405,和/或本文所描述的技术中控制器执行的其他过程。例如,第一获取单元601,用于执行上述方法实施例中控制器执行的业务信息的接收;第一确定单元602,用于执行上述方法实施例中控制器根据业务信息确定转发设备;生成单元603,用于执行上述方法实施例中控制器根据业务信息以及至少一个转发设备的网络功能信息生成指令列表。具体执行过程请参考上述图2、图3或图4所示实施例中相应步骤的详细描述,这里不再赘述。
图7示出了上述实施例中所涉及的转发设备的一种可能的结构示意图,该转发设备700可以实现图2、图3或图4所示的实施例中的转发设备的功能。参阅图7,该转发设备700包括:接收单元701、执行单元702、发送单元703和生成单元704。这些单元可以执行上述方法实施例中转发设备的相应功能。接收单元701,用于支持图2中的过程212、图3中的过程312以及图4中的过程413;执行单元702,用于支持图2中的过程213和215,图3中的过程313、315、316以及317,图4中的过程414、416以及417,发送单元703,用于支持图2中的过程202、图3中的过程302以及图4中的过程402。生成单元704,用于支持图2中的过程201、图3中的过程301以及图4中的过程401,和/或本文所描述的技术中控制器执行的其他过程。例如,接收单元701,用于接收控制器发送的控制指令;执行单元702,用于根据控制指令执行相应的操作。发送单元703,用于向控制器发送功能指令集。具体执行过程请参考上述图2、图3或图4所示实施例中相应步骤的详细描述,这里不再赘述。
图8示出了上述实施例中所涉及的控制器的一种可能的结构示意图,参阅图8所示,该控制器包括:处理器801、存储器802、输入输出设备803、总线804。其中,处理器801、输入输出设备803以及存储器802通过总线804相互连接;总线804可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extendedindustry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该控制器可以实现图2、图3或图4所示的实施例中的控制器的功能。处理器801和输入输出设备803可以执行上述方法示例中控制器的相应功能。输入输出设备803用于支持执行图2中的过程202、203、205以及212,图3中的过程302、303、305和312;图4中的过程402、403、405和413。处理器801用于支持控制器800执行图2中的过程204、207、208、209、210以及211,图3中的过程304、307、308、309、310以及311,图4中的过程404、407、408、409、410、411以及412,和/或本文所描述的技术中控制器800执行的其他过程。存储器802,用于存储控制器的程序代码和数据。具体执行过程请参考上述图2、3、或图4所示的实施例中相应的步骤的详细描述,这里不再一一赘述。
图9示出了上述实施例中所涉及的转发设备的一种可能的结构示意图,参阅图9所示,该转发设备包括:处理器901、存储器902、输入输出设备903、总线904。其中,处理器901、输入输出设备903以及存储器902通过总线904相互连接;总线904可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。该转发设备900可以实现图2、图3或图4所示的实施例中的转发设备的功能。处理器901和输入输出设备903可以执行上述方法示例中转发设备的相应功能。该处理器901用于支持图2中的过程201、213以及215,图3中的过程301、313、315、316以及317,图4中的过程401、414、416以及417。该输入输出设备903用于支持图2中的过程202、212以及214,图3中的过程302、312以及314,图4中的过程402、413以及415,和/或本文所描述的技术中转发设备900执行的其他过程。存储器902,用于存储控制器的程序代码和数据。具体执行过程请参考上述图2、3、或图4所示的实施例中相应的步骤的详细描述,这里不再一一赘述。
请参阅图10所示,发明实施例提供了一种报文处理的系统1000,该系统1000用于实现前述方法实施例中的报文处理的方法。该系统1000包括控制器1002和转发设备1001。该控制器1002和转发设备1001可以分别实现图2、图3、或图4所示的实施例中的控制器和转发设备的功能。例如,控制器1002执行图2中的过程202、203、204、205、207、208、209、210、211以及212,图3中的过程302、303、304、305、307、308、309、310、311以及312,图4中的过程402、403、404、405、407、408、409、410、411、412以及413,和/或用于本文所描述的技术中控制器1002执行的其它过程。转发设备1001执行图2中的过程201、202、213、214以及215,图3中的过程301、302、312、313、314、315、316以及317,图4中的过程401、402、413、414、415、416以及417,和/或用于本文所描述的技术中转发设备执行的其它过程。
在另一种可能的设计中,当该控制器或者该转发设备为终端内的芯片时,芯片包括:处理单元和通信单元,所述处理单例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该终端内的芯片执行上述第一方面或第二方面任意一项的报文处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述终端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
其中,上述任一处提到的处理器,可以是中央处理器(central processing unit,CPU)、通用处理器,数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (18)

1.一种报文处理的方法,其特征在于,所述方法包括:
控制器获取业务信息,所述业务信息包括业务的目标地址和所述业务的业务类型;
所述控制器根据所述目标地址确定所述业务信息对应的业务报文的转发路径,所述转发路径包括至少一个转发设备;
所述控制器从所述至少一个转发设备获取网络功能信息,所述网络功能信息用于指示所述至少一个转发设备的网络功能;
所述控制器确定与所述业务类型对应的编排模板,所述编排模板用于指示所述业务类型对应的对网络功能的需求;
所述控制器根据所述转发路径、所述编排模板以及所述网络功能信息生成指令列表,所述指令列表中包含所述控制器为所述至少一个转发设备生成的控制指令;
所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令,所述控制指令用于指示所述至少一个转发设备对所述业务报文进行相应的处理。
2.根据权利要求1所述的方法,其特征在于,所述网络功能信息包括功能指令集,所述功能指令集为所述至少一个转发设备向所述控制器发送的网络功能指令的集合。
3.根据权利要求1或2所述的方法,其特征在于,所述控制指令包括转发指令,所述至少一个转发设备为具备转发报文功能的设备;所述控制器根据所述转发路径、所述编排模板以及所述网络功能信息生成指令列表包括:
所述控制器确定与所述编排模板对应的所述至少一个转发设备的网络功能信息;
所述控制器根据所述与所述编排模板对应的所述至少一个转发设备的网络功能信息以及所述转发路径生成所述转发指令;
所述控制器将所述转发指令生成指令列表。
4.根据权利要求1或2所述的方法,其特征在于,所述控制指令包括转发指令;所述控制器获取业务信息之后,所述控制器根据所述业务信息以及所述网络功能信息生成指令列表之前,所述方法还包括:
所述控制器确定所述业务为组播业务。
5.根据权利要求4所述的方法,其特征在于,所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令包括:
所述控制器向所述至少一个转发设备中具备复制功能的转发设备发送所述指令列表中的至少两条转发指令,所述至少两条转发指令用于指示所述具备复制功能的转发设备对组播业务的业务报文进行复制和转发。
6.根据权利要求1或2所述的方法,其特征在于,所述控制指令包括封装指令和转发指令;所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令包括:
所述控制器向所述至少一个转发设备发送所述指令列表中对应的封装指令和对应的转发指令,以使得所述至少一个转发设备根据所述封装指令对所述业务报文进行相应的封装,得到封装后的报文;所述至少一个转发设备根据所述转发指令将所述封装后的报文进行相应的转发。
7.根据权利要求6所述的方法,其特征在于,所述业务信息包括所述业务报文的封装类型;所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令之前,所述方法还包括:
所述控制器根据所述封装类型为所述业务分配相应的业务标签。
8.根据权利要求7所述的方法,其特征在于,所述控制器根据所述封装类型为所述业务分配相应业务标签之后,所述控制器向所述至少一个转发设备发送所述指令列表中对应的控制指令之前,所述方法还包括:
所述控制器向所述业务报文的发送端发送所述业务标签以及所述封装类型,所述业务标签指示所述发送端按照所述封装类型对所述业务报文进行封装。
9.一种控制器,其特征在于,所述控制器包括:
第一获取单元,用于获取业务信息,所述业务信息包括业务的目标地址和所述业务的业务类型;
第一确定单元,用于根据所述目标地址确定所述业务信息对应的业务报文的转发路径,所述转发路径包括至少一个转发设备;
第二获取单元,用于从所述至少一个转发设备获取网络功能信息,所述网络功能信息用于指示所述至少一个转发路径的网络功能;
生成单元,用于确定与所述业务类型对应的编排模板,所述编排模板用于指示所述业务类型对应的对网络功能的需求;根据所述转发路径、所述编排模板以及所述网络功能信息生成指令列表,所述指令列表中包含所述控制器为所述至少一个转发设备生成的控制指令;
第一发送单元,用于向所述至少一个转发设备发送所述指令列表中对应的控制指令,所述控制指令用于指示所述至少一个转发设备对与所述业务报文进行相应的处理。
10.根据权利要求9所述的控制器,其特征在于,所述网络功能信息包括功能指令集,所述功能指令集为所述至少一个转发设备向所述控制器发送的网络功能指令的集合。
11.根据权利要求9或10所述的控制器,其特征在于,所述控制指令包括转发指令,所述至少一个转发设备为具备转发报文功能的设备;所述生成单元具体用于:
确定与所述编排模板对应的所述至少一个转发设备的网络功能信息;
根据所述与所述编排模板对应的所述至少一个转发设备的网络功能信息以及所述转发路径生成所述转发指令;
将所述转发指令生成指令列表。
12.根据权利要求9或10所述的控制器,其特征在于,所述控制指令包括转发指令;所述控制器还包括:
第二确定单元,用于确定所述业务为组播业务。
13.根据权利要求12所述的控制器,其特征在于,所述第一发送单元具体用于:
向所述至少一个转发设备中具备复制功能的转发设备发送所述指令列表中的至少两条转发指令,所述至少两条指令用于指示所述具备复制功能的转发设备对组播业务的业务报文进行复制和转发。
14.根据权利要求9或10所述的控制器,其特征在于,所述控制指令包括封装指令和转发指令;所述第一发送单元具体用于:
向所述至少一个转发设备发送所述指令列表中对应的封装指令和对应的转发指令,以使得所述至少一个转发设备根据所述封装指令对所述业务报文进行相应的封装,得到封装后的报文;所述至少一个转发设备根据所述转发指令将所述封装后的报文进行相应的转发。
15.根据权利要求14所述的控制器,其特征在于,所述业务信息包括所述业务报文的封装类型;所述控制器还包括:
分配单元,用于根据所述封装类型为所述业务分配相应的业务标签。
16.根据权利要求15所述的控制器,其特征在于,所述控制器还包括:
第二发送单元,用于向所述业务报文的发送端发送所述业务标签以及所述封装类型,所述业务标签指示所述发送端按照所述封装类型对所述业务报文进行封装。
17.一种控制器,其特征在于,所述控制器包括:处理器、存储器、收发器,所述处理器、存储器以及收发器通过总线连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令用于实现如权利要求1至8任一项所述的报文处理方法。
18.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8中任一项所述的方法。
CN201810186956.3A 2018-03-07 2018-03-07 报文处理方法、控制器以及转发设备 Active CN108512758B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810186956.3A CN108512758B (zh) 2018-03-07 2018-03-07 报文处理方法、控制器以及转发设备
PCT/CN2019/077009 WO2019170083A1 (zh) 2018-03-07 2019-03-05 报文处理方法、控制器以及转发设备
EP19763881.0A EP3751799A4 (en) 2018-03-07 2019-03-05 MESSAGE PROCESSING PROCESS, CONTROL DEVICE, AND ROUTING DEVICE
US17/012,982 US11546255B2 (en) 2018-03-07 2020-09-04 Packet processing method, controller, and forwarding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810186956.3A CN108512758B (zh) 2018-03-07 2018-03-07 报文处理方法、控制器以及转发设备

Publications (2)

Publication Number Publication Date
CN108512758A CN108512758A (zh) 2018-09-07
CN108512758B true CN108512758B (zh) 2021-09-14

Family

ID=63377294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810186956.3A Active CN108512758B (zh) 2018-03-07 2018-03-07 报文处理方法、控制器以及转发设备

Country Status (4)

Country Link
US (1) US11546255B2 (zh)
EP (1) EP3751799A4 (zh)
CN (1) CN108512758B (zh)
WO (1) WO2019170083A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512758B (zh) 2018-03-07 2021-09-14 华为技术有限公司 报文处理方法、控制器以及转发设备
CN112448885B (zh) * 2019-08-27 2023-06-06 华为技术有限公司 一种业务报文传输的方法及设备
CN112468396B (zh) * 2019-09-06 2022-05-31 华为技术有限公司 主机网络性能需求可编程化的方法、设备和系统
CN112511427B (zh) * 2020-01-14 2024-05-07 中兴通讯股份有限公司 段路由业务处理方法、装置、路由设备及存储介质
CN111400032B (zh) * 2020-03-02 2023-07-21 杭州迪普信息技术有限公司 一种资源分配的方法及装置
CN112511428A (zh) 2020-03-10 2021-03-16 中兴通讯股份有限公司 报文封装方法、报文转发方法、通告方法、电子设备、和存储介质
CN112134964B (zh) * 2020-10-28 2023-10-10 武汉绿色网络信息服务有限责任公司 控制器分配方法、计算机设备、存储介质及网络业务系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125089A (zh) * 2013-04-28 2014-10-29 华为技术有限公司 网络事务控制方法及执行方法及网络控制器及转发设备
CN104243299A (zh) * 2013-06-14 2014-12-24 中兴通讯股份有限公司 一种隧道处理方法及系统、控制面设备、转发面设备
WO2016058185A1 (zh) * 2014-10-17 2016-04-21 华为技术有限公司 一种通信方法、装置、控制器和转发面设备
CN105577540A (zh) * 2015-12-08 2016-05-11 中国联合网络通信集团有限公司 一种业务链路的建立方法、装置及系统
CN105827529A (zh) * 2016-05-10 2016-08-03 华为技术有限公司 一种路径建立方法及控制器
CN106790656A (zh) * 2017-01-19 2017-05-31 南京贝伦思网络科技股份有限公司 一种基于sdn的负载均衡装置及其方法
CN107181663A (zh) * 2017-06-28 2017-09-19 联想(北京)有限公司 一种报文处理方法、相关设备及计算机可读存储介质
CN107409089A (zh) * 2015-02-25 2017-11-28 华为技术有限公司 业务功能注册机制和能力索引编制

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127713B (zh) * 2007-09-05 2011-04-06 华为技术有限公司 通用流量控制装置及流量控制方法
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
CN102025541B (zh) * 2010-12-08 2014-12-10 中兴通讯股份有限公司 一种实现组播保护的方法及系统
CN102547583B (zh) * 2010-12-17 2016-01-06 上海贝尔股份有限公司 无线局域网系统中组播业务传送控制方法、装置及系统
CN102625363B (zh) * 2011-12-09 2017-08-25 南京中兴软件有限责任公司 一种移动分组域网络系统
CN102624615B (zh) * 2012-03-02 2014-11-12 杭州华三通信技术有限公司 基于mpls的组播数据报文转发方法和装置
US9467368B2 (en) * 2013-03-04 2016-10-11 Dell Products, Lp System and method for routing data to devices within an information handling system
JP2017511532A (ja) * 2014-03-18 2017-04-20 日本電気株式会社 ソフトウェア定義pciエクスプレス(pci−e)スイッチを構成する方法
US9503363B2 (en) * 2015-03-16 2016-11-22 Cisco Technology, Inc. Segment routing label switch paths in network functions virtualization communications networks
US9749229B2 (en) * 2015-07-01 2017-08-29 Cisco Technology, Inc. Forwarding packets with encapsulated service chain headers
CN106982134A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 报文生成方法、报文转发方法及装置
US10164875B2 (en) * 2016-02-22 2018-12-25 Cisco Technology, Inc. SR app-segment integration with service function chaining (SFC) header metadata
CN107204867B (zh) * 2016-03-18 2020-03-24 中兴通讯股份有限公司 一种信息传输方法、装置和系统
CN105915427B (zh) * 2016-03-31 2019-12-17 华为技术有限公司 一种报文发送、接收方法及设备
CN106130894B (zh) * 2016-06-03 2019-04-19 上海华为技术有限公司 一种业务功能链的创建方法及系统
US10848420B2 (en) * 2018-02-12 2020-11-24 Cisco Technology, Inc. Dynamic forwarding features in network elements
CN110224942B (zh) * 2018-03-01 2023-08-04 中兴通讯股份有限公司 一种报文处理方法、装置及存储介质
CN108512758B (zh) * 2018-03-07 2021-09-14 华为技术有限公司 报文处理方法、控制器以及转发设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125089A (zh) * 2013-04-28 2014-10-29 华为技术有限公司 网络事务控制方法及执行方法及网络控制器及转发设备
CN104243299A (zh) * 2013-06-14 2014-12-24 中兴通讯股份有限公司 一种隧道处理方法及系统、控制面设备、转发面设备
WO2016058185A1 (zh) * 2014-10-17 2016-04-21 华为技术有限公司 一种通信方法、装置、控制器和转发面设备
CN107409089A (zh) * 2015-02-25 2017-11-28 华为技术有限公司 业务功能注册机制和能力索引编制
CN105577540A (zh) * 2015-12-08 2016-05-11 中国联合网络通信集团有限公司 一种业务链路的建立方法、装置及系统
CN105827529A (zh) * 2016-05-10 2016-08-03 华为技术有限公司 一种路径建立方法及控制器
CN106790656A (zh) * 2017-01-19 2017-05-31 南京贝伦思网络科技股份有限公司 一种基于sdn的负载均衡装置及其方法
CN107181663A (zh) * 2017-06-28 2017-09-19 联想(北京)有限公司 一种报文处理方法、相关设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SDN学习笔记;百度用户;《百度http://blog.sina.com.cn/s/blog_768df4d70102wm0b.html》;20160908;正文第1-16页 *
网络编排技术进展研究;张晨;《技术广角》;20161231(第2016年1期);正文第1-9页 *

Also Published As

Publication number Publication date
CN108512758A (zh) 2018-09-07
EP3751799A4 (en) 2021-03-10
WO2019170083A1 (zh) 2019-09-12
US11546255B2 (en) 2023-01-03
US20200403910A1 (en) 2020-12-24
EP3751799A1 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
CN108512758B (zh) 报文处理方法、控制器以及转发设备
US11082342B2 (en) System and method to facilitate content forwarding using Bit Index Explicit Replication (BIER) in an Information-Centric Networking (ICN) environment
EP3154227B1 (en) Packet transmission method, node, path management server and storage medium
US20160006614A1 (en) Source Routing Using Path Computation Elements
KR20210073581A (ko) 패킷 처리 방법, 관련 기기 및 컴퓨터 저장 매체
WO2019101041A1 (zh) 一种通信方法及其装置
WO2022001835A1 (zh) 发送报文的方法、装置、网络设备、系统及存储介质
CN114128228B (zh) 通过SRv6头传输MTNC-ID以实现5G传输
WO2017143723A1 (zh) 一种实现服务质量控制的方法、装置及系统
WO2021196967A1 (zh) 消息交互方法、装置、设备和存储介质
WO2015055058A1 (zh) 转发表项生成的方法、转发节点和控制器
WO2021129014A1 (zh) 传输数据报文的方法、装置及系统
CN108270673A (zh) 报文发送方法、装置以及系统
WO2021190009A1 (zh) 性能测量方法、装置、设备和存储介质
JP2015534793A (ja) パケットを送信するための方法、ルーティング・ブリッジ、およびシステム
WO2020249035A1 (zh) 一种实现业务功能处理的方法及装置
CN113055293B (zh) 软件定义广域网中的选路方法及装置、通信系统
CN114710975B (zh) 一种用于多域间传输多传输网络上下文标识的方法、基站、网元及装置
CN114128227B (zh) 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
CN113965518A (zh) 一种报文处理的方法及设备
US20230216792A1 (en) Method for Generating Routing Information, Method for Sending Location Information, Method for Forwarding Packet, and Device
WO2020114083A1 (zh) 一种ioam信息的处理方法和装置
WO2015096734A1 (zh) 一种业务数据的下行传输方法及分组数据网关
US8583822B2 (en) Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet
CN112995062B (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