RPF叫做逆向路径转发,主要用于组播环境中针对于组播源对于组播组地址的所有数据做路由检查。首先组播路由协议是基于单播路由协议来运行的,即单播路由协议是组播路由协议的底层,而组播路由表在形成时,其目的地址是一个组播地址,源地址是单播地址,为了保证源到目的的组播数据发送路径可达且顺畅,所以组播路由器会默认开启RPF功能,去基于单播路由协议的下一跳反向检查上游接口是否是可达且最优的路径,如果是可达且最优的,则直接发送;如果RPF检查失败,则直接丢弃。
URPF叫做单播逆向路径转发,虽然名字和上述的RPF差不多,但是这项技术主要用于单播领域,而且是用于网络安全的。解释一下,在互联网环境中,我们最常见的网络攻击模式就是拒绝服务攻击,即DOS。这种攻击的主要模式就是通过大量的肉鸡在同一时间内访问某个服务器的固定服务,导致服务器疲于处理大量流量,最终崩溃。既然是攻击,就自然是数据发送,只要发送数据,就可以溯源。举个例子,黑客、服务器、普通用户三台终端通过公网互联,黑客希望攻击服务器,但是不想让服务器通过源地址发现自己,此时,黑客可以通过IP地址欺骗来形成攻击,即黑客向服务器发送大量的ICMP数据包,此时源地址应该黑客的终端IP,但是,它在发送数据包的时候将源地址变成了普通用户的IP地址,那么服务器就会认为是普通用户给我发送的数据,说白了,就是黑客甩锅给普通用户了!
如何解决呢?在公网路由器上开启URPF功能,开启之后,它会检测任何需要通过本设备发送的数据,去溯源,如果数据源地址和设备中的转发表的下一跳一致,则正常转发;如果不一致,则直接丢弃!当前所有PE设备都会开启URPF,从而实现了部分网络安全。
小伙伴们如果还想了解更多学习内容,欢迎加群一起学习~