1.25k likes | 1.59k Views
目标回顾. 能够通过配置 RIP 路由协议使中小型网络互通 了解动态路由协议的分类及特点 掌握 RIP 协议路由表的形成和维护 掌握 RIP v1 和 v2 之间的区别 了解 RIP 路由协议的水平分割等规则的作用和原理. 第 7 章. OSPF 基本概念及单区域配置. 本章目标. 掌握 OSPF 单区域的配置 理解 OSPF 的工作原理 掌握 OSPF 单区域的故障排除 理解 OSPF 的邻接关系建立的过程 理解 OSPF 接口的类型与 DR/BDR 的选举 理解 OSPF 保存的 3 张表的内容. 本章结构. OSPF 协议概述. 邻居列表.
E N D
目标回顾 • 能够通过配置RIP路由协议使中小型网络互通 • 了解动态路由协议的分类及特点 • 掌握RIP协议路由表的形成和维护 • 掌握RIP v1和v2之间的区别 • 了解RIP路由协议的水平分割等规则的作用和原理 Page 1/54
第7章 OSPF基本概念及单区域配置
本章目标 • 掌握OSPF单区域的配置 • 理解OSPF的工作原理 • 掌握OSPF单区域的故障排除 • 理解OSPF的邻接关系建立的过程 • 理解OSPF接口的类型与DR/BDR的选举 • 理解OSPF保存的3张表的内容 Page 3/43
本章结构 OSPF协议概述 邻居列表 链路状态数据库 OSPF保存的3张表 路由表 报文类型 OSPF 邻接关系建立的过程 状态 接口类型 OSPF的Cost值 OSPF协议的应用环境 OSPF单域的配置 Page 4/43
OSPF协议概述-内部网关路由协议 • OSPF内部网关路由协议 • 用于在单一自治系统(Autonomous System-AS)内决策路由 • 自制系统(AS) • 执行统一路由策略的一组网络设备的组合 外部网关路由协议(EGP)用来连接不同的AS 内部网关路由协议(IGP) AS 1 AS 2 例如:RIP OSPF等 例如:BGP Page 5/43
OSPF协议概述-区域 • 为了适应大型的网络,OSPF在AS内划分多个区域 • 每个OSPF路由器只维护所在区域的完整的链路状态信息 骨干区域 边界路由器了解area 0和Area 2的链路信息 AS Area 0 Area 1 Area 2 Page 6/43
40 RB 20 50 20 RA RD 10 80 RA 10 30 70 30 RC 60 OSPF协议概述-链路状态路由协议 • OSPF是链路状态路由协议,链路状态路由协议中的路由器了解OSPF网络内的链路状态信息 最初,RA只知道直连的3个网段10、20、30, RB、RC、RD也一样 Page 7/43
40 RB 50 20 RD 80 RA 10 70 RC 30 60 OSPF协议概述-链路状态路由协议 • 链路状态路由协议中,直连的路由器之间建立邻接关系,互相“交流”链路信息,来“画”出完整的网络结构 相邻路由器之间建立邻接关系,保存在邻居列表中 为了标识链路信息是由谁发出的,用Router ID标识路由器 路由器学习到的链路信息,保存在链路状态数据库中 Page 8/43
Router ID • Router ID • 是在OSPF区域内唯一标识一台路由器的IP地址 • Router ID选取规则 • 首先, Router ID可以在OSPF路由进程中手工指定 • 如果没有手工指定,路由器选取它所有loopback接口上数值最高的IP地址 • 如果没有loopback接口,就在所有物理端口中选取一个数值最高的IP地址 Page 9/43
链路状态路由协议中的数据库类型 以A为例,A的链路状态数据库中保存着OSPF网络的所有链路信息 A以自己为中心,计算到达每个路由器最近的链路 • 邻居列表 • 列出每台路由器全部已经建立邻接关系的邻居路由器 • 链路状态数据库(LSDB) • 列出网络中其他路由器的信息,由此显示了全网的网络拓扑 • 路由表 • 列出通过SPF算法计算出的到达每个相连网络的最佳路径 根据最短路径树,生成路由表 生成一个最短路径树 A 1.5 1 B E 1 1 1 C F 1 1 1.5 D 建立邻接关系 链路状态数据库 最短路径树 路由表 学习链路状态信息 Djkstra算法 Page 10/43
建立邻接关系的过程 发送Hello消息就像双方互相打个招呼 RA RB 接收到对方的HELLO报文,转换为初始状态 Down Down Hello(neighbor=“”) Init DBD类似于一个目录 在对方发来的HELLO报文中看到自己的Router ID,转换为双向状态 Hello(neighbor=“”) Init Hello(neighbor=“RB”) 2-way 确定数据库描述报文的序列号,转换为信息交换初始状态 Hello(neighbor=“RA”) 2-way 互相发送对方未知的链路信息 DBD(Seq) ExStart DBD(Seq) ExStart DBD ExChange DBD ExChange 发送数据库描述报文,转换为信息交换状态 LSR LSU Loading 发送链路状态信息请求报文,获取未知的链路状态信息 直到两台路由器的链路状态数据库完全一致,形成邻接关系 LSR 发送链路状态信息更新报文,同步链路状态数据库 LSU Loading Full Full Page 11/43
OSPF的邻接关系需满足的条件 • 邻居 • 两个路由器之间如果不满足下列条件,则他们就不能成为邻居: • Area-id:两个路由器必须在共同的网段上,它们的端口必须属于该网段上的同一个区,且属于同一个子网 • 验证(Authentication OSPF):同一区域路由器必须交换相同的验证密码,才能成为邻居 • Hello Interval和Dead Interval: OSPF协议需要两个邻居路由器的这些时间间隔相同,否则就不能成为邻居路由器。 • stub区域标记:两个路由器可以在Hello报文中通过协商Stub区域的标记来成为邻居 Page 12/43
OSPF的网络类型 • 路由器接口类型不同,在建立邻接关系的时候,OSPF路由器执行的操作也略有不同 Page 13/43
C B E A D OSPF的DR与BDR A B C 广播网络中 建立邻接关系 E D 如果直连的路由器互相都建立邻接关系 这种方法非常烦琐!不可取! 构成n(n一1)/2个 邻接关系 Page 14/43
C B E A D (DR) OSPF的DR与BDR • 指定路由器(DR) • 一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系 A B C E D (DR) Page 15/43
DR和BDR 备用的指定路由器(Backup Designated Router,简称BDR) 当DR因故离线时,BDR转为DR,接替DR的工作。 网络中的每台路由器都将拓扑变化发往DR和BDR,然后由DR通知网络中的其他路由器。 花费(Cost) 每条链路都有一个花费。花费是根据链路的带宽计算而来的,并可以人为地修改。OSPF使用的唯一度量值就是Cost。
OSPF的DR与BDR • 通过Hello报文选择DR和BDR来代表OSPF网段 • 其他的路由器(DRothers)只和DR及BDR路由器之间形成邻接关系 DR BDR Page 17/43
Hello OSPF的DR与BDR • 通过组播发送Hello报文 • 具有最高OSPF优先级的路由器会被选为DR • 如果OSPF优先级相同,则具有最高Router ID的路由器会被选为DR P=3 P=2 DR BDR P=1 P=1 P=0 Page 18/43
loopback接口(本地环回接口 ) 本地环回接口(或地址),亦称回送地址(loopbackaddress)。 此类接口是应用最为广泛的一种虚拟接口,几乎在每台路由器上都会使用。 本地环回接口 - 常见用途: 1. 作为一台路由器的管理地址 系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback接口,并在该接口上单独指定一个IP地址作为管理地址,管理员会使用该地址对路由器远程登录(telnet),该地址实际上起到了类似设备名称一类的功能。 但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢 使用loopback接口地址进行地址转换
使用loopback接口地址进行地址转换 原因如下:由于telnet命令使用TCP报文,会存在如下情况:路由器的某一个接口由于故障down掉了,但是其他的接口却仍旧可以telnet,也就是说,到达这台路由器的TCP连接依旧存在。所以选择的telnet地址必须是永远也不会down掉的,而虚接口恰好满足此类要求。由于此类接口没有与对端互联互通的需求,所以为了节约地址资源,loopback接口的地址通常指定为32位掩码。
loopback接口(本地环回接口 ) 2 . 使用该接口地址作为动态路由协议OSPF、BGP的Router id 。 动态路由协议OSPF、BGP在运行过程中需要为该协议指定一个Router id,作为此路由器的唯一标识,并要求在整个自治系统内唯一。由于routerid是一个32位的无符号整数,这一点与IP地址十分相像。而且IP地址是不会出现重复现象的,所以通常将路由器的router id指定为与该设备 的某个接口的地址相同。由于loopback接口的IP地址通常被视为路由器的标识,所以也就成了router id的最佳选择。
3、使用该接口地址作为BGP建立TCP连接的源地址 在BGP协议中,两个运行BGP的路由器之间建立邻居关系是通过TCP建立连接完成的。在配置邻居时通常指定loopback接口为建立TCP连接的源地址(通常只用于IBGP为了增强TCP连接的健壮性) 4、在Windows系统中,采用127。0。0。1作为本地环回地址。 5、因为Loopback口只要Router还健在,则它就会一直保持Active,这样,只要BGP的Peer的Loopback口之间满足路由可达,就可以建立BGP回话,总之BGP中使用loopback口可以提高网络的健壮性。
6、使用该接口地址作为OSPF、BGP的Router-ID,作为此路由器的唯一标识,并要求在整个自治系统内唯一,在Ipv6中的BGP/OSPF的Router-ID仍然是32位的IP地址。在OSPF中的路由器优先级是在接口下手动设置的,接着才是比较OSPF的Router-ID(Router-ID的选举在这里就不多说了,PS:一台路由器启动OSPF路由协议后,将选取物理接口的最大IP地址作为其RouterID,但是如果配置Loopback接口,则从Loopback中选取IP地址最大者为RouterID。另外一旦选取RouterID,OSPF为了保证稳定性,不会轻易更改,除非作为RouterID的IP地址被删除或者OSPF被重新启动),在OSPF和BGP中的Router-ID都是可以手动在路由配置模式下设置的。6、使用该接口地址作为OSPF、BGP的Router-ID,作为此路由器的唯一标识,并要求在整个自治系统内唯一,在Ipv6中的BGP/OSPF的Router-ID仍然是32位的IP地址。在OSPF中的路由器优先级是在接口下手动设置的,接着才是比较OSPF的Router-ID(Router-ID的选举在这里就不多说了,PS:一台路由器启动OSPF路由协议后,将选取物理接口的最大IP地址作为其RouterID,但是如果配置Loopback接口,则从Loopback中选取IP地址最大者为RouterID。另外一旦选取RouterID,OSPF为了保证稳定性,不会轻易更改,除非作为RouterID的IP地址被删除或者OSPF被重新启动),在OSPF和BGP中的Router-ID都是可以手动在路由配置模式下设置的。
建立邻接关系过程总结 接口类型为点到点 接口类型为点到多点 发送Hello消息 接口类型为广播 选择DR和BDR 接口类型为NBMA 请求/发送 LSU 生成完整的 LSDB 发送DBD 形成邻接关系 Page 24/43
OSPF的包类型总结 Page 25/43
OSPF的Hello协议 • 当路由器上启动OSPF进程时,每台路由器都会间隔一定的时间发送Hello包 • Hello包通过组播地址224.0.0.5发送 • OSPF路由器使用Hello包发起建立邻接关系并监视这种关系的存在和消失 • 在广播网或者点对点网上,Hello的发送间隔是10秒;在NBMA网络上,Hello的发送间隔是30秒 Page 26/43
OSPF的度量方法 • COST= 108/BW • OSPF协议决定最短路径是基于路由器每一个接口指定的代价(cost)来的 • 一条路由的代价:是指沿着到达目的网络的路由路径上所有出站接口的代价之和! C学习到的10网段的Cost是多少? Cost值为 1+1+781=783 10 100M B C A 100M 128K 108/100M=1 108/128K=781 Page 27/43
何时需要OSPF路由协议 • 网络的规模 • 网络中的路由器在10台以上;中等或大规模的网络 • 网络的拓扑结构 • 网络的拓扑结构为网状,并且任意两台路由器之间都有互通的需求 • 其它特殊的需求 • 要求路由变化时能够快速收敛,要求路由协议自身的网络开销尽量降低 • 对路由器自身的要求 • 运行OSPF协议时,对路由器的CPU的处理能力及内存的大小都有一定的要求,性能很低的路由器不推荐使用OSPF协议 Page 28/43
OSPF路由协议的特点 • 可适应大规模网络 • 路由变化收敛速度快 • 无路由环 • 支持变长子网掩码VLSM • 支持区域划分 • 支持以组播地址发送协议报 Page 29/43
OSPF与RIP的比较 Page 30/43
阶段总结 • OSPF建立邻接关系 • 包类型 • 状态转换 • 接口类型 • OSPF路由协议的Cost值 • OSPF的应用环境与特点 Page 31/43
OSPF单区域的配置命令 • 配置loopback接口地址 Router(config)# interface loopback 0 Router(config-if)# ip address IP地址 掩码 • 启动OSPF路由进程 Router(config)# router ospf 进程号 • 指定OSPF协议运行的接口和所在的区域 Router(config-router)# network 网络号 反向掩码 area区域号 192.168.1.0/24 子网掩码:255.255.255.0 反向掩码:0.0.0.255 子网掩码为1的位,在反向掩码中为0; 子网掩码为0的位,在反向掩码中为1。 例如:192.168.2.0/28的反向掩码应该是多少? 用于产生路由器的Router ID 本路由器的进程号,用于标识同一路由器上的多个OSPF进程 可以是网络地址、子网地址、接口地址 反向掩码:0.0.0.15 指明网络所属区域,此处是0---骨干区域 Page 32/43
OSPF单区域的配置命令 OSPF路由器在接口上使用cost值来决定最佳路径 • 修改接口的Cost值 • Router(config-if)#ip ospf cost number • 例如: • Router(config)#interface s0 • Router(config-if)#ip ospf cost 1000 取值范围1~65535 Page 33/43
OSPF单区域的配置命令 • 配置OSPF计时器 • Router(config-if)#ip ospf hello-interval 时间(s) • Router(config-if)#ip ospf dead-interval 时间(s) • 例如: • Router(config)#interface e0 • Router(config-if)#ip ospf hello-interval 5 • Router(config-if)#ip ospf dead-interval 20 为了交换信息,相邻由器必须有相同的hello和dead间隔,通常dead时间是hello时间的4倍 Page 34/43
OSPF单区域的配置命令 • 查看邻居列表 • Router#show ip ospf neighbor • 查看链路状态数据库 • Router#show ip ospf database • 查看路由表 • Router#show ip route • 查看OSPF的配置 • Router#show ip ospf • 查看OSPF接口数据结构 • Router#show ip ospf interface 接口 Page 35/43
OSPF单区域配置实例 Loopback 0:30.1.1.1 Loopback 0:10.1.1.1 192.168.20.1/24 192.168.10.1/24 f0/0 S0/1 A C B f0/0 S0/1 192.168.20.2/24 192.168.10.2/24 Loopback 0:20.1.1.1 Page 36/43
OSPF单区域配置实例 RA#config terminal RA(config)#interface loopback 0 RA(config-if)#ip address 20.1.1.1 255.0.0.0 RA(config-if)#exit RA(config)#interface f0/0 RA(config-if)#ip address 192.168.20.1 255.255.255.0 RA(config-if)#no shut RA(config)#interface s0/1 RA(config-if)#clock rate 128000 RA(config-if)#bandwidth 128 RA(config-if)#ip address 192.168.10.1 255.255.255.0 RA(config-if)#no shut 带宽值用于计算OSPF的Cost Page 37/43
OSPF单区域配置实例 RA(config)#router ospf 20 RA(config-router)#network 192.168.10.0 0.0.0.255 area 0 RA(config-router)#network 192.168.20.0 0.0.0.255 area 0 Page 38/43
OSPF单区域配置实例 Loopback 0:30.1.1.1 Loopback 0:10.1.1.1 192.168.20.1/24 192.168.10.1/24 f0/0 S0/1 A C B f0/0 S0/1 192.168.20.2/24 192.168.10.2/24 Loopback 0:20.1.1.1 Page 39/43
OSPF单区域配置实例 RB(config)#interface loopback 0 RB(config-if)#ip address 10.1.1.1 255.0.0.0 RB(config-if)#exit RB(config)#interface s0/1 RB(config-if)#ip address 192.168.20.1 255.255.255.0 RB(config-if)#no shut RB(config)#router ospf 10 RB(config-router)#network 192.168.20.0 0.0.0.255 area 0 RB(config-router)#network 10.0.0.0 0.255.255.255 area 0 Page 40/43
OSPF单区域配置实例 由学员完成 Loopback 0:30.1.1.1 Loopback 0:10.1.1.1 192.168.20.1/24 192.168.10.1/24 f0/0 S0/1 A C B f0/0 S0/1 192.168.20.2/24 192.168.10.2/24 Loopback 0:20.1.1.1 Page 41/43
OSPF单区域配置实例 • 查看邻居列表 RA#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 30.1.1.1 1 FULL/BDR 00:00:37 192.168.20.2 FastEthernet0/0 10.1.1.1 1 FULL/ - 00:00:35 192.168.10.2 Serial0/1 Page 42/43
OSPF单区域配置实例 • 查看路由表 RA#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 20.0.0.0/8 is directly connected, Loopback0 C 192.168.10.0/24 is directly connected, Serial0/1 C 192.168.20.0/24 is directly connected, FastEthernet0/0 10.0.0.0/32 is subnetted, 1 subnets O 10.1.1.1 [110/782] via 192.168.10.2, 00:45:55, Serial0/1 30.0.0.0/32 is subnetted, 1 subnets O 30.1.1.1 [110/2] via 192.168.20.2, 00:45:55, FastEthernet0/0 通过OSPF学习到的路由 OSPF的管理距离是110 128K的链路COST值为781 Page 43/43
OSPF单区域配置实例 • 查看接口数据结构 RA#show ip ospf inter f0/0 FastEthernet0/0 is up, line protocol is up Internet Address 192.168.20.1/24, Area 0 Process ID 20, Router ID 20.1.1.1, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 20.1.1.1, Interface address 192.168.20.1 Backup Designated router (ID) 30.1.1.1, Interface address 192.168.20.2 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:05 Index 2/2, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 2, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 30.1.1.1 (Backup Designated Router) Suppress hello for 0 neighbor(s) 接口所属区域 广播型网络 DR的ID BDR的ID Page 44/43
OSPF单区域配置实例 RA#show ip ospf interface s0/1 Serial0/1 is up, line protocol is up Internet Address 192.168.10.1/24, Area 0 Process ID 20, Router ID 20.1.1.1, Network Type POINT_TO_POINT, Cost: 781 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:03 Index 1/1, flood queue length 0 Next 0x0(0)/0x0(0) Last flood scan length is 1, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.1.1.1 Suppress hello for 0 neighbor(s) 接口所属区域 点到点 同其邻接的路由器的ID Page 45/43
本章总结 OSPF协议概述 邻居列表 内部网关路由协议 划分区域 链路状态路由协议 链路状态数据库 OSPF保存的3张表 路由表 报文类型 OSPF 邻接关系建立的过程 状态 接口类型 OSPF的Cost值 Router ospf 进程号 Network 地址 反掩码area 区域ID OSPF协议的应用环境 OSPF单域的配置 Page 46/43
实验 • 实验背景 BENET公司网络由三台路由器和一台交换机组成,现在想要三台路由器之间通过OSPF实现互连互通。网络结构如下页所示,请根据要求完成相应配置任务。 Page 47/43
实验拓扑 Page 48/43
实验任务 • 任务1:OSPF单区域的配置 • 配置loopback地址作为路由器的ID • 配置OSPF的进程并在相应的接口上启用 • 更新OSPF计数器 • 完成标准 • 可以ping通各路由器的loopback地址 • show run时可以查看到每台路由器所属的区域 • show run时可以查看到路由器的计数器已经更新 Page 49/43
上节 内容回顾 • OSFP的特点,与RIP有哪些区别 • 邻居与邻接的关系,如何建立邻接关系,需要几种状态 • OSFP的包类型 • OSPF的网络类型 • OSPF的三种数据库 • OSPF单域配置的命令 • 常用的OSPF检查命令 Page 50/38