Presentation is loading. Please wait.

Presentation is loading. Please wait.

DP500002 动态路由协议与RIP协议原理 ISSUE 1.0.

Similar presentations


Presentation on theme: "DP500002 动态路由协议与RIP协议原理 ISSUE 1.0."— Presentation transcript:

1 DP 动态路由协议与RIP协议原理 ISSUE 1.0

2 前 言 动态路由协议是用来计算路由的,动态路由协议自动完成路由表的计算,下面主要介绍动态路由协议的感念,和一种最简单的动态路由协议RIP.
Page 2

3 参考资料 数通原理教材 Tcp/ip协议详解 卷一 Page 3

4 目 标 学习完此课程,您将会: 了解路由协议在协议栈的位置 了解路由协议的工作机制 了解路由协议的分类 掌握RIP路由协议 Page 4

5 内容介绍 第一章 动态路由协议概述 第二章 距离矢量路由协议概述 第三章 RIP路由协议 Page 5

6 动态路由协议在协议栈中的位置 BGP RIP OSPF TCP UDP IP Raw IP 链路层 物理层 Page 6
Raw IP 链路层 物理层 所有的动态路由协议在TCP/IP协议栈中都属于应用层的协议。但是不同的路由协议使用的底层协议不同。 OSPF将协议报文直接封装在IP 报文中,协议号89,由于IP协议本身是不可靠传输协议,所以OSPF传输的可靠性需要协议本身来保证。 BGP使用TCP作为传输协议,提高了协议的可靠性,TCP的端口号是179。 RIP使用UDP作为传输协议,端口号520。 Page 6

7 路由协议的基本原理(一) 动态路由协议是做什么的? 计算路由的。计算本地路由器到网络中其它网段的路由。 如何做到这一点?
每台路由器将自己已知的路由相关信息发给相邻的路由器,由于大家都这样做,最终每台路由器都会收到网络中所有的路由信息,然后运行某种算法,计算出最终的路由来。(实际上需要计算的是该条路由的下一跳和花费)。 Page 7

8 路由协议的基本原理(二) 动态路由协议是做什么的? “天王盖地虎”-“宝塔镇河妖”
每种路由协议都有自己的语言(相应的路由协议报文),如果两台路由器都实现了某种路由协议并已经启动该协议,则具备了相互之间通信的基础。 “初次见面,请多关照” 一台新加入的路由器应该主动把自己介绍给网段内的其它路由器。通过发送广播报文或发送给指定的路由器邻居来做到这一点。 “好久不见,近况如何” 为了能够观察到某台路由器突然失败(路由器本身故障或连接线路中断)这种异常情况,规定两台路由器之间的协议报文应该周期性地发送. Page 8

9 自治系统(AS) 由同一机构管理,使用同一组选路策略的路由器的集合。 Page 9
一个AS是一组共享相似的路由策略并在单一管理域中运行的路由器的集合。一个AS可以是一些运行单个IGP(内部网关协议)协议的路由器集合,也可以是一些运行不同路由选择协议但都属于同一个组织机构的路由器集合。不管是哪种情况,外部世界都将整个AS看作是一个实体。 每个自治系统都有一个唯一的自治系统编号,这个编号是由因特网授权的管理机构IANA分配的。它的基本思想就是希望通过不同的编号来区分不同的自治系统。这样,当网络管理员不希望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。例如,该网络管理员的网络完全可以访问某个自治系统,但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此,可能要回避它。通过采用路由协议和自治系统编号,路由器就可以确定彼此间的路径和路由信息的交换方法。 自治系统的编号范围是1到65535,其中1到65411是注册的因特网编号,65412到65535是专用网络编号。 Page 9

10 IGP&EGP RIP OSPF IS-IS 、、、 外部路由协议(EGP) 自治系统AS200 自治系统AS100 BGP
按照工作区域,路由协议可以分为IGP 和EGP: IGP(Interior gateway protocols)内部网关协议 在同一个自治系统内交换路由信息,RIP 和IS-IS 都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。 EGP(Exterior gateway protocols)外部网关协议 用于连接不同的自治系统,在不同的自治系统之间交换路由信息,主要使用路由策略和路由过滤等控制路由信息在自治域间的传播,应用的一个实例是BGP。 内部路由协议(IGP) RIP OSPF IS-IS 、、、 Page 10

