目录
动态路由:
动态路由的分类
按工作区域分类:
按算法和工作机制分类:
距离矢量路由协议:
链路状态路由协议:
OSPF协议计算路由步骤:
OSPF协议
OSPF协议报文:
OSPF三张表
OSPF路由器之间的关系
OSPF邻接关系建立的过程:
OSPF网络类型:
DR和BDR
OSPF的单区域和多区域
OSPF的典型配置
OSPF配置案例
动态路由的优势
静态路由是由人工手动配置路由,无法使用大型网络,无法响应网络拓扑的变化,只适用于小型网络。
动态路由:
能够通过一定的网络规则,自动学习网络路由,在网络拓扑发生变化时,可以做出相应改变的路由。
动态路由的分类
按工作区域分类:
IGP:内部网关协议(RIP,OSPF,IS-IS) , EGP:外部网关协议(BGP)
按算法和工作机制分类:
距离矢量路由协议和RIP,链路状体路由协议OSPF,IS-IS
距离矢量路由协议:
路由器周期性的泛洪自己的路由表给其他路由器,其他路由器学习其中的路由,并加入到自己的路由表中。
这种算法,对于网络中的所有路由器而言,路由器并不清楚网络中的拓扑结构,只是简单知道去往哪一个网络的的方向,距离有多远。这就是距离向量的本质。
链路状态路由协议:
LSA泛洪:运行链路状态协议的路由器之间会先建立一个协议的邻居关系,然后彼此之间在相互传递LSA(链路状态通告)。
LSDB:路由器上LSA数据库,里面存放自身的LSA和邻居的LSA,最后通过广播,每一个路由器会收到网络中所有路由器的LSA。
当路由器拥有网络中所有的LSA时,就会通过SPF最短路径优先算法,形成一个以自己为根的,无环的,拥有最短路径的树,这棵树可以到达网络中所有的路由器。
OSPF协议计算路由步骤:
1,建立邻居
2,同步数据库
3,计算路由
4, 生产路由表
OSPF协议
OSPF是目前企业使用最多的内部网关协议,是典型的链路状态协议。
使用OSPF协议的路由器之间会传递LS(Link State)链路状态信息,而不是直接交换路由。LS是OSPF能够进行拓扑和路由计算的关键信息。
OSPF路由器将网络中的LS信息收集起来,存在LSDB中,使用SPF(最短路径优先)通过计算,形成无环网络拓扑结构。
OSPF支持VLSM(可变长网络掩码),支持手动路由汇总。
多区域的设计建议使用OSPF协议,能够支撑较大规模的网络。
OSPF协议用于企业网络中的汇聚层和核心层交换机之间。
区域:逻辑上将设备划分成不同的组, 每个组都有一个区域号Area ID来标识。
骨干区为0区,非骨干区为非0区,所有非骨干区想要通信,都必须直接连接在骨干区域上。
Router-ID:在OSPF网络中,用于唯一区分一台路由器,可以手工设置,也可以自动生成。
度量值:OSPF协议中路由开销,每一个激活OSPF协议的接口,都会维护一个接口Cost,
Cost = 100M / 接口带宽,向上取整,就为接口的开销值。可以手动配置接口开销值。
路由开销 = 所有如接口方向上的开销值 的 总 和。
OSPF协议报文:
OSPF三张表
邻居表:
OSPF在传递链路信息之前,需要先建立OSPF邻居关系,通过OSPF的hello字段建立邻居,将邻居的状态保存在邻居表中。可以通过 display ospf peer 查看邻居信息。
LSDB:链路状态数据库
LSDB会保存邻居发来的LSA信息,
Type表示LSA的类型,AdvRouter表示发送LSA的路由器。
使用 display ospf lsdb 查看LSDB表
路由表:
OSPF路由器之间的关系
邻居关系:两台直连路由器上使用OSPF协议,通过Hello报文可以发现对方,这两台路由器就是邻居关系。
邻接关系:当邻居关系的两个路由器中的链路状态库LSDB相同时,这两个路由器就互为邻接关系。
OSPF邻接关系建立的过程:
①,路由器A,B双方互相发送Hello报文,并将双方的信息保存,在后续交互中,会携带对方的信息。
②,路由器A,B之间协商主从关系
③,相互描述各自的LSDB(摘要信息)
④,更新LSA,同步双方的LSDB
⑤,各自计算自己的路由
OSPF数据交互详细步骤:
OSPF网络类型:
Broadcost 广播类型,NBMA 非广播类型,P2MP 点到多点,P2P点到点。
在广播和非广播情况下会选择DR和BDR。
一般情况下,链路两端的OSPF接口网络类型要保持一致,否则无法建立邻居关系。p2p只使用在一条链路上只允许在两台网络类型相同的设备环境上。典型的例子就是PPP链路,当链路采用PPP封装时,OSPF在改接口上默认采用p2p的缺省网络类型。
Broadcost 广播式多路访问(BMA),指的是一个允许多台设备接入的,支持广播的环境。
NBMA:非广播式多路访问
p2mp:点到多点
DR和BDR
当网络中使用OSPF协议时,当网络的拓扑发生变化时,在整个网络中会引起泛洪,各路由器之间会多次收到重复的信息,可能造成带宽的浪费和设备资源的消耗。
为了优化网络中OSPF邻接关系,使用DR(指定路由器),BDR(备用制定路由器)。
规定网路中的所有路由器只允许和DR,BDR建立邻接关系。普通路由器之间只处在2-way状态,只是普通邻居关系,不会执行后续建立主从等一系列操作。BDR会监视DR的状态,并且在DR故障时,接替DR角色。
OSPF的单区域和多区域
单区域:一系列使用相同策略的连续OSPF网络设备所构成的网络。
缺点:当网络中的设备越来越多,一个路由器的LSDB就会越来越大,导致路由器资源消耗多,设备性能下降,影响数据转发。LSDB进行路由计算困难。当拓扑变化时,LSA泛洪对网络中的路由器带来巨大负担。
多区域:将网络划分成多个区域,0表示骨干区域,非0表示非骨干区域。非骨干区域都要直接连着骨干区域,否则无法通信。
划分区域后,LSA值在区域内泛洪,扩展性强,LSDB规模小,路由器负载小
OSPF的典型配置
1,创建并运行OSPF
ospf 进程ID | router-id id号
可以在用一个设备上运行多个ospf,这里的进程id,可以从0到65535,如果不指定进程id,默认时1。router-id默认用于手动指定设备的ID号,如果没有指定ID号,系统会从当前接口的IP的地址中自动选取一个一个作为设备的ID号。
2,创建并进入ospf区域
area 区域号 //区域号范围0-4294967295
3,指定运行OSPF的接口
network 接口所在网段地址 IP的地址掩码的反码
4,配置ospf的接口开销值
ospf cost 值 //开销值计算公式 :100M / 接口带宽 ,向上取整
5,设置接口带宽
bandwidth-reference 值 //设置接口的带宽,范围1-2^31 ,缺省带宽是100Mbit,单位Mbit
6,设置选举指定路由器DR的优先级
ospf dr-priority 值 //范围0-255,值越大,优先级越高,默认值1
OSPF配置案例
网络拓扑:
步骤:
配置设备接口
1,在R1上配置环回地址,用于测试
interface loopback 0
ip address 1.1.1.1 32
quit
2,给接口0配置ip地址
inter gi0/0/0
ip address 10.1.12.1 30
quit
3,给R2上的两个接口配置IP
inter gi0/0/0
ip address 10.1.12.1 30
quit
inter gi0/0/1
ip address 10.1.23.1 30
quit
4,给R3配置环回接口和接口做IP地址
interface loopback 0
ip addres 3.3.3.3 32
quit
inter gi0/0/1
ip address 10.1.23.2 30
quit
配置ospf
1,在R1上配置ospf
ospf 1 ronter-id 1.1.1.1 // 创建并进入ospf
area 0 //创建区域0
network 1.1.1.1 0.0.0.0 //将环回地址ospf中
network 10.1.12.0 0.0.0.3 //将接口1的网关和网关的掩码的反码添加到ospf中
quit
2,在R2上配置ospf
将R2的接口0配置到区域0
ospf 1 rounter-id 2.2.2.2
area 0
network 10.1.12.0 0.0.0.3
quit
将R2的接口1配置到area1中
area 1
network 10.1.23.0 0.0.0.3
quit
3,在R3上配置ospf
ospf 1 router-id 3.3.3.3
area 1
network 10.1.23.0 0.0.0.3
network 3.3.3.3 0.0.0.0
quit
验证结果
查看邻居路由
display ospf peer brief