CN1750512A - 单播反向路径转发方法 - Google Patents

单播反向路径转发方法 Download PDF

Info

Publication number
CN1750512A
CN1750512A CNA2005101057489A CN200510105748A CN1750512A CN 1750512 A CN1750512 A CN 1750512A CN A2005101057489 A CNA2005101057489 A CN A2005101057489A CN 200510105748 A CN200510105748 A CN 200510105748A CN 1750512 A CN1750512 A CN 1750512A
Authority
CN
China
Prior art keywords
urpf
list item
address
traffic
information table
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
CNA2005101057489A
Other languages
English (en)
Other versions
CN100566294C (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
Hangzhou Huawei 3Com Technology 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 Hangzhou Huawei 3Com Technology Co Ltd filed Critical Hangzhou Huawei 3Com Technology Co Ltd
Priority to CNB2005101057489A priority Critical patent/CN100566294C/zh
Publication of CN1750512A publication Critical patent/CN1750512A/zh
Application granted granted Critical
Publication of CN100566294C publication Critical patent/CN100566294C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种单播反向路径转发方法,包括步骤:在网络设备中建立单播反向路径转发URPF信息表,在该信息表中设置是否允许转发标记;当网络设备的接口收到IP数据流后,根据IP数据流中的源IP地址和目的IP地址查询URPF信息表;如果URPF信息表中存在对应的表项,则根据该表项对应的转发标记决定转发或丢弃该IP数据流;如果URPF信息表中不存在对应的表项,则对IP数据流中的源IP地址和目的IP地址进行URPF检查,根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。利用本发明,不仅可以有效地防止带欺骗的源IP地址的报文对站点攻击,而且还可以保证正常IP报文的转发,同时集传统URPF的严格和松散检查方式于一体,方便了用户的配置。

Description

单播反向路径转发方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种单播反向路径转发方法。
背景技术
随着网络的飞速发展以及网络应用的日益普及,各类网络安全威胁也随之而来,网络安全成为日益迫切的需求。比如,针对http(超文本传输协议),ftp(文件传输协议),dns(域名系统)等协议的攻击,可以窃取普通用户甚至超级用户的权限,任意修改信息内容,造成巨大危害。源IP地址欺骗也是网络中常见的一种攻击方式,由于源IP地址可以很容易地被发送者修改,因此许多网络攻击者会利用这一特性进行匿名攻击。
例如,图1所示的攻击模型:
在站点C上伪造源地址为150.1.1.0/24的报文,向站点A发起请求,站点A响应请求时将向真正的“150.1.1.0/24”站点B发送报文,这种非法报文对站点A和站点B都会造成攻击。如果站点A受到来自于150.1.1.0/24范围的源IP地址的ICMP(Internet控制消息协议)洪泛攻击,对于这个站点来说,它能看到的这个攻击的位置是包含150.1.1.0/24的子网(站点B)。
受欺骗的源IP地址使得追踪一个攻击的真实地址变得非常困难。为了防止这种基于源地址欺骗的网络攻击行为,通常采用URPF(Unicast Reverse PathForwarding,单播反向路径转发)技术。之所以称为“反向”,是因为针对正常的路由查找而言的。一般情况下,路由器接收到报文,获取报文的目的地址,针对目的地址查找路由,如果找到了,进行正常的转发,否则丢弃该报文。URPF通过获取报文的源地址和入接口,以源地址为目的地址,在转发表中查找源地址对应的接口是否与入接口相匹配,如果不匹配,则认为源地址是伪装的,丢弃该报文。通过这种方式,可以有效地防范网络中通过修改源地址而进行的恶意攻击行为的发生。
传统的URPF技术在应用时,需要保证路由的对称性,也就是说要保证从客户流向Internet上某主机的包与该主机流向客户的包在客户路由器和ISP(因特网服务商)路由器之间所经过的链路一致。由于网络拓扑结构的多样性,在不同的组网方式下可能会存在非对称路由的情况,这时采用传统的URPF将会因为接口不匹配丢掉某些正常的报文。
如图2所示,路由器A上到20.20.20.0/24的路由,其出接口(.1)指向路由器B的入接口(.2);路由器B上到20.20.20.0/24的路由,其出接口(.2)指向路由器C的入接口(.1);而路由器C上到10.10.10.0/24的路由,其出接口(.2)则指向路由器A的入接口(.1)。于是,当主机S1的出接口(.10)发送一个正常的报文,其源IP为10.10.10.10,目的IP为20.20.20.20,该报文经过路由器A到达路由器B,再到达路由器C,当路由器C收到该报文时,发现到该报文源IP地址10.10.10.10的路由的出接口指向路由器A;显然,在路由器C上,该'报文无法通过URPF检查,最终导致误丢弃。
当然,如果用户无法保证路由对称,也可以使用松散检查的办法,不检查接口是否匹配,只要存在针对源地址的路由,报文就可以通过。但这样的检查是不安全的,不能严格地防范源IP地址欺骗攻击。比如,攻击者随意从哪个接口转发进来一个报文,只要其源IP地址在路由表中存在,则都能通过检查。
发明内容
本发明的目的是提供一种单播反向路径转发方法,以克服现有URPF技术在路由非对称的情况下会误将某些正常报文丢弃的缺点,在有效地防止带欺骗的源IP地址的报文对站点攻击的前提下,保证正常的IP报文的转发。
为此,本发明提供如下的技术方案:
一种单播反向路径转发方法,包括以下步骤:
A、在网络设备中建立单播反向路径转发URPF信息表,在该信息表中设置是否允许转发标记;
B、当网络设备的接口收到IP数据流后,根据IP数据流中的源IP地址和目的IP地址查询URPF信息表;
C、如果URPF信息表中存在对应的表项,则根据该表项对应的转发标记决定转发或丢弃该IP数据流;
D、如果URPF信息表中不存在对应的表项,则对IP数据流中的源IP地址和目的IP地址进行URPF检查,根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
所述步骤D包括:
D1、检查源IP地址是否可以匹配本网络设备路由表中的表项;
D2、如果没有匹配的表项,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发;
D3、如果有匹配的表项,则进一步检查源IP地址是否属于本网络设备的对应接口网段;
D4、当源IP地址属于本网络设备的对应接口网段时,检查IP数据流是否来自本网络设备的接口网段对应的入接口;
D5、如果是,则决定转发该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为允许转发;
D6、如果不是,则丢弃该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为禁止转发。
D7、当源IP地址不属于本网络设备的对应接口网段时,检查是否为相邻网络设备发送的IP数据流,并根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
所述步骤D7包括:
D71、本网络设备向上游网络设备发送URPF请求报文;
D72、如果本网络设备在第一预定时间内未收到上游网络设备的响应结果,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发;
D73、如果本网络设备在预定时间内收到上游网络设备的响应结果,则根据上游网络设备的响应结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
所述步骤D73包括:
如果收到上游网络设备的URPF确认应答报文,则转发该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为允许转发;
如果收到上游网络设备的URPF否认应答报文,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发。
所述方法进一步包括:
E、在建立URPF信息表的各表项时,分别对各表项设置老化时间戳;
F、当到达老化时间后,删除该老化时间戳对应的表项。
所述步骤C进一步包括:
C′、当本网络设备接收到IP数据流后,如果URPF信息表中存在对应的表项,则根据所述IP数据流刷新对应表项的老化时间戳及转发标记。
所述步骤C′包括:
C1′、如果IP数据流的源IP地址属于本网络设备的对应接口网段,则直接刷新其对应表项的老化时间戳;
C2′、如果IP数据流的源IP地址不属于本网络设备的对应接口网段,则发送URPF请求报文给上游网络设备;
C3′、根据上游网络设备的响应结果刷新其对应表项的老化时间戳及转发标记。
所述步骤C3′包括:
C31′、如果在第二预定时间内上游网络设备返回URPF确认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为允许转发,则保持不变;如果对应表项的转发标记为禁止转发,则将其修改为允许转发;
C32′、如果在第二预定时间内上游网络设备返回URPF否认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为禁止转发,则保持不变;如果对应表项的转发标记为允许转发,则将其修改为禁止转发;
C33′、如果在第二预定时间内上游网络设备未返回URPF应答报文,按以下方式进行处理:
当对应表项的转发标记为允许转发时,该表项对应的老化时间戳继续老化;
当对应表项的转发标记为禁止转发时,则立即更新该表项的老化时间戳。
所述URPF请求报文、URPF确认应答报文和URPF否认应答报文分别至少包括:以太网目的地址、以太网源地址、数据流下一跳IP地址、数据流目的IP地址。
可选地,所述URPF信息表还包括:源IP地址、目的IP地址、入接口。
可选地,所述URPF信息表还包括:源IP网段、目的IP网段、入接口。
由以上本发明提供的技术方案可以看出,本发明通过在网络设备中建立URPF(单播反向路径转发)信息表,根据该表中的转发标记信息对接收的IP数据流进行检查,决定允许转发还是丢弃该IP数据流。当存在非对称路由时,通过与相邻网络设备信息的交互即可在URPF信息表中增加相应的表项,避免了现有技术中根据路由表进行URPF检查会误将某些正常报文丢弃的缺陷。对需要丢弃的IP数据流同样增加相应的表项,并根据接收的IP数据流对URPF信息表中的各表项进行动态维护,提高了URPF检查速度。利用本发明,不仅可以丢弃带欺骗的源IP地址的IP报文,从而保证网络的安全性,而且不会影响正常IP报文的转发。
附图说明
图1是源地址欺骗攻击模型;
图2是非对称路由组网示意图;
图3是本发明方法的实现流程图;
图4是对IP数据流中的源IP地址和目的IP地址进行URPF检查的流程图。
具体实施方式
本发明的核心在于在网络设备中建立URPF(单播反向路径转发)信息表,在该信息表中设置是否允许转发标记;当网络设备的接口收到IP数据流后,根据IP数据流中的源IP地址和目的IP地址查询URPF信息表;如果URPF信息表中存在对应的表项,则根据该表项对应的转发标记决定转发或丢弃该IP数据流;如果URPF信息表中不存在对应的表项,则对IP数据流中的源IP地址进行URPF检查,根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
在本发明中,需要在网络设备中建立URPF(单播反向路径转发)信息表。可以将该表存放于硬件中,以提高处理效率。
URPF信息表包括入接口信息、转发标记、还需要包括流信息或网段信息。
例如,可以建立如下表1所示的URPF信息表。
表1:
  源IP地址   目的IP地址   入接口   转发标记
  10.10.10.10   20.20.20.20   eth1   允许
  100.1.1.20   20.20.20.20   eth0   允许
  10.10.10.10   20.20.20.30   eth0   禁止
该表包含IP报文的源IP地址、目的IP地址、数据流的入接口、以及转发标记。
还可以建立如下表2所示的URPF信息表。
表2:
  源IP网段   目的IP网段   入接口   转发标记
  100.1.3.0/24   0.0.0.0/0   eth1   允许
  0.0.0.0/0   20.20.20.0/24   eth1   允许
  10.10.10.10/32   20.20.20.20/32   eth0   禁止
其中,转发标记用于指示该表项对应的IP数据流是否可以转发。由于随着网络拓扑结构的变化及网络设备的变化,任何一个表项都不可能永远是正确的,因此,为了进一步提高处理效率,还可对每个表项设置一个老化时间戳,用于对该表项进行老化处理。比如,可以设置老化时间戳为6分钟,在6分钟内,如果时间戳没有被刷新,则删除对应的表项。
老化时间戳可以通过网络设备的命令行进行设置,各表项的老化时间戳的老化时间可以相同,也可以不同。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图3,图3示出了本发明方法的实现流程,包括以下步骤:
步骤301:在网络设备中建立单播反向路径转发URPF信息表,在该信息表中设置是否允许转发标记。
步骤302:网络设备获取接收的IP数据流中的源IP地址和目的IP地址。
步骤303:根据IP数据流中的源IP地址和目的IP地址查询URPF信息表。
如果建立的URPF信息表中包含的是IP网段信息,则按照最佳匹配原则查看URPF信息表中是否有对应的网段表项存在,所谓最佳匹配原则即取可匹配的诸多路由表项中掩码长度最长的一条。
如果URPF信息表中存在对应的表项,则进到步骤304:根据该表项对应的转发标记决定转发或丢弃该IP数据流。
如果转发标记为允许转发,则转发该IP数据流,具体转发方式与现有技术相同,即查找路由表,获取转发路径,将IP数据流从转发路径对应的出端口发送出去。
如果转发标记为禁止转发,则说明该IP数据流来自受欺骗的源IP地址,需要丢弃。
例如,上述表1中,从接口eth1收到源IP为10.10.10.10、目的IP为20.20.20.20的数据流,则进行转发;而从接口eth0收到源IP地址10.10.10.10、目的IP为20.20.20.30的数据流,则进行丢弃处理。
如果URPF信息表中不存在对应的表项,则进到步骤305:对IP数据流中的源IP地址和目的IP地址进行URPF检查,根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
对IP数据流中的源IP地址和目的IP地址进行URPF检查的流程如图4所示:
首先,在步骤401:获取IP数据流中的源IP地址。
步骤402:判断该源IP地址是否匹配本网络设备路由表中的表项,也就是说查看路由表中是否有相应的网段表项存在。
在进行匹配时,按照最佳匹配原则进行匹配,即取可匹配的诸多路由表项中掩码长度最长的一条。
如果没有相匹配的表项,则进到步骤403:丢弃该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为禁止转发。
如果有相匹配的表项,则进到步骤404:进一步判断该源IP地址是否属于本网络设备的对应接口网段。
本技术领域人员知道,在网络设备运行之前,需要对其接口配置地址段信息。比如,图2中路由器中配置的接口地址信息如下所示:
路由器A连接路由器C的接口:100.1.1.1/24;
路由器C连接路由器A的接口(eth0):100.1.1.2/24;
路由器A连接路由器B的接口:100.1.2.1/24;
路由器B连接路由器A的接口:100.1.2.2/24;
路由器B连接路由器C的接口:100.1.3.2/24;
路由器C连接路由器B的接口(eth1):100.1.3.1/24。
如果源IP地址属于本网络设备的对应接口网段,则进到步骤405:进一步判断IP数据流是否来自本网络设备的接口网段对应的入接口。
如果是,则进到步骤407:决定转发该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记设置为允许转发。
如果URPF信息表中包含的是IP网段信息,则增加URPF表项时,源IP网段字段中填写接口网段的前缀,目的IP网段字段中填写0.0.0.0/0,入接口字段填写对应的接口名。
例如,图2中,路由器C从接口eth0收到源IP地址为100.1.1.10、目的IP地址为20.20.20.20的IP数据流,则通过URPF检查,允许转发该IP数据流,同时增加对应表项。
如果URPF中包含的是IP地址信息,则增加如下的表项:
  100.1.1.10   20.20.20.20   eth0   允许
如果URPF中包含的是IP网段信息,则增加如下的表项:
  100.1.1.0/24   0.0.0.0/0   eth0   允许
该表项的含义是:来自接口eth0的源IP地址为100.1.1.0/24网段内的、目的IP地址为任何地址的IP数据流都能通过检查。
如果不是,则进到步骤403:丢弃该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为禁止转发。
例如,图2中,路由器C从接口eth1收到源IP地址为100.1.1.10、目的IP地址为20.20.20.20的IP数据流,则不通过URPF检查,丢弃该IP数据流,同时增加对应的表项。
如果URPF中包含的是IP地址信息,则增加如下的表项:
  100.1.1.10   20.20.20.20   eth1   禁止
如果URPF中包含的是IP网段信息,则增加如下的表项:
  100.1.1.0/24   0.0.0.0/0   eth1   禁止
该表项的含义是:来自接口eth0的源IP地址为100.1.1.0/24网段内的、目的IP地址为任何地址的IP数据流都不能通过检查。
如果源IP地址不属于本网络设备的对应接口网段,则进到步骤406:检查是否为相邻网络设备发送的IP数据流,并根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
如果源IP地址不属于本网络设备的接口网段,则说明该IP报文可能来自相邻网络设备的转发。比如,网络中存在非对称路由时。这时,就需要与相邻网络设备进行信息交互,来确定该IP数据流的源IP地址的真实性。
为了实现与相邻网络设备的信息交互,可以增加URPF协议报文,具体包括以下三种报文:
URPF请求报文:收到IP数据流的网络设备发送给上游网络设备的报文,用于请求确认该IP数据流是否为该上游网络设备发出的;
URPF确认应答报文:上游网络设备收到下游网络设备的URPF请求报文时,如果该IP数据流的确是自己发送给它的,则发送URPF确认应答报文;
URPF否认应答报文:上游网络设备收到下游网络设备的URPF请求报文时,如果该IP数据流非自己发送给它的,则发送URPF否认应答报文。
在上述这三种URPF报文中至少包括以下信息:
以太网目的地址、以太网源地址、数据流下一跳IP地址、数据流目的IP地址。
URPF报文格式可以采用与ARP(地址解析协议)报文类似的格式。
本技术领域人员知道,ARP是TCP/IP(传输控制协议/因特网协议)协议族的一个很重要的组成部分,主要用于把以太网卡硬件地址和IP地址捆绑起来。以太网ARP报文格式包括:硬件类型、协议类型、硬件地址长度、协议地址长度、操作字段、源端以太网地址、源端IP地址、目的以太网地址和目的IP地址。
例如,设定URPF报文的格式如下表3所示:
表3:
  以太网目的地址 以太网源地址 帧类型   硬件类型   协议类型 硬件地址长度 协议地址长度   操作类型 确认或者否认 数据流下一跳IP地址 保留   数据流目的IP地址
  6   6   2   2   2   1   1   2   6   4   6   4
各字段的含义如下:
以太网目的地址:6字节,目的设备的MAC地址,与ARP相同;
以太网源地址:6字节,发送设备的MAC地址,与ARP相同;
帧类型:2字节,使用ARP的帧类型,值为0x0806,与ARP相同;
硬件类型:2字节,值为1,表示以太网,与ARP相同;
协议类型:2字节,值为0x0800,表示IP地址,与ARP相同;
硬件地址长度:1字节,值为6,与ARP相同;
协议地址长度:1字节,值为4,与ARP相同;
操作类型:2字节,ARP协议使用了1、2、3、4四个值,URPF使用0和0xffff两个值;0表示URPF请求,0xffff表示URPF应答,与ARP不同;
确认或者否认:6字节,对于URPF应答报文,0表示否认,1表示确认;对于URPF请求报文,无意义,填0,与ARP不同;
数据流下一跳IP地址:4字节,发送URPF请求的网络设备的IP地址,对于被请求的上游网络设备来说,这个IP地址就是对应路由表项的下一跳地址,与ARP不同;
保留字段:暂且未用,与ARP不同;
数据流目的IP地址:IP数据流的目的IP地址,与ARP不同。
如果URPF信息表中包含的是IP网段信息,则为了让上游网络设备将其网段信息反馈回来,可以将上述保留字段设置为前缀信息:4字节的网段地址+2字节的前缀长度。该字段对于URPF请求报文无意义,填0;对于URPF确认应答报文,则填上本网络设备最佳匹配的路由网段。
对于不同的网络设备,所述路由表既可以是保存在设备软件平台中的路由信息表,也可以是保存在设备转发芯片中的硬件转发表。例如,对于传统的路由器,通常称为路由信息表,而对于三层交换机或第五代路由器,通常将路由信息存在于设备的专用硬件中,并称之为硬件转发表。
下面将详细描述本网络设备利用URPF报文与相邻网络设备进行交互的过程。
当源IP地址不属于本网络设备的接口网段时,向上游网络设备发送URPF请求报文。上游网络设备收到URPF请求报文后,根据请求报文中的目的IP地址字段在本地路由表中寻找可以用最佳匹配的路由表项;如果有最佳匹配的路由表项,则将路由表项的网络前缀放在URPF确认应答报文的前缀信息中,进行应答;如果没有可匹配的路由表项,则发送否认应答报文。
如果在应答等待时间(第一预定时间)内未收到上游网络设备的URPF应答报文,则说明相邻网络设备不存在,这个IP数据报文是一个欺骗报文,可以直接丢弃接收的IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发。
如果URPF中包含的是IP网段信息,则增加对应表项时,源IP网段字段填写IP数据流的源IP地址,掩码为32,目的IP网段字段填写IP数据流的目的IP地址,掩码为32,入接口字段填写IP数据流的入接口名。
如果在应答等待时间(第一预定时间)内收到了上游网络设备的URPF应答报文,如果收到的是否认应答报文,则说明本网络设备收到的IP数据流不是该相邻网络设备转发过来的,是一个欺骗报文,则直接丢弃该IP数据流,同时增加对应表项,转发标记设置为禁止转发;如果收到的是确认应答报文,则说明是相邻网络设备正常转发的IP数据报文,可以正常转发,同时增加对应表项,转发标记设置为允许转发。
例如,图2中,路由器C从接口eth0收到一个源IP地址为8.8.8.8,目的IP地址为20.20.20.20,源MAC地址为Mac0(Mac0为路由器A的MAC地址),目的MAC地址为Mac_RTC的IP数据流。于是路由器C发送如下表4所示的URPF请求报文,结果未收到URPF应答,于是直接丢弃该IP数据流,同时增加对应表项,转发标记设置为禁止转发。
表4:
  以太网目的地址 以太网源地址 帧类型 硬件类型 协议类型 硬件地址长度 协议地址长度 操作类型 确认或者否认 下一跳IP地址 前缀信息 目的IP地址
  Mac0   Mac_RTC   0x0806   1   0x0800   6   4   0   0   100.1.1.2   0   20.20.20.20
 增加的对应表项为:
  8.8.8.8/32   20.20.20.20/32   eth0   禁止
该表项的含义是:来自接口eth0的源IP地址为8.8.8.8、目的IP地址为20.20.20.20的IP数据流,无法通过URPF检查,直接予以丢弃处理。
如果路由器C从接口eth0收到一个源IP地址为9.9.9.9、目的IP地址为20.20.20.20,源MAC地址为Mac0,目的MAC地址为Mac_RTC的IP数据流。于是路由器C发送如下表5所示URPF请求报文,结果收到URPF否认应答报文(应答报文与请求报文的区别是:将Mac0和Mac_RTC交换位置),于是直接丢弃该IP数据流,同时增加对应表项,转发标记设置为禁止转发。
表5:
  以太网   以太网源地址   帧类型   硬件类   协议类型   硬件地   协议地   操作类   确认或   下一跳IP地址   前缀信   目的IP地址
  目的地址   型   址长度   址长度   型   者否认   息
  Mac0   Mac_RTC   0x0806   1   0x0800   6   4   0   0   100.1.1.2   0   20.20.20.20
增加的对应表项为:
  9.9.9.9/32   20.20.20.20/32   eth0   禁止
该表项的含义是:来自接口eth0的源IP地址为9.9.9.9、目的IP地址为20.20.20.20的IP数据流,无法通过URPF检查,直接予以丢弃处理。
如果路由器C从接口eth1收到一个源IP地址为10.10.10.20、目的IP地址为20.20.20.20,源MAC地址为Mac0、目的MAC地址为Mac_RTC的IP数据流。于是路由器C发送如下表6所示URPF请求报文:
表6:
以太网目的地址 以太网源地址 帧类型 硬件类型 协议类型   硬件地址长度   协议地址长度 操作类型   确认或者否认 下一跳IP地址 前缀信息 目的IP地址
  Mac0   Mac_RTC   0x0806   1   0x0800   6   4   0   0   100.1.3.1   0   20.20.20.20
结果收到URPF确认应答报文,如下表7所示。
表7:
  以太   以太网   帧   硬   协议   硬   协   操   确   下一跳   前缀信息   目的IP
  网目的地址   源地址   类型   件类型   类型   件地址长度   议地址长度   作类型   认或者否认   IP地址   地址
Mac0 Mac_RTC 0x0806 1 0x0800 6 4 0xffff 1 100.1.3.1   20.20.20.0/24   20.20.20.20
于是通过URPF检查,同时增加如下对应表项,转发标记设置为允许转发。
  0.0.0.0/0   20.20.20.0/24   eth1   允许
该表项的含义是:来自接口eth1的源IP地址为任何IP地址、目的IP地址属于20.20.20.0/24网段的IP数据流,通过URPFF检查。
前面已经提到,为了提高URPF检查的效率,可以对URPF信息表中的每个表项设置一个相应的老化时间戳,该老化时间戳在表项建立时设置。各表项的老化时间戳可以相同,也可以不同。
URPF信息表中的各表项均是在网络设备第一次收到其对应的IP数据流时建立的。网络设备收到IP数据流后,会检查URPF信息表中是否存在对应的表项,如果对应的表项不存在,则会增加相应的表项,并根据对IP数据流的检查结果设置表项中的转发标志,同时启动老化时间戳。
增加表项的方式可以有多种,比如,在URPF信息表的最后面或最前面增加一行,在源IP字段、目的IP字段、入接口字段中分别写入相应信息即可。
老化时间戳可以通过网络设备的命令行进行设置,比如,可以设置老化时间为4分钟,缺省情况下,老化时间为6分钟。如果在老化时间内时间戳没有被刷新,则删除对应表项。
对于URPF表中任何一个表项,需要设备周期性地检测是否有对应的IP数据流进来。如果没有流进来,则不刷新老化时间戳,直到老化时间一到,直接删除对应表项。
当本网络设备接收到IP数据流后,如果URPF信息表中存在对应的表项,则需要根据IP数据流刷新对应表项的老化时间戳及转发标记。
刷新过程如下:
(1)如果IP数据流的源IP地址属于本网络设备的对应接口网段,则直接刷新其对应表项的老化时间戳,转发标记保持不变。
(2)如果IP数据流的源IP地址不属于本网络设备的对应接口网段,则发送URPF请求报文给上游网络设备,然后根据上游网络设备的响应结果刷新其对应表项的老化时间戳及转发标记,可能有以下几种情况:
a、如果在应答等待时间(第二预定时间)内上游网络设备返回URPF确认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为允许转发,则保持不变;如果对应表项的转发标记为禁止转发,则将其修改为允许转发;
b、如果在应答等待时间(第二预定时间)内上游网络设备返回URPF否认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为禁止转发,则保持不变;如果对应表项的转发标记为允许转发,则将其修改为禁止转发;
c、如果在应答等待时间(第二预定时间)内上游网络设备未返回URPF应答报文,如果对应表项的转发标记为允许转发,则该表项对应的老化时间戳不刷新,继续老化;如果对应表项的转发标记为禁止转发,则立即更新该表项的老化时间戳。
需要说明的是,对于包含网段信息的URPF信息表,用于刷新的URPF请求报文中的目的IP地址字段中装载的是URPF表项对应的目的网段IP地址中的网段地址,例如表2中第二个表项,装载20.20.20.0为URPF请求报文中的IP地址字段的填充值。
对于包含IP地址信息的URPF信息表,用于刷新的URPF请求报文中的目的IP地址字段中装载的是URPF表项对应的目的IP地址。
可以设定发送请求报文的周期为2分钟。
为了降低实现的复杂度,可以设定对IP数据流进行URPF检查时的URPF应答报文等待时间(第一预定时间)和对老化时间戳刷新检查时的URPF应答报文等待时间(第一预定时间)为相同的值。
本发明不仅可以应用在路由器设备上,还可以应用在交换机设备上,将URPF信息表保存在设备软件或硬件中,以保证网络设备对接收的任何IP数据流进行严格地检查,既能丢弃带欺骗的源IP地址的IP报文,又能保证正常IP报文的转发。将本发明应用在整个网络的路由设备上,可以有效地提高整个网络的安全性能。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。

Claims (11)

1、一种单播反向路径转发方法,其特征在于,包括以下步骤:
A、在网络设备中建立单播反向路径转发URPF信息表,在该信息表中设置是否允许转发标记;
B、当网络设备的接口收到IP数据流后,根据IP数据流中的源IP地址和目的IP地址查询URPF信息表;
C、如果URPF信息表中存在对应的表项,则根据该表项对应的转发标记决定转发或丢弃该IP数据流;
D、如果URPF信息表中不存在对应的表项,则对IP数据流中的源IP地址和目的IP地址进行URPF检查,根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
2、根据权利要求1所述的方法,其特征在于,所述步骤D包括:
D1、检查源IP地址是否可以匹配本网络设备路由表中的表项;
D2、如果没有匹配的表项,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发;
D3、如果有匹配的表项,则进一步检查源IP地址是否属于本网络设备的对应接口网段;
D4、当源IP地址属于本网络设备的对应接口网段时,检查IP数据流是否来自本网络设备的接口网段对应的入接口;
D5、如果是,则决定转发该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为允许转发;
D6、如果不是,则丢弃该IP数据流,并在URPF信息表中增加对应表项,对应的转发标记为禁止转发。
D7、当源IP地址不属于本网络设备的对应接口网段时,检查是否为相邻网络设备发送的IP数据流,并根据检查结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
3、根据权利要求2所述的方法,其特征在于,所述步骤D7包括:
D71、本网络设备向上游网络设备发送URPF请求报文;
D72、如果本网络设备在第一预定时间内未收到上游网络设备的响应结果,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发;
D73、如果本网络设备在预定时间内收到上游网络设备的响应结果,则根据上游网络设备的响应结果决定转发或丢弃该IP数据流,并在URPF信息表中增加对应的表项。
4、根据权利要求3所述的方法,其特征在于,所述步骤D73包括:
如果收到上游网络设备的URPF确认应答报文,则转发该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为允许转发;
如果收到上游网络设备的URPF否认应答报文,则丢弃该IP数据流,并在URPF信息表中增加对应的表项,对应的转发标记为禁止转发。
5、根据权利要求1至4任一项所述的方法,其特征在于,所述方法进一步包括:
E、在建立URPF信息表的各表项时,分别对各表项设置老化时间戳;
F、当到达老化时间后,删除该老化时间戳对应的表项。
6、根据权利要求5所述的方法,其特征在于,所述步骤C进一步包括:
C′、当本网络设备接收到IP数据流后,如果URPF信息表中存在对应的表项,则根据所述IP数据流刷新对应表项的老化时间戳及转发标记。
7、根据权利要求6所述的方法,其特征在于,所述步骤C′包括:
C1′、如果IP数据流的源IP地址属于本网络设备的对应接口网段,则直接刷新其对应表项的老化时间戳;
C2′、如果IP数据流的源IP地址不属于本网络设备的对应接口网段,则发送URPF请求报文给上游网络设备;
C3′、根据上游网络设备的响应结果刷新其对应表项的老化时间戳及转发标记。
8、根据权利要求7所述的方法,其特征在于,所述步骤C3′包括:
C31′、如果在第二预定时间内上游网络设备返回URPF确认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为允许转发,则保持不变;如果对应表项的转发标记为禁止转发,则将其修改为允许转发;
C32′、如果在第二预定时间内上游网络设备返回URPF否认应答报文,则立即更新对应表项的老化时间戳,并且如果对应表项的转发标记为禁止转发,则保持不变;如果对应表项的转发标记为允许转发,则将其修改为禁止转发;
C33′、如果在第二预定时间内上游网络设备未返回URPF应答报文,按以下方式进行处理:
当对应表项的转发标记为允许转发时,该表项对应的老化时间戳继续老化;
当对应表项的转发标记为禁止转发时,则立即更新该表项的老化时间戳。
9、根据权利要求8所述的方法,其特征在于,所述URPF请求报文、URPF确认应答报文和URPF否认应答报文分别至少包括:
以太网目的地址、以太网源地址、数据流下一跳IP地址、数据流目的IP地址。
10、根据权利要求1至4任一项所述的方法,其特征在于,所述URPF信息表还包括:源IP地址、目的IP地址、入接口。
11、根据权利要求1至4任一项所述的方法,其特征在于,所述URPF信息表还包括:源IP网段、目的IP网段、入接口。
CNB2005101057489A 2005-09-27 2005-09-27 单播反向路径转发方法 Active CN100566294C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101057489A CN100566294C (zh) 2005-09-27 2005-09-27 单播反向路径转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101057489A CN100566294C (zh) 2005-09-27 2005-09-27 单播反向路径转发方法

Publications (2)

Publication Number Publication Date
CN1750512A true CN1750512A (zh) 2006-03-22
CN100566294C CN100566294C (zh) 2009-12-02

Family

ID=36605777

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101057489A Active CN100566294C (zh) 2005-09-27 2005-09-27 单播反向路径转发方法

Country Status (1)

Country Link
CN (1) CN100566294C (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008017255A1 (fr) * 2006-08-02 2008-02-14 Huawei Technologies Co., Ltd. Procédé et dispositif pour réaliser une vérification de trajet inverse d'envoi individuel
CN100461823C (zh) * 2006-06-08 2009-02-11 华为技术有限公司 数字电视网络中的单播寻址系统及方法
WO2010022574A1 (zh) * 2008-08-29 2010-03-04 中兴通讯股份有限公司 单一地址反向传输路径转发的实现方法及装置
CN101146026B (zh) * 2006-09-13 2010-05-12 中兴通讯股份有限公司 报文过滤方法及系统和装置
CN101945117A (zh) * 2010-09-28 2011-01-12 杭州华三通信技术有限公司 防止源地址欺骗攻击的方法及设备
CN102014174A (zh) * 2010-11-16 2011-04-13 中兴通讯股份有限公司 网络接入方法及网络设备
CN101383778B (zh) * 2008-10-27 2011-04-13 杭州华三通信技术有限公司 基于网络双出口的报文传输方法和出口路由器
CN102055672A (zh) * 2010-12-27 2011-05-11 北京星网锐捷网络技术有限公司 一种数据流传输路径的控制方法、装置和路由设备
CN101043442B (zh) * 2006-11-17 2011-05-25 神州数码网络(北京)有限公司 一种在以太网交换机上实现urpf的方法
CN102255814A (zh) * 2011-08-02 2011-11-23 华为技术有限公司 一种选择传送路径的方法、装置和系统
CN102255804A (zh) * 2011-07-06 2011-11-23 北京星网锐捷网络技术有限公司 报文处理方法、装置及网络设备
CN102447597A (zh) * 2012-01-11 2012-05-09 浪潮(北京)电子信息产业有限公司 一种实现ip有效性检测的方法及装置
CN101572635B (zh) * 2008-04-30 2012-06-06 新奥特(北京)视频技术有限公司 一种电视台主干平台中基于通道配置的数据传输调度方法
CN103220255A (zh) * 2012-01-18 2013-07-24 中兴通讯股份有限公司 一种实现单播反向路径转发urpf检查的方法及装置
CN105337746A (zh) * 2015-09-23 2016-02-17 浙江宇视科技有限公司 一种组播数据的传输方法和装置
CN109150654A (zh) * 2018-07-25 2019-01-04 深圳市吉祥腾达科技有限公司 一种基于路径的协议一致性的用例设计方法
CN110351193A (zh) * 2019-07-05 2019-10-18 京信通信系统(中国)有限公司 一种路由更新方法及装置、计算机装置及可读存储介质
CN110932982A (zh) * 2019-12-23 2020-03-27 锐捷网络股份有限公司 硬件路由表的维护方法及装置
CN111654485A (zh) * 2020-05-26 2020-09-11 新华三信息安全技术有限公司 一种客户端的认证方法以及设备
CN112152921A (zh) * 2015-12-30 2020-12-29 华为技术有限公司 一种建立路由表的方法、电子设备及网络
WO2021031904A1 (en) * 2019-08-16 2021-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and entity for transmitting a plurality of mac addresses
CN113438101A (zh) * 2021-06-07 2021-09-24 杭州迪普科技股份有限公司 Urpf的配置方法、计算机程序产品及框式设备
CN113660667A (zh) * 2021-10-18 2021-11-16 四川浮舟科技有限责任公司 一种用于运营商网络的非法劫持快速监测方法及系统
CN113810398A (zh) * 2021-09-09 2021-12-17 新华三信息安全技术有限公司 一种攻击防护方法、装置、设备及存储介质
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461823C (zh) * 2006-06-08 2009-02-11 华为技术有限公司 数字电视网络中的单播寻址系统及方法
CN100456747C (zh) * 2006-08-02 2009-01-28 华为技术有限公司 一种单播反向路径检查的实现方法和网络设备
WO2008017255A1 (fr) * 2006-08-02 2008-02-14 Huawei Technologies Co., Ltd. Procédé et dispositif pour réaliser une vérification de trajet inverse d'envoi individuel
CN101146026B (zh) * 2006-09-13 2010-05-12 中兴通讯股份有限公司 报文过滤方法及系统和装置
CN101043442B (zh) * 2006-11-17 2011-05-25 神州数码网络(北京)有限公司 一种在以太网交换机上实现urpf的方法
CN101572635B (zh) * 2008-04-30 2012-06-06 新奥特(北京)视频技术有限公司 一种电视台主干平台中基于通道配置的数据传输调度方法
WO2010022574A1 (zh) * 2008-08-29 2010-03-04 中兴通讯股份有限公司 单一地址反向传输路径转发的实现方法及装置
US8437354B2 (en) 2008-08-29 2013-05-07 Zte Corporation Method and apparatus for realizing unicast reverse path forwarding
CN101383778B (zh) * 2008-10-27 2011-04-13 杭州华三通信技术有限公司 基于网络双出口的报文传输方法和出口路由器
CN101945117A (zh) * 2010-09-28 2011-01-12 杭州华三通信技术有限公司 防止源地址欺骗攻击的方法及设备
CN102014174B (zh) * 2010-11-16 2014-09-10 中兴通讯股份有限公司 网络接入方法及网络设备
CN102014174A (zh) * 2010-11-16 2011-04-13 中兴通讯股份有限公司 网络接入方法及网络设备
CN102055672B (zh) * 2010-12-27 2013-03-13 北京星网锐捷网络技术有限公司 一种数据流传输路径的控制方法、装置和路由设备
CN102055672A (zh) * 2010-12-27 2011-05-11 北京星网锐捷网络技术有限公司 一种数据流传输路径的控制方法、装置和路由设备
CN102255804B (zh) * 2011-07-06 2014-07-02 北京星网锐捷网络技术有限公司 报文处理方法、装置及网络设备
CN102255804A (zh) * 2011-07-06 2011-11-23 北京星网锐捷网络技术有限公司 报文处理方法、装置及网络设备
CN102255814A (zh) * 2011-08-02 2011-11-23 华为技术有限公司 一种选择传送路径的方法、装置和系统
CN102447597B (zh) * 2012-01-11 2014-11-19 浪潮(北京)电子信息产业有限公司 一种实现ip有效性检测的方法及装置
CN102447597A (zh) * 2012-01-11 2012-05-09 浪潮(北京)电子信息产业有限公司 一种实现ip有效性检测的方法及装置
CN103220255A (zh) * 2012-01-18 2013-07-24 中兴通讯股份有限公司 一种实现单播反向路径转发urpf检查的方法及装置
CN103220255B (zh) * 2012-01-18 2017-07-21 南京中兴新软件有限责任公司 一种实现单播反向路径转发urpf检查的方法及装置
CN105337746A (zh) * 2015-09-23 2016-02-17 浙江宇视科技有限公司 一种组播数据的传输方法和装置
CN105337746B (zh) * 2015-09-23 2018-11-13 浙江宇视科技有限公司 一种组播数据的传输方法和装置
US11658896B2 (en) 2015-12-30 2023-05-23 Huawei Technologies Co., Ltd. Routing table creation method, electronic device, and network
CN112152921B (zh) * 2015-12-30 2023-07-28 华为技术有限公司 一种建立路由表的方法、电子设备及网络
CN112152921A (zh) * 2015-12-30 2020-12-29 华为技术有限公司 一种建立路由表的方法、电子设备及网络
CN109150654A (zh) * 2018-07-25 2019-01-04 深圳市吉祥腾达科技有限公司 一种基于路径的协议一致性的用例设计方法
CN109150654B (zh) * 2018-07-25 2021-08-17 深圳市吉祥腾达科技有限公司 一种基于路径的协议一致性的用例设计方法
CN110351193A (zh) * 2019-07-05 2019-10-18 京信通信系统(中国)有限公司 一种路由更新方法及装置、计算机装置及可读存储介质
WO2021031904A1 (en) * 2019-08-16 2021-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and entity for transmitting a plurality of mac addresses
CN110932982A (zh) * 2019-12-23 2020-03-27 锐捷网络股份有限公司 硬件路由表的维护方法及装置
CN111654485B (zh) * 2020-05-26 2023-04-07 新华三信息安全技术有限公司 一种客户端的认证方法以及设备
CN111654485A (zh) * 2020-05-26 2020-09-11 新华三信息安全技术有限公司 一种客户端的认证方法以及设备
CN113438101B (zh) * 2021-06-07 2022-11-25 杭州迪普科技股份有限公司 Urpf的配置方法、计算机程序产品及框式设备
CN113438101A (zh) * 2021-06-07 2021-09-24 杭州迪普科技股份有限公司 Urpf的配置方法、计算机程序产品及框式设备
CN113810398A (zh) * 2021-09-09 2021-12-17 新华三信息安全技术有限公司 一种攻击防护方法、装置、设备及存储介质
CN113810398B (zh) * 2021-09-09 2023-09-26 新华三信息安全技术有限公司 一种攻击防护方法、装置、设备及存储介质
CN113660667A (zh) * 2021-10-18 2021-11-16 四川浮舟科技有限责任公司 一种用于运营商网络的非法劫持快速监测方法及系统
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Also Published As

Publication number Publication date
CN100566294C (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
CN1750512A (zh) 单播反向路径转发方法
EP2860882B1 (en) Service processing method, device and system
CN1799241A (zh) Ip移动性
CN1941753A (zh) 下一代网络中的ip互通网关及其实现ip域互通的方法
CN1242593C (zh) 源地址选择系统、路由器装置、通信节点和源地址选择方法
CN1531284A (zh) 网络基础结构的保护及控制信息的安全通信
CN1495631A (zh) 网际协议地址分配设备和方法
CN1778077A (zh) 移动以太网
CN1822573A (zh) 用于在无线通信系统中控制数据通信的系统和方法
CN1625275A (zh) 地址获取
CN1856163A (zh) 一种具有会话边界控制器的通信系统及其传输信令的方法
CN1761233A (zh) IPv6接入网中的网络服务选择和认证,及无状态自动配置
CN1968280A (zh) 对非法头域进行检测和过滤的系统和方法
CN1620034A (zh) 认证网关及其数据处理方法
CN1968184A (zh) 区域网络的链路层通信方法及其应用的网络设备
CN1929444A (zh) 运营商边界节点、虚拟专用局域网服务通信方法及系统
CN1744563A (zh) 在以太网交换机上实现策略路由的方法
EP2753029A1 (en) Message learning method, device and system
CN101047631A (zh) 用户位置信息传递方法、mac地址自动分配方法、网络建立方法及系统
CN1716943A (zh) 获取隧道网关环境中路径最大传输长度的方法及系统
CN1838632A (zh) 移动IPv6报文穿越防火墙的实现方法
CN1298141C (zh) 实现安全交换网络数据的方法
CN1773993A (zh) 会话中继设备和会话中继方法
CN1848799A (zh) 实现虚拟专用网的方法
CN1777150A (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
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.