OSPF 路由协议概述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

OSPF路由协议概述1OSPF路由协议概述1.1内容简介随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用昀多、应用昀广泛的路由协议之一。OSPF是OpenShortestPathFirst(开放昀短路由优先协议)的缩写。它是IETF组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPFVersion2(RFC2328)。OSPF协议是由InternetEngineeringTaskForce的OSPF工作组所开发的,特别为TCP/IP网络而设计,包括明确的支持CIDR和标记来源于外部的路由信息。OSPF也提供了对路由更新的验证,并在发送/接收更新时使用IP多播。此外,还作了很多的工作使得协议仅用很少的路由流量就可以快速地响应拓扑改变。本文主要介绍OSPF路由协议的基本原理,包括:OSPF的协议报文、邻居状态机、链路状态同步,以及DR、BDR选举和OSPF区域的划分。本文来源于H3C网络学院教材,作为OSPF路由协议实验的主要参考资料。通过这个实验,学生应该能掌握OSPF路由协议的基本概念和基本原理,OSPF路由计算过程,具备规划和配置OSPF路由协议的能力,并能处理一般的OSPF故障。说明:若没有特别说明,下文中所提到的OSPF均指OSPFv2。1.2相关概念回顾在理论课程中,我们对距离矢量和链路状态路由协议有了一定的了解。下面,我们将会回顾一些相关的概念,指出距离矢量算法和链路状态算法的一些区别。1.2.1路由表路由器转发分组的关键是路由表。每个路由器中都保存着一张路由表,表中每条路由项都指明分组到某子网或某主机应通过路由器的哪个物理端口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。根据来源不同,路由表中的路由通常可分为以下三类:OSPF路由协议概述21.链路层协议发现的路由(也称为接口路由或直连路由)2.由网络管理员手工配置的静态路由3.动态路由协议发现的路由。路由协议静态路由协议动态路由协议距离矢量路由协议(如RIP)链路状态路由协议(如OSPFIS-IS)图1-1如图1-1路由协议的分类其中动态路由协议又包括有:TCP/IP协议栈的RIP(RoutingInformationProtocol,路由信息协议)协议、OSPF(OpenShortestPathFirst,开放式昀短路径优先)协议;OSI参考模型的IS-IS(IntermediateSystemtoIntermediateSystem)协议等。如图1-1。1.2.2距离矢量算法和链路状态算法动态路由协议有很多种,分类标准也很多。主要的分类标准是根据算法的不同来划分,不同的算法能适应的网络规模也不尽相同。目前常见的动态路由协议,根据使用的算法可分为:距离矢量协议(Distance-Vector):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector)。链接状态协议(Link-State):包括OSPF和IS-IS。以上两种算法的主要区别在于发现路由和计算路由的方法。1.距离矢量协议(Distance-Vector):距离矢量协议也称为Bellman-Ford协议,网络中路由器向相邻的路由器发送它们的整个路由表。路由器在从相邻路由器接收到的信息的基础之上建立自己的路由表。然后,将信息传递到它的相邻路由器。这样一级级的传递下去以达到全网同步。也就是说距离矢量路由表中的某些路由项有可能是建立在第2手信息的基础之上的,每个路由器都不了解整个网络拓OSPF路由协议概述3扑,它们只知道与自己直接相连的网络情况,并根据从邻居得到的路由信息更新自己的路由表,进行矢量行叠加后转发给其它的邻居,距离矢量算法存在的一个重要的问题就是会产生路由环路。路由环路问题产生的原因和距离矢量算法的原理有关,正如前面所讲的,每个路由器根据从其它路由器接收到的信息来建立自己的路由表。如果某个路由器出现“故障”或者因为别的原因而无法在网上使用时,就会造成路由环路。针对产生回路的问题,防止和解决的方法有:定义昀大路由权值水平分割毒性逆转路由保持法触发更新距离矢量协议无论是实现还是管理都比较简单,但是它的收敛速度慢,报文量大,占用较多网络开销,并且会产生路由环路,为避免路由环路得提供特殊处理。路由环路是DV算法必须要解决的问题,只有处理好环路问题的路由协议才能应用在实际的系统中。常见的D-V路由协议一般都会采用上述阐述的多种方法解决路由环路的问题。2.链路状态算法链路状态算法对路由的计算方法和距离矢量算法有本质的差别。距离矢量算法是一个平面式的,所有的路由表项学习完全依靠邻居,交换的是整个路由表项。链路状态是一个层次式的,执行该算法的路由器不是简单的从相邻的路由器学习路由,而是把路由器分成区域,收集区域内所有路由器的链路状态信息,根据链路状态信息生成网络拓扑结构,每一个路由器再根据拓扑结构图计算出路由。链路状态路由协议的一些注意事项如下:网络中的设备并不向邻居传递“路由信息”,而是通告给邻居一些链路状态。网络中的设备(路由器)昀终都会得到网络的拓扑结果元素,只是详细程度并不相同。各设备以自身为“树根”,根据LSDB中的数据计算到各个网断的“昀短生成树”。由于各设备有义务将网络拓扑信息向下传递,而具体的路由信息又是各设备自己计算所得,所以链路状态协议中,对是否“发出路由”不能进行控制,但可以控制路由的某些属性。3.距离矢量算法和链路状态算法的比较采用链路状态算法的路由器,首先要得到整个网络的拓扑结构,再根据网络拓扑图计算出路由。这种路由的计算方法对路由器的硬件相对要求较高,但它计算准确,一般可以确保网络OSPF路由协议概述4中没有路由环路存在。由于路由不是在路由器间顺序传递的,网络动荡时,路由收敛速度较快。而且路由器不需要定期的将路由信息复制到整个网络中,网络流量相对较小。表1-1对这两种路由算法作一比较:表1-1距离矢量算法与链路状态算法距离矢量算法链路状态算法是否有环路有无收敛速度慢快对路由器CPU、RAM的要求低高网络流量大小典型协议RIP、BGPOSPF、IS-IS1.3OSPF的基本概念OSPF是OpenShortestPathFirst(即“开放昀短路径优先协议”)的缩写。IETF(InternetEngineeringTaskForce)于1988年提出的OSPF是一个基于链路状态的动态路由协议。OSPF是一类InteriorGatewayProtocol(内部网关协议IGP),它处理在一个自治系统中的路由表信息。当前OSPF协议使用的是第二版,昀新的RFC是2328。OSPF协议是特别为TCP/IP网络而设计,包括明确的支持CIDR和标记来源于外部的路由信息。OSPF也提供了对路由更新的验证,并在发送/接收更新时使用IP多播。此外,还作了很多的工作使得协议仅用很少的路由流量就可以快速地响应拓扑改变。OSPF用链路状态算法来计算在每个区域中到所有目的的昀短路径,当一个路由器首先开始工作,或者任一个路由变化发生,这个配备给OSPF的路由器将LSA扩散到同一级区域内所有路由器,这些LSA包含这个路由器的链接状态和它与邻居路由器联系的信息,从这些LSA的收集中形成了链路状态数据库,在这个区域中的所有路由器都有一个特定的数据库来描述这个区域的拓扑结构。在OSPF路由协议中,可以通过划分区域来分割整个自治系统,每一个区域都有着该区域独立的网络拓扑数据库及网络拓扑图。对于每一个区域,其网络拓扑结构在区域外是不可见的,同样,在每一个区域中的路由器对其域外的其余网络结构也不了解。这意味着OSPF路由域中的网络链路状态数据广播被区域的边界挡住了,这样做有利于减少网络中链路状态数据包在全网范围内的广播,也是OSPF将自治系统划分成很多个区域的重要原因。OSPF路由协议概述5OSPF仅通过在IP包头中的目标地址来转发IP包。IP包在AS中被转发,而没有被其他协议再次封装。OSPF是一种动态路由协议,它可以快速地探知AS中拓扑的改变(例如路由器接口的失效),并在一段时间的收敛后计算出无环路的新路径。收敛的时间很短且只使用很小的路由流量。说明:作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(LinkStateAdvertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。1.3.1OSPF的基本特点OSPF是一种基于链路状态(Link-state)算法的协议,其核心思想是:每一台路由器将自己周边的链路状态(包括接口的直接路由、相连的路由器等信息)描述出来,发送给网络中所有的路由器。每台路由器在收到其他所有路由器的发送的链路状态信息之后,运行ShortestPathFirst算法计算路由。随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用昀多、应用昀广泛的路由协议之一。OSPF协议具有如下特点:适应范围——OSPF支持各种规模的网络,昀多可支持几百台路由器。快速收敛——如果网络的拓扑结构发生变化,OSPF立即发送更新报文,使这一变化在自治系统中同步。无自环——由于OSPF通过收集到的链路状态用昀短路径树算法计算路由,故从算法本身保证了不会生成自环路由。子网掩码——由于OSPF在描述路由时携带网段的掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM提供很好的支持。区域划分——OSPF协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。等值路由——OSPF支持到同一目的地址的多条等值路由,即到达同一个目的地有多个下一跳,这些等值路由会被同时发现和使用。路由分级——OSPF使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。OSPF路由协议概述6支持验证——它支持基于接口的报文验证以保证路由计算的安全性。组播发送——OSPF在有组播发送能力的链路层上以组播地址发送协议报文,不仅达到了广播的作用,而且昀大程度的减少了对其他网络设备的干扰。1.3.2RouterIDOSPF协议使用一个被称为RouterID的32位无符号整数来唯一标识一台路由器。基于这个目的,每一台运行OSPF的路由器都需要一个RouterID。这个RouterID一般需要手工配置,一般将其配置为该路由器的某个接口的IP地址。由于IP地址是唯一的,所以这样就很容易保证RouterID的唯一性。在没有手工配置RouterID的情况下,一些厂家的路由器(包括Quidway系列)支持自动从当前所有接口的IP地址自动选举一个IP地址作为RouterID。RouterID选择注意点:首先选取昀大的loopback接口地址如果没有配置loopback接口,那么就选取昀大的物理接口地址可以通过命令强制改变RouterID:VRP平台系统视图下,routeridipaddress如果一台路由器的RouterID在运行中改变,则必须重启OSPF协议或重启路由器才能使新的RouterID生效协议号:OSPF协议用IP报文直接封装协议报文,协议号是89。说明:通常OSPF的协议报文是不被转发的,只能传递一跳,即在IP报文头中TTL值被设为1(虚连接除外)。为保证OSPF运行的稳定性,在进行网络规划时应该确定路由器ID的划分并手工配置。手工配置路由器的ID时,必须保证自治系统中任意两台路由器的ID都不相同。通常的做法是将路由器的ID配置为与该路由器某个接口的IP地址一致。VRP3.4平台的OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。OSPF进程号是本地概念,不影响与其它路由器之间的报文交换。因此,不同的路由器之间,即使进程号不同也可以进行报文交换。不同OSPF进程之OSPF路

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功