CN104038553B - 一种控制方法、装置和系统 - Google Patents

一种控制方法、装置和系统 Download PDF

Info

Publication number
CN104038553B
CN104038553B CN201410281671.XA CN201410281671A CN104038553B CN 104038553 B CN104038553 B CN 104038553B CN 201410281671 A CN201410281671 A CN 201410281671A CN 104038553 B CN104038553 B CN 104038553B
Authority
CN
China
Prior art keywords
equipment
rndis
control command
rndis equipment
network
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
CN201410281671.XA
Other languages
English (en)
Other versions
CN104038553A (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 Device Co Ltd
Huawei Device Shenzhen Co Ltd
Original Assignee
Huawei Device 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 Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN201410281671.XA priority Critical patent/CN104038553B/zh
Priority claimed from CN2010102923361A external-priority patent/CN101977244A/zh
Publication of CN104038553A publication Critical patent/CN104038553A/zh
Application granted granted Critical
Publication of CN104038553B publication Critical patent/CN104038553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种控制方法、装置和系统。本发明实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。

Description

一种控制方法、装置和系统
技术领域
本发明涉及通信技术领域,具体涉及一种控制方法、装置和系统。
背景技术
远程网络驱动接口规范(RNDIS,Remote Network Driver Interface Specification)是一种网络设备规范,它要求RNDIS设备能够处理来自系统的对象标示符(OID,Object Identifier Descriptor),从而使得系统提供的驱动程序可以通过兼容模式为不同的RNDIS设备所使用,而不必为特定的RNDIS设备设计单独的驱动程序,而系统则可以向RNDIS设备发送不同的OID以完成特定的功能。
RNDIS的使用,不仅给用户带来了极大的方便,而且也简化了RNDIS设备的开发过程,但是,由于RNDIS驱动本身只能传输网络数据,不能传输用户的控制命令,所以,用户的拨号、断开拨号等基本请求无法传递给RNDIS设备,而只能通过其他操作来达到目的,比如用户需要断开网络连接,就只能是通过移除设备的方式才能实现,这给使用带来了一定的不便。
针对该问题,现有技术提出了将RNDIS驱动作为RNDIS设备的一个接口,而在该RNDIS设备中增加另外的控制接口,用户端设备通过控制接口发送控制命令来对RNDIS设备进行控制。
在对现有技术的研究和实践过程中,本发明的发明人发现,通过增加控制接口的方式仅仅适用于通用串行总线(USB,Universal Serial BUS)接口的RNDIS设备,而并非所有接口形式的RNDIS设备都可以实现,因此该方案没有普遍的适用性。此外,由于增加了新的控制接口,所以用户需要额外安装该新的控制接口的驱动程序,增加了使用复杂度。
发明内容
本发明实施例提供一种控制方法、装置和系统,不仅具有普遍的适用性,而且可以在不需要安装额外的驱动程序的情况下,实现向RNDIS设备传输控制命令的目的,简化使用过程。
一种控制方法,包括:
将控制命令封装在发送给RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制;
将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
一种控制方法,包括:
将控制命令封装在向光盘(CD,Compact Disc)或人体学输入设备(HID,HumanInput Device)发送的数据包中,所述控制命令用于对RNDIS设备进行控制;
将封装后的数据包通过RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。
一种控制方法,包括:
接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令;
对所述网络数据包进行解封装,得到所述控制命令;
根据所述控制命令的指示执行操作。
一种控制方法,包括:
通过设置在RNDIS设备上的CD接口或HID接口接收用户端设备发送的数据包,所述数据包中封装了用于对所述RNDIS设备进行控制的控制命令;
对所述数据包进行解封装,得到所述控制命令;
根据所述控制命令的指示执行操作。
一种用户端设备,包括:
第一封装单元,用于将控制命令封装在发送给RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制;
第一发送单元,用于将第一封装单元封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
一种用户端设备,包括:
第二封装单元,用于将控制命令封装在CD或HID接口格式的数据包中,所述控制命令用于对RNDIS设备进行控制;
第二发送单元,用于将第二封装单元封装后的数据包通过RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。
一种RNDIS设备,包括:
第一接收单元,用于接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令;
第一解封装单元,用于对第一接收单元接收到的网络数据包进行解封装,得到所述控制命令;
第一处理单元,用于根据第一解封装单元得到的控制命令的指示执行操作。
一种RNDIS设备,包括:
第二接收单元,用于通过CD接口或HID接口接收用户端设备发送的数据包,所述数据包中封装了用于对RNDIS设备进行控制的控制命令;
第二解封装单元,用于对第二接收单元接收到的数据包进行解封装,得到所述控制命令;
第二处理单元,用于根据第二解封装单元得到的控制命令的指示执行操作。
一种通信系统,包括本发明实施例提供的任一种用户端设备和本发明实施例提供的任一种RNDIS设备。
本发明实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的控制方法的流程图;
图2是本发明实施例二提供的控制方法的流程图;
图3a是本发明实施例三提供的控制方法的流程图;
图3b是PC与RNDIS设备进行通信的场景示意图;
图3c是一种使用UDP数据包封装AT命令的数据包格式;
图4是本发明实施例四提供的控制方法的流程图;
图5是本发明实施例五提供的控制方法的流程图;
图6a是PC与RNDIS设备进行通信的场景示意图;
图6b是本发明实施例四提供的控制方法的流程图;
图7a是本发明实施例提供的用户端设备的结构示意图;
图7b是本发明实施例提供的用户端设备的另一结构示意图;
图8是本发明实施例提供的用户端设备的又一结构示意图;
图9是本发明实施例提供的RNDIS设备的结构示意图;
图10是本发明实施例提供的RNDIS设备的另一结构示意图;
图11是本发明实施例提供的通信系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种控制方法、装置和系统。以下分别进行详细说明。
实施例一、
本实施例将从用户端设备的角度进行描述,该用户端设备具体可以为个人计算机(PC,Personal Computer)、便携计算机等终端设备。
一种控制方法,包括:将用于对RNDIS设备进行控制的控制命令封装在发送给RNDIS设备的网络数据包中,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。
参见图1,具体流程可以如下:
101、将控制命令封装在发送给RNDIS设备的网络数据包中;
例如,可以将控制命令封装在发送给RNDIS设备的基于连接的传输控制协议(TCP,Transmission Control Protocol)数据包中;或者,
将控制命令封装在发送给RNDIS设备的基于无连接的用户数据包协议(UDP,UserDatagram Protocol)数据包中。
其中,该控制命令用于对RNDIS设备进行控制,比如,具体可以为AT命令、诊断(DIAG,Diagnose)命令以及其他的自定义命令。
102、将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制;比如请求对RNDIS设备进行拨号、解个人标识号(PIN,personal identification number)码、或断开拨号等操作。
可选的,在步骤101之前,即在发送给RNDIS设备的网络数据包中封装控制命令之前,还可以包括:建立与RNDIS设备的网络通信端口;其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。具体的建立方法可参见现有技术,在此不再赘述;
则此时,步骤101具体可以为:在通过该网络通信端口发送的网络数据包中封装控制命令。
由上可知,本实施例采用在发送给RNDIS设备的网络数据包中封装控制命令,然后将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
实施例二、
本实施例将从RNDIS设备的角度进行描述,该RNDIS设备具体可以为使用了RNDIS的端口的无线上网卡。
一种控制方法,包括:接收用户端设备发送的网络数据包,其中,该网络数据包中封装了用于对RNDIS设备进行控制的控制命令;对接收到的网络数据包进行解封装,得到控制命令;根据控制命令的指示执行操作。
参见图2,具体流程可以如下:
201、接收用户端设备发送的网络数据包,其中,网络数据包中封装了用于对RNDIS设备进行控制的控制命令,比如,AT命令、DIAG命令以及其他的自定义命令。
例如,可以接收用户端设备发送的基于连接的TCP数据包,其中,该TCP数据包中封装了用于对RNDIS设备进行控制的控制命令;或者,
也可以接收用户端设备发送的基于无连接的UDP数据包,其中,该UDP数据包中封装了用于对RNDIS设备进行控制的控制命令。
具体接收该网络数据包时,可以通过用户端设备和RNDIS设备之间建立的网络通信端口来进行接收。其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
202、对接收到的网络数据包进行解封装,得到控制命令;具体可以如下:
RNDIS设备判断接收到的网络数据包是否携带有控制命令,如果是,则对该网络数据包进行解封装,否则确定该接收到的网络数据包为正常的网络数据,直接发到网络侧。
203、根据步骤202中得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
可选的,RNDIS设备还可以返回响应消息,并通过发送广播数据包将设备状态变化上报给系统。
比如,RNDIS设备将响应消息以图3c同样的格式进行封装,然后发送给用户设备。
由上可知,本实施例采用接收用户端设备发送的封装有控制命令的网络数据包,在对网络数据包进行解封装,并得到控制命令之后,根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且由于无需增加新的控制接口,所以也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
实施例三、
根据实施例一和二所描述的方法,以下将举例进行详细说明。
在本实施例中,将以用户端设备为PC,网络数据包为基于无连接的UDP数据包,控制命令为AT命令为例进行说明。
参见图3a,具体流程可以如下:
301、PC建立与RNDIS设备的网络通信端口;该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠,用于与RNDIS设备进行通信。为了描述方便,在本发明实施例中,将该网络通信端口称为RNDIS控制程序的端口。
例如,参见图3b,该图为了PC与RNDIS设备进行通信的场景示意图。看图中可以看出,文件传输协议(FTP,File Transfer Protocol)应用程序的端口号为“21”,超文本传输协议(http,HyperText Transfer Protocol)应用程序的端口号为“80”,假设在该PC设备中,已使用的端口号仅为“21”和“80”,则RNDIS控制程序的端口X可以为除“21”和“80”以外的任意端口。
由于RNDIS设备是网络设备,因此PC中的应用程序可以直接通过该网络通信端口将网络数据发到RNDIS设备上。
302、在步骤301建立的网络通信端口上,PC将需要下发给RNDIS设备的自定义的控制命令,如AT命令封装在基于无连接的UDP数据包中。
例如,参见图3c,该图为一种使用UDP数据包封装AT命令的数据包格式。其中AT标识(AT Flag)字段作为自定义控制命令的标识字段,字段大小可以设定为8字节(Bytes);AT命令数据(AT Command Data)字段为自定义控制命令的数据字段,字段大小是变化(Variable)的,即可以根据数据的大小而定,最大可以为1464Bytes。
在该封装了AT命令的UDP数据包中,因特网头部(Ethernet Header)字段、网际协议头部(IP Header)字段和UDP头部(UDP Header)字段与现有的UDP数据包格式相同,其中,Ethernet Header字段的大小为14Bytes,IP Header字段的大小为20Bytes,UDP Header字段的大小为8Bytes。但是,Ethernet Header中的目的媒体接入控制层(MAC,Media AccessControl)地址需要使用RNDIS设备的MAC地址或者广播地址,以保证该UDP数据包能够被RNDIS设备接收到;同理,IP Header中的目的IP地址也需要使用RNDIS设备的IP地址或者广播地址,以保证该UDP数据包能够被RNDIS设备接收到。
303、PC将封装了AT命令的UDP数据包发送给RNDIS设备。
304、RNDIS设备接收PC发送的UDP数据包,判断UDP数据包中是否携带AT命令,比如可以判断UDP数据包中的AT标识是否匹配,如果是,则对接收到的UDP数据包进行解封装,得到AT命令,具体的解封装方法可参见现有技术,在此不再赘述;如果UDP数据包中没有携带AT命令,比如UDP数据包中的AT标识不匹配,则确定该UDP数据包为普通的UDP数据包,RNDIS设备直接将该UDP数据包发送给网络侧。
305、RNDIS设备根据步骤304中得到AT命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
可选的,RNDIS设备可以通过应答UDP数据包的方式,对相应的AT命令进行响应,并可以通过发送广播数据包的方式将RNDIS设备的设备状态变化上报给PC。
需说明的是,以上仅仅以网络数据包为基于无连接的UDP数据包为例进行说明,应当理解的是,还可以为其他的网络数据包,比如基于连接的TCP数据包等;另外,控制命令除了可以是AT命令之外,也可以是其他命令,比如DIAG命令以及其他的自定义命令等。
由上可知,本实施例采用在发送给RNDIS设备的UDP数据包中封装AT命令,然后将封装后的UDP数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将UDP数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口,而是使用RNDIS设备原有的接口,相对于现有技术需要增加额外的控制接口而言,方便了用户的使用。而且,由于无需增加新的控制接口,所以也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度;进一步的,该方案对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
实施例四、
除了在用户端设备和RNDIS设备之间建立网络通信端口之外,也可以通过在RNDIS设备上增加光盘(CD,Compact Disc)接口或人体学输入设备(HID,Human Input Device)接口的方式来封装和发送控制命令,即将控制命令封装成CD格式或HID接口格式,然后通过CD接口或HID接口发送给RNDIS设备。
与实施例一相似的,本实施例也将从用户端设备的角度进行描述,该用户端设备具体可以为PC、便携计算机等终端设备。
参见图4,一种控制方法,具体流程可以如下:
401、将控制命令封装在CD或HID接口格式的数据包中;
其中,控制命令用于对远程网络驱动接口规范RNDIS设备进行控制,比如,具体可以为AT命令、诊断(DIAG,Diagnose)命令以及其他的自定义命令。
402、将封装后的数据包通过RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
由上可知,本实施例采用将控制命令封装在CD或HID接口格式的数据包中,然后通过在RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
实施例五、
与实施例四对应的,本实施例将从RNDIS设备的角度进行描述。
参见图5,一种控制方法,具体流程可以如下:
501、通过设置在RNDIS设备上的CD接口或HID接口接收用户端设备发送的数据包,其中,该数据包中封装了用于对该RNDIS设备进行控制的控制命令;
需说明的是,这里的数据包指的是CD格式或HID接口格式的数据包。
502、对接收到的数据包进行解封装,得到控制命令;比如,AT命令、DIAG命令以及其他的自定义命令。具体可以如下:
RNDIS设备判断接收到的数据包是否携带有控制命令,如果是,则对该数据包进行解封装,否则确定该接收到的数据包为正常的数据,按现有技术进行处理。
503、根据步骤502中得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
由上可知,本实施例采用通过CD接口或HID接口接收用户端设备发送的封装有控制命令的数据包,在对数据包进行解封装,并得到控制命令之后,根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度,当然,由于该方案需要增加额外的接口,所以相对于实施一、二和三的方法而言,实现较为复杂。
实施例六、
根据实施四和五所描述的方法,以下将举例进行详细说明。
与实施例三类似的,本实施例也将以用户端设备为PC,控制命令为AT命令为例进行说明;与实施例三不同的是,在本实施例中,不建立PC建立与RNDIS设备之间的网络通信端口,而是在RNDIS设备上增加CD接口或者HID接口。该方案主要适用于支持组合设备形态的接口类型的设备,如USB设备。以下将以用户端设备为PC,控制命令为AT命令为例进行简略说明。
首先,需要在RNDIS设备上增加CD接口或者HID接口,用于接收封装有控制命令的CD格式或HID接口格式的数据包,而原有的RNDIS端口则仍用于接收普通的网络数据包,参见图6a,该图为PC与RNDIS设备进行通信的场景示意图。由于PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此这种方案下也无需安装额外的驱动程序。
参见图6b,具体流程可以如下:
601、PC将需要下发给RNDIS设备的自定义的控制命令,如AT命令封装在向CD或者HID设备发送的数据包中。
602、PC将封装了AT命令的数据包发送给RNDIS设备。
603、RNDIS设备通过CD接口或者HID接口接收PC发送的数据包,并判断该数据包是否携带了AT命令,比如判断该数据包携带的AT标识是否匹配,如果是,则对接收到的数据包进行解封装,得到AT命令,具体的解封装方法可参见现有技术,在此不再赘述;否则,如果判断该数据包没有携带了AT命令,比如该数据包携带的AT标识不匹配,则确定该数据包为普通的CD或者HID数据,按照现有技术的流程进行处理。
604、RNDIS设备根据步骤603中得到AT命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
可选的,RNDIS设备可以通过应答数据包的方式,对相应的AT命令进行响应,并可以通过发送广播数据包的方式将RNDIS设备的设备状态变化上报给PC。
需说明的是,以上仅仅以AT命令为例进行说明,应当理解的是,还可以是其他命令,比如DIAG命令以及其他的自定义命令等。
由上可知,本实施例采用在RNDIS设备增加额外的CD接口或HID接口,在发送给RNDIS设备的数据包中封装AT命令,然后将封装后的数据包通过CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度,当然,由于该方案需要增加额外的接口,所以相对于实施三而言,实现较为复杂。
实施例七、
为了更好地实施一至三的方法,本发明实施例还相应地提供一种用户端设备,如图7a所示,该用户端设备包括第一封装单元701和第一发送单元702;
第一封装单元701,用于将控制命令封装在发送给RNDIS设备的网络数据包中,其中,该控制命令用于对RNDIS设备进行控制;
其中,网络数据包可以是基于连接的TCP数据包或基于无连接的UDP数据包等,控制命令具体可以为AT命令,等等。
第一发送单元702,用于将第一封装单元701封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
可选的,参见图7b,该用户端设备还可以包括第一建立单元703;
第一建立单元703,用于建立与RNDIS设备的网络通信端口;其中,该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠,具体的建立方法可参见现有技术,在此不再赘述;
则此时,第一封装单元701,具体用于在第一建立单元703建立的网络通信端口上的网络数据包中封装控制命令。
可选的,该用户端设备还可以包括第一接收单元,用于接收RNDIS设备返回的关于控制命令的响应,进一步的,还可以接收RNDIS设备上报的RNDIS设备的设备状态变化。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
由上可知,本实施例的用户端设备的第一封装单元701可以在发送给RNDIS设备的网络数据包中封装控制命令,然后由第一发送单元702将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
实施例八、
为了更好地实施四至六的方法,本发明实施例还相应地提供一种用户端设备,如图8所示,该用户端设备包括第二封装单元801和第二发送单元802;
第二封装单元801,用于将控制命令封装在CD或HID接口格式的数据包中,其中,控制命令用于对远程网络驱动接口规范RNDIS设备进行控制;比如,具体可以为AT命令、DIAG命令以及其他的自定义命令;
第二发送单元802,用于将第二封装单元801封装后的数据包通过RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制,比如请求对RNDIS设备进行拨号、解PIN码、或断开拨号等操作。
由上可知,本实施例提供的用户端设的第二封装单元801采用将控制命令封装在CD或HID接口格式的数据包中,然后由第二发送单元802通过在RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备进行控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
实施例九、
与实施例七相应地,本发明实施例还提供一种RNDIS设备,如图9所示,该RNDIS设备包括第一接收单元901、第一解封装单元902和第一处理单元903;
第一接收单元901,用于接收用户端设备发送的网络数据包,其中,该网络数据包中封装了用于对RNDIS设备进行控制的控制命令,比如AT命令、DIAG命令以及其他的自定义命令等,该网络数据包具体可以是基于连接的TCP数据包或基于无连接的UDP数据包,等等。
第一解封装单元902,用于对第一接收单元901接收到的网络数据包进行解封装,得到控制命令;具体可参见前面实施例,在此不再赘述。
第一处理单元903,用于根据解封装单元902得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
其中,接收单元901,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包;其中,该网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
可选的,该RNDIS设备还可以包括第一响应单元,用于返回响应消息给用户端设备,该响应单元还可以通过发送广播数据包将设备状态变化上报给用户端设备。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
该RNDIS设备具体可以为使用了RNDIS的端口的无线上网卡。
由上可知,本实施例的RNDIS设备的第一接收单元901可以接收用户端设备发送的封装有控制命令的网络数据包,在第一解封装单元902对该网络数据包进行解封装,并得到控制命令之后,由第一处理单元903根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于在现有的网络架构中,用户端设备本来就可以直接将网络数据包发送给RNDIS设备,所以采用该方案无需额外增加新的控制接口就可以向RNDIS设备传输控制命令,而且也无需安装额外的驱动程序,相对于现有技术中需要额外增加新的控制接口和安装驱动程序的方案而言,降低了使用的复杂度,而且对RNDIS设备没有特殊的要求,具有普遍的适用性,实现较为简单。
实施例十、
与实施例八相应地,本发明实施例还提供一种RNDIS设备,如图10所示,该RNDIS设备包括第二接收单元1001、第二解封装单元1002和第二处理单元1003;
第二接收单元1001,用于通过CD接口或HID接口接收用户端设备发送的数据包,其中,数据包中封装了用于对RNDIS设备进行控制的控制命令;
需说明的是,这里的数据包指的是CD格式或HID接口格式的数据包。
第二解封装单元1002,用于对第二接收单元1001接收到的数据包进行解封装,得到控制命令;比如,AT命令、DIAG命令以及其他的自定义命令;具体可参见前面实施例,在此不再赘述。
第二处理单元1003,用于根据第二解封装单元1002得到的控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
该RNDIS设备具体可以为使用了RNDIS的端口的无线上网卡。
由上可知,本实施例提供的RNDIS设备的第二接收单元1001采用通过CD接口或HID接口接收用户端设备发送的封装有控制命令的数据包,在第二解封装单元1002对数据包进行解封装,并得到控制命令之后,由第二处理单元1003根据控制命令的指示执行操作,从而实现了用户端设备对RNDIS设备的控制。由于现有的PC系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度。
实施例十一、
相应的,本发明实施例还提供一种通信系统,如图11所示,包括本发明实施例提供的任一种用户端设备700和任一种RNDIS设备900;
用户端设备700,用于将控制命令封装在发送给RNDIS设备900的网络数据包中或者封装在CD或HID接口格式的数据包中,然后将封装后的网络数据包发送给RNDIS设备900,或者将封装后的数据包通过RNDIS设备上设置的CD接口或HID接口发送给RNDIS设备,以对RNDIS设备900进行控制;其中,控制命令用于对RNDIS设备900进行控制,该控制命令具体可以为AT命令等,网络数据包具体可以为TCP数据包或UDP数据包,等等。
RNDIS设备900,用于接收用户端设备700发送的封装了用于对RNDIS设备900进行控制的控制命令的网络数据包或数据包,对该网络数据包或数据包进行解封装,得到控制命令,然后根据控制命令的指示执行操作,比如进行拨号、解PIN码、或断开拨号等。
具体实施时,可选的,用户端设备700,还用于建立与RNDIS设备900的网络通信端口,然后在该网络通信端口上的网络数据包中封装控制命令;其中,网络通信端口可以为任意端口,但是端口号不与已知的其他应用程序的端口号重叠。
则此时,RNDIS设备900,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收网络数据包。
可选的,RNDIS设备900,还用于返回响应消息,并通过发送广播数据包将设备状态变化上报给系统;
则此时,用户端设备700,还用于接收RNDIS设备900返回的响应消息和上报的设备状态变化。
以上各个单元的具体实施可参见前面实施例,在此不再赘述。
由上可知,本实施例的通信系统的用户端设备700采用将控制命令封装在发送给RNDIS设备900的网络数据包,然后将封装后的UDP数据包发送给RNDIS设备900,以对RNDIS设备900进行控制。由于在现有的网络架构中,用户端设备700本来就可以直接将网络数据包发送给RNDIS设备900,所以采用该方案无需额外增加新的控制接口,而是使用RNDIS设备900原有的接口,相对于现有技术需要增加额外的控制接口而言,方便了用户的使用。而且,也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,降低了使用的复杂度;进一步的,该方案对RNDIS设备900没有特殊的要求,具有普遍的适用性,实现较为简单。
需说明的是,即使在本发明实施例中,也提出可以通过新增额外的CD或HID接口来建立控制通道,但是由于现有的用户端设备700的系统中已经包含了通用的CD接口或者HID设备的驱动,因此该方案也无需安装额外的驱动程序,相对于现有技术中需要额外安装驱动程序的方案而言,也同样可以达到降低了使用的复杂度的目的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种控制方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种控制方法,其特征在于,包括:将控制命令封装在要发送给远程网络驱动接口规范RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制,所述对所述RNDIS设备进行控制为请求对所述RNDIS设备进行拨号或断开拨号的操作;
将封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制;
其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
2.根据权利要求1所述的方法,其特征在于,所述将控制命令封装在发送给RNDIS设备的网络数据包中之前,还包括:
建立与RNDIS设备的网络通信端口;
则,所述将控制命令封装在发送给RNDIS设备的网络数据包中具体为:在所述网络通信端口上的网络数据包中封装控制命令。
3.根据权利要求1或2所述的方法,其特征在于,所述控制命令用于对RNDIS设备进行控制,具体为,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
4.一种控制方法,其特征在于,包括:
接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对远程网络驱动接口规范RNDIS设备进行控制的控制命令,所述对所述RNDIS设备进行控制为请求对所述RNDIS设备进行拨号或断开拨号的操作;
对所述网络数据包进行解封装,得到所述控制命令;
根据所述控制命令的指示执行操作;
其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
5.根据权利要求4所述的方法,其特征在于,所述接收用户端设备发送的网络数据包包括:
通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包。
6.根据权利要求4或5任一所述的方法,其特征在于,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
7.一种用户端设备,其特征在于,包括:
第一封装单元,用于将控制命令封装在发送给远程网络驱动接口规范RNDIS设备的网络数据包中,所述控制命令用于对RNDIS设备进行控制;
第一发送单元,用于将第一封装单元封装后的网络数据包发送给RNDIS设备,以对RNDIS设备进行控制;
其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
8.根据权利要求7所述的用户端设备,其特征在于,还包括第一建立单元;
所述第一建立单元,用于建立与RNDIS设备的网络通信端口;
则,所述第一封装单元,具体用于在第一建立单元建立的网络通信端口上的网络数据包中封装控制命令。
9.根据权利要求7或8所述的用户端设备,其特征在于,所述控制命令用于对RNDIS设备进行控制,具体为,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
10.一种远程网络驱动接口规范RNDIS设备,其特征在于,包括:
第一接收单元,用于接收用户端设备发送的网络数据包,所述网络数据包中封装了用于对RNDIS设备进行控制的控制命令;
第一解封装单元,用于对第一接收单元接收到的网络数据包进行解封装,得到所述控制命令;
第一处理单元,用于根据第一解封装单元得到的控制命令的指示执行操作;
其中,所述控制命令为AT命令,所述网络数据包为UDP数据包,使用所述UDP数据包封装所述AT命令的数据包格式包括因特网头部字段、国际协议头部字段、UDP头部字段、AT标识字段和AT命令数据字段,所述AT标识字段为自定义控制命令的标识字段,所述AT命令数据字段为自定义控制命令的数据字段,所述因特网头部字段中的目的媒体接入控制层地址为所述RNDIS设备的MAC地址或者广播地址,所述国际协议头部字段中的目的IP地址为所述RNDIS设备的IP地址或者广播地址。
11.根据权利要求10所述的RNDIS设备,其特征在于,
所述第一接收单元,具体用于通过用户端设备和RNDIS设备之间建立的网络通信端口接收用户端设备发送的网络数据包。
12.根据权利要求10或11所述的RNDIS设备,其特征在于,所述控制命令用于对所述RNDIS设备进行拨号、解个人标识号码或断开拨号。
CN201410281671.XA 2010-09-21 2010-09-21 一种控制方法、装置和系统 Active CN104038553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410281671.XA CN104038553B (zh) 2010-09-21 2010-09-21 一种控制方法、装置和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410281671.XA CN104038553B (zh) 2010-09-21 2010-09-21 一种控制方法、装置和系统
CN2010102923361A CN101977244A (zh) 2010-09-21 2010-09-21 一种控制方法、装置和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2010102923361A Division CN101977244A (zh) 2010-09-21 2010-09-21 一种控制方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104038553A CN104038553A (zh) 2014-09-10
CN104038553B true CN104038553B (zh) 2018-10-30

Family

ID=51469141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410281671.XA Active CN104038553B (zh) 2010-09-21 2010-09-21 一种控制方法、装置和系统

Country Status (1)

Country Link
CN (1) CN104038553B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330483B (zh) * 2015-06-18 2021-04-06 中兴通讯股份有限公司 信息获取方法、客户端设备和服务端设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1446425A (zh) * 2000-04-24 2003-10-01 微软公司 在无线射频介质上提供远程网络驱动器接口规范服务
CN101493791A (zh) * 2008-01-23 2009-07-29 希姆通信息技术(上海)有限公司 基于windows mobile的at命令的电脑调试方法和装置
CN101741648A (zh) * 2009-12-29 2010-06-16 中兴通讯股份有限公司 分布式远程测试系统、方法、以及服务器
WO2010086714A1 (en) * 2009-01-30 2010-08-05 Cassis International Pte Ltd System and method for remotely operating a wireless device using a server and client architecture

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213044B2 (en) * 2001-08-31 2007-05-01 Microsoft Corporation Point-to-point data communication implemented with multipoint network data communication components
US6904489B2 (en) * 2001-10-23 2005-06-07 Digi International Inc. Methods and systems for remotely accessing universal serial bus devices
CN100520747C (zh) * 2006-02-28 2009-07-29 环达电脑(上海)有限公司 一种快速读写存储卡的方法
KR101266021B1 (ko) * 2006-10-13 2013-05-21 삼성전자주식회사 데이터 통신 시스템에서 이동통신 단말기를 제어하는 장치및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1446425A (zh) * 2000-04-24 2003-10-01 微软公司 在无线射频介质上提供远程网络驱动器接口规范服务
CN101493791A (zh) * 2008-01-23 2009-07-29 希姆通信息技术(上海)有限公司 基于windows mobile的at命令的电脑调试方法和装置
WO2010086714A1 (en) * 2009-01-30 2010-08-05 Cassis International Pte Ltd System and method for remotely operating a wireless device using a server and client architecture
CN101741648A (zh) * 2009-12-29 2010-06-16 中兴通讯股份有限公司 分布式远程测试系统、方法、以及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design and Implementation of Dynamic Web Security and Defense Mechanism based on NDIS Intermediate Driver;Shuo Dai,Ye Du;《2009 Asia-Pacific Conference on Information Processing 》;20090718;第1卷;第506-509页 *
基于RNDIS规范的USB网络设备设计;虞科华;《全国第二届嵌入式技术联合学术会议》;20070801;第26卷;第111-113页 *

Also Published As

Publication number Publication date
CN104038553A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
CN103780577B (zh) 物联网应用的实现方法、装置及终端
CN101977244A (zh) 一种控制方法、装置和系统
CN103023761B (zh) 网关装置、智能物联网系统及该系统的混合接入方法
CN113645258A (zh) 数据传输方法、装置、存储介质、处理器及电子设备
EP2670107B1 (en) Communication method for wireless terminal and host device, and wireless terminal and host device
CN104993979A (zh) 网络连接监测方法、终端设备及通信系统
CN108390783A (zh) 一种蓝牙设备的配置方法及装置
CN104125656B (zh) 一种设备连接的方法、电子设备及连接系统
CN107506324A (zh) 转接设备、远程通信系统、数据传输方法及装置
CN104038553B (zh) 一种控制方法、装置和系统
CN102710672B (zh) 数据卡网页形式控制界面的访问方法及系统
CN106301488A (zh) 一种蓝牙适配器及其工作方法
CN103581228A (zh) 一种物联网中设备通信的方法及系统
CN102594892B (zh) 数据访问方法及装置
JP2009182458A (ja) 通信装置、通信システム、通信方法及びプログラム
CN104717109A (zh) 广域网链路模拟测试方法及系统
CN107168909A (zh) 转接设备、远程通信系统、数据传输方法及装置
CN107241751A (zh) 无线通信模块外置拨号联网方法和系统
CN106851788A (zh) 基于cc2530芯片的无线通信系统
CN209000000U (zh) 一种串口转换网络传输装置
WO2009084506A1 (ja) 通信装置、通信システム、通信方法及びプログラム
CN106341830A (zh) 一种实现联网模式切换的方法及终端
CN115085953A (zh) 一种内网访问方法、装置、设备及计算机可读存储介质
CN106209980A (zh) 一种数据共享终端及数据共享方法
WO2013185535A1 (zh) 一种协议栈融合兼容的装置及方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee after: Huawei terminal (Shenzhen) Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee before: HUAWEI DEVICE Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20181226

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: HUAWEI DEVICE Co.,Ltd.

Address before: 518129 Building 2, B District, Bantian HUAWEI base, Longgang District, Shenzhen, Guangdong.

Patentee before: Huawei terminal (Shenzhen) Co.,Ltd.

TR01 Transfer of patent right