11 按寻径算法划分 距离矢量算法 链路状态算法 RIP OSPF BGP IS-IS Page 11
按照路由的寻径算法和交换路由信息的方式,路由协议可以分为 距离矢量协议(Distant-Vector)和链路状态协议。距离矢量协议包括 RIP 和 BGP,链路状态协议包括 OSPF、IS-IS。 距离矢量路由协议基于贝尔曼-福特算法,使用D-V算法的路由器通常以一定的时间间隔向相邻的路由器发送他们完整的路由表。接收到路由表的邻居路由器将收到的路由表和自己的路由表进行比较,新的路由或到已知网络但开销(Metric)更小的路由都被加入到路由表中。相邻路由器然后再继续向外广播它自己的路由表(包括更新后的路由)。距离矢量路由器关心的是到目的网段的距离(Metric)和矢量(方向,从哪个接口转发数据)。在发送数据前,路由协议计算到目的网段的Metric;在收到邻居路由器通告的路由时,将学到的网段信息和收到此网段信息的接口关联起来,以后有数据要转发到这个网段就使用这个关联的接口。 距离矢量路由协议的优点:配置简单,占用较少的内存和CPU处理时间。缺点:扩展性较差,比如RIP最大跳数不能超过16 跳。 链路状态路由协议基于Dijkstra算法,有时被称为最短路径优先算法。L-S算法提供比RIP等D-V算法更大的扩展性和快速收敛性,但是它的算法耗费更多的路由器内存和处理能力。D-V算法关心网络中链路或接口的状态(up或down、IP地址、掩码),每个路由器将自己已知的链路状态向该区域的其他路由器通告,这些通告称为链路状态通告(LSA:Link State Advitisement)。通过这种方式区域内的每台路由器都建立了一个本区域的完整的链路状态数据库。然后路由器根据收集到的链路状态信息来创建它自己的网络拓朴图,形成一个到各个目的网段的带权有向图。 链路状态算法使用增量更新的机制,只有当链路的状态发生了变化时才发送路由更新信息,这种方式节省了相邻路由器之间的链路带宽。部分更新只包含改变了的链路状态信息,而不是整个的路由表。 Page 11

12 路由协议之间的互操作 每种路由协议只能发布和学习自己协议已知的路由
自己已知的路由是指在某个接口上运行了该种路由协议,或者在路由表中的本路由协议发现的路由。 如果需要知道其它的路由,需要进行引入( import-route )操作 最经常使用的是引入静态路由和直接路由。有时也需要引入其它路由协议的路由。 引入路由的含义是指:在本路由器的路由表中查询,如果发现要引入的路由(如static),则作为自己已知的路由发布出去。 为了在同一个互联网中支持多种路由协议,必须在这些不同的路由协议之间共享路由信息。例如从RIP学到的路由信息可能需要引入到OSPF协议中去。这种在不同路由协议中间交换路由信息的过程被称为路由引入。路由引入可以是单向的(例如将RIP引入OSPF),也可以是双向的(RIP和OSPF互相引入)。执行路由引入的路由器一般位于不同自治系统或者不同路由域的边界。 由于各路由协议的算法不同,不同的协议可能会发现不同的路由,因此各路由协议之间存在如何共享各自发现结果的问题。前面我们讲过,不同路由协议之间的花销不存在可比性,也不存在换算关系,所以在引入路由时必须重新设置引入路由的Metric值,或者使用系统默认的数值。VRP支持将一种路由协议发现的路由引入(import-route)到另一种路由协议中,每种协议都有相应的路由引入机制。 路由协议的相互引入实现了不同路由信息的共享,但同时也带来了一些问题。使用多种路由协议通常会导致网络管理复杂和额外开销增大。当路由器将从一个自治系统学到的路由信息再发送回同一自治系统,就有可能会产生路由环路。另外,由于各路由协议使用不同的度量值来决定最佳路由,所以利用引入的路由信息进行路径选择有可能会导致次最佳路由。一般情况下,应尽量避免重叠使用路由协议(同一个区域内既使用RIP,又使用OSPF),使用不同路由协议的网络之间要有明确的边界;如果有一台以上的路由器担任路由引入点,应只在一个方向上进行路由引入,以避免路由环路和因收敛时间不一致导致的问题。如果在一个路由域中只有一台边界路由器,可以使用双向引入。 Page 12

13 衡量路由协议的一些性能指标 正确性 能够正确找到最优的路由,且无自环。 快收敛 当网络的拓朴结构发生变化之后,能够迅速在
自治系统中作相应的路由改变。 低开销 协议自身的开销(内存、CPU、网络带宽)最小。 安全性 协议自身不易受攻击,有安全机制。 普适性 适应各种拓朴结构和规模的网络。 Page 13

14 现有路由协议的性能比较 BGP 综合性能 OSPF IS-IS RIP2 RIP1 有路由环路问题 无路由环路问题 Page 14

