OSPF(Open Shortest Path First), 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP)。常用于路由器的动态选路。

1、OSPF仅传播对端设备不具备的路由信息,网络收敛迅速,并有效避免了网络资源浪费;

2、OSPF直接工作于IP层之上,IP协议号为89;

3、OSPF以组播地址发送协议包;

OSPF工作原理




ospf协议 实现_ospf协议


1、邻居(Neighbor):宣告OSPF的路由器从所有启动OSPF协议的接口上发出Hello数据包。


ospf协议 实现_ospf协议 实现_02


2、邻接关系(Adjacency):两台邻居路由器之间构成的一条点到点的虚链路,邻接关系的建立是由交换hello信息的路由器类型和网络类型决定的。


ospf协议 实现_ospf协议_03


3、链路状态通告(Link State Advertisement,LSA):每一台路由器都会在所有形成邻接关系的邻居之间发送链路状态通告LSA。LSA描述了路由器所有的链路、接口、邻居等信息。ospf定义了许多不同的LSA类型。


ospf协议 实现_R3_04


ospf协议 实现_ospf协议 实现_05


4、链路状态数据库(LSDB):每一台收到来自邻居路由器发出的LSA的路由器都会把这些LSA信息记录在它的LSDB中,并且发送一份LSA的拷贝给该路由器的其他所有邻居。这样当LSA传播到整个区域后,区域内所有的路由器都会形成同样的LSDB。


ospf协议 实现_Ethernet_06


DR和BDR选举


ospf协议 实现_Ethernet_07


DR,BDR选举规则总结:

1、选举接口优先级,优先级越大越优先,被选DR,优先级第二,被选BDR。

2、如果优先级一样,选route-id,越大优先。

3、如果路由器没有设置route-id,那么选接口的ip地址,越大越优先。

注意:一个单区域中可以没有BDR,但是必须有DR!

OSPF配置案例


ospf协议 实现_ospf协议_08


1、网络中包含三台路由器及两台PC;

2、为了能够更直观的观察到实验现象,每台路由器创建Loopback0接口,为该接口配置x.x.x.x/32的IP地址,并将该地址作为路由器的OSPF Router-ID。以R1为例,其Loopback0接口的IP地址为1.1.1.1/32。

3、需注意路由器的接口被规划在哪一个area中。R2是ABR,其两个接口接入不同的OSPF区域。

4、设备的接口编号及IP地址规划如图所示。

实验需求

1、完成三台路由器的基础配置,并在路由器上运行OSPF,使得全网路由互通;

2、完成两台PC的配置;

3、完成配置后,两台PC要能够互相ping通。

实现步骤及配置

R1的配置如下:

system-view[Huawei]sy[Huawei]sysname R1[R1]interface GigabitEthernet 0/0/0[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24[R1-GigabitEthernet0/0/0]q[R1]interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1]ip address 192.168.1.254 24[R1-GigabitEthernet0/0/1]q[R1]interface LoopBack 0[R1-LoopBack0]ip address 1.1.1.1 32[R1-LoopBack0]q[R1]ospf 1 router-id 1.1.1.1[R1-ospf-1]area 0[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

R2的配置如下:

system-view[Huawei]sysname R2[R2]interface GigabitEthernet 0/0/0[R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24[R2-GigabitEthernet0/0/0]q[R2]interface GigabitEthernet 0/0/1[R2-GigabitEthernet0/0/1]ip address 192.168.23.2 24[R2-GigabitEthernet0/0/1]q[R2]interface LoopBack 0[R2-LoopBack0]ip address 2.2.2.2 32[R2-LoopBack0]q[R2]ospf 1 router-id 2.2.2.2[R2-ospf-1]area 0[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255[R2-ospf-1-area-0.0.0.0]q[R2-ospf-1]area 1[R2-ospf-1-area-0.0.0.1]network 192.168.23.0 0.0.0.255

R3的配置如下:

system-view[Huawei]sysname R3[R3]interface GigabitEthernet 0/0/0[R3-GigabitEthernet0/0/0]ip address 192.168.23.3 24[R3-GigabitEthernet0/0/0]q[R3]interface GigabitEthernet 0/0/1[R3-GigabitEthernet0/0/1]ip address 192.168.2.254 24[R3-GigabitEthernet0/0/1]q[R3]interface LoopBack 0[R3-LoopBack0]ip add[R3-LoopBack0]ip address 3.3.3.3 32[R3-LoopBack0]q[R3]ospf 1 router-id 3.3.3.3[R3-ospf-1]area 1[R3-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255[R3-ospf-1-area-0.0.0.1]network 192.168.23.0 0.0.0.255

完成配置后,请自行检查OSPF邻居关系,以及每台路由器的路由表,确保每台设备都学习到了全网各个网段的路由。此时PC1与PC2即可互相ping通。


ospf协议 实现_ospf协议_09