单选题 在距离矢量路由协议中,防止路由循环的方法通常有以下三种:________。
【正确答案】 B
【答案解析】 距离矢量法算法要求相邻的路由器之间周期性地交换路由表,并通过逐步交换把路由信息扩散到网络中所有的路由器。这种逐步交换过程如果不加以限制,将会形成路由环路(Routing Loops),使得各个路由器无法就网络的可到达性取得一致。 例如在下图中,路由器R1、R2、R3的路由表已经收敛,每个路由表的后两项是通过交换路由信息学习到的。如果在某一时刻,网络10.4.0.0发生故障,R3检测到故障,并通过接口S0把故障通知R2。然而,如果R2在收到R3的故障通知前将其路由表发送到R3,则R3会认为通过搬可以访问10.4.0.0,并据此将路由表中第二条记录修改为(10.4.0.0,S0,2)。这样一来,路由器R1、R2、R3都认为通过其他的路由器存在一条通往10.4.0.0的路径,结果导致目标地址为10.4.0.0的数据包在三个路由器之间来回传递,从而形成路由环路,直到路由度量达到最大值才能发现网络故障。 解决路由环路问题可以采用水平分割法(Split Horizon)。这种方法规定,路由器必须有选择地将路由表中的信息发送给邻居,而不是发送整个路由表。具体地说,一条路由信息不会被发送给该信息的来源。可以对上图中R2的路由表项将加上一些注释,这样,每一条路由信息都不会通过其来源接口向回发送,就可以避免环路的产生。