15 内容介绍 第一章 动态路由协议概述 第二章 距离矢量路由协议概述 第三章 RIP路由协议 Page 15

16 距离矢量算法 A B D C 路由信息 其它信息 Routing Table ------ Routing Table
距离矢量(DISTANCE-VECTOR,简称D-V)算法(也称BELLMAN-FORD 算法)周期性地将路由表信息的拷贝在路由器之间传送。当网络拓扑变化时,也会将更新信息及时传送给路由器。每一个路由器只能接收到网络中相邻路由器的路由表,就如图所示,路由器B接收到相邻路由器A的信息,通过增加一个距离矢量数(例如一个跳数)来增大距离矢量,然后将更新的路由表信息传送给相邻路由器C。这种逐步过程发生在相邻路由器之间。 距离矢量算法的数学模型如下: 我们用D(i,j)来表示从实体i到j的最佳路由的Metric,i、j可以是系统中的任意一对实体,用d(i,j)来表示单个跳数的花费,也就是从i直接到j的花费,如果i与j不是直接相邻的,则d(i,j)为无穷大。这样任意两个实体间的最佳Metric可以表示如下: D(i,j)= 对所有的i D(i,j)=min [ D(i,j)+d(i,k)] i不等于k时 由于我们把非相邻两实体间的d(i,j)定义为无穷大,当表达式中k不是i的相邻主机或路由器时,D(i,j)永远不可能为最小,故我们也可以把k限定为与i相邻。由此我们可以得出一个基于这个数学模型的计算Metric的简单算法:实体i接收它的邻居们k发送给它的到目标主机j的距离评价,并加上d(i,j),在这里是通过i,k之间网络所需的cost 值,接下来i比较来自所需邻居的信息,并选择其中最小的。可以证明,在拓扑结构不变的情况下该算法在有限时间内收敛于正确的D(i,j)。 距离矢量算法通过上述方法累加网络距离,并维护网络拓扑信息数据库。使用这种算法,路由器并不能知道整个网络的确切拓扑结构。 某种程度上,距离矢量信息类似十字路口上指向目的地的路标,沿着路标的指向前进,在下一个十字路口,会再看到一个路标,但在这个路标处,距离目的地就近了一些。只要路径中每下一个路标都能表示到目的地距离的缩短,则这个路径为最优的。 Routing Table 路由信息 ------ 其它信息 Page 16

17 距离矢量协议路由发现 Routing Table 目标网络 下一跳 N1 R3 N2 R4 N3 R5 Routing Table 目标网络
路由交换 Routing Table 目标网络 下一跳 N1 R1 N2 N3 N4 R6 Routing Table 目标网络 下一跳 N1 R3 N2 R4 N3 R5 N4 R2 R1 R2 距离矢量协议直接传送各自的路由表信息。网络中的路由器从自己的邻居路由器得到路由信息,并将这些路由信息连同自己的本地路由信息发送给其他邻居,这样一级级的传递下去以达到全网同步。每个路由器都不了解整个网络拓扑,它们只知道与自己直接相连的网络情况,并根据从邻居得到的路由信息更新自己的路由表。 距离矢量协议无论是实现还是管理都比较简单,但是它的收敛速度慢,报文量大,占用较多网络开销,并且为避免路由环路需要做各种特殊处理。 Page 17

18 距离矢量协议拓朴变化 向路由器A传送更新的路由表 A 拓朴变化引起路由表的更新 B 更新路由表 更新路由表 Page 18
距离矢量算法要求每个路由器将自己的路由表传送给相邻的路由器。当路由器接收到更新的路由信息时,首先将更新的信息与原有的路由表中的信息相比较,遇到下述情况之一时,须修改本地路由表(假设RouterA收到RouterB的D-V报文)以反映最新的网络变化: ⑴ RouterB的路由表中列出的某表项RouterA的路由表中没有,则RouterA的路由表中须增加相应表项,其目标网络为RouterB路由表中的目标网络,其路径开销为RouterB表项中的路径开销加1(假设以跳数计算路径开销),其下一跳为RouterB; ⑵ RouterB的路由表中去往某目标网络的路径开销比RouterA的路由表中去往该目标网络的路径开销减1还小,这说明去往该目标网络若经过RouterB路径开销会更小,则RouterA修改本表项,将下一跳改为RouterB,路径开销为RouterB中的路径开销加1; ⑶ RouterA的路由表中去往某目标网络的下一跳为RouterB,而RouterB的路由表中去往该目标网络的路径开销发生了变化,则RouterA中相应表项的路径开销须修改,以RouterB的更新后的路径开销加1取代原来的路径开销; ⑷ RouterA的路由表中去往某目标网络的下一跳为RouterB,而RouterB的路由表中不再包含去往该目标网络的路径,则RouterA的路由表中相应路径应删除。 Page 18

