Ospf 协议

1、OSPF的数据包

OSPF的数据包一共有物种数据包,分别为HELLO包、DBD包、LSR包、LSU包、LSACK包。

(1)Hello包 --- 相比rip更节约资源,可用为周期保活,以太网默认时间10s,其他网络可能是默认为30s。

hello时间 --- 默认10S(但30S)

Dead time ---- 4倍的hello时间

在OSPF中,我们需要对每台路由器设计一个身份标识,来确定其在网络中的位置,方便我们寻找 。所以就衍生出了RID。其特定如下:

①、全网(整个OSPF网络)唯一,OSPF网络外则不做要求;

②格式统一 ,要求必须按照 IP地址的格式来配置。

RID的配置方法如下:

手工配置时,我们只需要满足以上两点要求即可

自动生成规则如下 

①、如果设备具备环回接口,则将在环回接口的IP 地址中选择数值最大的作为RID。

②、如果没有环回接口,则将在 物理接口中选择IP地址数值最大的作为RID。

同时,hello包在发送的时候也会携带RID。

2、DBD包 内含有数据库描述报文 ,其描述的是 LSDB( 链路状态数据库 )内所含的信息,而LSDB是存放 LSA(链路状态通告)信息的数据库。

LSR包 含有链路状态请求报文 ,其作用是基于未知的LSA信息进行请求。

LSU包 其所含内容是链路状态更新报文 ,只有他是真正携带LSA信息的数据报。也就是说我们主要传递的就是LSU数据包。

LSACK包名为链路状态确认报文,它和我们前面学习的ACK数据包一样,都是来确认数据包是否收到的,属于确认机制。

通过对OSPF数据包的分析,我们发现OSPF理论上不需要周期更新,但是创作者还是在OSPF中加入了周期更新机制,而OSPF每30min会进行周期更新。

2、OSPF的状态机

以下的讲解以思科的图解为例,但是我们讲述的是华为体系的OSPF状态机,所以会和思科的有所不同。

状态讲解:

Down state:A向OSPF的组播地址中发送hello包,告诉组播地址内的路由器,自己的IP地址.

Init state :B发现A是自己的邻居,随后发送自己的IP地址并在发送的消息中写明自己看见了A。

TWO-WAY :标志着邻居关系的建立

(条件匹配) --- 条件匹配通过,则可以进入到下一个状态。如果条件匹 配不通过,则将停留在邻居关系。仅使用hello包周期保活即可。

Exstart state:主从关系选举,通过使用未携带数据的DBD包(主要目的是为了和之前 的邻居关系进行区分)比较RID进行主从关系选举,为主的可以优先进入 到下一个状态。

Exchange state:双方交换自身的LSDB数据包,以告诉对方自己所拥有的路由链路条目。

这里需要注意的是使用LSACK数据包来确认是思科体系的方式,而华为体系所使用的是DBD包之间使用隐形确认的方法进行确认,而不是直接通过LASCK进行 显性确认。

FULL state:标志着邻接关系的建立。只有邻接关系可以交换 LSA信息,而邻居关系只能通过Hello包进行周期保活。

综上所述:

DOWN状态:启动OSPF进程,发送hello包之后进入到下一个状态 INIT(初始化)状态:收到hello包中包含本地的RID,则将进入到 下一个状态

TWO-WAY(双向通讯)状态:标志着邻居关系的建立

(条件匹配):条件匹配成功,则将进入到下一个状态;如果失 败,则将停留在邻居关系,仅使用Hello包进行周期保活。

Exstart(预启动)状态:使用未携带数据的DBD包进行主从关系选 举,为主的可以优先进入到下一个状态

Exchange(准交换)状态:使用携带数据库摘要信息的DBD包进行 数据库目录共享

Loading(加载)状态:基于DBD包,通过LSR/LSU/LSACK来获取 本地未知的LSA信息

FULL状态:标志着邻接关系的建立,在这个状态下双方才能交换LSA信息。

3OSPF的工作过程

