CN104618242B - 一种报文转发方法和装置 - Google Patents

一种报文转发方法和装置 Download PDF

Info

Publication number
CN104618242B
CN104618242B CN201510075887.5A CN201510075887A CN104618242B CN 104618242 B CN104618242 B CN 104618242B CN 201510075887 A CN201510075887 A CN 201510075887A CN 104618242 B CN104618242 B CN 104618242B
Authority
CN
China
Prior art keywords
forwarding
table item
tcp message
response messages
address
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.)
Active
Application number
CN201510075887.5A
Other languages
English (en)
Other versions
CN104618242A (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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510075887.5A priority Critical patent/CN104618242B/zh
Publication of CN104618242A publication Critical patent/CN104618242A/zh
Application granted granted Critical
Publication of CN104618242B publication Critical patent/CN104618242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种报文转发方法,该方法包括:当网络设备监听到DNS服务器发送的DNS响应报文,且该DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项;当接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文。基于同样的发明构思,本申请还提出一种报文转发装置,能够针对不同阶段的TCP报文进行策略路由处理。

Description

一种报文转发方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种报文转发方法和装置。
背景技术
对于网络浏览业务,存在依据用户不同的统一资源定位符(Uniform ResourceLocator,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 (6)

1.一种报文转发方法,应用于应用防火墙的网络设备上,其特征在于,该方法包括:
当该网络设备监听到域名系统DNS服务器发送的DNS响应报文,且该DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的因特网协议IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
当接收到用户终端发送的传输控制协议TCP报文时,根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息,并根据查找到的转发信息转发该TCP报文;
其中,所述根据查找到的转发信息转发该TCP报文之后,所述方法进一步包括:生成第二转发表项;所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息;
所述当接收到用户终端发送的TCP报文时,所述根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项之前,所述方法进一步包括:
根据所述TCP报文的目的IP地址和目的端口号匹配第二转发表项,若匹配到,则根据匹配到的第二转发表项中的转发信息转发所述TCP报文;否则,执行所述根据该TCP报文的目的IP地址和目的端口号匹配第一转发表项步骤。
2.根据权利要求1所述的方法,其特征在于,所述生成第一转发表项时,所述方法进一步包括:将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间;
当老化时间到时,删除所述第一转发表项。
3.根据权利要求2所述的方法,其特征在于,所述生成第一转发表项之前,所述方法进一步包括:确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,执行所述生成第一转发表项步骤。
4.一种报文转发装置,应用于应用防火墙的网络设备中,其特征在于,该装置包括:监听单元、确定单元、生成单元、接收单元、匹配单元和发送单元;
所述监听单元,用于监听域名系统DNS服务器发送的DNS响应报文;
所述确定单元,进一步用于确定所述监听单元监听到的DNS响应报文携带的主机名称在统一资源定位符URL策略路由配置中是否存在;
所述生成单元,用于当所述确定单元确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,生成第一转发表项,所述第一转发表项包括:所述DNS响应报文响应的因特网协议IP地址、所述DNS响应报文携带的主机名称在URL策略路由配置中对应的服务端口号和路由下一跳;
所述接收单元,用于接收传输控制协议TCP报文;
所述匹配单元,用于当所述接收单元接收到用户终端发送的TCP报文时,根据所述TCP报文的目的IP地址和目的端口号在所述生成单元中匹配第一转发表项,若匹配到对应的第一转发表项,则根据匹配到的第一转发表项中的路由下一跳查找转发信息;
所述发送单元,用于将所述接收单元接收到的TCP报文根据所述匹配单元查找到的转发信息转发该TCP报文;
其中,所述生成单元,进一步用于在所述发送单元根据查找到的转发信息转发该TCP报文之后,生成第二转发表项;所述第二转发表项包括:所述第一转发表项中的IP地址和服务端口号,以及所述查找到的转发信息。
所述匹配单元,进一步用于当所述接收单元接收到用户终端发送的TCP报文时,所述根据所述TCP报文的目的IP地址和目的端口号匹配第一转发表项之前,根据所述TCP报文的目的IP地址和目的端口号匹配第二转发表项,若匹配到,则触发所述发送单元根据匹配到的第二转发表项中的转发信息转发所述TCP报文;否则,执行所述根据该TCP报文的目的IP地址和目的端口号匹配第一转发表项操作。
5.根据权利要求4所述的装置,其特征在于,
所述生成单元,进一步用于在生成第一转发表项时,将所述DNS响应报文中携带的生存时间,设置为所述第一转发表项的老化时间;当老化时间到时,删除所述第一转发表项。
6.根据权利要求5所述的装置,其特征在于,
所述确定单元,进一步用于确定DNS响应报文携带的主机名称在URL策略路由配置中存在时,确定是否存在所述DNS响应报文响应的IP地址对应的第一转发表项,如果是,触发所述生成单元使用所述DNS响应报文中携带的生存时间更新对应的第一转发表项的老化时间;否则,触发所述生成单元执行生成第一转发表项操作。
CN201510075887.5A 2015-02-12 2015-02-12 一种报文转发方法和装置 Active CN104618242B (zh)

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 CN104618242A (zh) 2015-05-13
CN104618242B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105306371B (zh) * 2015-09-17 2018-12-14 北京星网锐捷网络技术有限公司 一种网络设备的路由选路方法及装置
CN112202675B (zh) * 2020-10-10 2022-04-15 四川天邑康和通信股份有限公司 一种基于linux内核解析DNS实现使用域名访问路由器的方法

Citations (3)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 路由选路方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 路由选路方法及装置

Also Published As

Publication number Publication date
CN104618242A (zh) 2015-05-13

Similar Documents

Publication Publication Date Title
US10659354B2 (en) Processing data packets using a policy based network path
US20220407948A1 (en) Load Balancing and Session Persistence in Packet Networks
CN107241186B (zh) 网络设备和用于网络通信的方法
US9160703B2 (en) Request routing management based on network components
US9800539B2 (en) Request routing management based on network components
US8949459B1 (en) Methods and apparatus for distributed backbone internet DDOS mitigation via transit providers
CN106603491B (zh) 基于https协议的Portal认证方法及路由器
CN107528862B (zh) 域名解析的方法及装置
US10313402B2 (en) Single pass load balancing and session persistence in packet networks
US20150172379A1 (en) Point of presence management in request routing
US20030018774A1 (en) System and method for load balancing in ad hoc networks
US10609181B2 (en) Method and apparatus for controlling service chain of service flow
CN105991793B (zh) 报文转发的方法和装置
IL280889A (en) A value injection system and viewing for wiretapping
CN108418847A (zh) 一种网络流量缓存系统、方法及装置
US20120331551A1 (en) Detecting Phishing Attempt from Packets Marked by Network Nodes
CN104618242B (zh) 一种报文转发方法和装置
Afanasyev et al. Map-and-encap for scaling ndn routing
EP3085055A1 (en) A method for loading a web page at a user equipment, in a telecommunication network, and an internet protocol, ip, access point server as well as a user equipment arranged for operation in the telecommunication network
CN112543191B (zh) 一种负载均衡方法及装置
US20230336793A1 (en) Streaming proxy service
KR102045842B1 (ko) 루프 탐지 및 방지를 포함한 요구 라우팅 재전달 방법
JP2012044283A (ja) 通信制御システム、並びに、アクセス受付装置及びプログラム、並びに、通信制御装置及びプログラム

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