19 路由环路 B E0 S0 S0 S1 A C S0 E0 11.1.0.0 Routing Table 目标网络 接口 花费
S0 s1 s0 3 1 E0 Routing Table 目标网络 接口 花费 E0 S0 1 4 S0 S0 S1 A C S0 E0 Routing Table 目标网络 接口 花费 s0 2 1 由于网络故障可能会引起路径与实际网络拓扑结构不一致而导致网络不能快速收敛,这时,可能会发生路由环路现象。图中用一个简单的网络结构来说明路由环路的产生。 如上图所示,如果网络 故障,就可能会在路由器之间产生路由环路,下面是产生路由环路的步骤: 在网络 发生故障之前,所有的路由器都具有正确一致的路由表,网络是收敛的。在本例中,路径开销用跳数来计算,所以,每条链路的开销是1。路由器C与网络 直连,跳数为0。路由器B经过路由器C 到达网络 ,跳数为1。路由器A 经过路由器B到达网络 ,跳数为2。 当网络 发生故障,路由器C 最先收到故障信息,路由器C 把网络 设为不可达,并等待更新周期到来通告这一路由变化给相邻路由器。如果,路由器B的路由更新周期在路由器C之前到来,那么路由器C就会从路由器B那里学习到去往 的新路由(实际上,这一路由已经是错误路由了)。这样路由器C的路由表中就记录了一条错误路由(经过路由器B,可去往网络 ,跳数增加到2 )。 路由器C 学习了一条错误信息后,它会把这样的路由信息再次通告给路由器B,根据通告原则,路由器B也会更新这样一条错误路由信息,认为可以通过路由器A 去往网络 ,跳数增加到3 。 这样,路由器 B 认为 可以通过路由器C 去往网络 ,路由器C 认为 可以通过路由器B 去往网络 ,就形成了环路。 Page 19

20 定义一个最大值 B E0 S0 S0 S1 A C S0 E0 如果“花费”为16,则认为该路由不可达。 Routing Table
B Routing Table 目标网络 接口 花费 E0 S0 1 16 E0 Routing Table 目标网络 接口 花费 S0 s1 s0 16 1 S0 S0 S1 A C S0 E0 Routing Table 目标网络 接口 花费 s0 16 1 2 如上所述,发生路由环路时,路由器去往网络 的跳数会不断的增大,网络无法收敛。为解决这个问题,我们给跳数定义一个最大值,在RIP 路由协议中,允许跳数最大值为16。在图中,当跳数到达最大值时,网络 被认为是不可达的。路由器会在路由表中显示网络不可达信息,并不再更新到达网络 的路由。 通过定义最大值,距离矢量路由协议可以解决发生环路时路由权值无限增大的问题,同时也校正了错误的路由信息。但是,在最大权值到达之前,路由环路还是会存在。也就是说,以上解决方案只是补救措施,不能避免环路产生,只能减轻路由环路产生的危害。路由协议的设计者们又提供了诸如水平分割、触发更新等多种避免环路产生几率的方案。 如果“花费”为16,则认为该路由不可达。 Page 20

21 方案一:水平分割 Not sent to A E0 B S0 S0 A S1 C S0 E0 Not sent to B
Routing Table 目标网络 接口 花费 E0 S0 1 2 E0 B Routing Table 目标网络 接口 花费 S0 s1 s0 1 S0 S0 A S1 C S0 E0 Routing Table 目标网络 接口 花费 s0 1 2 Not sent to B 水平分割是在距离矢量路由协议中最常用的避免环路发生的解决方案之一。分析产生路由环路的原因,其中一条就是因为路由器将从某个邻居学到的路由信息又告诉了这个邻居。水平分割的思想就是在路由信息传送过程中,不再把路由信息发送给接收此路由信息的接口上。如上图所示: 路由器C 告诉路由器B 去往网络 的路由,路由器B会把此路由信息传递给路由器A。同时,也会再传回给路由器C。网络 没有崩溃时,路由器C不会接受路由器B传递来的去往网络 的路由信息。因为,路由器C有花费更小的路由。 如果路由器C到达网络 的路由崩溃了,路由器C就会接受路由器B传递来的去往网络 的路由信息,尽管这条路由信息已经是错误路由了(因为随着路由器C去往网络 的路由崩溃,路由器B从路由器C学到的去往网络 路由也就错误了)。但是路由器C 并不知道这一点。 这样,路由器B 认为 可以通过路由器C 去往网络 ,路由器C 认为 可以通过路由器B 去往网络 ,就形成了环路。 水平分割方法就是解决这样问题的,水平分割不允许路由器将路由更新信息再次传回到传出该路由信息的端口。上图中,路由器B从路由器C那里学习到了去往网络 的路由。水平分割规定:路由器B不再把去往网络 的路由信息传回给路由器C,从而在一定程度上避免了环路的产生。 Not sent to C Not sent to A Not sent to B Page 21

