因特网的路由选择协议
有关路由选择协议的几个基本概念
关于“最佳路由”
- 不存在一种绝对的最佳路由算法。
- 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
- 实际的路由选择算法,应尽可能接近于理想的算法。
- 路由选择是个非常复杂的问题
- 它是网络中的所有结点共同协调工作的结果。
- 路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。
从路由算法的自适应性考虑
- 静态路由选择策略——即非自适应路由选择,需要手动添加路由表,其特点是简单和开销较小,但不能及时适应网络状态的变化。
- 动态路由选择策略——即自适应路由选择,不需要手动添加路由表,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。
分层次的路由选择协议
- 因特网采用分层次的路由选择协议。
- 因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。
自治系统 AS(Autonomous System)
- 自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
- 现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
因特网有两大类路由选择协议
- 内部网关协议 IGP (Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
- 外部网关协议EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。
自治系统之间的路由选择也叫做:域间路由选择(interdomain routing);
在自治系统内部的路由选择叫做:域内路由选择(intradomain routing) 。
内部网关协议 RIP(Routing Information Protocol)
特点
- 路由信息协议 RIP 是内部网关协议属于动态路由协议, 内部网关协议(IGP)中最早得到广泛使用的协议(开放非标准协议)。
- RIP 是一种分布式的基于距离向量的路由选择协议。
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- 按固定的时间间隔交换路由信息(周期性广播),例如,每隔 30 秒。
- RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
“距离”的定义
- 从一路由器到直接连接的网络的距离定义为 1。
- 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
- RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。
- 这里的“距离”实际上指的是“最短距离”。
- RIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”。
- RIP 允许一条路径最多只能包含 15 个路由器。
- “距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。
- RIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。
简化过程举例
网段2的PC1与网段1的PC0通信。
数据包传输到路由器A处,下一跳可以是D,A就告诉D我连着1网段,然后D就记住了到1网段下一跳给A就行,并且经过1个路由器;
再下一跳是E,D就告诉E我连着1网段,然后E记住了到1网段下一跳给D就行,并且经过2个路由器。
再下一跳是F,E就告诉F我连着1网段,然后F记住了到1网段下一跳给E就行,并且经过3个路由器。
再下一跳是C,F就告诉C我连着1网段,然后C记住了到1网段下一跳给F就行,并且经过4个路由器。最后数据包到达PC1。
在A处下一跳也可以是B,以此类推只经过了2个路由器。目前为止C学到了从2网段到1网段有两条路径,分别需要经过2个或4个路由器,最后A保留C->B->A这条最佳路径。
假如3处断了,B就不能周期性地告诉C到网段1怎么走了,于是经过4个路由器的路线C->F->E->D->A成为可用的主路径;当3处重新连接,C就会重新使用C->B->A这一路径。这就是动态路由协议的好处,不用手动添加路由表,路由器会自动根据网络变化动态选择最佳路径(由)。
为什么需要周期性广播?
如图:如果仅广播一次,A告诉B到网段1给我就行,之后A宕机了,B却不知道仍然把从C来的到网段1的数据包传给A,造成错误;如果周期性广播B每30s呼叫一次A,多次呼叫A都无回复,B就认为A去世了并告诉C以后到网段1别走这条路了。
周期性广播交换路由信息确保了能够根据设备故障造成的网络变化来动态更新最佳路由。
来源:https://www.cnblogs.com/AhuntSun-blog/p/12230811.html