- 动态路由的协议分类
-
- 按工作区域分:
-
-
- IGP(内部网关协议 interior gateway protocols):OSPF、IS-IS、RIP
- EGP(外部网关协议 exterior gateway protocols):BGP
-
-
- 按工作机制及算法分类:
-
-
- 距离矢量协议:RIP
- 链路状态路由协议:OSPF、IS-IS
-
- 动态路由灵活性高,可靠性好,易于扩展
OSPF
- OSPF(Open Shortest Path First,开放式最短路径优先)
- 基于IP工作
距离矢量路由协议
- 运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。
- 对于网络中的路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。
链路状态路由协议工作方式
一、链路状态路由协议-LSA泛洪
- 链路状态协议通告的是链路状态而不是路由表,路由器之间首先会建立一个协议的邻居关系,然后彼此开始交互LSA(Link State Advertisment,链路状态通告)。
二、链路状态路由协议-LSDB组建
- 每台路由器都会产生LSAs,路由器将接收到的LSAs放入到自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。
三、链路状态路由协议-SPF计算
- 每台路由器基于LSDB,使用SPF算法计算出一颗以自己为根的,无环的,拥有最短路径的树。
链路状态协议总结
OSPF基础术语
区域
- OSPF Area用于标识一个OSPF的区域。
- 区域是从逻辑上将设备划分为不同的组,每个组区域号(Area ID)来标识。
- 区域号是接口概念,一台路由器上的两个接口可以不在同一个区域里面。
Router-ID
- 用于在一个OSPF域中唯一地标识一台路由器
- 可以通过手工配置的方式,也可以使用系统自动配置的方式
度量值
- OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值="100 Mbit/s " / " 接口带宽" 。其中100 "Mbit/s"为OSPF指定的缺省参考值,该值是可配置的。
- 笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。
OSPF协议报文类型
- OSPF五个报文:HELLO, DD, LSR, LSU, LSACK。
- 建好邻居关系(Hello报文)之后,一般要开始传LSA进行同步,但是OSPF一般用于大规模网络,如果传完整信息会比较拥堵。
- 所以就先简单的发一下,先把数据库里的头部,也就是摘要先发一下。(此时就用DD报文来发这个目录),主动的把目录给对方。
- 交换完成目录之后,就会生成一个新的数据库。之后把自己没有的信息再要一下。看到自己缺失的信息通过LSR报文要一下。
- 对方同意后就开始给你发你要的详细信息,通过LSU报文。
- 此时,再回复一下我收到了,就发送LSACK报文向对方确认。表示应答
OSPF三大表项
邻居表
display ospf peer brief display ospf peer //查看邻居详细信息
LSDB数据库表
display ospf lsdb display ospf lsdb router //查看一类类型,router类型的数据
OSPF路由表
display ospf routing
OSPF邻接关系建立过程
- ospf完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息、同步LSDB。
- 协商主从为了传递DD报文用的,因为是用IP传递的,ip是不可靠的,为了使更加可靠,所以需要协商主从关系。
详细邻接关系建立的过程
Init>2-Way状态
- 当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。
- 当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。
2-way-Exstart>选举主从关系【Exstart-Exchange】>Loading
- 从2-way转为Exstart状态后开始主从关系选举
- 选举主从关系的规则是比较RouterID,越大越优
- 主从关系比较结束后,R1的状态从Exstart转变为Exchange
- 邻居状态机从2-way转为Exstart状态后开始主从关系选举:
-
- R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
- R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
- 选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。
- R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
- R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
- R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
- 发送完最后一个DD报文后,R1将邻居状态切换为Loading。
Loading>Full的转变
- 邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
- R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
- R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
- 此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。
总结
邻居关系和邻接关系的介绍和区别
什么是邻居关系?
1、在OSPF协议中邻居关系就是指在两台路由器中进行完两次Hello报文交互之后,建立起来的关系叫邻居关系。
2、该关系在OSPF状态机里显示的是2-way的状态。
什么是邻接关系?
1、在OSPF协议中邻居关系就是指在两台路由器中进行完链路状态数据库(LSDB)同步之后,建立起来的关系叫邻接关系。
2、该关系在OSPF状态机里显示的是Full的状态。
邻居关系和邻接关系的区别
1、邻居(Neighbor)关系与邻接(Adjacency)关系是两个不同的概念。OSPF路由器之间建立邻居关系后,进行LSDB同步,最终形成邻接关系。
DR/BDR
- 在MA,广播型网络中,一个广播域必须有一个DR
- 在广播型及NBMA网络上,非DR BDR路由器之间只能建立邻居关系,不能建立邻接关系。非DR/BDR路由器与DR/BDR路由器之间会建立邻接关系,DR与BDR之间也会建立邻接关系。
DR与BDR的背景
- MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。
- 在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。
- 当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。
DR与BDR的介绍与选举
- 为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
- 只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
- BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
- 选举规则:OSPF DR优先级更高的接口成为该MA的DR,如果优先级相等(默认为1),则具有更高的OSPF Router-ID的路由器(的接口)被选举成DR,并且DR具有非抢占性。
OSPF的网络类型
- 建立邻居关系两端的接口类型一点要一样
路由器的类型
OSPF的配置命令
[Huawei]ospf [process-id|router-id router-id] (系统视图)创建并运行ospf进程 [Huawei-ospf]area area-id 创建并进入ospf区域 [Huawei-ospf-1-area-0.0.0.0]network network-address wildcard-mask 指定运行ospf的接口 [Huawei-GE1/0/1]ospf cost cost 配置ospf接口开销 [Huawei-ospf-1] bandwidth-reference value 设置OSPF带宽参考值 [Huawei-GigabitEthernet0/0/0] ospf dr-priority priority 设置接口在选举DR时的优先级
- 通配符指定运行接口方式:手动通过通配符指定一个集合,查看接口ip地址是否在这个集合中,如果在则开启,不在则不开启接口。