OSPF:开放式最短路径协议,它是IGP中的一种链路状态协议,相比于RIP这种距离向量路径而言更加详细和准确的计算出源地址去往目的地址的一条或多条路径。OSPF分为V2和V3,V2用于IPV4网络,V3用在IPV6网络。
OSPF协议的其他一些特性:
使用了区域的概念
完全无类别地处理地址问题
支持无类别路由表查询
支持无大小限制的、任意的度量值
支持使用多条路径的效率更高的等价负载均
使用保留的组播地址来减小对不宣告OSPF的设备的影响
支持更安全的路由选择认证
使用可以跟踪外部路由的路由标
OSPF环路:
https://forum.huawei.com/enterprise/zh/thread-439217.html
有类路由:路由器首先匹配主网络号,如果主网络号存在,就继续匹配子网号,且不考虑缺省路由,如果子网无法匹配,丢弃数据包(在分类路由下,路由器认为知道所有主网络下的全部子网),并使用ICMP返回一个不可达回应。如果主网络号不存在,使用缺省路由(缺省路由存在前提)。有类路由 汇总以后 地址是标准的A B C类地址掩码 即 255.0.0.0 255.255.0.0
255.255.255.0 (有类路由里 大类网络中子网掩码必须一致 这样叫做有类路由因为有类路由协议不传递子网掩码信息)
无类路由:如果没有找到最具体的匹配,就使用缺省路由。
无类路由 汇总以后 地址是无类的 比如 172.16.12.0/16 -
172.16.15.0/16 汇总以后的地址是 172.16.12.0/20子网掩码不属于 A B C 3个类别(无类路由 是相反的 他传递子网信息所有 大类网络中
可以使用不同的子网码)
OSPF两种组播地址的区别和联系:
1.点到点网络:
连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是224.0.0.5
2.广播型网络:
比如以太网,这样的网络上会选举一个DR和BDR,DR/BDR的发送的OSPF包的目标地址为224.0.0.5;而除了DR/BDR以外的OSPF包的目标地址为224.0.0.6在广播型网络中,所有路由器都以224.0.0.5的地址发送hello包,用来维持邻居关系,非DR/BDR路由都以224.0.0.6的地址发送lsa更新,而只有DR/BDR路由监听这个地址,反过来,DR路由使用224.0.0.5来发送更新到非DR路由。
OSPF协议的实现步骤:
1:宣告OSPF的路由器从所有启动OSPF协议的接口上发出Hello数据包。如果两台路由器共享一条公共数据链路,并且能够相互成功协商它们各自Hello数据包中所指定的某些参数,那么它们就成为了邻居(Neighbor)。
2:邻接关系(Adjacency),
可以想象成为一条点到点的虚链路,它是在一些邻居路由器之间构成的。OSPF协议定义了一些网络类型和一些路由器类型的邻接关系。邻接关系的建立是由交换Hello信息的路由器类型和交换Hello信息的网络类型决定的。
3:每一台路由器都会在所有形成邻接关系的邻居之间发送链路状态通告(Link State Advertisement,LSA)。LSA描述了路由器所有的链路、接口、路由器的邻居以及链路状态信息。
4:每一台收到从邻居路由器发出的LSA的路由器都会把这些LSA记录在它的链路状态数据库当中,并且发送一份LSA的拷贝给该路由器的其他所有邻居。
5:通过LSA泛洪扩散到整个区域,所有的路由器都会形成同样的链路状态数据库。
6:当这些路由器的数据库完全相同时,每一台路由器都将以其自身为根,使用SPF算法来计算一个无环路的拓扑图,以描述它所知道的到达每一个目的地的最短路径(最小的路径代价)。
7:每一台路由器都将从SPF算法树中构建出自己的路由表。当所有的链路状态信息洪泛到区域内的所有路由器上,并且邻居检验它们的数据库也相同及收敛完成。邻居之间交换的Hello数据包称为keepalive,并且每隔30min重传一次LSA。
ROUTER-ID:路由器ID在OSPF区域内惟一标识一台路由器的IP地址。一台OSPF路由器对其他OSPF路由器的跟踪需要每台路由器都提供一个路由器ID(RouterID)。
(1)如果使用router-id命令手工配置RouterID,就使用Router ID。
(2)如果没有手工配置RouterID,路由器就选取它所有的四环(loopback)接口上数值最高的IP地址。
(3)如果路由器没有配置IP地址的loopback接口,那么路由器将选取它所有的物理接口上数值最高的IP地址。用作路由器ID的接口不一定非要运行OSPF协议。
使用loopback接口作为路由器ID有两个好处:
1)loopback接口比任何其他物理接口更稳定;
2)网络管理员在预先分配和识别作为路由器ID的地址时有更多的回旋余地。
Hello报文: