华创

导航切换

联系电话:
13054985358     13054985358

华创

华创
当前位置: 主页 > 教学现场

什么是路由?OSPF协议?

作者: 小编 来源: 网络   日期:2025-02-18 10:12

OSPF全称Open Shortest Path First即开放式最短路径优先,是路由协议的一种。

路由

什么是路由(Routing)呢?分组在网络中传输前需要选择一条路线,决定路线的过程就叫路由,通常我们希望选择一条最短且最快的路线。我们知道分组在传输过程中会经历很多路由器,路由器会根据【转发表】来决定将分组发送到哪条路径,转发表中就必须记录哪些路径对于分组来说是最短的,这就需要路由协议来计算。

自治系统

OSPF是路由协议的一种,还有一种是BGP,这两个路由协议有不同的作用。OSPF主要用于某个自治系统内部的路由(而BGP主要用于各个ISP之间的路由)。什么是自治系统(Autonomous System,AS)呢?每个ISP都有自己的网络,通常ISP都希望按自己的意愿来管理网络,这个网络就构成了一个AS,一个AS通常由一组处在相同管理控制下的路由器组成。AS是有层级关系的,一个大的AS中可能会包含多个小的AS,每个AS都由一个唯一的编号(ASN)来标识,这些编号也是由ICANN分配的。

OSPF

OSPF是如何计算最短路径的呢?把网络看作图(Graph),OSPF所采用的就是图论中的Dijkstra算法。学过算法基础的都知道Dijkstra算法是一种链路状态(Link State)算法,即必须事先知道各个结点之间的连通关系和路径开销,这就要求每个路由器都构建一幅关于整个AS的完整拓扑图,这是如何做到的呢?通过【链路状态广播】:每个路由器都要定期向AS内所有其他路由器广播自己的路由选择信息(至少每隔30分钟一次),每个路由器收到其他路由器的路由选择信息后,会在本地运行Dijkstra算法,然后更新自己的转发表。

OSPF采用IP协议来传输,它自己实现了可靠性和广播功能,OSPF是个复杂的协议,因此这里不探讨其报文细节。需要注意的是,OSPF依赖IP协议来传输,这类似于运输层上的TCP和UDP,但OSPF应当属于网络层而不是运输层,因为它所提供的路由服务是网络层的核心功能之一,我们应该根据协议提供的功能来决定它属于哪一层(而不是根据它所依赖的服务)。

在实践中,各个路由器之间的路径开销通常由管理员来设定,管理员也许会将每条路径的开销都设置为1以便计算出跳数最小的路线,或者将权值按链路容量的反比设置,以鼓励流量使用高带宽链路。