启动OSPF进程配置完成后,OSPF会向本地所有运行协议的接口以组

播224.0.0.5的形式发送hello包;hello包中将会携带自己本地的RID以及 本地已知邻居的RID。之后,将建立好的邻居关系记录在一张表中 ---- 邻居表。

邻居关系建立后将进行条件匹配;失败则将停留在邻居关系,仅使用 Hello包保活。

匹配成功,则将开始建立邻接关系。首先,使用未携带数据的DBD包 进行主从关系选举。之后使用携带数据的DBD包进行数据库目录的共享。

之后,本地使用LSR/LSU/LSACK获取本地未知的LSA信息。将完成本地 数据库的建立 --- LSDB,生成数据库表。

最后,将基于本地的链路状态数据库生成有向图,之后基于有向图使用 SPF算法计算出最短路径树,根据最短路径树,生成本地到达未知网段的 路由信息。 --- 路由表。

收敛完成后,OSPF依然每隔hello时间发送hello包进行周期保活。每 隔30MIN进行一次周期更新。

结构突变:

1,突然增加一个网段:触发更新,将变更信息第一时间通过LSU包发 送出去,需要ACK确认。

2,突然减少一个网段:触发更新,将变更信息第一时间通过LSU包发 送出去,需要ACK确认。

3,无法通信 --- dead time

4OSPF的基本配置 命令)

1、启动OSPF进程

[r1]ospf 1 router-id 1.1.1.1 ---- 1 -- 进程号,仅具有本地意义

2、创建区域

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0

3,宣告

