一、 OSPF路由协议概述
1.1 内部网关协议和外部网关协议
自治系统(AS):1-65535
内部网关协议(IGP)
外部网关协议(EGP)
自治系统号内一致用IGP协议,自治系统号不一致使用EGP协议
1.2 OSPF
1.2.1 OSPF工作过程
邻居列表
链路状态数据库(LSD)
路由表
1.2.2 路由形成过程
建立邻接关系----链路状态数据库----最短路径树----路由表
学习链路状态信息 Dijkstar算法
1.2.3 OSPF的组播地址
224.0.0.5:(DRother)
224.0.0.6:(DR/BDR)
1.2.4 OSPF的度量值
OSPF的度量值为cost
COST=10的8次方/BW
最短路径是基于接口指定的代价(cost)计算的
OSPF的度量值和带宽有关系,带宽越大,cost值链路花销越小;带宽越小,cost值链路花销越大
1.3 OSPF的区域
1.3.1 OSPF的区域
为了适应大型的区域,OSPF在AS内划分为多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息(LSA)
1.3.2 区域ID
区域ID可以表示为一个十进制数的数字
也可以表示成为一个IP
(PS:思科设备区域ID可以表示成十进制数数字,也可以表示为IP)
1.3.3 骨干区域Area 0
负责区域间路由信息传播
1.3.4 非骨干区域
所有不是骨干区域的都是非骨干区域
1.3.5 Router ID
OSPF所有区域内唯一标识路由器的IP地址
1.3.6 Router ID选取IP规则
选取路由器lookback接口上数值最高的IP地址
如果没有lookback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID(一般使用手动指定)
(PS:Router ID冲突会导致这两个路由都没法学习,只能依靠直连网段)
1.4 OSPF邻接关系
1.4.1 OSPF数据包
承载在IP数据包内,使用协议号89
1.4.2 OSPF包类型
1.4.3 OSPF邻接关系的建立
(1) Down:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的Hello报文
(1-2) Attempt:只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送Hello报文
(2) Init:本状态表示已经收到邻居的Hello报文,但是该报文中列出的邻居中没有包含我的router ID(对方并没有收到我发的Hello报文)
(3) 2-way:本状态表示双方互相收到了对端发送的Hello报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态时DR0ther的路由器之间将停留在此状态
其他情况状态机将继续转入高级状态
(4) ExStart:在此状态下,路由器和它的邻居之间通过互相交换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送
(5) Exchange:路由器将本地的LSDB用DD报文来描述,并发给邻居
(6) Loading:路由器发送LSR报文向邻居请求对方的DD报文
(7) Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency)状态
1.4.4 OSPF建立邻居的特点
1、 Router ID不能相同
2、 Hello时间必须一致
3、 DEAD时间必须一致
4、 区域ID必须相同
5、 认证必须相同
6、 STUB标志位必须相同(直连路由器特殊区域要求一致)
7、 三层MTU不匹配无法形成邻接关系(一边是EXSTART,一边是EXCHANGE)
8、 OSPF版本号不同(目前版本为2)
9、 当OSPF网络类型时MA时,要求掩码一定一致(两个邻居)。因为会出现DR和LSA-2,无法描述网段
1.4.5 OSPF的网络类型
OSPF将网络划分为四种类型
1、 点到点网络(Point-to-Point)
2、 广播多路访问网络(Broadcast MultiAccess,BMA)(默认)
3、 非广播多路访问网络(None Broadcast MultiAccess,NBMA)
4、 点到多点网络(Point-to-Multipoint)
1.4.6 OSPF的特点
可适应大规模网络
路由变化收敛速度快
无路由环路
支持变长子网掩码VLSM
支持区域划分
支持以组播地址发送协议报
1.4.7 OSPF和RIPv1、RIPv2的区别
1.5 DR和BDR
1.5.1 DR和BDR概念
广播网络中建立邻接关系
构成n(n-1)/2个邻接关系
其他路由器(DRothers)之和DR和BDR形成邻接关系
1.5.2 DR和BDR选举方法
1.5.2.1 自动选举DR和BDR
· 网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
1.5.2.2 手工选择DR和BDR
· 优先级范围时0~255,数值越大,优先级越高,默认为1
· 如果优先级相同,则需要比较Router ID,Router ID越大越优
· 如果路由器的优先级被设置为0,它将不参与DR和BDR的选举
1.5.3 DR和BDR选举过程
路由器的优先级可以影响一个选举过程,但是它不能强制更好已经存在的DR或者BDR路由器,只能强制清除
二、 OSPF配置基础命令
启动OSPF路由进程
router(config)#router ospf process-id(进程号)
指定OSPF协议运行的接口和所在区域
router(config-router)#network address inverse-mask(反掩码) area area-id(区域号)
修改接口优先级
router(config-router)#ip ospf priority
修改接口的cost值
router(config-router)#ip ospf cost
查看路由表
router#show ip route
查看邻居列表及状态
router#show ip ospf neighbor
查看OSPF配置
router#show ip ospf
查看OSPF接口的数据结构
router#show ip ospf interface type number