一、OSPF的特点

路由器之间交流的语言是报文,而报文是通过协议承载的,路由协议有静态的,也有动态的,OSPF是动态协议中使用较为广泛的一种。

在OSPF网络中,每台路由器根据自己周围的网络拓扑结构生成链路状态通告LSA(Link State Advertisement),并通过更新报文将LSA发送给网络中的其它路由器。

OSPF交互的是链路状态信息,路由器的选路是一种“自主行为”,LSA只是一种选路的参考信息。

每台路由器都通过链路状态数据库LSDB(Link State DataBase)掌握全网的拓扑结构。如下图所示,每台路由器都会收集其它路由器发来的LSA,所有的LSA放在一起便组成了链路状态数据库LSDB。

LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。

路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。在网络拓扑稳定的情况下,各个路由器得到的有向图是完全相同的。

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(1)

路由器根据最短路径优先(Shortest Path First)算法计算到达目的网络的路径,而不是根据路由通告来获取路由信息。

每台路由器根据有向图,使用SPF算法计算出一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(2)

总之,LSDB保证路由器能够时刻掌握全网的拓扑结构,SPF算法保证路由器能够迅速计算出到达目的网络的最短路径。

二、OSPF的运行机制

1、通过交互Hello报文形成邻居关系

2、通过泛洪LSA通告链路状态信息

3、通过组建LSDB形成带权有向图

4、通过SPF算法计算并形成路由

5、维护和更新路由表

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(3)

三、OSPF报文类型

一共有5种报文类型,包括

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(4)

1、Hello报文

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(5)

2、DD报文(Database Description packet),

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(6)

3、LSR报文(Link State Request packet)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(7)

4、LSU报文(Link State Update packet)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(8)

5、LSAck报文(Link State Acknowledgment packet)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(9)

四、OSPF支持的网络类型

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(10)

1、广播类型(Broadcast)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(11)

2、NBMA类型(Non-Broadcast Multi-Access)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(12)

3、点到多点P2MP类型(Point-to-Multipoint)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(13)

4、点到点P2P类型(Point-to-Point)

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(14)

五、相关概念1、Router ID

如果要运行OSPF协议,必须存在Router ID。Router ID是一个32比特无符号整数,是一台路由器在自治系统中的唯一标识。

Router ID的设定有两种方式:

通过命令行手动配置,在实际网络部署中,建议手工配置OSPF的Router ID,因为这关系到协议的稳定。

通过协议自动选取。

如果没有手动配置Router ID,设备会从当前接口的IP地址中自动选取一个作为Router ID。其选取顺序是:

在路由器运行了OSPF并确定了Router ID后,如果该Router ID对应的接口Down或者接口消失(例如执行了undo interface loopback loopback-number)或者出现更大的IP地址,OSPF将仍然保持原Router ID。只有重新配置系统的Router ID或者OSPF的Router ID,并且重新启动OSPF进程后,才会进行Router ID的重新选取。

2、COST

OSPF使用cost“开销”作为路由度量值。

每一个激活OSPF的接口都有一个cost值。OSPF接口cost=100M/接口带宽,其中100M为OSPF的参考带宽(reference-bandwidth)。

一条OSPF路由的cost由该路由从路由的起源一路到达本地的所有入接口cost值的总和。

OSPF使用接口带宽来衡量路径开销,带宽更优(开销越小)的路由被优选,目前有两个版本,V2版本适用于IPv4的环境,V3版本适用于IPv6的环境。

由于默认的参考带宽是100M,这意味着更高带宽的传输介质(高于100M)在OSPF协议中将会计算出一个小于1的分数,这在OSPF协议中是不允许的(会被四舍五入为1)。而现今网络设备很多都是大于100M带宽的接口,这时候路由cost的计算其实就不精确了。所以可以使用bandwidth-reference命令修改,但是这条命令要谨慎使用,一旦要配置,则建议全网OSPF路由器都配置。

六、单区域OSPF配置

OSPF的配置

1、开启OSPF进程2、划分普通区域

area0表示将这些网段的接口划分到区域0内。OSPF为了在大型网络中提高效率,将网络按照区域分割开,这里我们将所有接口划分到区域0内。

3、发布路由信息七、网络拓扑

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(15)

八、IP规划九、配置9.1 PC1

IP:172.16.1.1

掩码:255.255.255.0

网关:192.16.1.254

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(16)

9.2 PC2

IP:172.16.2.1

掩码:255.255.255.0

网关:192.16.2.254

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(17)

9.3 PC3

IP:172.16.3.1

掩码:255.255.255.0

网关:192.16.3.254

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(18)

9.4 AR1

[huawei]sys AR1

[AR1]int g0/0/0

[AR1-GigabitEthernet0/0/0]ip address 172.16.12.1 24

[AR1-GigabitEthernet0/0/0]int g0/0/1

[AR1-GigabitEthernet0/0/1]ip address 172.16.13.1 24

[AR1-GigabitEthernet0/0/1]int g0/0/2

[AR1-GigabitEthernet0/0/2]ip address 172.16.1.254 24

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(19)

查看

[AR1]display ip interface brief

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(20)

9.5 AR2

[huawei]sys AR2

[ar2]int g0/0/0

[ar2-GigabitEthernet0/0/0]ip address 172.16.12.2 24

[ar2-GigabitEthernet0/0/0]int g0/0/1

[ar2-GigabitEthernet0/0/1]ip address 172.16.23.1 24

[ar2-GigabitEthernet0/0/1]int g0/0/2

[ar2-GigabitEthernet0/0/2]ip address 172.16.2.254 24

查看配置情况

[ar2]display ip interface brief

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(21)

9.6 AR3

