[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115150280A - 一种数据包发送方法及设备 - Google Patents

一种数据包发送方法及设备 Download PDF

Info

Publication number
CN115150280A
CN115150280A CN202110352350.4A CN202110352350A CN115150280A CN 115150280 A CN115150280 A CN 115150280A CN 202110352350 A CN202110352350 A CN 202110352350A CN 115150280 A CN115150280 A CN 115150280A
Authority
CN
China
Prior art keywords
network device
network
group
forwarding path
data packet
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
CN202110352350.4A
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 CN202110352350.4A priority Critical patent/CN115150280A/zh
Priority to EP22778663.9A priority patent/EP4297361A4/en
Priority to PCT/CN2022/082229 priority patent/WO2022206480A1/zh
Publication of CN115150280A publication Critical patent/CN115150280A/zh
Priority to US18/477,149 priority patent/US20240022501A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/17Shortcut routing, e.g. using next hop resolution protocol [NHRP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Landscapes

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

Abstract

本申请实施例提供了一种数据包发送方法及设备,用于根据所需要的数据包将多个网络设备划分为多个网络设备组,并向网络设备组发送其所需要的数据包。其中,数据包发送方法包括:确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。

Description

一种数据包发送方法及设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据包发送方法及设备。
背景技术
路由器或交换机等网络设备在网络系统中承担着转发报文等作用。随着网络的升级,网络设备需要执行的任务越来越复杂,导致传统的网络设备可能难以满足日益增长的业务需求。那么,为了满足业务需求,可以在网络设备中安装专用的软件或应用程序(Application,APP),从而通过这些软件或应用程序完成特定的任务。
与安装在个人电脑(Personal Computer,PC)、手机等计算机设备中的软件或应用程序相同,安装在网络设备中的软件或应用程序也可能需要更新升级。但是与个人电脑等计算机设备不同的是,网络设备可能无法直接从网络上下载用于升级软件或应用程序的数据包。因此,为了升级安装在网络设备中的软件或应用程序,网络系统中的控制设备可以通过与网络设备之间的连接向网络设备发送数据包。网络设备在接收到数据包后,可以通过该数据包升级软件或应用程序。
但是,在传统的数据包发送方法中,控制设备只能向多个网络设备发送相同的数据包,不能满足不同网络设备使用不同数据包的需求。
发明内容
本申请实施例提供了一种数据包发送方法即设备,用于根据所需要的数据包将多个网络设备划分为多个网络设备组,并向网络设备组发送其所需要的数据包,以便网络设备能够获取到所需要的数据包。
第一方面,提供了一种数据包发送方法,该方法应用于控制设备,控制设备为网络系统中用于控制管理其他网络设备的设备。该方法具体包括如下步骤:控制设备先确定多个网络设备中网络设备需要使用的一个或多个数据包,该一个或多个数据包为该网络设备对应的数据包集合。由于网络设备所需要的数据包可能不同,多个网络设备中任意两个网络设备对应的数据包集合可以不完全相同。在确定数据包集合后,控制设备可以根据多个网络设备的数据包集合生成多个对应关系,该对应关系为数据包组和网络设备组之间的对应关系。网络设备组包括前述多个网络设备中的一个或多个网络设备,数据包组包括一个或多个数据包。与数据包组相对应的网络设备组中任意一个网络设备的数据包集合包括数据包组。也就是说,与某个网络设备组对应的数据包组为该网络设备所需要使用的数据包。在确定对应关系后,控制设备可以根据对应关系向网络设备组中的网络设备发送该网络设备组对应的数据包组。这样,由于数据包组中的包括的数据包为网络设备组中网络设备需要使用的数据包,根据对应关系向网络设备发送对应的数据包组,可以使得网络设备可以接收到自身所需要的数据包。如此,控制设备可以在一次升级任务中确定每个网络设备所需要的数据包,指定每个网络设备需要获取哪些数据包,从而向不同的网络设备发送其各自所需要的数据包。
所述控制设备根据对应关系向网络设备发送对应的数据包组可以由如下两种可能的实现方式:
实现方式一:所述控制设备根据对应关系向网络设备组中每个网络设备发送该网络设备组对应的数据包组。
实现方式二:所述控制设备根据对应关系向网络设备组中某一个网络设备发送该网络设备组对应的数据包组。
上述两种可能的实现方式并不构成对本申请实施例的限定,本领域技术人员可以根据实际情况自行设计。
作为一种可能的设计,在控制设备向网络设备组中某个网络设备发送数据包组之前,控制设备可以先确定转发路径。该转发路径表示数据包组在网络设备组中各个网络设备之间传输的先后关系。具体地,控制设备可以先根据网络设备组中网络设备的网络拓扑信息确定数据包组的转发路径,再向转发路径中首个网络设备发送转发路径的信息,和与该网络设备组对应的数据包组。其中,转发路径的信息可以用于转发路径上的网络设备转发数据包组。这样,在接收到数据包组和转发路径的信息之后,转发路径中首个网络设备可以将数据包组沿转发路径发送给下一跳网络设备,从而确保数据包组能够沿转发路径传输。
作为一种可能的设计,控制设备可以在确定转发路径时先确定转发路径中首个网络设备。在确定首个网络设备时,控制设备可以先根据网络设备组中各个网络设备与控制设备之间的跳数将网络设备组中一个或多个网络设备确定为候选设备。例如可以将跳数小于预设值的网络设备确定为候选设备。接着,控制设备可以从已确定的一个或多个候选设备中选择一个网络设备作为首个网络设备,再根据首个网络设备和网络设备组中其他网络设备的网络拓扑信息确定数据包组的转发路径。
作为一种可能的设计,当控制设备确定多个候选设备时,控制设备可以根据候选设备的参考信息确定首个网络设备。具体的,控制设备可以先获取多个候选设备中每个候选设备的参考信息,该参考信息可以体现候选设备的工作状态。接着,控制设备可以根每个候选设备的参考信息从多个候选设备中确定最合适的候选设备作为首个网络设备。这样,既考虑到了网络设备与控制设备之间的距离,即网络设备到控制设备的跳数,又考虑到了网络设备自身的实际工作状态,可以确保最终得到的首个网络设备为网络设备组中最适合的网络设备,从而提高数据包组的转发效率。
作为一种可能的设计,控制设备可以通过报文获取候选设备的参考信息。例如,候选设备可以基于网络配置(Network Configuration,NETCONF)协议或简单网络管理协议(Simple Network Management Protocol,SNMP)向控制设备发送报文,该报文中携带有该候选设备的参考信息。
作为一种可能的设计,候选设备的参考信息可以包括候选设备的性能信息、候选设备距离控制设备的跳数、候选设备支持分片的最大数量和候选设备的未命中率。其中,候选设备的性能信息例如可以包括候选设备的内存占用率和带宽占用率等信息,用于描述候选设备自身的工作状态。候选设备支持分片的最大数量表示候选设备在转发数据包组时最多能将每个数据包拆分为多少个子数据包组。候选设备的未命中率是指该候选设备在历史各次发送数据包组的过程中未被选做首个网络设备的概率。
作为一种可能的设计,转发路径中首个网络设备可以根据控制设备发送的转发路径的信息确定自身在转发路径中对应的下一跳网络设备,从而向该下一跳网络设备转发数据包组。即所述转发路径的信息用于首个网络设备向所述转发路径上的下一跳网络设备转发数据包组。
作为一种可能的设计,除了首个网络设备以外,控制设备还可以向转发路径上的其他网络设备发送转发路径的信息,即控制设备可以向转发路径上每个网络设备发送转发路径的信息。
作为一种可能的设计,所述控制设备基于路径计算元素协议(Path ComputationElement Protocol,PCEP)向所述转发路径的首个网络设备发送所述转发路径的信息
作为一种可能的设计,控制设备可以先对数据包组中包括的一个或多个数据包进行分片,再向网络设备组中的网络设备发送片配后的数据包组。以数据包组包括第一数据包组,第一数据包组对应第一网络设备组为例。控制设备在向第一网络设备组中的网络设备发送第一数据包组之前,网络设备可以先对第一数据包组进行分片,得到多个第一子数据包组。接着,控制设备可以向第一网络设备组中的网络设备按序或并行发送多个第一子数据包组。这样,当数据包的大小较大时,可以将较大的数据包拆分为多个分片后的数据包,从而提高数据包的发送效率。
作为一种可能的设计,所述控制设备可以基于文件传输协议(File TransferProtocol,FTP)或安全文件传输协议(Secure File Transfer Protocol,SFTP),根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
作为一种可能的设计,所述转发路径包括所述首个网络设备分别到所述网络设备组中其他网络设备的最短路径。
作为一种可能的设计,所述数据包为APP或软件版本或软件版本的补丁。
第二方面,本申请实施例提供了一种数据包发送方法,该方法应用于第一网络设备,第一网络设备为网络系统中需要数据包的网络设备。该方法具体包括如下步骤:第一网络设备先接收来自第一设备的第一数据包组,并获取第一数据包组的转发路径的信息。其中,第一数据包组包括一个或多个数据包。转发路径的信息可以用于指示第一网络设备需要将第一数据包组发送给哪个网络设备,例如可以用于指示下一跳网络设备为第二网络设备。接着,第一网络设备可以对第一数据包组进行复制,得到第二数据包组,并根据转发路径的信息向第二网络设备发送第二数据包组。其中,第一设备可以是控制设备或第三网络设备,转发路径的信息是网络系统中的控制设备确定的。这样,网络设备中任意一个网络设备均可以根据转发路径的信息向自身对应的下一跳网络设备发送数据包组,从而使得网络设备组中每个网络设备都能够接收到所需要的数据包。如此,控制设备可以在一次升级任务中确定每个网络设备所需要的数据包,指定每个网络设备需要获取哪些数据包,从而向不同的网络设备发送其各自所需要的数据包,以便网络设备根据各自所需的数据包更新软件或应用程序。
所述第一网络设备可能属于第一数据包组对应的网络设备组,可能不属于第一数据包组对应的网络设备组。相应的,在接收到第一数据包后,如果属于第一数据包组对应的网络设备组,第一网络设备可以缓存第一数据包组,以便根据第一数据包组更新软件或应用程序;如果不属于第一数据包组对应的网络设备组,第一网络设备可以不缓存第一数据包组,直接向第二网络设备发送数据包组。
作为一种可能的设计,第一网络设备可以接收来自控制设备或第一设备的第一数据包组的转发路径的信息。其中,第一设备可以是控制设备或第三网络设备。可选地,当第一网络设备为转发路径中首个网络设备时,第一网络设备可以接收来自控制设备的转发路径的信息。当第一网络设备不为转发路径中首个网络设备,且控制设备向转发路径中每个网络设备发送转发路径的信息时,第一网络设备可以接收来自控制设备的转发路径的信息。当第一网络设备不为转发路径中首个网络设备,且控制设备仅向转发路径中首个网络设备发送转发路径的信息时,控制设备可以接收来自第三网络设备的转发路径的信息。其中,第三网络设备可以是第一网络设备的上一跳网络设备。
作为一种可能的设计,所述第一网络设备可以基于PCEP接收来自控制设备的所述第一数据包组的转发路径的信息。
作为一种可能的设计,所述第一网络设备可以基于FTP或STFP接收来自第一设备的第一数据包组。
作为一种可能的设计,在向第二网络设备发送第二数据包组之前,第一网络设备可以先对第二数据包组进行分片,得到多个第二子数据包组。接着,第一网络设备可以根据所述转发路径的信息按序或并行向所述第二网络设备发送所述多个第二子数据包组。
作为一种可能的设计,所述第一设备为控制设备或第三网络设备。
作为一种可能的设计,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
第三方面,本申请实施例提供了一种控制设备,应用于包括控制设备和多个网络设备的网络系统,所述控制设备为所述网络系统中的控制设备,所述控制设备包括:处理单元,用于确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;发送单元,用于根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
作为一种可能的设计,所述处理单元单元,用于根据所述网络设备组中网络设备的网络拓扑信息确定所述数据包组的转发路径;所述发送单元,用于向所述转发路径的首个网络设备发送所述转发路径的信息和对应的数据包组,所述转发路径的信息用于所述转发路径上的网络设备转发所述数据包组。
作为一种可能的设计,所述处理单元,用于根据与所述控制设备之间的跳数将所述网络设备组中的一个或多个网络设备确定为候选设备;从一个或多个候选设备中确定所述首个网络设备;根据所述首个网络设备和所述网络设备组中其他网络设备的网络拓扑信息确定所述数据包组的转发路径。
作为一种可能的设计,所述候选设备的数目为多个;所述处理单元,用于获取所述多个候选设备中每个候选设备的参考信息;根据所述每个候选设备的参考信息从所述多个候选设备中确定所述首个网络设备。
作为一种可能的设计,所述处理单元,用于接收所述多个候选设备中每个候选设备的报文,所述报文为基于Netconf协议的报文或基于简单网络管理协议SNMP的报文,所述报文中携带所述网络设备的参考信息。
作为一种可能的设计,所述参考信息包括以下其中一项或多项:网络设备性能信息、距离所述控制设备的跳数、支持分片的最大数量和未命中率;其中,所述未命中率是指所述网络设备未被选做首个网络设备的概率。
作为一种可能的设计,所述转发路径的信息用于所述首个网络设备向所述转发路径上的下一跳网络设备转发所述数据包组。
作为一种可能的设计,所述发送单元,还用于向所述转发路径上的其他网络设备发送所述转发路径的信息。
作为一种可能的设计,所述发送单元,用于基于路径计算元素协议PCEP向所述转发路径的首个网络设备发送所述转发路径的信息。
作为一种可能的设计,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
作为一种可能的设计,所述数据包组包括第一数据包组,与所述第一数据包组对应的网络设备组为第一网络设备组;所述处理单元,用于对所述第一数据包组进行分片,得到多个第一子数据包组;所述发送单元,用于向所述第一网络设备组的网络设备按序或并行发送所述多个第一子数据包组。
作为一种可能的设计,所述发送单元,用于基于文件传输协议FTP或安全文件传输协议STFP,根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
作为一种可能的设计,所述转发路径包括所述首个网络设备分别到所述网络设备组中其他网络设备的最短路径。
作为一种可能的设计,所述数据包为应用程序APP或软件版本或软件版本的补丁。
第四方面,本申请实施例提供了一种网络设备,应用于包括多个网络设备的网络系统,所述多个网络设备包括第一网络设备、第二网络设备和第一设备,所述网络设备为所述第一网络设备,所述网络设备包括:接收单元,用于接收来自第一设备的第一数据包组,并获取所述第一数据包组的转发路径的信息,所述转发路径的信息用于指示所述第一网络设备的下一跳网络设备为第二网络设备,所述第一数据包组包括一个或多个数据包;处理单元,用于对所述第一数据包组进行复制,得到第二数据包组;发送单元,用于根据所述转发路径的信息向所述第二网络设备发送所述第二数据包组。
作为一种可能的设计,所述网络系统还包括控制设备;所述接收单元,用于接收来自控制设备或所述第一设备的所述第一数据包组的转发路径的信息。
作为一种可能的设计,所述接收单元,用于基于路径计算元素协议PCEP接收来自控制设备的所述第一数据包组的转发路径的信息。
作为一种可能的设计,所述接收单元,用于基于文件传输协议FTP或安全文件传输协议STFP接收来自第一设备的第一数据包组。
作为一种可能的设计,所述处理单元,用于对所述第二数据包组进行分片,得到多个第二子数据包组;所述发送单元,用于根据所述转发路径的信息按序或并行向所述第二网络设备发送所述多个第二子数据包组。
作为一种可能的设计,所述第一设备为控制设备或第三网络设备。
作为一种可能的设计,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
第五方面,提供了一种设备,应用于包括多个设备的网络系统,多个设备包括控制设备和网络设备,该设备为控制设备,该控制设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第一方面或第一方面的任意一种可能的设计中的方法。
在一种可能的设计中,该控制设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第一方面或第一方面的任意一种可能的设计中的方法。
第六方面,提供了一种设备,应用于包括多个设备的网络系统,多个设备包括控制设备和网络设备,该设备为网络设备,该网络设备包括:处理器和网络接口。网络接口用于报文的接收和发送。处理器用于执行前述第二方面或第二方面的任意一种可能的设计中的方法。
在一种可能的设计中,该网络设备还包括存储器,存储器可以用于存储指令或程序代码。处理器用于调用存储器中的指令或程序代码执行前述第二方面或第二方面的任意一种可能的设计中的方法。
第七方面,提供了一种网络系统,所述网络系统包括如第三方面所述的控制设备和如第四方面所述的网络设备,或,包括如第五方面所述的控制设备或如第六方面所述的网络设备。
第八方面,提供了一种计算机可读存储介质,包括指令、程序或代码,当其在计算机上执行时,使得所述计算机执行如前述第一方面或第二方面的任意一种可能的实现方式之一所述的方法。
第九方面,提供了一种包括计算机指令的计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行第一方面或第二方面的任意一种可能的实现方式之一提供的方法。
第十方面,提供了一种芯片,包括存储器和处理器。存储器用于存储指令或程序代码。处理器用于从存储器中调用并运行该指令或程序代码,以执行上述第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法。
第十一方面,提供了一种芯片,上述芯片包括处理器,但不包括存储器,处理器用于读取并执行所述芯片外的存储器中存储的指令或程序代码,当指令或程序代码被执行时,处理器执行第一方面或第一方面的任意一种可能的设计中的方法;或,处理器执行第二方面或第二方面任意一种可能的设计中的方法。
附图说明
图1为本申请实施例提供的网络系统100的一种结构示意图;
图2为本申请实施例提供的一种数据包发送方法的信令交互图;
图3为本申请实施例提供的一种数据包发送方法的信令交互图;
图4为本申请实施例提供的一种数据包发送方法的信令交互图;
图5为本申请实施例提供的一种控制设备的结构示意图;
图6为本申请实施例提供的一种网络设备的结构示意图;
图7为本申请实施例提供的一种网络系统的结构示意图;
图8为本申请实施例提供的一种设备的结构示意图;
图9为本申请实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图对传统技术和本申请实施例提供数据包发送方法进行介绍。
参见图1,该图为网络系统100的一种结构示意图。该网络系统100中可以包括控制设备110、网络设备121、网络设备122、网络设备123和网络设备124。其中,控制设备110分别与网络设备121和网络设备122连接,网络设备121分别与网络设备122和网络设备123连接,网络设备123分别与网络设备121和网络设备124连接。网络设备121、网络设备122、网络设备123和网络设备124中可以安装有软件或者应用程序,以便通过运行软件或应用程序执行相应的任务。
在传统技术中,当网络设备需要更新已安装的软件或应用程序,或需要安装新的软件或应用程序时,控制设备可以创建升级任务,该升级任务对应需要数据包的一个或多个网络设备。控制设备可以根据升级任务向该一个或多个网络设备发送数据包,以便这些网络设备在接收到数据包后利用数据包升级已有的软件或应用程序,或安装新的软件或应用程序。
例如,假设网络设备121、网络设备122、网络设备123和网络设备124中安装的软件A需要升级,那么控制设备110可以创建软件A的升级任务,并通过网络连接向上述网络设备发送升级软件A所需要的数据包。在接收到控制设备110发送的数据包后,上述网络设备可以根据数据包升级软件A。
但是,这种方法中只适用于每个网络设备所需要的数据包相同的情况。如果不同网络设备所需的数据包不同,由于控制设备只能在一次升级任务中指定网络设备需要共同下载的数据包,无法在一个升级任务中向不同的网络设备发送不同的数据包,网络设备无法获取自身所需要的数据包。
例如,假设网络设备121和网络设备123升级软件需要数据包M和数据包N,而网络设备122和网络设备124升级软件需要数据包M和数据包X。那么,由于控制设备110无法向不同网络设备发送不同的数据包,网络设备121、网络设备122、网络设备123和网络设备124中的一个或多个网络设备可能无法接收到所需的数据包,导致该网络设备中的软件或应用程序无法升级。
为了解决上述技术问题,本申请实施例提供了一种数据包发送方法。该方法可以应用于包括控制设备的网络系统,控制设备可以根据所需要的数据包将多个网络设备划分为多个网络设备组,并向网络设备组发送其所需要的数据包,使得控制设备能够在一次升级任务中向特定的网络设备发送其所需要的数据包,以便网络设备能够获取到所需要的数据包。
需要说明的是,本申请实施例中所提及的数据包可以是软件或应用程序的更新数据包、版本数据包或补丁数据包,也可以是网络设备所需的文件或文件夹。本申请实施例对数据包的具体内容不做限定。
本申请实施例提供的方法可以应用于图1所示的网络架构。其中,网络设备121、网络设备122、网络设备123和网络设备124可以是路由器(router)、交换机(switch)等支持路由功能的实体设备,也可以是部署虚拟路由器或虚拟交换机的服务器,用于传输网络系统中的报文,或传输控制设备发送的数据包或转发路径。控制设备110可以是网管设备或控制器。
参见图2,该图为本申请实施例提供的一种数据包发送方法的交互示意图。本申请实施例提供的数据包发送方法包括如下步骤:
S201:控制设备确定多个网络设备中每个网络设备对应的数据包集合。
在发送数据包之前,控制设备可以先确定多个网络设备中每个网络设备对应的数据包集合。其中,所述控制设备可以是图1所示实施例中控制设备110,所述多个网络设备可以包括图1所示实施例中网络设备121、网络设备122、网络设备123和网络设备124。网络设备对应的数据包集合可以包括该网络设备所需要的一个或多个数据包。例如,假设网络设备121需要数据包M和数据包N,那么网络设备121对应的数据包集合可以包括数据包M和数据包N。
可选地,该数据包可以为应用程序或软件的版本数据包或补丁数据包。其中,版本数据包可以用于升级应用程序或软件的版本,补丁数据包可以用于修复应用程序或软件的故障或漏洞。
在本申请实施例中,不同网络设备对应的数据包集合可以不同。例如,网络设备121对应的数据包集合可以包括数据包M和数据包N,网络设备122对应的数据包集合可以包括数据包X和数据包M。多个网络设备中每个网络设备对应的数据包集合可以由技术人员在控制设备中配置。
S202:控制设备根据所述多个网络设备的数据包集合生成多个对应关系。
在确定多个网络设备中每个网络设备对应的数据包集合后,控制设备可以根据数据包集合生成多个网络设备中每个网络设备的对应关系,该对应关系为数据包组和网络设备组之间的对应关系。
其中,网络设备组可以包括一个或多个网络设备。数据包组可以包括一个或多个数据包,该一个或多个数据包为与该数据包组相对应的网络设备组中全部网络设备所需要的数据包。可选地,不同网络设备组中可以包括相同的网络设备。例如,假设网络设备121和网络设备123需要数据包M和数据包N,那么控制设备可以将网络设备121和网络设备123划分为一个网络设备组,该网络设备组对应的数据包组可以包括数据包M和数据包N。
当然,在本申请实施例中,数据包组和网络设备组也可以有多种划分方法。例如,由于网络设备121、网络设备122、网络设备123和网络设备124都需要数据包M,那么将网络设备121、网络设备122、网络设备123和网络设备124划分为一个网络设备组,该网络设备组对应的数据包组可以包括数据包M。
在生成对应关系时,控制设备可以对多个网络设备的数据包集合进行分析,将数据包集合包括相同数据包的网络设备划分到一个网络设备组中,再从该网络设备组中网络设备对应的数据包集合中选择相同的数据包作为与该网络设备组相对应的数据包组,从而得到网络设备组与数据包组之间的对应关系。
在得到网络设备组与数据包组之间的对应关系之后,控制设备可以向网络设备组的网络设备发送对应的数据包组。在一种可能的实现中,控制设备可以分别向网络设备组中每个网络设备发送数据包组。
在一些其他可能的实现中,控制设备可以向网络设备组中某一个网络设备发送数据包组,再由该网络设备将数据包组转发给其他网络设备。可选地,控制设备可以向网络设备组中任意一个网络设备发送数据包组,再由该网络设备将数据包组转发给网络设备组中其他的网络设备。
在本申请实施例中,控制设备还可以根据网络设备组中各个网络设备的信息确定最合适的转发路径,再根据转发路径发送数据包组,从而提高数据包组的转发效率。下面对这种方法进行详细介绍。
S203:控制设备根据所述网络设备组中网络设备的网络拓扑信息确定所述数据包组的转发路径。
在向网络设备组中的网络设备发送数据包组之前,控制设备可以先根据网络设备组中多个网络设备的网络拓扑信息确定数据包组的转发路径。其中,网络拓扑信息表示网络系统中各个网络设备之间的连接关系,转发路径为数据包组到达网络设备组中各个网络设备的先后关系。可选地,控制设备可以通过接收网络设备发送的报文获取网络拓扑信息,也可以接收技术人员手动设置的网络拓扑信息。
在根据网络拓扑信息确定转发路径时,控制设备可以先确定转发路径中首个网络设备,即第一个接收到控制设备发送的数据包组的网络设备。在本申请实施例中,控制设备可以采用两种不同的方式从网络设备组的网络设备中确定转发路径中首个网络设备。下面分别对这两种方式进行介绍。
在第一种可能的实现中,控制设备可以将网络设备组中距离控制设备最近的网络设备确定为转发路径中首个网络设备。其中,网络设备与控制设备之间的距离可以指控制设备到网络设备之间的跳数,即一条报文从控制设备传输到网络设备的过程中需要经过的网络设备的数量的最小值。那么在确定转发路径中首个网络设备时,控制设备可以将跳数最少的网络设备确定为转发路径中的首个网络设备。
以图1所示的网络系统100为例进行说明,控制设备110发送的报文传输到网络设备121需要经过一个网络设备(即网络设备121),那么控制设备110与网络设备121之间的跳数可以为1,而控制设备110发送的报文传输到网络设备123需要经过两个网络设备(即网络设备121和网络设备123),那么控制设备110与网络设备122之间的跳数可以为2,那么控制设备可以选择跳数最小的网络设备121作为转发路径中第一个网络设备。
在第二种可能的实现中,控制设备可以先从网络设备组的多个网络设备中选出一个或多个网络设备作为候选设备,再从候选设备中确定转发路径中首个网络设备。可选地,控制设备可以根据网络设备与控制设备之间的跳数确定候选设备。例如,控制设备可以将与控制设备之间的跳数小于或等于预设阈值的网络设备作为候选设备,也可以将跳数最小的m个网络设备作为候选设备,m为大于或等于1的正整数。
当候选设备的数量为1个时,控制设备可以将该候选设备确定为转发路径中首个网络设备;当候选设备的数量为多个时,控制设备可以进一步从这些候选设备中确定首个网络设备。
在本申请实施例中,控制设备可以根据多个候选设备中每个候选设备的参考信息确定首个网络设备。候选设备的参考信息可以体现该候选设备传输数据包的能力。可选地,候选设备的参考信息可以包括该候选设备的性能信息、该候选设备距离控制设备的跳数、该候选设备支持分片的最大数量和该候选设备的未命中率等信息中的任意一种或多种。其中,候选设备的性能信息可以包括候选设备的中央处理器(Central Processing Unit,CPU)空闲率、候选设备的内存空闲率和候选设备的带宽空闲率等信息;分片是指将一个数据包拆分成多个数据片并按顺序或并行传输;候选设备支持分片的最大数量是指候选设备最多能够将数据包拆分为几个数据片并传输,关于分片的介绍可以参见S204;候选设备的未命中率是指该候选设备在过去传输数据包的过程中未被选中为首个网络设备的概率,例如,假设控制设备110一共发送过4次数据包,网络设备121有三次作为转发路径中首个网络设备,那么网络设备121的未命中率为3/4=75%。
在根据参考信息确定首个网络设备前,控制设备可以先获取多个候选设备中每个网络设备的参考信息。可选地,候选设备可以将自身的参考信息携带在报文中发送给候选设备。在一些可能的实现中,候选设备可以基于网络配置(Network Configuration,NETCONF)协议或简单网络管理协议(Simple Network Management Protocol,SNMP)向控制设备发送报文。
在获取到多个参考信息后,控制设备可以根据多个候选设备中每个候选设备的参考信息从多个候选设备中选择首个网络设备。根据前文介绍可知,参考信息可以包括候选设备的多个信息,那么控制设备可以选择参考信息中某项信息最优的候选设备作为首个网络设备,例如控制设备可以选择未命中率最高的候选设备首个网络设备。当然,控制设备还可以结合参考信息中多项信息确定首个网络设备。
举例说明。当参考信息包括候选设备的CPU空闲率、候选设备的内存空闲率、候选设备的带宽空闲率、候选设备距离控制设备的跳数、候选设备支持分片的最大数量和候选设备的未命中率时,控制设备可以根据参考信息计算每个候选设备的综合值。综合值的计算公式为:综合值=(候选设备的CPU空闲率*20%+候选设备的内存空闲率*20%+候选设备的带宽空闲率*20%+候选设备距离控制设备的跳数*20%+候选设备支持分片的最大数量*20)*未命中率。
在计算得到多个候选设备中每个候选设备的综合值后,控制设备可以将综合值最高的候选设备确定为转发路径中首个网络设备。这样,既考虑到了网络设备组中每个网络设备自身的工作情况,还可以到了数据包可能对网络设备的负载的影响,进一步提升发送数据包的效率。
在确定转发路径中首个网络设备后,控制设备可以进一步根据首个网络设备和网络设备组中其他网络设备的网络拓扑信息确定数据包组的转发路径。可选地,转发路径可以包括首个网络设备,和首个网络设备到网络设备组中其他各个网络设备的最短路径。那么在确定转发路径时,控制设备可以根据网络设备组中各个网络设备之间的跳数确定转发路径。例如,控制设备可以从网络设备组中选择距离首个网络设备跳数最短的网络设备作为转发路径中第二个网络设备,从而依次确定网络设备组中各个网络设备在转发路径中的顺序。
下面图1为例,对控制设备生成对应关系和确定首个网络设备的过程进行说明。假设网络设备121需要数据包M、数据包N、数据包X和数据包Y,网络设备122需要数据包M、数据包N和数据包Y,网络设备123需要数据包M、数据包N和数据包X,网络设备124需要数据包X、数据包N和数据包Y。
在生成对应关系时,控制设备110可以将数据包M和数据包N划分为数据包组A1,将数据包X划分为数据包组B1,将数据包Y划分为数据包组C1。那么,与数据包组A1对应的网络设备组A2包括网络设备121、网络设备122、网络设备123和网络设备124,与数据包组B1对应的网络设备组B2包括网络设备121和网络设备123。与数据包组C1对应的网络设备组C2包括网络设备121、网络设备122和网络设备124。
在生成对应关系之后,控制设备110可以分别确定每个网络设备组对应的转发路径。例如,在确定数据包组A1对应的转发路径时,控制设备110可以将网络设备121确定为转发路径中的首个网络设备。而在确定数据包组B1对应的转发路径时,由于网络设备121距离控制设备110的跳数为1,小于网络设备123距离控制设备110的跳数2,控制设备110可以将网络设备121确定为首个网络设备。在确定数据包组C1的转发路径时,由于网络设备121距离控制设备110的跳数和网络设备122距离控制设备110的跳数相同,且网络设备121已作为数据包组B1的转发路径中首个网络设备。控制设备110可以将网络设备122确定为数据包组C1的转发路径中的首个网络设备。
在确定数据包组的转发路径后,控制设备可以将该数据包组发送给转发路径中首个网络设备,再由该首个网络设备将数据包发送给转发路径中其他网络设备,从而使得网络设备组中每个网络设备可以接收到所需要的数据包组。
在一些可能的实现中,网络设备组中某个网络设备可能不与该网络设备组中其他的网络设备相连。那么为了实现报文的正常传输,转发路径可以包括网络设备组以外的其他网络设备。这些网络设备组以外的网络设备被称为中转网络设备,用于转发数据包组。关于中转网络设备在接收到数据包组后执行的动作可以参见S205的描述,这里不再赘述。
下面以控制设备向第一数据包组对应的第一网络设备组发送第一数据包组为例进行介绍。
S204:控制设备向第一数据包组的转发路径上首个网络设备发送第一数据包组和转发路径的信息。
在确定第一数据包组的转发路径之后,控制设备可以向该转发路径上首个网络设备发送第一数据包组和转发路径的信息。下面分别对控制设备发送第一数据包和发送转发路径的信息进行介绍。
首先介绍控制设备发送第一数据包的方法。
在本申请实施例中,控制设备可以基于文件传输协议(File Transfer Protocol,FTP)或安全文件传输协议(Secure File Transfer Protocol,SFTP)向首个网络设发送第一数据包组。在发送第一数据包组之前,控制设备可以先通知网络设备组中全部网络设备部署FTP或SFTP等文件传输协议。
可选地,在发送第一数据包组时,控制设备可以先向首个网络设备发送第一数据包组中每个数据包的标识。在接收到这些数据包的标识后,首个网络设备可以从控制设备中下载第一数据包组
在一些可能的实现中,控制设备可以将第一数据包组中包括的一个或多个数据包进行分片,再向首个网络设备发送分片后的数据包。具体地,控制设备可以将第一数据包组分片为多个第一子数据包组,每个第一子数据包组对应第一数据包组中一个数据包。例如,控制设备可以根据预设长度将第一数据包组中每个数据包拆分为长度小于预设长度的一个或多个数据包。接着,控制设备可以采用按顺序发送或并行发送的方式向首个网络设备发送多个第一子数据包组。如此,将较大的数据包拆分为多个较小的数据包进行发送,提高了数据包的传输效率。
举例说明。假设第一数据包组中包括数据包M,数据包M的大小为15千比特(Kilobyte,kB),且分片后每个数据包的长度不大于10kB。那么控制设备可以将数据包M拆分成大小为10kB的数据包M1和大小为5kB的数据包M2,即数据包M对应的第一子数据包组包括数据包M1和数据包M2。那么在向首个网络设备发送第一子数据包组时,控制设备可以先发送数据包M1,再发送数据包M2。控制设备也可以同时发送(即并行)数据包M1和数据包M2。
下面介绍控制设备发送转发路径的信息的方法。
在本申请实施例中,转发路径的信息可以用于体现首个网络设备需要将第一数据包发送给网络系统中的哪个网络设备。控制设备基于路径计算元素协议(PathComputation Element Protocol,PCEP)向首个网络设备发送转发路径的信息。在发送转发路径的信息之前,控制设备可以先通知网络设备组中全部网络设备部署PCEP等协议。
控制设备发送给首个网络设备的转发路径的信息可以仅包括首个网络设备的下一跳网络设备的信息,也可以包括整条转发路径的信息。下面分别对这两种情况进行介绍。
在第一种可能的实现中,转发路径的信息仅包括首个网络设备的下一跳网络设备的信息,即控制设备仅向首个网络设备发送该首个网络设备的下一跳网络设备的信息,不发送转发路径中其他网络设备的信息。其中,下一跳网络设备指转发路径中直接接收首个网络设备发送的第一数据包组的网络设备。在接收到下一跳网络设备的信息后,首个网络设备可以根据下一跳网络设备的信息向下一跳网络设备发送第一数据包组。可选地,除了下一跳网络设备的信息,控制设备还可以向网络设备发送该网络设备的上一条网络设备的信息和/或首个网络设备的信息。
在本申请实施例中,所述下一跳网络设备的信息包括下一跳网络设备的IP地址、下一跳网络设备的标签、下一跳网络设备的段标识(Segment Identifier,SID)等信息中的任意一种或多种。
当控制设备向首个网络设备发送的转发路径的信息仅包括首个网络设备的下一跳网络设备的信息,不包括转发路径中其他网络设备的信息时,为了确保第一数据包组在第一网络设备组中各个网络设备之间的正常转发,控制设备可以向转发路径组中除首个网络设备以外的其他网络设备发送转发路径的信息。可选地,控制设备发送给第一网络设备组中某个网络设备的转发路径的信息可以包括该网络设备的下一跳网络设备的信息。
仍以图1为例进行说明。假设第一网络设备组包括网络设备121、网络设备122、网络设备123和网络设备124,且控制设备110将网络设备121确定为首个网络设备,转发路径为网络设备121向网络设备122和网络设备123发送第一数据包组,网络设备122向网络设备124发送第一数据包组。那么,控制设备110可以向网络设备121发送网络设备122和网络设备123的IP地址,向网络设备122发送网络设备124的IP地址。
可选地,控制设备还可以向转发路径组中各个网络设备发送分片信息。该分片信息可以包括待分片的文件名、分片发送方式和分片总数。关于分片等相关内容的描述可以参见上文,这里不再赘述。
在本申请实施例中,除了上一条网络设备的信息和下一跳网络设备的信息以外,控制设备还可以向转发路径上各个网络设备发送其对应的角色信息。网络设备的角色信息表示该网络设备在转发路径中起到的作用。例如可以包括首个网络设备和中转网络设备等角色。相应的,在接收到控制设备发送的角色信息后,网络设备可以根据角色信息执行相应的动作。例如,假设网络设备接收到的角色信息为中转网络设备,那么在接收到第一数据包组后,该网络设备可以不缓存第一数据包组,而是直接将第一数据包组发送给下一跳网络设备。
在第二种可能的实现中,转发路径的信息包括整条转发路径的信息,即控制设备向首个网络设备发送整条转发路径中每个网络设备信息和该网络设备的下一跳网络设备的信息。那么在接收到转发路径的信息后,首个网络设备可以根据转发路径的信息确定自身对应的下一跳网络设备,从而向下一跳网络设备发送第一数据包组。
当控制设备向首个网络设备发送整条转发路径的信息时,控制设备可以不向第一网络设备组中其他设备发送转发路径的信息。那么为了确保第一数据包组在第一网络设备组中各个网络设备之间的正常转发,首个网络设备可以向下一跳网络设备发送转发路径的信息,以便下一跳网络设备根据转发路径的信息将第一数据包组发送给转发路径上的网络设备。关于这部分内容的详细介绍可以参见下文,这里不再赘述。
S205:首个网络设备对所述第一数据包组进行复制,得到第二数据包组。
根据前文介绍可知,转发路径中可以包括网络设备组中的网络设备和中转网络设备。当转发路径中首个网络设备为中转网络设备时,该首个网络设备可以不缓存第一数据包组,直接根据转发路径的信息将第一数据包组发送给下一跳网络设备。
当转发路径中首个网络设备为网络设备组中的网络设备时,该首个网络设备可以在接收到第一数据包组后存储第一数据包组,例如可以缓存第一数据包组,以便根据第一数据包组更新已安装的软件或应用程序,或者通过第一数据包组安装新的软件或应用程序。在缓存第一数据包组后,首个网络设备可以对第一数据包组进行复制,得到第二数据包组。可选地,第二数据包组与第一数据包组可以相同。
在本申请实施例中,控制设备可能将第一数据包组进行分片。那么当转发路径中首个网络设备为网络设备组中的网络设备,且首个网络设备接收到分片传输的第一数据包组,该首个网络设备可以将接收到的分片后的数据包组重组为完整的第一数据包组,从而根据第一数据包组更新已安装的软件或应用程序,或者通过第一数据包组安装新的软件或应用程序。
S206:首个网络设备根据所述转发路径的信息向下一跳网络设备发送所述第二数据包组。
在得到第二数据包组后,首个网络设备可以根据转发路径的信息向下一跳网络设备发送第二数据包组。可选地,首个网络设备可以基于FTP或SFTP向下一跳网络设备发送第二数据包组。
根据前文介绍可知,控制设备发送给首个网络设备的转发路径的信息可以仅包括首个网络设备的下一跳网络设备的信息,也可以包括整条转发路径的信息。相应的,根据控制设备发送的转发路径的信息不同,首个网络设备可以在发送第二数据包组之前通过不同的方式确定第二数据包组。下面分别进行介绍。
在第一种可能的实现中,控制设备发送给首个网络设备的转发路径的信息仅包括首个网络设备的下一跳网络设备的信息。那么,在发送第二数据包组之前,首个网络设备可以先根据转发路径的信息确定下一跳网络设备,从而向下一跳网络设备发送第二数据包组。
在第二种可能的实现中,控制设备发送给首个网络设备的转发路径的信息可以包括整条转发路径的信息。那么在发送第二数据包组之前,首个网络设备可以先根据自身的信息(例如首个网络设备的IP地址和首个网络设备的标签等)从整条转发路径的信息中查找与自身对应的下一跳网络设备的信息,即先从整条转发路径的信息中确定首个网络设备的下一跳网络设备的信息。
为了确保数据包组在网络设备组中的正常传输,首个网络设备还可以向下一跳网络设备发送转发路径的信息。这样,下一跳网络设备可以根据转发路径的信息确定自身对应的下一跳设备的信息,从而向正确的网络设备发送数据包组。可选地,在发送转发路径的信息之前,首个网络设备还可以从转发路径的信息中删除与首个网络设备相关的信息,从而减少需要发送的数据量,提高数据包传输的效率。
在本申请实施例中,为了便于数据包组的传输,首个网络设备可以在发送第二数据包组之前对第二数据包组进行分片,将第二数据包组分为多个第二子数据包组,再根据转发路径按顺序或并行向下一跳网络设备发送第二子数据包组。关于将数据包组分片的描述可以参见S204的介绍,这里不再赘述。
在首个网络设备的下一跳网络设备接收到第二数据包组后,该下一跳网络设备可以根据转发路径的信息判断转发路径中自身是否存在下一跳网络设备,即该网络设备是否需要将数据包组发送给其他网络设备。若需要,该下一跳网络设备可以复制第二数据包组,并将复制得到的新的数据包组发送给其他网络设备。在这个过程中,该下一跳网络设备执行的动作可以参见S205和S206的描述,这里不再赘述。
可选地,在网络设备组中所有网络设备均接收到自身所需要的数据包组后,控制设备可以通知网络设备组中各个网络设备停止发送数据包组,并开始升级软件或更新应用程序。
仍然以图1为例进行说明。假设第一网络设备组包括网络设备121、网络设备122和网络设备123,且转发路径中首个网络设备为网络设备121、首个网络设备的下一跳网络设备为网络设备122,网络设备122的下一跳网络设备为网络设备123。那么控制设备110可以向网络设备121发送第一数据包组,并分别向网络设备121、网络设备122和网络设备123发送各自的下一跳网络设备的信息。网络设备121再接收到第一数据包组后,可以复制第一数据包组得到第二数据包组,并根据下一跳网络设备(即网络设备122)的信息向网络设备122发送第二数据包组。网络设备122在接收到第二数据包组之后,可以复制第二数据包组得到第三数据包组,并根据下一跳网络设备(即网络设备123)的信息向网络设备123发送第三数据包组。由于网络设备123在转发路径中不具有下一跳网络设备,网络设备123在接收到第三数据包组后可以不向其他网络设备发送数据包组。
可见,在本申请实施例所提供的数据包发送方法中,控制设备可以先获取多个网络设备中每个网络设备所需要的数据包集合,再根据所需数据包的不同确定多个网络设备组,进而得到数据包组和网络设备组之间的对应关系。在得到对应关系后,控制设备可以向网络设备组中的网络设备发送该网络设备组对应的数据包组,从而使得网络设备可以接收到自身所需要的数据包。另外,网络设备组中首个网络设备在接收到数据包组后,可以按照控制设备确定的转发路径将数据包组发送给网络设备组中其他网络设备,使得网络设备组中每个网络设备都能够接收到所需要的数据包。如此,控制设备可以在一次升级任务中确定每个网络设备所需要的数据包,指定每个网络设备需要获取哪些数据包,从而向不同的网络设备发送其各自所需要的数据包,以便网络设备根据各自所需的数据包更新软件或应用程序。
下面在图1所示实施例的基础上,对控制设备110向网络设备121发送数据包M、数据包N、数据包X和数据包Y,向网络设备122发送数据包M、数据包N和数据包Y,向网络设备123发送数据包M、数据包N和数据包X,向网络设备124发送数据包X、数据包N和数据包Y为例进行介绍。
在确定各个网络设备所需要的数据包后,控制设备110可以确定数据包组与网络设备组之间的对应关系。例如,控制设备110可以将数据包M和数据包N划分为数据包组A1,将数据包X划分为数据包组B1,将数据包Y划分为数据包组C1。那么,与数据包组A1对应的网络设备组A2包括网络设备121、网络设备122、网络设备123和网络设备124,与数据包组B1对应的网络设备组B2包括网络设备121和网络设备123。与数据包组C1对应的网络设备组C2包括网络设备121、网络设备122和网络设备124。
接着,控制设备110可以确定数据包组A1对应的转发路径中首个网络设备为网络设备121,网络设备121的下一跳网络设备为网络设备122和网络设备123,网络设备123的下一跳网络设备为网络设备124。控制设备110还可以确定数据包组B1对应的转发路径中首个网络设备为网络设备121,网络设备121的下一跳网络设备为网络设备123。控制设备110还可以确定数据包组C1对应的转发路径中首个网络设备为网络设备122,网络设备121的下一跳网络设备为网络设备121和网络设备124。
接着,控制设备可以向网络设备121发送数据包M、数据包N和数据包X,向网络设备122发送数据包Y,并分别向网络系统中每个网络设备发送转发路径的信息。
以控制设备向网络系统中网络设备发送数据包组A1和对应的转发路径的信息为例进行说明。参见图3,图3为本申请实施例提供的一种数据包发送方法的交互示意图,包括如下步骤:
S301:控制设备110确定数据包组A1的转发路径。
S302:控制设备110向网络设备121发送转发路径的信息。
控制设备110向网络设备121发送的转发路径的信息可以包括网络设备122和网络设备123的IP地址,并体现网络设备121在转发路径中的角色为首个网络设备
S303:网络设备121根据转发路径的信息确定自身在转发路径中的角色和下一跳网络设备。
在接收到转发路径的信息后,网络设备121可以根据转发路径的信息确定自身在转发路径中的角色为网络设备,并确定自身的下一跳网络设备为网络设备122和网络设备123。
S304:控制设备110向网络设备122发送转发路径的信息。
控制设备110向网络设备122发送的转发路径的信息可以体现网络设备122在转发路径中的角色为中间设备
S305:网络设备122根据转发路径的信息确定自身在转发路径中的角色和下一跳网络设备。
在接收到转发路径的信息后,网络设备122可以根据转发路径的信息确定自身在转发路径中的角色为中间设备,并确定转发路径中不包括自身的下一跳网络设备。
S306:控制设备110向网络设备123发送转发路径的信息。
控制设备110向网络设备123发送的转发路径的信息可以包括网络设备124的IP地址,并体现网络设备123在转发路径中的角色为中间设备
S307:网络设备123根据转发路径的信息确定自身在转发路径中的角色和下一跳网络设备。
在接收到转发路径的信息后,网络设备123可以根据转发路径的信息确定自身在转发路径中的角色为中间设备,并确定自身的下一跳设备为网络设备124。
S308:控制设备110向网络设备124发送转发路径的信息。
控制设备110向网络设备121发送的转发路径的信息可以包括网络设备122和网络设备123的IP地址,并体现网络设备121在转发路径中的角色为首个网络设备
S309:网络设备124根据转发路径的信息确自身在转发路径中的角色和下一跳网络设备。
在接收到转发路径的信息后,网络设备121可以根据转发路径的信息确定自身在转发路径中的角色为中间设备,并确定转发路径中不包括自身的下一跳网络设备。
下面以数据包组A1中的数据包M在网络系统中的传输过程为例进行介绍。
参见图4,图4为本申请实施例提供的一种数据包发送方法的交互示意图,包括如下步骤:
S401:控制设备110向网络设备121发送数据包M。
S402:网络设备121缓存并复制数据包M。
由于网络设备121为转发路径中首个网络设备,转发路径中存在其下一跳网络设备,且网络设备121不为中转网络设备,网络设备121可以缓存数据包M以便后续更新软件或应用程序。并复制数据包M以便向其他网络设备发送。
S403:网络设备121向网络设备122发送数据包M。
根据转发路径的信息,网络设备121可以确定网络设备122为自身的下一跳网络设备,那么网络设备121可以向网络设备122发送数据包M。
S404:网络设备122缓存数据包M。
由于网络设备122不为中转网络设备,且转发路径中网络设备122不具有下一跳网络设备,网络设备122可以缓存数据包M,不复制数据包M。
S405:网络设备121向网络设备123发送数据包M。
需要说明的是,S403可以在S405之前执行,也可以在S405之后执行,还可以并行执行。
S406:网络设备123缓存并复制数据包M。
由于网络设备123不为中转网络设备,且转发路径中网络设备123的下一跳网络设备为网络设备124,网络设备122可以缓存数据包M,并复制数据包M。
S407:网络设备123向网络设备124发送数据包M。
S408:网络设备124缓存数据包M。
图5示出了上述实施例中所涉及的设备的一种可能的结构示意图,该控制设备500可以实现图2所示实例中控制设备的功能。参阅图5,该控制设备500包括:处理单元501和发送单元502。这些单元可以执行上述方法示例中控制设备的相应功能。处理单元501,用于支持设备500执行图2中S201、S202和S203;发送单元503,用于支持设备500执行图2中S204。举例来说,处理单元501,用于确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;发送单元502,用于根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
图6示出了上述实施例中所涉及的网络设备的一种可能的结构示意图,该网络设备600可以实现图2所示实例中网络设备的功能。参阅图6,该网络设备600包括:接收单元601、处理单元602和发送单元603。这些单元可以执行上述方法示例中网络设备的相应功能。接收单元601,用于支持网络设备600接收控制设备发送的转发路径的信息和第一数据包组;处理单元602,用于支持网络设备600执行图2中的S205;发送单元603,用于支持设备500执行图2中S206。这些单元可以执行上述方法示例中网络设备的相应功能。举例来说,接收单元601,用于接收来自第一设备的第一数据包组,并获取所述第一数据包组的转发路径的信息,所述转发路径的信息用于指示所述第一网络设备的下一跳网络设备为第二网络设备,所述第一数据包组包括一个或多个数据包。处理单元602,用于对所述第一数据包组进行复制,得到第二数据包组。发送单元603,用于根据所述转发路径的信息向所述第二网络设备发送所述第二数据包组。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参阅图7所示,发明实施例提供了一种网络系统700,该系统700用于实现前述方法实施例中提供的数据包发送方法。该系统700包括设备701和设备702。设备701可以实现图2所示的实施例中的控制设备的功能,设备702可以实现图2所示的实施例中网络设备的功能。具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
图8是本申请实施例提供的一种设备800的结构示意图。图5中的控制设备500、图6中的网络设备600可以通过图8所示的设备来实现。参见图8,该设备800包括至少一个处理器801,通信总线802以及至少一个网络接口804,可选地,该设备800还可以包括存储器803。
处理器801可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路(integrated circuit,IC)。处理器可以用于对报文进行处理,以实现本申请实施例中提供的报文转发的方法和报文处理的方法。比如,当图2中的控制设备通过图8所示的设备来实现时,该处理器可以用于确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。又比如,当图2中的网络设备通过图8所示的设备来实现时,该处理器可以用于接收来自第一设备的第一数据包组,并获取所述第一数据包组的转发路径的信息,所述转发路径的信息用于指示所述第一网络设备的下一跳网络设备为第二网络设备,所述第一数据包组包括一个或多个数据包;对所述第一数据包组进行复制,得到第二数据包组;根据所述转发路径的信息向所述第二网络设备发送所述第二数据包组。具体功能实现可参考方法实施例部分的描述。
通信总线802用于在处理器801、网络接口804和存储器803之间传送信息。
存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器803还可以是随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,通过通信总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。
可选地,存储器803用于存储执行本申请方案的程序代码或指令,并由处理器801来控制执行。处理器801用于执行存储器803中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器801也可以存储执行本申请方案的程序代码或指令,在这种情况下处理器801不需要到存储器803中读取程序代码或指令。
网络接口804可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。在本申请实施例中,网络接口804可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口804可以为以太接口(ethernet)接口、快速以太(fast ethernet,FE)接口或千兆以太(gigabit ethernet,GE)接口等。
在具体实现中,作为一种实施例,设备800可以包括多个处理器,例如图8中所示的处理器801和处理器405。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图9是本申请实施例提供的一种设备900的结构示意图。图2中的控制设备和网络设可以通过图9所示的设备来实现。参见图9所示的设备结构示意图,设备900包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(mainprocessing unit,MPU)或路由处理卡(route processor card),主控板包括CPU和存储器,主控板负责对设备900中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,LPU)或线卡(line card),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备900也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(interface card,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备900的IP地址,则将该报文发送给主控板或接口板的CPU进行处理;如果接收到的报文的目的地址不是设备900的IP地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(field programmable gate array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述图2所示实施例中控制设备或网络设备的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是FPGA,可以是ASIC,还可以是系统芯片(system onchip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(digital signalprocessor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行前述实施例中的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包括单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (45)

1.一种数据包发送方法,其特征在于,所述方法包括:
控制设备确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;
所述控制设备根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;
所述控制设备根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
2.根据权利要求1所述的方法,其特征在于,所述控制设备根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组包括:
所述控制设备根据所述网络设备组中网络设备的网络拓扑信息确定所述数据包组的转发路径;
所述控制设备向所述转发路径的首个网络设备发送所述转发路径的信息和对应的数据包组,所述转发路径的信息用于所述转发路径上的网络设备转发所述数据包组。
3.根据权利要求2所述的方法,其特征在于,所述控制设备根据所述网络设备组中网络设备的网络拓扑信息确定所述数据包组的转发路径包括:
所述控制设备根据与所述控制设备之间的跳数将所述网络设备组中的一个或多个网络设备确定为候选设备;
所述控制设备从一个或多个候选设备中确定所述首个网络设备;
所述控制设备根据所述首个网络设备和所述网络设备组中其他网络设备的网络拓扑信息确定所述数据包组的转发路径。
4.根据权利要求3所述的方法,其特征在于,所述候选设备的数目为多个;
所述控制设备从多个候选设备中确定所述首个网络设备包括:
所述控制设备获取所述多个候选设备中每个候选设备的参考信息;
所述控制设备根据所述每个候选设备的参考信息从所述多个候选设备中确定所述首个网络设备。
5.根据权利要求4所述的方法,其特征在于,所述控制设备获取所述多个候选设备中每个候选设备的参考信息包括:
所述控制设备接收所述多个候选设备中每个候选设备的报文,所述报文为基于Netconf协议的报文或基于简单网络管理协议SNMP的报文,所述报文中携带所述网络设备的参考信息。
6.根据权利要求4或5所述的方法,其特征在于,所述参考信息包括以下其中一项或多项:
网络设备性能信息、距离所述控制设备的跳数、支持分片的最大数量和未命中率;
其中,所述未命中率是指所述网络设备未被选做首个网络设备的概率。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述转发路径的信息用于所述首个网络设备向所述转发路径上的下一跳网络设备转发所述数据包组。
8.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:
所述控制设备向所述转发路径上的其他网络设备发送所述转发路径的信息。
9.根据权利要求2-8任一项所述的方法,其特征在于,所述控制设备向所述转发路径的首个网络设备发送所述转发路径的信息包括:
所述控制设备基于路径计算元素协议PCEP向所述转发路径的首个网络设备发送所述转发路径的信息。
10.根据权利要求2-9任一项所述的方法,其特征在于,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述数据包组包括第一数据包组,与所述第一数据包组对应的网络设备组为第一网络设备组;
所述控制设备根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组包括:
所述控制设备对所述第一数据包组进行分片,得到多个第一子数据包组;
所述控制设备向所述第一网络设备组的网络设备按序或并行发送所述多个第一子数据包组。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述控制设备根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组包括:
所述控制设备基于文件传输协议FTP或安全文件传输协议STFP,根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
13.根据权利要求2-10任一项所述的方法,其特征在于,所述转发路径包括所述首个网络设备分别到所述网络设备组中其他网络设备的最短路径。
14.根据权利要求1-13任一项所述的方法,其特征在于,所述数据包为应用程序APP或软件版本或软件版本的补丁。
15.一种数据包发送方法,其特征在于,所述方法包括:
第一网络设备接收来自第一设备的第一数据包组,并获取所述第一数据包组的转发路径的信息,所述转发路径的信息用于指示所述第一网络设备的下一跳网络设备为第二网络设备,所述第一数据包组包括一个或多个数据包;
所述第一网络设备对所述第一数据包组进行复制,得到第二数据包组;
所述第一网络设备根据所述转发路径的信息向所述第二网络设备发送所述第二数据包组。
16.根据权利要求15所述的方法,其特征在于,所述第一网络设备获取所述第一数据包组的转发路径的信息包括:
所述第一网络设备接收来自控制设备或所述第一设备的所述第一数据包组的转发路径的信息。
17.根据权利要求16所述的方法,其特征在于,所述第一网络设备接收来自控制设备的所述第一数据包组的转发路径的信息包括:
所述第一网络设备基于路径计算元素协议PCEP接收来自控制设备的所述第一数据包组的转发路径的信息。
18.根据权利要求15-17任一项所述的方法,其特征在于,所述第一网络设备接收来自第一设备的第一数据包组包括:
所述第一网络设备基于文件传输协议FTP或安全文件传输协议STFP接收来自第一设备的第一数据包组。
19.根据权利要求15-18任一项所述的方法,其特征在于,所述第一网络设备根据所述转发信息向所述第二网络设备发送所述第二数据包组包括:
所述第一网络设备对所述第二数据包组进行分片,得到多个第二子数据包组;
所述第一网络设备根据所述转发路径的信息按序或并行向所述第二网络设备发送所述多个第二子数据包组。
20.根据权利要求15-19任一项所述的方法,其特征在于,所述第一设备为控制设备或第三网络设备。
21.根据权利要求15-20任一项所述的方法,其特征在于,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
22.一种控制设备,其特征在于,应用于包括控制设备和多个网络设备的网络系统,所述控制设备为所述网络系统中的控制设备,所述控制设备包括:
处理单元,用于确定多个网络设备中每个网络设备对应的数据包集合,所述数据包集合包括对应网络设备需要使用的一个或多个数据包,所述多个网络设备对应的数据包集合不完全相同;根据所述多个网络设备的数据包集合生成多个对应关系,所述对应关系为数据包组和网络设备组之间的对应关系,所述网络设备组包括所述多个网络设备中的一个或多个网络设备,所述数据包组为所述网络设备组中的网络设备都需要使用的数据包;
发送单元,用于根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
23.根据权利要求22所述的控制设备,其特征在于,
所述处理单元,用于根据所述网络设备组中网络设备的网络拓扑信息确定所述数据包组的转发路径;
所述发送单元,用于向所述转发路径的首个网络设备发送所述转发路径的信息和对应的数据包组,所述转发路径的信息用于所述转发路径上的网络设备转发所述数据包组。
24.根据权利要求23所述的控制设备,其特征在于,
所述处理单元,用于根据与所述控制设备之间的跳数将所述网络设备组中的一个或多个网络设备确定为候选设备;从一个或多个候选设备中确定所述首个网络设备;根据所述首个网络设备和所述网络设备组中其他网络设备的网络拓扑信息确定所述数据包组的转发路径。
25.根据权利要求24所述的控制设备,其特征在于,所述候选设备的数目为多个;
所述处理单元,用于获取所述多个候选设备中每个候选设备的参考信息;根据所述每个候选设备的参考信息从所述多个候选设备中确定所述首个网络设备。
26.根据权利要求25所述的控制设备,其特征在于,
所述处理单元,用于接收所述多个候选设备中每个候选设备的报文,所述报文为基于Netconf协议的报文或基于简单网络管理协议SNMP的报文,所述报文中携带所述网络设备的参考信息。
27.根据权利要求25或26所述的控制设备,其特征在于,所述参考信息包括以下其中一项或多项:
网络设备性能信息、距离所述控制设备的跳数、支持分片的最大数量和未命中率;
其中,所述未命中率是指所述网络设备未被选做首个网络设备的概率。
28.根据权利要求23-27任一项所述的控制设备,其特征在于,所述转发路径的信息用于所述首个网络设备向所述转发路径上的下一跳网络设备转发所述数据包组。
29.根据权利要求23-28任一项所述的控制设备,其特征在于,
所述发送单元,还用于向所述转发路径上的其他网络设备发送所述转发路径的信息。
30.根据权利要求23-29任一项所述的控制设备,其特征在于,
所述发送单元,用于基于路径计算元素协议PCEP向所述转发路径的首个网络设备发送所述转发路径的信息。
31.根据权利要求23-30任一项所述的控制设备,其特征在于,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
32.根据权利要求22-31任一项所述的控制设备,其特征在于,所述数据包组包括第一数据包组,与所述第一数据包组对应的网络设备组为第一网络设备组;
所述处理单元,用于对所述第一数据包组进行分片,得到多个第一子数据包组;
所述发送单元,用于向所述第一网络设备组的网络设备按序或并行发送所述多个第一子数据包组。
33.根据权利要求22-32任一项所述的控制设备,其特征在于,
所述发送单元,用于基于文件传输协议FTP或安全文件传输协议STFP,根据所述对应关系向所述网络设备组的网络设备发送对应的数据包组。
34.根据权利要求22-31任一项所述的控制设备,其特征在于,所述转发路径包括所述首个网络设备分别到所述网络设备组中其他网络设备的最短路径。
35.根据权利要求22-34任一项所述的控制设备,其特征在于,所述数据包为应用程序APP或软件版本或软件版本的补丁。
36.一种网络设备,其特征在于,应用于包括多个网络设备的网络系统,所述多个网络设备包括第一网络设备、第二网络设备和第一设备,所述网络设备为所述第一网络设备,所述网络设备包括:
接收单元,用于接收来自第一设备的第一数据包组,并获取所述第一数据包组的转发路径的信息,所述转发路径的信息用于指示所述第一网络设备的下一跳网络设备为第二网络设备,所述第一数据包组包括一个或多个数据包;
处理单元,用于对所述第一数据包组进行复制,得到第二数据包组;
发送单元,用于根据所述转发路径的信息向所述第二网络设备发送所述第二数据包组。
37.根据权利要求36所述的网络设备,其特征在于,所述网络系统还包括控制设备;
所述接收单元,用于接收来自控制设备或所述第一设备的所述第一数据包组的转发路径的信息。
38.根据权利要求37所述的网络设备,其特征在于,
所述接收单元,用于基于路径计算元素协议PCEP接收来自控制设备的所述第一数据包组的转发路径的信息。
39.根据权利要求36-38任一项所述的网络设备,其特征在于,
所述接收单元,用于基于文件传输协议FTP或安全文件传输协议STFP接收来自第一设备的第一数据包组。
40.根据权利要求36-39任一项所述的网络设备,其特征在于,
所述处理单元,用于对所述第二数据包组进行分片,得到多个第二子数据包组;
所述发送单元,用于根据所述转发路径的信息按序或并行向所述第二网络设备发送所述多个第二子数据包组。
41.根据权利要求36-40任一项所述的网络设备,其特征在于,所述第一设备为控制设备或第三网络设备。
42.根据权利要求36-41任一项所述的网络设备,其特征在于,所述转发路径的信息包括下一跳网络设备的互联网协议IP地址、下一跳网络设备的标签或下一跳网络设备的段标识。
43.一种网络系统,其特征在于,所述网络系统包括如权利要求22至35任一项所述的控制设备和如权利要求36至42任一项所述的网络设备。
44.一种计算机可读存储介质,其特征在于,包括指令、程序或代码,当其在计算机上执行时,使得所述计算机执行如权利要求1至21任一权利要求所述的方法。
45.一种芯片,其特征在于,包括存储器和处理器,存储器用于存储指令或程序代码,处理器用于从存储器中调用并运行该指令或程序代码,以执行如权利要求1至21任一权利要求所述的方法。
CN202110352350.4A 2021-03-31 2021-03-31 一种数据包发送方法及设备 Pending CN115150280A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110352350.4A CN115150280A (zh) 2021-03-31 2021-03-31 一种数据包发送方法及设备
EP22778663.9A EP4297361A4 (en) 2021-03-31 2022-03-22 DATA PACKET TRANSMISSION METHOD AND APPARATUS
PCT/CN2022/082229 WO2022206480A1 (zh) 2021-03-31 2022-03-22 一种数据包发送方法及设备
US18/477,149 US20240022501A1 (en) 2021-03-31 2023-09-28 Data Packet Sending Method and Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110352350.4A CN115150280A (zh) 2021-03-31 2021-03-31 一种数据包发送方法及设备

Publications (1)

Publication Number Publication Date
CN115150280A true CN115150280A (zh) 2022-10-04

Family

ID=83405298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110352350.4A Pending CN115150280A (zh) 2021-03-31 2021-03-31 一种数据包发送方法及设备

Country Status (4)

Country Link
US (1) US20240022501A1 (zh)
EP (1) EP4297361A4 (zh)
CN (1) CN115150280A (zh)
WO (1) WO2022206480A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193000B (zh) * 2023-04-25 2023-06-23 湖北微源卓越科技有限公司 一种基于fpga的智能组包快速转发系统及转发方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054314B2 (en) * 2001-08-20 2006-05-30 Skystream Networks Inc. Controlling multiple nodes divided into groups
CN103391215A (zh) * 2013-05-20 2013-11-13 江苏物联网研究发展中心 一种基于链状网的远程软件下载与更新方法、装置及系统
CN107040399B (zh) * 2016-02-04 2022-03-15 京东方科技集团股份有限公司 一种升级文件下载方法、设备及系统
CN108259215B (zh) * 2017-09-26 2021-05-28 新华三技术有限公司 一种设备管理方法及装置
CN107682197A (zh) * 2017-10-17 2018-02-09 锐捷网络股份有限公司 设备升级方法、网络设备及服务器
US10659300B2 (en) * 2018-05-05 2020-05-19 Current Lighting Solutions, Llc Self-forming network commissioning system and method
US11362941B2 (en) * 2018-10-12 2022-06-14 Nokia Solutions And Networks Oy Stateless multicast in label switched packet networks
EP3722944A1 (en) * 2019-04-10 2020-10-14 Juniper Networks, Inc. Intent-based, network-aware network device software-upgrade scheduling

Also Published As

Publication number Publication date
EP4297361A4 (en) 2024-08-28
US20240022501A1 (en) 2024-01-18
WO2022206480A1 (zh) 2022-10-06
EP4297361A1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
CN101150527B (zh) 一种pcie数据传输的方法、系统及设备
WO2021254500A1 (zh) 一种转发报文的方法、设备和系统
CN113132229B (zh) 段标识的确定方法和设备
US11444840B2 (en) Virtualized networking application and infrastructure
CN114374634A (zh) 报文转发方法以及网络设备
CN105591974A (zh) 报文处理方法、装置及系统
CN112910773A (zh) 下发oam配置信息的方法及控制节点
EP4009596A1 (en) Message forwarding method, device, and system in sr network
US10237170B2 (en) Flow switch, controller and relay apparatus
CN115150280A (zh) 一种数据包发送方法及设备
EP4199464A1 (en) Packet sending method and device
CN114650255B (zh) 报文处理方法及网络设备
CN114567544A (zh) 一种路由通告方法、装置及系统
CN114816651A (zh) 一种通信方法、装置以及系统
US11436172B2 (en) Data frame interface network device
JP4901777B2 (ja) ネットワーク中継装置およびネットワーク中継方法
CN116962161A (zh) 路径检测方法、装置、系统及计算机可读存储介质
CN115589381A (zh) 用于处理组播报文的方法及装置
CN115248730A (zh) 提供服务的方法及装置
CN117118774B (zh) 二层网络下云计算网关的接入方法及装置
JP7273130B2 (ja) 通信方法および装置
EP4181435A1 (en) Method for transmitting routing information, apparatus, and communication system
CN117478580A (zh) 一种发送负载信息的方法、发送报文的方法及装置
CN114726754A (zh) 报文传输方法、设备及系统
CN117579547A (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