刘向东, 寇清华, 张晓蕊, 王德高
(大连民族学院 a.非线性信息技术研究所; b.图书馆,辽宁 大连 116600)
RIP协议分析及其实验的设计与实现
刘向东a, 寇清华b, 张晓蕊a, 王德高a
(大连民族学院 a.非线性信息技术研究所; b.图书馆,辽宁 大连 116600)
介绍了RIP协议的原理以及工作过程,通过设计具体的实验方案,结合协议分析软件捕获RIP报文,具体地验证了RIP协议的工作原理与工作过程,展示了RIP的慢收敛问题,并通过配置水平分割或毒化路由等特性,演示了其对RIP慢收敛起到的关键作用,以加深学生对RIP协议与路由技术的理解.
RIP协议;协议分析;水平分割;慢收敛
路由技术是因特网体系结构的基础,而动态路由协议又是网络互联的一项重要的关键技术。动态路由协议在实际组网中应用十分广泛。也正因为如此,使得路由协议成为网络工程专业学生必需深入理解并掌握的一个重要内容。
在众多的路由协议当中,路由信息协议(Routing Information Protocol,RIP)是一种简单的、采用距离-矢量(Distance-Vector,DV)算法的域内动态路由协议[1-3],非常适合作为实验内容,以加深学生对路由协议的理解。RIP协议是XEROX的Palo Alto研究中心(PARC)在XEROX的早期PDU和XNC路由选择协议的基础上开发的,但RIP协议的广泛应用却主要得益于加利福尼亚大学伯克利分校的routed程序实现,并将其和4BSD UNIX系统一起分发[2]。RIP主要应用于使用同种技术的中小型网络。对于更复杂的网络环境,RIP受到无限计算问题的困扰,往往收敛得很慢,一般使用不多。
在计算机网络原理课程中,关于动态路由协议的内容普遍不多[4-7],很多技术细节都鲜有介绍。在组网技术、网络管理等课程中有关RIP的实验主要是配置RIP[8-11],对加深学生理解RIP与路由协议工作原理的作用不大。本文设计的RIP原理实验基于协议分析的方法,通过观察RIP报文的传递与V-D报文的具体内容,直观展现RIP的工作原理与工作过程,使学生可以深入理解RIP与路由协议的工作原理,更好地体会其存在的无穷计算问题,领悟水平分割与毒化路由的设计想法,并通过实验提高其分析问题和解决问题的能力。
1.1 矢量-距离算法
RIP基于D-V基本思想是:路由器刚启动时仅知道自己直连的网段。每个路由器周期性地向外广播自己的V-D报文,主要内容是由若干(V,D)序偶组成的序偶表;序偶中的“向量”V标识路由器可到达的信宿,“距离”D指出该路由器去往信宿V的距离,按需转发的路由器的个数计。其他路由器收到某路由器的(V,D)报文后,据此按照最短路径原则对各自的路由表进行刷新。
路由表更新的原则如下:
(1) 如果(V,D)报文通告的是一个新的信宿,即原来自己的路由表中没有到信宿V的路由,路由器须增加相应新的到信宿V的表目到自己的路由表,其“距离”为D + 1,下一跳为发送该(V,D)报文的路由器;
(2) 如果(V,D)报文通告的不是一个新的信宿,但其去往该信宿的距离较自己现在的好,即比自己去往该信宿的距离减1还小,路由器须更新该信宿表目,其“距离”为D+1,下一跳为发送该(V,D)报文的路由器;
(3) 如果(V,D)报文通告的既不是一个新的信宿,其去往该信宿的距离也不比自己现在的好,但却是自己原来对应表项中的下一跳路由器,即自己去往该信宿的路由是从该路由器学习来的,路由器也须更新该信宿表目,其“距离”为D + 1,下一跳仍为发送该(V,D)报文的路由器;
(4) 其他情形不进行路由表更新。
1.2 RIP报文的格式
RIP报文封装在UDP报文中,使用UDP的520号周知端口[12]. 受UDP报文的长度的限制,RIP报文不能超过512B。RIP有2个版本,RIP v1和RIP v2的报文格式稍有不同。不包含认证项的RIP v2报文格式如图1所示[13-14]。而RIP v1的报文格式与RIP v2很类似,只是图中黄色字段必须为全0。
图1 RIP v2报文格式
在RIP报文中,命令字段的正式值有1和2,分别标识一个请求报文和一个响应报文。版本字段的值的范围是从1到2,分别标识RIP v1和RIP v2。路由选择域指明与该报文相关的路由选择守护进程的标识符. 在UNIX系统中,该字段是一个进程的标识符。一台机器通过使用路由选择域,可以同时运行多个RIP。但现在的标准建议不用,所以总是为全0。后面是1~25个可变数目的20B的V-D信息. 每个V-D信息包含:
地址族标识字段,对于IP地址,该字段的值为2。
路由标记(Routing tag)为外部路由标记,是为了支持外部网关协议而设计的。它携带着一个自治系统号,是表示路由是保留还是重播的属性. 它提供一种从外部路由中分离内部路由的方法,用于传播从外部路由器协议获得的路由信息。
网络地址和子网掩码字段,标识目的网络的IP地址与掩码。
下一跳地址,如果该字段为0,则表明分组应当发送到正在发送该RIP报文的路由器,否则,该字段包含一个IP地址,指明应将分组发往何处。
距离字段,标识到达目的网络的跳数。
从报文中我们可以看出,RIP v1是有类路由协议,不支持无类域间路由CIDR和变长子网掩码VLSM,因为它的V-D信息没有包含所必须的子网信息-子网掩码。RIP v2是无类路由协议,支持无类域间路由和变长子网掩码,这也是RIP v2对RIP v1有意义的改进。
1.3 RIP协议存在的问题和解决的方法
RIP使用D-V算法. D-V算法的优点是简单、易于实现,但是存在一个问题:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器[13,14]。因为某路由器的路径变化像波动一样从相邻路由器传播出去,其过程非常缓慢。且D-V算法路径刷新过程中,可能出现路径不一致和寻径回路等问题,即所谓的“慢收敛”(Slow convergence)与“计数到无穷”(Count to infinity)问题。所以,RIP不适应路径剧烈变化的或大型的网间网环境。
为防止寻径回路的长期存在,RIP规定,长度为16的路径为无限长路径,即不存在路径。同时,引入水平分割(Split horizon)、毒性逆转(Poison Reverse)和触发更新(Triggered update)等技术减少出现寻径回路的可能性。水平分割的原理是:当路由器从某个接口发送RIP报文时,其中不能包含从该接口获得的路径信息,这样就能消除相邻路由器间的环路。毒性逆转法是水平分割的加强版,它在路由器从某个接口发送RIP报文时,将从该接口获得的路径信息的距离置为16,即不可达。为了加强水平分割与毒性逆转的效果,可以同时使用触发更新技术:一旦检测到路径崩溃,立即广播RIP路径刷新报文,而不必等待下一个广播周期,以使新的路由信息尽快传送到所有路由器上。
2.1 实验名称
RIP协议分析。
2.2 实验目的
在路由器上配置启用RIP协议,并利用协议分析软件捕获RIP报文,了解RIP的工作过程。同时,改变网络的连接状态,观察理解RIP的慢收敛现象,体会水平分割与触发更新更新技术的作用。
2.3 实验设备
实验采用华为AR2200系列路由器4台,在2号槽位配1块8FE1GE接口卡。实验另需Hub 5台,4台主机,均安装开源协议分析软件WireShark。
2.4 实验拓扑
实验网络拓扑如图2所示。各路由器接口间连接
与IP地址的分配如图中标注。
图2 实验网络拓扑图
2.5 实验过程与参考配置
(1) 不启动路由协议时网络的连通状况。连接好相应设备后,我们首先在路由器上配置各接口IP地址。以Router A为例,在其上配置:
在路由器B、C和D上也进行类似配置。配置完成后,在各个路由器上,通过display ip routing-table命令观察各个路由器的路由表。由于还没有运行路由协议,每个路由器路由表中只有直连的路由表项,所以这4个路由器间还不会完全联通。可以通过ping命令测试路由器间的联通性验证这一结果。
(2) 启动RIP后网络的连通状况。接下来我们分别在4个路由器上启动RIP协议,其中Router A的配置命令为:
[Huawei] rip #在系统视图下配置,设置RIP协议
[Huawei-rip-1] network 192.168.1.0 #设置启用RIP协议的网络
[Huawei-rip-1] network 192.168.2.0
[Huawei-rip-1] rip version 2 #设置使用RIP v2
再观察各个路由器的路由表,并测试路由器间的联通性。此时,每个路由器的路由表中不仅直连的路由表项,还有通过RIP学到的路由,并且具有到达图中每个网络地址的路由,整个网络是连通的。
在每个主机上开始抓包,并进行协议分析。可以观察到路由器间周期性组播的RIP v2报文,检查RIP报文,对比各路由器的路由表,可以验证RIP报文中传递的V-D信息。
(3) 理解水平分割与触发更新的工作方式。华为路由器RIP启动后默认就启用水平分割与触发更新. 可以在接口状态通过命令undo rip split-horizon 禁用该接口启动水平分割功能. 在路由器各接口禁用水平分割后,再次观察RIP报文中的V-D信息。与没禁用水平分割时的V-D信息对比,可以看到禁用水平分割后,V-D信息包含全部路由表项,而启用水平分割功能后,V-D信息包含的只是不是从该接口学下到的那部分路由表项。
然后,通过改变网络连接状况,比如,down掉Router B的Ethernet2/0/2接口,通过分析捕获的RIP报文观察触发更新的工作方式。触发更新发出的RIP报文只含引发触发的路由变化的V-D信息,在我们的例子中就是只含一条关于192.168.20.0/24的路由信息,跳数为16。而周期性的路由更新报文包含整个路由表,或经水平分割过滤过的整个路由表。
(4) 观察、理解收敛到无穷现象。保存4个路由器的配置,并在主机上启动协议分析软件进行捕包。然后重新启动各个路由器,让它们重新交换路由信息。这样,就可以捕获路由器进行路由信息交换的所有RIP报文。通过对RIP报文的分析,对照各个路由器的路由表,就可以了解RIP协议工作的全过程。
继续禁用路由器的水平分割功能,并down掉Router B的Ethernet2/0/2接口。在各个主机上经过一段时间的捕获RIP报文,然后终止。这些RIP报文就可以反映RIP的工作过程,以及收敛到无穷的过程与现象。为便于协议分析,首先利用WireShark的数据合并功能,将4个主机上抓获的报文按时间合并到一个cap文件中[15]。下面是我们分析该文件关于192.168.20.0/24的V-D信息的部分结果。见表1。我们只列出了前面的一部分,可以请学生根据抓包文件补全该表,并运用协议运行原理,分析理解表中各项间的关系与合理性。
表1 4个路由器间关于192.168.20.0/24的交互的
路由协议是计算机网络、组网技术、网络管理等网络工程专业系列课程的教学重点内容,也是学生难以深入理解的知识点之一。利用协议分析的方法,通过跟踪路由器间路由信息的交互、分析传递的V-D报文的具体内容,对比路由表的变化,明了、直观地展现了RIP工作原理和工作工程,既加深了学生对RIP及其存在的无穷计算问题与水平分割、毒化路由技术的理解,又很好地培养了学生分析问题、解决问题、以及综合应用知识的能力,教学效果良好。
[1] Douglas E Comer. 用TCP/IP进行网际互联第一卷:原理、协议与结构[M]. 林瑶译,谢希仁校.4版.北京:电子工业出版社,2006.
[2] Jeff Doyle, Jennifer Carroll. TCP/IP路由技术(第一卷)[M]. 2版. 葛建立译.北京:人民邮电工业出版社,2011.
[3] Jeff Doyle, Jennifer Carroll. TCP/IP路由技术(第二卷)[M]. 夏俊杰译.北京:人民邮电工业出版社,2011.
[4] 吴功宜,吴 英. 计算机网络[M]. 北京:清华大学出版社,2004.
[5] 谢希仁. 计算机网络[M]. 5版.北京:电子工业出版社,2007.
[6] Andrew S Tanenbaum. 计算机网络[M].5版. 严伟译. 北京:清华大学出版社,2012.
[7] Forouzan B A. TCP/IP协议族[M].4版. 王海译,谢希仁校. 北京:清华大学出版社, 2011.
[8] 田增国, 刘晶晶, 张召贤. 组网技术与网络管理[M]. 2版.北京:清华大学出版社,2009.
[9] 黄中砥, 张召贤, 周飞菲. 组网技术与网络管理[M]. 北京:清华大学出版社,2006.
[10] 惠 玥,张 嫒,唐海涛. IP静态路由实验的研究[J]. 实验室研究与探索,2010,29(11):61-64.
[11] 傅 伟,高海侠,熊 平. RIP路由协议实验的设计与实现[J]. 实验技术与管理,2012,29(5):127-129.
[12] Hedrick C. Routing Information Protocol[EB/OL]. IETF RFC1058(1988), http://www.rfceditor.org.
[13] Malkin G. RIP Version 2 Protocol Analysis[EB/OL]. IETF RFC1721(1994), http://www.rfceditor. org .
[14] Malkin G. RIP Version 2 [EB/OL]. IETF RFC2453(1998), http://www.rfceditor. org.
[15] Angela Orebaugh, Gilbert Ramirez, Jay Beale. Wireshark & Ethereal Network Protocol Analyzer Toolkit[M]. Burlington:Syngress Press, 2006:87-89.
Design and Operation of RIP Protocol Analysis Experiment
LIUXiang-donga,KOUQing-huab,ZHANGXiao-ruia,WANGDe-gaoa
(a. The Institute of Nonlinear Information Technology; b. Library,Dalian Nationalities University, Dalian 116600, China)
This paper introduces the background, principles and implementation of Routing Information Protocol (RIP), shows the routing process of RIP by specific experiments with the aid of protocol analysis method. The experiment demonstrates slow convergence phenomenon, and the key effect of split horizon technology. The experiment enhances the self-study abilities of students.
RIP; protocol analysis; split horizon; slow convergence
2014-05-29
中央高校基本科研专项基金(DC12010106);大连民族学院教育教学改革项目
刘向东(1967-),男,山东莱州人,博士,教授,研究方向:计算机网络及信息安全。E-mail:liuxd@dlnu.edu.cn
TP 393.08
A
1006-7167(2015)01-0122-04