[r1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 --- 反掩码:由连续的0 和连续的1组成,0对应的数字是不可变的,1对应的数字是可变的。

[r1]display ospf peer --- 查看OSPF邻居表

[r1]display ospf peer brief --- 查看邻居表简表

[r1]display ospf lsdb --- 查看数据库表

[r1]display ospf lsdb router 2.2.2.2 --- 查看单条LSA的内容

这里需要注意的是华为设备中OSPF协议的路由条目的优先级默认设置为10。

COST = 参考带宽 / 真实带宽,华为设备默认情况下,参考带宽为 100Mbps

[r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽 --- 如果有一台设备修改了参考带宽,则整个OSPF网络中所有的设备都需要修改成相同的参考带宽,否则网络无法正常运行。

条件匹配:

指定路由器 --- DR --- 和广播域内剩余所有设备建立邻接关系

备份指定路由器 --- BDR --- 和广播域内剩余所有设备建立邻接关 系,这样在DR设备出现故障时可以第一时间代替DR设备。

DR与BDR的设立条件:

1,一个广播域内,在DR和BDR都存在的情况下,至少需要四台设 备,才能看到邻居关系。

2,DR和BDR并不是路由器的概念,而是接口的概念。

条件匹配原理:在一个广播域中,如果所有设备之间均为邻接关系,则将可能出现大量的重复更新,所以需要进行DR/BDR的选举,所有非 DR/BDR设备之间仅维持邻居关系即可。

DR/BDR的选举 --- 1,先比较优先级,优先级最高的为DR,优先级次 高的为BDR。

华为设备,默认情况下,优先级为1。

[r1-GigabitEthernet0/0/0]ospf dr-priority ? --- 修 改接口优先级

INTEGER<0-255>  Router priority value

如果将一个接口的优先级设置为0,则将代表这

个接口将放弃DR/BDR的选举。

2,如果优先级相同,则比较RID,RID大的路由器所

对应的接口为DR,次大的为BDR。

DR/BDR的选举是非抢占模式的 ---- 选举时间等同于死亡时间。

5、ospf拓展配置及命令 

1、手工认证

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456 1 --- key ID,两边配置KEY ID需要相同

2、手工汇总 --- 区域汇总

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0

3、沉默接口 --- 只接受不发送

[r1-ospf-1]silent-interface GigabitEthernet 0/0/1

4、加快收敛 --- 减少计时器时间

[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- hello时间一旦修改,则死亡时间将自动按照4倍关系进行匹配

注意:;邻居之间的Hello时间和死亡时间必须相同,否则将导致 邻居关系建立失败

[r1-GigabitEthernet0/0/0]ospf timer dead ? --- 修改死亡时间,死 亡时间修改不会影响hello时间

INTEGER<1-235926000>  Second(s) (时间选择)

5、缺省路由

[r3-ospf-1]default-route-advertise --- 在边界路由器上配置,之后 将自动下发指向边界的缺省路由 ---- 要求,边界路由器上必须得 先存在缺省路由

[r3-ospf-1]default-route-advertise always --- 强制下发缺省

ACL --- 访问控制列表

ACL访问控制列表的作用:

1,访问控制:在路由器流量流入或者流出的接口上,匹配流量,之 后执行设定好的动作。(permit:允许,deny:拒绝)

2,抓取感兴趣流:ACL可以和其他服务结合使用,ACL只负责抓取流 量,其他服务负责执行相应的处理。

ACL的匹配规则:自上而下,逐一匹配,一旦匹配上则将按照对应 的动作来执行,而不再向下匹配。

思科体系:ACL访问控制列表末尾隐含了一条拒绝所有的规则。

华为体系:对匹配不上的流量不做额外处理。(即默认允许所有)

ACL的分类:基本ACL:匹配流量时,仅关注数据包中的源IP地址。 高级ACL:匹配流量时,不仅关注数据包中的源IP地

址,还关注数据包中的目标IP地址。以及协议和端口号 二层ACL

用户自定义ACL:用户自定义的ACL。

使用ACL的示例(以下图为例):

需求一:要求PC1可以访问3.0网段,但是PC2不行

基本ACL配置位置原则:因为基本ACL只关注数据包中的源IP,所以可能导致误伤,所以,在配置的时候,应该尽可能的靠近目标。

步骤:

1,创建ACL访问控制列表

[r2]acl ?

INTEGER<2000-2999>  Basic access-list(add to current using

rules) --- 基本ACL

INTEGER<3000-3999>  Advanced access-list(add to current using

rules) --- 高级ACL

INTEGER<4000-4999> Specify a L2 acl group --- 二层ACL

ipv6                ACL IPv6

name                Specify a named ACL

number              Specify a numbered ACL

[r2]acl 2000

[r2-acl-basic-2000]

2,给ACL列表中添加匹配规则

[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0 --- 通配符: 1代表可以变,0代表不可变(拒绝该地址的信息通过)

[r2-acl-basic-2000]rule permit source any --- 允许所有

[r2-acl-basic-2000]display acl 2000 --- 查看ACL列表

华为设备默认以5为步调自动添加规则序号,为了使插入和删除 规则更加方便。

[r2-acl-basic-2000]rule 8 deny source 192.168.1.2 0.0.0.0(添加第8条规则)

[r2-acl-basic-2000]undo rule 8(取消该条规则)

3,接口调用ACL列表

[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000

切记:一个接口的一个方向只能调用一张ACL列表

需求二:要求PC1可以pingPC3,但是不能pingPC4

此类问题适用于高级ACL列表的位置匹配规则,因为高级ACL列表进行了精确匹配,所以,不会出现误伤,在调用的时候应该尽量靠近源,减少 资源的占用。

[r1]acl name xuqiu2 3000 --- 通过重命名的方式创建ACL列表

[r1-acl-adv-xuqiu2]rule deny icmp source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0

[r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xuqiu2 ---通过名称进行调用该ACL

需求三:要求PC1可以PingR2,但是不能telnetR2

[r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0.0.0.0

destination 192.168.2.2 0.0.0.0 destination-port eq 23

【无标题】OSPF协议及ACL的使用及配置相关推荐

  1. 动态路由-----OSPF协议原理与单区域实验配置

    一.OSPF协议的介绍 1.OSPF的概述 OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP).与RIP相 ...

  2. html500错误原因1003无标题,web工程中404/500错误页面配置+404页面模板

    [实例简介] web工程中404/500错误页面配置+404页面模板 [实例截图] [核心代码] 247959a9-c3ea-4360-8e57-105d680b29f0 ├── 404页面模板 │  ...

  3. OSPF协议介绍及配置

    一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,而对于这个网 ...

  4. RIP协议与OSPF协议与BGP协议

    RIP协议: https://www.bilibili.com/video/BV19E411D78Q?p=54 RIP是一-种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单. ...

  5. OSPF协议学习笔记(一)

    一.OSPF路由协议(Open Shortest Path First),开放最短路径优先协议.是一种典型的链路状态的路由协议,OSFP将链路状态广播数据包LSA(Link State Adverti ...

  6. OSPF协议介绍及配置 (下)

    4.特殊区域详解 为了让我们的讲解更加的通俗易懂,我们看上面这个拓扑,这是一个根据客户业务逻辑结构所涉及的OSPF网络,共有三个区域(实际上远远不止),骨干区域area0为一级行及二级行所部署,三级行 ...

  7. OSPF协议及链路状态算法(详解)

    一.路由选择协议分类回顾 二.OSPF协议 开放最短路径优先OSPF协议:"开放"标明OSPF协议不是受某一家厂商控制,而是公开发表的: "最短路径优先"是因为 ...

  8. CCNA学习总结—OSPF协议—OSPF协议原理

    1.为什么使用OSPF RIP协议因为15跳的限制只能使用在网络半径比较小的网络中,而且RIP不能做到百分百的防环,而网络风暴是每个大型网络所必须解决的重要的问题.RIP是距离矢量型路由协议,周期性更 ...

  9. 物理层(网线)、数据链路层(交换机)、网络层(IP协议、ARP协议、ICMP协议、路由器)、VLAN(虚拟局域网)、HSRP协议、ACL、NAT

    文章目录 物理层(Physic Layer) 数据链路层(2层 Data Link Layer) 1.帧结构: 2.帧格式: 3.工作在数据链路层的设备: 交换机/网卡 4.交换机基本的工作原理:MA ...

最新文章

  1. 5渲染判断if_React 16 渲染流程
  2. 打印user webclient ui浏览历史的工具
  3. zabbix mysql.status_zabbix 监控mysql状态
  4. phoshop cs6软件提示试用版已过期,怎么办
  5. 诺基亚加倍下注!收购机器学习公司SpaceTime,再次布局物联网
  6. 到底如何保证线程安全,总结得太好了!
  7. TFT工业串口屏方案
  8. 如何使用php写爬虫,PHP能写爬虫吗?(PHP实现爬虫技术示例)
  9. WinRM(Windows远程管理)介绍,Python远程操作Windows
  10. 电脑小白须知!N卡和A卡有什么区别?A卡和N卡的区别,一个动图秒懂!
  11. 面向对象------转自林海峰老师
  12. 《那些年啊,那些事——一个程序员的奋斗史》——101
  13. Problem A: 小勇学分数
  14. 大学如何学习——我的五年失败经验总结
  15. 任正非:《一江春水向东流》
  16. 多可文档管理系统_您的框架有多可扩展性?
  17. 学习笔记-B/S - Exploits
  18. IP-guard功能详解—即时通讯监控
  19. linux shell 入门学习笔记3 shebang
  20. pycharm设置项目编码

热门文章

  1. 立体仓库堆垛机控制系统安全操作规程
  2. 异常 did you register the component correctly? For recursive components, make sure to provide the “nam
  3. 新一线城市“抢人”大战:多地加快推进户籍改革
  4. IPv9 或许又是一个虚头!
  5. 物联网发展的三大编程语言
  6. 走近Ts,用了爽,用后一直爽(二)
  7. 基于python3.x的爬取马蜂窝旅游的游记照片
  8. 人工智能Java SDK:中文翻译为英文
  9. 中文热门开源项目Top100,你知道多少?
  10. Swift如何兼顾协议中默认和自定义方法的调用?