数据传输方法、设备及网关
技术领域
本发明涉及通信技术,尤其涉及一种数据传输方法、设备及网关。
背景技术
家庭网络中的设备一般是通过网关接入外部网络(例如互联网)的。网关与外部网络的接口通常被称为广域网(Wide Area Network,简称为WAN)侧接口,也称为上行接口,可以是xDSL接口、无源光网络(Passive Optical Network,简称为PON)接口或以太网接口等;xDSL是数字用户线路(Digital Subscriber Line,简称为DSL)的统称。网关与家庭网络的接口通常被称为局域网(Local Area Network,简称为LAN)侧接口,也称为下行接口,可以是以太网接口或无线保真(Wireless Fidelity,简称为WiFi)接口等。
随着机器对机器(Machine-to-Machine,简称为M2M)通信的发展,家庭网络中的M2M设备越来越多,这些M2M设备对网络的连通性提出了更高的要求。为了提高网关连接外部网络的可靠性,现有技术一般采用在网关上配置两个WAN侧接口,当一个WAN侧接口故障或其所连接的外部网络故障时,网关通过另一个WAN侧接口连接外部网络。但是,由于网关需要配置两个WAN侧接口,增加了网关的硬件配置,而通常情况下只有一个WAN侧接口被使用,存在资源浪费。
发明内容
本发明提供一种数据传输方法、设备及网关,用以在不增加网关的硬件配置的情况下,提高家庭网络中的设备与外部网络通信的可靠性。
第一方面提供一种数据传输方法,包括:
家庭网络中的第一设备接收所述家庭网络中的网关发送的标识所述网关与外部网络的第一连接中断的第一消息;
所述第一设备在接收到所述第一消息后,向所述网关发送第二消息,所述第二消息用于使所述网关设置所述网关上的第一报文转发规则,所述第一报文转发规则用于所述网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述第一设备;
所述第一设备在接收到所述第一消息后,设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述网关的发往所述外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发。
第二方面提供一种数据传输方法,包括:
当家庭网络中的网关与外部网络的第一连接中断后,所述网关向所述家庭网络中的第一设备发送标识所述第一连接中断的第一消息,以使所述第一设备设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述网关的发往所述外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发;
所述网关接收所述第一设备发送的第二消息,并根据所述第二消息设置所述网关上的第一报文转发规则,所述第一报文转发规则用于所述网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述第一设备。
第三方面提供一种数据传输方法,包括:
当家庭网络中的网关与外部网络的第一连接中断时,所述网关设置所述网关上的第一报文转发规则,所述第一报文转发规则用于所述网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述家庭网络中的第一设备;
所述网关向所述第一设备发送第一消息,所述第一消息用于使所述第一设备设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述网关的发往所述外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发。
第四方面提供一种数据传输方法,包括:
家庭网络中的第一设备接收所述家庭网络中的网关发送的第一消息,所述第一消息用于使所述第一设备设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述网关的发往外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发,其中,所述网关发往所述外部网络的报文来自于所述家庭网络中的第二设备,所述第一消息是所述网关与所述外部网络的第一连接中断后发送的;
所述第一设备根据所述第一消息,设置所述第二报文转发规则。
第五方面提供一种家庭网络设备,包括:
接收模块,用于接收家庭网络中的网关发送的标识所述网关与外部网络的第一连接中断的第一消息;
发送模块,用于在所述接收模块接收到所述第一消息后,向所述网关发送第二消息,所述第二消息用于使所述网关设置所述网关上的第一报文转发规则,所述第一报文转发规则用于所述网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述家庭网络设备;
设置模块,用于在所述接收模块接收到所述第一消息后,设置所述家庭网络设备上的第二报文转发规则,所述第二报文转发规则用于所述家庭网络设备将来自所述网关的发往所述外部网络的报文通过所述家庭网络设备与所述外部网络建立的第二连接转发。
第六方面提供一种家庭网关,包括:
发送模块,用于在家庭网络中的所述家庭网关与外部网络的第一连接中断后,向所述家庭网络中的第一设备发送标识所述第一连接中断的第一消息,以使所述第一设备设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述家庭网关的发往所述外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发;
接收模块,用于接收所述第一设备发送的第二消息;
设置模块,用于根据所述第二消息设置所述家庭网关上的第一报文转发规则,所述第一报文转发规则用于所述家庭网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述第一设备。
第七方面提供一种家庭网关,包括:
设置模块,用于在家庭网络中的所述家庭网关与外部网络的第一连接中断时,设置所述家庭网关上的第一报文转发规则,所述第一报文转发规则用于所述家庭网关将来自所述家庭网络中的第二设备的发往所述外部网络的报文转发给所述家庭网络中的第一设备;
发送模块,用于向所述第一设备发送第一消息,所述第一消息用于使所述第一设备设置所述第一设备上的第二报文转发规则,所述第二报文转发规则用于所述第一设备将来自所述家庭网关的发往所述外部网络的报文通过所述第一设备与所述外部网络建立的第二连接转发。
第八方面提供一种家庭网络设备,包括:
接收模块,用于接收家庭网络中的网关发送的第一消息,所述第一消息用于使所述家庭网络设备设置所述家庭网络设备上的第二报文转发规则,所述第二报文转发规则用于所述家庭网络设备将来自所述网关的发往外部网络的报文通过所述家庭网络设备与所述外部网络建立的第二连接转发,其中,所述网关发往所述外部网络的报文来自于所述家庭网络中的第二设备,所述第一消息是所述网关与所述外部网络的第一连接中断后发送的;
设置模块,用于根据所述第一消息,设置所述第二报文转发规则。
本发明实施例提供的数据传输方法、设备及网关,在网关与外部网络的连接中断后,通过在家庭网络中的第一设备上设置第二报文转发规则并在网关上设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给第一设备,再由第一设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据传输方法流程图;
图2为本发明另一实施例提供的数据传输方法流程图;
图3为本发明又一实施例提供的数据传输方法流程图;
图4为本发明又一实施例提供的数据传输方法流程图;
图5为本发明又一实施例提供的数据传输方法流程图;
图6为本发明又一实施例提供的数据传输方法流程图;
图7为本发明又一实施例提供的数据传输方法流程图;
图8为本发明又一实施例提供的数据传输方法流程图;
图9为本发明又一实施例提供的数据传输方法流程图;
图10为本发明一实施例提供的家庭网络设备的接收示意图;
图11为本发明另一实施例提供的家庭网络设备的结构示意图;
图12为本发明一实施例提供的家庭网关的结构示意图;
图13为本发明另一实施例提供的家庭网关的结构示意图;
图14为本发明又一实施例提供的家庭网关的结构示意图;
图15为本发明又一实施例提供的家庭网关的结构示意图;
图16为本发明又一实施例提供的家庭网络设备的结构示意图;
图17为本发明又一实施例提供的家庭网络设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在家庭网络中,家庭网络中的设备一般通过网关接入外部网络。这里的外部网络包括但不限于互联网。网关的WAN侧接口一般为xDSL接口、PON接口或以太网接口;网关的LAN侧接口一般为以太网接口或WiFi接口。家庭网络中的设备可以是智能手机、个人计算机或平板电脑等。
在正常情况下,家庭网络中的各设备通过网关与外部网络通信,但当网关与外部网络之间的第一连接中断后,家庭网络中的设备就无法与外部网络通信。现有技术为了提高网关连接外部网络的可靠性,采用的方式是在网关上配置两个WAN侧接口,当其中各一个WAN侧接口故障后,换用另一个WAN侧接口。这种方式会增加网关的硬件配置,并且由于通常情况下只会使用其中一个WAN侧接口,因此还会造成资源浪费。本发明实施例提供一种只需在网关上配置一个WAN侧接口,且能够提高家庭网络中的设备与外部网络通信的可靠性的方法,该方法的核心思想是:在网关与外部网络之间的连接中断后,由网关将来自家庭网络中的设备的发往外部网络的报文转发到家庭网络中能够与外部网络建立连接的某个设备上,并通过该设备将报文转发到外部网络。以下实施例将对本发明技术方案做详细说明。
图1为本发明一实施例提供的数据传输方法流程图。如图1所示,本实施例的方法包括:
步骤101、家庭网络中的第一设备接收家庭网络中的网关发送的标识该网关与外部网络的第一连接中断的第一消息。
步骤102、第一设备在接收到第一消息后,向网关发送第二消息,该第二消息用于使网关设置网关上的第一报文转发规则,该第一报文转发规则用于网关将来自家庭网络中的第二设备发往外部网络的报文转发给第一设备。
步骤103、第一设备在接收到第一消息后,设置第一设备上的第二报文转发规则,该第二报文转发规则用于第一设备将来自网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
在本实施例中,家庭网络中存在可以与外部网络建立连接的设备,本实施例以其中一个能够与外部网络建立连接的设备为例进行说明,该设备被记为第一设备。为便于区分,将网关与外部网络之间的连接记为第一连接,将第一设备与外部网络之间的连接记为第二连接。可选的,第一连接是通过网关的上行接口与外部网络建立的连接;第二连接是通过第一设备的无线接口与外部网络建立的连接,例如,无线接口可以是但不限于第三代移动通信技术(3rd-generation,简称为3G)接口,此时第二连接是指通过3G接口与外部网络建立的连接。
当网关发现其与外部网络之间的第一连接中断后,向家庭网络中的第一设备发送第一消息,使得第一设备根据第一消息可以获知网关与外部网络之间的第一连接中断。对第一设备来说,接收网关发送的第一消息,并根据第一消息获知网关与外部网络之间的第一连接中断。
接着,第一设备在本地设置第二报文转发规则,用于通过第二报文转发规则将来自网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。为了能够成功将来自网关的发往外部网络的报文转发到外部网络,第一设备需要与外部网络建立第二连接。以第一设备与外部网络之间的第二连接为通过3G接口与外部网络建立的连接为例,第一设备在接收到第一消息后,除了设置第二报文转发规则外,还需要将自身的3G数据功能开启(如果3G数据功能已关闭时),以便于与外部网络建立第二连接。在此说明,一般情况下,第一设备的3G数据功能是不开启的,第一设备的报文是通过网关进行转发的。
另外,第一设备在接收到第一消息后,还需要向网关发送第二消息,该第二消息用于使网关配置网关上的第一报文转发规则,这样网关就可以通过第一报文转发规则将来自家庭网络中的第二设备的发往外部网络的报文转发给第一设备,进而由第一设备根据第二报文转发规则将报文转发到外部网络,从而在网关与外部网络之间的第一连接中断的情况下,实现了第二设备与外部网络之间的通信。
在本实施例中,第二设备可以是家庭网络中任何需要向外部网络发送报文的设备。在特殊情况下,第二设备也可以是上述第一设备。但是,由于发往外部网络的报文最终需要由第一设备转发到外部网络,所以第一设备发往外部网络的报文可以不再发给网关,而直接由第一设备通过与外部网络之间的第二连接发送到外部网络。
在此说明,上述第一设备在本地设置第二报文转发规则的操作和第一设备向网关发送第二消息使网关设置第一报文转发规则的操作,两者之间的先后顺序不做限定,即步骤102和步骤103之间的先后顺序不做限定。
其中,为了完成对报文的转发,第一报文转发规则中包括但不限于:目的地址、下一跳地址和转发接口。为了使得网关能够通过第一报文转发规则将第二设备的报文发送给第一设备,第一报文转发规则中一个表项的目的地址为外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省路由地址,这里的第三设备是指第二设备发往外部网络的报文的目的地;第一报文转发规则中该表项的下一跳地址是第一设备的地址;第一报文转发规则中该表项的转发接口是网关上与第一设备通信使用的接口。举例说明,如果网关与第一设备之间通过WiFi接口通信,则第一设备可以作为WiFi客户端(WiFi Station,简称为WiFi STA),网关可以作为WiFi接入点(WiFi Access Point,简称为WiFi AP),第一报文转发规则中该表项的转发接口是网关上的WiFi接口。为了使得网关能够设置第一报文转发规则,第一设备发送给网关的第二消息包括目的地址、下一跳地址以及转发接口这些信息。
可选的,第一报文转发规则除了使网关将来自第二设备的发往外部网络的报文发送给第一设备之外,还可用于使网关将来自第一设备的发往第二设备的报文转发给第二设备。
同理,为了完成对报文的转发,第二报文转发规则中同样包括但不限于:目的地址、下一跳地址和转发接口。为了使第一设备能够成功将来自网关的发往外部网络的报文转发到外部网络,第二报文转发规则中一个表项的目的地址是外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省的路由地址;第二报文转发规则中该表项的下一跳地址是外部网络中与第一设备连接的路由设备的地址;第二报文转发规则中该表项的转发接口是第一设备上与外部网络通信使用的接口。举例说明,如果第一设备与外部网络使用3G进行通信,则第二报文转发规则中该表项的转发接口就是第一设备上的3G接口。
可选的,第二报文转发规则除了用于第一设备将来自网关的发往外部网络的报文转发到外部网络之外,还用于第一设备将来自外部网络的发往第二设备的报文转发给网关,进而使网关通过第一报文转发规则转发给第二设备。
可选的,如果第一设备支持网络地址转换(Network Address Translation,简称为NAT),第一设备还可以开启第一设备上的NAT功能。这样第一设备可以通过NAT,将其私网地址修改为公网地址后与外部网络进行通信,这有利于节约地址资源。
在本实施例中,在网关与外部网络的连接中断后,家庭网络中的第一设备在本地设置第二报文转发规则并使网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给第一设备,再由第一设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
在一可选实施方式中,如图2所示,本实施例的方法还包括:
步骤104、第一设备在接收到第一消息后,向网关发送第三消息,该第三消息用于使网关设置网关上的过滤表,以使网关根据过滤表确定需要转发的来自第二设备的发往外部网络的报文。
步骤104与上述步骤102和步骤103的先后顺序也不做限定。可选地,所述第三消息的内容可以放在所述第二消息中,通过所述第二消息一起发送给所述网关,这种情况下,步骤104可以与步骤103合为一个步骤。该步骤104主要是说第一设备在获知网关与外部网络之间的第一连接中断后,通过向网关发送第三消息,使网关在网关上设置过滤表。通过该过滤表,网关就知道哪些报文需要转发,哪些报文不需要转发,这样有利于节约流量,可以通过第一设备与外部网络之间的带宽有限的第二连接转发较为重要业务的报文。过滤表中可以包括需要过滤掉的报文的源IP地址、源端口、目的IP地址和目的端口。或者,过滤表中可以包括需要转发的报文的源IP地址、源端口、目的IP地址和目的端口。其中,过滤表中包括的需要过滤掉的报文的信息,还是需要转发的报文的信息,可以通过在过滤表中设置是否为白名单选项来标识;如果对应某类报文的源IP地址、源端口、目的IP地址和目的端口被设置为白名单,意味着该类报文需要转发;如果未被设置为白名单,则意味着该类报文需要过滤掉。
可选的,第三消息可以仅用于指示网关设置过滤表,具体设置哪类报文被过滤掉,哪类报文需要转发这些设置过滤表的操作可由网关自己确定。
可选的,第三消息可以同时指示网关设置过滤表,并将如何设置过滤表(例如哪类报文需要过滤掉、哪类报文需要转发等)指示给网关。这样网关可以根据第三消息的指示设置过滤表。基于此,第三消息中包括设置过滤表需要的一些信息,例如可以包括需要转发的报文的源IP地址、源端口号、目的IP地址、目的端口号,和/或,需要过滤掉的报文的源IP地址、源端口号、目的IP地址、目的端口号。
由上述可见,第一设备通过第三消息使网关设置过滤表,有利于减少流量,可以优先通过第一设备与外部网络之间的第二连接转发重要业务的报文,有利于提高第一设备与外部网络之间的第二连接的利用率。
在一可选实施方式中,如图3所示,本实施例的方法还包括:
步骤105、第一设备接收网关发送的标识第一连接恢复的第四消息。
步骤106、第一设备在接收到第四消息后,重新设置第二报文转发规则,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
步骤105和步骤106主要描述的是网关与外部网络之间的第一连接恢复后,家庭网络中的第二设备继续通过网关与外部网络进行通信的过程。为了使第二设备在第一连接恢复后能够继续通过第一连接与外部网络通信,网关和第一设备都需要对之前设置的报文转发规则进行处理。具体的,网关会重新设置第一报文转发规则,这样来自第二设备的报文到达网关之后,网关就不会再转发到第一设备,例如网关可以恢复第一连接中断之前的配置,例如将发往外部网络的报文的转发接口设置为WAN侧接口,删除过滤表等,这样第二设备的报文到达网关之后,网关就会通过WAN侧接口将来自第二设备的报文转发到外部网络。相应的,网关需要将第一连接恢复的消息通知给第一设备,第一设备重新设置第二报文转发规则,从而不再将报文通过与外部网络之间的第二连接进行转发,例如第一设备可以恢复之前的配置,例如将发往外部网络的报文的转发接口设置为与网关通信使用的接口(例如WiFi接口),关闭NAT功能、中断与外部网络的第二连接(例如关闭3G数据功能)等,这样第一设备发往外部网络的报文也会通过网关进行转发。
由上述可见,在网关与外部网络之间的连接中断后,第二设备的报文通过第一设备转发到外部网络,当网关与外部网络之间的连接恢复后,继续通过网关进行转发,在保证第二设备与外部网络之间的通信可靠性的同时,可以充分利用网关的高带宽、高处理能力等优势,有利于提高报文转发效率。
图4为本发明又一实施例提供的数据传输方法流程图。如图4所示,本实施例的方法包括:
步骤401、当家庭网络中的网关与外部网络的第一连接中断后,网关向家庭网络中的第一设备发送标识第一连接中断的第一消息,以使第一设备设置第一设备上的第二报文转发规则,该第二报文转发规则用于第一设备将来自网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
步骤402、网关接收第一设备发送的第二消息,并根据第二消息设置网关上的第一报文转发规则,该第一报文转发规则用于网关将来自家庭网络中的第二设备发往外部网络的报文转发给第一设备。
本实施例是图1所示实施例相适应,是从网关的角度进行的描述。
当网关发现其与外部网络之间的第一连接中断后,向家庭网络中的第一设备发送第一消息,使得第一设备根据第一消息可以获知网关与外部网络之间的第一连接中断。对第一设备来说,接收到网关发送的第一消息后,根据第一消息获知网关与外部网络之间的第一连接中断。这样第一设备会在本地设置第二报文转发规则,并控制网关在本地设置第一报文转发规则。这样网关在接收到家庭网络中的第二设备发往外部网络的报文时,就可以通过第一报文转发规则将接收到的报文转发给第一设备,而第一设备就会根据第二报文转发规则将报文转发到外部网络。
第一设备控制网关在本地配置第一报文转发规则的方式为:向网关发送第二消息,该第二消息用于使网关在本地配置第一报文转发规则。为了完成对报文的转发,第一报文转发规则中包括但不限于:目的地址、下一跳地址和转发接口。为了使得网关能够通过第一报文转发规则将第二设备的报文发送给第一设备,第一报文转发规则中的一个表项目的地址为外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省路由地址,这里的第三设备是指第二设备发往外部网络的报文的目的地;第一报文转发规则中该表项的下一跳地址是第一设备的地址;第一报文转发规则中该表项的转发接口是网关上与第一设备通信使用的接口。为了使得网关能够设置第一报文转发规则,第一设备发送给网关的第二消息包括目的地址、下一跳地址以及转发接口这些信息。
同理,第二报文转发规则也包括但不限于:目的地址、下一跳地址和转发接口。第二报文转发规则中一个表项的目的地址是外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省的路由地址;第二报文转发规则中该表项的下一跳地址是外部网络中与第一设备连接的路由设备的地址;第二报文转发规则中该表项的转发接口是第一设备上与外部网络通信使用的接口。
在此说明,第二报文转发规则除了用于第一设备将来自网关的发往外部网络的报文转发到外部网络之外,还用于第一设备将来自外部网络的发往第二设备的报文转发给网关。
第一报文转发规则除了用于网关将来自第二设备的发往外部网络的报文转发给第一设备之外,还用于网关将来自第一设备的发往第二设备的报文转发给第二设备。
其中,第一连接是通过网关的上行接口与外部网络建立的连接;第二连接是通过第一设备的无线接口与外部网络建立的连接。例如,第二连接可以是但不限于通过3G接口与外部网络建立的连接,还可以是其他无线连接。以第二连接为通过3G接口与外部网络建立的连接为例,则第二报文转发规则中的转发接口为第一设备上的3G接口。
可选的,第一设备与网关之间可以通过WiFi接口通信,则第一设备可以作为WiFiSTA,网关可以作为WiFi AP。基于此,第一报文转发规则中的转发接口为网关上的WiFi接口。
关于本实施例中其他详细描述可参见图1所示实施例,在此不再赘述。
在本实施例中,在网关与外部网络的连接中断后,网关通过向家庭网络中的第一设备发送第一消息,使得第一设备可以获知网关与外部网络之间的连接中断,然后在本地设置第二报文转发规则并控制网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给第一设备,再由第一设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
在一可选实施例方式中,如图5所示,本实施例的方法还包括:
步骤403、网关接收第一设备发送的第三消息,并根据第三消息设置网关上的过滤表,以根据该过滤表确定需要转发的来自第二设备的发往外部网络的报文。
步骤403与上述步骤402的先后顺序不做限定。
该实施方式可参见上述图2所示实施例,在此不再赘述。可选地,所述第三消息的内容可以放在所述第二消息中,通过所述第二消息一起发送给所述网关,这种情况下,步骤403可以与步骤402合为一个步骤。步骤403主要描述的是网关在第一设备的控制下在网关上设置过滤表,这样可以减少转发的流量,有利于重要业务的报文成功通过第二连接进行转发,提高第二连接的利用率。
在一可选实施方式中,如图6所示,本实施例的方法还包括:
步骤404、网关在第一连接恢复后,重新设置第一报文转发规则,以通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文,并向第一设备发送标识第一连接恢复的第四消息,以使第一设备重新设置第二报文转发规则,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
该步骤404主要描述的是在网关与外部网络之间的第一连接恢复后,网关和第一设备通过重新设置之前的报文转发规则,以分别恢复第一连接中断之前的配置,使得第二设备的报文继续通过网关转发到外部网络的过程。
该实施方式可参见图3所示实施例的描述,在此不再赘述。
由上述可见,在网关与外部网络之间的连接中断后,第二设备的报文通过第一设备转发到外部网络,当网关与外部网络之间的连接恢复后,继续通过网关进行转发,在保证第二设备与外部网络之间的通信可靠性的同时,可以充分利用网关的高带宽、高处理能力等优势,有利于提高报文转发效率。
在一可选实施方式中,网关与第一设备使用通用即插即用(Universal Plug andPlay,简称为UPnP)协议进行通信。
下面实施例以第一设备为智能手机、智能手机与网关之间使用UPnP协议进行通信,且通过WiFi通信为例,对上述图1-图6所示实施例的流程进行详细说明。
在该实施例中,网关作为WiFi AP,智能手机作为WiFi STA,在家庭网络中,智能手机与网关之间使用WiFi互联;智能手机支持3G的接入功能,用于高速上网;智能手机支持NAT。
在正常状态下,智能手机通过WiFi接入网关。网关与智能手机通过WiFi通信,网关支持WiFi AP功能,智能手机支持WiFi STA功能。
智能手机在网关上订阅事件。网关支持UPnP WAN侧IP连接(UPnPWANIPConnection:2)服务,UPnP WANIPConnection:2服务中的状态变量ConnectionStatus表示网关上行的状态,智能手机支持控制点,当智能手机在网关上订阅事件后,如果网关的WAN侧连接中断,会修改状态变量ConnectionStatus的值,并通过UPnP事件上报给智能手机。
当网关的WAN侧连接中断后,在智能手机已通过WiFi接入网关的条件下,网关通过WiFi向智能手机上报WAN侧连接中断的UPnP事件。智能手机收到UPnP事件后,进行如下操作:
(1)启动3G数据功能(智能手机在通过网关上网时,通常不启用3G数据功能),把3G接口作为上行接口,修改智能手机的路由表项,将缺省路由表项的出口由WiFi接口改为3G接口,下一跳地址为3G接口所连接的路由器的IP地址;此时智能手机的WiFi功能仍启用,智能手机仍然做为WiFiSTA;启动NAT功能;
(2)智能手机向网关发送修改报文转发规则和过滤表项的命令。智能手机通过UPnP WANIPConnection:2服务中的action SetRoute()修改网关上的报文转发规则,报文转发规则包含目的地址、下一跳地址和转发接口字段。比如,网关收到SetRoute()后,将网关上的报文转发规则的一个表项设置为:目的地址为网络地址,例如200.0.0.0/8,8表示掩码的位数,如果将转发的报文中的目的IP地址与8位掩码进行与计算的结果为200.0.0.0,则匹配该条报文转发规则,转发接口为WiFi接口,下一跳地址为智能手机的IP地址,表示如果将要转发的报文的目的IP地址匹配200.0.0.0/8的报文转发规则,该报文将从WiFi接口转发到智能手机上。又比如,网关收到SetRoute()后,将网关上报文转发规则设置为:目的地址为缺省路由地址0.0.0.0/0,转发接口为WiFi接口,下一跳地址为智能手机的IP地址,表示缺省情况下(将要转发的报文没有匹配到其它的转发规则)报文将从WiFi接口转发到智能手机上,该条转发规则表项可称为缺省报文转发规则表项。智能手机通过UPnPWANIPConnection:2服务中的action SetFilter()设置网关上的过滤表,使得网关只转发某些设备的报文或某些重要业务的报文,以便节省流量。其中,智能手机修改网关上的过滤表项的操作是一可选操作。
可选的,智能手机在执行上述操作之前可以先得到用户的确认。
其中,action SetRoute()的参数列表如表1所示;action SetFilter()的参数列表如表2所示。
表1
表2
参数名 |
方向 |
参数说明 |
SourceAddress |
输入参数 |
源IP地址 |
SourcePort |
输入参数 |
源端口号 |
DestinationAddress |
输入参数 |
目的IP地址 |
DestinationPort |
输入参数 |
目的端口号 |
IsWhiteList |
输入参数 |
是否是白名单 |
进一步的,当网关的WAN侧连接恢复后,则网关恢复WAN侧连接中断前的配置:网关上的缺省路由的出口改为WAN侧接口;删除智能手机在网关上设置的过滤表;如果智能手机已通过WiFi接入网关,则网关通过WiFi向智能手机上报WAN侧连接恢复的UPnP事件。
智能手机收到WAN侧连接恢复的UPnP事件后,进行如下操作,恢复为通过智能手机上网前的配置:关闭3G数据功能,缺省路由表项的出口为WiFi接口;此时WiFi功能仍启用,智能手机仍然作为WiFi STA;关闭智能手机的NAT功能。
可选的,如果智能手机没有收到网关发送的WAN侧连接恢复的UPnP事件,但用户已通过其它方式知道,用户可手工关闭通过智能手机的3G上网功能。
在此说明,本实施例中上报WAN侧连接中断的UPnP事件相当于前述实施例中的第一消息,本实施例中的action SetRoute()命令相当于前述实施例中的第二消息;本实施例中的action SetFilter()命令相当于前述实施例中的第三消息;本实施例中上报WAN侧连接恢复的UPnP事件相当于前述实施例中的第四消息。
由上述可见,在本实施例中,在网关与外部网络的连接中断后,智能手机通过修改本地报文转发规则,并修改网关上的报文转发规则,使得来自家庭网络中其他设备发往外部网络的报文能够由网关转发给智能手机,再由智能手机转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中其他设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。另外,智能手机与网关之间使用UPnP协议进行通信,在实现上具有更强的灵活性。
图7为本发明又一实施例提供的数据传输方法流程图。如图7所示,本实施例的方法包括:
步骤701、当家庭网络中的网关与外部网络的第一连接中断时,网关设置网关上的第一报文转发规则,该第一报文转发规则用于网关将来自家庭网络中的第二设备的发往外部网络的报文转发给家庭网络中的第一设备。
步骤702、网关向第一设备发送第一消息,该第一消息用于使第一设备设置第一设备上的第二报文转发规则,该第二报文转发规则用于第一设备将来自网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
在本实施例中,家庭网络中存在可以与外部网络建立连接的设备,本实施例以其中一个能够与外部网络建立连接的设备为例进行说明,该设备被记为第一设备。为便于区分,将网关与外部网络之间的连接记为第一连接,将第一设备与外部网络之间的连接记为第二连接。可选的,第一连接是通过网关的上行接口与外部网络建立的连接;第二连接是通过第一设备的无线接口与外部网络建立的连接,例如第二连接可以是但不限于通过3G接口与外部网络建立的连接。
当网关发现其与外部网络之间的第一连接中断后,在网关上设置第一报文转发规则,这样网关就可以通过第一报文转发规则将来自家庭网络中的第二设备的发往外部网络的报文转发给第一设备。
另外,网关还向第一设备发送第一消息,该第一消息可以使第一设备在本地设置第二报文转发规则,用于将来自网关的发往外部网络的报文转发到外部网络。为了能够成功将来自网关的发往外部网络的报文转发到外部网络,第一设备需要与外部网络建立第二连接。以第一设备与外部网络之间的第二连接为通过3G接口与外部网络建立的连接为例,第一设备在接收到第一消息后,除了设置第二报文转发规则外,还需要将自身的3G数据功能开启,以便于与外部网络建立通过3G接口与外部网络建立的连接。在此说明,在正常情况下,第一设备的3G数据功能是不开启的,第一设备的报文是通过网关进行转发的。
在本实施例中,第二设备可以是家庭网络中任何需要向外部网络发送报文的设备。在特殊情况下,第二设备也可以是上述第一设备。但是,由于发往外部网络的报文最终需要由第一设备转发到外部网络,所以第一设备发往外部网络的报文可以不再发给网关,而直接由第一设备通过与外部网络之间的第二连接发送到外部网络。
在此说明,网关在本地设置第一报文转发规则的操作和向第一设备发送第一消息,以使第一设备在本地设置第二报文转发规则的操作,两者之间的先后顺序不做限定。
其中,为了完成对报文的转发,第一报文转发规则中包括但不限于:目的地址、下一跳地址和转发接口。为了使得网关能够通过第一报文转发规则将第二设备的报文发送给第一设备,第一报文转发规则中一个表项的目的地址为外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省路由地址,这里的第三设备是指第二设备发往外部网络的报文的目的地;第一报文转发规则中该表项的下一跳地址是第一设备的地址;第一报文转发规则中该表项的转发接口是网关上与第一设备通信使用的接口。举例说明,如果网关与第一设备之间通过WiFi接口通信,则第一设备可以作为WiFi STA,网关可以作为WiFi AP,第一报文转发规则中的转发接口是网关上的WiFi接口。
可选的,第一报文转发规则除了使网关将来自第二设备的发往外部网络的报文发送给第一设备之外,还可用于使网关将来自第一设备的发往第二设备的报文转发给第二设备。
同理,为了完成对报文的转发,第二报文转发规则中同样包括但不限于:目的地址、下一跳地址和转发接口。为了使第一设备能够成功将来自网关的发往外部网络的报文转发到外部网络,第二报文转发规则中一个表项的目的地址是外部网络中第三设备的网络地址或缺省路由地址,网络地址包含了网络前缀和网络掩码,比如200.0.0.0/8是表示一个网络地址,网络掩码的位数为8位;又比如0.0.0.0/0表示缺省路由地址;第二报文转发规则中该表项的下一跳地址是外部网络中与第一设备连接的路由设备的地址;第二报文转发规则中该表项的转发接口是第一设备上与外部网络通信使用的接口。举例说明,如果第一设备与外部网络使用3G进行通信,则第二报文转发规则中的转发接口就是第一设备上的3G接口。为了使得第一设备能够设置第二报文转发规则,网关发送给第一设备的第一消息包括目的地址、下一跳地址以及转发接口这些信息。
可选的,第二报文转发规则除了用于第一设备将来自网关的发往外部网络的报文转发到外部网络之外,还用于第一设备将来自外部网络的发往第二设备的报文转发给网关,进而使网关通过第一报文转发规则转发给第二设备。
在本实施例中,在网关与外部网络的连接中断后,网关在本地设置第一报文转发规则并控制家庭网络中的第一设备在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给第一设备,再由第一设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
在一可选实施方式中,如图8所示,本实施例的方法还包括:
步骤703、网关设置网关上的过滤表,以根据该过滤表确定需要转发的来自第二设备的发往外部网络的报文。
步骤703与上述步骤701和步骤702之间的先后顺序不做限定。该步骤703主要是说网关与外部网络之间的第一连接中断后,网关在本地设置过滤表的过程。通过该过滤表,网关就知道哪些报文需要转发,哪些报文不需要转发,这样有利于节约流量,可以通过第一设备与外部网络之间的带宽有限的第二连接转发较为重要业务的报文。过滤表中可以包括需要过滤掉的报文的源IP地址、源端口、目的IP地址和目的端口。或者,过滤表中可以包括需要转发的报文的源IP地址、源端口、目的IP地址和目的端口。其中,过滤表中包括的需要过滤掉的报文的信息,还是需要转发的报文的信息,可以通过在过滤表中设置是否为白名单选项来标识;如果对应某类报文的源IP地址、源端口、目的IP地址和目的端口被设置为白名单,意味着该类报文需要转发;如果未被设置为白名单,则意味着该类报文需要过滤掉。
由上述可见,网关在与外部网络之间的连接中断后通过在本地设置过滤表,有利于减少流量,可以优先通过第一设备与外部网络之间的第二连接转发重要业务的报文,有利于提高第一设备与外部网络之间的第二连接的利用率。
在一可选实施方式中,如图8所示,本实施例的方法还包括:
步骤704、网关在第一连接恢复后,重新设置第一报文转发规则,以通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文,并向第一设备发送标识第一连接恢复的第四消息,以使第一设备重新设置第二报文转发规则,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
步骤704主要描述的是网关与外部网络之间的第一连接恢复后,家庭网络中的第二设备继续通过网关与外部网络进行通信的过程。为了使第二设备在第一连接恢复后能够继续通过第一连接与外部网络通信,网关和第一设备都需要对之前设置的报文转发规则进行处理。具体的,网关会重新设置第一报文转发规则,这样来自第二设备的报文到达网关之后,网关就不会再转发到第一设备,例如网关可以恢复第一连接中断之前的配置,例如将发往外部网络的报文的转发接口设置为WAN侧接口,删除前面已设置的过滤表项等,这样第二设备的报文到达网关之后,网关就会通过WAN侧接口将来自第二设备的报文转发到外部网络。相应的,网关需要将第一连接恢复的消息通知给第一设备,第一设备重新设置第二报文转发规则,从而不再将报文通过与外部网络之间的第二连接进行转发,例如,第一设备可以恢复之前的配置,例如将发往外部网络的报文的转发接口设置为与网关通信使用的接口(例如WiFi接口),关闭NAT功能、中断与外部网络的第二连接(例如关闭3G数据功能)等,这样第一设备发往外部网络的报文也会通过网关进行转发。
由上述可见,在网关与外部网络之间的连接中断后,第二设备的报文通过第一设备转发到外部网络,当网关与外部网络之间的连接恢复后,继续通过网关进行转发,在保证第二设备与外部网络之间的通信可靠性的同时,可以充分利用网关的高带宽、高处理能力等优势,有利于提高报文转发效率。
图9为本发明又一实施例提供的数据传输方法流程图。如图9所示,本实施例的方法包括:
步骤901、家庭网络中的第一设备接收家庭网络中的网关发送的第一消息,该第一消息用于使第一设备设置第一设备上的第二报文转发规则,该第二报文转发规则用于第一设备将来自网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发,其中,网关发往外部网络的报文来自于家庭网络中的第二设备,该第一消息是网关与外部网络的第一连接中断后发送的。
步骤902、第一设备根据第一消息,设置第二报文转发规则。
本实施例与图6所示实施例相适应,是从第一设备的角度进行的描述。
其中,第一连接是通过网关的上行接口与外部网络建立的连接,第二连接是通过第一设备的无线接口与外部网络建立的连接。
可选的,第一设备与网关可以通过WiFi接口通信,则第一设备可以作为WiFi STA,网关可以作为WiFi AP。
为了实现对报文的转发,第二报文转发规则中包括但不限于:目的地址、下一跳地址和转发接口。为了实现将来自网关设备的发往外部网络的报文转发到外部网络,第二报文转发规则一个表项中的目的地址是外部网络中第三设备的网络地址或缺省路由地址;第二报文转发规则中该表项的下一跳地址是外部网络中与第一设备连接的路由设备的地址;第二报文转发规则中该表项的转发接口是第一设备上与外部网络通信使用的接口。
可选的,第二报文转发规则除了用于第一设备将来自网关的发往外部网络的报文转发到外部网络之外,还可用于第一设备将来自外部网络的发往第二设备的报文转发给网关。
可选的,如果第一设备支持NAT,则第一设备除了设置第二报文转发规则之外,还可以开启第一设备上的NAT功能。
关于本实施例的详细描述可参见上述图6-图8所示实施例中的相应描述,在此不再赘述。
在本实施例中,在网关与外部网络的连接中断后,家庭网络中的第一设备在网关的控制下在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给第一设备,再由第一设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
在一可选实施方式中,网关与第一设备使用UPnP协议进行通信。
下面实施例以第一设备为智能手机、智能手机与网关之间使用UPnP协议进行通信,且通过WiFi通信为例,对上述图7-图9所示实施例的流程进行详细说明。
在该实施例中,网关作为WiFi AP,智能手机作为WiFi STA,在家庭网络中,智能手机与网关之间使用WiFi互联;智能手机支持3G的接入功能,用于高速上网;智能手机支持NAT。
在正常状态下,智能手机通过WiFi接入网关。网关与智能手机通过WiFi通信,网关支持WiFi AP功能,智能手机支持WiFi STA功能。
网关发现家庭网络中各设备的能力。首先,在UPnP WANIPConnection:2服务中增加两个命令(Action):StartRouter()和StopRouter(),StartRouter()适用于家庭网络中支持连接外部网络和具有路由功能的设备(例如智能手机),用于启动这些设备的路由转发功能,StopRouter()可停止由StartRouter()开启路由转发功能的设备的路由转发功能。假设,本实施例中的智能手机上部署了UPnP WANIPConnection:2服务,则家庭网络中的其他设备在网关与外部网络之间的连接中断后,就可以通过该智能手机连接外部网络了。网关上部署UPnP控制点功能,网关通过UPnP协议发现家庭网络中的设备,如果网关发现家庭网络中的某一设备支持WANIPConnection:2服务,并且支持Action StartRouter(),则可以确定该设备支持连接外部网络功能,本实施例中假设网关发现了智能手机支持连接外部网络的功能。
当网关的WAN侧连接中断后,网关向智能手机发送StartRouter()命令。在此说明,如果网关发现家庭网络中存在多个支持连接外部网络功能的设备,网关可从中选择一个设备发送StartRouter()命令。
智能手机收到StartRouter()后,进行如下操作:
启动3G数据功能(智能手机在通过网关上网时,通常不启用3G数据功能),把3G接口作为上行接口,修改智能手机的报文转发规则,将缺省报文转发规则表项的出口由WiFi接口改为3G接口,将下一跳地址改为3G接口所连接的外部网络中的路由设备的IP地址;此时WiFi功能仍启用,智能手机仍然作为WiFi STA;启动智能手机的NAT功能。
可选的,如果智能手机成功执行上述操作,可以向网关返回StartRouter()响应报文,该StartRouter()响应报文中包含了执行成功的指示。如果智能手机没有成功执行上述操作,则向网关返回StartRouter()响应报文,该StartRouter()响应报文中包含了执行失败的指示。
可选的,智能手机执行上述操作之前可以得到用户的确认。
相应的,网关执行如下操作,使得网关能够把收到的家庭网络中其他设备的报文转发给智能手机,通过智能手机转发到外部网络:修改网关上的缺省报文转发规则,将网关上的缺省报文转发规则的出口改为WiFi接口,将下一跳地址改为智能手机的IP地址;设置网关上的过滤表,使得网关只转发某些设备的报文或某些重要业务的报文,以便节省流量。其中,修改网关上的过滤表是一可选操作。
基于上述智能手机返回StartRouter()响应报文的操作,则网关可以在StartRouter()响应报文中包含了执行成功的指示的情况下执行上述操作。如果StartRouter()响应报文中包含了执行失败的指示,则网关继续选择家庭网络中其他支持连接外部网络功能的设备进行转发处理。
当网关的WAN侧连接恢复后,则网关恢复WAN侧连接中断前的配置:网关上的缺省路由的出口改为WAN接口;删除网关上在前面已设置的过滤表项;如果智能手机已通过WiFi接入网关,则网关向智能手机发送Action StopRouter()命令。
智能手机收到StopRouter()后,进行如下操作,恢复为通过智能手机上网前的配置:关闭3G数据功能,缺省报文转发规则的出口为WiFi接口;此时WiFi功能仍启用,智能手机仍然做为WiFi STA;关闭智能手机的NAT功能。
可选的,如果智能手机没有收到网关发送的StopRouter()命令,但用户已通过其它方式知道,用户可手工关闭通过智能手机的3G上网功能。
基于上述,如果家庭网络中不同于智能手机的设备需要向外部网络发送报文时,该设备生成报文,由于该设备上的缺省路由的下一跳地址仍为网关的LAN侧IP地址,故根据缺省报文转发规则,把报文转发给网关;网关收到该设备发送给外部网络的报文时,根据缺省报文转发规则查出报文的下一跳地址为智能手机IP地址,出接口为WiFi接口,网关通过WiFi接口把报文转发给智能手机;智能手机收到网关转发的报文后,根据缺省报文转发规则查出报文的出接口为3G接口,智能手机对报文的源地址进行NAT转换,然后通过3G接口转发报文到外部网络。如果是家庭网络中的网关要往外部网络发送报文,则网关生成报文后,可以根据缺省报文转发规则查出报文的下一跳地址为智能手机IP地址,出接口为WiFi接口,网关通过WiFi接口把报文转发给智能手机,然后由智能手机转发给外部网络。如果是智能手机要往外部网络发送报文,则智能手机生成报文后,根据缺省报文转发规则查出报文的出接口为3G接口,可以通过3G接口直接将报文发往外部网络。
由上述可见,在本实施例中,在网关与外部网络的连接中断后,网关修改本地报文转发规则,并控制智能手机修改本地报文转发规则表项,使得来自家庭网络中其他设备发往外部网络的报文能够由网关转发给智能手机,再由智能手机转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中其他设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。另外,智能手机与网关之间使用UPnP协议进行通信,在实现上具有更强的灵活性。
图10为本发明一实施例提供的家庭网络设备的接收示意图。如图10所示,本实施例的家庭网络设备包括:接收模块1001、设置模块1002和发送模块1003。
接收模块1001,用于接收家庭网络中的网关发送的标识网关与外部网络的第一连接中断的第一消息。
发送模块1003,与接收模块1001连接,用于在接收模块1001接收到第一消息后,向网关发送第二消息,第二消息用于使网关设置网关上的第一报文转发规则,第一报文转发规则用于网关将来自家庭网络中的第二设备的发往外部网络的报文转发给本实施例的家庭网络设备。
设置模块1002,与接收模块1001连接,用于在接收模块1001接收到第一消息后,设置本实施例的家庭网络设备上的第二报文转发规则,第二报文转发规则用于本实施例的家庭网络设备将来自网关的发往外部网络的报文通过本实施例的家庭网络设备与外部网络建立的第二连接转发。
在一可选实施方式中,发送模块1003还用于在接收模块1001接收到第一消息后,向网关发送第三消息,第三消息用于使网关设置网关上的过滤表,以使网关根据过滤表确定需要转发的来自第二设备的发往外部网络的报文。
在一可选实施方式中,接收模块1001还用于接收网关发送的标识第一连接恢复的第四消息。相应的,设置模块1002还用于在接收模块1001接收到第四消息后,重新设置第二报文转发规则,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
其中,第一连接为通过网关的上行接口与外部网络建立的连接,第二连接为通过本实施例的家庭网络设备的无线接口与外部网络建立的连接。
其中,第一报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是本实施例的家庭网络设备的地址和转发接口是网关上与本实施例的家庭网络设备通信使用的接口。相应的,第二报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是外部网络中与本实施例的家庭网络设备连接的路由设备的地址和转发接口是本实施例的家庭网络设备上与外部网络通信使用的接口。
在一可选实施方式中,如图10所示,本实施例的家庭网络设备还包括:开启模块1004。开启模块1004,与接收模块1001连接,用于在接收模块1001接收到第一消息后,开启本实施例的家庭网络设备上的NAT功能。
在一可选实施方式中,第二报文转发规则还用于本实施例的家庭网络设备将来自外部网络的发往第二设备的报文转发给网关。相应的,第一报文转发规则还用于网关将来自本实施例的家庭网络设备的发往第二设备的报文转发给第二设备。
本实施例提供的家庭网络设备可以作为上述实施例中的第一设备实现,其各功能模块可用于执行图1-图3所示方法实施例中第一设备所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网络设备可以是家庭网络中的各种设备,例如可以是智能手机、个人计算机或平板电脑等。
本实施例提供的家庭网络设备,在网关与外部网络的连接中断后,通过在本地设置第二报文转发规则并使网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给本实施例的家庭网络设备,再由本实施例的家庭网络设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图11为本发明另一实施例提供的家庭网络设备的结构示意图。如图11所示,本实施例的家庭网络设备包括:接收器1101、处理器1102、发送器1103、存储器1104以及总线。接收器1101、处理器1102、发送器1103和存储器1104通过所述总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1104,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。除了存放程序之外,存储器1104还可以存储接收器1101接收到的消息以及暂存发送器1103需要发送的消息等。存储器1104可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
接收器1101,用于接收家庭网络中的网关发送的标识网关与外部网络的第一连接中断的第一消息。
发送器1103,用于在接收器1101接收到第一消息后,向网关发送第二消息,第二消息用于使网关设置网关上的第一报文转发规则,第一报文转发规则用于网关将来自家庭网络中的第二设备的发往外部网络的报文转发给本实施例的家庭网络设备。
处理器1102用于执行存储器1104存储的程序,以用于在接收器1101接收到第一消息后,设置本实施例的家庭网络设备上的第二报文转发规则,第二报文转发规则用于本实施例的家庭网络设备将来自网关的发往外部网络的报文通过本实施例的家庭网络设备与外部网络建立的第二连接转发。
本实施例的处理器1102可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
在此说明,本实施例中的接收器1101、处理器1102和发送器1103还可以集成在一个芯片上实现,在这种实现方式下,接收器1101、处理器1102和发送器1103可以通过内部接口实现相互通信。
本实施例的家庭网络设备可以作为上述实施例中的第一设备实现,可用于执行图1-图3所示方法实施例中第一设备所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网络设备可以是家庭网络中的各种设备,例如可以是智能手机、个人计算机或平板电脑等。
本实施例提供的家庭网络设备,在网关与外部网络的连接中断后,通过在本地设置第二报文转发规则并使网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给本实施例的家庭网络设备,再由本实施例的家庭网络设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图12为本发明一实施例提供的家庭网关的结构示意图。如图12所示,本实施例的家庭网关包括:发送模块1201、接收模块1202和设置模块1203。
发送模块1201,用于在家庭网络中的本实施例的家庭网关与外部网络的第一连接中断后,向家庭网络中的第一设备发送标识第一连接中断的第一消息,以使第一设备设置第一设备上的第二报文转发规则,第二报文转发规则用于第一设备将来自本实施例的家庭网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
接收模块1202,用于接收第一设备发送的第二消息。可选的,接收模块1202与发送模块1201连接,用于在发送模块1201向第一设备发送第一消息之后,接收第一设备发送的第二消息。
设置模块1203,与接收模块1202连接,用于根据接收模块1202接收到的第二消息设置本实施例的家庭网关上的第一报文转发规则,第一报文转发规则用于本实施例的家庭网关将来自家庭网络中的第二设备的发往外部网络的报文转发给第一设备。
在一可选实施方式中,接收模块1202还用于接收第一设备发送的第三消息。相应的,设置模块1202还用于根据接收模块1202接收到的第三消息设置本实施例的家庭网关上的过滤表,以根据过滤表确定需要转发的来自第二设备的发往外部网络的报文。
在一可选实施方式中,设置模块1202还用于在第一连接恢复后,重新设置第一报文转发规则,以使发送模块1201通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文。相应的,发送模块1201还用于在第一连接恢复后,通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文,并向第一设备发送标识第一连接恢复的第四消息,以使第一设备重新设置第二报文转发规则,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
其中,第一连接为通过本实施例的家庭网关的上行接口与外部网络建立的连接。相应的,第二连接为通过第一设备的无线接口与外部网络建立的连接。
其中,第一报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是第一设备的地址和转发接口是本实施例的家庭网关上与第一设备通信使用的接口。相应的,第二报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是外部网络中与第一设备连接的路由设备的地址和转发接口是第一设备上与外部网络通信使用的接口。
在一可选实施方式中,第二报文转发规则还用于第一设备将来自外部网络的发往第二设备的报文转发给本实施例的家庭网关。相应的,第一报文转发规则还用于家庭网关将来自第一设备的发往第二设备的报文转发给第二设备。
本实施例的家庭网关可以作为上述实施例中的网关实现,可用于执行图4-图6所示方法实施例中网关所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网关,在与外部网络的连接中断后,通过向家庭网络中的第一设备发送第一消息,使得第一设备可以获知家庭网关与外部网络之间的连接中断,然后在本地设置第二报文转发规则并控制本实施例的家庭网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由本实施例的家庭网关转发给第一设备,再由第一设备转发到外部网络,在不用增加家庭网关的硬件配置的情况下,在家庭网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图13为本发明另一实施例提供的家庭网关的结构示意图。如图13所示,本实施例的家庭网关包括:发送器1301、接收器1302、处理器1303、存储器1304和总线。发送器1301、接收器1302、处理器1303和存储器1304通过所述总线相互连接并完成相互间的通信。所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1304,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。除了存放程序之外,存储器1304还可以存储接收器1302接收到的消息以及暂存发送器1301需要发送的消息等。存储器1304可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
发送器1301,用于在家庭网络中的本实施例的家庭网关与外部网络的第一连接中断后,向家庭网络中的第一设备发送标识第一连接中断的第一消息,以使第一设备设置第一设备上的第二报文转发规则,第二报文转发规则用于第一设备将来自本实施例的家庭网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
接收器1302,用于在发送器1301向第一设备发送第一消息后,接收第一设备发送的第二消息。
处理器1303,用于执行存储器1304所存储的程序,以根据接收器1302接收到的第二消息设置本实施例的家庭网关上的第一报文转发规则,第一报文转发规则用于本实施例的家庭网关将来自家庭网络中的第二设备的发往外部网络的报文转发给第一设备。
本实施例的处理器1303可能是一个CPU,或者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
在此说明,本实施例中的发送器1301、接收器1302和处理器1303还可以集成在一个芯片上实现,在这种实现方式下,发送器1301、接收器1302和处理器1303可以通过内部接口实现相互通信。
本实施例的家庭网关可以作为上述实施例中的网关实现,可用于执行图4-图6所示方法实施例中网关所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网关,在与外部网络的连接中断后,通过向家庭网络中的第一设备发送第一消息,使得第一设备可以获知家庭网关与外部网络之间的连接中断,然后在本地设置第二报文转发规则并控制本实施例的家庭网关设置第一报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由本实施例的家庭网关转发给第一设备,再由第一设备转发到外部网络,在不用增加家庭网关的硬件配置的情况下,在家庭网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图14为本发明又一实施例提供的家庭网关的结构示意图。如图14所示,本实施例的家庭网关包括:设置模块1401和发送模块1402。
设置模块1401,用于在家庭网络中的本实施例的家庭网关与外部网络的第一连接中断时,设置本实施例的家庭网关上的第一报文转发规则,第一报文转发规则用于本实施例的家庭网关将来自家庭网络中的第二设备的发往外部网络的报文转发给家庭网络中的第一设备。
发送模块1402,用于向第一设备发送第一消息,第一消息用于使第一设备设置第一设备上的第二报文转发规则,第二报文转发规则用于第一设备将来自本实施例的家庭网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发,以使家庭网络中的第二设备的发往外部网络的报文不再通过第二连接转发。
在一可选实施方式中,设置模块1401还用于设置本实施例的家庭网关上的过滤表,以根据过滤表确定需要转发的来自第二设备的发往外部网络的报文。
在一可选实施方式中,设置模块1401还用于在第一连接恢复后,重新设置第一报文转发规则,以使发送模块1402通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文。可选的,发送模块1402与设置模块1401连接。
相应的,发送模块1402还用于在第一连接恢复后,通过第一连接转发来自家庭网络中的第二设备的发往外部网络的报文,并向第一设备发送标识第一连接恢复的第四消息,以使第一设备重新设置第二报文转发规则。
其中,第一连接为通过本实施例的家庭网关的上行接口与外部网络建立的连接。相应的,第二连接为通过第一设备的无线接口与外部网络建立的连接。
其中,第一报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是第一设备的地址和转发接口是本实施例的家庭网关上与第一设备通信使用的接口。相应的,第二报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是外部网络中与第一设备连接的路由设备的地址和转发接口是第一设备上与外部网络通信使用的接口。
在一可选实施方式中,第二报文转发规则还用于第一设备将来自外部网络的发往第二设备的报文转发给本实施例的家庭网关。相应的,第一报文转发规则还用于本实施例的家庭网关将来自第一设备的发往第二设备的报文转发给第二设备。
本实施例的家庭网关可作为上述方法实施例中的网关实现,其各功能模块可用于执行图7或图8所示实施例中网关所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的家庭网关,在与外部网络的连接中断后,通过在本地设置第一报文转发规则并控制家庭网络中的第一设备在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由本实施例的家庭网关转发给第一设备,再由第一设备转发到外部网络,在不用增加家庭网关的硬件配置的情况下,在家庭网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图15为本发明又一实施例提供的家庭网关的结构示意图。如图15所示,本实施例的家庭网关包括:处理器1501、发送器1502、存储器1503和总线。处理器1501、发送器1502和存储器1503通过所述总线相互连接并完成相互间的通信。所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1503,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。除了存放程序之外,存储器1503还可以暂存发送器1502需要发送的消息等。存储器1503可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器1501用于执行存储器1503存放的程序,以实现:在家庭网络中的本实施例的家庭网关与外部网络的第一连接中断时,设置本实施例的家庭网关上的第一报文转发规则,第一报文转发规则用于本实施例的家庭网关将来自家庭网络中的第二设备的发往外部网络的报文转发给家庭网络中的第一设备。
本实施例的处理器1501可能是一个CPU,或者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
发送器1502用于向第一设备发送第一消息,第一消息用于使第一设备设置第一设备上的第二报文转发规则,第二报文转发规则用于第一设备将来自本实施例的家庭网关的发往外部网络的报文通过第一设备与外部网络建立的第二连接转发。
在此说明,本实施例中的处理器1501和发送器1502还可以集成在一个芯片上实现,在这种实现方式下,处理器1501和发送器1502可以通过内部接口实现相互通信。
本实施例的家庭网关可作为上述方法实施例中的网关实现,其可用于执行图7或图8所示实施例中网关所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例的家庭网关,在与外部网络的连接中断后,通过在本地设置第一报文转发规则并控制家庭网络中的第一设备在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由本实施例的家庭网关转发给第一设备,再由第一设备转发到外部网络,在不用增加家庭网关的硬件配置的情况下,在家庭网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图16为本发明又一实施例提供的家庭网络设备的结构示意图。如图16所示,本实施例的家庭网络设备包括:接收模块1601和设置模块1602。
接收模块1601,用于接收家庭网络中的网关发送的第一消息,第一消息用于使家庭网络设备设置家庭网络设备上的第二报文转发规则,第二报文转发规则用于家庭网络设备将来自网关的发往外部网络的报文通过家庭网络设备与外部网络建立的第二连接转发,其中,所述网关发往外部网络的报文来自于家庭网络中的第二设备,第一消息是网关与外部网络的第一连接中断后发送的;
设置模块1602,与接收模块1601连接,用于根据接收模块1601接收到的第一消息,设置第二报文转发规则。
其中,第一连接为通过网关的上行接口与外部网络建立的连接。相应的,第二连接为通过本实施例的家庭网络设备的无线接口与外部网络建立的连接。
其中,第二报文转发规则包括:目的地址是外部网络中第三设备的网络地址或缺省路由地址、下一跳地址是外部网络中与家庭网络设备连接的路由设备的地址和转发接口是本实施例的家庭网络设备上与外部网络通信使用的接口。
在一可选实施方式中,第二报文转发规则还用于本实施例的家庭网络设备将来自外部网络的发往第二设备的报文转发给网关。
在一可选实施方式中,如图16所示,本实施例的家庭网络设备还包括:开启模块1603。开启模块1603,用于在接收模块1601接收到第一消息后,开启本实施例的家庭网络设备上的NAT功能。可选的,开启模块1603与接收模块1601连接。
本实施例提供的家庭网络设备可以作为上述实施例中的第一设备实现,其各功能模块可用于执行图9所示方法实施例中第一设备所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网络设备可以是家庭网络中的各种设备,例如可以是智能手机、个人计算机或平板电脑等。
本实施例提供的家庭网络设备,在网关与外部网络的连接中断后,通过在网关的控制下在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给本实施例的家庭网络设备,再由本实施例的家庭网络设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
图17为本发明又一实施例提供的家庭网络设备的结构示意图。如图17所示,本实施例的家庭网络设备包括:接收器1701、处理器1702、存储器1703和总线。接收器1701、处理器1702和存储器1703通过所述总线相互连接并完成相互间的通信。所述总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1703,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。除了存放程序之外,存储器1703还可以存储接收器1701接收到的消息等。存储器1703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
接收器1701,用于接收家庭网络中的网关发送的第一消息,第一消息用于使本实施例的家庭网络设备设置本实施例的家庭网络设备上的第二报文转发规则,第二报文转发规则用于本实施例的家庭网络设备将来自网关的发往外部网络的报文通过本实施例的家庭网络设备与外部网络建立的第二连接转发,其中,所述网关发往外部网络的报文来自于家庭网络中的第二设备,第一消息是网关与外部网络的第一连接中断后发送的。
处理器1702用于执行存储器1703存储的程序,以实现:根据接收器1701接收到的第一消息,设置第二报文转发规则。
本实施例的处理器1702可能是一个CPU,或者是特定ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路。
在此说明,本实施例中的接收器1701、处理器1702和存储器1703还可以集成在一个芯片上实现,在这种实现方式下,接收器1701、处理器1702和存储器1703可以通过内部接口实现相互通信。
本实施例提供的家庭网络设备可以作为上述实施例中的第一设备实现,其可用于执行图9所示方法实施例中第一设备所执行的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的家庭网络设备可以是家庭网络中的各种设备,例如可以是智能手机、个人计算机或平板电脑等。
本实施例提供的家庭网络设备,在网关与外部网络的连接中断后,通过在网关的控制下在本地设置第二报文转发规则,使得来自家庭网络中的第二设备的发往外部网络的报文能够由网关转发给本实施例的家庭网络设备,再由本实施例的家庭网络设备转发到外部网络,在不用增加网关的硬件配置的情况下,在网关与外部网络的连接中断后,实现了家庭网络中的第二设备与外部网络之间的通信,提高了家庭网络中的设备与外部网络通信的可靠性。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。