《A班通信网理论基础(第三章)2Internet单播路由协议课件.ppt》由会员分享,可在线阅读,更多相关《A班通信网理论基础(第三章)2Internet单播路由协议课件.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 通信网理论基础通信网理论基础 第三章(第三章(2)因特网的路由协议因特网的路由协议参考书籍:高等计算机网络体系结构、协议机参考书籍:高等计算机网络体系结构、协议机制、算法设计与路由器技术制、算法设计与路由器技术徐徐 珞、吴建平等著,机械工业出版社珞、吴建平等著,机械工业出版社2003,9 南京邮电大学南京邮电大学张顺颐张顺颐2008,4,132/16/20231InternetInternet路由信息协议路由信息协议内部网关协议之内部网关协议之1 1:路由信息协议:路由信息协议RIPRIP一、路由信息协议一、路由信息协议RIPRIP 路由信息协议路由信息协议路由信息协议路由信息协议RIPRI
2、PRIPRIP是内部网关协议的一种。是内部网关协议的一种。是内部网关协议的一种。是内部网关协议的一种。(一)(一)(一)(一)RIPRIPRIPRIP协议的发展过程协议的发展过程协议的发展过程协议的发展过程 RIP RIP RIP RIP协议让互联网中所有的路由器都和自己的相协议让互联网中所有的路由器都和自己的相协议让互联网中所有的路由器都和自己的相协议让互联网中所有的路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由邻路由器不断交换路由信息,并不断更新其路由邻路由器不断交换路由信息,并不断更新其路由邻路由器不断交换路由信息,并不断更新其路由表。使得从每一个路由器到每一个目的网络的路
3、表。使得从每一个路由器到每一个目的网络的路表。使得从每一个路由器到每一个目的网络的路表。使得从每一个路由器到每一个目的网络的路由都是最短的,即跳数最少。由都是最短的,即跳数最少。由都是最短的,即跳数最少。由都是最短的,即跳数最少。2/16/20232 2020世纪世纪8080年代,加州大学伯克利分校在年代,加州大学伯克利分校在开发开发UnixUnix系统的同时,在系统的同时,在routedrouted程序中设程序中设计实现了计实现了RIPRIP协议软件。协议软件。RoutedRouted程序被绑定程序被绑定在在BSD UnixBSD Unix系统中一起推出,被广泛的使系统中一起推出,被广泛的使
4、用于早期网络中的主机之间交换路由信息。用于早期网络中的主机之间交换路由信息。2/16/20233 RIPRIP协议认为,好的路由就是跳数少,协议认为,好的路由就是跳数少,即通过的路由器数目少,称为即通过的路由器数目少,称为“距离短距离短”。RIP RIP协议定义:路由器直接到所在网络距离协议定义:路由器直接到所在网络距离 为为0 0(也有定义为(也有定义为1 1的),到非直接连接的的),到非直接连接的 网络的距离则为所经过的路由器的数加网络的距离则为所经过的路由器的数加1 1。尽管尽管RIP/routedRIP/routed没有非常突出的优没有非常突出的优 点,但是由于点,但是由于UnixUn
5、ix操作系统的普及,操作系统的普及,RIP/routed RIP/routed也逐渐被推广使用,为许多人也逐渐被推广使用,为许多人 所接受,成为中小型网络中最基本的路由所接受,成为中小型网络中最基本的路由 协议程序。协议程序。2/16/20234 这是因为这是因为RIPRIP具有自身的特点。首先,具有自身的特点。首先,在小型的网络环境中,从使用的网络带宽在小型的网络环境中,从使用的网络带宽以及协议配置和管理复杂程度上看,以及协议配置和管理复杂程度上看,RIPRIP的运行开销很小;其次,与其它路由协议的运行开销很小;其次,与其它路由协议相比,相比,RIPRIP使用简单的距离使用简单的距离-向量算
6、法,实向量算法,实现更容易;现更容易;由于历史的原因,由于历史的原因,RIPRIP的应用范围非的应用范围非常广,在未来的一段时间内仍然会使用在常广,在未来的一段时间内仍然会使用在各种网络环境中。因此,在路由器的设计各种网络环境中。因此,在路由器的设计中,中,RIPRIP协议是不可缺少的路由协议之一。协议是不可缺少的路由协议之一。2/16/20235RIP协议协议n n虽然所有的路由器最终都拥有了虽然所有的路由器最终都拥有了整个自治整个自治系统的全局路由信息系统的全局路由信息,但是由于每一个路,但是由于每一个路由器的位置不同,其路由表是不一样的。由器的位置不同,其路由表是不一样的。n nRIP协
7、议使用运输层的用户数据报协议协议使用运输层的用户数据报协议UDP进行传送,因此进行传送,因此RIP协议的位置应当在应用协议的位置应当在应用层。但是转发层。但是转发IP数据报的过程是在网络层数据报的过程是在网络层完成的。完成的。2/16/20236 1、路由信息协议、路由信息协议RIP(Routing Informaition Protocol)RIP是内部网关协议是内部网关协议IGP中最先得到广泛中最先得到广泛使用的协议。使用的协议。RIP是分布式的基于距离向量是分布式的基于距离向量的路由选择协议,特点是简单。的路由选择协议,特点是简单。距离:距离:RIP协议要求网络中的每一个路协议要求网络中
8、的每一个路由器都要维护从它自己到其它每一个目的由器都要维护从它自己到其它每一个目的网络的距离记录,即距离向量。网络的距离记录,即距离向量。2/16/20237 RIP协议定义距离:协议定义距离:从一个路由器到其直接连接的网络的距从一个路由器到其直接连接的网络的距离定为离定为1,而从一个路由器到非直接连接的网,而从一个路由器到非直接连接的网络距离定义为所经过的路由器数加络距离定义为所经过的路由器数加1。所以,。所以,这里距离也称为这里距离也称为“跳数(跳数(hop count)”。RIP不能在两个网络之间同时使用多个路不能在两个网络之间同时使用多个路由。由。2/16/20238IGP:内部网关协
9、议;:内部网关协议;EGP:外部网关协议;:外部网关协议;2/16/20239 各种路由协议都是要满足路由器不断各种路由协议都是要满足路由器不断 地和其它的路由器交换路由信息,为了便地和其它的路由器交换路由信息,为了便 于问题的讨论,需要明确:于问题的讨论,需要明确:n n不相邻的路由器不交换信息。即一个路由不相邻的路由器不交换信息。即一个路由器只与相邻的路由器交换信息,因为每个器只与相邻的路由器交换信息,因为每个路由器不需要考虑不相邻的路由器的情况,路由器不需要考虑不相邻的路由器的情况,那样情况非常复杂;那样情况非常复杂;2/16/202310n n交换的信息是本路由器当前所知道的全部交换的
10、信息是本路由器当前所知道的全部信息,即自己的路由表;也就是说,所交信息,即自己的路由表;也就是说,所交换的信息是到本自治系统中所有网络的换的信息是到本自治系统中所有网络的(最短)距离,以及到每个网络应该经过(最短)距离,以及到每个网络应该经过的下一跳路由器。至于本路由器怎样获得的下一跳路由器。至于本路由器怎样获得这些信息,以及路由表是否完整,那并不这些信息,以及路由表是否完整,那并不重要;重要;2/16/202311InternetInternet网络的结构特点网络的结构特点网络的结构特点网络的结构特点 2/16/202312n n按固定的时间间隔交换路由信息;然后更新路按固定的时间间隔交换路
11、由信息;然后更新路由表。当然在网络发生拓扑变化时,应该即时由表。当然在网络发生拓扑变化时,应该即时交换信息。交换信息。目前使用的目前使用的RIP协议版本有协议版本有RIPv1,是,是1988年年6月提出的,月提出的,RIPv2,是,是1998年年11月提出的,月提出的,两者之间的不同是,后者在协议报文的路由表两者之间的不同是,后者在协议报文的路由表项中增加了子网掩码信息,安全认证,不同路项中增加了子网掩码信息,安全认证,不同路由协议之间的交互等功能。由协议之间的交互等功能。2/16/202313二、二、RIPRIP协议的报文结构协议的报文结构 1 1、RIPv1RIPv1报报文文结结构构。RI
12、Pv1RIPv1的的报报文文结结构构如如图图1 1所所示示。每每个个报报文文都都包包括括一一个个报报文文命命令令字字段段、一一个个报报文文版版本本字字段段以以及及一一些些路路由由信信息息项项(一一个个RIPRIP报文中最多允许报文中最多允许2525个路由信息项)。个路由信息项)。RIPRIP报报文文的的最最大大长长度度为为4+2025=5044+2025=504字字节节,加加上上UDPUDP报报头头的的8 8字字节节,一一共共是是512512字字节节。如如果果路路由由表表的的路路由由表表项项数数目目大大于于2525时时,那那么么就就需需要多个要多个RIPRIP报文来完成路由信息的传播过程。报文
13、来完成路由信息的传播过程。2/16/202314图图1 RIPv11 RIPv1报文结构报文结构2/16/202315 CommandCommand字段:标识字段:标识RIPRIP报文的类型,目前报文的类型,目前RIPRIP只支持两种报文类型,分别是请求报文只支持两种报文类型,分别是请求报文(requestrequest)和响应报文(和响应报文(responseresponse)。)。VersionVersion字段:表示字段:表示RIPRIP报文的版本信息,报文的版本信息,RIPv1RIPv1报文中此字段为报文中此字段为1 1。Address Family Identifier Addres
14、s Family Identifier 字段:表示字段:表示路由信息所属的地址族,目前路由信息所属的地址族,目前RIPRIP中规定此中规定此字段必须为字段必须为2 2,表示使用,表示使用IPIP地址族。地址族。IPv4 AddressIPv4 Address字段:表示路由信息对应的字段:表示路由信息对应的目的地目的地IPIP地址,可以是网络地址、子网地地址,可以是网络地址、子网地址以及主机地址。址以及主机地址。2/16/202316MetricMetric字段:表示从本路由器到达目的字段:表示从本路由器到达目的地的距离,目前地的距离,目前RIPRIP协议将路由路径上经协议将路由路径上经过的路由
15、器数作为距离度量值。过的路由器数作为距离度量值。Must Be ZeroMust Be Zero字段:协议规定这些字段字段:协议规定这些字段必须为必须为0 0。当需要发送请求对方路由器全部路由表当需要发送请求对方路由器全部路由表信息的请求报文时,信息的请求报文时,RIPRIP使用另一种报文使用另一种报文结构,如图结构,如图2 2所示。此报文结构中路由信所示。此报文结构中路由信息项的地址族标识符字段为息项的地址族标识符字段为0 0,目的地址,目的地址字段为字段为0 0,距离度量字段为,距离度量字段为1616。2/16/202317图图2 RIPv12 RIPv1请求全部路由信息报文结构请求全部路
16、由信息报文结构2/16/202318RIP协议协议n n因此,因此,RIP协议使用的最大距离为协议使用的最大距离为15,16则表则表示不可达。故只能在比较小的网络中使用。示不可达。故只能在比较小的网络中使用。网络规模大时,可以使用网络规模大时,可以使用OSPF协议(内部协议(内部网关协议,也称最短路径优先协议)。网关协议,也称最短路径优先协议)。n n如果网络中发生了故障,则故障路由器信息如果网络中发生了故障,则故障路由器信息可能要多次才能更新。此即可能要多次才能更新。此即RIP协议的特点协议的特点“坏消息传得慢,好消息传得快坏消息传得慢,好消息传得快”,这是因,这是因为网络的故障是由跳数不可
17、达来表示的,跳为网络的故障是由跳数不可达来表示的,跳数不可达需要特殊为数不可达需要特殊为16时才可判为不可达;时才可判为不可达;而新的可达路由,则直接转发即可,所以传而新的可达路由,则直接转发即可,所以传得很快。得很快。2/16/202319 2 2、RIPv2RIPv2报文结构。报文结构。RIPv2 RIPv2充分利用了充分利用了RIPv1RIPv1报文结构中未报文结构中未被使用的字段,对被使用的字段,对RIPv1RIPv1进行了进一步的扩进行了进一步的扩展,包括:采用多播方式提高网络报文利展,包括:采用多播方式提高网络报文利用效率;为每个路由表项增加子网掩码信用效率;为每个路由表项增加子网
18、掩码信息;对息;对RIPRIP交互报文增加安全机制以及为不交互报文增加安全机制以及为不同路由协议的交互提供支持等。同路由协议的交互提供支持等。2/16/202320图图3 RIPv23 RIPv2报文结构报文结构2/16/202321 RIPv2RIPv2报文结构中与报文结构中与RIPv1RIPv1不一致的字段的简不一致的字段的简单说明:单说明:UnusedUnused字段:字段:RIPv2 RIPv2不对此字段做任何处理,不不对此字段做任何处理,不要求字段必须为要求字段必须为0 0。VersionVersion字段:对于字段:对于RIPv2RIPv2来说,此字段为来说,此字段为2 2。Rou
19、te TagRoute Tag字段:表示路由对应的自治系统号,字段:表示路由对应的自治系统号,从而用于协议的交互。从而用于协议的交互。Subnet MaskSubnet Mask:表示路由信息对应的子网掩码,:表示路由信息对应的子网掩码,增加对增加对CIDRCIDR路由的支持。路由的支持。Next HopNext Hop:表示路由对应的下一跳路由器:表示路由对应的下一跳路由器IPIP地址,地址,如为如为0.0.0.00.0.0.0,则以此,则以此RIPRIP报文的发送源地址作为报文的发送源地址作为下一跳路由器。下一跳路由器。2/16/202322 为了给为了给RIPRIP路由交互报文提供认证功
20、能,路由交互报文提供认证功能,RIPv2RIPv2在每个路由交互报文中增加了认证字在每个路由交互报文中增加了认证字段,报文结构如图段,报文结构如图4 4所示,所示,RIPv2RIPv2利用了一个利用了一个完整的路由信息项来实现认证功能,这样整完整的路由信息项来实现认证功能,这样整个报文最多只能包括个报文最多只能包括2424个路由信息项。个路由信息项。2/16/202323图图4 RIPv24 RIPv2认证字段报文结构认证字段报文结构2/16/202324Authentication TypeAuthentication Type字段:表示认证的字段:表示认证的类型,当前协议只规定为类型,当前
21、协议只规定为2 2,表示明文密,表示明文密码认证。码认证。Authentication Authentication 字段:表示认证的数据,字段:表示认证的数据,即认证密码值。该字段为即认证密码值。该字段为1616字节,未满字节,未满1616字节的最后填字节的最后填0 0。2/16/202325(三)(三)RIPRIP协议的基本特点协议的基本特点1 1、协议运行过程、协议运行过程 当系统启动时,当系统启动时,RIPRIP协议处理模块在所有协议处理模块在所有RIPRIP配置运行的接口处发出配置运行的接口处发出requestrequest报文,然后报文,然后RIPRIP协议就进入了循环等待状态,等
22、待外部协议就进入了循环等待状态,等待外部RIPRIP协议报文(包括请求报文和响应报文协议报文(包括请求报文和响应报文)的到来。的到来。2/16/202326 而接收到而接收到requestrequest报文的相邻路由器会发报文的相邻路由器会发出包含它们路由表信息的出包含它们路由表信息的responseresponse报文。报文。当请求的路由器接收到一个当请求的路由器接收到一个responseresponse报文报文后,它会逐一处理收到的路由表项内容。如果后,它会逐一处理收到的路由表项内容。如果报文中的表项为新的路由表项,那么就会向路报文中的表项为新的路由表项,那么就会向路由表加入该表项。由表加
23、入该表项。2/16/202327 如果该报文表项已经在路由表中存在,如果该报文表项已经在路由表中存在,那么首先判断此更新路由是否就是本地路由那么首先判断此更新路由是否就是本地路由当初获得的源主机,如果是,则无论表项的当初获得的源主机,如果是,则无论表项的距离度量值(距离度量值(metric)metric)如何,都需要更新表如何,都需要更新表项;如果不是,那么只有当更新表项的项;如果不是,那么只有当更新表项的metricmetric值小于路由表中相应表项值小于路由表中相应表项metricmetric值时值时才需要替代原来的表项。才需要替代原来的表项。2/16/202328 2 2、定时器定义、定
24、时器定义 系统启动后,路由器以系统启动后,路由器以3030秒的间隔自秒的间隔自动发送动发送responseresponse报文,在这种报文,在这种responseresponse报文报文中会包括本路由器中除一些被水平分裂等策中会包括本路由器中除一些被水平分裂等策略抑制之外的所有路由信息。协议将此定时略抑制之外的所有路由信息。协议将此定时器存于路由更新定时器(器存于路由更新定时器(Update Timer)Update Timer)。2/16/202329 为了防止整个网络中参与为了防止整个网络中参与RIPRIP协议交协议交互的路由器同时广播路由更新报文从而互的路由器同时广播路由更新报文从而造成
25、网络的拥塞,协议规定在造成网络的拥塞,协议规定在3030秒的基秒的基本更新时间间隔上附加一个随机变化量,本更新时间间隔上附加一个随机变化量,此变化量为此变化量为5 5秒。因此真正秒。因此真正RIPRIP协议实现协议实现中更新定时器的值变化范围为中更新定时器的值变化范围为2525秒到秒到3535秒。秒。2/16/202330 3 3、慢收敛问题及对策、慢收敛问题及对策 包括包括RIPRIP在内的所有距离向量算法路在内的所有距离向量算法路由协议都有一个严重的缺陷,即慢收敛由协议都有一个严重的缺陷,即慢收敛(slow convergenceslow convergence)问题,或者称为)问题,或者
26、称为计数至无穷(计数至无穷(count to infinitycount to infinity)。)。2/16/202331图图图图5 5 5 5 慢收敛问题实例慢收敛问题实例慢收敛问题实例慢收敛问题实例2/16/202332 如图如图5 5所示,图所示,图5a5a是一个正常的网络是一个正常的网络拓扑结构,从拓扑结构,从R1R1可以直接到达可以直接到达net1net1,从,从R2R2经过经过R1R1可到达可到达net1net1。正常情况下,。正常情况下,R2R2收到收到R1R1的距离向量报文后,会建立一条的距离向量报文后,会建立一条路径(路径(net1,R1,1net1,R1,1)。)。2/
27、16/202333 现在假设从现在假设从R1R1到到net1net1的路径因故障的路径因故障而崩溃,但而崩溃,但R1R1依然能正常工作。依然能正常工作。R1R1一旦检一旦检测到测到net1net1不可到达,它会立即将原来去往不可到达,它会立即将原来去往net1net1的路径废除(将距离值设为的路径废除(将距离值设为1616)。然)。然后会出现两种情况:后会出现两种情况:2/16/202334 第一种,在收到来自第一种,在收到来自R2的路由更新请求报的路由更新请求报文之前,文之前,R1将修改后的路径(将修改后的路径(net1,R1,1)删除。)删除。这时整个网络路由状态是正确的。这时整个网络路由
28、状态是正确的。第二种,第二种,R2赶在赶在R1发送新的更新路由报发送新的更新路由报文之前广播自己的路由更新报文,该报文中必文之前广播自己的路由更新报文,该报文中必然有一条(然有一条(net1,R1,1)表项,说明从表项,说明从R2出发,经出发,经过一个路由器就可以到达过一个路由器就可以到达net1。这时。这时R1会根据会根据此表项来修改自已的路由表,产生关于此表项来修改自已的路由表,产生关于net1的的新路径(新路径(net1,R2,2)。于是在)。于是在R1与与R2之间出现之间出现了路由环路,如图了路由环路,如图5b所示。所示。2/16/202335 上述路径环路会通过上述路径环路会通过R1
29、R1、R2R2之间不之间不断的路由更新报文交换而解除,但是解断的路由更新报文交换而解除,但是解除过程是非常缓慢的。在出现路径环路除过程是非常缓慢的。在出现路径环路之后,在下一轮路由广播中,之后,在下一轮路由广播中,R1R1将向将向R2R2广播(广播(net1,R2,2)net1,R2,2)表项,表项,R2R2收到此表项收到此表项后,将去往后,将去往net1net1的路径改为的路径改为(net1,R1,3net1,R1,3););2/16/202336 然后然后R2R2向向R1R1通告(通告(net1net1,R1,3R1,3)表项,)表项,R1R1将去往将去往net1net1的路由项改为(的路
30、由项改为(net1net1,R2R2,4 4)如此下去,直到路径长度变为如此下去,直到路径长度变为1616。也。也就是说,要经过就是说,要经过7 7次来回(至少次来回(至少307307秒)秒)路径环路才可以消除。这就是所谓的慢收路径环路才可以消除。这就是所谓的慢收敛问题。更为复杂的路由环路还有可能发敛问题。更为复杂的路由环路还有可能发生在一系列路由器之间。生在一系列路由器之间。2/16/202337 为了克服慢收敛问题,为了克服慢收敛问题,RIPRIP协议中提出协议中提出了以下方法:了以下方法:(1 1)简单的水平分裂法。当路由器从)简单的水平分裂法。当路由器从某个网络接口发送某个网络接口发送
31、RIPRIP路由更新报文时,路由更新报文时,其中不能包含从该接口获取的路径信息,其中不能包含从该接口获取的路径信息,即自身提供的路由信息不再采用。这样就即自身提供的路由信息不再采用。这样就避免了形成路由环路。避免了形成路由环路。2/16/202338 (2 2)带有毒性逆转的水平分裂法。)带有毒性逆转的水平分裂法。路由器向某一个接口发送路由器向某一个接口发送RIPRIP路由更新报路由更新报文时,包含从该接口获取的路由信息,文时,包含从该接口获取的路由信息,但是将这些路由项的路径设为无穷。但是将这些路由项的路径设为无穷。水平分裂法可以避免两个路由器之水平分裂法可以避免两个路由器之间产生的路径环路
32、现象,但是它仍然不间产生的路径环路现象,但是它仍然不能完全避免路径环路的产生。能完全避免路径环路的产生。2/16/202339 (3 3)触发更新法。为了加速网络路)触发更新法。为了加速网络路由收敛的速度,协议提出了触发更新法。由收敛的速度,协议提出了触发更新法。它的做法是:一旦发现某一些路由表项它的做法是:一旦发现某一些路由表项发生变化,就立即广播路由更新报文,发生变化,就立即广播路由更新报文,而不必等待下一次刷新周期。而不必等待下一次刷新周期。2/16/202340 触发更新法能够大大加快路由的收触发更新法能够大大加快路由的收敛速度,但是它同样存在着更新报文数敛速度,但是它同样存在着更新报
33、文数量太多、太频繁的缺点,因此需要对触量太多、太频繁的缺点,因此需要对触发更新报文的发送频率做严格的控制。发更新报文的发送频率做严格的控制。协议规定触发更新报文的发送间隔时间协议规定触发更新报文的发送间隔时间范围为范围为1 1到到5 5秒。秒。2/16/202341 4 4、子网掩码的处理、子网掩码的处理 RIPv1 RIPv1协议规定,路由器可以利用它协议规定,路由器可以利用它的网络接口配置来获得该网络的子网掩的网络接口配置来获得该网络的子网掩码。例如,如果路由器某一个接口地址码。例如,如果路由器某一个接口地址配置为配置为166.111.69.1/255.255.255.0166.111.6
34、9.1/255.255.255.0,此时如果接收到目的地址此时如果接收到目的地址166.111.68.0166.111.68.0的的RIPv1RIPv1路由信息项时,路由器就可以知路由信息项时,路由器就可以知道该路由为子网路由;道该路由为子网路由;2/16/202342 但是如果路由器没有一个接口配置但是如果路由器没有一个接口配置与与166.111.0.0166.111.0.0网络相关,从而路由器不网络相关,从而路由器不知道任何关于该网络内部的子网分配情知道任何关于该网络内部的子网分配情况,此时如果路由器接收到目的地址况,此时如果路由器接收到目的地址166.111.68.0166.111.68
35、.0的的RIPv1RIPv1路由信息项时,它路由信息项时,它只能将此路由按照只能将此路由按照A A、B B、C C类基类网络去类基类网络去判断,将该路由转化成判断,将该路由转化成166.111.0.0166.111.0.0。2/16/202343 由于运行由于运行RIPv1RIPv1的路由器只知道直接相连的的路由器只知道直接相连的网络的内部子网划分情况,并不知道其它外部网络的内部子网划分情况,并不知道其它外部网络的子网划分情况,为此需要新的方法。网络的子网划分情况,为此需要新的方法。可以在两个网络之间的路由器中采用路由合可以在两个网络之间的路由器中采用路由合并(并(Route Summariz
36、ationRoute Summarization)的策略。如果路)的策略。如果路由器与两个网络由器与两个网络A A和和B B相连,那么此网络边界路相连,那么此网络边界路由器就不需要把一个网络(如由器就不需要把一个网络(如A A网络)内部的网络)内部的子网路由通知给另一个网络(如子网路由通知给另一个网络(如B B网络);网络);2/16/202344 因为对于因为对于B B网络内部的路由器来说,它网络内部的路由器来说,它不知道不知道A A网络内部的子网掩码,所以这网络内部的子网掩码,所以这些子网路由对些子网路由对B B网络内部路由器来说只网络内部路由器来说只能当作是能当作是A A、B B、C C
37、类基类网络路由。类基类网络路由。2/16/202345图图图图6 6 6 6 网络边界路由合并实例网络边界路由合并实例网络边界路由合并实例网络边界路由合并实例(自动路由合并策略)(自动路由合并策略)(自动路由合并策略)(自动路由合并策略)左为一左为一左为一左为一C C C C类地址(类地址(类地址(类地址(110110110110开头)网络,右为一开头)网络,右为一开头)网络,右为一开头)网络,右为一A A A A类地址(类地址(类地址(类地址(0 0 0 0开头)网络开头)网络开头)网络开头)网络2/16/202346 图图6 6中的边界路由器采用了自动路由合中的边界路由器采用了自动路由合并
38、策略,它只把一条并策略,它只把一条10.0.0.010.0.0.0路由信息路由信息向网络向网络192.168.115.0192.168.115.0内部传播,而把一内部传播,而把一条条192.168.115.0192.168.115.0的信息向网络的信息向网络10.0.0.010.0.0.0内部传播。内部传播。2/16/202347 采用这种方法,那么网络采用这种方法,那么网络10.0.0.010.0.0.0中的中的路由器只包含一条关于路由器只包含一条关于192.168.115.0192.168.115.0的信息,反之亦然。边界路由器隐藏了的信息,反之亦然。边界路由器隐藏了子网的细节。子网的细节
39、。2/16/202348内部网关协议之内部网关协议之2 2:最短路径优先协:最短路径优先协议议OSPFOSPF二、最短路径优先协议二、最短路径优先协议OSPFOSPF(一)(一)OSPFOSPF的网络拓扑结构的网络拓扑结构 子网掩码的采用,大大增加了地址的数量,也子网掩码的采用,大大增加了地址的数量,也子网掩码的采用,大大增加了地址的数量,也子网掩码的采用,大大增加了地址的数量,也使得子网访问网络非常方便。但是带来了一个新的使得子网访问网络非常方便。但是带来了一个新的使得子网访问网络非常方便。但是带来了一个新的使得子网访问网络非常方便。但是带来了一个新的问题:路由寻址变得复杂。这是因为:子网的
40、出问题:路由寻址变得复杂。这是因为:子网的出问题:路由寻址变得复杂。这是因为:子网的出问题:路由寻址变得复杂。这是因为:子网的出现,导致网络数量大大增加,路由表加长。现,导致网络数量大大增加,路由表加长。现,导致网络数量大大增加,路由表加长。现,导致网络数量大大增加,路由表加长。2/16/202349 OSPF OSPF协议采用链路状态路由算法。协议采用链路状态路由算法。Internet Internet中的很多自治系统中的很多自治系统ASAS其自其自身很庞大,而且不便于管理。为此,身很庞大,而且不便于管理。为此,OSPFOSPF对网络进行了进一步的划分,它把对网络进行了进一步的划分,它把一个
41、网络或一系列相邻的网络分为编号一个网络或一系列相邻的网络分为编号区域(区域(Area),Area),一个区域的拓扑结构对于一个区域的拓扑结构对于自治系统的其余部分是不可见的。自治系统的其余部分是不可见的。2/16/202350 这种信息的隐藏可以带来路由信息量的显这种信息的隐藏可以带来路由信息量的显著降低。同时,域内的路由只由域本身的拓扑著降低。同时,域内的路由只由域本身的拓扑结构决定,使其不受域外错误信息的影响。结构决定,使其不受域外错误信息的影响。OSPFOSPF还定义了一个特殊的域,我们称之为主干还定义了一个特殊的域,我们称之为主干(BackboneBackbone),其编号为),其编号
42、为0 0。所有的区域都与主干相连,主干负责向所所有的区域都与主干相连,主干负责向所有的非主干区域分发路由信息。主干在逻辑上有的非主干区域分发路由信息。主干在逻辑上必须是连续的。与其他区域一样,在主干之外必须是连续的。与其他区域一样,在主干之外其拓扑结构是不可见的。其拓扑结构是不可见的。2/16/202351 由于区域概念的引入,由于区域概念的引入,OSPFv3OSPFv3路由器路由器可根据功能进一步划分为可根据功能进一步划分为4 4种类型:种类型:(1 1)域内路由器()域内路由器(Internal Routers)Internal Routers)。与该路由器相连的所有通信对端(网络或路与该
43、路由器相连的所有通信对端(网络或路由器)均属于同一个域。该路由器只运行一由器)均属于同一个域。该路由器只运行一套基本的路由算法。如图套基本的路由算法。如图7 7中的路由器中的路由器R1R1、R4R4和和R7R7。2/16/202352图图图图7 OSPF7 OSPF7 OSPF7 OSPF中中中中ASASASAS、主干和区域间的关系、主干和区域间的关系、主干和区域间的关系、主干和区域间的关系2/16/202353 (2)域间路由器()域间路由器(Area border Routers)。)。与多个域相连的路由器。域间路由器运行与多个域相连的路由器。域间路由器运行多套基本的路由算法,每套算法对应
44、它相多套基本的路由算法,每套算法对应它相连的一个区域。域间路由器将与它们相连连的一个区域。域间路由器将与它们相连的域的拓扑结构信息加以提炼并将其发送的域的拓扑结构信息加以提炼并将其发送到主干,然后主干将这些信息分发到各个到主干,然后主干将这些信息分发到各个域中。如图域中。如图7中的路由器中的路由器R2、R3、R5和和R6。2/16/202354 (3)主干路由器()主干路由器(Backbone Routers)。)。与主干有接口的路由器。这包括所有的域与主干有接口的路由器。这包括所有的域间路由器,但是并非所有的主干路由器都间路由器,但是并非所有的主干路由器都是域边界路由器。如图是域边界路由器。
45、如图7中的中的R2R6。2/16/202355 (4)自治系统边界路由器()自治系统边界路由器(AS boundary Routers)。与其他自治系统交换路由信)。与其他自治系统交换路由信息的路由器。这些路由器向整个自治系统息的路由器。这些路由器向整个自治系统广播自治系统外的路由信息,自治系统内广播自治系统外的路由信息,自治系统内的所有路由器都知道通往自治系统边界路的所有路由器都知道通往自治系统边界路由器的路径。如图由器的路径。如图7中的路由器中的路由器R2。2/16/202356(二)最短路径优先协议二)最短路径优先协议OSPF的工的工作过程作过程 1、建立紧邻关系、建立紧邻关系 建立紧邻
46、关系的目的是交互路由信建立紧邻关系的目的是交互路由信息,并不是所有相邻的路由器之间都建息,并不是所有相邻的路由器之间都建立紧邻关系。建立紧邻关系包含两个主立紧邻关系。建立紧邻关系包含两个主要的步骤要的步骤HELLO协议和交互链路状协议和交互链路状态数据库信息。态数据库信息。2/16/202357 使用使用HELLO协议有两个目的:协议有两个目的:(1)寻找并发现相邻的路由器。)寻找并发现相邻的路由器。(2)在广播型与非广播型网络上选举代)在广播型与非广播型网络上选举代表路由器及其备份。表路由器及其备份。2/16/202358 路由器每隔一个路由器每隔一个“hello间隔间隔”发送一次发送一次h
47、ello分组,内容包括链路上代表路由器的地分组,内容包括链路上代表路由器的地址(如果还没有代表路由器则设为址(如果还没有代表路由器则设为0),以及),以及备份代表路由器的地址(没有也设为备份代表路由器的地址(没有也设为0)。邻)。邻居列表说明该路由器发现的与之相邻的路由居列表说明该路由器发现的与之相邻的路由器。器。hello协议的分组格式如图协议的分组格式如图8所示。所示。Hello分组是一种最常用的报文,它周期分组是一种最常用的报文,它周期性的被发送至邻居路由器,用于发现与维持性的被发送至邻居路由器,用于发现与维持邻居关系,选举指定路由器邻居关系,选举指定路由器DR与备份指定路与备份指定路由
48、器由器BDR。2/16/202359图图8 Hello8 Hello分组格式分组格式2/16/202360 当路由器收到一个当路由器收到一个当路由器收到一个当路由器收到一个hellohello分组时,如果发送这个分组时,如果发送这个分组时,如果发送这个分组时,如果发送这个分组的路由器还没有出现在本地路由器的邻居列表分组的路由器还没有出现在本地路由器的邻居列表分组的路由器还没有出现在本地路由器的邻居列表分组的路由器还没有出现在本地路由器的邻居列表中(这通过检查路由器中(这通过检查路由器中(这通过检查路由器中(这通过检查路由器IDID是否匹配实现),那么路是否匹配实现),那么路是否匹配实现),那么
49、路是否匹配实现),那么路由器就可以认为发现了一个新的邻居,在把这个路由器就可以认为发现了一个新的邻居,在把这个路由器就可以认为发现了一个新的邻居,在把这个路由器就可以认为发现了一个新的邻居,在把这个路由器加入邻居列表之后,路由器开始试图与对方建由器加入邻居列表之后,路由器开始试图与对方建由器加入邻居列表之后,路由器开始试图与对方建由器加入邻居列表之后,路由器开始试图与对方建立双向的邻接关系。立双向的邻接关系。立双向的邻接关系。立双向的邻接关系。ID ID是是是是OSPFOSPF域中路由器拥有的唯一标识,可以手域中路由器拥有的唯一标识,可以手域中路由器拥有的唯一标识,可以手域中路由器拥有的唯一标
50、识,可以手工配置,也可以由系统从当前接口的工配置,也可以由系统从当前接口的工配置,也可以由系统从当前接口的工配置,也可以由系统从当前接口的IPIP地址中选取地址中选取地址中选取地址中选取一个作为路由器的一个作为路由器的一个作为路由器的一个作为路由器的IDID号。号。号。号。2/16/202361 如果分组可以在两个路由器之间的链如果分组可以在两个路由器之间的链路上双向流动,那么这两个路由器就可以路上双向流动,那么这两个路由器就可以开始交互路由信息了(实际运行过程中还开始交互路由信息了(实际运行过程中还要考虑某些参数是否符合限制条件)。通要考虑某些参数是否符合限制条件)。通过查看对方路由器的邻居