CN104618242A - 一种报文转发方法和装置 - Google Patents
一种报文转发方法和装置 Download PDFInfo
- Publication number
- CN104618242A CN104618242A CN201510075887.5A CN201510075887A CN104618242A CN 104618242 A CN104618242 A CN 104618242A CN 201510075887 A CN201510075887 A CN 201510075887A CN 104618242 A CN104618242 A CN 104618242A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- table item
- message
- address
- dns response
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种报文转发方法,该方法包括:当网络设备监听到DNS服务器发送的DNS响应报文,且该DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项;当接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文。基于同样的发明构思,本申请还提出一种报文转发装置,能够针对不同阶段的TCP报文进行策略路由处理。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种报文转发方法和装置。
背景技术
对于网络浏览业务,存在依据用户不同的统一资源定位符(UniformResource Locator,URL)请求,进行不同的路由选择的需求。例如对于国外网站的请求,可以直接路由到国外网络的出口路由器,而不是发送到网络的缺省下一跳。
现有实现中在接收到用户终端的传输控制协议(Transmission ControlProtocol,TCP)数据报文时,进行报文的应用层解析,识别出URL后,才进行路由选择,这种方式有一个缺点,就是在TCP三次握手阶段,网络设备无法识别出URL,只能按缺省的路由走,无法进行基于URL的策略路由。极端的,如果缺省路由中不允许访问指定的网段,会造成用户的请求无法完成。
现有实现中还可以通过TCP代理方式实现策略路由。网络设备对用户的目的因特网协议(IP)地址进行仿冒,与浏览器建立TCP连接。待收到浏览器发送的承载在TCP上的超文本传输协议(Hyper Text Transfer Protocol,Http)请求时,解析出URL,与URL策略路由配置进行比对。如果是需要进行URL策略路由,此时设备才与真实的服务器建立TCP连接,并把承载在TCP上的Http请求转发给真实的服务器。
上述两种实现方案中,对于不能解析出URL的报文,如TCP三次握手报文,无法进行策略路由。
发明内容
有鉴于此,本申请提供一种报文转发方法和装置,以解决TCP报文不能完全进行策略路由的问题。
为解决上述技术问题,本申请的技术方案是这样实现的:
一种报文转发方法,应用于应用防火墙的网络设备上,该方法包括:
当该网络设备监听到域名系统DNS服务器发送的DNS响应报文,且该DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
当接收到用户终端发送的传输控制协议TCP报文时,根据所述TCP报文的目的因特网协议IP地址和目的端口号匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文。
一种报文转发装置,应用于应用防火墙的网络设备中,该装置包括:监听单元、确定单元、生成单元、接收单元、匹配单元和发送单元;
所述监听单元,用于监听域名系统DNS服务器发送的DNS响应报文;
所述确定单元,进一步用于确定所述监听单元监听到的DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中是否存在;
所述生成单元,用于当所述确定单元确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的因特网协议IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
所述接收单元,用于接收传输控制协议TCP报文;
所述匹配单元,用于当所述接收单元接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号在所述生成单元中匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息;
所述发送单元,用于将所述接收单元接收到的TCP报文根据所述匹配单元查找到的转发信息转发该TCP报文。
由上面的技术方案可知,本申请中网络设备根据监控到的DNS响应报文,将URL同URL路由策略配置的关系转换为,IP地址同URL路由策略配置的关系,在接收到TCP报文时,直接根据TCP报文的目的IP地址确定是否进行策略路由处理,能够针对不同阶段的TCP报文进行策略路由处理。
附图说明
图1为本申请实施例中报文转发流程示意图;
图2为本申请实施例中应用于上述技术的报文转发装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
本申请实施例中提供一种报文转发方法,应用于应用防火墙的网络设备上,该网络设备上配置了URL策略路由配置。URL策略路由配置中包括:URL和URL对应的路由策略;URL一般由协议、主机名称(host)、服务端口号、路径等组成;路由策略一般为URL对应的路由下一跳。
一个URL如:http://news.sina.com.cn:8080/finance,其中,http为协议,news.sina.com.cn为host,8080为服务端口号;/finance为路径。
本申请实施例中需先根据监听到的域名系统(Domain Name System,DNS)响应报文建立第一转发表项,用于指示网络设备在接收到与第一转发表项匹配的TCP报文时,进行策略路由处理;未匹配到第一转发表项的TCP报文时,不进行策略路由处理,即使用缺省路由发送该TCP报文。
用户终端需要访问某个网站之前,会先发送DNS请求报文向DNS服务器请求需访问的网站的IP地址。
DNS服务器向该用户终端发送DNS响应报文,在该DNS响应报文中携带响应的IP地址和主机名称。其中,DNS响应报文响应的IP地址,为DNS请求报文请求的IP地址,即DNS请求报文请求的需要访问的网站的IP地址。
网络设备监听DNS响应报文。
当监听到DNS响应报文时,确定该DNS响应报文中携带的主机名称在URL策略路由配置中是否存在,即是否配置对该主机名称对应的URL;
当确定该DNS响应报文携带的主机名称在URL策略路由配置中存在时,确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,生成第一转发表项,将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间。
所述第一转发表项包括:所述DNS响应报文响应的IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
当任一第一转发表项的老化时间到时,删除该第一转发表项。
下面结合附图,详细说明本申请实施例中对TCP报文转发过程。
参见图1,图1为本申请实施例中报文转发流程示意图。具体步骤为:
步骤101,网络设备当接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项。
步骤102,该网络设备若匹配到第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文。
本步骤中根据路由下一跳查找转发信息的过程同现有实现,根据路由下一跳在路由转发表中查找对应出端口,并在ARP表项中查找下一跳MAC地址等。
该网络设备若未匹配到第一转发表项,则使用缺省路由发送该TCP报文。
为了提高网络设备转发报文的效率,本申请实施例还根据第一转发表项和查找到的转发信息生成第二转发表项,用于接收到与第二转发表项匹配的TCP报文时,直接根据第二转发表项转发接收到的TCP报文。
所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息。
若本申请实施例中增加了生成第二转发表项的实现,网络设备在接收到TCP报文时,先根据TCP报文的目的IP地址和目的端口号匹配第二转发表项;
当匹配到第二转发表项时,直接根据匹配到的第二转发表项转发所述TCP报文;
当未匹配到对应的第二转发表项时,再根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项,即再执行步骤101。
通过上述实现方式,无论是TCP三次握手报文,还是TCP数据报文,需要进行策略路由处理的TCP报文,都能够进行策略路由处理。
基于同样的发明构思,本申请还提出一种报文转发装置,应用于应用防火墙的网络设备中。参见图2,图2为本申请实施例中应用于上述技术的报文转发装置结构示意图。该装置包括:监听单元201、确定单元202、生成单元203、接收单元204、匹配单元205和发送单元206;
监听单元201,用于监听DNS服务器发送的DNS响应报文;
确定单元202,进一步用于确定监听单元201监听到的DNS响应报文携带的主机名称在URL策略路由配置中是否存在;
生成单元203,用于当确定单元202确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
接收单元204,用于接收TCP报文;
匹配单元205,用于当接收单元204接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号在生成单元203中匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息;
发送单元206,用于将接收单元204接收到的TCP报文根据匹配单元205查找到的转发信息转发该TCP报文。
较佳地,
生成单元203,进一步用于在生成第一转发表项时,将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间;当老化时间到时,删除所述第一转发表项。
较佳地,
确定单元202,进一步用于确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,触发生成单元203使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,触发生成单元203执行生成第一转发表项操作。
较佳地,
生成单元203,进一步用于在发送单元206根据查找到的转发信息转发该TCP报文之后,生成第二转发表项;所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息。
较佳地,
匹配单元205,进一步用于当接收单元204接收到用户终端发送的TCP报文时,所述根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项之前,根据所述TCP报文的目的IP地址和目的端口号匹配第二转发表项,若匹配到,则触发发送单元206根据匹配到的第二转发表项中的转发信息转发所述TCP报文;否则,执行所述根据该TCP报文的目的IP地址和目的端口号匹配第一转发表项操作。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本申请通过网络设备根据监控到的DNS响应报文,将URL同URL路由策略配置的关系转换为,IP地址同URL路由策略配置的关系,在接收到TCP报文时,直接根据TCP报文的目的IP地址确定是否进行策略路由处理,能够针对不同阶段的TCP报文进行策略路由处理。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种报文转发方法,应用于应用防火墙的网络设备上,其特征在于,该方法包括:
当该网络设备监听到域名系统DNS服务器发送的DNS响应报文,且该DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的因特网协议IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
当接收到用户终端发送的传输控制协议TCP报文时,根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文。
2.根据权利要求1所述的方法,其特征在于,所述生成第一转发表项时,所述方法进一步包括:将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间;
当老化时间到时,删除所述第一转发表项。
3.根据权利要求2所述的方法,其特征在于,所述生成第一转发表项之前,所述方法进一步包括:确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,执行所述生成第一转发表项步骤。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述根据查找到的转发信息转发该TCP报文之后,所述方法进一步包括:生成第二转发表项;所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息。
5.根据权利要求4所述的方法,其特征在于,所述当接收到用户终端发送的TCP报文时,所述根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项之前,所述方法进一步包括:
根据所述TCP报文的目的IP地址和目的端口号匹配第二转发表项,若匹配到,则根据匹配到的第二转发表项中的转发信息转发所述TCP报文;否则,执行所述根据该TCP报文的目的IP地址和目的端口号匹配第一转发表项步骤。
6.一种报文转发装置,应用于应用防火墙的网络设备中,其特征在于,该装置包括:监听单元、确定单元、生成单元、接收单元、匹配单元和发送单元;
所述监听单元,用于监听域名系统DNS服务器发送的DNS响应报文;
所述确定单元,进一步用于确定所述监听单元监听到的DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中是否存在;
所述生成单元,用于当所述确定单元确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的因特网协议IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
所述接收单元,用于接收传输控制协议TCP报文;
所述匹配单元,用于当所述接收单元接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号在所述生成单元中匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息;
所述发送单元,用于将所述接收单元接收到的TCP报文根据所述匹配单元查找到的转发信息转发该TCP报文。
7.根据权利要求6所述的装置,其特征在于,
所述生成单元,进一步用于在生成第一转发表项时,将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间;当老化时间到时,删除所述第一转发表项。
8.根据权利要求7所述的装置,其特征在于,
所述确定单元,进一步用于确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,触发所述生成单元使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,触发所述生成单元执行生成第一转发表项操作。
9.根据权利要求6-8任意一项所述的装置,其特征在于,
所述生成单元,进一步用于在所述发送单元根据查找到的转发信息转发该TCP报文之后,生成第二转发表项;所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息。
10.根据权利要求9所述的装置,其特征在于,
所述匹配单元,进一步用于当所述接收单元接收到用户终端发送的TCP报文时,所述根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项之前,根据所述TCP报文的目的IP地址和目的端口号匹配第二转发表项,若匹配到,则触发所述发送单元根据匹配到的第二转发表项中的转发信息转发所述TCP报文;否则,执行所述根据该TCP报文的目的IP地址和目的端口号匹配第一转发表项操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075887.5A CN104618242B (zh) | 2015-02-12 | 2015-02-12 | 一种报文转发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075887.5A CN104618242B (zh) | 2015-02-12 | 2015-02-12 | 一种报文转发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618242A true CN104618242A (zh) | 2015-05-13 |
CN104618242B CN104618242B (zh) | 2018-06-15 |
Family
ID=53152528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075887.5A Active CN104618242B (zh) | 2015-02-12 | 2015-02-12 | 一种报文转发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618242B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306371A (zh) * | 2015-09-17 | 2016-02-03 | 北京星网锐捷网络技术有限公司 | 一种网络设备的路由选路方法及装置 |
CN112202675A (zh) * | 2020-10-10 | 2021-01-08 | 四川天邑康和通信股份有限公司 | 一种基于linux内核解析DNS实现使用域名访问路由器的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330447A (zh) * | 2007-06-21 | 2008-12-24 | 中国科学院声学研究所 | 一种探测下一跳mac地址的方法 |
CN102546372A (zh) * | 2010-12-24 | 2012-07-04 | 中兴通讯股份有限公司 | 一种提高映射路由表使用效率的方法及系统 |
CN103023778A (zh) * | 2012-12-05 | 2013-04-03 | 华为技术有限公司 | 路由选路方法及装置 |
-
2015
- 2015-02-12 CN CN201510075887.5A patent/CN104618242B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330447A (zh) * | 2007-06-21 | 2008-12-24 | 中国科学院声学研究所 | 一种探测下一跳mac地址的方法 |
CN102546372A (zh) * | 2010-12-24 | 2012-07-04 | 中兴通讯股份有限公司 | 一种提高映射路由表使用效率的方法及系统 |
CN103023778A (zh) * | 2012-12-05 | 2013-04-03 | 华为技术有限公司 | 路由选路方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306371A (zh) * | 2015-09-17 | 2016-02-03 | 北京星网锐捷网络技术有限公司 | 一种网络设备的路由选路方法及装置 |
CN105306371B (zh) * | 2015-09-17 | 2018-12-14 | 北京星网锐捷网络技术有限公司 | 一种网络设备的路由选路方法及装置 |
CN112202675A (zh) * | 2020-10-10 | 2021-01-08 | 四川天邑康和通信股份有限公司 | 一种基于linux内核解析DNS实现使用域名访问路由器的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104618242B (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9160703B2 (en) | Request routing management based on network components | |
EP2939454B1 (en) | System and method for correlating network information with subscriber information in a mobile network environment | |
US8577992B1 (en) | Request routing management based on network components | |
US9054952B2 (en) | Automated passive discovery of applications | |
EP2266064B1 (en) | Request routing | |
CN102884764B (zh) | 一种报文接收方法、深度包检测设备及系统 | |
CN102647341B (zh) | 一种报文处理方法、装置以及系统 | |
CN107463453B (zh) | 同一终端不同应用间通信的方法、装置、设备和存储介质 | |
EP3110081B1 (en) | Methods for controlling service chain of service flow | |
EP3398077A1 (en) | Method and system for automatically bypassing network proxies in the presence of interdependent traffic flows | |
CN102843391A (zh) | 一种信息发送方法及网关 | |
DE602004006308D1 (de) | Verfahren zum umlenken von client-anforderungen zu web-diensten | |
CN104010051B (zh) | 一种访问网络的方法及管理服务器 | |
CN103401800A (zh) | 一种链路负载均衡方法和设备 | |
CN105991793B (zh) | 报文转发的方法和装置 | |
CN109474718A (zh) | 域名解析方法和装置 | |
CN107124483A (zh) | 域名解析方法及服务器 | |
CN104506450A (zh) | 媒体资源反馈方法及装置 | |
CN102547553B (zh) | 一种基于wap进行业务访问的方法、系统及装置 | |
US20130268662A1 (en) | Hypertext transfer protocol http stream association method and device | |
TW201611549A (zh) | 網路設備及其進行路由轉發的方法 | |
CN104509066B (zh) | 一种访问网络的方法及网络设备、管理服务器 | |
CN104735174A (zh) | 一种http透明代理的实现方法及装置 | |
US10560348B2 (en) | Network access device for facilitating the troubleshooting of network connectivity problems | |
CN104618242A (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 | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant |