文章目录
- 前言
- 一、OSPF是什么?
- 二、OSPF特点
- 三、链路状态算法的路由计算过程
- 三、区域内区域间
- 四、自治系统
- 五、OSPF邻居和邻接关系
- 六、AS区域
- 七、OSPF配置
- 九、OSPF网络类型
- 十、OSPF-点到点串行网络类型(Point-to-Point)
- 十一、OSPF-MA网络类型(广播型多路访问-LAN)
- 十一、OSPF-NBMA网络类型(非广播型多路访问-帧中继)
- 十二、OSPF-虚链路(virtual link)
- 十二、OSPF数据包类型
- 十三、OSPF验证合法数据包
- 十三、★LSA 详解
- 十四、引入外部路由
- 十五、OSPF精简优化LSA
前言
OSPF动态路由协议详解,含实验。
一、OSPF是什么?
OSPF是一个动态路由选择协议:O是OPEN、开放的路由选择协议,支持华为、思科、H3C;SPF是他的算法最短路径(树)优先算法,根据接口带宽计算。
OSPF是IGP内部网关协议的一种,基于LS链路状态算法,与其相近的协议有ISIS。
OSPF企业广泛使用,ISIS运营商使用较多。
二、OSPF特点
1.支持无类域间路由(CIDR)
2.无路由自环
区域内无环
区域间不一定
3.收敛速度快
快于RIP,速度为秒级,RIP是分钟级
4.使用IP组播收发协议数据
组播为D类地址,IP范围224-239
组播需要用户加组,才可以接收到组播流量
5.支持多条等价路由
多个下一跳
6、支持协议报文的认证
避免随意串联设备获取OSPF信息,支持明文和密文2种认证
三、链路状态算法的路由计算过程
LSA:链路状态通告,描述每台路由器周边的网络情况和直连邻居信息。
L=Link,路由器直连的每个接口的IP地址、掩码、COST值(根据接口带宽计算出的数值,接口越大COST越小)
S=Sate,邻居信息。
以上图为例,RTA-RTD这4台路由器均会发送LSA,泛洪自己的LSA给其他路由器,最终每台路由都会接收到网内所有路由器包括自身产生的LSA信息,每台路由器收集LSA信息后保存在LSDB(链路状态数据库=收集所有路由器生成的链路状态通告包括自身),LSDB也可以理解为所有LSA的集合,LSDB中的LSA使用RootID标识所属路由器。
最后每台路由器在LSDB基础之上运行SPF最短路径(树)算法,每台路由器自己作为树根,去往其他路由器犹如去往自己的树枝,计算出最短开销值路径形成路由,将计算出的最短开销路由信息存放于路由表中,最终数据包转发通过查看此路由表转发。
三、区域内区域间
区域内:
LS,使用SPF最短路径算法,选路最优、无环,LSDB要求一致(同步)。传送LSA,形成拓扑结构。
区域间:
DV,使用独特算法,一个区域犹如一台路由器,选路不一定最优和无环,LSDB无法一致。传递路由信息,已经不是LS的链路状态信息。
四、自治系统
自治系统(AS=Autonomous System):
一个自治系统是指使用同一种路由协议(IGP)交换路由信息的一组路由器。
RouterID:
用于在自治系统中唯一标识一台运行OSPF路由器生成出的LSA,每个运行OSPF的路由器都有一个Router ID,也就是路由器的名称。
1.Router-id(RID)
运行OSPF的每台路由器的名字、标识,与路由器完全没有任何关系。
表现形式为:1.1.1.1
自动选举原则:
(1)先从路由器逻辑接口中选择最大IP地址接口作为RootID;
(2)如果没有逻辑接口才会从物理接口中选择最大IP地址接口作为RootID;
RID一旦选举出来,在邻居关系建立起来的情况下就不会变更,处于一个稳定状态。推荐手动配置RID,更加稳定。
1.配置Router-id(RID)
(1)环回0口配置:
[R1] lo0
[R1] router id 1.1.1.1
(2)全局下配置(优先级高于回环口)
[R1] ospf 1 router-id 1.1.1.1 ##在ospf进程1下配置
2.Routerid 配置要求
(1)全网唯一:
如果直连两台路由器RID冲突,无法建立邻居关系;
如果不直连的两台路由器RID冲突,则学习不到LSA;
此环境中,AR1-2路由器的ROOTID 与AR1的ROOTID均为1.1.1.1,此时AR1-1路由器的ospf邻居信息如下:
AR1-1认为两边均是1个人,所以AR1-1不会转发数据给AR1-2
五、OSPF邻居和邻接关系
1、邻居(2-way)
交互了hello包,并且通过了hello包中相关参数的协商,匹配一直,邻居关系建立,但是此关系无法传输路由信息LSA。
2、邻接(full)
交互了hello包,并且通过了hello包中相关参数的协商,匹配一直,邻居关系建立,并且交互了LSA或路由信息。
3、ospf邻居关系建立的必要条件
(1) 直连两台路由器RID不能冲突
(2) 两端路由器宣告进同一个区域中
4、ospf邻居7种状态
分别是:down、init、2way、Exstart、Exchange、Loading、Full。
1、路由器A刚启动时,ospf处于down的状态,因为它还没有与其他路由器交换信息。它使用组播地址224.0.0.5发送hello包。
2、所有运行ospf的路由器各自发送自身的hello包,所有路由器收到HELLO包后都会将对方加入邻居列表中,这是init状态。
3、路由器收到hello包时都向对方发送单播应答,对方收到后,将这些路由器加入邻居列表,所有路由器都建立了双向关系,进入了2way状态。
4、如果链路类型是广播网络(如以太网),接下来必须选举DR和BDR,选举结束后,路由器处于预启动Exstart状态。
5、然后交换链路状态数据库摘要,也就是交换DBD,这是Exchange状态。
6、DBD交换完毕后进入Loading状态。
7、路由器根据DBD发送LSR请求更新链路状态条目,对方用LSU进行响应,最后是LSACK。至此,双方都学到了路由条目,database完整,就是Full状态。
4、ospf邻居5种数据包
六、AS区域
1、AS区域分类及注意事项
1、 两层区域,一层为骨干区域0,一层叫普通区域;
2、不是区域0的都叫普通区域;
3、区域的划分范围:0-65535;
4、1个区域内可容纳的路由器为150台;
5、区域划分时,普通区域必须直连到骨干区域0,并且普通区域不能相互传递LSA,防止环路。
6、区域内使用的是SPF算法,自动防环,区域间不是此算法。
区域内:
区域内:
2、AS区域路由器分类
1、BR
BR,又称骨干区域路由器,此路由器只要有一个接口宣告进骨干区域0中,就为区域路由器,ABR也是BR。骨干区域路由器为中转路由器,所有路由器数据都会经过此路由器。
2、ABR
ABR,又称区域边界路由器:区域与区域之间有一台路由设备作为边界路由器,称之为ABR,此台路由器必须有一个接口属于骨干区域0,并且同时连接1个或者多个普通区域,ABR也是BR。
ABR的作用:把连接普通区域的路由传给骨干区域,骨干区域传递路由给普通区域,这样来回传递路由信息是ABR的功能
3、IR
IR,又称内部路由器,指的是所有接口都宣告进同一区域,无法传递路由信息。
4、ASBR
ASBR,又称自治系统边界路由器,此路由器连接了另一个AS区域,此AS区域使用的是另外一种协议,可能是ISIS、也可能是RIP,两者需要使用一个import引入各自的路由区域。
七、OSPF配置
1.OSPF Routerid修改
退到用户视图
<R1> reset ospf process
提示输入y
2.查看OSPF配置
dis current-configuration configuration ospf (简写dis cu c o) ##查看OSPF配置
dis ospf peer brief ##查看OSPF状态、 邻居宣告信息
dis ip routing-table protocol ospf ##只查看ospf路由信息
3.路由宣告
network 宣告的2中含义:
(1)network 命令所包含进去的接口将会周期往外发送路由更新(HELLO包);
(2)network 命令所包含的接口所属的网络号信息将会通告给其他路由器。
注:路由宣告不影响路由发送,宣告只是把接口加入ospf进程中,接口所属的网络号信息将会通告给其他路由器,推荐精确到接口IP来宣告。
精确接口宣告:(最好)
ospf 1 router-id 1.1.1.1
area 0
network 12.1.1.1 0.0.0.0
精确网段宣告:
ospf 1 router-id 1.1.1.1
area 0
network 12.1.1.0 0.0.0.255
4、配置实验1
路由器RTA配置:
RTA中宣告