主要功能是防止基于源地址欺骗的网络攻击。

路由器接口一旦使能URPF功能,当该接口收到数据报文时,首先会对数据报文的源地址进行合法性检查,对于源地址合法性检查通过的报文,才会进一步查找去往目的地址的转发表项,进入报文转发流程;否则,将丢弃报文。

URPF检查分为严格(strict)和松散性(loose)两种。

严格型:不但要求路由器的转发表中存在去往报文源地址的路由,还要求报文的入接口与转发表中去往源地址路由的出接口一致,只有同时满足上述两个条件的报文才被认为是合法报文。对非对称路径下严格型检查会错误丢弃报文。

松散型:要求路由器的转发表中存在去往报文的源地址路由即可。

严格型和松散型检查是URPF两个基本检查机制;部分设备在此基础上,还进一步增加了缺省路由检查以及ACL检查功能,进而将URPF检查实现的更灵活和全面。

特别情况下,设备在严格型URPF检查的基础上再增加链路层检查,即在确认路由转发表中存在去往源地址的路由以及出接口后,再增加检查ARP表项,确保报文的源MAC地址和查到的ARP表项中的MAC地址一样才允许报文通过。链路层检查功能对于运营商用单个三层以太网接口接入大量PC机用户时较适合部署。

四、        小结

诸如TCP Syn Flood、UDP flood 和ICMP flood等攻击,都可能通过借助源地址欺骗的方式攻击目标设备或者主机,造成被攻击者系统性能严重的降低,甚至导致系统崩溃。URPF就是网络设备为了防范此类攻击而使用的一种常用技术。

不同厂家的不同产品对URFP功能的支持情况有所不同,具体应用中,请查看相关产品手册,以确认设备的实现情况。

在DHCP的情况下DISCOVER包的源地址全0,目的地址为全F,目的在全网环境下查找有无DHCP Server。

松散型流程图:                                                                                       严格型流程图:

URPF 简单流程的更多相关文章

  1. MVC学习一:MVC简单流程

    MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...

  2. Linux内核网络报文简单流程

    转:http://blog.csdn.net/adamska0104/article/details/45397177 Linux内核网络报文简单流程2014-08-12 10:05:09 分类: L ...

  3. git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题

    文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...

  4. django入门 -- 简单流程

    django入门 -- 简单流程 简介 通过简单示例,使用django完成基本流程的开发,学习django的主要的知识点,在后续课程中会逐个知识点进行深入讲解 以“图书-英雄”管理为示例 主要知识点介 ...

  5. BPM配置故事之案例1-配置简单流程

    某天,Boss找到了信息部工程师小明. Boss:咱们新上了H3 BPM,你研究研究把现在的采购申请流程加上去吧,这是采购申请单. 小明:好嘞 采购申请单 小明回去后拿着表单想了想,开始着手配置. 他 ...

  6. Appium的测试简单流程

    1.环境的搭建:jdk,SDK,appium,手机模拟器(夜神模拟器) 2.appium的运作流程图: 图中的流程步骤简单来说是: 1.测试脚本写入appium: 2.appium创建连接,将脚本利用 ...

  7. Activiti实战04_简单流程

    在Activiti实战03_Hello World中我们介绍了一个中间没有任何任务的流程,实现了流程的部署与查阅,而在本章中,将会为流程添加任务节点,是流程能够像个流程,变得更加丰满起来. 在上一节的 ...

  8. 硬件初始化,nand flash固化操作,系统启动简单流程

    2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式- ...

  9. VC++6.0MFC运行的简单流程

    背景: 由于下位机做的一些东西,总是需要通过上位机来验证,以及为了直观给客户展示下位机的功能,所以时常需要编写一些简单的APP.今天就以VC++6.0为例,简单的记录下该如何快速的创建一个APP. 正 ...

随机推荐

  1. autoit使用

    autoit下载地址: http://www.autoitx.com/thread-12964-1-1.html?sid=4zMMSb 在autoit的安装目录下有个Au3Info.exe文件,该文件 ...

  2. C++下写的MD5类,简单易用

    //--------------------------------------------------------------------------- /////cpp文件 #pragma hdr ...

  3. Linux学习笔记29——IPC状态命令

    一 IPC IPC是进程间通讯,在前面,我们相继学习了进程间通讯机制有信号量,内存共享,消息队列.状态命令(ipcs)和删除命令(ipcrm)提供了一种检查和清理IPC机制的方法. 二 状态命令 1 ...

  4. unity3d shader之实时室外光线散射(大气散射)渲染

    散射需要:吸收,内散射,外散射分为瑞利散射Rayleigh Scattering和米氏散射 Mie Scattering  后面会详细讲解 大气中散射由多种原因产生,微粒,尘埃,水蒸气等等 阳光由于散 ...

  5. LianLianKan - HDU 4272(状态压缩)

    题目大意:有一列数据,可以从最上面的开始连接下面相同的元素,然后消除,不过距离不能超过6,询问最后能不能消除完整个数列. 分析:首先讨论一点最远能消除的地方,比如点的位置是x,如若想要消除x+1位置处 ...

  6. UVA 10106 (13.08.02)

     Product  The Problem The problem is to multiply two integers X, Y. (0<=X,Y<10250) The Input T ...

  7. HDU 1231 (13.12.2)

    Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i < ...

  8. JSNI GWT中的东东

    二.JavaScript Native InterfaceJavaScript本地接口JSNI.1)声明一个本地方法在JSNI中声明一个本地方法时,使用Java的标准native关键字,就像在JNI( ...

  9. ArrayList and LinkedList

    ArrayList and LinkedList List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表.ArrayList底层采用数组来保存每个集合元素,LinkedList则 ...

  10. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(44)-工作流设计-设计表单

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(44)-工作流设计-设计表单 系列目录 设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四 ...