目录
OSPF选路佳,收敛快,占用资源少
1,OSPF本身是链路状态型协议,所以,计算出的路径不会存在环路;并且使用带宽作为选 路依据,所以,在选路的角度上优于RIP;
2,OSPF的计时器时间也短于RIP,所以,收敛速度会快于RIP;
3,因为OSPF协议传递的是LSA信息,所以,单个数据包的资源占用远大于RIP;但是,因为 RIP存在30S一次的周期更新,而OSPF并没有如此高频率的周期更新,并且,OSPF协议存在 许多针对资源占用的优化措施,所以,从整体的角度看,OSPF资源占用上应该小优于RIP
(OSPF --- 开放式最短路径优先协议)
RIP存在3个版本 --- RIPV1,RIPV2 --- IPV4
RIPNG --- IPV6
OSPF也存在3个版本 --- OSPFV1(实验室阶段就夭折了),OSPFV2 --- IPV4 , OSPFV3 --- IPV6
RIPV2和OSPFV2
相同点:
1,OSPFV2和RIPV2一样,都是无类别的路由协议,都支持VLSM和CIDR;
2,OSPFV2和RIPV2一样,都是使用组播发送数据
RIPV2 --- 224.0.0.9
OSPFV2---224.0.0.5和224.0.0.6
3,OSPFV2和RIPV2都支持等开销负载均衡
不同点:
RIP协议只能适用于小型网络环境中,而OSPF协议可以应用在中大型网络环境中 --- OSPF协议可以实现结构化部署 --- 划分区域
OSPF:
OSPF优点:选路佳,收敛快,占用资源少
OSPFj减少资源占用优化措施:1.区域划分 2.主从关系选择
OSPF的结构化部署:区域划分(区域之间互相学习路由信息)
区域划分:
判断是否需要区域划分(看网络要求) | 1.如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络 2.如果一个OSPF网络存在多个区域,着个网络称为多区域OSPF网络 |
划分区域的中间设备 | 区域边界路由器(ABR)--可以同时属于两个区域 ABR作用:把区域top信息收集计算成路由信息进行传递,必须有一个接口在区域0中 区域之间可以存在多个ABR设备;且一个ABR设备可以处于多个区域 |
区域划分目的 | 1.区域内部传递拓扑信息 2.区域外部传递路由信息 (链路状态型协议的矢量特征) |
区域划分要求 | 1.区域间必须存在ABR设备 2.区域划分必须按星型拓扑结构进行划分--星型拓扑的中间区域(骨干区域) (为了方便区分和标识不同区域,所以每个区域都定义一个区域都需要定义一个区域ID(areaid)--由32位二进制构成) RID有两种表示方法:1.直接使用十进制 2.点分十进制 骨干区域的区域ID定义为区域0 |
(未与骨干区域连接的ABR设备称为非法ABR:即不进行工作)
区域边界路由器 --- ABR --- 同时属于多个区域,一个接口对应一个区域,必须有一个接口在 区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递。 区域之间可以存在多个ABR设备,一个ABR设备可以处于多个区域
OSPF处理
1.OSPF数据包:
hello包 | 作用:1.携带RID(与邻居关系有关) 2.周期性发包,建立和保活邻居关系 发送周期(hello时间)--10s(以太网)/30s--死亡时间(dead time)--4倍的hello时间 RID(route ID):1.区分和标识不同的路由器 2.本质由32位二进制构成 RID特点:1.格式统一 2.全网统一 RID生成方式:1.手工配置 2.自动生成(自动生成规律:(1).优先选择环回接口IP作为RID,多个环回接口则选择最大IP作为RID;(2).无环回,有物理接口IP,则其作为RID;多个物理接口,选最大 |
DBD包--数据库描述报文 | LSDB(链路状态数据库):存放LSA(拓扑)信息 DBD包作用:描述数据库 |
LSR包--链路状态请求报文 | 基于DBD包,请求LSA信息--“点菜” |
LSU包--链路状态更新报文 | 真正携带LSA的数据包--“上菜” |
LSAK包--链路状态确认报文 | 确认包 |
OSPF协议具有周期更新机制,每隔30min发送一次 |
2,OSPF状态机
Down State | 启动后发hello包进入下一个状态 |
Init State(初始状态) | 收到对方hello包中包含自己本地的RID,进入下一状态 |
Two-Way State(双向通信状态) | 标志着邻居关系建立(条件匹配):成功则进入下一状态,失败则用hello包保活 |
Exstart State(预启动状态) | 通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来 进行选举,RID大的为主,为主可以优先进入后面的状态 |
Exchange State(准交换状态) | 交换携带的数据(摘要信息)的DBD包会进行LSDB数据库目录共享 |
Loading State(加载状态) | 基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息 |
Full State | 标志着邻接关系的建立 |
条件匹配:
DR --- 指定路由器 --- 和广播域内其他设备建立邻接关系
BDR --- 备份指定路由器 --- 和广播域内其他设备建立邻接关系,称为DR设备的备份。 一个广播域内部,至少需要4台设备才能看到邻居关系。
DR和BDR其实是接口的概念
条件匹配 --- 在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故 需要进行DR/BDR的选举,所有DRother之间,仅维持邻居关系即可。
DR/BDR的选举规则 | 1,先比较优先级,优先级最大的为DR,次大的为BDR; 优先级默认为1 --- 主要目的让人为修改 [r1-GigabitEthernet0/0/0]ospf dr-priority ? (INTEGER Router priority value) 注意:如果将一个接口的优先级设置为0,则代表这个接口 将放弃DR/BDR的选举。 2,如果优先级相同,则比较RID。RID大的路由器所对应的接口 为DR,次大的为BDR。 (DR/BDR的选举是非抢占模式的 ---- 一旦角色选举出来,则将无法抢占。 ---- 选举时 间:40s(等同于死亡时间)) <r1>reset ospf 1 process --- 重启OSPF进程 |
3.OSPF工作过程:
1.启动配置完成,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送 hello包;hello包中携带自己本地RID,以及本地已知的邻居的RID。 2.之后,将收集到的 邻居关系记录在一张表中 --- 邻居表; 3.邻居关系建立完成后,进行条件匹配。失败则停留在邻居关系,仅hello包进行保活。 4.匹配成功,则开始建立邻接关系。 5.首先,使用未携带数据的DBD包进行主从关系选举。 6.之后,使用携带数据的DBD包共享目录信息, 7.之后,基本DBD包,通过LSR/LSU/LSACK获 取未知的LSA信息。将所有的LSA信息保存本地的LSDB数据库 --- 数据库表; 8.最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由 表。 9.收敛完成后,周期性的发送hello包进行保活,每30min一次周期更新。 |
结构突变:
1.突然新增一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK 确认
2.突然断开一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK 确认
3.无法联系 --- dead time --- 40s
4.OSPF的基本配置
1.启动OSPF进程 [r1]ospf 1 router-id 1.1.1.1 --- 手工配置RID需要在进程启动时配置 [r1-ospf-1] |
2.创建区域 [r1-ospf-1]area 0 [r1-ospf-1-area-0.0.0.0] |
3.宣告 宣告的作用: (1).激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF 的数据。 (2).发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布 [r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成,0 对应位不可变,1对应位可变。 |
[r1]display ospf peer --- 查看邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb --- 查看数据库表
[r1]display ospf lsdb router 2.2.2.2 --- 展开一条LSA的方法
[r1]display ip routing-table protocol ospf --- 查看路由表
华为设备,OSPF协议的默认优先级为 -- 10
COST = 参考带宽 / 真实带宽 --- 华为设备默认的参考带宽为100Mbps,如果计算出来是一个小于1的小数,则直接按照1来算。如果是一个大于1的小数,只取整数部分。
[r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽
OSPF的拓展配置:
1,OSPF的手工认证 [r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456 2,手工汇总 --- 区域汇总 在ABR设备上进行配置 [r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0 3,沉默接口 配置了沉默接口的接口,将只接受不发送路由信息 [r2-ospf-1]silent-interface GigabitEthernet 0/0/2 4,加快收敛 --- 减少计时器的时间 [r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法 [r2-GigabitEthernet0/0/0]ospf timer dead ?( INTEGER Second(s)) 注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系 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列表的分类: | 1.基础ACL --- 仅关注数据包中的源IP地址 --- “只关注你是谁” 2.高级ACL --- 不仅关注数据包中的源IP地址,还关注目标IP地址,以及协议和端口号 --- “不仅关注你是谁,还关注你去哪,干啥” 3.二层ACL 4.用户自定义ACL列表 |
ACL的配置:
需求一:要求PC1可以访问3.0网段,但是PC2不行。
基础ACL配置的位置原则:
因为基础ACL只关注源IP地址,所以,可能会造成误伤,所以,建议基础ACL配置位置越靠近目标越好。
基础ACL配置: 1,创建ACL列表 [r2]acl ? INTEGER Basic access-list(add to current using rules) --- 基础ACL INTEGER Advanced access-list(add to current using rules) --- 高级ACL INTEGER 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 ---- 通配符 --- 0代表不可变,1代表可变 --- 通配符和反掩码不同,他可以0和1穿插着使用。 [r2-acl-basic-2000]rule permit source any --- 允许所有 [r2]display acl 2000 --- 查看ACL列表 华为的规则默认以5为步调自动添加序号,目的为了方便插入规则 [r2-acl-basic-2000]undo rule 7 --- 删除规则 3,在接口上调用ACL列表 [r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 切记:一个接口的一个方向上只能调用一张ACL列表 |
需求二:要求PC1可以ping通PC3,但是不能ping通PC4。
高级ACL列表配置位置原则:
因为高级ACL列表可以进行精准的匹配,所以,位置应该放在尽可能靠近源的地方,可以 节约链路资源。
[r1]acl name xueqiuer 3000 --- 通过重命名的方法来创建高级ACL列表 [r1-acl-adv-xueqiuer] [r1-acl-adv-xueqiuer]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0 ---- 高级ACL列表规则 [r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xueqiuer ---通过调用名称来调用列表 |
需求三:要求AR3可以ping通R2,但是不能telnetR2
[r1-acl-adv-xueqiuer]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 |