一、OSPF——开放式最短路径优先

1.OSPF的数据包

1)Hello包

        作用:

                ①周期发现

                ②建立和保活邻居关系

Hello时间——默认10s(针对以太网)、30s(其它网络类型)

Dead time——4倍的Hello时间

        在OSPF中,我们需要对每台路由器设计一个身份标识——RID

                设计RID的要求:

整个OSPF网络)唯一;

按照IP地址的格式来配置

                手工配置——只需要满足以上两点要求即可

                自动生成

具备环回接口,则将在环回接口的IP地址中选择数值最大的作为RID;

不具备环回接口,则将在物理接口的IP地址中选择数值最大的作为RID

                Hello中将会携带RID

2)DBD包——数据库(LSDB——链路状态数据库)描述包

存放LSA数据库

3)LSR包——链路状态请求报文——基于未知的LSA信息进行请求

4)LSU包——链路状态更新报文——真正携带LSA信息的数据包

5)LSACK包——链路状态确认报文——确认包

OSPF存在每30min一次的周期更新

2.OSPF的状态机

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_华为云

Two-Way——标志着邻居关系的建立

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

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_云计算_02

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

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_网络协议_03

DBD包之间使用隐形确认的方法进行确认,而不是直接通过LSACK进行显性确认

总结:

        Full状态——标志着邻接关系的建立——只有邻接关系可以交换LSA信息,而邻居关系只能通过hello包进行周期保活

        Down状态——启动OSPF进程,发送hello包之后进入到下一个状态

        Init(初始化)状态——收到hello包中包含本地的RID,则将进入到下一个状态

        TWO-WAY(双向通信)状态——标志着邻居关系的状态

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

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

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

        Loading(加载)状态——基于DBD包,通过LSR/LSA/LSACK来获取本地位置的LSA信息

        Full状态——标志着邻接关系的建立

3.OSPF的工作进程

向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包;hello包中将会携带自己本地的RID以及本地已知邻居的RID。之后,将建立好的邻居关系记录在邻居表中。

数据库表

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

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

结构突变:

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

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

        3)无法通信——dead time

4.OSPF的基本配置

        1)启动OSPF进程

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

                [r1-ospf-1]

        2)创建区域

                [r1-ofpf-1]area 0

                [r1-ospf-1-area-0.0.0.0]

        3)宣告

0.0.0.255(反掩码:由连续的0和连续的1组成,0对应的数字是不可变的,而1对应的数字是可变的)

                [r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0

                [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都存在的情况下,至少需要4台设备才能看到邻居关系

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

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

DR/BDR的选举

        ①先比较优先级,优先级最高的为DR,优先级次高的为BDR

默认情况下优先级为1

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

                INTEGER<0-255> Router priority value

                如果将一个接口的优先级设置为0,则将代表这个接口将放弃DR/BDR的选举

RID大的路由器所对应的接口为DR,次大的为BDR

DR和BDR的选举是非抢占模式的——选举时间=dead time

5.拓展配置

1)手工认证

[r1-GigabitEthernet0/0/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/0]ospf timer hello 5——hello时间一旦修改,则dead time将自动按照4倍关系进行匹配

注意:邻居之间的hello时间和dead time必须相同,否则将导致邻居关系建立失败

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

INTEGER<1-235926000>Second(s)

5)缺省路由

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

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

二、ACL——控制访问列表

1.作用

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

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

2.匹配规则

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

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

华为体系——对匹配不上的流量不做额外处理

3.分类

仅关注数据包中的源IP地址

不仅关注数据包中的源IP地址,还关注数据包中的目标IP地址,以及协议和端口号

        3)二层ACL

        4)用户自定义ACL

3.需求

1)需求一

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_华为_04

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

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

        ①创建ACL控制访问列表

                [r1]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

                [r1]acl 2000

                [r1-acl-basic-2000]

        ②给ACL列表中添加匹配规则

0.0.0.0 ——通配符

                1代表可以变,0代表不可变

                [r1-acl-basic-2000]rule deny source any——允许所有

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

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

                [r1-acl-basic-2000]rule 8 deny source 192.168.1.2 0.0.0.0——插入

                [r1-acl-basic-2000]undo rule 8——删除

        ③接口表用ACL列表

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

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

2)需求二

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_华为_04

        要求PC1可以ping通PC3,但是不能ping通PC4

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

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

                [r1-acl-adv-xuqiu2]

               [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——通过名称进行调用

3)需求三

触发ospfmaxagelas的原因 ospf状态与其发生顺序配对_华为_04

        要求PC1可以ping通R2,但是不能Telnet R2    

                [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