22 方案二:路由中毒和抑制时间 抑制时间后更新 抑制时间后更新 B E0 S0 S0 S1 A C S0 E0 到达11.4.0.0的网络断了
B 抑制时间后更新 E0 抑制时间后更新 S0 S0 S1 A C S0 E0 到达 的网络断了 路由中毒和抑制时间结合起来,也可以在一定程度上避免路由环路产生,同时也可以抑制因复位接口等原因,引起的网络动荡。这种方法在网络故障或接口复位时,使相应路由中毒,同时启动抑制时间,控制 路由器在抑制时间内不要轻易更新自己的路由表。从而,避免环路产生、抑制网络动荡。 如上图所示: 当网络 发生故障时,路由器C 使自己路由表中的此路由项中毒,也就是在路由表中使到达网络 的路径开销是无穷大(也就是不可达),同时启动抑制时间,在抑制时间结束之前的任何时刻,如果从同一相邻路由器(或同一方向)又接收到此路由可达的更新信息时,路由器就将网络标识为可达,并删除抑制时间。 如果接收到其他的相邻路由器的更新信息,且新的权值比以前的权值好,则路由器就将更新路由表,接受这一更优的路由,并删除抑制时间。 在抑制时间结束之前的任何时刻,如果从其他的相邻路由器接收到路径可用的更新信息时,但新的权值没有以前的权值好,则不接收此更新路由。如果在抑制时间过后,路由器仍能收到该更新路由信息,则路由器将更新路由表。 Page 22

23 方案三:触发更新 到达11.4.0.0的网络断了 到达11.4.0.0的网络断了 B E0 S0 S0 S1 A C S0 E0
B E0 S0 S0 S1 A C S0 E0 如图,网络 不可达了,路由器C最先得到这一信息。通常,更新路由信息会定时发送给相邻路由器。例如,RIP 协议每隔30秒发送一次。但如果在路由器C 等待更新周期到来的时候,路由器B的更新报文传到了路由器C,路由器C 就会学到路由器B的去往网络 的错误路由。这样就会形成路由环路。如果路由器C 发现网络故障之后,不再等待更新周期到来,就立即发送路由更新信息,则可以避免产生上述问题。这就是触发更新机制。 触发更新机制是在路由信息产生某些改变时,立即发送给相邻路由器一种称为触发更新的信息。路由器检测到网络拓扑变化,立即依次发送触发更新信息给相邻路由器,如果每个路由器都这样做,这个更新会很快传播到整个网络。 在图中,路由器C立即通告网络 不可达信息,路由器B接收到这个信息,就从S0口发出网络 不可达信息,依次路由器A从E0口通告此信息。 从上述叙述可以看出,使用触发更新方法能够在一定程度上避免路由环路发生。但是,仍然存在两个问题: 包含有更新信息的数据包可能会被丢掉或损坏。 如果触发更新信息还没有来得及发送,路由器就接收到相邻路由器的周期性路由更新信息,使路由器更新了错误的路由信息。 为解决以上的问题,我们将抑制时间和触发更新相结合,就可以解决上述问题。抑制时间方法有一个规则就是,当到某一目的网络的路径出现故障,在一定时间内,路由器不轻易接收到这一目的网络的路径信息。因此,将抑制时间和触发更新相结合就可以确保了触发信息有足够的时间在网络中传播。 到达 的网络断了 Page 23

24 在多路径情况下的解决方案    设定抑制时间 发送触发更新信息 D C E B A Page 24 11.4.0.0
Routing Table E0 Infinity A 在下面的例子中,路由器之间有多条路径到达对方,图中,路由器A,D,E都有两条路径到达网络 。 当网络 发生故障时,会有下面的情形发生; ⑴ 路由中毒——当路由器B检测到网络 故障时,路由器B使所有连接该网络的路径中毒,使到此网络的跳数为最大数值。 ⑵ 设定抑制时间——一旦路由器B使连接网络 的路径中毒,则它会设定一个抑制时间。 ⑶ 发送触发更新信息——路由器B向路由器A、D发送触发更新信息,指出网络 故障。新的路由信息在其它网络间传输,使得其余路由器再重复步骤2、3。路由器A、D接收到触发更新信息以后,在抑制时间内禁止更新路径信息。接下来,路由器A和D再向路由器E发送网络 故障的触发更新信息。 路由器E接收到触发更新信息后,设定自己的抑制时间,一直处于等待状态,直到出现下面的情形: 抑制时间结束。出现这种情况,路由器E确定网络 不可达。 接收到网络状态改变的信息。出现这种情况,路由器E更新路由表。 接收到具有更好权值的路径更新信息。出现这种情况,路由器E更新路由表。 设定抑制时间 发送触发更新信息 Page 24

