《OSPF协议V》word版.doc_第1页
《OSPF协议V》word版.doc_第2页
《OSPF协议V》word版.doc_第3页
《OSPF协议V》word版.doc_第4页
《OSPF协议V》word版.doc_第5页
已阅读5页,还剩124页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OSPF协议(Version 2)目 录OSPF协议(Version 2)01. 介绍51.1 协议概述51.2 常用术语的定义61.3 链路状态路由技术的简短历史71.4 本文档的组织81.5 感谢82. 链路状态数据库:组织和计算82.1 路由器和网络的表示82.1.1 非广播网络的表示102.1.2 一个链路状态数据库的例子112.2 最短路径树132.3 使用外部路由信息152.4 等代价多路径163. 划分AS为区域163.1 自治系统的主干网173.2 区域间路由173.3路由器分类173.4 一个简单的区域配制183.5 IP子网支持233.6. Supporting stub areas(支持stub areas)233.7. Partitions ofareas(区域的分割)254. Functional Summary(功能概览)264.1. Inter-area routing(区域间路由)264.2. AS external routes(AS 外路由)274.3. Routing protocol packets(路由协议包)274.4. Basicimplementation requirements(基本的实现要求)284.5. Optional OSPFcapabilities(可选的OSPF功能)295. Protocol Data Structures(协议数据结构)306. The Area Data Structure(区域数据结构)317. Bringing UpAdjacencies(建立邻接关系)337.1. The Hello Protocol(Hello 协议)337.2. The Synchronization of Databases(同步数据库)337.3 The Designated Router(指派路由器)347.4. The Backup DesignatedRouter(备用指派路由器)347.5. The graph of adjacencies(邻接图表)358. Protocol Packet Processing(协议包处理)368.1. Sending protocol packets(发送协议包)368.2. Receiving protocol packets(接收协议包)379. TheInterface Data Structure(接口数据结构)389.1 接口状态(Interface states)419.2 引发接口状态转移的事件(Events causing interface state changes)429.3 接口状态机(The Interface state machine)439.4 选举Designated Router(Electing the Designated Router)459.5 发送Hello packet(Sending Hellopackets)469.5.1 NBMA网络中发送Hello packet(Sending Hello packets on NBMA networks)4710. 邻居数据结构(The Neighbor Data Structure)4810.1 邻居状态(Neighbor states)4910.2 引起邻居状态转移的事件(Events causing neighbor state changes)5210.3 邻居状态机(The Neighbor state machine)5310.4 是否成为Adjacency(Whether to become adjacent)5710.5 接收Hello Packet(Receiving Hello Packets)5710.6. 接收数据库描述包5810.7 接收链路状态请求包6010.8 发送数据库描述包6010.9 发送链路状态请求包6110.10 举例6111 路由表结构6311.1 路由表查找 (Routing table lookup)6511.2 无区域的路由表实例6511.3 有区域的路由表实例6612链路状态广播(LSAs)6812.1 LSA头部6812.1.1 LS经历时间6912.1.2 选项(Options)6912.1.3 LS类型6912.1.4 链路状态ID7012.1.5 广播路由器(Advertising Router)7012.1.6 LS序列号7012.1.7 LS checksum7112.2. 链路状态数据库(The link state database)7112.3. 服务类型描述(Representation of TOS)7112.4 发布LSAs7212.4.1 路由器LSAs( Router-LSAs)7312.4.1.1 描述点到点接口7512.4.1.2 描述广播和NBMA接口7512.4.1.3 描述虚链路7612.4.1.4 描述点到多点接口7612.4.1.5 路由器的例子7612.4.2 网络LSA7812.4.2.1 网络LSA的例子7812.4.3.摘要LSA(Summary-LSAs)7812.4.3.1 发起摘要LSA进入stub areas(Originating summary-LSAs into stub areas)8012.4.3.2 摘要LSA的例子(Examplesof summary-LSAs)8012.4.4.AS外部LSA(AS-external-LSAs)8112.4.4.1 AS外部LSA的例子(Examplesof AS-external-LSAs)8113. 扩散流程(The Flooding Procedure)8313.1 决定哪一个LSA更新一些(Determining which LSA is newer)8413.2 数据库中安装LSA(Installing LSAs in the database)8513.3 扩散流程的下一步(Nextstep in the flooding procedure)8513.4 接收自发起LSA(Receiving self-originated LSAs)8713.5 发送链路状态确认包(Sending Link State Acknowledgment packets)8713.6 回送LSA(Retransmitting LSAs)8813.7 接收链路状态确认(Receiving link stateacknowledgments)8914. 老化链路状态数据库(Aging The Link State Database)8914.1 LSA的早熟老化(Premature aging of LSAs)9015. 虚链路(Virtual Links)9016. 路由表计算(Calculation of therouting table)9116.1 计算域内最短路径树9216.1.1下一跳的计算9416.2 域间路由计算9516.3检查transit区域的summary-LSA9616.4计算AS的外部路由9716.4.1 外部路径选择9816.5递加更新summary-LSA9916.6递加更新AS-external-LSA9916.7路由表变化时产生的事件9916.8 等价多路径100附录:101A:OSPF数据格式101A.1 OSPF包封装101A.2 Options103A.3 OSPF的包格式104A.3.1 OSPF包头104A.3.2 Hello包105A 3.3数据库描述包106A3.4链路状态请求包107A 3.5链路状态更新包(Type=4)107A.4 LSA formats108A.4.1 LSA头格式109A 4.1路由器头109A.4.2 Router-LSAs110A.4.3 Network-LSAs112A.4.4 Summary-LSAs112A.4.5 AS-External-LSAs113B. Architectural Constants114C. Configurable Constants115C.1全局变量115C.2 Area Parameters116C.3 路由接口参数116C.4 虚链路参数117C.5.NBMA 网络参数117C.6.点到多点网络参数118C.7.主机路由参数118D. Authentication(略)118E.分配Link State ID的一种算法118F.到相同网络的多接口120References121注解1231. 介绍该文档是Open Shortest Path First(OSPF)(最短路径优先)TCP/IP因特网路由协议的协议规程。OSPF属于内部网关协议(Interior Gateway Protocol,IGP)。这说明OSPF只在一个单一的自治系统(Autonomous System)内的路由器间发布路由信息。OSPF协议基于链路状态或SPF技术,与基于BellmanFord算法的因特网路由协议不同。OSPF协议由IETF(Internet Engineering Task Force)的OSPF工作组发展的。其为TCP/IP的网络的环境而设计的,包括显式支持CIDR(Classless Inter-Domain Routeing和标记从外部获得的路由信息。OSPF同时提供路由更新的认证,使用IP Multicast来发送/接收更新信息。另外,为能在引入少量的路由协议信息的同时对拓扑的改变做快速反映,这方面OSPF也做了很多工作。1.1 协议概述OSPF仅根据IP数据包头部的IP地址来路由IP Packets。IP Packets都照原样路由即它们在自治系统中传输的时候不以任何其它协议封装(encapsulated)。OSPF是一个动态路由协议。它能快速检测到在AS中拓扑改变,并在一定时间会聚以后计算新的无回路路径。这个会聚时间很短,需要的路由信息交换也少。在链路状态路由协议中,每个路由器保持一个数据库描述了自治系统的拓扑。这个数据库称为链路状态数据库。每个参与的路由器有一个相同的数据库。数据库中的每个单独的piece是一个特定路由器的本地状态(如路由器的可使用接口和可达邻居)。路由器在自治系统中以扩散(flooding)的方式发布它的本地状态。所有路由器运行同样的算法,各自的运行是并行的。根据这个链路状态数据库,每个路由器以自己为根构造最短路径的树。这个最短路径树包括了到自治系统中每个目的地的路径。外部获得的路由信息以叶子的形式出现在树上。当到一个目的地的几个等代价的路径存在时,数据量在它们中等量分布。路径的代价以一个无量纲的度量来描述。OSPF允许sets of networks(多个网络)组成一起。这种组合成为一个区域(area)。在这个区域内的拓扑结构对于自治系统中的其它路由器是隐藏的。这样信息隐藏使得路由信息交换大量减少。同时,在这个区域内的路由仅由区域的内部拓扑决定。一个区域是一个IP Subnetted网络的概括。OSPF可以灵活的配置IP子网(Subnet)。每个相同IP网络号(IP network number)的不同子网可以有不同的大小(即不同的掩码,mask)。这通常指的是可变长子网划分。一个Packet按照最佳匹配(即最长或最特定)来路由。主机路由可认为是子网掩码为全“1”的子网。(0xffffffff)所有OSPF的路由协议交换都需要认证。这意味着自治系统中只有被信任的路由器才能参与路由。可以使用不同的认证方式,实际上,每个IP子网可以配置不同的认证方式。外部获得的路由数据(从外部网关协议,如BGP获得的)在自治系统中进行广播。这些外部获得的数据与OSPF协议的链路状态数据是分开的。每个外部路由可以被广播路由器(Advertising Router)加以标记(tagged),这样可以允许其它信息在自治系统边界之间传送。1.2 常用术语的定义这部分定义了OSPF协议中术语的特定含义。对Internet Protocol Suite不太熟的读者可以参看【Ref13】。Router(路由器)第三层的IP Packet Switch(交换器)。以前的文献中称为Gateway(网关)。Autonomous System(自治系统)一组路由器,用一个共同路由协议来交换路由信息。简称为AS。Interior Gateway Protocol(内部网关协议)在一个自治系统内路由器使用的路由协议。简称IGP。每个自治系统有一个单一的IGP。不同的自治系统可以运行不同的IGP。Router ID(路由器ID)对每个运行OSPF的路由器,分配一个32bit的数值。该数值在自治系统中唯一标识了这个路由器。Network(网络)在该文档中指的是一个IP Network/Subnet/Supernet(网络/子网/超网)。对于一个物理网络可以被分配多个IP网络/子网号。我们认为这些是单独的网络。点对点的物理网络是一个例外它们被认为是一个单一的网络,无论给它分配多少IP Network/Subnet号。Network mask(网络掩码)一个32bit的数值,表示了在一个IP network/subnet/supernet中的IP地址的范围。在这个协议中以16进制的数值来表示网络掩码。例如,一个C类IP网络的网络掩码是0xffffff00。这样的一个掩码经常在其它文档中以255.255.255.0的形式表示。Point-to-point networks(点到点网络)一对路由器组成的网络。一个56Kb的串行线是一个点到点网络的例子。Broadcast networks(广播网络)是一个支持多个路由器,且能够将一个物理消息传送到各个所连接的路由器的网络。在这样的网络上通过使用OSPF Hello协议来动态发现邻居路由器。Hello协议本身利用了广播的能力。如果具有多播能力,OSPF协议更近一步利用了多播的能力。在广播网络上的每对路由器可以直接进行通信。以太网是一个广播网络的例子。Nonbroadcast networks(非广播网络)支持多个路由器(多于两个)的网络,没有广播功能。在这样的网络上邻居路由器通过使用OSPF Hello Protocol来维持。然而,由于没有广播能力,需要某些配置来帮助发现邻居。在非广播网络上,OSPF协议数据包通常通过多播发送到每个邻居路由器。同样,X.25公共数据网(PDN)是一个非广播网络的例子。OSPF在非广播网络上以两种模式中的一种运行。第一种,称为非广播多接入(NonBroadcast multiaccess)或NBMA,模拟OSPF在广播网络上的操作。第二种模式,成为点到多点(PointtoMultiPoint),将非广播网络看作点到点链路(link)的集合。非广播网络成为NBMA网络或点到多点网络,取决于OSPF在网络上的操作模式。Interface(接口)在路由器和它一个所连网络之间的连接。接口具有与它相关的状态信息,这些从下层的协议和路由协议本身获得。一个网络的接口具有一个单一的IP地址和掩码(除非网络是一个unnumberred点到点网络)。一个接口有时候指的是一个连接。Neighboring routers(邻居路由器)两个对一个共同网络接口的路由器。邻居关系通过OSPF的Hello协议来维持和动态发现。Adjacency(邻接)两个邻居路由器之间为了交换路由信息形成的关系。不是每对邻居路由器能成为邻接关系。Link State Advertisement(链路状态广播)描述本地路由器或网络状态的单位数据。对于一个路由器,这包括路由器接口和邻接的状态。每个链路状态广播在路由区域中进行扩散。收集到所有路由器和网络的链路状态广播后就形成了协议的链路状态数据库。在这篇文档中,链路状态广播简写为LSA。Hello Protocol(握手协议)OSPF协议的一部分,用来建立和维持邻居关系。在广播网络中Hello协议还可以用来动态发现邻居路由器。Flooding(扩散)OSPF协议中的一部分,用来发布和同步OSPF路由器间的链路状态数据库。Designated Router(代表路由器)每个具有至少两个连接的路由器的广播和NBMA网络有一个代表路由器。这个代表路由器为这个网络选举产生LSA,并具有其它特殊的职责。代表路由器通过Hello协议选举产生。代表路由器的概念可以减少在广播或NBMA网络中所需要的邻接的数量。这也减少了路由信息交换量和链路状态数据库的大小。Lowerlevel protocol(低层协议)下层的网络接入协议,为IP层提供服务,即也为OSPF协议服务。例如X.25PDN中的X.25 packet,以太网中的以太网数据链路层。1.3 链路状态路由技术的简短历史OSPF是一个链路状态路由协议。这种协议也称为基于SPF的或分布式数据库协议。这部分简短介绍一下链路状态技术发展中对OSPF协议的一些影响。第一个链路状态协议在ARPANET数据交换网络中引入。该协议在【Ref3】(The New Routing Algorithm for the ARPANET)中有描述。它形成了所有其它链路状态协议的一个起始点。同类的ARPANET环境,即单一厂商的通过同步串行线相连的数据包交换器(packet switch),简化了初始协议的设计和实现。对这个协议的改进在【Ref4 Fault-Tolerant Broadcast of Routing Information,】中提出。这些改进针对着提高路由协议的容错性,在LSA中增加了Checksum。这篇Paper还包含了减少链路状态协议中路由协议开销的方法。这通过增大LSA的发送间隔的数量级来实现。一个链路状态算法也被提议用来作为ISO ISIS路由协议。这个协议在【Ref2-Information processing systems - Data communications - Intermediate System to Intermediate System Intra-Domain Routing Protocol】中描述。这个协议包括了在广播网络上减少数据和路由交换的方法。这通过为每个广播网络选举代表路由器来实现,又代表路由器为网络发出LSA。IETF的OSPF工作组在这个工作上近一步开发了OSPF协议。代表路由器的概念进一步的增强以减少路由信息交换。多播能力的利用减少了路由带宽。区域的路由方案允许信息的隐藏、保护和减少。最终,算法根据TCP/IP的网络进行了特定修改。1.4 本文档的组织本协议的前三部分对协议的性能和功能做了整体性的概述。4-16部分细致解释了协议的机制。数据格式,协议常量和配置项目在附录中规定。在文字中象HelloInterval这样的标签指的是协议常量。它们可或不可被配置。与体系结构有关的常量在附录B中总结。可配置的常量在附录C中总结。协议细节根据数据结构来呈现。这是为了让解释更加精确。协议的实现必须支持文档中所描述的功能,但不必全都采用协议中出现的数据结构。1.5 感谢The author would like to thank Ran Atkinson, Fred Baker, JeffreyBurgan,Rob Coltun, Dino Farinacci, Vince Fuller, PhanindraJujjavarapu, Milo Medin, Tom Pusateri, Kannan Varadhan,ZhaohuiZhang and the rest of the OSPF Working Group for the ideas andsupportthey have givento thisproject.The OSPF Point-to-MultiPoint interface is basedon workdone byFred Baker.The OSPF Cryptographic Authentication option was developed byFred Baker and Ran Atkinson.2. 链路状态数据库:组织和计算下面这些部分描述了OSPF链路状态数据库的组织和在这个数据库上的路由计算,用来产生路由器的路由表。2.1 路由器和网络的表示自治系统的链路状态数据库描述了一个有向图。这个图的结点由路由器和网络组成。当两个路由器通过点到点的物理网络连接时,在图中有一个边连接两个路由器。当有一个边连接路由器和网络时表示那个路由器具有到网络的接口。网络可以是Transit或Stub网络。Transit网络是那种可以传送本地产生或不是本地产生的数据的网络。一个Transit网络在图中以一个具有incoming和outgoing边的结点(Vertex)表示。一个Stub网络结点(Vertex)仅具有incoming边。每个网络结点(node)的neighborhood取决于网络的类型(点到点,广播,NBMA或点到多点)和具有到这个网络的接口的路由器的数量。三种情况在图1a中描述。长方形表示路由器,圆形和椭圆形表示网络。路由器的命名以RT开头,网络名以N开头。路由器接口命名以I开头。路由器间的线表示点到点网络。图的左边是网络和它们连接的网络,右边是相应的图。 *FROM* |RT1|RT2|+-+Ia +-+ *-|RT1|-|RT2| T RT1| |X |+-+ Ib+-+ O RT2| X | | * Ia| |X | * Ib| X | | Physical point-to-point networks *FROM* +-+ * |RT7| * |RT7|N3| +-+ T -| O RT7| | | +-+ *N3| X | | N3 * Stub networks *FROM*+-+ +-+|RT3| |RT4| |RT3|RT4|RT5|RT6|N2 |+-+ +-+* - | N2 |* RT3| | | | |X |+-+T RT4| | | | |X | | |O RT5| | | | |X |+-+ +-+* RT6| | | | |X |RT5| |RT6|* N2|X | X |X | X | |+-+ +-+ Broadcast or NBMA networksFigure 1a. 网络图的组成网络和路由器以结点的形式表示。当且仅当A列和B行的交叉处用X来标记时,有一条边从结点A到B。图1a的最上面示意的是两个路由器通过点到点链路连接。在产生的链路状态数据库中,两个路由器结点用一对边直接相连,各取一个方向。到点对点网络的接口可以不必分配IP地址。当分配了接口地址时,它们采用stub连接的模式,每个路由器广播一个stub连接到另外一个的路由器接口地址。另外也可以给点对点网络分配一个IP子网。在这种情况下,每个路由器广播一个到IP子网的stub连接,而不是广播对方的接口地址。图1a的中间示意了一个网络仅有一个路由器(即一个stub网络)。在这种情况下,在链路状态数据库的图中网络以stub连接的end(宿端)出现。当多个路由器连接到一个广播网络时,链路状态数据库中呈现出所有路由器与网络存在双向连接。在Figure 1a的底部示意。每个图中的网络(Stub或Transit)具有一个IP地址和相应的网络掩码。掩码表示了网络中的结点数。与路由器直接相连的主机(被称为主机路由)在图中以Stub网络形式出现。对于一个主机路由的网络掩码总是0xffffffff,表示一个单一结点。2.1.1 非广播网络的表示如前所述,OSPF在非广播网络中以两种模式之一运行:NBMA或点到多点。模式的选择决定了Hello协议和(Flooding)扩散在非广播网络中的工作方式,及链路状态数据库中的网络表示方式。在NBMA模式中,OSPF模拟在一个广播网络中的行为:为NBMA网络选出一个代表路由器,代表路由器为NBMA网络发出LSA。广播网络和NBMA网络的图的表示是一样的。在Figure 1a的中部示意。NBMA模式是OSPF在非广播网络上的最有效运行方式,不仅指链路状态数据库的大小,也指路由信息的交换量。然而,其具有一个明显的限制:它需要所有连接到NBMA网络中的路由器能够直接通信。这个在某些网络中可以做到。如ATM子网,使用SVC连接。但在其它非广播网络中常做不到。如仅有PVC的Frame Relay网络。在这些不是所有路由器都可以通信的网络中,可以分成一些逻辑子网,路由器在每个逻辑子网内可以直接通信,可以对每个子网以NBMA网络运行【Ref5 Internet Protocol】。这需要一些额外的管理开销,易于错误配置。可能在这样的网络用点到多点的模式会好一些。在点到多点模式中,OSPF以点对点连接的方式来对待所有非广播网络中路由器与路由器之间的连接。不为网络选举代表路由器,也没有为网络产生的LSA(网络LSA)。事实是,点到多点网络的结点不在链路状态数据库的图中出现。(图中没有点到多点的形式?)Figure 1b示意了点到多点网络的链路状态数据库表示。在图的左边,是一个点到多点网络,假设所有的路由器可以直接通信,除了RT4和RT5。I3到I6表示点到多点网络中路由器的IP接口地址。在链路状态数据库的图形表示中,可以直接通信的路由器有双向的边,同时每个路由器具有一个到自己IP接口地址的stub连接。在一些非广播网络中,点到多点模式和(如反向ARPRef 14 Address Resolution Protocol)链路层的协议的使用,可以允许OSPF邻居的自动发现,即使没有可用的广播支持。 *FROM*+-+ +-+|RT3| |RT4| |RT3|RT4|RT5|RT6|+-+ +-+* -I3| N2 |I4* RT3| | X |X | X | +-+T RT4|X | | | X |I5| |I6O RT5|X | | | X |+-+ +-+* RT6|X | X |X | |RT5| |RT6|* I3|X | | | |+-+ +-+ I4| | X | | | I5| | |X | | I6| | | | X |Figure1b 网络图的组成点到多点网络所有的路由器可以直接通信,除了RT4和RT5。I3到I6表示点到多点网络中路由器的IP接口地址。2.1.2 一个链路状态数据库的例子图2示意了一个简单的自治系统。加H1标签的矩形表示一个主机,与RT12有一个SLIP连接。因此RT12会广播(advertise)一个主机路由。路由器之间的连线表示物理点到点网络。连接RT6和RT10的是被分配接口地址的唯一的一个点到点网络。路由器RT5和RT7具有到其它自治系统的连接。为这些路由器展示了一些BGP的路由。每个路由器接口的output端有一个代价值。这个代价值是系统管理员可以配置的。这个值越低,越可能用来转发数据。外部获得的路由数据也有代价值。(如从BGP获得的路由)。Figure2产生的有向图在Figure3中描述。Arcs被加以相应路由器输出接口的代价值作为标签。没有代价标签的Arcs的代价为0。注意从网络到路由器的Arcs通常代价为0(反方向不为0)。然而这是有意义的。注意到外部获得的路由数据在图中以Stub形式出现。链路状态数据库是由路由器产生的LSA拼凑成的。在相应的图形表示中,每个路由器或Transit网络的向邻居扩散一个单独的LSA。Figure4图形化显示了LSA。路由器RT12有到两个广播网络的接口和一个到主机的SLIP线。网络N6是一个广播网络,有三个相连的路由器。从网络N6到它相连的路由器的所有连接的代价是0。网络N6的LSA由相连的一个路由器产生,即被选举成为代表的路由器。Figure2 一个自治系统的例子2.2 最短路径树当OSPF的区域配置好以后,自治系统中每个路由器有相同的链路状态数据库,有一个相同的图形表示。一个路由器以自己为根计算最短路径树来产生路由表。显然,最短路径树取决于进行计算的路由器。在我们的例子中,路由器RT6的最短路径树在Figure5中刻划。这个树给出了到任何目的网路或主机的路径。然而,在转发中只用下一跳的信息。注意到任何路由器的最佳路径也被计算出来。对于外部数据的处理,(we note the next hop and distanceto any router advertising external routes)我们记录下一跳和到任何广播外部路由的路由器的距离。最后产生的路由表在Table2中给出。注意对于(分配了IP地址的)Numbered点到点网络的每一端有一个单独路径。(在这个例子中,RT6和RT10之间的串行线)。到其它AS的网络的路由在Figure5中的最短路径树中以dashed lines出现。(到N12N15的路由是外部信息,在2.3中讨论)2.3 使用外部路由信息在树创建以后外部路由信息被examined。这个外部路由信息从其它路由协议如BGP产生,或是静态配置。默认路由也可以作为自治系统中外部路由信息的一部分。外部路由信息在AS中不改变的进行扩散。在我们的例子中,自治系统中的所有路由器都知道RT7有两个外部路由,具有度量2和度量9。OSPF支持两种外部度量。类1是外部度量用OSPF接口代价的相同单位表示,类2是高一数量级。类2的度量比AS内部的任何路径的代价要大。使用类2外部度量假设了在自治系统间的路由是路由一个数据包的主要代价,消除了将外部代价转换到内部链路状态度量的需要。作为类1外部度量处理的例子,假设Figure2中的RT7和RT5广播类1外部度量。对每个被广播的外部路径,From RT6来(到被广播的外部路由)的总代价是(RT5RT7)广播的外部路由代价和从RT6到广播路由器(Rt5/RT7)的距离的和(RT6 to RT5+RT5 advtising arcs)。当两个路由器广播同样的外部目的地时,RT6选择提供最小总代价的广播路由器。于是RT6将到外部目的地的下一跳设为用来路由到选定广播路由器的下一跳。在Figure2中,RT5和RT7都广播一个外部路径到目的网络N12。RT7是首选的,因为它广播的N12到RT6的距离是10(82),比RT5的14(68)好。Table3显示了当外部路由被examined后加入路由表的路径:类2外部度量的处理更简单。广播最小外部度量的AS边界路由器被选中,不考虑到AS边界路由器的内部距离。假设在我们的例子中RT5和RT7都广播类2外部路径,那么所有到网络N12的数据量被转发到RT7,因为28。当几个等代价的类2路由存在时,内部距离被用来打开这个结。类1和类2度量可以在AS中同时出现。在这种情况下,类1外部路由总是优先。这个部分假设了目的地址是在外部(外部目的地址)的数据包总是通过AS广播边界路由器来路由。这并不总是如此。例如,假设Figure2中有一个连接到网络N6的路由器RTX,且RTX不参予OSPF的路由,但与AS边界路由器RT7交换BGP信息。那么,RT7将不再为所有目的地经(可能路由到)RTX的路由广播OSPF外部路由。一个额外的跳有时引入进来,如果这些目的地址总是需要先路由到RT7(广播路由器)。为解决这个问题,OSPF协议允许AS边界路由器在它的ASexternalLSA确定一个“转发地址”。在上面的例子中,RT7将为那些直接路由到RTX的目的地址确定RTX的IP地址为“转发地址”。“转发地址”还有其它应用。它可使自治系统中的路由器充当“路由服务器”。例如,Figure2中的RT6可以充当路由服务器,通过静态配置和外部路由协议获得外部路由信息。RT6然后开始广播它是AS边界路由器,发出一些OSPF的ASexternalLSA。在每个ASexternalLSA中,RT6将通过适当设定LSA的转发地址域来确定正确的自治系统的出口点。2.4 等代价多路径上面的讨论只考虑了到目的地只有一个路径,是一个简化的情况。实际上,如果有多条到目的地的等代价路径,它们也都被发现和使用。这不需要在算法上有概念性的改变,这部分讨论将在后面具体讨论。有了等代价多路径,一个路由器可能有多个可用的下一跳。3. 划分AS为区域OSPF允许一些邻接的区域和主机组合在一起。这样一个组,与那些具有到所包含的网络有接口的路由器一起(together with the routers having interfaces to any one of the included networks) 称为区域。每个区域运行一个基本的链路状态算法的copy。这意味着每个区域有自己的链路状态数据库和相应的图。区域内的拓扑结构在区域外是不可见的。反过来,区域内的路由器对区域外的拓扑细节不了解。与自治系统作为一个链路状态域相比,这种隔离可使协议大量减少路由交换信息。引入区域后,AS内路由器不是都具有相同的链路状态数据库。一个路由器实际上在它所连接的区域中有一个数据库。连接到多个区域的路由器成为区域边界路由器。两个属于一个区域的路由器有相同的链路状态数据库。在自治系统内的路由在两个级别进行,这取决于是否数据包的源和目的地地址是否在一个区域内。在区域内的路由,数据包仅根据在区域内获得的信息来路由,没有区域外获得的信息可利用。这保护了区域内的路由不被注入的坏的路由信息的影响。我们在3.2中讨论区域内路由。3.1 自治系统的主干网OSPF主干网是一个特殊的OSPF区域0(经常写为区域0.0.0.0,因为OSPF区域ID经常以IP地址的格式使用)。这个主干网包含了所有的区域边界路由器。主干网负责在非主干网的区域间分发路由信息。主干网必须是邻接的。但它不必是物理上邻接的。主干网的邻接可以通过虚链路的配置来建立、维持。虚链路可以在任何两个主干路由器之间配置,这些主干路由器具有到一般非主干区域的接口。虚链路属于主干网。协议以Unnumbered(未分配IP地址的)点到点主干网络来对待两个以虚链路连接的路由器。在主干网的图中,两个这样的路由器用弧形连接(joined by arcs),它们的代价是两个路由器间的区域内距离。在虚链路上的路由协议交换仅使用区域内路由。3.2 区域间路由在两个非主干区域间路由需要使用主干区域。数据包经过的路径可被分成3个邻接段:一个是区域内路径,从源端到区域边界路由器,一个主干路径,从源区域到目的区域,另一个区域内路径到目的地址。算法就是找出这样具有最小代价的路径。从另一个角度看,区域内路由可以刻划为星型配置的自治系统,用Backbone当hub,用nonBackbone当spokes。主干网的拓扑指示了在区域间的主干网路径。主干网的拓扑可以通过增加虚链路来增强。3.3路由器分类在介绍区域以前,具有特殊功能的唯一路由器是如图2 所示的Router RT5能广播外部路由信息的。当AS分成OSPF区域时,路由器进一步按功能分如下四个交类:内部路由器:一个与同一区域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论