CN104113475A - 基于Linux的家庭网关的网络路由实现方法和系统 - Google Patents

基于Linux的家庭网关的网络路由实现方法和系统 Download PDF

Info

Publication number
CN104113475A
CN104113475A CN201410372781.7A CN201410372781A CN104113475A CN 104113475 A CN104113475 A CN 104113475A CN 201410372781 A CN201410372781 A CN 201410372781A CN 104113475 A CN104113475 A CN 104113475A
Authority
CN
China
Prior art keywords
route
wan
tactful
wan link
home gateway
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
Application number
CN201410372781.7A
Other languages
English (en)
Other versions
CN104113475B (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.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics 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 Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201410372781.7A priority Critical patent/CN104113475B/zh
Publication of CN104113475A publication Critical patent/CN104113475A/zh
Application granted granted Critical
Publication of CN104113475B publication Critical patent/CN104113475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于Linux的家庭网关的网络路由实现方法和系统。所述方法包括:监控到有WAN链接连接上时,获取所述WAN链接信息;判断所述WAN链接信息中WAN的服务类型是否带有INTERNET属性,若是,则配置基于默认路由的关联路由,若否,则配置基于源地址的策略路由。上述基于Linux的家庭网关的网络路由实现方法和系统,在多种组合服务类型的组网环境中,监控到连接的WAN链接的服务类型带有INTERNET属性时,配置对应的默认路由,不带有INTERNET属性的WAN链接配置基于源地址的策略路由,默认路由和策略路由不会有冲突,没有静态路由方案的频繁路由操作和路由竞争的可能,也没有绑定设备方案的设备内WAN连接通信的问题,提高了通信的可靠性。

Description

基于Linux的家庭网关的网络路由实现方法和系统
技术领域
本发明涉及网络路由实现领域,特别是涉及一种基于Linux的家庭网关的网络路由实现方法和系统。
背景技术
随着三网融合的推广和普及,家庭网关作为一种网络接入设备部署在千家万户,主要为家庭内的设备提供接入和互联的功能,同时还具备IPTV(InternetProtocol Television,网络协定电视)、无线、VOIP(Voice over Internet Protocol,网络电话)等功能,通信服务运营商为了把这些家庭网关管理起来,统一使用TR069协议进行管理。
在这种多应用的模式下,定义了三种WAN链接的服务类型,分别为INTERNET、TR069和VOIP。从家庭网关的LAN侧接入上网的WAN链接为INTERNET服务类型的网络设备(这里的设备是指驱动设备),TR069服务类型的WAN链接的网络设备,即家庭网关中的TR069客户端软件和运营商的TR069服务端通信的网络设备,而VOIP的WAN链接就是VOIP通信用的网络设备。这三种服务类型的网络设备都是三层设备(TCP/IP(Transmission ControlProtocol/Internet Protocol,传输控制协议/因特网互联协议)四层网络模型)。INTERNET、TR069和VOIP这几种就概括了家庭网关三层以上的接入应用,分别对应:上网、远程控制管理(TR069)和VOIP功能,这些服务类型还可以根据地方服务运营商的组网情况组合在一起,例如:INTERNET+VOIP,或者TR069+VOIP+INTERNET。通常同一个服务类型的WAN链接最多只有一条。
对于家庭网关软件来说其三种服务类型的应用有以下特性:
1.TR069,客户端软件在家庭网关里,socket和路由操作受控,需要和TR069服务器通信,需要有到服务器目的地址的路由,支持域名,需要有DNS服务器的路由;
2.VOIP,应用软件在家庭网关里,socket和路由操作受控,需要和VOIP服务器通信(软交换),需要有到服务器目的地址的路由,VOIP信令协商后建立通话时需要有到对端VOIP目的地址的路由,简称媒体路由(通话发的都是语音数据媒体包),这个媒体路由目的地址是不确定的,有千千万万个VOIP终端,也支持域名,需要有DNS(Domain Name System,域名系统)服务器的路由;
3.INTERNET,数据源不定,可以是从LAN侧进来的,也可以是网关内部的一些应用程序,例如SNTP(Simple Network Time Protocol,简单网络时间协议),这样需要有一个到其网关的默认路由,所有没匹配到路由的数据都走这条默认路由出去,同样都需要支持DNS,要有DNS服务器的路由,涉及到LAN侧IP,需要一条LAN网段的路由。
家庭网关的路由实现的传统的实现方案主要有两种,其中第一种方案是静态路由的方案:
当VOIP和TR069的类型的WAN链接连接上的时候,默认加一条到该网段不带网关的静态路由,而对于INTERNET类型的WAN链接连接上时除了加一条到该网段不带网关的静态路由,还需要加一条到其网关的默认路由。TR069客户端在配置了服务器(一般为域名)的情况下还需要加到其WAN链接DNS服务器,DNS解析成功后再加一条到其解析出来的IP的路由。
以三条TR069、VOIP、INTERNET的WAN链接为例,其WAN链接名字分别为wan1,wan2,wan3,其IP分别为172.125.101.5,172.125.102.6,172.125.103.7,网关分别为172.125.101.1,172.125.102.1,172.125.103.1。其DNS服务器地址分别为dns_add1、dns_add2、dns_add3。LAN侧设备名为br0,其路由添加如下:
TR069:route add172.125.101.0mask255.255.255.0dev wan1
TR069:route add tr069_server_addr mask255.255.255.255gw172.125.101.1devwan1
TR069:route add dns_addr1mask255.255.255.255gw172.125.101.1dev wan1
VOIP:route add172.125.102.0mask255.255.255.0devwan2
VOIP:route add voip_server_addr mask255.255.255.255gw172.125.102.1devwan2
VOIP:route add voip_media_addr mask255.255.255.255gw172.125.102.1devwan2
VOIP:route add dns_addr2mask255.255.255.255gw172.125.102.1dev wan2
INTERNET:route add172.125.103.0mask255.255.255.0dev wan3
INTERNET:route add192.168.1.0mask255.255.255.0dev br0
INTERNET:route add dns_addr3mask255.255.255.255gw172.125.103.1devwan3
INTERNET:route add default gw172.125.103.1dev wan3
该种方案是按需各自加静态路由。该种方案VOIP通话的时候就必须实时增删对端目的地址的路由,每次通话前几个语音媒体包的实时性就受到影响,而且频繁进行增删路由操作的话,也加大了路由操作失败的几率。
某些地方网络服务运营商组网的时候不同服务类型的多个WAN链接会共用同一个DNS服务器,这样还需要处理DNS路由冲突的问题,其组网有这样一种情况:两条WAN链接,TR069+VOIP、INTERNET,这两条WAN链接用的是同一个DNS服务器地址。这样就存在两个问题:
1.TR069和VOIP的异步操作,VOIP和TR069都会加删同一个DNS路由,会有路由操作竞争冲突的情况;
2.两条/多条同一个目的地址(DNS)不同网关的路由,存在路由冲突,会走错路。
该第一种方案虽然说可以加入一些竞争互斥来解决问题1,但显得比较繁琐,降低了通信可靠性,而且解决不了问题2。
第二种方案是绑定设备的方案,相对于第一种方案进行改进,使用绑定设备+metric来解决上面两个问题。TR069和VOIP应用程序初始化socket的时候通过SO_BINDTODEVICE来绑定该socket对应的网络设备,TR069和VOIP都指定不同的、大于0的metric按照一般第一种方案来加对应路由,而INTERNET就按照第一种方案的方法来加就可以了,也就是说INTERNET没有指定metric,实际就是metric等于0。TR069和VOIP因为绑定了设备,所以它只会从所绑定的网络设备出去,不会走错路,而且VOIP和TR069使用的是不同的metric,所以路由加删操作都指定对应metric的时候也不会出现误删等竞争操作。而INTERNET由于其路由metric最低,也就是优先级较高。遇到路由冲突的时候会优先走metric低的出去,也不会走错路。
以三条TR069、VOIP、INTERNET的WAN链接为例,其WAN链接名字分别为wan1,wan2,wan3,其IP分别为172.125.101.5,172.125.102.6,172.125.103.7,网关分别为172.125.101.1,172.125.102.1,172.125.103.1。LAN侧设备名为br0,DNS服务器地址为dns_addr,tr069服务器地址为tr069_server_addr,VOIP的服务器和媒体地址分别为voip_server_addr、voip_media_addr。其路由添加如下:
TR069:route add172.125.101.0mask255.255.255.0dev wan1metric50
TR069:route add tr069_server_addr mask255.255.255.255gw172.125.101.1devwan1metric50
TR069:route add dns_addr mask255.255.255.255gw172.125.101.1dev wan1metric50
VOIP:route add172.125.102.0mask255.255.255.0dev wan2metric60
VOIP:route add voip_server_addr mask255.255.255.255gw172.125.102.1devwan2metric 60
VOIP:route add voip media addr mask255.255.255.255gw172.125.102.1devwan2metric60
VOIP:route add dns_addr mask255.255.255.255gw172.125.102.1dev wan2metric60
INTERNET:route add172.125.103.0mask255.255.255.0dev wan3
INTERNET:route add192.168.1.0mask255.255.255.0dev br0
INTERNET:route add dns_addr mask255.255.255.255gw172.125.103.1devwan3
INTERNET:route add default gw172.125.103.1dev wan3
第二种方案实际上是在第一种方案的基础上使用了socket绑设备+metric的优化,可以解决路由操作竞争和路由冲突的问题,但也会存在VOIP通话时实时操作路由的问题。而且绑定设备会引出两个linux内核原生的问题:1.绑定设备时设备内同一个WAN是通信不了的;2.绑定设备时设备内不同WAN之间通信也是通不了。Linux内核没有考虑绑定设备时设备内通信的模型,被drop掉了。虽然通过一些额外的遍历判断目的地址是否为设备内的WAN链接来决定是否socket绑定设备,或者修改内核。但有点繁琐,降低了通信可靠性。
发明内容
基于此,有必要针对传统的网络路由实现方式降低了通信可靠性的问题,提供一种能提高通信可靠性的基于Linux的家庭网关的网络路由实现方法和系统。
一种基于Linux的家庭网关的网络路由实现方法,包括:
监控到有WAN链接连接上时,获取所述WAN链接信息;
判断所述WAN链接信息中WAN的服务类型是否带有INTERNET属性,若是,则配置基于默认路由的关联路由,若否,则配置基于源地址的策略路由。
在其中一个实施例中,所述配置基于源地址的策略路由的规则包括所述源地址为预先所指定的所述WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由。
在其中一个实施例中,所述方法还包括:
预先创建一个路由标识为指定的表标识的策略路由表,并在所述策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。
在其中一个实施例中,所述方法还包括:
所述WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从所述WAN链接信息中的路由标识为所述指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配所述WAN链接的路由,若所述主路由表中没有匹配的所述WAN链接的路由,则从默认路由表中匹配所述WAN链接的路由。
在其中一个实施例中,所述方法还包括:
当监控到所述WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
一种基于Linux的家庭网关的网络路由实现系统,包括:
WAN链接状态监控模块,用于监控到有WAN链接连接上时,获取所述WAN链接信息;
判断模块,用于判断所述WAN链接信息中WAN的服务类型是否带有INTERNET属性;
配置模块,用于在判断出所述WAN链接信息中WAN的服务类型带有INTERNET属性时,则配置基于默认路由的关联路由,以及在判断出所述WAN链接信息中WAN的服务类型未带有INTERNET属性时,则配置基于源地址的策略路由。
在其中一个实施例中,所述配置基于源地址的策略路由的规则包括所述源地址为预先所指定的所述WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由。
在其中一个实施例中,所述系统还包括:
创建模块,用于创建一个路由标识为指定的表标识的策略路由表,并在所述策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。
在其中一个实施例中,所述配置模块还用于当所述WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从所述WAN链接信息中的路由标识为指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配所述WAN链接的路由,若所述主路由表中没有匹配的所述WAN链接的路由,则从默认路由表中匹配所述WAN链接的路由。
在其中一个实施例中,所述系统还包括:
清除模块,用于当监控到所述WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
上述基于Linux的家庭网关的网络路由实现方法和系统,在多种组合服务类型的组网环境中,监控到连接的WAN链接的服务类型带有INTERNET属性时,配置对应的默认路由,不带有INTERNET属性的WAN链接配置基于源地址的策略路由,默认路由和策略路由不会有冲突,没有静态路由方案的频繁路由操作和路由竞争的可能,也没有绑定设备方案的设备内WAN连接通信的问题,提高了通信的可靠性,且在WAN链接稳定的状态下,只需进行一次路由配置即可,不需像传统的路由配置为了VOIP频繁去配置,且策略路由是在WAN链接连接上时建立的,对VOIP通话来说通路已经提前建立好,所以数据通信相对平滑实时,进一步提高了可靠性,且简单易维护,能适应性各种组网环境。
附图说明
图1为一个实施例中基于Linux的家庭网关的网络路由实现方法的应用环境示意图;
图2为一个实施例中基于Linux的家庭网关的网络路由实现方法的流程图;
图3为一个实施例中基于Linux的家庭网关的网络路由实现系统的结构框图;
图4为另一个实施例中基于Linux的家庭网关的网络路由实现系统的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中基于Linux的家庭网关的网络路由实现方法的应用环境示意图。如图1所示,该应用环境中包括WAN链接状态监控应用程序、TR069应用程序、VOIP应用程序和INTERNET应用程序。TR069WAN、VOIP WAN和INTERNET WAN为三个WAN链接实体。其中,TR069WAN链接的数据来自系统软件中的TR069应用程序;VOIP WAN链接的数据来自系统软件中的VOIP应用程序;INTERNET WAN链接的数据来自两部分,一个是系统软件中的网络应用程序,例如sntp(时间同步)等,另外一部分来自于网关LAN侧。WAN链接状态监控应用程序监控TR069WAN、VOIP WAN和INTERNET WAN链接的状态,有变化是通知对应的应用程序做处理。WAN链接状态监控应用程序监控TR069的WAN链接状态变化时,通知TR069应用程序进行处理,监控VOIP的WAN链接状态变化时,通知VOIP应用程序进行处理,监控INTERNET的WAN链接状态变化时,通知INTERNET应用程序进行处理。其中,INTERNET服务类型的WAN链接的数据源是不定的,有LAN侧过来的数据,也有家庭网关自己产生的数据,WAN链接状态监控应用程序监控到INTERNET服务类型的WAN链接状态处于连接上(即从down到up的变化)时,则为INTERNET服务类型的WAN链接添加默认路由,然后将该WAN链接的数据通过该默认路由发送,其余的WAN链接状态处于连接上时,添加基于源地址的策略路由,使用基于源地址的策略路由发送。此外,TR069应用程序和VOIP应用程序分别相当于一个Socket客户端。
图2为一个实施例中基于Linux的家庭网关的网络路由实现方法的流程图。如图2所示,该基于Linux的家庭网关的网络路由实现方法,包括:
步骤202,监控到有WAN链接连接上时,获取该WAN链接信息。
具体的,WAN链接状态监控应用程序监控到WAN链接的链接状态变化,由DOWN->UP(由断开到连接上)变化时进行加路由操作,并通知VOIP、TR069等家庭网关中用到该WAN链接的客户端获取WAN链接信息。该WAN链接信息包括IP地址、网关、DNS等。
步骤204,判断该WAN链接信息中WAN的服务类型是否带有INTERNET属性,若是,执行步骤206,若否,执行步骤208。
步骤206,配置基于默认路由的关联路由。
具体的,默认路由是指一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。默认路由的关联路由包括LAN子网段、WAN子网段和默认网关路由。
步骤208,配置基于源地址的策略路由。
本实施例中,该配置基于源地址的策略路由的规则包括该源地址为预先所指定的该WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由,并按照该策略路由进行通信。
进一步的,基于Linux的家庭网关的网络路由实现方法还包括:预先创建一个路由标识为指定的表标识的策略路由表,并在该策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。该指定的表标识是指根据需要设定的表标识。
该基于源地址的策略路由的规则如下:
a.ip rule add from WAN链接的IP table table_id
b.ip route add WAN链接ip所处网段/子网掩码位dev指定接口名table_id
c.ip route add default dev指定接口名WAN链接的网关地址table table_id
其中,a.表示添加一条策略路由,当前策略路由的匹配条件为源地址为所指定接口的IP,即WAN链接的IP,如果匹配条件满足,则执行当前策略路由的执行动作,当前的执行动作为查找Route ID(路由标识)为table_id(指定的表标识)的策略路由表,其中Route ID为table_id的策略路由表通过b和c规则来创建。
b.表示创建一个Route ID为table_id的策略路由表,并且向该策略路由表中添加一条WAN链接的IP所处子网段的规则(同网段通信不需要经过网关)。
c.表示创建一个Route ID为table_id的策略路由表,并且向该策略路由表中添加一条WAN链接的默认网关规则。
进一步的,上述基于Linux的家庭网关的网络路由实现方法,还包括:该WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从该WAN链接信息中的路由标识为指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配该WAN链接的路由,若该主路由表中没有匹配的该WAN链接的路由,则从默认路由表中匹配该WAN链接的路由。
具体的,路由表是指路由器或其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径。主路由表中包含静态路由。进行路由匹配的优先级从高到低是策略路由表、主路由表和默认路由表。
进一步的,上述基于Linux的家庭网关的网络路由实现方法,还包括:当监控到该WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
上述基于Linux的家庭网关的网络路由实现方法,在多种组合服务类型的组网环境中,监控到连接的WAN链接的服务类型带有INTERNET属性时,配置对应的默认路由,不带有INTERNET属性的WAN链接配置基于源地址的策略路由,默认路由和策略路由不会有冲突,INTERNET传输的数据不会配置错误的路由,提高了通信的可靠性,且在WAN链接稳定的状态下,只需进行一次路由配置即可,不需像传统的路由配置为了VOIP频繁去配置,且策略路由是在WAN链接连接上时建立的,对VOIP通话来说通路已经提前建立好,所以数据通信相对平滑实时,进一步提高了可靠性,且简单易维护,能适应性各种组网环境。
图3为一个实施例中基于Linux的家庭网关的网络路由实现系统的结构框图。如图3所示,该基于Linux的家庭网关的网络路由实现系统包括WAN链接状态监控模块320、判断模块340和配置模块360。其中:
WAN链接状态监控模块320用于监控到有WAN链接连接上时,获取该WAN链接信息。
判断模块340用于判断该WAN链接信息中WAN的服务类型是否带有INTERNET属性。
配置模块360用于在判断出该WAN链接信息中WAN的服务类型带有INTERNET属性时,则配置基于默认路由的关联路由,以及在判断出该WAN链接信息中WAN的服务类型未带有INTERNET属性时,则配置基于源地址的策略路由。
进一步的,该配置模块360还用于当该WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从该WAN链接信息中的路由标识为指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配该WAN链接的路由,若该主路由表中没有匹配的该WAN链接的路由,则从默认路由表中匹配该WAN链接的路由。
本实施例中,该配置基于源地址的策略路由的规则包括该源地址为预先所指定的该WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由,并按照该策略路由进行通信。
图4为另一个实施例中基于Linux的家庭网关的网络路由实现系统的结构框图。如图4所示,该基于Linux的家庭网关的网络路由实现系统除了包括WAN链接状态监控模块320、判断模块340和配置模块360,还包括创建模块380和清除模块390。其中:
创建模块380用于创建一个路由标识为指定的表标识的策略路由表,并在该策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。
清除模块390用于当监控到该WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
上述基于Linux的家庭网关的网络路由实现系统,在多种组合服务类型的组网环境中,监控到连接的WAN链接的服务类型带有INTERNET属性时,配置对应的默认路由,不带有INTERNET属性的WAN链接配置基于源地址的策略路由,默认路由和策略路由不会有冲突,没有静态路由方案的频繁路由操作和路由竞争的可能,也没有绑定设备方案的设备内WAN连接通信的问题,提高了通信的可靠性,且在WAN链接稳定的状态下,只需进行一次路由配置即可,不需像传统的路由配置为了VOIP频繁去配置,且策略路由是在WAN链接连接上时建立的,对VOIP通话来说通路已经提前建立好,所以数据通信相对平滑实时,进一步提高了可靠性,且简单易维护,能适应性各种组网环境。
上述基于Linux的家庭网关的网络路由实现方法和系统可应用于不同组网中配置路由。
例如组网1:以两条TR069+VOIP、INTERNET的WAN链接为例,其WAN链接名字分别为wan1、wan2,其IP分别为172.125.101.5,172.125.102.6,网关分别为172.125.101.1,172.125.102.1。DNS服务器地址都为202.96.14.11。LAN侧设备名为br0。
WAN链接状态监控模块监控到有wan1、wan2链接UP了,由配置模块来添加路由如下(策略路由表ID(即表标识)为2000):
ip rule add from172.125.101.5table2000
ip route add172.125.101.0/24dev wan12000
ip route add default dev wan1172.125.101.1table2000
route add192.168.1.0mask255.255.255.0dev br0
route add172.125.102.0mask255.255.255.0dev wan2
route add default gw172.125.102.1dev wan2
组网2:以两条TR069、VOIP+INTERNET的WAN链接为例,其WAN链接名字分别为wan1、wan2,其IP分别为172.125.101.5,172.125.102.6,网关分别为172.125.101.1,172.125.102.1。DNS服务器地址都为202.96.14.11。LAN侧地址和设备名分别为192.168.1.1、br0。
WAN链接状态监控模块监控到有wan1、wan2链接UP了,由配置模块来添加路由如下(策略路由表ID(即表标识)为2000):
ip rule add from172.125.101.5table2000
ip route add172.125.101.0/24dev wan12000
ip route add default dev wan1172.125.101.1table2000
route add192.168.1.0mask255.255.255.0dev br0
route add172.125.102.0mask255.255.255.0dev wan2
route add default gw172.125.102.1dev wan2
组网3:以三条TR069、VOIP、INTERNET的WAN链接为例,其WAN链接名字分别为wan1、wan2、wan3,其IP分别为172.125.101.5、172.125.102.6、172.125.103.7,网关分别为172.125.101.1、172.125.102.1、172.125.103.1。DNS服务器地址都为202.96.14.11。LAN侧地址和设备名分别为192.168.1.1、br0。
WAN链接状态监控模块监控到有wan1、wan2、wan3链接UP了,由配置模块来添加路由如下(策略路由表ID(即表标识)为2000):
ip rule add from172.125.101.5table2000
ip route add172.125.101.0/24dev wan12000
ip route add default dev wan1172.125.101.1table2000
ip rule add from172.125.102.6table2001
ip route add172.125.102.0/24dev wan22001
ip route add default dev wan2172.125.102.1table2001
route add192.168.1.0mask255.255.255.0dev br0
route add172.125.103.0mask255.255.255.0dev wan3
route add default gw172.125.103.1dev wan3
组网4:以一条TR069+VOIP+INTERNET的WAN链接为例,其WAN链接名字分别为wan1,其ip分别为172.125.101.5,网关分别为172.125.101.1。DNS服务器地址为202.96.14.11。LAN侧地址和设备名分别为192.168.1.1、br0。
WAN链接状态监控模块监控到有wan1链接UP了,由配置模块来添加路由如下:
route add192.168.1.0mask255.255.255.0dev br0
route add172.125.103.0mask255.255.255.0dev wan1
route add default gw172.125.103.1dev wan1
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于Linux的家庭网关的网络路由实现方法,其特征在于,包括:
监控到有WAN链接连接上时,获取所述WAN链接信息;
判断所述WAN链接信息中WAN的服务类型是否带有INTERNET属性,若是,则配置基于默认路由的关联路由,若否,则配置基于源地址的策略路由。
2.根据权利要求1所述的基于Linux的家庭网关的网络路由实现方法,其特征在于,所述配置基于源地址的策略路由的规则包括所述源地址为预先所指定的所述WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由。
3.根据权利要求2所述的基于Linux的家庭网关的网络路由实现方法,其特征在于,所述方法还包括:
预先创建一个路由标识为指定的表标识的策略路由表,并在所述策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。
4.根据权利要求2或3所述的基于Linux的家庭网关的网络路由实现方法,其特征在于,所述方法还包括:
所述WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从所述WAN链接信息中的路由标识为所述指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配所述WAN链接的路由,若所述主路由表中没有匹配的所述WAN链接的路由,则从默认路由表中匹配所述WAN链接的路由。
5.根据权利要求1所述的基于Linux的家庭网关的网络路由实现方法,其特征在于,所述方法还包括:
当监控到所述WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
6.一种基于Linux的家庭网关的网络路由实现系统,其特征在于,包括:
WAN链接状态监控模块,用于监控到有WAN链接连接上时,获取所述WAN链接信息;
判断模块,用于判断所述WAN链接信息中WAN的服务类型是否带有INTERNET属性;
配置模块,用于在判断出所述WAN链接信息中WAN的服务类型带有INTERNET属性时,则配置基于默认路由的关联路由,以及在判断出所述WAN链接信息中WAN的服务类型未带有INTERNET属性时,则配置基于源地址的策略路由。
7.根据权利要求6所述的基于Linux的家庭网关的网络路由实现系统,其特征在于,所述配置基于源地址的策略路由的规则包括所述源地址为预先所指定的所述WAN链接的IP时,则匹配基于源地址的策略路由表中的路由标识为指定的表标识的策略路由。
8.根据权利要求7所述的基于Linux的家庭网关的网络路由实现系统,其特征在于,所述系统还包括:
创建模块,用于创建一个路由标识为指定的表标识的策略路由表,并在所述策略路由表中添加WAN链接的IP所处子网段,以及添加WAN链接的默认网关。
9.根据权利要求6或7所述的基于Linux的家庭网关的网络路由实现系统,其特征在于,所述配置模块还用于当所述WAN链接信息中WAN的服务类型为TR069或VOIP时,绑定源地址,并从所述WAN链接信息中的路由标识为所述指定的表标识的策略路由表中匹配策略路由,若没有匹配的策略路由,则从主路由表中匹配所述WAN链接的路由,若所述主路由表中没有匹配的所述WAN链接的路由,则从默认路由表中匹配所述WAN链接的路由。
10.根据权利要求6所述的基于Linux的家庭网关的网络路由实现系统,其特征在于,所述系统还包括:
清除模块,用于当监控到所述WAN链接断开时,清除所配置基于默认路由的关联路由或基于源地址的策略路由。
CN201410372781.7A 2014-07-30 2014-07-30 基于Linux的家庭网关的网络路由实现方法和系统 Active CN104113475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410372781.7A CN104113475B (zh) 2014-07-30 2014-07-30 基于Linux的家庭网关的网络路由实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410372781.7A CN104113475B (zh) 2014-07-30 2014-07-30 基于Linux的家庭网关的网络路由实现方法和系统

Publications (2)

Publication Number Publication Date
CN104113475A true CN104113475A (zh) 2014-10-22
CN104113475B CN104113475B (zh) 2018-09-11

Family

ID=51710111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410372781.7A Active CN104113475B (zh) 2014-07-30 2014-07-30 基于Linux的家庭网关的网络路由实现方法和系统

Country Status (1)

Country Link
CN (1) CN104113475B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721298A (zh) * 2016-02-19 2016-06-29 烽火通信科技股份有限公司 一种cpe设备实现双wan口上网的方法及系统
CN106921576A (zh) * 2017-02-28 2017-07-04 郑州云海信息技术有限公司 基于虚拟化系统的数据网与管理网的流量分离方法及装置
JP2018082317A (ja) * 2016-11-16 2018-05-24 日本電信電話株式会社 ルーティングシステムおよびルーティング方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070153782A1 (en) * 2005-12-30 2007-07-05 Gregory Fletcher Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
CN102164078A (zh) * 2011-03-25 2011-08-24 北京星网锐捷网络技术有限公司 策略路由方法、装置及系统
CN103036788A (zh) * 2012-12-14 2013-04-10 上海斐讯数据通信技术有限公司 一种多接口网关设备数据发送实现方法
CN103095608A (zh) * 2013-01-07 2013-05-08 深圳市共进电子股份有限公司 一种dns数据包的代理转发方法
CN103841024A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 一种家庭网关实现数据分流的方法和家庭网关

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070153782A1 (en) * 2005-12-30 2007-07-05 Gregory Fletcher Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
CN102164078A (zh) * 2011-03-25 2011-08-24 北京星网锐捷网络技术有限公司 策略路由方法、装置及系统
CN103841024A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 一种家庭网关实现数据分流的方法和家庭网关
CN103036788A (zh) * 2012-12-14 2013-04-10 上海斐讯数据通信技术有限公司 一种多接口网关设备数据发送实现方法
CN103095608A (zh) * 2013-01-07 2013-05-08 深圳市共进电子股份有限公司 一种dns数据包的代理转发方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721298A (zh) * 2016-02-19 2016-06-29 烽火通信科技股份有限公司 一种cpe设备实现双wan口上网的方法及系统
CN105721298B (zh) * 2016-02-19 2019-05-10 烽火通信科技股份有限公司 一种cpe设备实现双wan口上网的方法及系统
JP2018082317A (ja) * 2016-11-16 2018-05-24 日本電信電話株式会社 ルーティングシステムおよびルーティング方法
CN106921576A (zh) * 2017-02-28 2017-07-04 郑州云海信息技术有限公司 基于虚拟化系统的数据网与管理网的流量分离方法及装置

Also Published As

Publication number Publication date
CN104113475B (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
US20210359910A1 (en) Packet data unit (pdu) structure for supporting distributed relay control protocol (drcp)
US9813290B2 (en) Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration
US9369448B2 (en) Network security parameter generation and distribution
CN102823205B (zh) 聚合来自接入域的数据业务
CN102035676B (zh) 基于arp协议交互的链路故障检测与恢复的方法和设备
CN105706393A (zh) 在链路聚合组中支持操作者命令的方法和系统
CN105340228A (zh) 动态服务关联和按需服务供应
CN104869057A (zh) 开放流交换机优雅重启处理方法、装置及开放流控制器
CN104092684A (zh) 一种OpenFlow协议支持VPN的方法及设备
CN105591798A (zh) Dcn中传输oam信息的方法、装置
CN104113475A (zh) 基于Linux的家庭网关的网络路由实现方法和系统
CN105790988A (zh) 操作维护管理功能的实现方法及装置
US11153118B2 (en) Technique for executing a service in a local area network through a wide area communication network
CN103685029A (zh) 一种快速环网保护协议组网中报文转发方法和设备
CN105376275A (zh) 基于软件定义网络的数据管理方法和系统
CN105634765A (zh) 控制器替换方法及装置
JPWO2004095780A1 (ja) ネットワーク接続方法及びネットワーク接続システム及びそれを構成するレイヤ2スイッチ及び管理サーバ
US20130176867A1 (en) Method and apparatus for object grouping and state modeling for application instances
CN109379328A (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