25 内容介绍 第一章 动态路由协议概述 第二章 距离矢量路由协议概述 第三章 RIP路由协议 Page 25

26 RIP协议概述 (一) RIP是Routing Information Protocol(路由信息协议)的简称。
RIP协议适用于中小型网络,有RIP-1和RIP-2。 RIP-2使用组播( )发送,支持验证和VLSM。 RIP支持:水平分割、路由中毒和触发更新。 RIP是Routing Information Protocol (路由信息协议)的简称。它是一种相对简单的动态路由协议,但在实际使用中有着广泛的应用。RIP是一种基于D-V算法的路由协议,它通过UDP交换路由信息,每隔30秒向外发送一次更新报文。如果路由器经过180秒没有收到来自对端的路由更新报文,则将所有来自此路由器的路由信息标志为不可达,若在其后120 秒内仍未收到更新报文,就将该条路由从路由表中删除。 RIP 使用跳数(Hop Count)来衡量到达目的网络的距离,称为路由权(Routing Metric)。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定metric取值0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。 为提高性能,防止产生路由环路,RIP支持水平分割(Split Horizon)与路由中毒(Poison Reverse),并在路由中毒时采用触发更新(Triggered Update)。另外,RIP协议还允许引入其它路由协议所得到的路由。 RIP包括RIP-1和RIP-2两个版本,RIP-1 不支持变长子网掩码(VLSM),RIP-2 支持变长子网掩码(VLSM),同时RIP-2支持明文认证和 MD5 密文认证。 RIP-1使用广播发送报文,RIP-2有两种传送方式:广播方式和组播方式,缺省将采用组播发送报文,RIP-2的组播地址为 。组播发送报文的好处是在同一网络中那些没有运行RIP的网段可以避免接收RIP的广播报文;另外,组播发送报文还可以使运行RIP-1的网段避免错误地接收和处理RIP-2中带有子网掩码的路由。 Page 26

27 RIP协议概述(二) RIP TCP UDP IP PPP Ether Page 27
RIP协议是最早使用的IGP之一,RIP协议被设计用于使用同种技术的中小型网络,因此适应于大多数的校园网和使用速率变化不是很大的区域性网络。对于更复杂的环境,一般不使用RIP协议。 在实现时,RIP作为一个系统长驻进程存在于路由器中,它负责从网络中的其它路由器接收路由信息,从而对本地IP层路由表作动态的维护,保证IP层发送报文时选择正确的路由,同时广播本路由器的路由信息,通知相邻路由器作相应的修改。 RIP协议处于UDP协议的上层,RIP所接收的路由信息都封装在UDP的数据报中,RIP 在520号端口上接收来自远程路由器的路由修改信息,并对本地的路由表做相应的修改,同时通知其它路由器。通过这种方式,达到全局路由的同步。 Page 27

28 RIP路由表的初始化 NET1 NET2 R1 R2 Response Request Page 28
初始化路由表 ---- 初始化路由表 ---- NET1 NET2 R1 R2 RIP 启动时的初始路由表仅包含本路由器的一些直连接口路由。 RIP 协议启动后向各接口广播一个 Request 报 文。 邻居路由器的 RIP 协议从某接口收到 Request 报文后,根据自己的路由表,形成 Response 报文向该接口对应的网络广播。 RIP 接收邻居路由器回复的包含邻居路由器路由表的Response 报文,形成自己的路由表。 RIP根据D-V算法的特点,将协议的参加者分为主动机和被动机两种。主动机主动向外广播路由刷新报文,被动机被动地接收路由刷新报文。一般情况下,主机作为被动机,路由器则既是主动机又是被动机,即在向外广播路由刷新报文的同时,接收来自其它主动机的D-V报文,并进行路由刷新。 Response Request Page 28

