CN101286867B - 一种网络设备的软件升级方法与系统 - Google Patents
一种网络设备的软件升级方法与系统 Download PDFInfo
- Publication number
- CN101286867B CN101286867B CN2007100746318A CN200710074631A CN101286867B CN 101286867 B CN101286867 B CN 101286867B CN 2007100746318 A CN2007100746318 A CN 2007100746318A CN 200710074631 A CN200710074631 A CN 200710074631A CN 101286867 B CN101286867 B CN 101286867B
- Authority
- CN
- China
- Prior art keywords
- data packet
- upgrading
- upgrading data
- network equipment
- multicast
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种网络设备的软件升级方法和系统,其中该方法包括:网络设备需要进行软件升级时,发送一个IGMP协议请求报文至组播路由器,在路由器中建立组播路由表,加入组播;网络设备接收并存储组播报文中包含的升级数据包;网络设备检查所接收数据包的数据有效性;于接收所有升级数据包后,网络设备重新组合数据包,并提取升级数据,在对升级数据进行CRC效验成功后,进行软件升级。本发明利用组播实现了IP网络中点到多点的高效数据传送,从而快速、有效的实现了网络设备软件的远程升级。以解决当前网络设备的软件远程升级中存在成本高、操作不便、效率较低的技术问题。
Description
技术领域
本发明涉及网络设备的软件升级技术,尤其是涉及一种通过组播对网络设备的软件进行升级的方法和系统。
背景技术
随着现代信息技术的不断发展,软件版本升级得越来越快。为了更加有效的节约成本,现在普遍采用的是远程软件升级技术,主要是通过网络传送升级数据,网络设备接收到升级数据后,经过一系列处理后自动完成软件升级。因此,通过这样的方式,我们在远程就可以对网络设备进行软件升级,节约了成本。
目前,采用远程软件升级技术主要在网络设备与升级服务器之间,设立一个采用HTTP协议从HTTP服务器,由HTTP服务器下载升级数据后,网络设备再从HTTP服务器上获取升级数据,从而实现软件的远程升级。
该方法虽然在一定程度上能够实现网络设备软件的远程升级,但是,其仍然具有如下缺点:
a.需要专门的一台HTTP服务器,硬件成本较高;
b.需要一套客户端的软件,操作不方便;
c.造成网络负载高,网络流量大,传输效率低。
发明内容
本发明的目的是提出一种通过组播对网络设备的软件进行升级的方法和系统,以解决当前网络设备的软件远程升级中存在成本高、操作不便、效率较低的技术问题。
为解决本发明的技术问题,本发明公开一种网络设备的软件升级方法,包括:
a、网络设备需要进行软件升级时,发送一个IGMP协议请求报文至组播路由器,在路由器中建立组播路由表,加入组播;
b、网络设备接收并存储组播报文中包含的升级数据包;
c、网络设备检查所接收数据包的数据有效性;
d、于接收所有升级数据包后,网络设备重新组合数据包,并提取升级数据,在对升级数据进行CRC效验成功后,进行软件升级。
其中,所述升级数据由多个升级数据包组成,每个升级数据包的结构至少包括:
判断该数据包是否为一个需要的升级数据包的头标记(Flag);
升级软件的版本号(Version)或/和序列号(Sequence_Number);
升级数据包的序号(Package_number);
升级数据包的总个数(Last_Package_number);
升级数据包数据区的长度(Data_Length);
升级数据包的校验值(CRC)。
较优的,所述步骤c包括:
c1、检查升级数据包的头标记;
c2、检查升级数据包的版本号或/和序列号;
c3、检查升级数据包的序号是否小于或等于升级数据包的总个数;
c4、检查升级数据包的序号是否与已接收到的数据包的序号相等;
如发现接收的升级数据包错误,则将该错误的升级数据包丢弃后,转至步骤b重新获取对应的升级数据包。
较优的,所述网络设备是根据统计接收到的升级数据包个数,并与升级数据包的总个数(Last_Package_number)相比较,判断是否已接收所有的升级数据包。
相应的,本发明还公开一种网络设备的软件升级系统,包括:
含有升级数据的组播源设备,将升级数据分解为多个升级数据包,每个升级数据包以组播报文方式组播;
支持组播的路由器,连接在组播源设备和多个网络设备之间,接收网络设备申请加入组播的IGMP协议请求报文,将该网络设备加入组播路由表后,根据组播路由表将每个升级数据包进行组播;
多个支持组播、且需要进行软件升级的网络设备,接收组播的每个升级数据包,检查每个升级数据包中的数据有效性,将接收所有升级数据包重新组合,提取升级数据,并对升级数据进行CRC效验,进行软件升级。
其中,所述升级数据由多个升级数据包组成,每个升级数据包的结构至少包括:
判断该数据包是否为一个需要的升级数据包的头标记(Flag);
升级软件的版本号(Version)或/和序列号(Sequence_Number);
升级数据包的序号(Package_number);
升级数据包的总个数(Last_Package_number);
升级数据包数据区的长度(Data_Length);
升级数据包的校验值(CRC)。
较优的,所述网络设备检查每个升级数据包中的数据有效性包括:
检查升级数据包的头标记;
检查升级数据包的版本号或/和序列号;
检查升级数据包的序号是否小于或等于升级数据包的总个数;
检查升级数据包的序号是否与已接收到的数据包的序号相等;
如发现接收的升级数据包错误,则将该错误的升级数据包丢弃,并重新获取对应的升级数据包。
较优的,所述网络设备是根据统计接收到的升级数据包个数,并与升级数据包的总个数(Last_Package_number)相比较,判断是否已接收所有的升级数据包。
与现有技术相比,本发明具有如下有益效果:
1、本发明不需要专门设置一台用于网络设备软件升级的升级服务器,因此,节约了成本;
2、本发明中,网络设备需要进行软件升级时,只需切换到组播频道,加入组播就可以进行升级,操作方便;
3、本发明利用组播实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载、消除流量冗余,从而快速、有效的实现了网络设备软件的远程升级。
附图说明
图1是本发明一个较佳实施例的流程示意图。
具体实施方式
本发明为了实现以更低成本、更快速度、更有效的对网络设备的软件进行远程升级,提出了运用组播(Multicast)技术进行远程软件升级的方法。
为更好的阐述本发明,首先介绍下组播技术。
组播是指在IP网络中,数据包以尽力传送的形式发送到所有网络节点的某个确定子集。IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。组播的最大优点是节省了网络的带宽及服务器资源。不同用户如果接收同一个组播流,服务器只需发送一份数据,网络只需在用户的分支点进行复制,在分支点以上的网络只需传送一个数据流。
一般而言,组播是通过把224.0.0.0-239.255.255.255的D类地址作为目的地址,由一台源主机发出目的地址是以上范围组播地址的报文。在网络中,如果有其他主机对这个组的报文有兴趣,可以申请加入这个组,并可以接受这个报文,而其他不是这个组的成员则无法接受到这个组的报文。因此,组播技术解决了一个主机向特定的多个接收者发送数据的问题,利用组播传输点到多点数据可以降低网络负载,控制网络流量,达到更高效的传输。
请参考图1所示,是本发明一个较佳实施例的流程示意图。本发明中,网络中的发送和接收主机,网络路由器以及它们之间的网络结构必须支持组播,防火墙必须允许组播通过。其中,组播源数据为对网络中的网络设备软件升级的数据;接收主机是指需要进行软件升级的网络设备;发送主机可以是组播源主机,也可以是已经接收了组播报文的一个上游接收主机。
本发明包括如下步骤:
s110:待进行软件升级的网络设备(每个网络设备为一个接收主机)切换至组播频道,申请加入组播。
加入组播的过程非常简单:接收主机发送一个IGMP协议请求报文至组播路由器,在路由器中建立组播路由表。
因此,在终端网络设备于启动后,检测到需要进行软件升级后,发送一个IGMP协议请求报文到组播路由器即可,并不需要与升级服务器建立直接连接。特别是大量终端网络设备需要同时升级的时候,由此避免了升级服务器并不能及时响应,造成升级需要时间长,效率低。
s120:接收主机接收数据包,并申请足够大的内存空间存储接收到的数据包。一般情况下一个组播数据包的长度是1316个字节。
其中,发送主机以组播报文的方式发送数据包,一个升级数据的组播数据包报文的结构如下:
其中,数据包各结构部分的含义如下:
Flag:组播升级数据包的头标记,用来判断数据包是否为一个需要的升级数据包;
Version:升级的版本号;
Upgrade Type:升级的类型,如:应用程序、底层驱动、字库等;
Sequence_Number:软件序列号;
Package_number:升级数据包的序号,从1开始,一直到Last_Package_number;
Last_Package_number:升级数据包的总个数;
Data_Length:数据区的长度(不包括包头);
CRC:整个数据包的校验值;
Header Extension.扩展区。
s130:接收主机检查所接收数据包的数据有效性,包括:
a.判断数据包头标记Flag;
b.判断数据版本号、序列号等,视具体的要求而定;
c.判断Package_number是否小于或等于Last_Package_number;
d.判断Package_number是否与已接收到的数据包的序号相等,如果有相同的Package_number,说明收到重复的数据包。
在此检查数据有效性的过程中,如发现接收的数据包错误,则将错误的数据包丢弃后,转至步骤s120重新获取对应的数据包。
s140:接收主机检查数据是否接收完毕,即:统计收到的升级数据包个数,并与Last_Package_number比较,如果接收到的数据包个数等于Last_Package_number,则结束接收,转步骤s150;否则,转步骤s120继续获取数据包。
s150:接收主机重新组合数据包,并提取升级数据:按Package_number从小到大的顺序组合数据包,根据Data_length提取升级数据,从而得到完整的升级数据。
s160:进行CRC(循环冗余效验)效验:利用数据包中的CRC值对整个数据升级数据进行CRC效验。
s170:利用接收到的数据进行升级。
由此可知,本发明进行组播软件升级IP网络中,至少包括:组播源设备、支持组播的路由器以及网络设备。具体来说:
含有升级数据的组播源设备,将升级数据分解为多个升级数据包,每个升级数据包以组播报文方式组播;
支持组播的路由器,连接在组播源设备和多个网络设备之间,接收网络设备申请加入组播的IGMP协议请求报文,将该网络设备加入组播路由表后,根据组播路由表将每个升级数据包进行组播;
多个支持组播、且需要进行软件升级的网络设备,接收组播的每个升级数据包,检查数据的有效性,将接收所有升级数据包重新组合,提取升级数据,并对升级数据进行CRC效验,进行软件升级。
综上,本发明由于采用组播技术进行网络设备软件的远程升级,与现有技术相比,本发明具有如下优点:
1、本发明不需要专门设置一台用于网络设备软件升级的升级服务器,因此,节约了成本;
2、本发明中,网络设备需要进行软件升级时,只需切换到组播频道,加入组播就可以进行升级,操作方便;
3、本发明利用组播实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载、消除流量冗余,从而快速、有效的实现了网络设备软件的远程升级。
Claims (6)
1.一种网络设备的软件升级方法,其特征在于,包括:
a、网络设备需要进行软件升级时,发送一个IGMP协议请求报文至组播路由器,在路由器中建立组播路由表,加入组播;
b、网络设备接收并存储组播报文中包含的升级数据包;
c、网络设备检查所接收数据包的数据有效性;
d、于接收所有升级数据包后,网络设备重新组合数据包,并提取升级数据,在对升级数据进行CRC效验成功后,进行软件升级;
所述升级数据由多个升级数据包组成,每个升级数据包的结构至少包括:
判断该数据包是否为一个需要的升级数据包的头标记(Flag);
升级软件的版本号(Version)或/和序列号(Sequence_Number);
升级数据包的序号(Package_number);
升级数据包的总个数(Last_Package_number);
升级数据包数据区的长度(Data_Length);
升级数据包的校验值(CRC)。
2.根据权利要求1所述的网络设备的软件升级方法,其特征在于,所述步骤c包括:
c1、检查升级数据包的头标记;
c2、检查升级数据包的版本号或/和序列号;
c3、检查升级数据包的序号是否小于或等于升级数据包的总个数;
c4、检查升级数据包的序号是否与已接收到的数据包的序号相等;
如发现接收的升级数据包错误,则将该错误的升级数据包丢弃后,转至步骤b重新获取对应的升级数据包。
3.根据权利要求2所述的网络设备的软件升级方法,其特征在于,所述网络设备是根据统计接收到的升级数据包个数,并与升级数据包的总个数(Last_Package_number)相比较,判断是否已接收所有的升级数据包。
4.一种网络设备的软件升级系统,其特征在于包括:
含有升级数据的组播源设备,将升级数据分解为多个升级数据包,每个升级数据包以组播报文方式组播;
支持组播的路由器,连接在组播源设备和多个网络设备之间,接收网络设备申请加入组播的IGMP协议请求报文,将该网络设备加入组播路由表后,根据组播路由表将每个升级数据包进行组播;
多个支持组播、且需要进行软件升级的网络设备,接收组播的每个升级数据包,检查每个升级数据包中的数据有效性,将接收所有升级数据包重新组合,提取升级数据,并对升级数据进行CRC效验,进行软件升级;
所述升级数据由多个升级数据包组成,每个升级数据包的结构至少包括:
判断该数据包是否为一个需要的升级数据包的头标记(Flag);
升级软件的版本号(Version)或/和序列号(Sequence_Number);
升级数据包的序号(Package_number);
升级数据包的总个数(Last_Package_number);
升级数据包数据区的长度(Data_Length);
升级数据包的校验值(CRC)。
5.根据权利要求4所述的网络设备的软件升级系统,其特征在于,所述网络设备检查每个升级数据包中的数据有效性包括:
检查升级数据包的头标记;
检查升级数据包的版本号或/和序列号;
检查升级数据包的序号是否小于或等于升级数据包的总个数;
检查升级数据包的序号是否与已接收到的数据包的序号相等;
如发现接收的升级数据包错误,则将该错误的升级数据包丢弃,并重新获取对应的升级数据包。
6.根据权利要求5所述的网络设备的软件升级系统,其特征在于,所述网络设备是根据统计接收到的升级数据包个数,并与升级数据包的总个数(Last_Package_number)相比较,判断是否已接收所有的升级数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100746318A CN101286867B (zh) | 2007-05-29 | 2007-05-29 | 一种网络设备的软件升级方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100746318A CN101286867B (zh) | 2007-05-29 | 2007-05-29 | 一种网络设备的软件升级方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101286867A CN101286867A (zh) | 2008-10-15 |
CN101286867B true CN101286867B (zh) | 2011-10-05 |
Family
ID=40058849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100746318A Expired - Fee Related CN101286867B (zh) | 2007-05-29 | 2007-05-29 | 一种网络设备的软件升级方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101286867B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841536B (zh) * | 2010-04-01 | 2013-01-02 | 深圳英飞拓科技股份有限公司 | 数字监控设备远程自动升级方法 |
CN102237983A (zh) * | 2010-05-06 | 2011-11-09 | 中兴通讯股份有限公司 | 非帧结构通讯系统中文件传输方法、发送装置和接收装置 |
CN102143508A (zh) * | 2010-12-06 | 2011-08-03 | 华为终端有限公司 | 无线中继设备的升级方法和装置 |
CN103391215A (zh) * | 2013-05-20 | 2013-11-13 | 江苏物联网研究发展中心 | 一种基于链状网的远程软件下载与更新方法、装置及系统 |
CN103533071A (zh) * | 2013-10-22 | 2014-01-22 | 北京奇虎科技有限公司 | 终端软件的更新方法、装置及系统 |
CN104239092A (zh) * | 2014-08-25 | 2014-12-24 | 国网电力科学研究院 | 一种带补包机制的基于远程无线信道的程序在线更新方法 |
CN106856610A (zh) * | 2015-12-09 | 2017-06-16 | 中兴通讯股份有限公司 | 一种基于多播技术的基站软件维护方法和系统 |
CN105975308B (zh) * | 2016-05-04 | 2019-05-24 | 烽火通信科技股份有限公司 | 家庭网关中低内存开销的远程升级系统及远程升级方法 |
CN107665123B (zh) * | 2016-07-26 | 2020-11-10 | 佛山市顺德区顺达电脑厂有限公司 | 固件更新方法 |
CN106383726B (zh) * | 2016-08-30 | 2019-06-18 | 武汉精测电子集团股份有限公司 | 一种基于图像视频传输接口的讯号适配器升级方法 |
CN107181971A (zh) * | 2017-05-22 | 2017-09-19 | 华为软件技术有限公司 | 一种iptv终端的升级方法及相关设备 |
CN107896158A (zh) * | 2017-10-13 | 2018-04-10 | 广东乐心医疗电子股份有限公司 | 一种实现无线物联网设备固件升级的方法以及物联网 |
CN107786471B (zh) * | 2017-10-23 | 2021-03-16 | 深圳市风云实业有限公司 | 多fpga芯片间数据处理方法及转换装置 |
CN108804129B (zh) * | 2018-05-31 | 2022-04-29 | 新华三技术有限公司 | 一种软件升级方法及装置 |
CN113645316B (zh) * | 2021-10-15 | 2022-02-08 | 广东皓耘科技有限公司 | 升级数据处理方法、上位机、下位机、设备及存储介质 |
CN114237667B (zh) * | 2021-12-17 | 2024-08-23 | 太仓市同维电子有限公司 | 一种快速升级网络设备的方法 |
CN114489730A (zh) * | 2022-01-26 | 2022-05-13 | 杭州涂鸦信息技术有限公司 | 一种远程升级方法及其终端设备、计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457201A (zh) * | 2002-12-31 | 2003-11-19 | 北京信威通信技术股份有限公司 | 无线通信系统终端软件自动升级的方法及系统 |
CN1525318A (zh) * | 2002-12-31 | 2004-09-01 | 鸿富锦精密工业(深圳)有限公司 | 移动式计算设备远程程序安装系统及方法 |
CN1627725A (zh) * | 2003-12-10 | 2005-06-15 | 联想(北京)有限公司 | 一种保证一点到多点传输数据可靠性的方法 |
-
2007
- 2007-05-29 CN CN2007100746318A patent/CN101286867B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457201A (zh) * | 2002-12-31 | 2003-11-19 | 北京信威通信技术股份有限公司 | 无线通信系统终端软件自动升级的方法及系统 |
CN1525318A (zh) * | 2002-12-31 | 2004-09-01 | 鸿富锦精密工业(深圳)有限公司 | 移动式计算设备远程程序安装系统及方法 |
CN1627725A (zh) * | 2003-12-10 | 2005-06-15 | 联想(北京)有限公司 | 一种保证一点到多点传输数据可靠性的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101286867A (zh) | 2008-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101286867B (zh) | 一种网络设备的软件升级方法与系统 | |
CN100417141C (zh) | 一种组播业务实现方法 | |
CN101631069B (zh) | 伪线参数协商的方法、系统及设备 | |
CN103166959B (zh) | 一种多径实时传输控制系统及方法 | |
CN1988507B (zh) | 转发组播数据的方法、系统及路由器 | |
US11570584B2 (en) | Configuring a multicast or broadcast wireless network | |
CN110337071B (zh) | 一种基于LoRaWAN实现分组广播的方法及系统 | |
CN101123529A (zh) | 基于pcie交换网的组播实现方法、系统及设备 | |
CN114553799B (zh) | 基于可编程数据平面的组播转发方法、装置、设备及介质 | |
US9425975B2 (en) | Multicast transmission using a unicast protocol | |
EP1699169A1 (en) | Wireless base station, wireless mobile device, and wireless access network for reducing signalling traffic | |
CN100488201C (zh) | 一种基于路由的链路备份方法 | |
CN101009669B (zh) | 一种传输组播消息的方法和系统以及路由设备 | |
CN113938446A (zh) | 一种基于mlag环境的组播表项同步方法及设备 | |
CN101184032B (zh) | 一种堆叠系统设备通讯的方法 | |
CN100481819C (zh) | 弹性分组环网中跨环报文转发的方法和设备 | |
CN101309154B (zh) | 报文的发送方法、发送装置和传输系统 | |
CN101547110A (zh) | 一种组播源的注册方法、系统和设备 | |
US20130191501A1 (en) | Procedures for the Transfer of User Data | |
EP1430645B1 (en) | Implementing multicasting | |
CN100508467C (zh) | 一种转发层代理pim的方法及路由设备 | |
CN111416760A (zh) | 一种信息同步方法、终端及信息同步系统 | |
CN101848169A (zh) | 一种集群管理中的报文转发方法和交换机 | |
CN101753343B (zh) | 一种光接入系统中的软件加载方法、系统和装置 | |
CN118694713A (zh) | 基于fttr/pon/wifi的组播包处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111005 Termination date: 20170529 |
|
CF01 | Termination of patent right due to non-payment of annual fee |