CN114050907A - 网络数据包的过滤方法、传输方法以及终端设备 - Google Patents
网络数据包的过滤方法、传输方法以及终端设备 Download PDFInfo
- Publication number
- CN114050907A CN114050907A CN202010716584.8A CN202010716584A CN114050907A CN 114050907 A CN114050907 A CN 114050907A CN 202010716584 A CN202010716584 A CN 202010716584A CN 114050907 A CN114050907 A CN 114050907A
- Authority
- CN
- China
- Prior art keywords
- network
- packet
- terminal device
- data packet
- terminal equipment
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 238000001914 filtration Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 title abstract description 10
- 230000006854 communication Effects 0.000 claims abstract description 110
- 238000004891 communication Methods 0.000 claims abstract description 106
- 230000006870 function Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 description 36
- 238000007726 management method Methods 0.000 description 15
- 238000010295 mobile communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 10
- 230000011664 signaling Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002618 waking effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种网络数据包的过滤方法、传输方法、终端设备以及计算机可读存储介质。网络数据包的过滤方法应用于终端设备,终端设备中存储有一条或多条通信五元组条目,每一条通信五元组条目用于基于预设规则确定广播数据包。过滤方法包括:接收网络数据包;解析网络数据包中的通信五元组;至少通过判断网络数据包中的通信五元组与一条或多条通信五元组条目中的至少一条条目相匹配,以确定网络数据包为将要被丢弃的广播数据包;丢弃接收到的广播数据包。本申请的网络数据包过滤方法可以减少对应用处理器的频繁唤醒,从而可以节省终端设备的功耗。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种网络数据包的过滤方法、传输方法、终端设备以及计算机可读存储介质。
背景技术
当终端设备接收到来自网络的数据包时,由调制解调器(Modem)将其转换为应用处理器(Application Processor,AP)可识读的信号,再由应用处理器对数据包进行解析,以获取数据包的目的地址信息(例如,目的端口号)。之后,应用处理器根据目的地址信息将数据包中携带的报文信息交付相对应的应用。
由于IPv4地址空间中IP地址数量的限制,目前运营商在部署网络时,会采用分级路由的架构,每个路由下的终端设备共用一个网段。这样,在同一个路由下的终端设备会面临TCP、UDP等数据包广播的问题。终端设备在接收广播数据包后,通过应用处理器对其进行解析,发现没有用于接收该数据包的应用程序,应用处理器对该数据包进行丢弃处理。
为处理来自网络的广播数据包,需要频繁地唤醒应用处理器,由此会产生许多不必要的功耗。
发明内容
本申请的一些实施方式提供了一种网络数据包的过滤方法、网络数据包的传输方法、终端设备以及计算机可读存储介质。以下从多个方面介绍本申请,以下多个方面的实施方式和有益效果可互相参考。
第一方面,本申请实施方式提供了一种网络数据包的过滤方法,用于终端设备,终端设备中存储有一条或多条通信五元组条目,每一条通信五元组条目用于基于预设规则确定广播数据包;方法包括:接收网络数据包;解析网络数据包中的通信五元组;至少通过判断网络数据包中的通信五元组与一条或多条通信五元组条目中的至少一条条目相匹配,以确定网络数据包为将要被丢弃的广播数据包;丢弃广播数据包。
根据本申请的实施方式,基于终端设备中存储的通信五元组条目确定接收到的网络数据包是否为广播数据包,并对数据包进行过滤,以节省终端设备的功耗。当网络环境中存在大量的广播数据包时,本申请实施方式可以显著降低终端设备的功耗。
在一些实施方式中,至少通过判断网络数据包中的通信五元组与一条或多条通信五元组条目中的至少一条条目相匹配,以确定网络数据包为将要被丢弃的广播数据包,进一步包括:通过判断网络数据包中的通信五元组与一条或多条预设的通信五元组条目中的至少一条条目相匹配,以确定网络数据包为广播数据包,并且确定终端设备未运行与网络数据包相对应的应用程序的情况下,丢弃广播数据包。
根据本申请的实施方式,当确定终端设备接收到的网络数据包为广播数据包时,进一步判断终端设备是否开启了网络数据包是否为终端设备不需要的数据包。当网络数据包为终端设备不需要的数据包时,丢弃该数据包,以节省终端设备的功耗。
在一些实施方式中,方法在终端设备的调制解调器执行。
根据本申请的实施方式,在终端设备的调制解调器对网络数据包进行过滤,从而可以避免对终端设备应用处理器的频繁唤醒,以进一步节省终端设备的功耗。
在一些实施方式中,一条或多条通信五元组条目存储在调制解调器中。
在一些实施方式中,通信五元组条目通过对其中包括的字段的值进行定义来设定预设规则。
在一些实施方式中,至少一条通信五元组条目的目的端口字段的值被定义为123、137、138、139、445或593。
在一些实施方式中,至少一条通信五元组条目的目的IP地址字段的值被定义为广播IP地址。
在一些实施方式中,通信五元组条目中的一个或多个字段为通配字段。
在一些实施方式中,确定终端设备未运行与网络数据包相对应的应用程序,包括:获取终端设备的应用处理器当前监听的端口信息;根据端口信息确定终端设备未运行与网络数据包相对应的应用程序。
在一些实施方式中,方法还包括:获取终端设备的当前工作模式,其中,终端设备的工作模式包括网络数据包限制接收模式以及与网络数据包限制接收模式不同的其他模式;确定终端设备的当前工作模式为网络数据包限制接收模式,并确定网络数据包为广播数据包,且确定终端设备未运行与网络数据包相对应的应用程序的情况下,丢弃接收到的广播数据包。
根据本申请的实施方式,当终端设备的当前工作模式为网络数据包限制接收模式时,对接收到的网络数据包进行过滤,以丢弃用户设备不需要的广播数据包。本申请实施方式中,在节省终端设备功耗的同时,还可以避免漏接IMS来电。
在一些实施方式中,获取终端设备的当前工作模式,包括:终端设备的调制解调器从终端设备的应用处理器获取终端设备的当前工作模式。
在一些实施方式中,当满足下述条件中的一个或多个时,应用处理器将终端设备的当前工作模式确定为网络数据包限制接收模式:终端设备的系统时间位于设定时间区段;终端设备的显示屏熄屏;终端设备的IP多媒体系统未注册,或者LTE语音通话功能关闭;终端设备在设定时间段内接收到的无效数据包的数量超过设定阈值,无效数据包为其目的端口未被终端设备的应用处理器所监听的数据包;终端设备的免打扰开关开启。
第二方面,本申请实施方式提供了一种网络数据包的传输方法,在终端设备的调制解调器执行,方法包括:接收网络侧设备发送的寻呼消息;获取终端设备的当前工作模式,其中,终端设备的工作模式包括网络数据包限制接收模式以及与网络数据包限制接收模式不同的其他模式;确定终端设备的当前工作模式为网络数据包限制接收模式,忽略接收到的寻呼消息。
根据本申请的实施方式,当终端设备的当前工作模式为网络数据包限制接收模式时,忽略接收到的寻呼消息(例如,不建立RRC连接,不接受来自网络的数据包),从而可以节省用户设备的功耗。
在一些实施方式中,获取终端设备的当前工作模式,包括:调制解调器从终端设备的应用处理器获取终端设备的当前工作模式。
在一些实施方式中,当满足下述条件中的一个或多个时,应用处理器将终端设备的当前工作模式确定为网络数据包限制接收模式:终端设备的系统时间位于设定时间区段;终端设备的显示屏熄屏;终端设备的IP多媒体系统未注册,或者LTE语音通话功能关闭;终端设备在设定时间段内接收到的无效数据包的数量超过设定阈值,无效数据包为其目的端口未被终端设备的应用处理器所监听的数据包;终端设备的免打扰开关开启。
第三方面,本申请实施方式提供了一种终端设备,包括:存储器,用于存储由终端设备的一个或多个处理器执行的指令;处理器,当处理器执行存储器中的指令时,可使得终端设备执行本申请第一方面任一实施方式所述的网络数据包的过滤方法,或执行本申请第一方面任一实施方式所述的网络数据包的传输方法。第三方面能达到的有益效果可参考第一方面任一实施方式或第二方面任一实施方式所提供的方法的有益效果,此处不再赘述。
第四方面,本申请实施方式提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,该指令在计算机上执行时使得计算机执行本申请第一方面任一实施方式所述的网络数据包的过滤方法,或执行本申请第一方面任一实施方式所述的网络数据包的传输方法。第四方面能达到的有益效果可参考第一方面任一实施方式或第二方面任一实施方式所提供的方法的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的移动通信网络的结构示意图;
图2为现有技术中终端设备接收网络数据包的过程;
图3为本申请实施例提供的终端设备的构造示意图;
图4为本申请实施例提供的网络数据包过滤方法的原理示意图;
图5a为本申请实施例提供的网络数据包过滤方法的流程示意图一;
图5b为本申请实施例提供的网络数据包的组成示意图;
图5c为本申请实施例提供的网络数据包过滤名单的示意图;
图6为本申请实施例的效果示意图;
图7为本申请实施例提供的网络数据包传输方法的原理示意图;
图8为本申请实施例提供的网络数据包传输方法的流程示意图;
图9为本申请实施例提供的网络数据包过滤方法的流程示意图二;
图10示出了本申请实施例提供的终端设备的框图;
图11示出了本申请实施例提供的片上系统(SoC,System on Chip)的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的具体实施方式。
图1示出了本申请实施方式提供的一个移动通信网络A(例如,LTE网络,5G网络)的结构示意图,其中,网络A与互联网相连,以使得连接在网络A中的设备(例如,终端设备100,以及连接在路由设备300下的终端设备)可以与互联网中的其他主机进行通信。
移动通信网络A包括多台终端设备以及网络侧设备200,网络侧设备200为终端设备提供接入互联网的接口,例如,为终端设备提供无线电覆盖、分组数据传递、IP地址分配等功能。通过网络侧设备200提供的功能,终端设备可与互联网上的其他主机进行通信。可以理解的是,由于网络A中的终端设备共用同一个网段(即网络A中的终端设备具有相同的网络号),因此,当互联网上的某设备向网络A发送广播消息时,网络A中的终端设备均可以接收到该广播消息。
结合图1示出的场景,说明现有技术中终端设备100接收网络数据包的过程。参考图2,该过程包括:
S110:网络侧设备200向终端设备100发送寻呼消息(PS paging)。
网络侧设备200向终端设备100发送寻呼消息的作用在于建立起网络侧设备200与终端设备100之间的信令连接。当终端设备100接收到寻呼消息之后,会触发终端设备100向网络侧设备发起信令连接(例如,步骤S120的无线资源控制(Radio Resource Control,RRC)连接)请求。
S120:响应于接收到的寻呼消息,终端设备100向网络侧设备200发送RRC连接请求;网络侧设备200在接收到终端设备100发送的RRC连接请求后,与终端设备100建立RRC连接。
RRC连接是网络侧设备200向终端设备100发送控制信令的通道,网络侧设备200通过RRC连接为终端设备100分配无线资源(例如,频率、时隙、功率等资源),以及对网络侧设备200与终端设备100之间的数据传输过程(例如,步骤S130的网络数据包传输过程)提供信令控制。
S130:在建立RRC连接之后,网络侧设备200将网络数据包发送至终端设备100,终端设备100调制解调器(Modem)接收网络侧设备200下发的网络数据包。
Modem属于终端设备100的基带子系统,用于对来自网络的调制信号进行解调,以将网络中的信号转换为终端设备100的应用处理器AP可识读的信号。对于支持蜂窝通信的终端设备100,Modem还可以用于实现蜂窝通信协议栈。
S140:终端设备100的Modem向应用处理器AP发送接收到的网络数据包。
Modem对接收到的网络数据包进行处理(例如,解调)后,将网络数据包发送至应用处理器AP。当Modem向应用处理器AP发送网络数据包时,会在应用处理器AP上产生一个中断信号,以使得应用处理器AP执行与该中断信号相对应的处理。本文称该过程为“唤醒应用处理器AP”。
S150:应用处理器AP对网络数据包进行解析(例如,解析网络数据包中的目的端口号),并判断是否存在用于接收网络数据包的目的应用进程。如果存在,则将网络数据包中的报文交付该目的应用进程,否则,则丢弃该网络数据包。本文中,将没有应用进程接收的数据包称为“终端设备100不需要的数据包”或“无效数据包”。
S160:RRC连接的不活动定时器超时后,网络侧设备200释放该RRC连接。
在步骤S150中,如果应用处理器AP判断不存在用于接收网络数据包的应用进程,则会丢弃该网络数据包。也就是说,应用处理器AP不会对该数据包进行响应(例如,向网络发送确收或应答报文),这样,当RRC连接的不活动定时器超时后,网络侧设备200释放该RRC连接。
在网络环境中,终端设备100会接收到大量广播数据包,其中许多广播数据包对终端设备100来说是不需要的数据包。但是,终端设备100在接收到广播数据包之后,会频繁唤醒应用处理器AP,因此,终端设备100会产生许多不必要的功耗。
为此,本申请实施方式提供了一种网络数据包的过滤方法,用于节省终端设备100的功耗。具体地,当Modem接收到网络数据包时,判断接收到的网络数据包是否为终端设备100不需要的数据包。当网络数据包为终端设备100不需要的数据包时,Modem不会唤醒应用处理器AP,而是直接丢弃该数据包。本申请实施方式可以减少对应用处理器AP的频繁唤醒,节省终端设备100功耗。
以下结合图1示出的场景对本申请的具体实施例进行介绍。但本申请不限于此,本申请技术方案也可以应用于图1所示场景之外的其他场景,例如,终端设备100通过有线通信网络与互联网连接的场景。
图3示出了本申请实施例提供的终端设备100的结构示意图,其中,终端设备100可以实现为手机、台式电脑、平板、可穿戴设备、膝上型设备、多媒体设备、定位设备、游戏设备等具有通信功能的终端设备,本申请对此不进行限定。
终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接头130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,本实施例中,处理器110包括应用处理器(application processor,AP)和调制解调器(Modem)。处理器110还可以包括图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接头130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。移动通信模块150还可以对经调制解调器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备输出声音信号,或通过显示屏显示图像或视频。在一些实施例中,调制解调器可以是独立的器件。在另一些实施例中,调制解调器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备100的各种功能应用以及数据处理。
为便于理解本实施例的技术方案,首先介绍广播数据包的发送过程。
在互联网中,通过IP地址来标识各节点设备(例如,终端设备、路由器等)在网络中的位置。IP地址由网络号字段(net ID)和主机号字段(host ID)组成,网络号字段用于标记主机所在的网络,主机号字段用于标记主机。其中,主机号字段为全1的IP地址为广播IP地址,以广播IP地址作为目的IP地址的网络数据包会被发送至目的网络上的所有主机。需要说明的是,“全1”为主机号字段的值的二进制表述,当主机号字段为8位二进制数时(即,当主机号字段的二进制表述为11111111时),其对应的十进制表述为255,十六进制表述为FF。
例如,终端设备100的IP地址为198.220.220.3,根据IP协议,终端设备100所在网络(即网络A)的网络号为198.220.220,终端设备100在该网络中的主机号为3。如果网络上的某网络数据包的目的IP地址为198.220.220.255,该网络数据包会被发送至连接在网络A上的所有主机(包括终端设备100)。
另外,如果发送广播数据包的主机与终端设备100位于同一个网络(即均位于网络A),该主机可以通过IP地址255.255.255.255向网络A上的所有主机发送广播数据包(IP地址255.255.255.255又称为“受限的广播地址”)。
以下介绍本申请的具体实施例。
【实施例一】
参考图4,本实施例提供了一种过滤网络数据包的方法,用于节省终端设备100的功耗。假设,在本实施例的一次通信过程中,网络上的某主机(该主机为本次通信过程的源主机)向网络A发送了广播数据包,这样,网络A上的终端设备均可以接收到该广播数据包(即,网络A上的所有终端设备均为本次通信过程的目的主机)。以下以终端设备100为例介绍本实施提供的网络数据包过滤方法,但可以理解,本实施例提供的方法可以应用于网络A中的其他任一节点设备。
具体地,终端设备100包括Modem和应用处理器AP,当Modem接收到网络数据包时,判断接收到的网络数据包是否为终端设备100不需要的数据包。当网络数据包为终端设备100不需要的数据包时,Modem不会唤醒应用处理器AP,而是直接丢弃该数据包。本实施例可以减少对应用处理器AP的频繁唤醒,从而可以减少终端设备100的功耗。
另外,本实施例中,源主机可以是移动终端,也可以是固定终端;可以是通过移动通信网络接入互联网的设备,也可以是通过有线网络接入互联网的设备;可以与终端设备100位于同一个网络中(即网络A中),也可以与终端设备100位于不同的网络中。
参考图5a,本实施例的方法包括:
S210:Modem接收到来自网络侧设备200的寻呼消息。
S220:Modem向网络侧设备200发送RRC连接请求,以与网络侧设备200建立RRC连接。
步骤210和步骤220用于建立终端设备100与网络侧200之间的信令连接,其具体过程可以参考现有技术中的过程(例如,上文步骤S110和S120),不再赘述。
S230:Modem接收网络数据包。
参考图5b,网络数据包包括包头部分和包体部分,包头部分包括通信控制信息,通信控制信息用于保证网络数据包在通信信道中被正确传输,包体部分包括网络数据包中携带的报文信息。
对互联网通信而言,通信的过程为两台主机(分别为源主机和目的主机)中的两个进程交换数据的过程。其中,发送数据的进程为源进程,接收数据的进程为目的进程。
可以理解,当源进程向目的进程发送数据时,需要知道目的主机(在互联网中的位置,以及目的进程在目的主机中的标识。在TCP/IP协议中,目的主机的位置为其IP地址(即,目的IP),目的进程在目的主机中的标识为目的进程的端口号(即,目的端口)。
另外,为了便于目的进程向源进程发送回送报文,网络数据包中还会携带源进程的地址信息,源进程的地址信息包括源IP(源主机的IP地址)以及源端口(源进程在源主机中的端口号)。
上述源IP,目的IP,源端口,目的端口,通信协议(例如,TCP、UDP、ICMP等)称为网络数据包中的通信五元组。可以理解,通过通信五元组,可以完整地标识源进程和目的进程的地址,从而可以保证网络数据包在网络中的正确传输。
需要说明的是,图5b中,通信五元组在网络数据包中的位置仅是示意性表述,其目的在于更清楚地说明本实施例的技术方案,并不代表通信五元组在网络数据包中的实际位置。
S240:Modem解析网络数据包中的通信五元组。
本实施例中,Modem中包括TCP/IP协议栈程序,以从网络数据包中解析出其携带的通信五元组。
其中,Modem可以解析网络数据包通信五元组中的全部5个字段,也可以解析通信五元组中的部分字段,步骤S250中以及步骤S260将对Modem需要解析的五元组字段进行具体说明。
S250:Modem将解析到的网络数据包中的五元组字段与储存在Modem中的过滤名单中的五元组条目进行比较,以判断网络数据包与五元组条目是否匹配。如果匹配,则执行步骤S260;如果不匹配,则执行步骤S280。
本实施例中,五元组条目用于指示与其相匹配的数据包为广播数据包,也就是说,当网络数据包与五元组条目相匹配时,可以将该网络数据包确定为广播数据包,从而执行步骤S260,以进一步判断网络数据包是否为终端设备100需要的数据包;当网络数据包与五元组条目不匹配时,确定网络数据包不是广播数据包,从而执行步骤S280,以将网络数据包传输至应用处理器AP。
为叙述的连贯性,过滤名单中五元组条目的具体设置方式在本实施例的末尾进行说明。
S260:Modem判断终端设备100是否开启了用于接收网络数据包的应用程序。如果未开启,则执行步骤S270,否则,执行步骤S280。
当步骤S250中确认网络数据包为广播数据包时,进一步确认终端设备100是否开启开了用于接收网络数据包的应用程序,以判断网络数据包是否为终端设备100需要的数据包。用于接收网络数据包的应用程序例如为:即时会话程序(例如,微信TM),电子邮件程序(例如,FoxmailTM),浏览器程序(例如,SafariTM)等通信应用程序等。
为了与网络上其他主机进行通信,通信应用程序在启动运行时,会确定用于接收/发送网络数据包的端口号。其中,对于服务器程序,其有固定的端口号;对于客户进程,其在启动运行的时候动态选择端口号。
Modem从应用处理器AP读取处于生效状态的端口号,并存储在生效端口号列表中。当Modem接收到网络数据包后,查询网络数据包中的目的端口号是否存在于生效端口号列表中,如果目的端口号存在于端口号列表中,则判断终端设备100开启了用于接收网络数据包的应用;否则,则判断终端设备100未开启用于接收网络数据包的应用。
本实施例中,当终端设备100中运行的通信应用程序有变化时,例如,新开启了一个通信应用程序,或者,某个通信应用程序退出运行时,处于生效状态的端口号会发生变换,应用处理器AP将端口号更新信息通知Modem,以使得Modem对生效端口号列表进行更新。
另外,本实施例通过查询网络数据包的目的端口号是否存在与生效端口号列表中,从而判断终端设备100是否开启了用于接收网络数据包的应用,因此可以理解,步骤S240解析的网络数据包通信五元组的全部或部分字段中,应当包括网络数据包的目的端口号。
S270:Modem丢弃网络数据包。
当网络数据包与五元组条目相匹配,且终端设备100没有运行用于接收网络数据包的应用程序时,该网络数据包对于终端设备100来说是不需要的数据包,Modem对该数据包进行丢弃处理,例如,释放用于存储该数据包的缓存。
S280:Modem向应用处理器AP发送网络数据包。应用处理器AP在接收到网络数据包后,根据数据包中的协议和目的端口号,将数据包中的报文交付用于接收该数据包的应用程序(例如,微信),以使得应用程序执行与该网络数据包相对应的操作(例如,在会话窗口中显示报文中携带的会话内容)。
本实施例中,在Modem存储有过滤名单,当接收到网络数据包时,Modem根据过滤名单对网络数据包进行过滤,以判断接收到的网络数据包是否为终端设备100不需要的数据包。当网络数据包为终端设备100不需要的数据包时,Modem丢弃该数据包。
本实施例可以减少对应用处理器AP的频繁唤醒,从而可节省终端设备100的功耗。尤其是在网络环境中存在大量的广播数据包时,本实施例可以显著节省终端设备100的功耗。
在本实施例的一些变形实施例中,当步骤S250中判断接收到网络数据包为广播数据包(具体为网络数据包与至少一条五元组条目相匹配)时,则认为该网络数据包为终端设备100不需要的数据包,从而直接执行步骤S270(丢弃网络数据包),而不需要执行步骤S260(判断终端设定100是否开启了用于接收网络数据包的应用)。也就是说,该实施例中,会丢弃满足步骤S250所述的判断条件的所有广播数据包(例如,目的端口为指定端口的广播数据包)。
下面结合图5c介绍Modem的过滤名单中五元组条目的具体设置方式。
图5c示出了本实施例提供的过滤名单,过滤名单中包括5个五元组条目。各条目均包括用逗号分隔开的五个字段,五个字段分别对应于通信五元组的五个字段。本实施例中,从左到右,五元组条目的各字段分别对应于通信五元组的源IP,源端口,目的IP,目的端口以及网络协议。
五元组条目用于基于预设规则确定广播数据包,该预设规则可以通过对五元组条目中各字段的值进行定义来设定。本实施例中,五元组条目中各字段的值是根据广播数据包的特性进行设置的。这样,五元组条目可用于指示与其相匹配的数据包为广播数据包。从而,当网络数据包与五元组条目相匹配时,可以将该网络数据包确定为广播数据包。
以下对图5c中各条目的设置方式进行说明。
(1)条目1中,目的IP字段的值为198.220.220.255,其余各字段的值为0。其中,取值为0的字段表示通配字段。通配字段的含义为,不论网络数据包五元组中与通配字段相对应字段的值是多少,均认为该相对应字段的值与通配字段的值相同。本实施例中,用数值“0”表示通配字段,在其他实施例中,也可以用其他数值/字符(例如,“match”)来表示通配字段。
当网络数据包的五元组各字段的值与五元组条目的相应字段的值均相同,则判断网络数据包的通信五元组与该条五元组条目相匹配(或网络数据包与该条五元组条目相匹配),否则,判断网络数据包的通信五元组与五元组条目不匹配(或网络数据包与该条五元组条目不匹配)。
由于条目1除目的IP地址之外的字段均为通配字段,因此,当网络数据包中的目的IP地址为198.220.220.255时,无论网络数据包中的源IP地址、通信协议等是什么,均认为网络数据包与条目1相匹配;当网络数据包中的目的IP为除198.220.220.255之外的其他值时,认为网络数据包与条目1不匹配。
条目1中,通过将目的IP地址字段的值设置为198.220.220.255,以使得条目1用于指示与其相匹配的数据包为广播数据包,从而对该数据包进行过滤。
根据上文所述,终端设备100所在网络(即网络A)的网络号为198.220.220,因此,当网络数据包中的目的IP地址为198.220.220.255时,可以确定该网络数据包为向网络A发送的广播数据包。因此,本实施例的五元组条目1中,将目的IP地址字段的值设为198.220.220.255,以指示与条目1相匹配的数据包为广播数据包。
(2)条目2中,目的端口字段的值为137,其余各字段的值为0。也就是说,当网络数据包中的目的端口为137时,认为网络数据包与条目2相匹配;当网络数据包中的目的端口为除137之外的其他值时,认为网络数据包与条目2不匹配。
条目2中,通过将目的端口字段的值设置为137,使得条目2用于指示与其相匹配的数据包为网络数据包。
137号端口为网络基本输入/输出系统(NetBIOS)的名称服务器(NBNS)端口。其中,NetBIOS用于为局域网中的计算机提供数据共享的接口,例如,用于实现局域网中的打印机共享。由于NetBIOS服务是计算机中的常用服务,因此,在一些操作系统中,137端口是默认开放的。
当终端设备100的137号端口处于开放状态时,只要互联网上的一台主机向终端设备100的137号端口发送一个请求,就可以获取终端设备100的主机名、用户名等信息。因此,网络上的一些主机(可能是恶意的)会以137端口为目的端口向目的网络发送广播消息,以获取目的网络中的主机信息。
本实施例中,当网络数据包中的目的端口号为137时,将该网络数据包确定为广播数据包。因此,本实施例的五元组条目2中,将目的端口字段的值设为137,以指示与条目2相匹配的数据包为广播数据包。
条目2以137号端口为例对目的端口字段的设置方式进行了介绍,本申请不限于此,在其他条目中,可以根据网络环境中发送广播消息的常用目的端口设置目的端口字段的值,例如,将目的端口字段的值设为123、138、139、593等。
(3)条目3中,目的端口字段的值为445,通信协议字段的值为UDP。也就是说,当网络数据包中的目的端口为137时,且通信协议的值为UDP时,认为网络数据包与条目3相匹配;否则,认为网络数据包与条目3不匹配。
与条目2类似,条目3通过设置目的端口字段的值,以使得条目3用于指示与其相匹配的数据包为广播数据包;与条目2不同的是,条目3还对通信协议字段的值进行了指定。
这是因为,445端口是TCP协议和UDP协议的共用端口,因此通过同时指定目的端口字段和通信协议字段的值,才便于唯一确定用于接收网络数据包的目的进程。其中,由于UDP协议是无连接的协议,因而,当网络数据包中的协议为UDP协议时,该数据包更有可能是终端设备100不需要的数据包,因此,条目3将通信协议字段的值设为UDP。本申请不以此为限,在其他条目中,当目的端口字段的值为445时,也可以不对通信协议字段的值进行指定(即,将通信协议字段设为“通配字段”)。
(4)条目4中,目的IP字段的值为255.255.255.255,其余各字段的值为0。也就是说,条目4中,通过将目的IP字段的值设为255.255.255.255,以使得条目4用于指示与其匹配的数据包为广播数据包。
根据上文所述,IP地址255.255.255.255为受限的广播IP地址(只能向本网络内的主机发送广播数据包的广播IP地址),因此,条目4可用于指示与其相匹配的数据包为来自本网络(即网络A)的广播数据包。
(5)条目5中,源IP字段的值为198.220.220.10,其余各字段的值为0。也就是说,条目5通过将源IP字段的值设为198.220.220.10,以使得条目5用于指示与其匹配的数据包为广播数据包。
在互联网中,可能存在一些频繁向网络中发送广播消息的主机,因此,在本实施例的一些五元组名单中,将该主机的IP地址设为五元组名单源IP字段的值,以使得该五元组名单用于指示与其相匹配的数据包为广播数据包,从而对该数据包进行过滤。
具体地,在一个示例中,假设位于本网络(即网络A)上的某主机(其IP地址为198.220.220.10)为频繁向网络中发送广播消息的主机,因此,名单5中,将源IP地址字段的值设为198.220.220.10,以使得名单5用于指示与其相匹配的数据包为广播数据包。
本实施例中,Modem将网络数据包的五元组字段与各五元组条目依次进行匹配,当网络数据包与其中一条五元组名单相匹配时,认为网络数据包为广播数据包,执行步骤S260;若网络数据包与各五元组名单均不匹配,认为网络数据包不是广播数据包,执行步骤S280。
在图5c给出的示例中,各五元组条目均包括与五元组字段一一对应的五个字段,因此,为与图5c中的五元组条目进行匹配,以判断网络数据包是否为广播数据包,在步骤S240中,需要解析网络数据包的通信五元组的全部5个字段。
但本申请不限于此。例如,在其他实施例中,五元组条目中的字段数量可以少于五个(即本申请对五元组条目的字段数量不进行限定),例如,五元组名单可以仅包括两个字段:目的端口号字段和通信协议字段。在该实施例中,步骤S240中可以仅解析网络数据包的网络协议五元组中的目的端口号和通信协议。
除此之外,本领域技术人员还可以对图5c中五元组条目的设置方式进行其他变形。例如,可以对图5c中五元组条目中各字段的排列顺序进行调换;再如,五元组条目中可以不设通配字段,而是对各字段的值均进行指定,等。
图6为本实施例的效果图,图中示出了对终端设备100的收发数据包进行抓包的结果。由于终端设备100没有开启NBNS服务的137号端口,当互联网中的某主机向终端设备100发送对应于137号端口的名称请求包(Name query NB)时,该名称请求包被Modem丢弃,不会唤醒终端设备100的应用处理器AP,因此,终端设备100通过网际控制报文协议(InternetControl Message Protocol,ICMP)产生目的不可达报文(Destination unreachable)。
【实施例二】
参考图7,本实施例提供了一种网络数据包的传输方法,用于降低终端设备100的功耗。本实施例中,终端设备100在接收到网络侧设备的寻呼消息时,Modem基于终端设备100的当前工作模式确定是否对该寻呼消息进行响应。当终端设备100的当前工作模式为网络数据包限制接收模式(例如,终端设备100免打扰开关(例如,飞行模式开关)开启)时,Modem不响应接收到的寻呼消息(例如,不与网络侧设备建立RRC连接,不接收来自网络的数据包),以节省终端设备100的功耗。
具体地,参考图8,本实施例包括以下步骤:
S310:Modem接收到来自网络侧设备的寻呼消息,该寻呼消息用于通知终端设备100网络上有数据包下发;
S320:Modem判断终端设备100的当前工作模式是否为网络数据包限制接收模式,若是,则执行步骤S330;否则,执行步骤S340。
具体地,由应用处理器AP根据终端设备100的工作场景确定终端设备100的当前工作模式,之后,Modem从应用处理器AP获取该确定结果,并且基于获取到的确定结果判断终端设备100的当前工作模式是否为网络数据包限制响应模式。本文中,“Modem从应用处理器AP获取确定结果”可以是应用处理器AP将确定结果主动通知Modem,也可以是Modem从应用处理器AP读取确定结果。
其中,当满足下列条件A~E中的至少一个时,应用处理器AP将终端设备100的当前工作模式确定为网络数据包限制接收模式。
条件A:终端设备100的系统时间位于设定时间区段。其中,设定时间区段的取值可根据用户的需求进行确定,例如,用户将晚上睡觉的时段(例如,23:00~次日6:00)确定为设定时间区段。
条件B:终端设备100的显示屏熄屏。当终端设备100的显示屏熄屏时,用户通常不会与终端设备100进行交互操作,终端设备100上的网络应用可以延迟接收来自网络的数据包,因此,当终端设备100的显示屏熄屏时,应用处理器AP可将终端设备100的当前工作模式确定为网络数据包限制接收模式;
条件C:终端设备100在设定时间段(例如,1分钟)内接收到的无效数据包的数量超过设定阈值。其中,无效数据包为终端设备100不需要的数据包,例如,终端设备100未运行用于接收该数据包的应用进程。本申请实施例中,无效数据包的数量可以为无效数据包的个数,也可以为无效数据包中包含的数据量(例如,码元数量)。
条件D:终端设备100的免打扰开关开启。例如,可在终端设备100的显示界面上添加用于用户操作的免打扰开关,当应用处理器AP监测到用户开启该开关时,将终端设备100的当前工作模式确定为网络数据包限制接收模式。用户可以在会议、参观、工作、睡觉等不希望被网络应用干扰的情况下开启免打扰开关。
条件E:终端设备100的IP多媒体系统(IP Multimedia Subsystem,IMS)未注册,或者LTE语音通话(voice over LTE,VoLTE)功能关闭。当终端设备100的IMS未注册或者LTE语音通过功能关闭时,说明终端设备100支持但未开启VoLTE功能(可能是用户暂时关闭了VoLTE语音通话功能),此时,限制网络数据包的接收对VoLTE语音通话功能没有实质影响,可将终端设备100的当前工作模式确定为网络数据包限制接收模式。需要说明的是,本实施例对基于电路交换(Circuit Switching,CS)的通信方式不进行限制,在网络数据包限制接收模式下,终端设备100可以基于CS接收来电。
S330:Modem忽略接收到的寻呼消息,不发起与网络侧设备的RRC连接,不接收来自网络的数据包,从而可以节省终端设备100的功耗。
S340:Modem响应接收到的寻呼消息。例如,发起与网络侧设备的RRC连接,正常接收来自网络的数据等,具体过程可参考现有技术的过程(例如,步骤S120~S150中的描述),不再赘述。
本实施例中,终端设备100接收到来自网络侧设备的寻呼消息时,首先确定终端设备100的当前工作模式,当终端设备100的当前工作模式为网络数据包限制接收模式时,Modem不对该寻呼消息进行响应(例如,不发起RRC连接,不接收数据包等),从而可以节省终端设备100的功耗。
【实施例三】
本实施例提供了一种网络数据包的过滤方法,本实施例提供的网络数据包过滤方法基于实施例一和实施例二。
在实施例二中,当终端设备100处于网络数据包限制接收模式时,终端设备100会忽略接收到的寻呼消息,因而终端设备100不会再接收来自网络的数据包,包括IMS语音数据包。也就是说,实施例二中,当终端设备100处于网络数据包限制接收模式时,终端设备100可能会漏掉IMS语音来电。
为此,本实施例中,当终端设备100的当前工作模式为网络数据包限制接收模式时,Modem不是忽略接收到的寻呼消息,而是对寻呼消息进行响应以接收网络侧设备200下发的网络数据包。在接收到网络数据包之后,Modem对网络数据包进行过滤(具体为根据实施例一提供方法对网络数据包进行过滤)。
因此,本实施例中,即使是在网络数据包限制接收模式下,只要终端设备100注册了IMS功能,用户即可以正常接收IMS语音通话,从而可以避免漏接IMS来电;并且,本实施例对接收到的网络数据包进行过滤,从而可以避免对应用处理器AP的频繁唤醒,以节省终端设备100的功耗。
具体地,参考图9,本实施例包括下述步骤:
S410:Modem接收到来自网络侧设备200的寻呼消息,该寻呼消息用于触发Modem向网络侧设备200发起RRC连接请求。
S420:Modem向网络侧设备200发送RRC连接请求,以与网络侧设备200建立RRC连接。
S430:Modem接收网络数据包。
步骤S410~S430与实施例一的步骤S210~S230实质相同,其具体细节可以实施例一中的叙述,不再赘述。
S440:Modem判断终端设备100的当前工作模式是否为网络数据包限制接收模式,若是,则执行步骤S450,以启动对网络数据包的过滤程序;否则,执行步骤S490,以将网络数据包交付应用处理器AP。
具体地,由应用处理器AP根据终端设备100的工作场景确定终端设备100的当前工作模式,之后,Modem从应用处理器AP获取该确定结果,并且基于获取到的确定结果判断终端设备100的当前工作模式是否为网络数据包限制响应模式。
其中,应用处理器AP确定终端设备100的工作模式的方法可参照实施例二步骤S320中的叙述(例如,当满足步骤S320条件A~E中的至少一个时,应用处理器AP将终端设备100的当前工作模式确定为网络数据包限制接收模式),不再赘述。
S450:Modem解析网络数据包中的通信五元组。具体地,Modem解析网络数据包五元组字段中的部分字段或全部字段。
S460:Modem将解析到的网络数据包中的五元组字段与储存在Modem中的过滤名单中的五元组条目进行比较,以判断网络数据包与五元组条目是否匹配。如果匹配,则执行步骤S470,以进一步判断网络数据包是否为终端设备100需要的数据包;如果不匹配,则执行步骤S490,以将网络数据包传输至应用处理器AP。
S470:判断终端设备100是否开启了用于接收网络数据包的应用程序。如果未开启,则执行步骤S480;否则,执行步骤S490。
Modem从应用处理器AP读取处于生效状态的端口号,并存储在生效端口号列表中。当Modem接收到网络数据包后,查询网络数据包中的目的端口号是否存在于生效端口号列表中,如果目的端口号存在于端口号列表中,则判断终端设备100开启了用于接收网络数据包的应用;否则,则判断终端设备100未开启用于接收网络数据包的应用。
S480:Modem丢弃网络数据包。例如,释放用于存储该数据包的缓存。
S490:Modem向应用处理器AP发送网络数据包。应用处理器AP在接收到网络数据包后,将数据包中的报文交付用于接收该数据包的应用程序(例如,微信)。
上述步骤S450~S490与实施例一的步骤S240~S280实质相同,其具体细节可以实施例一中的叙述,不再赘述。
终端设备本实施例中,当终端设备100处于网络数据包限制接收模式时,Modem对网络数据包进行过滤,避免频繁唤醒应用处理器AP,从而可以节省终端设备100的功耗。尤其是当网络环境中存在大量的广播数据包时,本实施例可以显著节省终端设备100的功耗。
并且,对于终端设备100需要的数据包(终端设备100开启了相应的应用),Modem会正常接收并将其传输至应用处理器AP,因此可以避免漏接IMS来电。
另外,本实施例中各步骤的序号并非用于对各步骤的实施顺序进行限定,在满足发明目的的前提下,可以对各步骤的顺序进行调整。例如,调换步骤S250和步骤S260顺序,调换步骤S430和S440的顺序等。
现在参考图10,所示为根据本申请的一个实施例的终端设备400的框图。终端设备400可以包括耦合到控制器中枢403的一个或多个处理器401。对于至少一个实施例,控制器中枢403经由诸如前端总线(FSB,Front Side Bus)之类的多分支总线、诸如快速通道连(QPI,QuickPath Interconnect)之类的点对点接口、或者类似的连接406与处理器401进行通信。处理器401执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢403包括,但不局限于,图形存储器控制器中枢(GMCH,Graphics&Memory Controller Hub)(未示出)和输入/输出中枢(IOH,Input Output Hub)(其可以在分开的芯片上)(未示出),其中GMCH包括存储器和图形控制器并与IOH耦合。
终端设备400还可包括耦合到控制器中枢403的协处理器402和存储器404。或者,存储器和GMCH中的一个或两者可以被集成在处理器内(如本申请中所描述的),存储器404和协处理器402直接耦合到处理器401以及控制器中枢403,控制器中枢403与IOH处于单个芯片中。
存储器404可以是例如动态随机存取存储器(DRAM,Dynamic Random AccessMemory)、相变存储器(PCM,Phase Change Memory)或这两者的组合。存储器404中可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个执行时导致终端设备400实施如图5a、图8、图9所示方法的指令。当指令在计算机上运行时,使得计算机执行上述实施例一、实施例二和/或实施例三公开的方法。
在一个实施例中,协处理器402是专用处理器,诸如例如高吞吐量MIC(ManyIntegrated Core,集成众核)处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU(General-purpose computing on graphics processing units,图形处理单元上的通用计算)、或嵌入式处理器等等。协处理器402的任选性质用虚线表示在图10中。
在一个实施例中,终端设备400可以进一步包括网络接口(NIC,NetworkInterface Controller)406。网络接口406可以包括收发器,用于为终端设备400提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口406可以与终端设备400的其他组件集成。网络接口406可以实现上述实施例中的通信单元的功能。
终端设备400可以进一步包括输入/输出(I/O,Input/Output)设备405。I/O405可以包括:用户界面,该设计使得用户能够与终端设备400进行交互;外围组件接口的设计使得外围组件也能够与终端设备400交互;和/或传感器设计用于确定与终端设备400相关的环境条件和/或位置信息。
值得注意的是,图10仅是示例性的。即虽然图10中示出了终端设备400包括处理器401、控制器中枢403、存储器404等多个器件,但是,在实际的应用中,使用本申请各方法的设备,可以仅包括终端设备400各器件中的一部分器件,例如,可以仅包含处理器401和网络接口406。图10中可选器件的性质用虚线示出。
现在参考图11,所示为根据本申请的一实施例的SoC(System on Chip,片上系统)500的框图。在图11中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图11中,SoC500包括:互连单元550,其被耦合至处理器510;系统代理单元580;总线控制器单元590;集成存储器控制器单元540;一组或一个或多个协处理器520,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM,StaticRandom-Access Memory)单元530;直接存储器存取(DMA,Direct Memory Access)单元560。在一个实施例中,协处理器520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU(General-purpose computing on graphics processing units,图形处理单元上的通用计算)、高吞吐量MIC处理器、或嵌入式处理器等。
静态随机存取存储器(SRAM)单元530可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个执行时导致SoC实施如图5a、图8、图9所示方法的指令。当指令在计算机上运行时,使得计算机执行上述实施例一、实施例二和/或实施例三公开的方法。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的各方法实施方式均可以以软件、磁件、固件等方式实现。
可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP,Digital Signal Processor)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP(Intellectual Property,知识产权)核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
在一些情况下,指令转换器可用来将指令从源指令集转换至目标指令集。例如,指令转换器可以变换(例如使用静态二进制变换、包括动态编译的动态二进制变换)、变形、仿真或以其它方式将指令转换成将由核来处理的一个或多个其它指令。指令转换器可以用软件、硬件、固件、或其组合实现。指令转换器可以在处理器上、在处理器外、或者部分在处理器上且部分在处理器外。
Claims (17)
1.一种网络数据包的过滤方法,其特征在于,用于终端设备,所述终端设备中存储有一条或多条通信五元组条目,每一条所述通信五元组条目用于基于预设规则确定广播数据包;所述方法包括:
接收网络数据包;
解析所述网络数据包中的通信五元组;
至少通过判断所述网络数据包中的通信五元组与所述一条或多条通信五元组条目中的至少一条条目相匹配,以确定所述网络数据包为将要被丢弃的广播数据包;
丢弃所述广播数据包。
2.根据权利要求1所述的方法,其特征在于,所述至少通过判断所述网络数据包中的通信五元组与所述一条或多条通信五元组条目中的至少一条条目相匹配,以确定所述网络数据包为将要被丢弃的广播数据包,进一步包括:
通过判断所述网络数据包中的通信五元组与所述一条或多条通信五元组条目中的至少一条条目相匹配,以确定所述网络数据包为广播数据包,并且
确定所述终端设备未运行与所述网络数据包相对应的应用程序的情况下,丢弃所述广播数据包。
3.根据权利要求1所述的方法,其特征在于,所述方法在所述终端设备的调制解调器执行。
4.根据权利要求3所述的方法,其特征在于,所述一条或多条通信五元组条目存储在所述调制解调器中。
5.根据权利要求1所述的方法,其特征在于,所述通信五元组条目通过对其中包括的字段的值进行定义来设定所述预设规则。
6.根据权利要求5所述的方法,其特征在于,至少一条所述通信五元组条目的目的端口字段的值被定义为123、137、138、139、445或593。
7.根据权利要求5所述的方法,其特征在于,至少一条所述通信五元组条目的目的IP地址字段的值被定义为广播IP地址。
8.根据权利要求5所述的方法,其特征在于,所述通信五元组条目中的一个或多个字段为通配字段。
9.根据权利要求2所述的方法,其特征在于,所述确定所述终端设备未运行与所述网络数据包相对应的应用程序,包括:
获取所述终端设备的应用处理器当前监听的端口信息;
根据所述端口信息确定所述终端设备未运行与所述网络数据包相对应的应用程序。
10.根据权利要求1~9任一项所述的方法,其特征在于,还包括:
获取所述终端设备的当前工作模式,其中,所述终端设备的工作模式包括网络数据包限制接收模式以及与所述网络数据包限制接收模式不同的其他模式;
确定所述终端设备的当前工作模式为网络数据包限制接收模式,并确定所述网络数据包为广播数据包,以及所述终端设备未运行与所述网络数据包相对应的应用程序的情况下,丢弃所述广播数据包。
11.根据权利要求10所述的方法,其特征在于,所述获取所述终端设备的当前工作模式,包括:
所述终端设备的调制解调器从所述终端设备的应用处理器获取所述终端设备的当前工作模式。
12.根据权利要求11所述的方法,其特征在于,当满足下述条件中的一个或多个时,所述应用处理器将所述终端设备的当前工作模式确定为网络数据包限制接收模式:
所述终端设备的系统时间位于设定时间区段;
所述终端设备的显示屏熄屏;
所述终端设备的IP多媒体系统未注册,或者LTE语音通话功能关闭;
所述终端设备在设定时间段内接收到的无效数据包的数量超过设定阈值,所述无效数据包为其目的端口未被所述终端设备的应用处理器所监听的数据包;
所述终端设备的免打扰开关开启。
13.一种网络数据包的传输方法,其特征在于,在终端设备的调制解调器执行,所述方法包括:
接收网络侧设备发送的寻呼消息;
获取所述终端设备的当前工作模式,其中,所述终端设备的工作模式包括网络数据包限制接收模式以及与所述网络数据包限制接收模式不同的其他模式;
确定所述终端设备的当前工作模式为网络数据包限制接收模式,忽略接收到的所述寻呼消息。
14.根据权利要求13所述的方法,其特征在于,所述获取所述终端设备的当前工作模式,包括:
所述调制解调器从所述终端设备的应用处理器获取所述终端设备的当前工作模式。
15.根据权利要求14所述的方法,其特征在于,当满足下述条件中的一个或多个时,所述应用处理器将所述终端设备的当前工作模式确定为网络数据包限制接收模式:
所述终端设备的系统时间位于设定时间区段;
所述终端设备的显示屏熄屏;
所述终端设备的IP多媒体系统未注册,或者LTE语音通话功能关闭;
所述终端设备在设定时间段内接收到的无效数据包的数量超过设定阈值,所述无效数据包为其目的端口未被所述终端设备的应用处理器所监听的数据包;
所述终端设备的免打扰开关开启。
16.一种终端设备,其特征在于,包括:
存储器,用于存储由所述终端设备的一个或多个处理器执行的指令;
处理器,当所述处理器执行所述存储器中的所述指令时,可使得所述终端设备执行权利要求1~12任一项所述的网络数据包的过滤方法,或执行权利要求13~15任一项所述的网络数据包的传输方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,该指令在计算机上执行时使得计算机执行权利要求1~12任一项所述的网络数据包的过滤方法,或执行权利要求13~15任一项所述的网络数据包的传输方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010716584.8A CN114050907B (zh) | 2020-07-23 | 2020-07-23 | 网络数据包的过滤方法,终端设备和可读存储介质 |
US18/006,329 US20240039843A1 (en) | 2020-07-23 | 2021-07-19 | Network Data Packet Filtering Method and Transmission Method, and Terminal Device |
PCT/CN2021/107145 WO2022017327A1 (zh) | 2020-07-23 | 2021-07-19 | 网络数据包的过滤方法、传输方法以及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010716584.8A CN114050907B (zh) | 2020-07-23 | 2020-07-23 | 网络数据包的过滤方法,终端设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114050907A true CN114050907A (zh) | 2022-02-15 |
CN114050907B CN114050907B (zh) | 2023-05-02 |
Family
ID=79728490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010716584.8A Active CN114050907B (zh) | 2020-07-23 | 2020-07-23 | 网络数据包的过滤方法,终端设备和可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240039843A1 (zh) |
CN (1) | CN114050907B (zh) |
WO (1) | WO2022017327A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067803A1 (zh) * | 2022-09-30 | 2024-04-04 | 维沃移动通信有限公司 | 数据处理方法、数据处理装置、电子设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103167451A (zh) * | 2011-12-19 | 2013-06-19 | 中兴通讯股份有限公司 | 一种实现免打扰的方法及移动终端 |
US20130188489A1 (en) * | 2010-10-28 | 2013-07-25 | Shihomi Sato | Network system and communication traffic controlling method |
CN103560973A (zh) * | 2013-10-14 | 2014-02-05 | 深圳市同洲电子股份有限公司 | 一种数据包过滤的方法及装置 |
CN106804045A (zh) * | 2016-12-30 | 2017-06-06 | 广东欧珀移动通信有限公司 | 一种广播消息的转发控制方法,及接入设备 |
CN106815085A (zh) * | 2016-12-30 | 2017-06-09 | 广东欧珀移动通信有限公司 | 一种消息处理方法,及终端设备 |
CN110337137A (zh) * | 2019-05-22 | 2019-10-15 | 华为技术有限公司 | 数据包过滤方法、装置及系统 |
CN111092785A (zh) * | 2019-12-05 | 2020-05-01 | 深圳市任子行科技开发有限公司 | 数据监测方法及装置 |
-
2020
- 2020-07-23 CN CN202010716584.8A patent/CN114050907B/zh active Active
-
2021
- 2021-07-19 US US18/006,329 patent/US20240039843A1/en active Pending
- 2021-07-19 WO PCT/CN2021/107145 patent/WO2022017327A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130188489A1 (en) * | 2010-10-28 | 2013-07-25 | Shihomi Sato | Network system and communication traffic controlling method |
CN103167451A (zh) * | 2011-12-19 | 2013-06-19 | 中兴通讯股份有限公司 | 一种实现免打扰的方法及移动终端 |
CN103560973A (zh) * | 2013-10-14 | 2014-02-05 | 深圳市同洲电子股份有限公司 | 一种数据包过滤的方法及装置 |
CN106804045A (zh) * | 2016-12-30 | 2017-06-06 | 广东欧珀移动通信有限公司 | 一种广播消息的转发控制方法,及接入设备 |
CN106815085A (zh) * | 2016-12-30 | 2017-06-09 | 广东欧珀移动通信有限公司 | 一种消息处理方法,及终端设备 |
CN110337137A (zh) * | 2019-05-22 | 2019-10-15 | 华为技术有限公司 | 数据包过滤方法、装置及系统 |
CN111092785A (zh) * | 2019-12-05 | 2020-05-01 | 深圳市任子行科技开发有限公司 | 数据监测方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067803A1 (zh) * | 2022-09-30 | 2024-04-04 | 维沃移动通信有限公司 | 数据处理方法、数据处理装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114050907B (zh) | 2023-05-02 |
WO2022017327A1 (zh) | 2022-01-27 |
US20240039843A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220272581A1 (en) | Initial access indication method and device, and storage medium | |
WO2022126556A1 (zh) | 一种接入控制方法、接入控制装置及存储介质 | |
CN112954819B (zh) | 一种设备组网方法、电子设备及系统 | |
CN109314950B (zh) | 一种寻呼方法及装置 | |
WO2021218451A1 (zh) | 一种基于邻居感知网络的设备连接方法及设备 | |
US11082805B2 (en) | Terminal and method for transmitting data | |
WO2021155677A1 (zh) | 一种双卡双待双通方法、设备和存储介质 | |
US9544851B2 (en) | Communication terminal, communication method, and computer readable medium | |
CN112584463A (zh) | 一种多设备之间的信息同步方法、系统及电子设备 | |
CN113709298A (zh) | 多终端任务分配方法 | |
CN114050907B (zh) | 网络数据包的过滤方法,终端设备和可读存储介质 | |
CN105379362B (zh) | 处理休眠模式下的通信的方法以及装置和设备 | |
US20230171691A1 (en) | Data transmission method and apparatus, and storage medium | |
CN117135750A (zh) | 数据传输方法、电子设备及存储介质 | |
WO2023050362A1 (zh) | 下行传输配置、接收方法及装置、通信设备及存储介质 | |
CN109104756B (zh) | 唤醒方法、接入点和站点 | |
WO2022156501A1 (zh) | 一种业务处理方法和双卡双待电子设备 | |
CN116709442A (zh) | 一种无线网络切换方法和电子设备 | |
WO2021043277A1 (zh) | 配置蓝牙连接参数的方法和电子设备 | |
CN113837338A (zh) | 一种检测方法、终端、用户识别卡、电子设备及存储介质 | |
EP4149176A1 (en) | Data communication method and apparatus | |
CN113473539B (zh) | 一种数据传输方法及电子设备 | |
US20230309012A1 (en) | Sleep Control Method for Mobile Routing Device and Mobile Routing Device | |
WO2023070564A1 (zh) | 一种部分带宽确定方法、装置及存储介质 | |
WO2022183386A1 (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 |