OSPF路由协议
OSPF协议
OSPF(Open Shortest Path First)协议是基于链路状态的路由协议,与基于距离矢量的路由协议相比具有更快的收敛速度,支撑的网络规模也更大。是目前使用最广泛的路由协议。
OSPF(Open Shortest Path First,开放最短路径优先)是由三张表,五个包,六个网络,七个状态机所组成。
路由协议的分类
自制系统(AS)
自制系统(AS):是一个大型区域,由多个路由器使用相同协议组成的区域。
分为:分为:外部网关协议(EGP),内部网关协议(IGP)。
外部网关协议(EGP):俩个不同区域进行网络通信所使用的路由协议,一般使用BGP协议。
内部网关协议(IGP):在区域当中进行网络通信使用的路由协议,一般使用RIP 、OSPF、ISIS等协议。
协议类型分为:距离矢量路由协议和链路状态协议
距离矢量路由协议:是一种“传说的路由”,一个听一个所传的路由信息,经过自己后加上1跳,最多只能达到15跳。用RIP1/2、BGP协议
链路状态协议:是一种“传信的路由”,直接把已知其他路由1的消息加自己的路由2消息直接拷贝发送给路由3,不做任何修改。这样信息不会有任何修改和丢失。再以一定的计算方式算出谁是BR,谁是BDR,其余的就都是BDother.使用OSPF、ISIS协议
OSPF协议和RIP协议对比
RIP协议限制较多
1.更新慢,一般30s一更新
2.还是整表更新,带宽占用较大。
3.最多只能进行15跳,16跳就不可达。
4.会形成路由环路,堵塞网络。
OSTF协议
1.更新速度快
2.只有链路当中有新消息是进行更新。
3.没有跳数的限制
4.没有环路。
OSPF三张表
1邻居列表
2.链路状态数据库表
3.路由表
OSPF工作过程
首先会先建立一个邻居联系,产生邻居列表,这时所有路由都会学习新的路由的链路状态信息,更新链路状态数据库(LSDB),通过Dijkstra算法进行最短路径的计算,得到最短路径并缓存到路由表中。
OSPF概述
OSPF的特点
1.为了适应大型的网络,OSPF可以在自制系统中划分出一个或多个区域
2.,每个OSPF路由只维护自己所在区域的完整链路状态信息。
3.使用组播进行互相通信。
4. 每个区域里的路由器都有一个区域的ID
区域的概念
区域ID能过使用2进制数进行表示,也能够用一个IP进行表示。
骨干区域默认为Area 0,其他区域就都是非骨干区域
骨干区域:是负责进行不同区域间路由信息传播和转发。
非骨干区域:信息的传播必须经过骨干区域才能通信。
OSPF基本概念
Router ID是OSPF区域的唯一标识路由器的IP地址。
Router的选取规则
Router的选取规则分为自动模式和手动模式
Router自动模式
1.通过路由器loopback接口选取该接口上数值最高的IP地址。
2.如果没有设置loopback接口,可以从物理端口进行IP的选取(数值最高的IP)。
Router手动模式
1.使用router-id进行命令进行手动指定Router-ID
必记:手动选取的router-id的优先级大于自动选取的router-id优先级。
DR\BDR的选取规则
DR\BDR的选取也分为自动模式和手动模式
DR\BDR自动模式选取
router-id选取结束后,就会进行DR\BDR的选取,这时网段上router-id值最大的路由器就是BR,router-id值第二大的路由器就是BDR,其余的路由器就都是DRothers。
DR\BDR手动模式选取
手动进行路由器优先级的设置,所有路由器中,优先值最高的路由器就是DR,优先值第二高的路由器就是BDR。剩下的路由器就都是DRothers。
优先级的范围是:0——255,优先级值越大,优先级越高。,所有路由器的默认优先级都是1.
也可以把路由器的优先级手动调为0,这时路由器将不会再参与DR和BDR的选取。它将会一直是DRothers。
且如果所有路由器优先级是一样的,这时会去进行router-id比较,值最大的就是DR,router-id值第二大的路由器就是BDR,其余的路由器就都是DRothers。
且优先级可以影响选取过程,但DR和BDR路由器都有的情况下,不能强制更换。
OSPF的组播地址的使用
DR和BDR一般都是使用组播地址224.0.0.5和224.0.0.6
在所有路由器开机后,路由器通过组播地址224.0.0.5发送HELLO 包,进行路由器的互相通信,进行DR和BDR的选取,在DR 和BDR确定后,BRother会通过组播地址224.0.0.6给DR和BDR发送消息,DR和BDR通过组播地址224.0.0.5转发给DRother。
也可以这么理解DRother侦听组播地址224.0.0.5.DR和BDR侦听组播地址224.0.0.6.
OSPF度量值
OSPF的度量值为COST
COST=10^8/BW
最短路径是基于接口指定的代替(cost)计算的
接口类型 | 代价(108/BW) |
---|---|
FAST ETHERMET | 1 |
ETHERMET | 10 |
56K | 1785 |
OSPF数据包在IP数据包当中,使用的是89协议号。
OSPF五个包类型
OSTP的包类型 | 描述 |
---|---|
HELLO包 | 用于创建,发现和维持邻居关系,进行DR和BDR的选取 |
数据库描述包(DBD)(华为DD) | 用于向邻居发送摘要信息,用以进行全链路状态数据库的同步 |
链路状态请求包(LSR) | 在路由器接收到包含新信息的DBD后发送,用于请求更详细的信息 |
链路状态更新包(LSU) | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
全链路状态确认包(LSAck) | 确认已经收到DBD/LSU,每个LSA需要分别被确认 |
OSPF七个状态机
down | 初始化 |
---|---|
init | 收到第一个HELLO包 |
2-way | 双向建立通话 |
Exstart | 建立主从关系 |
Exchange | 交换摘要信息 |
loading | 加载详细信息 |
full | 完全连接(收敛) |
OSPF邻居关系的建立详情
在所有路由器都在初始阶段(down)时,AR1会发送一个HELLO包给AR2,因不知道其他的路由器,发送的信息中只包含自己的地址192.168.0.1,这是AR2会接收到了的hello包,进入init状态,并知道了AR1的地址,也会发送一个hello包,其中包含自己的IP地址192.168.2.0和AR1的地址192.168.1.0发送回去,并双向建立通话(2-way)状态。两个路由器会互相发送消息,AR1给AR2发送的是自己的IP地址192.168.0.1,假定自己是主路由器,AR2也会给AR1发送自己的IP地址192.168.0.2,进行假定自己是主路由器,并进行IP地址比较,建立主从关系(Exstart)。建立主从关系后,进入交换摘要信息(Exchange),AR2给AR1发送DBD报文,里面包含自己的链路状态数据库的描述。AR1也会给AR2发送DBD报文,里面包含自己的链路状态数据库的描述。
进入loading状态,获取对方的链路状态详细信息,AR1给AR2发送LSR报文,说明自己需要192.168.2.0/24的完整目录。AR2收到后,会通过LSU报文,发送关于网络192.168.2.0/24的目录给AR1.并双方分别进行LSAck确认。结束后,所有路由器进入收敛状态(full)。
OSPF的实操
如图:
进行配置:
红笔范围是进行回环地址配置。其余配置依次进行
创建OSPF进程,配置路由ID
进入区域0
宣告AR4在OSPF区域内的直连网段,进行宣告。并使用反掩码。
最后进行ping命令,查看主机是否能够通信。