论文部分内容阅读
[摘要]首先阐述开放最短路径优先OSPF协议的工作过程、接着重点论述自治系统AS的分层结构和指派路由器,希望能够为学习和研究OSPF协议的人员提供参考与帮助。
[关键词]自治系统 路由信息协议 开放最短优先协议 骨干区域 指派路由器 备份指派路由器
中图分类号:TP3文献标识码:A文章编号:1671-7597(2008)0420025-01
一、背景
众所周知,随着因特网规模的不断扩大,现在已有几百万台路由器连接在一起,如果让这些路由器都知道所有网络的相关信息,这样会导致路由表庞大,处理起来浪费时间,响应缓慢等问题;若再加上在链路大量传输路由信息又会严重影响网络带宽。另外,因特网的许多用户都想使自己的网络信息具有安全性和保密性,但又想充分发挥因特网的作用――相互通信,共享资源。为了解决上述多方面的矛盾,因特网被划分成许多个较小的自治系统(autonomous system,AS)。一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个局域网LAN上,也可以是连到Internet上的,它还可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,在同一个自治系统之内的路由器使用同一个自治系统编号。
单个的自治系统AS是由一个ISP运营的网络,在AS内部使用统一的路由协议,如[1]路由信息协议(Routing Information Protocol,RIP),但RIP是一种距离向量协议,在RIP协议当中,所有的路径都用跳数来描述,到达目的地的路由最大不超过16跳,且只保留唯一的一条路由,这就限制了RIP的服务半径,即其只适用于小型的简单网络。同时,运行RIP的路由器需要定期地(一般30s)将自己的路由表广播到网络当中,它不但收敛(对于路由协议,网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛)得慢,而且极容易引起广播风暴、累加到无穷、形成环路等致命问题,所以它很难适应当今计算机网络的飞速发展,尤其是大规模的异构互连网络。
为了摆脱诸多因素的困扰,在20世纪80年代中期, Internet工程任务组(TETF)开发了另一种新的内部网关协议,它就是开放最短路径优先协议(Open Shortes Path First,OSPF),其中的“开放”是说明它的规范是公开的;“最短路径”是因为它使用了Dijkstra提出的最短路径算法(SPF),即在所有的自治系统内部使用的路由选择协议都是要寻找一条最短的路径。OSPF协议是一种分布式的链路状态信息协议,在众多的路由技术中,OSPF协议已成为目前广域网Internet和企业网Intranet采用最多、应用最广泛的路由技术之一,但OSPF协议实现起来比RIP协议要复杂得多。下面的内容是从两个方面对OSPF协议进行分析。
二、分析OSPF协议
(一)自治系统AS采用分层结构
在因特网上,AS是一个ISP(因特网服务提供商),但大学、研究院和私人组织也可以具有自己的AS。因特网中的AS被划分为一个主干区域(backbone)和若干个非主干区域,所谓的区域是把许多网络和主机,再加上连接这些区域网络上的路由器,所构成的逻辑组。AS中的每个区域内部都运行一个基本链路状态路由算法,即每个区域内部都有它自己相对独立的链路状态数据库和相应的有向图(网络的拓扑图),同时区域内的所有路由器运行的链路状态数据库都是一致的,即它们的数据库是同步的。每一个AS中都有一个主干区域,称为区域O,用区域ID0.0.0.0来标识。区域O的功能主要是负责各个非主干区域之间的路由信息的发布。主干区域必须是连续的,同样,所有的OSPF区域必须被连接到区域O,如果在主干区域中的连续性出现断开现象,则可能需要建立虚链路来连接。一个区域内的消息和细节对本区域以外的区域来说都是透明的,即不可见的,这样可以限制到一个区域的洪泛流量,使规模越来越大的AS变得易于管理和维护,也是弥补OSPF协议占用CPU和内存资源的方法,更大大降低了路由信息所耗费的网络带宽。
(二)指派路由器DR和备份指派路由器BDR
OSPF协议是一个分布式的、动态的内部网关协议,动态路由会设法适应网络流量、拓扑结构的变化。为了动态地适应如故障、网络拥塞等网络状态的变化,结点间必须交换链路状态,如本路由器与哪些路由器相邻、费用、距离、延时、带宽等。当链路状态发生变化时,就会发送这些信息。不是所有的路由器之间都会发送信息,只有成为邻接的路由器之间才会发送链路状态信息。
当一个OSPF路由器初始化时,首先初始化路由器自身的协议数据库,然后等待低层协议(数据链路层)提示端口是否处于工作状态。
如果低层协议得知一个端口处于工作状态时,OSPF协议会通过其Hello分组与其余的OSPF路由器建立交互关系。当一个OSPF路由器向其相邻路由器发送Hello数据包时,如果它自己接收到某一路由器返回给它的Hello数据包,则这两个OSPF路由器之间就建立起了OSPF交互关系,这个过程在OSPF中被称为邻接,只有成为邻接的路由器之间才可能发送链路状态信息。
在一个广播性的、多点接入的网络中存在一个指派路由器(Designated Router,DR)。例如:[2]一个共有N个路由器连接的以太网中所有邻居都是邻接路由器,则总共可能有N(N-1)/2条邻接,每次当有一个路由器收到一条链路状态时,它将发送这个信息的副本给所有其它邻接路由器,最坏情况下可能有2N个这个消息的副本在网络上传输,实际只需要N个拷贝即可。如果所有的路由器都把自己的本地链路状态信息对全网进行广播,那么各路由器只要将这些信息综合起来就可得到链路状态数据库。但这样做开销太大了。对于这种情况,在这个区域内会选取一个路由器作为代表――指派路由器DR,它是这个团体中最受欢迎的成员,与所有邻居路由器邻接,指派路由器主要负责把与它连接的网络的链路状态信息传播给其他路由器。这样可以大大减少广播消息的数量,从而避免路由器之间建立完全相邻关系而引起的大量开销,也进一步解决了网络带宽的瓶颈问题。在这个区域中往往还会有一个随时更新数据的备用指派路由器(Backup Designated Router,BDR),它主要是防止指派路由器崩溃,可缓解当时的危机。
OPSF作为一种重要的内部网关协协议的普遍应用,极大地增强了网络的可扩展性和稳定性,同时也反映出了动态路由协议的强大功能。但是,在有关OSPF协议的研究、实现中尚存在一些问题,如数据库的溢出、度量的刻画、以及MTU协商等。
参考文献:
[1]谢希仁,《计算机网络教程》北京:人民邮电出版社2006.5 第201页.
[2]高传善、毛迪林、曹袖,《数据通信与计算机网络》北京:高等教育出版社2004.12,第343页.
[关键词]自治系统 路由信息协议 开放最短优先协议 骨干区域 指派路由器 备份指派路由器
中图分类号:TP3文献标识码:A文章编号:1671-7597(2008)0420025-01
一、背景
众所周知,随着因特网规模的不断扩大,现在已有几百万台路由器连接在一起,如果让这些路由器都知道所有网络的相关信息,这样会导致路由表庞大,处理起来浪费时间,响应缓慢等问题;若再加上在链路大量传输路由信息又会严重影响网络带宽。另外,因特网的许多用户都想使自己的网络信息具有安全性和保密性,但又想充分发挥因特网的作用――相互通信,共享资源。为了解决上述多方面的矛盾,因特网被划分成许多个较小的自治系统(autonomous system,AS)。一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个局域网LAN上,也可以是连到Internet上的,它还可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,在同一个自治系统之内的路由器使用同一个自治系统编号。
单个的自治系统AS是由一个ISP运营的网络,在AS内部使用统一的路由协议,如[1]路由信息协议(Routing Information Protocol,RIP),但RIP是一种距离向量协议,在RIP协议当中,所有的路径都用跳数来描述,到达目的地的路由最大不超过16跳,且只保留唯一的一条路由,这就限制了RIP的服务半径,即其只适用于小型的简单网络。同时,运行RIP的路由器需要定期地(一般30s)将自己的路由表广播到网络当中,它不但收敛(对于路由协议,网络上的路由器在一条路径不能用时必须经历决定替代路径的过程,这个过程称为收敛)得慢,而且极容易引起广播风暴、累加到无穷、形成环路等致命问题,所以它很难适应当今计算机网络的飞速发展,尤其是大规模的异构互连网络。
为了摆脱诸多因素的困扰,在20世纪80年代中期, Internet工程任务组(TETF)开发了另一种新的内部网关协议,它就是开放最短路径优先协议(Open Shortes Path First,OSPF),其中的“开放”是说明它的规范是公开的;“最短路径”是因为它使用了Dijkstra提出的最短路径算法(SPF),即在所有的自治系统内部使用的路由选择协议都是要寻找一条最短的路径。OSPF协议是一种分布式的链路状态信息协议,在众多的路由技术中,OSPF协议已成为目前广域网Internet和企业网Intranet采用最多、应用最广泛的路由技术之一,但OSPF协议实现起来比RIP协议要复杂得多。下面的内容是从两个方面对OSPF协议进行分析。
二、分析OSPF协议
(一)自治系统AS采用分层结构
在因特网上,AS是一个ISP(因特网服务提供商),但大学、研究院和私人组织也可以具有自己的AS。因特网中的AS被划分为一个主干区域(backbone)和若干个非主干区域,所谓的区域是把许多网络和主机,再加上连接这些区域网络上的路由器,所构成的逻辑组。AS中的每个区域内部都运行一个基本链路状态路由算法,即每个区域内部都有它自己相对独立的链路状态数据库和相应的有向图(网络的拓扑图),同时区域内的所有路由器运行的链路状态数据库都是一致的,即它们的数据库是同步的。每一个AS中都有一个主干区域,称为区域O,用区域ID0.0.0.0来标识。区域O的功能主要是负责各个非主干区域之间的路由信息的发布。主干区域必须是连续的,同样,所有的OSPF区域必须被连接到区域O,如果在主干区域中的连续性出现断开现象,则可能需要建立虚链路来连接。一个区域内的消息和细节对本区域以外的区域来说都是透明的,即不可见的,这样可以限制到一个区域的洪泛流量,使规模越来越大的AS变得易于管理和维护,也是弥补OSPF协议占用CPU和内存资源的方法,更大大降低了路由信息所耗费的网络带宽。
(二)指派路由器DR和备份指派路由器BDR
OSPF协议是一个分布式的、动态的内部网关协议,动态路由会设法适应网络流量、拓扑结构的变化。为了动态地适应如故障、网络拥塞等网络状态的变化,结点间必须交换链路状态,如本路由器与哪些路由器相邻、费用、距离、延时、带宽等。当链路状态发生变化时,就会发送这些信息。不是所有的路由器之间都会发送信息,只有成为邻接的路由器之间才会发送链路状态信息。
当一个OSPF路由器初始化时,首先初始化路由器自身的协议数据库,然后等待低层协议(数据链路层)提示端口是否处于工作状态。
如果低层协议得知一个端口处于工作状态时,OSPF协议会通过其Hello分组与其余的OSPF路由器建立交互关系。当一个OSPF路由器向其相邻路由器发送Hello数据包时,如果它自己接收到某一路由器返回给它的Hello数据包,则这两个OSPF路由器之间就建立起了OSPF交互关系,这个过程在OSPF中被称为邻接,只有成为邻接的路由器之间才可能发送链路状态信息。
在一个广播性的、多点接入的网络中存在一个指派路由器(Designated Router,DR)。例如:[2]一个共有N个路由器连接的以太网中所有邻居都是邻接路由器,则总共可能有N(N-1)/2条邻接,每次当有一个路由器收到一条链路状态时,它将发送这个信息的副本给所有其它邻接路由器,最坏情况下可能有2N个这个消息的副本在网络上传输,实际只需要N个拷贝即可。如果所有的路由器都把自己的本地链路状态信息对全网进行广播,那么各路由器只要将这些信息综合起来就可得到链路状态数据库。但这样做开销太大了。对于这种情况,在这个区域内会选取一个路由器作为代表――指派路由器DR,它是这个团体中最受欢迎的成员,与所有邻居路由器邻接,指派路由器主要负责把与它连接的网络的链路状态信息传播给其他路由器。这样可以大大减少广播消息的数量,从而避免路由器之间建立完全相邻关系而引起的大量开销,也进一步解决了网络带宽的瓶颈问题。在这个区域中往往还会有一个随时更新数据的备用指派路由器(Backup Designated Router,BDR),它主要是防止指派路由器崩溃,可缓解当时的危机。
OPSF作为一种重要的内部网关协协议的普遍应用,极大地增强了网络的可扩展性和稳定性,同时也反映出了动态路由协议的强大功能。但是,在有关OSPF协议的研究、实现中尚存在一些问题,如数据库的溢出、度量的刻画、以及MTU协商等。
参考文献:
[1]谢希仁,《计算机网络教程》北京:人民邮电出版社2006.5 第201页.
[2]高传善、毛迪林、曹袖,《数据通信与计算机网络》北京:高等教育出版社2004.12,第343页.