[huawei]sys ar3

[ar3]int g0/0/0

[ar3-GigabitEthernet0/0/0]ip address 172.16.23.2 24

[ar3-GigabitEthernet0/0/0]int g0/0/1

[ar3-GigabitEthernet0/0/1]ip address 172.16.13.2 24

[ar3-GigabitEthernet0/0/1]int g0/0/2

[ar3-GigabitEthernet0/0/2]ip address 172.16.3.254 24

查看配置情况

[ar3]disp ip interface brief

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(22)

现在查看路由表

在AR1上

<AR1>disp ip routing-table

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(23)

由上图可知,在AR1上没有到172.16.2.0和172.16.3.0网段的路由,所以PC1无法与PC2,PC3进行正常通信。

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(24)

由上图知悉,PC1不能与PC2进行通信。

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(25)

由上图知悉,PC1与PC3不能进行通信。

9.7 配置OSPF

在每个经过OSPF的路由器上都要配置。

9.7.1 在AR1上配置

[AR1]ospf 1

[AR1-ospf-1]area 0

[AR1-ospf-1-area-0.0.0.0]network 172.16.12.0 0.0.0.255

[AR1-ospf-1-area-0.0.0.0]network 172.16.13.0 0.0.0.255

[AR1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(26)

9.7.2 在AR2上配置

[ar2]ospf 1

[ar2-ospf-1]area 0

[ar2-ospf-1-area-0.0.0.0]network 172.16.12.0 0.0.0.255

[ar2-ospf-1-area-0.0.0.0]network 172.16.23.0 0.0.0.255

[ar2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255

由于AR1的GE0/0/0接口和AR2的GE0/0/0接口相连,并且AR1的GE0/0/0接口以及配置OSPF协议,所有在AR2上的接口GE0/0/0配置OSPF后,该接口出现OSPF邻居状态的7种变化。Down—init—2way—ExStart—Exchange—Loading—Full。

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(27)

9.7.3 在AR3上配置

[ar3]ospf 1

[ar3-ospf-1]area 0

[ar3-ospf-1-area-0.0.0.0]network 172.16.23.0 0.0.0.255

[ar3-ospf-1-area-0.0.0.0]network 172.16.13.0 0.0.0.255

[ar3-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.255

9.8查看9.8.1 ospf邻居关系详细信息

<AR1>disp ospf peer brief

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(28)

由上图知悉,以上表示 R1 上能看到 R2 和R3邻居,有邻居的 route-ID, 状态,本地接口和区域等。

9.8.2查看邻居状态

<AR1>dis ospf peer

OSPF Process 1 with Router ID 172.16.12.1

Neighbors

Area 0.0.0.0 interface 172.16.12.1(GigabitEthernet0/0/0)'s neighbors

Router ID: 172.16.12.2 Address: 172.16.12.2

State: Full Mode:Nbr is Master Priority: 1

DR: 172.16.12.1 BDR: 172.16.12.2 MTU: 0

Dead timer due in 38 sec

Retrans timer interval: 5

Neighbor is up for 00:29:00

Authentication Sequence: [ 0 ]

Neighbors

Area 0.0.0.0 interface 172.16.13.1(GigabitEthernet0/0/1)'s neighbors

Router ID: 172.16.23.2 Address: 172.16.13.2

State: Full Mode:Nbr is Master Priority: 1

DR: 172.16.13.1 BDR: 172.16.13.2 MTU: 0

Dead timer due in 34 sec

Retrans timer interval: 5

Neighbor is up for 00:08:47

Authentication Sequence: [ 0 ]

<AR1>

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(29)

其中

OSPF Process 1 with Router ID 172.16.12.1

//是本路由器的Router ID,由于本实验没有手动配置Router ID,也没有使用Loopback接口,所有是从该路由器的接口地址中选取。

Area 0.0.0.0

//邻居所属的区域0

interface 172.16.12.1(GigabitEthernet0/0/0)'s neighbors

//本路由器与邻居相连的接口,IP地址是172.16.12.1,接口是GigabitEthernet0/0/0

Router ID: 172.16.12.2

//邻居Router ID

Address: 172.16.13.2

//邻居接口地址

State: Full

//邻居状态:

Full:该状态说明,邻居的LSDB已经同步完成,双方建立了Full邻接关系

还有几种状态说明

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(30)

Mode:Nbr is Master

//邻居是Master,主动发送DD报文

//Mode

DD交换进程中的作用为Master或Slave:

Nbr is Master:邻居是Master,主动发送DD报文

Nbr is Slave:邻居是Slave,配合Master发送DD报文

Priority: 1

// Priority,邻居的优先级是1

DR: 172.16.12.1

// DR,指定路由器

BDR: 172.16.12.2

//BDR,备份指定路由器

MTU: 0

//MTU,邻居接口MTU的值

Dead timer due in 38 sec

//Dead定时器在38秒后到时

Retrans timer interval: 5

//重传LSA的时间间隔为5,单位为秒

Authentication Sequence: [ 0 ]

//认证序列号

查看OSPF路由协议

<AR1>display ip routing-table protocol ospf

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(31)

<AR1>display ospf brief

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(32)

由上图知悉,接口的的开销,状态,接口网络类型。

9.8.3 查看 LSDB 表项

<AR1>display ospf lsdb

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(33)

以上输出表示能看到一类的和 2 类的 LSA。

LSA类型

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(34)

十、测试

PC1到PC2

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(35)

经过的路径

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(36)

PC1到PC3

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(37)

经过的路径

PC>tracert 172.16.3.1

华为路由器静态路由协议(华为路由器动态路由协议OSPF详细及单域配置)(38)

此时OSPF单域的实验完成。

,