29 RIP路由表的更新 B A A B Response Response 路由更新 Page 29 Routing Table 目标网络
下一跳 N1 C N2 D N3 E Routing Table 目标网络 下一跳 N4 F B A 路由更新 Routing Table 目标网络 下一跳 N1 A N2 N3 N4 F Routing Table 目标网络 下一跳 N1 C N2 D N3 E N4 B RIP 协议以 30 秒为周期用 Response 报文广播自己的路由表。 收到邻居发送而来的 Response 报文后,RIP 协议计算报文中的路由项的度量值,比较其与本地路由表路由项度量值的差别,更新自己的路由表。 报文中路由项度量值的计算: metric' = MIN(metric + cost, 16),metric 为报文中携带的度量值信息,cost 为接收报文的网络的度量值开销,缺省为 1(1 跳),16 代表不可达。 RIP 路由表的更新原则: 对本路由表中已有的路由项,当发送报文的网关相同时,不论度量值增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零); 对本路由表中已有的路由项,当发送报文的网关不同时,只在度量值减少时,更新该路由项; 对本路由表中不存在的路由项,在度量值小于不可达(16)时,在路由表中增加该路由项; 路由表中的每一路由项都对应一老化定时器,当路由项在 180 秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达(16)。 某路由项的度量值变为不可达后,以该度量值在 Response 报文中发布四次(120 秒),之后从路由表中清除。 A B Page 29

30 RIP协议配置命令 启动RIP协议,进入RIP协议配置视图 [Quidway]rip 在指定的网络上使能RIP
[Quidway-rip]network { network-number|all } 配置报文的定点传送(不支持广播时) [Quidway-rip]peer IP-address 指定接口版本(接口模式下) rip version 1 rip version 2[bcast|mcast] 在各项配置任务中,必须先启动RIP、使能RIP网络后,才能配置其它的功能特性。而配置与接口相关的功能特性不受RIP是否使能的限制。需要注意的是,在关闭RIP后,原来的接口参数也同时失效。 在全局配置模式下用rip 命令启动 RIP 协议并进入 RIP 协议配置模式。 RIP任务启动后还必须指定其工作网段,RIP只在指定网段上的接口工作;对于不在指定网段上的接口,RIP既不在它上面接收和发送路由,也不将它的接口路由转发出去,就好象这个接口不存在一样。 network-number 为使能或不使能的网络的地址,可为各个接口IP网络的地址。当对某一地址使用命令Network 时,效果是使能该地址的网段的接口。例如:network ,用display current-configuration 和display rip命令看到的均是network 。 RIP是一个广播发送报文的协议,为了与非广播网络交换路由信息,就必须采用定点传送的方式。 通常的情况下,我们不建议用户使用该命令,因为对端并不需要一次收到两份相同的报文。需要要注意的是:neighbor在发送报文时也要受 rip work 、rip output 、rip input 和network 等的限制。 可指定接口所处理RIP报文的版本。 需要注意的是:RIP-1采用广播形式发送报文; RIP-2有两种传送方式,广播方式和多播方式,缺省将采用多播发送报文。 RIP-2中多播地址为 。多播发送报文的好处是在同一网络中那些未运行RIP的主机可以避免接收RIP的广播报文。另外,多播发送报文还可以使运行RIP-1的主机避免错误地接收和处理RIP-2中带有子网掩码的路由。 当接口运行RIP-1时,只接收与发送RIP-1与RIP-2广播报文,不接收RIP-2多播报文。当接口运行在RIP-2 广播方式时,只接收与发送RIP-1与RIP-2广播报文,不接收RIP-2多播报文; 当接口运行在RIP-2多播方式时,只接收和发送RIP-2多播报文;不接收RIP-1与RIP-2 广播报文。 缺省情况下,接口运行RIP-1报文,即只能接收与发送RIP-1报文。 Page 30

