云计算~OSPF路由协议
基本概念和工作过程
OSPF路由协议概述
- 自治系统—AS:一个区域内具备多个路由器集合,使用相同的策略。
- 内部网关协议—IGP:区域内路由器使用的路由协议。
- 外部网关协议—EGP:处于两个自治系统之间的一种协议。
距离矢量路由协议:RIP协议,不会完全对网络拓扑进行了解。
链路状态路由协议:OSPF,ISIS协议,路由器对全网拓扑进行了解,
OSPF的特点
- 适用于大型网络,OSPF在AS内划分多个区域,然而每个OSPF只会维护所在区域内的完整链路状态信息。
- 区域ID
- 骨干区域area 0
划分OSPF
在OSPF区域内只有一个唯一标标识路由器的IP地址。
- 骨干区域 :作为中央实体,其他区域与之相连,骨干区域编号为 0,在该区域中,各种类型的 LSA 均允许发布。
- 标准区域 :除骨干区域外的默认的区域类型,在该类型区域中,各种类型的 LSA 均允许发布。
OSPF的工作过程
路由器之间会建立邻接关系,而邻接关系路由器的计算公式:n(n-1)/2
路由器之间会选取指定路由DR、备用路由BDR,还有其它路由DRothers。
DR的选取方式:根据RouterID最大的选取为DR,第二大则选取为BDR,可以手工设置优先级。
选举过程:DRothers给DR/BDR发送DBD、LSR、LSU摘要信息到224.0.0.6的组播地址,,而DR、BDR会对该地址进行监听,那么发送更新消息就会通过224.0.0.5来进行。
OSPF的度量值
COST作用于决定最短传输路径的选取标准。
OSPF的包类型
1. Hello报文:建立并维护邻居关系。
2. DBD报文:发送链路状态头部信息。
3. LSR报文:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息。
4. LSU报文:将LSR请求的头部信息对应的完整信息发给邻居。
5. LSACK:收到LSU报文后确认该报文。
OSPF支持的网络类型:
1.广播:选举DR,链路层协议是Ethernet时,默认为广播类型网络。
2.非广播
3.点对点(若MTU不匹配 将停留在EX-START状态)
4.点对多点:可以看成是多个点到点的网络。
5.虚电路(虚电路的网络类型是点对点)
OSPF的三张表
1、 邻居列表:列出每台路由器全部已经建立邻接关系的邻居路由器
2、 链路状态数据库:列出网络中其他路由器的信息,由此显示了全网的网络拓扑
3、 路由表:列出通过SPF算法计算出到达每个相连网络的最佳路径
OSPF邻居的有限状态机
i:Down:在上一个邻居失效时间内,没有收到任何hello报文,在NBMA网络中pollinterval时间发送一次he1lo给邻居。
ii:Init:表示一台路由器收到另一台路由器的hello报文,但是报文中的邻居表里没有自己的RouterID
iii:2-way:表示一台路由器收到另一台路由器的hello报文,报文的邻居表中有自己的RouterID
iv:Exstart:在协商主从时,确定DD报文的序列号,比较MTU。(MTU不一样时停在此状态)ospf mtu-enable //开启MTU比较
v:Exchange:在交换LSA摘要时
vi:Loading:对方的LSA摘要和自己的LSDB比较后,发现LSA摘要中存在LSDB中没有的
vii:Full:收到的LSA摘要和自己的LSDB表一致
OSPF的工作状态
-
down:初始状态,没有收到来自邻居的hello包,在NBMA网络中pollinterval时间发送一次he1lo给邻居。
-
init: (收到了来自邻居的he1lo)标识着自身邻居表创立完成。
-
2way: (在邻居的hello包中看见了自己的Route ID)多路访问网络选取DR/BDR才能往下进行,其他网络无条件往下继续。标识着邻居的邻居表建立完成。
-
exstart: (协商主从后才能往下进行) Route ID大的为master,确定DBD的序列号。主先发DBD,从后发DBD。
-
exchange:交换DBD,也向邻居发送LSR来请求新的LSA。 DBD交换完。
-
loading:发送LSR请求最新LSA,收到新的LSA,对比LSA的序列号(如果LSDB相同往下)
-
full:完全邻接。同步完成计算最短路径,加载入路由表。
OSPF与RIP的对比情况
实验展示
R2配置
interface GigabitEthernet0/0/0
ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 11.0.0.1 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.0
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.0 0.0.0.255
network 11.0.0.0 0.0.0.255
network 192.168.1.0 0.0.0.255
R3配置
interface GigabitEthernet0/0/0
ip address 12.0.0.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 11.0.0.11 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.0
#
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.0 0.0.0.255
network 11.0.0.0 0.0.0.255
network 12.0.0.0 0.0.0.255
#
R1配置:
interface GigabitEthernet0/0/0
ip address 12.0.0.12 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.0
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.0 0.0.0.255
network 12.0.0.0 0.0.0.255
network 13.0.0.0 0.0.0.255
#
R4配置
interface GigabitEthernet0/0/0
ip address 192.168.2.22 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 13.0.0.13 255.255.255.0
#
interface NULL0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.0
#
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.0 0.0.0.255
network 13.0.0.0 0.0.0.255
network 192.168.2.0 0.0.0.255
#