OSPF
OSPF属于IGP,是Link-State协议,基于IP Pro89。
采用SPF算法(Dijkstra算法)计算最佳路径。
ASP站长网快速响应网络变化。
以较低频率(每隔30分钟)发送定期更新,被称为链路状态刷新。
网络变化时是触发更新。
支持等价的负载均衡。
OSPF维护的3张表
Neighbor Table:确保直接邻居之间能够双向通信。
Topology Table:LSDB(Link-State DataBase),同一区域的所有路由器LSDB相同。
Routing Table:对LSDB应用SPF算法,选择到达目标地址的最佳路由放入路由表。
OSPF的区域划分
(1) OSPF采用层次设计,用Area来分隔路由器。
区域中的路由器保存该区域中所有链路和路由器的详细信息,但只保存其他区域路由器和链路的摘要信息。
(2) Transit area (backbone or area 0)区域0--主要作用是防环,也提高了扩展性!
主要功能:为快速、高效地传输数据包。通常不接用户。
(3) Regular areas (nonbackbone areas) 主要是连接用户。而且所有数据都必须经过area 0中转。
包括:Stub / Totally Stubby / NSSA
采用层次设计的好处
减少了路由表的条目
LSA的泛洪在网络边界停止,加速会聚
局限拓扑变更的影响 缩小网络的不稳定性,一个区域的问题不会影响其它区域。
OSPF的邻居与邻接关系
OSPF路由器与它直连的邻居建立邻居关系。
OSPF路由器只会与建立了邻接关系的路由器互传LSA。
路由器只和建立了邻接关系的邻居才可以到达FULL状态。
路由更新只在形成FULL状态的路由器间传递。
P2P链路可以到达FULL状态。
MA网络,所有路由器只和DR/BDR到达FULL状态。
(Backup Designated Router)
邻居及邻接的区别
邻居---必须有直连的链路
邻接--- 1. 必须是邻居 2. 链路两边同一区域的数据库必须同步(状态为:FULL).
(1) Route-ID:
为唯一标识OSPF域中路由器。
设置Route-ID的优先顺序:
手工指定Route-ID x.x.x.x(可任意,但不能重复)
最大的Loopback IP
最大的接口IP(保证接口是激活状态)higher active physical interface ip推荐使用环回口和手工指定的router-id,因为它们的稳定性更高。
(2) DR/BDR的选举:
比较优先级,越大越优(默认为1,如设为0表示不参与选举)
比较Route-ID,越大越优。
DRother发送LSA给DR/BDR用224.0.0.6
DR发送LSA给DRother用224.0.0.5
非MA网络(没有DR/BDR),路由器都用224.0.0.5
<DR/BDR>特点
不抢占,DR正常时,即使有新的Pri比DR高的路由器也不能抢占成为DR。
DR正常时,BDR只接收所有信息,转发LSA和同步LSDB的任务由DR完成,当DR故障时,BDR自动成为DR,完成原DR的工作,并选举新的BDR。
DR是个接口概念。每个网段都会选举DR。
不同网段分别选DR/BDR
SPF算法
在一个区域内的所有路由器有同样的LSDB
每一个路由器在计算时都将自已做为树根
具有去往目标的最低cost值的路由是最好的路径
最好的路由被放入转发表
计时器
Hello Intervals:10S/30S(广播型网络默认10s,非广播型网络缺省是30s!)
Dead Interval:4*Hello =40S 不同于其它协议的三倍于Hello时间
hello包发向224.0.0.5
下面这三种网络类型的hello时间是30S
NON_BROADCAST
POINT_TO_MULTIPOINT
POINT_TO_MULTIPOINT(点到多点) NON_BROADCAST(非广播)
OSPF开销值计算
OSPF Cost = 10^8/BW (bps)
默认情况下,环回口的COST值是1,serial口的COST值是64,以太口是10
OSPF的5种报文
(1) Hello:发现并建立邻接关系。还有选举DR和BDR!!!
(2) DBD:包含路由的摘要信息。
(3) LSR:向另一台路由器请求特定路由的完整信息。
(4) LSU:用于LSA的泛洪和回应LSR该条路由的完整信息。在OSPF中,只有LSU需要显示确认
(5) LSAck:对LSU做确认。
确认(ACK):
隐式 如Update对Request的隐式确认
显式 LSA只对LSU显式确认
DBD包中有一个三位的标志字段(主从关系控制标志):
Initial(初始位)、More(后继位)、Master/Slave(主从位)
I(是否第一个包) M(是否还有后续包) M/S
1 1 1
0 1 0
0 1 1
分别是0x7,0x2,0x3 具有最高route-id的路由器为主路由器,建邻居时第一个DBD是空的,目的为了选主从关系。选主从的目的是为了同步DBD,一开始两台路由器都发送一个空的DBD,序列号随机生成,选出主路由器后从路由器先发送一个DBD,序列号为主路由器的序列号。(这样就隐式确认)
OSPF建邻居的必要条件
Hello/Dead Intervals
Area ID
Authentication Password
Stub Area Flag
MTU
subnet mask(必须是同一个网段)
show ip ospf nei 如皋市exstart 状态 表明他们呢的mtu 不一致, 那么 就 ip ospf mtu-ignore (忽略这个问题zx)
OSPF状态机
down state
init state
two-way state
exstart state
exchange state
loading state
full state
OSPF基本操作命令
R1(config)#router ospf 110 注意:进程号是cisco的私有技术 没有必要都设置成一样的
R1(config-router)#network 1.1.1.0 0.0.0.255 area 0 (正/反掩码皆可)
R1(config-router)#network 12.1.1.0 255.255.255.0 area 0 区域号还可用点分十进制表示
R1#show ip protocols
R1#show ip ospf 可查看router-id,进程号,域的数量
R1#show ip ospf interface
R1#show ip ospf interface brief
R1#show ip ospf neighbor 查看邻居信息
R4(config-if)#ip ospf hello-interval 9
(dead自动*4)
R4(config-if)#ip os dead-interval 80
R4(config-if)#ip ospf priority 10 修改优先级
R1#show ip os database
注意:在OSPF中,环回接口的路由掩码会变为32位 可用命令IP OSPF NETWORK POINT-TO-POINT
假如在一个大型网络中,OSPF如果没有分层,会有以下的问题产生:
每一个路由器会接收到太多的LSA
会经常进行路由的计算
路由表太大,而路由器的内存是有限的。
OSPF路由器的类型:
内部路由器--在一个普通区域内的路由器
核心路由器--在area 0区域内的路由器
ABR区域边界路由器--连接两个不同区域的路由器
ASBR自治系统边界路由器--连接OSPF域到另一个自治系统的路由器
大型站长资讯类网站! https://www.0792zz.cn