OSPF基本概念与配置(完整版)
目录
R1和R2不在同一网段,但能够互相ping通,是否可以建立P2P的邻居关系?
OSPF设备,一边是broadcast,另一边是p2p,是否可以建立OSPF邻居?
路由分类
-直连路由 -非直连路由 &:静态路由 &:动态路由 @:IGP:内部网关路由协议-在同一个AS内部使用(在企业内部或者数据中心内部使用) -DV:距离矢量路由协议 -RIP(v1/v2) -IGRP-思科私有协议 -EIGRP-思科私有协议 -LS:链路状态路由协议 -OSPF:开放式最短路径优先( 企业用:功能多,可以精细化控制) -ISIS:中间系统到中间系统( 数据中心用,转发能力强,大流量转发 ) @:EGP:外部网关路由协议:在不同的AS之间使用(AS:自治系统) -BGP:边界网关协议
OSPF概述
1、OSPF是什么
????????-开放式最短路径优先协议,一种最受欢迎的动态路由协议
????????-版本:OSPFv2(IPv4) 和OSPFv3(IPv6)
????????-OSPF位于OSI参考模型的第三层,数据封装在IP报头的后面
-协议号是89
2、场景:适用于中、大型网络规模,常见的场景有
????????&政企网,层次化的网络架构中
????????&数据中心内部,用于实现把不同的网段打通
3、作用:便于大型网络中对路由的管理和维护
-优点:
?基于SPF算法,以“累计链路开销”作为选路参考值
?采用组播形式收发部分协议报文
?支持区域划分
?支持对等价路由进行负载分担
?支持报文认证
一、OSPF的工作过程
-建立邻居表:和小姐姐成为朋友
-同步数据库:交换个人信息(家庭住址)
-计算路由表:计算出从我们家到她家的最优的路径
-建立邻居表:成为朋友,交换个人基本信息
hello报文:建立邻居关系和维护邻居关系 打招呼,大家好,我是小红 大家好,我是小兰 你好,小兰,我是小红,我和你是朋友 你好,小红,我是小兰,我和你是朋友 周期性发送hello ,用于维护邻居关系(朋友关系)
-同步数据库:把秘密分享给对方(我有有多少邻居,邻居特点,住址)
DBD报文:用于描述数据库摘要信息 小红家:有蔬菜 小兰家:有肉 黄瓜 猪肉 LSR报文:用于请求对方数据库中的LSA(链路状态通告) 小红:兰姐,我想要你家的猪肉 小兰:红妹,我想要你家的黄瓜 LSU报文:根据对方的请求,更新信息,传递LSA 小兰:红妹,猪肉,你查收一下 小红:兰姐,黄瓜,你查收一下 LSACK:报文收到对方的更新信息(LSA)进行确认 小红:兰姐,你的猪肉,我收到了,谢谢你 小兰:红妹,你的黄瓜,我收到了,谢谢你 备注: 数据库同步--厨房蔬菜同步后,就可以炒菜,炒猪肉炒黄瓜 备注: 这道菜:猪肉炒黄瓜:就是代表一个被计算出来的路由条目 猪肉:代表计算路由的原材料,在OSPF中称为LSA(链路状态信息) 黄瓜:代表计算路由的原材料,在OSPF中称为LSA(链路状态信息) 所以,我们可以得出一个结论,OSPF中,所有的路由都是路由器通过OSPF计算出来的,不是学习来的 但是计算路由的“原材料-LSA”都是通过同步数据库,学习来的, 所以运行OSPF的路由器,学习的是LSA,计算路由的源材料, 通过互相学习到这些源材料,就可以计算出来最短路由
-计算路由表:根据得到的信息构建一张地图,根据地图导航最优路径
二、报文类型
-Hello 用于发现、建立、维护邻居关系(交朋友)
-DBD 用于描述数据库摘要信息(发菜单)
-LSR 请求数据库中没有的LSA信息(我要)
-LSU 根据对方的请求信息,更新LSA给对方 (给你)
-LSack 收到对方的更新LSA信息后,进行确认(说谢谢)
三、OSPF区域
1、区域划分:
????????OSPF适用于大型网络,采用分层设计,分为骨干区域和非骨干区域。
2、OSPF 骨干区域
????????区域号为0,表示的就是“骨干区域”
3、OSPF 非骨干区域
????????区域号不为0,表示的就是“非骨干区域”
4、非骨干区域必须和骨干区域“直接”相连,能实现“区域之间的互通”
5、OSPF 区域的表示
????????通过十进制表示,例如区域 0、1、2、3等
????????通过点分十进制表示,例如区域 0.0.0.0 、0.0.0.1、0.0.0.2等
6、为什么要引入区域
????????原因:只有一个区域的不足
????????如果只有一个区域,公司内所有路由器都要同步数据库:
不足:
????????1)数据报文非常多,所以设备压力大, 带宽占用多
????????2)由于数据报文多,所以同步数据库非常慢,占用时间多
????????3)由于数据库非常大, 所以计算路由慢,所以计算出来的路由表也非常大
????????4)由于路由表非常大,路由器转发数据的时候, 查路由表时会让设备压力大(CPU占用高),查表慢,最终导致,数据转发慢,公司网络性能差
所以我们要引入OSPF区域
引入多个区域的优势:
????????1)只有同一个区域内的路由器才需要同步数据库,不同区域的路由不需要同步数据库
????????2)所以同步数据库的设备少, 数据报文就少,设备压力也小,也不过多浪费带宽
????????3)由于数据报文少,所以数据库最终就小
????????4)数据库小,数据库同步的速度就快,计算路由的路由就快
????????5)数据库小,最终路由表也小,转发数据的速度就快,公司的网络质量就好
四、OSPF单区域实验案例
拓扑
需求
实现全网互联互通
配置步骤
1)配置PC接口IP地址
2)配置路由器的接口IP地址
3)配置OSPF
????????-创建ospf进程,定义router-id
????????-指定相应区域
????????-宣告网段进入ospf
4)验证结果
配置命令
第一步:配置PC接口IP地址 第二步:配置路由器接口IP地址 第三步:配置OSPF: R1:配置 ospf 1 router-id 1.1.1.1 //指定ospf进程号, 指定router-id area 0.0.0.0 //指定区域id network 192.168.1.0 0.0.0.255 //宣告直连网段 network 192.168.12.0 0.0.0.255 //宣告直连网段 R2:配置 ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.12.0 0.0.0.255 R3:配置 ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.2.0 0.0.0.255 第四步:验证结果 display ospf peer brief //查看邻居表简要信息 display ip routing-table //查看路由表 PC1 ping PC2 验证结果 <R1>display ip routing-table protocol ospf Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Public routing table : OSPF Destinations : 2 Routes : 2 OSPF routing table status : <Active> Destinations : 2 Routes : 2 Destination/Mask Proto Pre Cost NextHop Interface 192.168.2.0/24 OSPF 10 3 192.168.12.2 G0/0/0 192.168.23.0/24 OSPF 10 2 192.168.12.2 G0/0/0
五、OSPF邻居表解析
<R1>display ospf peer brief //查看邻居表简要信息 OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 2.2.2.2 Full ---------------------------------------------------------------------------- 1、Process : 进程号 ospf 1 :指定ospf进程号1 1)作用:在同一个设备上,区分不同的ospf路由协议 2)通过不同的进程号的ospf 协议所学习到的路由信息是不会自动相互传递的, 从而实现各个ospf 协议之间的隔离 3)ospf 进程号只在本地路由器起作用,不同的路由器的进程号,可以相同,也可以不同 4)进程号范围 <1-65535> 2、Router ID router-id 1.1.1.1 //指定router-id 为1.1.1.1 1)ospf协议给路由器起的一个名字,格式类似于IP地址(点分十进制)但是不是IP地址 2)在ospf 网络中,router-id 是唯一的标识一台路由器 3)router-id 的生产方式 选举规则:-手动指定:最优 -如果没有手动指定router-id ,会进行自动选举 &:自动选举 -首先选举本设备上的loopback接口的IP地址,选择IP地址最大的 --如果没有配置loopback 接口选举物理接口IP地址最大的 备注:自动选举的前提是,所有的接口同时运行ospf ,如果没有同时运行,那个接口先启用ospf, 就选择那个接口的地址号,做router-id &:手动配置 [huawei] ospf 1 router-id 1.1.1.1 //手动指定的命令 备注:当路由器已选router-id 后,手修改router-id 并不会生效 为什么? ospf需要稳定,ospf稳定,网络才会稳定,一旦选举router-id,就不会被替代 -如果已经有了router-id ,后来又手动指定的router-id 想让新的router-id生效,怎么办? 重启ospf 进程:<huawei> reset ospf process //在用户视图下执行命令 3、Area Id :区域号 area 0.0.0.0 1)表示的是与对方设备建立邻居关系时,所使用的区域号 2)对于ospf 来说,这个区域号一定不能少 3)区域号的表示方式有两种 &: 十进制数: 0-4294967295 &:点分十进制: 0.0.0.0 - 255.255.255.255 4)区域分为两类: &: 骨干区域: 0 &: 非骨干区域 : 不为 0 4、Interface : 使用那个接口与对端建立的邻居 5、Neighbor id : 邻居的router-id 6、State : 邻居之间的状态 full :完美的邻居
报文字段解析:
OSPF Header 头部报文解析: 【 OSPF Version 】 这个字段,指的是OSPF的版本 版本2——针对的是IPv4的网络 版本3——针对的是IPv6的网络 【 Message Type 】 消息类型 OSPF中,一共有五种报文:Hello、DD、LSR、LSU、LSAck 分别对应了1、2、3、4、5 【 Packet Length 】 报文的长度,不可修改 【 Source OSPF Router 】 发送这个Hello报文的路由器的Router ID 而在一个OSPF网络中,Router ID就是用来唯一标识一台路由器的 所以,不同路由器的Router ID不能相同 【 Area ID 】 发送这个Hello报文的接口,所在的区域 两台路由器,想要建立邻居,它们的互联接口,必须在同一个区域中 【 Packet Checksum 】 报文的校验和,用来校验报文是否完整 【 Auth Type/Data 】 这里指的是OSPF的认证 认证的类型必须相同,认证的密码必须一致OSPF Header 头部报文解析:
OSPF Hello Packet 报文解析:
【 Network Mask 】 子网掩码 默认情况下:两个建立OSPF邻居的路由器,互联接口的掩码必须相同 【 Hello Interval 】 Hello时间间隔/Hello计时器/Hello时间 就是发送这个Hello报文的路由器,多长时间发一个Hello包 默认情况下:Hello时间为10秒 两台路由器,想要建立OSPF邻居,它们的Hello时间必须相同 【 Option 】 特殊标记位 不同的区域类型的标记位也不同 想要建立OSPF邻居,Option位必须相同 【 Router Priority 】 DR优先级,用于DR选举 如果两台想要建立OSPF邻居的路由器,在互联接口上都配置了自己的DR优先级为0,那么,两台路由器都不会参加DR选举 而在需要DR的网络中,选举不出DR,邻居就无法继续建立 所以,两台设备DR优先级为0,在需要DR的网络中,邻居状态会卡在2-way 【 Router Dead Interval 】 Dead时间/死亡时间 默认情况下:是Hello时间的4倍=40秒 Dead时间会随着Hello时间的改变而改变,但还是4倍关系 所以,我们如果更改Dead时间,一定要注意是否受Hello时间影响, 即:我们需要单独更改Dead时间(手动配置的Dead时间优先于默认情况——4倍Hello时间) 【Designated router 】 : DR :指定路由器 【backup Designated router】 :BDR :备份指定路由器 【Active Neighbor 】 : 活跃的邻居,我认可的邻居
六、OSPF路由角色
- 骨干路由器:路由器只要有一个接口在骨干区域
- 非骨干路由器:路由器的所有接口都在非骨干区域
- ABR(区域边界路由器) 同时连接着骨干区域和非骨干区域的路由器
- ASBR(自治系统边界路由器)具有产生外部路由能力的路由器
七、OSPF多区域实验案例
拓扑
需求
实现全网互联互通
配置步骤
1)配置PC接口IP地址
2)配置路由器的接口IP地址
3)配置OSPF
????????-创建ospf 进程 和 router-id
????????-配置ospf 区域id
????????-宣告直连网段进ospf
4)验证结果
配置命令
第一步:配置PC接口IP地址 第二步:配置路由器接口IP地址 第三步:配置OSPF: R1配置: ospf 1 router-id 1.1.1.1 area 0.0.0.12 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 R2配置: ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 network 192.168.12.0 0.0.0.255 R3配置: ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.34.0 0.0.0.255 R4配置: ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.34.0 0.0.0.255 network 192.168.45.0 0.0.0.255 R5配置: ospf 1 router-id 5.5.5.5 area 0.0.0.0 network 192.168.45.0 0.0.0.255 area 0.0.0.56 network 192.168.56.0 0.0.0.255 R6配置: ospf 1 router-id 6.6.6.6 area 0.0.0.56 network 192.168.2.0 0.0.0.255 network 192.168.56.0 0.0.0.255 第四步:验证结果 display ospf peer brief //查看邻居表简要信息 <R1>display ip routing-table protocol ospf PC1 ping PC2 验证结果
八、邻居建立失败的原因(已广播型网络为例)
1)两台路由器直连的接口必须互通,才能建立邻居关系
2)两台路由器router-id 不能相同,才能建立邻居关系
3)两台路由器互联接口的Area id 必须相同,才能建立邻居关系
4)两台路由器的接口的IP地址的子网掩码必须一致,才可以建立邻居关系(p2p除外)
5)两台路由器接口的Hello 时间必须一致,才能建立邻居关系
6)两台路由器接口的Dead时间必须一致,才能建立邻居关系
7)两台路由器的优先级不能全为0 (全为0可以建立邻居,无法建立邻接)
8) 认证类型必须相同(才能建立邻居关系)
9) 认证密码必须相同(才能建立邻居关系)
10)特殊标记位必须相同(才能建立邻居关系)
实验1:两台路由器的router-id 不能相同,如果相同,不能建立邻居关系
1)修改R1路由器的的router-id 为2.2.2.2 让R1的router-id 和R2的router-id 相同
????????2)配置命令
[R1]ospf 1 router-id 2.2.2.2 //修改R1的router-id 为2.2.2.2 <R1>reset ospf process //重启ospf 进程
????????3)验证:无法建立邻居关系
<R1> dis ospf peer br OSPF Process 1 with Router ID 2.2.2.2 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State ----------------------------------------------------------------------------
????????4)结论: 两台路由器的router-id 不能相同,如果相同无法建立邻居关系
????????5)备注:验证完成,记得恢复配置,把R1的router-id 在改回1.1.1.1
实验2: 两台路由器互联的接口所在的Area id 必须相同,如果不同,无法建立邻居关系
????????1)修改R1路由器的的Area id 为2 让R1的Area id 和R2的Area id 不相同
????????2)配置命令
[R1]ospf 1 [R1-ospf-1]area 0 [R1-ospf-1-area 0]undo network 192.168.12.0 0.0.0.255 [R1-ospf-1-area 0]area 2 [R1-ospf-1-area 0]network 192.168.12.0 0.0.0.255
????????3)验证:无法建立邻居关系
<R1> display ospf peer brief OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information Area Id Interface Neighbor id State
????????4)结论:两台路由器互联的接口所在的Area id 必须相同,如果不同,无法建立邻居关系
????????5)备注:验证完成,记得恢复配置,把R1的192.1680.10.0/24 网段重新在area 0 中宣告
实验3:(广播型网络)两台路由器互联接口的IP地址的子网掩码必须一致
????????1)修改R1路由器的接口IP地址的子网掩码,让R1的g0/0/0口和R2的g0/0/0口的IP地址掩码不一致
????????2)配置命令
[R1]interface g0/0/0 [R1-G0/0/0]undo ip address [R1-G0/0/0]ip address 192.168.12.1 25
????????3)验证:无法建立邻居关系
<R1>display ospf peer brief OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information Area Id Interface Neighbor id State
????????4)结论:两台路由器互联接口的IP地址的子网掩码必须一致
解释:
接口网络类型为Broadcast(广播类型)时,OSPF发HELLO报文发现邻居时,会检查一些参数,而子网掩码是其中一个要检查的参数。当双方的子网掩码不一致时,收到对方发来的HELLO报文不会接受,直接丢弃,从而导致不能正确建立邻居关系
如果网络类型是p2p,路由器不会对Netmask进行检查
????????5)备注:验证完成后,记得恢复配置,把R1的g0/0/0口的IP地址的掩码恢复为24
特殊情况:接口IP地址的子网掩码不一致,也建立了邻居关系(网络类型是P2P)
????????1)配置命令:
[R1]interface g0/0/0 [R1-G0/0/0]undo ip address [R1-G0/0/0]ip address 192.168.12.1 25 [R1-G0/0/0]ospf network-type p2p [R1]interface g0/0/0 [R1-G0/0/0]undo ip address [R1-G0/0/0]ip address 192.168.12.2 24 [R1-G0/0/0]ospf network-type p2p
????????2)结论:在P2P网络中,接口的掩码不一致,也可以建立邻居关系
????????3)备注:验证完成后,记得恢复配置,把接口的掩码和两台路由器的接口的网络类型在改回来
实验4:两台路由器接口的Hello 时间必须一致
????????1)修改R1路由器接口的hello时间,让R1接口的Hello时间和R2的不一致
????????2)配置命令
先查看R1的hello时间: [R1]dis ospf int g0/0/0 OSPF Process 1 with Router ID 1.1.1.1 Interfaces Interface: 192.168.12.1 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 192.168.12.1 Backup Designated Router: 192.168.12.2 Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1 修改R1的接口的hello时间 [R1]interface g0/0/0 [R1-g0/0/0]ospf timer hello 5 再次验证R1的hello 时间 [R1-GigabitEthernet0/0/0]dis ospf int g0/0/0 OSPF Process 1 with Router ID 1.1.1.1 Interfaces Interface: 192.168.12.1 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 192.168.12.1 Backup Designated Router: 192.168.12.2 Timers: Hello 5 , Dead 20 , Poll 120 , Retransmit 5 , Transmit Delay 1
????????3)验证:修改为hello时间为5秒后,dead 也跟着变为20秒, 验证结果无法建立邻居关系
那么到底是因为hello时间改变无法建立邻居关系,还是dead 时间改变无法建立邻居关系呢?
????????4)在次配置
[R1]interface g0/0/0 [R1-g0/0/0]ospf timer dead 40 备注:现在两端的的hello时间不一致,但是dead 时间一致,能否建立邻居关系呢?
????????5)再次验证
-验证两端的hello时间不一致, dead 时间一致,无法建立邻居关系
????????6)结论:两台路由器接口的Hello 时间必须一致,才能建立邻居关系
????????7)备注:验证完成后,记得恢复配置,把接口的hello时间改回来
实验5:两台路由器接口的Dead时间必须一致
思考:如何hello时间一致,而dead 时间不一致能否建立邻居呢
????????1)修改R1路由器接口的Dead时间,让R1接口的Dead时间和R2的不一致
????????2)配置命令:
[R1]interface g0/0/0 [R1-g0/0/0]ospf timer dead 50 [R1-GigabitEthernet0/0/0]dis ospf int g0/0/0 OSPF Process 1 with Router ID 1.1.1.1 Interfaces Interface: 192.168.12.1 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 192.168.12.1 Backup Designated Router: 192.168.12.2 Timers: Hello 10 , Dead 50 , Poll 120 , Retransmit 5 , Transmit Delay 1
????????3)验证:hello 时间一致,dead 时间不一致,无法建立邻居关系
????????4)结论:两台路由器接口的Dead时间必须一致,才能建立邻居关系
????????5)备注:验证完成后,记得恢复配置,把接口的dead时间改回来
实验6:两台路由器的优先级不能全为0,全为0可以建立邻居,无法建立邻接
????????1)修改路由器的优先级:链路两端的设备的优先级不能全为0
????????2)修改R1的g0/0/0的优先级为0,R2的g0/0/0的优先级不做修改,还是默认值1
????????3)配置命令
[R1]interface g0/0/0 [R1-g0/0/0]ip address 192.168.12.1 255.255.255.0 [R1-g0/0/0]ospf dr-priority 0 备注:R1接口优先级改为0,R2不做更改
????????4)验证:当链路两端设备接口的优先级一个为0 ,一个为1 的时候,可以建立邻居关系
????????5)我们继续实验
[R2]interface g0/0/0 [R2-g0/0/0]ip address 192.168.12.1 255.255.255.0 [R2-g0/0/0]ospf dr-priority 0 备注:R1和R2两台路由器的接口的优先级都为0
????????6)验证:链路两端的设备接口的优先级全为0,无法建立邻接,因为都链路两端的接口都变成DR-other(躺平-永远放弃了成为DR的机会)
当链路两端都是DR-other 的时候,邻居关系会永久的停留在2-way的状态,不会达到full 的状态
[R1]dis ospf peer br OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 2.2.2.2 2-Way
????????7)结论:当两端的路由器的接口优先级都为0,邻居关系无法full,永远停留在2-way状态
????????8)验证完成后,记得恢复配置,把接口的优先级改回1
备注:
????????&4:两端OSPF接口的网络类型是否一致。
????????一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不能正常建立起OSPF邻居关系。
????????-当链路两端的OSPF接口的网络类型一端是广播网而另一端是P2P时,双方仍可以正常的建立起邻接关系,但互相学不到路由信息。
????????&1: 修改设备的认证类型:认证类型必须相同(才能建立邻居关系)
????????&2:修改设备的密码认证:认证密码必须相同(才能建立邻居关系)
????????&3:特殊标记位不同:特殊标记位必须相同(才能建立邻居关系)
十、OSPF状态机 (7种状态)
- Down:邻居会话的初始阶段,表明还没有收到来自邻居路由器的Hello数据包。准备发送hello报文
- Attempt:该状态仅发生在NBMA网络中
- Init:接收到邻居发来的hello报文,但是该hello报文中没有自己的router id
- Two-way:接收到的hello报文中,有自己的router-id
- Exstart: 交互第一个dd,报文,确认主从关系,保证传输可靠
- Exchange:交互数据库描述信息
- Loading:数据库同步
- Full:完全邻接状态
?DD报文部分字段解释
?I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
?M (More):当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
?MS (Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,RouterID大的一方会成为Master。当值为1时表示发送方为Master。
?DD sequence number:DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
?R1开始向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的、并且在本地LSDB中没有的链路状态信息。
?R2向R1发送LSU报文,LSU报文中包含了那些被请求的链路状态的详细信息。R1在完成LSU报文的接收之后,且没有其他待请求的LSA后,会将邻居状态从Loading变为Full。
R1向R2发送LSAck报文,作为对LSU报文的确认
十一、OSPF网络类型
????????为什么要有网络类型?
????????????????因为OSPF运行在不同的链路层就会有不同的问题,比如运行在以太网,默认为广播的网络环境下,就会存在共享网段中邻居数量多的问题,占用设备资源的问题,所以有了多种网络类型来适应不同的网络环境。
????????分类
-
广播类型(Broadcast)
????????数据链路层协议为以太网时,OSPF默认的网络类型为广播
-
非广播类型(NBMA)
????????当链路层协议是fr时,国内都已经不用了,OSPF运行在这个网络环境中,默认使用NBMA的网络类型 (不常见)
-
点到点(P2P)
????????数据链路层运行的协议为PPP或者HDLC时,默认的网络类型为P2P
-
点到多点(P2MP)
????????点到多点就是多个点到点(不常见)
????????OSPF网络类型
- 概述
- OSPF有四种网络类型:broadcast(广播)、nbma(非广播)、p2p(点到点)、p2mp(点到多点)
- 默认网络类型 broadcast
- 存在DR的网络类型 broadcast nbma
- 不同类型的区别
????????【 broadcast】
????????是否选DR:是
????????是否主动发包:是
????????发包方式:组播,目的IP为224.0.0.5
????????Hello时间:10秒
????????Dead时间:40秒
????????【 nbma】
????????是否选DR:是
????????是否主动发包:否,必须在OSPF进程下使用peer命令才可以
????????发包方式:组播,目的IP为邻居接口的IP地址
????????Hello时间:30秒
????????Dead时间:120秒
????????【 p2p 】
????????是否选DR:否
????????是否主动发包:是
????????发包方式:组播,目的IP为224.0.0.5
????????Hello时间:10秒
????????Dead时间:40秒
????????【 p2mp 】
????????是否选DR:否
????????是否主动发包:是
????????发包方式:组播,目的IP为224.0.0.5
????????Hello时间:30秒
????????Dead时间:120秒
OSPF nbma 网络类型下,建立OSPF邻居实验
- 拓扑
- 配置命令
【 R1 】 interface GigabitEthernet 0/0/0 ip address 192.168.12.1 24 ospf network-type nbma //将OSPF接口的网络类型改成NBMA # ospf 1 router-id 1.1.1.1 peer 192.168.12.2 //一定要用peer命令写上对端设备的接口IP地址 area 0 network 192.168.12.1 0.0.0.0 【 R2 】 interface GigabitEthernet 0/0/1 ip address 192.168.12.2 24 ospf network-type nbma //将OSPF接口的网络类型改成NBMA # ospf 1 router-id 2.2.2.2 peer 192.168.12.1 //一定要用peer命令写上对端设备的接口IP地址 area 0 network 192.168.12.2 0.0.0.0
- 查看OSPF接口命令【 以R1 为例 】
[R1]display ospf interface GigabitEthernet 0/0/0 OSPF Process 1 with Router ID 1.1.1.1 Interfaces Interface: 192.168.12.1 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: NBMA MTU: 1500 Priority: 1 Designated Router: 192.168.12.1 Backup Designated Router: 0.0.0.0 Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1 【 State 】 接口的状态,此接口为DR,所以状态标明是DR 如果接口为BDR,状态标明是BDR 如果接口是DRother,状态标明是DRother 【 Type 】 接口的网络类型 【 Hello/Dead 】 我们往往通过这条命令去看接口的Hello时间和Dead时间
OSPF p2p网络类型下,建立OSPF邻居实验
- 拓扑
- 配置命令
【 R1 】 interface GigabitEthernet 0/0/0 ip address 192.168.12.1 24 ospf network-type p2p //将OSPF接口的网络类型改成p2p # ospf 1 router-id 1.1.1.1 area 0 network 192.168.12.1 0.0.0.0 【 R2 】 interface GigabitEthernet 0/0/1 ip address 192.168.12.2 24 ospf network-type p2p //将OSPF接口的网络类型改成p2p # ospf 1 router-id 2.2.2.2 area 0 network 192.168.12.2 0.0.0.0
-
R1和R2不在同一网段,但能够互相ping通,是否可以建立P2P的邻居关系?
????????可以
????????因为,设备的互联接口为p2p、p2mp时,是不检查Hello报文中的Network Mask字段的
????????所以,p2p、p2mp网络类型下,R1和R2可以建立邻居
????????但是,在broadcast、nbma网络环境下,是检查Hello报文中的Network Mask字段的
????????所以,broadcast、nbma网络类型下,R1和R2不可以建立邻居
-
OSPF设备,一边是broadcast,另一边是p2p,是否可以建立OSPF邻居?
- 拓扑
【 R1 】 interface GigabitEthernet 0/0/0 ip address 192.168.12.1 24 ospf network-type p2p //将OSPF接口的网络类型改成p2p # ospf 1 router-id 1.1.1.1 area 0 network 192.168.12.1 0.0.0.0 【 R2 】 interface GigabitEthernet 0/0/1 ip address 192.168.12.2 24 # ospf 1 router-id 2.2.2.2 area 0 network 192.168.12.2 0.0.0.0
- 注意
????????这其实是一种特殊情况
????????我们在OSPF排错时,如果OSPF的邻居状态是FULL,但是无法计算路由,需要考虑到这种情况
十二、DR与BDR
1、说明
????????-在ospf 数据库中,包含很多的链路状态信息:LSA(链路状态通告),这些LSA中,有本设备生成的LSA,也有从邻居哪里学来的LSA
????????-每一个ospf 路由器,都是利用自己数据库中的这些LSA的来计算路由条目,然后将最好的路由放到路由表中,形成第三张表,路由表
????????-路由器之间,通过ospf 建立邻居关系,互相分享自己的数据库条目(LSA)的过程,称为数据库同步
????????-在OSPF邻居之间,同步数据库的时候,大概可以分类这两种情况
????????&1:一个网段中(1根网线上,不是一个ospf网络中),只有两台设备,并且互为邻居,这种情况下,数据库同步非常的高效
????????&2:一个网段中,存在多个设备,并且互为邻居,这种情况下,数据库同步就非常复杂,同步的非常慢
所以在广播型网络中建立邻居,就有可能很复杂
公式:n(n-1)/2
- 为什么要有DR/BDR?
-共享网络中,邻接关系数量多,重复发送协议报文(DD,LSR,LSU,LSAK),占用网络资源,同步信息效率低
- 什么是DR/BDR
理解:DR就是班长,BDR就是副班长,其他同学只和班长和副班长建立邻
接,同学之间只需要建立邻居,不需要建立邻接,从而减少了数据库同步频率,降低了设备负载,加快了数据库同步效率
- DR的作用
-减少邻接关系,降低设备负担
-减少OSPF协议流量
-加快数据库同步
- DR的选举原则
-比较接口优先级,越大约优, 默认优先级为1,如果优先级相同
-则比较Router-id,越大越优
- DR的特点
-不能抢占
-每个网段中DR只有一个,BDR可以没有,DR必须有一个,如果没有DR,邻居将会一直卡在To-way状态
-当DR优先级为0时,不参加DR选举,直接变成DR-other
- 路由器的接口角色
-DR:指定路由器
-BDR:备份指定路由器
-DR-Other
注意:DR是接口的概念,不是路由器的概念,我们可以说这个接口是不是DR或者BDR,不能说这个路由器是不是DR路由器或者BDR路由器。
2、修改接口的DR优先级
[R1]dis ospf int g0/0/0 OSPF Process 1 with Router ID 1.1.1.1 Interfaces Interface: 192.168.12.1 (GigabitEthernet0/0/0) 接口状态:DR 类型 :广播 Cost: 1 State: DR Type: Broadcast MTU: 1500 Priority: 1 //DR的优先级,默认为1 Designated Router: 192.168.12.1 //DR是10.1(本端接口) Backup Designated Router: 192.168.12.2 //BDR是10.2(对端接口) Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1 [R2-G0/0/0]ospf dr-priority 100 //修改接口的优先级为100 <R1>reset ospf process <R2>reset ospf process 备注:修改接口的优先级后(优先级调大后),需要重启ospf进程后,才可以成为DR 因为DR很重要,所有他要求稳定性 [R2-G0/0/0]ospf dr-priority 0 //修改接口的优先级为0 备注:接口的优先级改为0,接口的状态立即转为DR-other
十三、链路状态数据库(LSDB)
1、LSDB
????????作用:存储各种类型的LSA
????????LSA:链路状态通告信息
????????LSA:其实就是拓扑信息+网段信息
配置完ospf 就可以自动计算出来路由 为什么可以计算路由呢? 因为我们进行数据库同步 数据库是什么呢? LSDB :链路状态数据库 这个是LSDB是做啥的呢? 是用来存储LSA的 LSA是什么? LSA:链路状态通告 链路状态通告: 其实就是拓扑信息+网段信息 所以LSA就是链路状态通告,LSA就是:拓扑信息+网段信息 拓扑信息: 拓扑图: 我是谁,我连着谁, 我用那个接口连着那台路由器 网段信息:我的接口IP地址是多少,我的接口IP的掩码是多少, 我的接口的cost值是多少 所以 LSA其实就是拓扑信息+网段信息,,而拓扑信息和信息就是计算路由的必备原材料 路由条目: 目的地址192.168.1.0/24 cost=5 下一跳地址:192.168.2.1 出接口:g0/0/1 所以:LSA就是计算路由的必备的原材料 所以同步数据库的过程,说人话,就是交换LSA的过程 同步数据库的结果:就是在同一个区域的路由器,他们的数据库完全一抹一样,就是数据库里面的LSA的条目完全相同
2、LSA分类:
1类LSA:Router-LSA
2类LSA:Network-LSA
3类LSA:Network-summary-LSA
4类LSA: ASBR-summary-LSA
5类LSA:AS-external-LSA
7类LSA:NSSA LSA
3、分析OSPF数据库结构
<R1> display ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 34 36 80000010 1 Router 1.1.1.1 1.1.1.1 31 36 80000016 1 Network 192.168.12.2 2.2.2.2 31 32 80000003 0 解析: -LSDB:链路状态数据库 作用:存储LSA -LSA:链路状态通告:由拓扑信息+网段信息组成 作用:计算路由信息的必备“原材料” -LSA的结构: &:Type:类型:表示的是LSA的各种类型, 包含1、2、3、4、5、71 &:LinkState ID:名字:表示的LSA的名字 &:AdvRouter :通告路由器:表示的是产生这个LSA的路由器的router-id &:Age:年龄:表示的是LSA的存活时间或者老化时间,最大时间是3600S LSA可以周期性或者触发性更新 LSA周期性更新:默认是1800S刷新一次,每刷新1次,LSA的序列号(sequence)就+1 &:Len:长度,表示的是LSA的大小(单位是字节) &:Sequence :序列号:表示的LSA的新旧程度,数值越大表示越新(初始: 80000001) &:Metric :开销值(就是cost值) 备注:唯一的标识一个LSA的3个特别重要的字段分别是 -类型:Type -名字:LinkState ID -通告路由器:AdvRouter 只要记住这三个字段,就能唯一的区分一个LSA,这三个字段,我们可以称为LSA的三元组
十四、1、2、3类LSA解析
实验案例
拓扑
需求
(1)企业核心机房,连接不同楼宇,实现不同楼宇互通;
(2)企业核心机房设置为OSPF骨干区域;
(3)其他办公楼宇为非骨干区域,通过路由器与核心机房互联互通
配置步骤
1)配置接口信息
????????- 配置PC的IP地址
????????- 配置路由器的接口
2)配置OSPF单区域
????????- 创建ospf进程,定义router-id
????????- 指定相应区域
????????- 宣告网段进入ospf
3)配置OSPF多区域
4)宣告业务网段
5)验证信息
????????pc1 ping pc2进行连通性测试
配置命令
第一步:配置PC接口IP地址 第二步:配置路由器接口IP地址 第三步:配置OSPF: R1配置: interface GigabitEthernet0/0/0 ip address 192.168.12.1 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.1.254 255.255.255.0 # ospf 1 router-id 1.1.1.1 area 0.0.0.12 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 R2配置: interface GigabitEthernet0/0/0 ip address 192.168.23.2 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.12.2 255.255.255.0 # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 network 192.168.12.0 0.0.0.255 R3配置: # interface GigabitEthernet0/0/0 ip address 192.168.34.3 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.23.3 255.255.255.0 # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.34.0 0.0.0.255 R4配置: # interface GigabitEthernet0/0/0 ip address 192.168.45.4 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.34.4 255.255.255.0 # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.34.0 0.0.0.255 network 192.168.45.0 0.0.0.255 R5配置: interface GigabitEthernet0/0/0 ip address 192.168.56.5 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.45.5 255.255.255.0 # ospf 1 router-id 5.5.5.5 area 0.0.0.0 network 192.168.45.0 0.0.0.255 area 0.0.0.56 network 192.168.56.0 0.0.0.255 R6配置 # interface GigabitEthernet0/0/1 ip address 192.168.56.6 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.2.254 255.255.255.0 # ospf 1 router-id 6.6.6.6 area 0.0.0.56 network 192.168.2.0 0.0.0.255 network 192.168.56.0 0.0.0.255
测试与验证: PC1 ping PC2 **常用查询命令** display ip interface brief //查看接口IP地址 display ospf interface //查看DR/BDR信息 display ospf interface g0/0/0 //查看接口OSPF信息 display ospf lsdb //查看ospf数据库信息 display ospf brief //查看ospf简要信息 display ospf routing //查看ospf协议路由表 display ip routing-table //查看IP核心路由表 display ospf peer brief //查看邻居表
LSA字段解析
类型(Type):指示本LSA的类型。 名字(LinkState ID):不同的LSA,对该字段的定义不同。 通告路由器(AdvRouter):产生该LSA的路由器的RouterID。 LSAge(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。 Options(可选项):每一个bit都对应了OSPF所支持的某种特性。 LSSequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。 LSChecksum(校验和):用于保证数据的完整性和准确性。 Length:是一个包含LSA头部在内的LSA的总长度值。 备注: LSA的三元组:链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA。 判断LSA新旧:链路状态老化时间、链路状态序列号 、校验和用于判断LSA的新旧
1类LSA
类型:(Type):Router-LSA
名字:(LinkState ID):1类LSA的名字取自-生产这条LSA的路由器的Router-id
通告路由器:(AdvRouter):区域内每一台路由器都会产生一个1类LSA
特点:每一个运行OSPF协议的路由器,都会在这台路由器所处的区域中生成一个1类的LSA
传递范围:只能在区域内传递
作用:区域内的路由器的自我介绍
????????自我介绍,介绍什么内容:
????????介绍两个内容:拓扑信息+网段信息
????????拓扑信息:我是谁,我连着谁
????????网段信息:我的接口网段,我接口网段的掩码,我的接口的cost开销值
查询命令:
<R1>dis ospf lsdb router
<R1>dis ospf lsdb router 1.1.1.1
LSA字段解析:参考:
1)P2P网络类型:的1类LSA解析 (P2P的1类比较简单,容易理解,先看这个)
备注:为什么说P2P的1类的LSA容易理解呢?
????????因为在P2P网络类型中,一个网络中,只有2台设备,也不需要选举DR
????????所以在P2P的网络中,只用1类的LSA就可以在本区域中描述清楚1台路由器的自我介绍信息(拓扑信息和网段信息)
先修改网络类型:将区域12内接口的网络类型改为P-2-P [R1-G0/0/0]ospf network-type p2p [R2-G0/0/1]ospf network-type p2p [R1] dis ospf lsdb router 1.1.1.1 OSPF Process 1 with Router ID-1.1.1.1 Area: 0.0.0.12 Link State Database Type : Router 我是1类的LSA Ls id : 1.1.1.1 我的名字是1.1.1.1 Adv rtr : 1.1.1.1 我老爹是1.1.1.1 路由器1.1.1.1 生产的我 Ls age : 451 我的年龄451岁(我活来451秒了) Len : 48 我的长度(我的大小48个字节) Options : E 我有一种能力,就是引入外部路由的能力 seq# : 8000000a 我在这个世界上,已经重生了7次(序列号越大,代表LSA越新) 默认LSA-1800秒刷新1次,每刷新1次,序列号+1 序列号有两种更新方式:周期性更新(1800秒刷新1次) 触发失更新 (拓扑或网段变化的时候更新) chksum : 0xd0f1 我的校验和(序列号相同的情况下,校验和越大,代表LSA越新) Link count: 3 我有3条链路(LSA表示了两种信息,拓扑信息和网段信息) * Link ID: 2.2.2.2 我是邻居的名字 Data : 192.168.12.1 我的接口IP地址是192.168.12.1(我用这个IP连接我的邻居) Link Type: P-2-P 这是描述的拓扑信息 Metric : 1 我的cost值是1 * Link ID: 192.168.12.0 我的接口的IP地址段是192.168.12.0 Data : 255.255.255.0 我的接口的IP地址段的掩码是24 Link Type: StubNet 这是描述的网段信息 Metric : 1 我的cost值是1 Priority : Low * Link ID: 192.168.1.0 我的接口IP地址段是192.168.1.0 Data : 255.255.255.0 我的接口IP地址段的掩码是24 Link Type: StubNet 这是描述的网段信息 Metric : 1 我的cost值是1 Priority : Low [R1] dis ospf lsdb router 2.2.2.2 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.12 Link State Database Type : Router 我是1类的lsa Ls id : 2.2.2.2 我的名字是2.2.2.2 Adv rtr : 2.2.2.2 我老爹是2.2.2.2 Ls age : 64 我的年龄是64 Len : 48 我的长度(48个字节) Options : ABR E 我的能力(我是ABR,而且我还能引入外部路由) seq# : 80000002 我的序列号 chksum : 0x3808 我的校验和 Link count: 2 我有2条链路信息(拓扑信息和网段信息) * Link ID: 1.1.1.1 我的邻居是1.1.1.1 Data : 192.168.12.2 我的接口IP是192.168.12.2 Link Type: P-2-P 这是描述拓扑信息 Metric : 1 我的开销值是1 * Link ID: 192.168.12.0 我接口的IP地址段是192.168.12.0 Data : 255.255.255.0 我的掩码是24 Link Type: StubNet 这是描述网段信息 Metric : 1 我的cost值是1 Priority : Low
备注:根据P2P网络中的1类LSA就可以清晰的描述出这个区域中的拓扑信息和网段信息
2)广播型网络的1类LSA解析
先修改网络类型:将区域12内接口的网络类型改为广播网络 [R1-G0/0/0]ospf network-type broadcast [R2-G0/0/1]ospf network-type broadcast 验证:LSDB数据库中,多了一条2类的LSA 备注:在P2P网络中,由于不需要选举DR,所以也不会有2类的LSA (network 192.168.12.2) [R1]dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 76 36 80000007 1 Router 1.1.1.1 1.1.1.1 85 48 8000000A 1 Network 192.168.12.2 2.2.2.2 76 32 80000002 0 Sum-Net 192.168.45.0 2.2.2.2 1688 28 80000002 3 Sum-Net 192.168.23.0 2.2.2.2 1788 28 80000001 1 Sum-Net 192.168.56.0 2.2.2.2 1688 28 80000001 4 Sum-Net 192.168.34.0 2.2.2.2 1715 28 80000001 2 Sum-Net 192.168.2.0 2.2.2.2 1686 28 80000001 5 <R1> display ospf lsdb router 1.1.1.1 OSPF Process 1 with Router ID1.1.1.1 Area: 0.0.0.12 Link State Database Type : Router 我是1类的LSA Ls id : 1.1.1.1 我的名字是1.1.1.1 Adv rtr : 1.1.1.1 我的老爹的名字-生产我的路由器的router-id Ls age : 287 我的年龄 Len : 48 我的长度(48个字节) Options : E 我的能力-引入外部路由 seq# : 8000000a 我的序列号 chksum : 0x7365 我的校验和 Link count: 2 我的链路信息(2条链路) * Link ID: 192.168.12.2 我连接着DR,DR的接口的IP地址是192.168.12.2 Data : 192.168.12.1 我的接口的IP地址:192.168.12.1 连接着DR Link Type: TransNet 这个描述的是拓扑信息 Metric : 1 我的cost值是1 * Link ID: 192.168.1.0 我的接口网段是192.168.1.0 Data : 255.255.255.0 我的接口掩码是24 Link Type: StubNet 这个描述的是网段信息 Metric : 1 我的cost值是1 Priority : Low <R1>dis ospf lsdb router 2.2.2.2 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.12 Link State Database Type : Router 我是1类LSA Ls id : 2.2.2.2 我的名字是2.2.2.2 Adv rtr : 2.2.2.2 我的老爹是2.2.2.2(生产我的路由器的router-id是2.2.2.2) Ls age : 712 我的年龄是712(我活了712秒了) Len : 36 我的大小(36个字节) Options : ABR E 我的能力:我是ABR,我可以引入外部路由 seq# : 80000007 我的序列号 chksum : 0x202d 我的校验和 Link count: 1 我有1条链路 * Link ID: 192.168.12.2 我连接着DR,DR的IP地址是192.168.12.2 (DR是伪节点) Data : 192.168.12.2 我用接口IP地址192.168.12.2 连接着DR(192.168.12.2) Link Type: TransNet 这是描述的拓扑信息 Metric : 1 我的cost是1 备注:广播型网络中的1类LSA,给出我们的信息遗漏两个重要的因素 1)我们连接DR的那个接口的IP地址的掩码信息是多少,1类的LSA没有告诉我们 192.168.12.1和192.168.12.2的掩码是多少,学习1类LSA的邻居是无法感知到的 2)通过1类的LSA,我们无法感知到邻居的存在,也无法感知用那个接口IP连接着邻居 只能感知到我们连接着DR 所以,在广播型网络中,我们学习到拓扑信息和网段信息不全,没有办法精确的计算出来路由 所以在广播型网络中,我们还需要2类LSA来弥补1类LSA的不足
2类LSA
类型:Network-LSA
名字(LinkState ID):2类LSA的名字取自-DR接口的IP地址
通告路由器:DR接口所在的那台路由器的Router-id
传递范围:只能在区域内传递
作用:补全DR所在网段的掩码信息,同时记录了该网段内所有与DR建立邻接关系的OSPF路由器,描述完整的区域内的拓扑信息
查询命令:
<R1>dis ospf lsdb network
<R1>dis ospf lsdb network 192.168.12.2
<R1>display ospf lsdb network 192.168.12.2 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.12 Link State Database Type : Network 我是2类的LSA Ls id : 192.168.12.2 我的名字是192.168.12.2(DR接口的IP地址) Adv rtr : 2.2.2.2 我的老爹是2.2.2.2(DR接口所在的那台路由器的router-id) Ls age : 1048 我的年龄(1048秒) Len : 32 我的长度(32个字节) Options : E 我的能力 seq# : 80000003 我的序列号 chksum : 0x6d5f 我的校验和 Net mask : 255.255.255.0 我的掩码是24 -描述的是192.168.12.0网段的掩码 Priority : Low Attached Router 2.2.2.2 我连接着一个小弟是2.2.2.2 (描述的是拓扑信息) Attached Router 1.1.1.1 我连接着另外一个小弟是1.1.1.1 (描述的是拓扑信息) 备注:最后两条信息,代表DR的管理范围 也就是说:2.2.2.2 连接着DR,要和DR建立邻接关系,这个2.2.2.2归DR管理 1.1.1.1 连接着DR,要和DR建立邻接关系,这个1.1.1.1归DR管理 DR是虚拟且独立的存在,虚拟的设备能够收发报文吗?能够转发报文吗? 不可以,所以DR需要在自己管理的范围内,选举一台路由器的接口来代替自己工作 选一个最好的接口,这个被选中的接口,就称为DR
3类LSA
类型: Network-summary-LSA
名字:LinkState : 3类LSA的名字取自-区域之间的路由的网段的名字
通告路由器:本区域中的ABR路由器的Router-id
传递范围:3类的LSA仅仅在区域内传播
3类LSA在传播的过程中,每经过一个ABR设备, (通告路由器)都会变化一次,变成所有经过的那台ABR的 Router-id
唯一的标识一个LSA的三元组是,LSA类型、LSA名字、LSA通告路由器,所以3类LSA在传递过程经过一台ABR设备,通告路由器就变成这台ABR的router-id ,所以,三元组中的LSA通告路由器发送变化,我们就不认为条目是同一个3类LSA了
作用:将区域内的1、2类LSA计算出来的路由,变成3类LSA在其他区域泛洪(广播),实现区域与区域之间的通信
查询命令:
<R1>dis ospf lsdb summary
<R1>dis ospf lsdb summary 192.168.56.0
<R1>dis ospf lsdb summary 192.168.56.0 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.12 Link State Database Type : Sum-Net //我是3类LSA Ls id : 192.168.56.0 //我是其他区域的192.168.56.0网段 Adv rtr : 2.2.2.2 //在12区域通告我的路由器是2.2.2.2(ABR设备) Ls age : 840 Len : 28 Options : E seq# : 80000009 chksum : 0x2b7c Net mask : 255.255.255.0 //掩码是24 Tos 0 metric: 4 //开销值是4 Priority : Low
十五、4、5类LSA解析
实验案例
拓扑
需求
实现PC1和PC3互联互通
配置步骤
1)配置接口信息
????????- 配置PC的IP地址
????????- 配置路由器的接口
2)配置OSPF单区域
????????- 创建ospf进程,定义router-id
????????- 指定相应区域
????????- 宣告网段进入ospf
3)配置OSPF多区域
4) R6配置去往PC3的静态路由
5)R7上配置去往PC1、PC2的静态路由
6)R6上在OSPF进程下引入外部路由
7) 业务连通性测试
????????- pc1 ping pc3进行连通性测试
配置命令
第一步:配置PC接口IP地址 第二步:配置路由器接口IP地址 第三步:配置OSPF: **R1配置:** interface GigabitEthernet0/0/0 ip address 192.168.12.1 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.1.254 255.255.255.0 # ospf 1 router-id 1.1.1.1 area 0.0.0.12 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 **R2配置:** interface GigabitEthernet0/0/0 ip address 192.168.23.2 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.12.2 255.255.255.0 # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 network 192.168.12.0 0.0.0.255 **R3配置:** # interface GigabitEthernet0/0/0 ip address 192.168.34.3 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.23.3 255.255.255.0 # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.34.0 0.0.0.255 **R4配置:** # interface GigabitEthernet0/0/0 ip address 192.168.45.4 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.34.4 255.255.255.0 # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.34.0 0.0.0.255 network 192.168.45.0 0.0.0.255 **R5配置:** interface GigabitEthernet0/0/0 ip address 192.168.56.5 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.45.5 255.255.255.0 # ospf 1 router-id 5.5.5.5 area 0.0.0.0 network 192.168.45.0 0.0.0.255 area 0.0.0.56 network 192.168.56.0 0.0.0.255 **R6配置** # interface GigabitEthernet0/0/1 ip address 192.168.56.6 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.2.254 255.255.255.0 # ospf 1 router-id 6.6.6.6 area 0.0.0.56 network 192.168.2.0 0.0.0.255 network 192.168.56.0 0.0.0.255 第四步:R6配置去往PC3的静态路由 **R6配置** # interface GigabitEthernet0/0/0 ip address 192.168.67.6 255.255.255.0 # ip route-static 192.168.3.0 24 192.168.67.7 第五步:R7配置去往PC1/PC2的静态路由 **R7配置** interface GigabitEthernet0/0/0 ip address 192.168.67.7 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.3.254 255.255.255.0 # ip route-static 192.168.0.0 16 192.168.67.6 第六步:R6上在OSPF进程下引入静态路由 **R6配置** ospf 1 router-id 6.6.6.6 import-route static 第七步:验证与测试 PC1可以访问PC3
4类LSA
类型:ASBR-summary-LSA
名字:4类的LSA的名字取自-ASBR的router-id 6.6.6.6
通告的路由器:ABR的router-id
????????????????第一个创建4类LSA那台设备是 和ASBR在同一个区域的那台ABR创建的
????????????????其实就是和R6在同一个区域的那台R5创建的
传递范围:在同一区域内传输,每经过一台ABR后通告路由器发生改变(-4类的LSA在传输的过程中,每经过一个ABR,通告的路由器都会发生变化,变成所经过的那个ABR的router-id)
作用:在不同的区域传递ASBR的router-id, 带你找到ASBR所在的位置,主要目的是为了配合5类的LSA,计算外部路由的
特性:最初始的4类的LSA 是由和ASBR那台设备在同一个区域的ABR设备自动产生的
查询命令:
<R1>dis ospf lsdb asbr
<R1>dis ospf lsdb asbr 6.6.6.6
<R1>display ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 693 36 80000022 1 Router 1.1.1.1 1.1.1.1 699 36 8000001F 1 Network 192.168.12.2 2.2.2.2 693 32 8000000D 0 Sum-Net 192.168.45.0 2.2.2.2 1290 28 8000000F 3 Sum-Net 192.168.23.0 2.2.2.2 1548 28 8000000F 1 Sum-Net 192.168.56.0 2.2.2.2 1146 28 8000000F 4 Sum-Net 192.168.34.0 2.2.2.2 1381 28 8000000F 2 Sum-Net 192.168.2.0 2.2.2.2 1758 28 80000015 5 Sum-Asbr 6.6.6.6 2.2.2.2 817 28 80000005 4 AS External Database Type LinkState ID AdvRouter Age Len Sequence Metric External 192.168.3.0 6.6.6.6 820 36 80000005 1 <R1>dis ospf lsdb asbr 6.6.6.6 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.12 Link State Database Type : Sum-Asbr //我是4类LSA Ls id : 6.6.6.6 //我的名字是ASBR的router-id Adv rtr : 2.2.2.2 //在区域12通告我的路由器是2.2.2.2 (ABR) Ls age : 1100 Len : 28 Options : E seq# : 80000006 chksum : 0x2a09 Tos 0 metric: 4
5类LSA
类型:AS-external-LSA
名字:5类LSA的名字取自-引入外部路由的网段的名字
通告的路由器:ASBR的router-id
传递范围:在整个OSPF网络内传播
作用:用于通告外部路由
特点:只有ASBR可以产生5类的LSA
????????5类的LSA可以传输到OSPF网络中的任何地方,在传输的过程中,LSA没有任何变化
????????5类的LSA不属于任何一个区域
查询命令:
dis ospf lsdb ase
dis ospf lsdb ase 192.168.3.0
<R1>dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 1069 36 80000023 1 Router 1.1.1.1 1.1.1.1 1075 36 80000020 1 Network 192.168.12.2 2.2.2.2 1069 32 8000000E 0 Sum-Net 192.168.45.0 2.2.2.2 1666 28 80000010 3 Sum-Net 192.168.23.0 2.2.2.2 124 28 80000011 1 Sum-Net 192.168.56.0 2.2.2.2 1522 28 80000010 4 Sum-Net 192.168.34.0 2.2.2.2 1757 28 80000010 2 Sum-Net 192.168.2.0 2.2.2.2 1758 28 80000015 5 Sum-Asbr 6.6.6.6 2.2.2.2 1193 28 80000006 4 AS External Database Type LinkState ID AdvRouter Age Len Sequence Metric External 192.168.3.0 6.6.6.6 1196 36 80000006 1 <R1>display ospf lsdb ase 192.168.3.0 OSPF Process 1 with Router ID 1.1.1.1 Link State Database Type : External //我是5类的LSA Ls id : 192.168.3.0 //我引入的外部路由网段是192.168.3.0 Adv rtr : 6.6.6.6 //我的通告路由器是ASBR-6.6.6.6 Ls age : 1678 Len : 36 Options : E seq# : 80000006 chksum : 0x83c5 Net mask : 255.255.255.0 TOS 0 Metric: 1 // cost值是1 E type : 2 //引入外部路由,默认的类型是2 Forwarding Address : 0.0.0.0 //转发地址0.0.0.0 代表的就是6.6.6.6自己 Tag : 1 Priority : Low
十六、特殊区域
OSPF区域划分
1)区域类型
????????-骨干区域
????????-非骨干区域
2) 另外一种区域类型的说法
????????&:普通区域: 骨干区域属于普通区域,非骨干区域也是普通区域
????????&:特殊区域
????????????????@:stub area :末梢区域
????????????????@:Totally stub area :完全的末梢区域
????????????????@:NSSA :not so stub area : 不那么末梢的区域
????????????????@: Totally NSSA :完全的NSSA
特殊区域的作用
1.保护一个区域不受来自外部链路和区域间链路不稳定的影响
2.减少LSA的数量,减少路由条目的数量,降低设备负载,
Stub区域的特点:
-作用:保护一个区域不受来自外部链路的影响
????????减少LSA的数量,减少路由条目的数量,降低设备负载,
-不学习,4类和5类的LSA
-只学习1类,2类,3类的LSA
-stub 区域的ABR会自动生成一条默认的3类的LSA,用于计算默认路由
-特点:骨干区域不可以设置为stub
-如果要将一个区域做成stub 区域,这个区域的所有设备都要配置为stub 区域
-stub 区域自身不支持外部路由的引入
-stub区域中不能存在虚连接
stub: 区域 叫做末梢区域,是指一个网络的边缘,末梢 末梢就像一棵树的树梢一样很脆弱,需要保护 骨干区就像树干一样,很健壮,末梢很脆弱,需要保护 为什么?因为在企业中,骨干区域的设备,一般比较昂贵,性能很强悍,处理数据的速度快,能力强,存储空间大 但是在普通区域,由于转发数据的有限, 所以购买的路由器价格便宜,性能很弱,没有办法承载大量的路由条目 现在公司要引入5万条,外部路由,骨干区域的设备,是能够承受,但是末梢区域的设备无法承受 所以我们要保护末梢区域的路由器 1)第一,当外部链路不稳定的时候,会对末梢区域的设备有影响,外部链路down掉后,在up, 末梢区域的设备需要重新同步数据库,压力很大 2)第二,当引入的外部路由过多,末梢区域的路由器扛不住,可能会宕机 所以我们要保护末梢区域的路由器,怎么保护,很简单: 1)stub区域,不要5类的LSA 也不要4类的LSA---数据库就下了,路由表也小了,设备的压力也小了,网络稳定性提高来,数据转发效率增强了 2)stub区域,只要1类的LSA,2类的LSA, 3类的LSA 如何配置:这个区域要做出stub区域,那么这个区域内的所有设备都要配置为stub
Stub实验和配置命令
拓扑
需求
将区域12设置为Stub区域,使区域12的路由设备不受外部链路影响(不接收4/5类LSA)降低区域12(末梢区域)设备压力,还能让区域12的PC1与外部PC3通信
配置步骤
1)配置接口信息
- 配置PC的IP地址
- 配置路由器的接口
2)配置OSPF单区域
- 创建ospf进程,定义router-id
- 指定相应区域
- 宣告网段进入ospf
3)配置OSPF多区域
4) R6配置去往PC3的静态路由
5)R7上配置去往PC1、PC2的静态路由
6)R6上在OSPF进程下引入外部路由
7)将区域12设置为stub区域
8) 验证stub区域特性,验证业务连通性
- pc1 ping pc3进行连通性测试
配置命令
第一步:配置PC接口IP地址 第二步:配置路由器接口IP地址 第三步:配置OSPF: **R1配置:** interface GigabitEthernet0/0/0 ip address 192.168.12.1 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.1.254 255.255.255.0 # ospf 1 router-id 1.1.1.1 area 0.0.0.12 network 192.168.1.0 0.0.0.255 network 192.168.12.0 0.0.0.255 **R2配置:** interface GigabitEthernet0/0/0 ip address 192.168.23.2 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.12.2 255.255.255.0 # ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 network 192.168.12.0 0.0.0.255 **R3配置:** # interface GigabitEthernet0/0/0 ip address 192.168.34.3 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.23.3 255.255.255.0 # ospf 1 router-id 3.3.3.3 area 0.0.0.0 network 192.168.23.0 0.0.0.255 network 192.168.34.0 0.0.0.255 **R4配置:** # interface GigabitEthernet0/0/0 ip address 192.168.45.4 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.34.4 255.255.255.0 # ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 192.168.34.0 0.0.0.255 network 192.168.45.0 0.0.0.255 **R5配置:** interface GigabitEthernet0/0/0 ip address 192.168.56.5 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.45.5 255.255.255.0 # ospf 1 router-id 5.5.5.5 area 0.0.0.0 network 192.168.45.0 0.0.0.255 area 0.0.0.56 network 192.168.56.0 0.0.0.255 **R6配置** # interface GigabitEthernet0/0/1 ip address 192.168.56.6 255.255.255.0 # interface GigabitEthernet0/0/2 ip address 192.168.2.254 255.255.255.0 # ospf 1 router-id 6.6.6.6 area 0.0.0.56 network 192.168.2.0 0.0.0.255 network 192.168.56.0 0.0.0.255 第四步:R6配置去往PC3的静态路由 **R6配置** # interface GigabitEthernet0/0/0 ip address 192.168.67.6 255.255.255.0 # ip route-static 192.168.3.0 24 192.168.67.7 ip route-static 192.168.4.0 24 192.168.67.7 ip route-static 192.168.5.0 24 192.168.67.7 ip route-static 192.168.6.0 24 192.168.67.7 ip route-static 192.168.7.0 24 192.168.67.7 第五步:R7配置去往PC1/PC2的静态路由 **R7配置** interface GigabitEthernet0/0/0 ip address 192.168.67.7 255.255.255.0 # interface GigabitEthernet0/0/1 ip address 192.168.3.254 255.255.255.0 # ip route-static 192.168.0.0 16 192.168.67.6 第六步:R6上在OSPF进程下引入静态路由 **R6配置** ospf 1 router-id 6.6.6.6 import-route static 第七步:**stub区域的配置命令** [R1]ospf 1 [R1-ospf-1]area 12 [R1-ospf-1-area 0.0.0.12]stub [R2]ospf 1 [R2-ospf-1]area 12 [R2-ospf-1-area 0.0.0.12]stub **备注:区域12没有配置stub区域前,数据库是这样的** <R1>dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 558 36 8000000B 1 Router 1.1.1.1 1.1.1.1 559 48 8000000D 1 Network 192.168.12.2 2.2.2.2 558 32 80000006 0 Sum-Net 192.168.45.0 2.2.2.2 814 28 80000005 3 Sum-Net 192.168.23.0 2.2.2.2 917 28 80000005 1 Sum-Net 192.168.56.0 2.2.2.2 814 28 80000005 4 Sum-Net 192.168.34.0 2.2.2.2 858 28 80000005 2 Sum-Net 192.168.2.0 2.2.2.2 814 28 80000005 5 Sum-Asbr 6.6.6.6 2.2.2.2 472 28 80000003 4 AS External Database Type LinkState ID AdvRouter Age Len Sequence Metric External 192.168.6.0 6.6.6.6 574 36 80000001 1 External 192.168.7.0 6.6.6.6 558 36 80000001 1 External 192.168.4.0 6.6.6.6 618 36 80000001 1 External 192.168.5.0 6.6.6.6 581 36 80000001 1 External 192.168.3.0 6.6.6.6 476 36 80000003 1 第八步:测试与验证:验证stub区域的特点 备注:区域12配置stub区域后,数据库是这样的 备注:没有4类的LSA了,没有5类LSA了,但是多了一个默认的3类的LSA [R1] dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 39 36 80000005 1 Router 1.1.1.1 1.1.1.1 36 48 80000005 1 Network 192.168.12.2 2.2.2.2 39 32 80000001 0 Sum-Net 0.0.0.0 2.2.2.2 105 28 80000001 1 Sum-Net 192.168.45.0 2.2.2.2 105 28 80000001 3 Sum-Net 192.168.23.0 2.2.2.2 105 28 80000001 1 Sum-Net 192.168.56.0 2.2.2.2 105 28 80000001 4 Sum-Net 192.168.34.0 2.2.2.2 105 28 80000001 2 Sum-Net 192.168.2.0 2.2.2.2 105 28 80000001 5 [R1] dis ip routing-table protocol ospf Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Public routing table : OSPF Destinations : 5 Routes : 5 OSPF routing table status : <Active> Destinations : 5 Routes : 5 Destination/Mask Proto Pre Cost NextHop Interface **0.0.0.0/0 OSPF 10 2 192.168.12.2 GigabitEthernet0/0/0** 192.168.23.0/24 OSPF 10 2 192.168.12.2 GigabitEthernet0/0/0 192.168.34.0/24 OSPF 10 3 192.168.12.2 GigabitEthernet0/0/0 192.168.45.0/24 OSPF 10 4 192.168.12.2 GigabitEthernet0/0/0 192.168.56.0/24 OSPF 10 5 192.168.12.2 GigabitEthernet0/0/0 第八步:验证与测试,stub区域的PC1 和外部PC3 可以互通 PC1可以访问PC3
Totally Stub区域的特点:
-作用:保护一个区域不受来自外部链路的影响,也不受区域间链路的影响
????????减少LSA的数量,减少路由条目的数量,降低设备负载,
-不学习,3类、4类、5类的LSA
-学习,1类和2类的LSA
-特殊区域的ABR路由器配置stub no-summary
-区域的ABR会自动产生一条默认的3类的LSA,用于计算默认路由
-特点:骨干区域不能设置为totally stub
-totally stub区域自身不支持外部路由的引入
-totally stub区域中不能存在虚连接
Totally stub区域的配置命令 [R1]ospf 1 [R1-ospf-1]area 12 [R1-ospf-1-area 0.0.0.12]stub [R2]ospf 1 [R2-ospf-1]area 12 [R2-ospf-1-area 0.0.0.12]stub no-summary 备注:区域12只配置了stub区域,没有配置Totally stub 时,数据库是这样的 [R1]dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 39 36 80000005 1 Router 1.1.1.1 1.1.1.1 36 48 80000005 1 Network 192.168.12.2 2.2.2.2 39 32 80000001 0 Sum-Net 0.0.0.0 2.2.2.2 105 28 80000001 1 Sum-Net 192.168.45.0 2.2.2.2 105 28 80000001 3 Sum-Net 192.168.23.0 2.2.2.2 105 28 80000001 1 Sum-Net 192.168.56.0 2.2.2.2 105 28 80000001 4 Sum-Net 192.168.34.0 2.2.2.2 105 28 80000001 2 Sum-Net 192.168.2.0 2.2.2.2 105 28 80000001 5 备注:区域12配置了Totally stub 后,数据库是这样的 [R1]dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 101 36 80000006 1 Router 1.1.1.1 1.1.1.1 95 48 8000000A 1 Network 192.168.12.2 1.1.1.1 95 32 80000002 0 Sum-Net 0.0.0.0 2.2.2.2 1092 28 80000001 1
NSSA区域的特点:
-作用:保护一个区域不受来自外部链路的影响,
减少LSA的数量,减少路由条目的数量,降低设备负载,
但是nssa区域又可以引入外部路由
-该区域学习1类,2类,3类,7类的LSA
-该区域不学习,4类,5类LSA
-NSSA区域的ABR会自动产生一条默认的7类的LSA,用于区域内的设备计算默认路由
-7类的LSA只能在特殊区域NSSA内部传播,不会垮区域传播
-NSSA区域的ABR会自动的将7类的LSA转成5类的LSA,在全域泛洪
-骨干区域不能设置为nssa
NSSA实验和配置命令
拓扑
需求
需求:PC2和PC5互通
配置思路和配置命令
3)配置思路:
第一步:先让R1能够和PC5互通,要先配置静态路由
[R1] ip route-static 192.168.4.0 24 192.168.18.8
第二步:在R8上写去往PC1/PC2的路由
[R8]ip route-static 192.168.0.0 16 192.168.18.1
第三步:在R1中的ospf中引入静态路由到ospf 网络中
[R1]ospf 1
[R1-ospf-1] import-route static
备注:配置完成后,查看验证,发现并没有成功引入外部路由
原因:R1所在的区域是stub区域,所以R1不会产生5类的LSA,
我们的目标既然是PC2和PC5 互通,又要保护区域12,不受外部影响,保证OSPF网络的稳定性,那么我们就需要做到两点
第一:区域12 不受外部路由的影响
第二:区域12 还能引入外部路由
所以我们就要配置NSSA
4)NSSA配置命令
[R2-ospf-1]area 12 [R2-ospf-1-area-0.0.0.12]undo stub [R2-ospf-1-area-0.0.0.12]nssa [R1]ospf 1 [R1-ospf-1]area 12 [R1-ospf-1-area-0.0.0.12]undo stub [R1-ospf-1-area-0.0.0.12]nssa
5)LSDB数据库查询验证:
[R1]dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 6 36 80000005 1 Router 1.1.1.1 1.1.1.1 7 36 80000004 1 Network 192.168.12.2 2.2.2.2 7 32 80000002 0 Sum-Net 192.168.45.0 2.2.2.2 49 28 80000001 3 Sum-Net 192.168.23.0 2.2.2.2 49 28 80000001 1 Sum-Net 192.168.56.0 2.2.2.2 49 28 80000001 4 Sum-Net 192.168.34.0 2.2.2.2 49 28 80000001 2 Sum-Net 192.168.2.0 2.2.2.2 1758 28 80000015 5 NSSA 192.168.4.0 1.1.1.1 70 36 80000001 1 NSSA 0.0.0.0 2.2.2.2 66 36 80000001 1
6)路由表查询验证:(在R6中也查一下去往192.168.4.0的路由信息)
[R1]dis ip routing-table 192.168.2.1 Destination/Mask Proto Pre Cost NextHop Interface 0.0.0.0/0 O_NSSA 150 1 192.168.12.2 GigabitEthernet0/0/0
7)验证测试:
PC2访问PC5,发现可以互联互通
Totally NSSA区域的特点:
-作用:保护一个区域不受来自外部链路的影响,也不受区域间链路的影响
????????减少LSA的数量,减少路由条目的数量,降低设备压力
????????但是NSSA区域允许引入外部路由
-该区域不学习3类,4类和5类的lSA
-该区域学习,1类,2类、7类的LSA
-特殊区域的ABR路由器需要配置nssa no-summary
-该区域会通过ABR生产成一条默认的3类LSA和默认的7类LSA,用于计算默认路由
-该区域的ABR会自动的将7类的LSA转成5类的LSA
-7类的LSA只能在特殊区域NSSA内部传播
-骨干区域不能设置为totally nssa
Totally NSSA 配置命令:
备注:在区域12的ABR中配置nssa no-summary [R2] ospf 1 [R2-ospf-1]area 12 [R2-ospf-1-area-0.0.0.12]nssa no-summary [R1] ospf 1 [R1-ospf-1]area 12 [R1-ospf-1-area-0.0.0.12]nssa
3)验证lsdb 数据库
[R1]dis ospf lsdb OSPF Process 1 with Router ID 1.1.1.1 Link State Database Area: 0.0.0.12 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 6 36 80000005 1 Router 1.1.1.1 1.1.1.1 7 36 80000004 1 Network 192.168.12.2 2.2.2.2 7 32 80000002 0 Sum-Net 0.0.0.0 2.2.2.2 45 28 80000001 1 NSSA 192.168.4.0 1.1.1.1 812 36 80000001 1 NSSA 0.0.0.0 2.2.2.2 808 36 80000001 1
特殊区域总结
1. Stub与Totally stub区域的区别:
????????stub不学习4类和5类的LSA
????????totally stub 不学习3类,4类,5类的LSA
2.Stub与Nssa区别:
????????stub区域不支持外部路由引入
????????nssa区域支持外部路由的引入
3.NSSA区域说明:
????????1). NSSA是Stub区域的一个升级,它和Stub区域有许多相似的地方。
????????2). NSSA区域不学习4类和5类的LSA
????????3). NSSA区域允许引入外部路由
????????4). 当Type7 LSA到达NSSA的ABR时,由ABR将Type7 LSA转换成Type5 LSA,泛洪到整个OSPF域中。
7类LSA解析
-类型:NSSA
-名字:LinkState ID : 外部路由的网段
-产生的路由器:AdvRouter : NSSA区域的ASBR的Router-id
-作用:用于通告NSSA区域的外部路由
-查询命令:
[R1]display ospf lsdb nssa 0.0.0.0
[R1]display ospf lsdb nssa 192.168.4.0
备注:默认的7类的LSA,通告路由是特殊区域内的ABR设备
十七、路由汇总
1.概念:
将多条具有相同前缀的路由信息聚合成一条,通告到其他区域
2.作用:
- 减少维护的数据库规模
- 减少路由表维护数量
- 减少其他区域不稳定链路的影响
3.汇总实验
区域间路由汇总
概述
????????位置:在ABR上配置
????????作用:用于聚合在区域之间的路由
????????特点:ABR只发送聚合后的路由到其他区域
配置
????????需求:
????????????????1)企业内部运营OSPF多区域
????????????????2)降低区域12不稳定链路对区域0的影响
拓扑:
配置命令:
区域间路由汇总:ABR汇总 第一步:配置接口信息 (在R1上配置) interface LoopBack0 ip address 10.10.1.1 255.255.255.0 # interface LoopBack1 ip address 10.10.2.1 255.255.255.0 # interface LoopBack2 ip address 10.10.3.1 255.255.255.0 # interface LoopBack3 ip address 10.10.4.1 255.255.255.0 interface LoopBack4 ip address 10.10.5.1 255.255.255.0 第二步:宣告路由 (在R1上配置) ospf 1 router-id 1.1.1.1 area 0.0.0.12 network 192.168.12.0 0.0.0.255 network 10.10.1.0 0.0.0.255 network 10.10.2.0 0.0.0.255 network 10.10.3.0 0.0.0.255 network 10.10.4.0 0.0.0.255 network 10.10.5.0 0.0.0.255 第三步:配置ABR汇总信息 (在R2上配置-ABR上配置) ospf 1 router-id 2.2.2.2 area 0.0.0.12 abr-summary 10.10.0.0 255.255.0.0
外部路由汇总
????????概述
????????????????位置:在ASBR上配置
????????????????作用:用于聚合OSPF外部引入的路由
????????????????特点:ASBR只发送聚合后的路由到其他区域
配置
????????1)需求:
????????????????1)企业内部运营OSPF多区域
????????????????2)降低区域56不稳定链路对区域0的影响
2)拓扑:
3)配置步骤:
第一步:配置接口信息(在R6上配置) interface LoopBack0 ip address 20.20.1.1 255.255.255.0 # interface LoopBack1 ip address 20.20.2.1 255.255.255.0 # interface LoopBack2 ip address 20.20.3.1 255.255.255.0 # interface LoopBack3 ip address 20.20.4.1 255.255.255.0 interface LoopBack4 ip address 20.20.5.1 255.255.255.0 第二步:引入直连路由(在R6上配置) ospf 1 router-id 6.6.6.6 import-route direct //引入直连路由 第三步:配置ASBR汇总信息(在R6上配置-ASBR上配置) ospf 1 router-id 6.6.6.6 import-route direct //引入直连路由 asbr-summary 20.20.0.0 255.255.0.0 //ASBR汇总
总结:
1)区域间路由汇总:
区域间路由汇总,也叫3类LSA汇总 ,也叫ABR汇总
区域间路由汇总,是在ABR中配置,要进入ospf 在进入area 区域中配置
汇总的是用network 注入的内部路由
2)外部路由汇总:
外部路由汇总,也叫5类LSA汇总 ,也叫ASBR汇总
外部路由汇总,是在ASBR中配置,在OSPF下配置,不需要进入区域
汇总的是用import-route 引入的外部路由
十八、安全认证
1. 认证概述
为什么要有认证?
防止非法路由器接入企业内网的ospf路由器,保护内网安全
2. 认证方式
认证方式分为接口认证和区域认证,接口认证和区域认证没有本质的区别,接口认证是当区域内链路过多的情况下,接口认证配置较为繁琐,容易出错,此时可以采用区域认证,配置量更少。
3. 认证位置
- 接口认证
- 区域认证
注:如果同时配置了接口认证和区域认证,则接口人证优先于区域认证
3. 认证模式
????????认证报文携带在hello报文中,通过hello包进行协商,所有认证模式和认证密码两端必须一致,如果认证方式或认证密码协商不一致,会导致邻居关系建立失败
认证模式分为:
- simple 明文认证,密码在传输过程中是明文的,抓包可见
- MD5 密文认证,密码在传输的过程中是加密的,抓包不可见
4. 配置认证:
注意:simple/md5:表示OSPF报文在传输过程中是否加密???????? 邻居两端必须一致
???????????cipher/plain:表示秘钥信息在本地存储是否加密? ? ? ? ? ? ?? 邻居两端可以不一致
接口认证
需求:1) 企业内部运营OSPF多区域
????????2) 禁止区域0内有非法用户接入
????????3)AR2与AR3、AR3与AR4接口下配置明文认证、AR4与AR5接口下配置密文认证
拓扑:
配置命令:
接口认证配置:(邻居设备的认证类型、认证密码必须一致,如何不一致邻居会断开) AR2和AR3之间配置simple 认证模式: AR2: interface GigabitEthernet0/0/0 ip address 192.168.23.2 255.255.255.0 ospf authentication-mode simple cipher hcip AR3: interface GigabitEthernet0/0/1 ip address 192.168.23.3 255.255.255.0 ospf authentication-mode simple cipher hcip AR3和AR4之间配置simple 认证模式: AR3: interface GigabitEthernet0/0/0 ip address 192.168.34.3 255.255.255.0 ospf authentication-mode simple cipher hcip AR4: interface GigabitEthernet0/0/1 ip address 192.168.34.4 255.255.255.0 ospf authentication-mode simple cipher hcip AR4和AR5之间配置md5 认证模式: AR4: interface GigabitEthernet0/0/0 ip address 192.168.45.4 255.255.255.0 ospf authentication-mode md5 1 cipher hcip AR5: interface GigabitEthernet0/0/1 ip address 192.168.45.5 255.255.255.0 ospf authentication-mode md5 1 cipher hcip
区域认证
需求:1) 企业内部运营OSPF多区域
????????2) 禁止区域12内有非法用户接入,要求认证密码不可见,本地存储秘钥信息显示加密
拓扑:
配置命令:
实验一:配置区域认证 1)OSPF区域认证配置: AR2: ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 authentication-mode md5 1 cipher hcie AR1: ospf 1 router-id 1.1.1.1 area 0.0.0.12 authentication-mode md5 1 cipher hcie network 192.168.12.0 0.0.0.255
实验二:验证接口认证优先于区域认证: 1)OSPF区域12认证配置: AR2: ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 192.168.23.0 0.0.0.255 area 0.0.0.12 authentication-mode md5 1 cipher hcie AR1: ospf 1 router-id 1.1.1.1 area 0.0.0.12 authentication-mode md5 1 cipher hcie network 192.168.12.0 0.0.0.255 区域认证配置成功后,邻居关系正常,现在修改接口认证模式不一致, 如果邻居断开说明接口认证优先于区域认证 2)配置R1的区域12的接口认证模式为明文 interface GigabitEthernet0/0/0 ip address 192.168.12.1 255.255.255.0 ospf authentication-mode simple plain ntd 配置R2的区域12的接口认证模式为密文 interface GigabitEthernet0/0/1 ip address 192.168.12.2 255.255.255.0 ospf authentication-mode md5 1 plain 345 经验证发现,当接口认证不一致时,邻居断开,结论同时配置了接口认证和区域认证, 接口认证优先于区域认证
十九、OSPF外部路由的2种度量值
引入外部路由,有两种类型:类型1 和类型2
Type | 描述 | 开销计算 |
Metric-Type-1 | 可信程度高 | AS内部开销+AS外部开销 |
Metric-Type-2 (默认类型2) | 可信程度低,AS外部开销远大于AS内部开销 | AS外部开销 |
怎样查看一台OSPF路由器是否为ABR(ASBR)?
- display ospf brief
<R1>display ospf brief OSPF Process 1 with Router ID 1.1.1.1 OSPF Protocol Information RouterID: 1.1.1.1 Border Router: AREA
- display ospf abr-asbr
<R1>display ospf abr-asbr OSPF Process 1 with Router ID 1.1.1.1 Routing Table to ABR and ASBR RtType Destination Area Cost Nexthop Type Intra-area 2.2.2.2 0.0.0.0 1 192.168.12.2 ABR
怎样确定两条LSA是相同的
????????如果两条LSA,它们的Type、LS ID、Adv rtr相同
???????? 则,这两条LSA就相同
如何判断一条LSA的新旧
- 先看序列号
????????LSA中的Sequece Number (seq#)
????????序列号越大,越新
- 序列号相同,看校验和
????????LSA中的checksum(chksum)
????????校验和越大,越新
- 校验和也相同,看Ls age
????????1. 如果LSA的Age是3600秒,表示最新,因为该年龄到达最大老化时间,意味着,该LSA应该消失了
????????2. 如果LSA的Age没有到3600秒,就要看这两条LSA的Age间隔是否小于15分钟
? ? ? ? ? ? 如果小于15分钟,意味着一样新
? ? ? ? ? ? 如果大于15分钟,Age越小越新
关于LSA的3600秒
- 说明
????????3600秒的LSA,意味着:删除对应的5类LSA,从而撤销OSPF的外部路由
????????如果我们要撤销OSPF的外部路由,这个3600秒的LSA,它的序列号,跟已经存在的LSA的序列相同,序列号不变!
LSA的更新
- 周期性更新
????????????????产生LSA的路由器,每1800秒,产生一个新的LSA,序列号+1
- 触发性更新
????????????????比如ASBR的OSPF进程中undo import-route,触发更新3600秒的LSA
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!