报文的处理方法、装置和路由器的制造方法

文档序号:9455795阅读:587来源:国知局
报文的处理方法、装置和路由器的制造方法
【技术领域】
[0001] 本发明涉及数据处理领域,具体而言,涉及一种报文的处理方法、装置和路由器。
【背景技术】
[0002] 出口网关路由器具有对内部网络访问外网服务器的流量进行NAT (Network Address Translation,网络地址转换)、Firewall (即防火墙)过滤等业务功能。对于多条 上行链路的组网,需要配置静态路由或策略路由来实现正确的选路,即根据目的地址所属 运营商(电信、移动、联通等)来选择相应的链路。
[0003] 然而不同内部网络用户有不同的出口选路需求,例如:
[0004] 1)来自内网192. 168. 1.0/24出口请求,如果目的地址属于电信,选择电信链路。
[0005] 2)来自内网192. 168. 2. 0/24的所有出口请求,都选择联通链路。
[0006] 3)来自内网192. 168. 3. 0/24出口请求,如果目的地址属于电信,选择联通链路。
[0007] 现有技术中提供了如下的出口选路方法:
[0008] (1)静态路由查找出口,通过静态路由虽然查找性能很高,但是只能根据目的地址 来选路,不同的业务要求不同的出口策略,而上述方法无法为不同源地址设置不同的出口 策略。
[0009] (2)策略路由选路。策略路由虽然比较灵活,可以根据源地址、目的地址来选路,但 是策略路由使用线性查找算法,性能很低。如果要实现复杂的选路策略,由于运营商的网络 地址太多,需要添加大量的路由规则,导致转发性能低下。
[0010] 例如,内网192. 168. 3. 0/24出口请求目的地址属于电信的时候,选择联通链路。 电信网络地址有2000个,需要增加2000条策略路由,如下:
[0011] froml92. 168. 3. 0/24to ipl/161ookup unicorn
[0012] froml92. 168. 3. 0/24to ip2/l I lookup unicorn
[0013] .....
[0014] froml92. 168. 3. 0/24to ip2000/241ookup unicorn
[0015] 如果有n个内网网络地址实现上述策略,就要增加 n*2000条策略路由,维护成本 高,性能根本无法满足需求。
[0016] 针对现有技术中无法为不同的源地址设置不同的路由出口的问题,目前尚未提出 有效的解决方案。

【发明内容】

[0017] 针对相关技术中无法为不同的源地址设置不同的路由出口的问题,目前尚未提出 有效的解决方案,为此,本发明的主要目的在于提供一种报文的处理方法、装置和路由器, 以解决上述问题。
[0018] 为了实现上述目的,根据本发明的一个方面,提供了一种报文的处理方法,该方法 包括:获取与第一报文对应的第一网关,其中,第一报文包括源地址,第一网关为第一报文 转发的下一跳网关;按照第一报文的源地址、报文参数和第一网关查找符合预设条件的第 二网关;将第一报文转发至第二网关。
[0019] 进一步地,获取与第一报文对应的第一网关包括:接收第一报文,其中,第一报文 中带有目的地址;从预设路由表中查询得到与目的地址对应的第一网关。
[0020] 进一步地,按照第一报文的源地址、报文参数和第一网关查找符合预设条件的第 二网关包括:在预设网关表中查找到与报文参数、源地址和第一网关一致的路由数据,其 中,报文参数包括:目的地址、入口网卡和出口网卡;将路由数据指向的网关作为第二网 关;在预设网关表中查找不到与报文参数、源地址和第一网关一致的路由数据的情况下,将 第一网关作为第二网关。
[0021] 进一步地,将第一报文转发至第二网关包括:对第一报文进行网络地址转换得到 转换后的第一报文;将转换后的第一报文转发至第二网关。
[0022] 进一步地,在将转换后的第一报文转发至第二网关的同时,处理方法还包括:记录 对第一报文进行网络地址转换前后的源地址、源端口、目的地址、目的端口和下一跳网关, 生成转发连接表,其中,下一跳网关为第一网关或第二网关。
[0023] 进一步地,在生成转发连接表之后,处理方法还包括:接收新的报文;从转发连接 表中查询是否存在与新的报文相同的报文记录;在转发连接表中存在与新的报文相同的报 文记录的情况下,从转发连接表中读取与新的报文对应的下一跳网关。
[0024] 为了实现上述目的,根据本发明的另一方面,提供了一种报文的处理装置,该装置 包括:获取模块,用于获取与第一报文对应的第一网关,其中,第一报文包括源地址,第一网 关为第一报文转发的下一跳网关;查找模块,用于按照第一报文的源地址、报文参数和第一 网关查找符合预设条件的第二网关;转发模块,用于将第一报文转发至第二网关。
[0025] 进一步地,获取模块包括:第一接收模块,用于接收第一报文,其中,第一报文中带 有目的地址;网关查找模块,用于从预设路由表中查询得到与目的地址对应的第一网关。
[0026] 进一步地,查找模块包括:第一查找子模块,用于在预设网关表中查找到与报文参 数、源地址和第一网关一致的路由数据,其中,报文参数包括:目的地址、入口网卡和出口网 卡;第一确定模块,用于将路由数据指向的网关作为第二网关;第二确定模块,用于在预设 网关表中查找不到与报文参数、源地址和第一网关一致的路由数据的情况下,将第一网关 作为第二网关。
[0027] 进一步地,转发模块包括:地址转换模块,用于对第一报文进行网络地址转换得到 转换后的第一报文;转发子模块,用于将转换后的第一报文转发至第二网关。
[0028] 进一步地,处理装置还包括:记录模块,用于在将转换后的第一报文转发至第二网 关的同时,记录对第一报文进行网络地址转换前后的源地址、源端口、目的地址、目的端口 和下一跳网关,生成转发连接表,其中,下一跳网关为第一网关或第二网关。
[0029] 进一步地,网关查找模块包括:第二接收模块,用于接收新的报文;第二查找子模 块,用于从转发连接表中查询是否存在与新的报文相同的报文记录;读取模块,用于在转发 连接表中存在与新的报文相同的报文记录的情况下,从转发连接表中读取与新的报文对应 的下一跳网关。
[0030] 为了实现上述目的,根据本发明的另一方面,提供了一种路由器,该路由器包括: 报文的处理装置。
[0031] 采用本发明实施例,在获取到第一报文的第一网关之后,按照第一报文的源地址、 报文参数和第一网关查找符合预设条件的第二网关,并将第一报文发送至第二网关,实现 了对第一报文的出口的灵活选择,并且上述的处理方法,成本低廉,在一般的Iinux服务器 上就能部署,维护简单,仅需要少量规则(即上述实施例中的预设条件)就能满足内部网络 用户复杂出口选路需求,且具有较高的转发性能,解决了现有技术中无法为不同的源地址 设置不同的路由出口的问题,实现可以根据报文的源地址为其确定网关的效果。
【附图说明】
[0032] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0033] 图1是根据本发明实施例的报文的处理装置的结构示意图;
[0034] 图2是根据本发明实施例的路由器的结构示意图;
[0035] 图3是根据本发明实施例的报文的处理方法的流程图;以及
[0036] 图4是根据本发明实施例的一种可选的报文的处理方法的流程图。
【具体实施方式】
[0037] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0038] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"和"具有"以及他们的任何变形,意
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1