31 RIP协议配置命令(续) 指定接口的工作状态(接口模式下) rip work rip input rip output
auto-summary 配置RIP-2报文的认证(接口模式下) rip authentication-mode simple password rip authentication-mode md5 key-string string rip authentication-mode md5 type[nonstandard-compatible|usual] 可指定RIP在接口上的工作状态,如接口上是否运行RIP,即是否在接口发送和接收RIP刷新报文;还可单独指定接口是否发送或者接收更新报文。 在缺省情况下,一个接口既可接收RIP更新报文,也可发送RIP更新报文。 undo rip work 命令的功能与no network命令功能相近,但它们并不完全相同。相同点在于,使用任一命令的接口都不再收发RIP路由;区别在于: 在undo rip work情况下,其它接口对使用该命令的接口的路由仍然转发,而在undo network的情况下,其它接口对使用该命令的接口的路由不再转发,见到的效果就象少了一个接口。 另外, rip work 从功能上等价于rip input 与rip output 两个命令。 路由聚合是指:同一自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一条自然掩码的路由发送。路由聚合减少了路由表中的 路由信息量,也减少了路由交换的信息量。 RIP-1只发送自然掩码的路由,即总是以路由聚合形式向外发送路由,关闭路由聚合对RIP-1将不起作用。RIP-2支持无类别路由,当需要将子网的路由广播出去时,可关闭RIP-2 的路由聚合功能。 缺省情况下,允许RIP-2进行路由聚合。 RIP-1不支持报文认证,但当接口运行RIP-2时, 可进行报文的认证。 RIP-2支持两种认证方式:明文认证Simple 和 MD5 密文认证。MD5 密文认证的报文格式有两种:一种遵循 RFC1723(RIP Version 2 Carrying Additional Information)规定;另一种遵循 RFC2083(RIP-2 MD5 Authentication)规定。Cisco-compatible 路由器只支持后一种格式,Quidway 系列路由器对两种格式的MD5认证报文都提供支持。 明文认证不能提供安全保障,未经加密的认证字将随报文一同传送,所以明文认证不能用于安全性要求较高的情况。 缺省的情况下,接口采用MD5 认证,若未指定MD5认证报文格式的类型,将采用后一种报文格式类型(usual)。 Page 31

32 RIP协议配置举例 PPP FR E0: 12.1.1.1/24 S0: 1.1.1.2/24 S1: 2.1.1.2/24 RTC
RTA RTB 如胶片所示,RTA和RTB之间链路层封装PPP协议,RTB和RTC之间链路层封装FR协议,所有路由器启动RIP路由协议。RTA 和RTB之间做MD5 验证。主要配置如下: RTA: [RTA] rip [RTA-rip] network all [RTA-Ethernet0]rip version 2 broadcast [RTA-Serial0]rip version 2 broadcast [RTA-Serial0]rip authentication-mode md5 key-string quidway // MD5 RTB: [RTB] rip [RTB-rip] network all [RTB-rip] peer // 配置报文指定发送 [RTB-Ethernet0]rip version 2 broadcast [RTB-Serial0]rip version 2 broadcast [RTB-Serial0]rip authentication-mode md5 key-string quidway // MD5 [RTB-Serial1]rip version 2 broadcast [RTB-Serial1]link-protocol fr RTC: [RTC] fr switching // 使能帧中继交换 [RTC] rip [RTC-rip] network all [RTC-rip] peer [RTC-Serial1]rip version 2 broadcast [RTC-Serial1]link-protocol fr [RTC-Serial1] fr interface-type DCE // 封装帧中继接口类型 [RTC-Serial1] fr dlci // 分配DLCI E0: /24 E0: /24 Page 32

33 显示RIP协议配置信息 [Quidway]display rip RIP is turning on
checkzero is on default-metric : 16 no peer network : auto-summary is on preference : 100 用display rip显示当前 RIP 协议的运行状态: RIP is turning on checkzero is on default-metric : 16 // 校验和开关打开,缺省路由权为 16; no peer // 没有指定定点传送地址; network : // 在 与 网段上使用RIP 协议; summary is on preference : //自动聚合路由,RIP 路由的preference 为 100; Page 33

34 RIP协议的debug信息 [Quidway] debugging rip packet
Rip packet debugging is on [Quidway] info-center console RIP : receive Response from packet : vers 1,cmd Response,length 24 dest , Metric 1 RIP : send to packet : vers 1,cmd Response,length 44 dest , Metric 2 dest , Metric 1 使用debugging rip packet 打开 RIP 协议的调试开关,同时用 info-center console 输出调试信息: RIP : receive Response from (serial0) packet : vers 1,cmd Response,length 24 dest , Metric 1 路由器从 收到一个Response 报文,包含信息:版本号、报文长度,报文的主体是一条路由信息:目标地址(dest)是 , 度量值( Metric)是 1 。 RIP : send to packet : vers 1,cmd Response,length 44 dest , Metric 2 dest , Metric 1 路由器发送一个Response 报文,包含信息:版本号、报文长度,报文的主体是两条路由信息:dest , Metric 2 和dest , Metric 1。 Page 34

35 问题 动态路由协议是做甚么的?如何做到这一点的? 路由协议可以分为哪几类?划分的标准是甚么? 甚么是自治系统(AS)?
距离矢量路由协议路由发现机制?怎样应对网络拓扑变化? 避免环路的方法? RIP路由表如何初始化? Page 35

36


Download ppt "DP500002 动态路由协议与RIP协议原理 ISSUE 1.0."

Similar presentations


Ads by Google