OSPF:现实情况中99%的网络运行的是这种路由协议
OSPF有三张表:邻居表,链路状态数据库(LSDB),路由表 SPF算法
OSPF架构为花瓣形(不同area组成花瓣)就是为了防环,因为骨干区域运行的是贝尔曼福特算法,容易产生环路,设计成星型就不怕形成环路了(物理上打破的环路)。
单个区域内运行的是SPF算法(形成一个树状结构)来打破环路。
OSPF和RIP同时支持触发更新和周期更新,RIP30s发送一次,OSPF30min发送一次。EIGRP只支持触发更新。
OSPF的5种数据包
1.hello
2.Database Description DBD
3.Link-State Request LSR
4.Link-State Update LSU
5.Link-State Acknowledgment LSAck
OSPF接口状态:
1:down 初始状态,接口被宣告进OSPF,没有发送任何报文
2:init 通过接口发送一份Hello
3:two-way 通过接口收到了一份Neighbor字段包含自身RID的Hello
4:exstart 交互3个不带LSA报头的DBD选择Master/Slave
5:exchange 由Master发起的带有LSA报头的DBD信息交互
6:loading 交互LSR LSU以及LSAck实现LSDB的同步
7:full 一旦LSDB同步,邻接关系到达Full
在MA网段建立OSPF邻接关系时DR和BDR的选举原则
1:参与该MA网段的路由器接口的OSPF优先级,越高越好(0-255)
2:该MA网段所连接的路由器的RID,越高越好
OSPF MA网段接口的OSPF优先级如果值为0,代表的不是优先级的最小值,而是该接口没有资格在这个网段参选DR和BDR,只能成为DRother.
1:DR和BDR都无法被抢占
2:DR挂了BDR会立即抢占成为新的DR,而新的BDR通过在DRother中重新选举得出
3: DR和BDR都是路由器的接口接口的概念,每个网段的DR和BDR都是通过相同的机制单独选举的.
4:在以太网环境建议拥有DR和BDR实现备份,而在FR环境中,只能是HUB节点成为DR,任何Spoke节点都不能成为DR或BDR.
5:如果一个MA网段没有DR和BDR,没有任何邻接关系存在也不会有任何LSA的传递
一台运行OSPF的路由器,只要在一个接口开启了OSPF进程,则该接口会立即监听发往224.0.0.5的组播组流量,而仅当一个节点成为DR或BDR时,该接口才会同时监听发往224.0.0.5和224.0.0.6的组播组流量
在一个MA网段内,所有路由器发送给DR和BDR的报文的目的地址都是.6而DR将LSA整合之后以.5的地址发送给网段内所有其他的路由器。
OSPF常见的几种LSA:
1.Router LSA
传播范围:只能在一个Area内传递,不能穿越ABR
通告者:每台属于一个区域的路由器都会基于该区域通告一条1类LSA
包含内容:拓扑信息,其中描述该路由器所有宣告进该区域的链路的前缀,掩码,网络类型以及度量值
link-ID(该路由器所通告的LSA的唯一标示符):通告该路由器的RID
ADV Router(通告者路由器):通告该LSA的路由器的RID
2.Network LSA
传播范围:同一类
通告者:MA网段中的DR
包含内容:纯拓扑信息,包含了该MA网段直连的所有路由器的RID信息,该MA网段的掩码
Link-ID:该MA网段DR接口的IP地址
ADV Router:该DR的RID
3.Summary Network LSA
传播范围:除了该区域外的整个OSPF路由选择域
通告者:ABR
包含内容:一条3类LSA包含一条OSPF域间路由,O IA
Link-ID:3类LSA路由的前缀
ADV Router:ABR的RID。3类LSA在OSPF路由选择域内传递的时候为了保证可达性,每跨越一个ABR都会自动改写为该ABR的RID。
4.Summary ASB LSA
传递范围:除了ASBR所在区域之外的整个路由选择域
通告者:和ASBR在同一个区域的ABR路由器
包含内容:纯拓扑信息,描述了ASBR所在位置
link-ID:ASBR的RID
ADV Router:通告者ABR的RID,并且该值每跨越一个ABR都会自动改变,同3类LSA
5.External LSA
传递范围:整个OSPF路由选择域
通告者:ASBR
包含内容:纯路由信息,一条OSPF域外路由对应一条5类LSA
link-ID:域外路由的路由前缀
ADV Router:ASBR的RID.该LSA在OSPF域内传递的时候,ADV Router不会发生任何改变
Seed Metric:种子度量值,对于OSPF而言如果将BGP路由重分发进入,则Seed Metric默认为1,所有其他外部路由缺省Seed Metric是20
域间汇总:需要在ABR上部署,实现对3类LSA的汇总传递
域外汇总:需要在ASBR上部署,实现对5类LSA的汇总传递
RIP和EIGRP的汇总都是链路级别(在接口模式下),OSPF汇总是在进程级别(在router ospf 下)。
OSPF手工域间汇总(在ABR上做)命令(OSPF没有自动汇总):area X rang X.X.X.X X.X.X.X.
OSPF手工AS之间汇总(在ASBR上做):summary-address 路由前缀
Stub区域:如果将一个OSPF区域部署为Stub,该区域的ABR会将入区域方向的4、5类LSA同时过滤,同时该ABR会主动向区域内部发送一个O IA的0.0.0.0/0的3类缺省路由,Seed Metric为1
Totally Stub区域:在Stub区域的基础之上ABR路由会同时将3、4、5类入向传递的LSA过滤掉,同时会主动向该区域注入一条0.0.0.0/0 O IA的缺省路由,Seed Metric缺省也为1
NSSA区域:在NSSA区域内可以拥有ASBR,并且重分发进入OSPF的路由是以7类LSA形式存在,该类型的LSA只能存在于NSSA区域内,并且该区域所有ABR会通过比较RID选举出一个转换器(最大的RID者),该转换器会将内部传递给外部的NSSA LSA转换成5类LSA并且通告给其他区域,所有该区域内的ABR都会过滤从外部进入该区域的4、5类LSA。但是该区域的任何ABR都不会主动向内部下放缺省路由。为
了实现内部路由器的外网可达性,需要在该区域ABR上手工放下缺省路由,O*N2 0.0.0.0/0 Seed Metric=1
Totally NSSA区域:基于NSSA区域的概念基础,ABR会主动阻止3、4、5类LSA进入该区域,并且ABR会主动向区域内下放O*IA 0.0.0.0/0 Seed Metric = 1的缺省路由
一台路由器只要可以产生5类LSA,则该路由器就是ASBR。
加表优先级:O> O IA >O E1/E2 = O N1/N2
没有连接到骨干区域的区域(1.远离骨干区域的非骨干区域。2.被分割的Area0.)补救办法:
1:在出现问题的ABR上(没有和Area 0直连的ABR上),使用双OSPF进程,并且执行单点双向重分发。
2:在出现问题的ABR上建立一个Tunnel链路连接到离其最近的Area 0中的ABR路由器上。在这两台ABR上对Tunnel配置IP地址为同一个IP子网段,并且将其宣告进OSPF的区域0.
R1(config)#interface tunnel X(本地意义)
R1(config-if)#tunnel source X.X.X.X(环回地址)
R1(config-if)#tunnel destination X.X.X.X(环回地址)
到目前为止tunnel为2层逻辑链路,要想成为3层逻辑直连还得起一个同一网段的IP地址
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R3(config-if)#ip address 1.1.1.3 255.255.255.0
然后再把1.1.1.0网段宣告进OSPF的0区域
3:使用Virtual-Link在出问题的ABR以及离他最近的Area 0中的ABR上部署(两台路由器之间必须要能彼此收到对方的1类LSA)
R1(config-router)#area X virtual-link 对方的RID
R3(config-router)#area X virtual-link 对方的RID
OSPF的认证:
R4(config-if)#ip ospf authentication-key cisco
R4 (config-if)#ip ospf authentication
这组命令启用了链路级明文认证。
R3(config-if)#ip ospf message-digest-key 13 md5 cisco
R3(config-if)#ip ospf authentication message-digest
这组命令启用了链路级密文认证。
R2(config-if)#ip ospf authentication-key cisco
R2(config-router)#area 0 authentication
这组命令启用了区域级明文认证。
R2(config-if)#ip ospf message-digest-key 12 md5 cisco
R2(config-router)#area 0 authentication message-digest
这组命令启用了区域级密文认证。
R3(config-router)#area 2 virtual-link 91.1.1.1 authentication-key cisco
R3(config-router)#area 2 virtual-link 91.1.1.1 authentication
这组命令启用了VL的明文认证(只有在VL初始化建立连接关系的时候生效)
R3(config-router)#area 2 virtual-link 91.3.3.3 message-digest-key 1 md5 cisco
R3(config-router)#area 2 virtual-link 91.3.3.3 authentication message-digest
这组命令启用了VL的密文认证(同明文认证用途)
OSPF网络类型:
1:Loopback Loopback 无论接口掩码多少,都以/32主机路由通告
2:Point-To-Point Serial/ISDN BRI/FR point2point SubIf 支持组播,没有DR
3:Broadcast Ethernet 支持组播,有DR
4:NBMA FR主接口/FR多点子接口 不支持组播,有DR
5:Point-To-Multipoint 支持组播,无DR,自动生成关于直连邻居接口的/32的主机路由
6:Point-To-Multipoint Non-Broadcast 不支持组播,无DR,自动生成关于直连邻居接口的/32的主机路由
在FR环境中部署OSPF
1:网络类型使用NBMA。
为了建立邻居需要在Hub节点手工指Neighbor
为了保证路由哦传递没问题,需要手工修改接口的OSPF优先级,保证Hub成为DR,Spoke什么都不是
为了保证Spoke节点所连接的下游网段内的PC可以互访,需要在Spoke节点彼此指手工FR映射。
2:网络类型使用Broadcast
由于支持组播发送,因此不需要手工指Neighbor(FR Map开启伪广播功能)
需要修改接口OSPF优先级改变DR的位置。
需要手工配置FR的映射实现Spoke节点的彼此访问。
3:网络类型使用P2MP Non-Broadcast
需要手工指Neighbor建邻居
不需要手工修改接口OSPF优先级,因为没有DR/BDR
不需要手工帧中继映射,因为/32的主机路由。
4:网络类型使用P2MP
不需要手工Neighbor
不需要修改优先级
不需要手工映射