距离矢量路由算法原理试验

更新时间:2024-06-30 06:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

距离矢量路由算法原理实验

【实验目的】

1、要求实验者利用路由选择算法模拟软件提供的通信功能,模拟距离矢量路由选择算法的初始化、路由信息扩散过程和路由计算方法; 2、掌握距离矢量算法的路由信息扩散过程; 3、掌握距离矢量算法的路由计算方法。

【预备知识】

1、路由选择算法的特征、分类和最优化原则 2、路由表的内容、用途和用法 3、距离矢量算法的基本原理

【实验环境】

1、分组实验,每组4~10人。 2、拓扑:

局域网 (Ethernet) 路由节点0 路由节点N

N = 4 ~ 10

路由节点2

路由节点N-1

虚线表示节点之间的逻辑关系,构成一个逻辑上的网状拓扑结构。

3、设备:小组中每人一台计算机。

4、实验软件:路由选择算法模拟软件(routing.exe)

【实验原理】

路由选择算法模拟软件根据给定的拓扑结构,为实验者提供基本的本地路由信息,并能发送和接收实验者所组织的路由信息,帮助实验者完成路由选择算法的路由信息扩散过程、路由计算过程和路由测试过程。 1、模拟软件的功能(图2-1)

? 在局域网内根据小组名称和成员数量建立一个模拟网络拓扑结构,每个成

员模拟拓扑中的一台路由器,路由器上的本地路由信息由实验软件提供。 ? 向实验者指定的发送对象发送实验者自行组织的发送内容。 ? 提示实验者有数据需要接收,并显示接收内容。

1

? 为实验者提供记录路由计算结果的窗口——路由表窗口。 ? 为实验者提供分组逐站转发方法来验证路由选择的结果。

图2-1 路由选择算法模拟软件主界面

2、模拟软件的使用方法 1) 建立小组

通过建立小组,每个小组成员可以获得本节点的编号和本地直连链路信息。 a)4~10人一组,在实验前自由组合形成小组。小组人数尽量多些,每人使用一台计算机。启动实验软件后点击“建立小组”按钮。(图2-2)

图2-2 选择建立小组

b)在建立小组的窗口内填入小组名称和成员数量。同一小组成员必须填写同样的小组名称和成员数量才能正确建立小组。(图2-3)

图2-3 建立小组窗口

图2-4 小组建立过程

2

c)点击“加入”按钮后,实验软件以广播形式将组名广播出去。同时,实验软件收集其他计算机发送的组名广播,将有相同组名的计算机加入到小组中,直到成员个数达到预定数量后“确定”按钮生效。(图2-4)

d)点击“确定”按钮后返回主界面,这时本地路由表里已经为本节点分配了节点号,并准备了一份本地路由表。(图2-5)

图2-5 本地路由表

实验者以本地路由表为基础,结合距离矢量路由算法原理,组织路由信息。 建立小组的过程是模拟网络路由器启动后,从各接口获得直连路由情况的过程,在实验里每个实验者都事先掌握各自的直连路由情况,他们将模拟网上路由器之间交换路由信息的过程,与邻居实验者交换路由信息,形成到达全网的路由表。所以虽然实验者之间通过局域网直接相连,但是实验者之间具有逻辑上的邻居关系,这个邻居关系是模拟网状拓扑结构的结果。

2) 在实验软件主界面选择距离矢量路由算法,根据发送路由信息窗口的路由信

息格式提示,组织并发送路由信息。

a)初始化路由表:选择距离矢量路由算法后,实验软件提示实验者初始化路由表,实验者在路由表最下一栏中按格式填写路由表项,然后点击添加按钮加入表项,逐步将本地路由表内容填入路由表。(图2-6,路由表中下一站项目中的“-”表示直连)

图2-6 初始化路由表

3

b)点击“路由选择过程”后,根据距离矢量路由算法,组织路由信息,发送给正确的路由器。(图2-7)

图2-7 发送路由信息

按照距离矢量算法要求,路由节点发布的路由信息是该节点当前已知的路由,即“通过本节点,可以到达哪些节点,相应的距离是多少”。因此在组织的路由信息中包括:发送者——通过哪个节点,目的——可以到达哪些节点,距离——发送者与目的间的距离。

距离矢量算法中的距离矢量路由信息仅扩散到邻居节点。 3) 根据软件窗口状态栏的接收提示,接收路由信息。

a)当节点收到路由信息时,状态栏会提示实验者进行处理。(图2-8)

图2-8 新信息到达提示

b)实验者点击“处理路由信息”按钮,在路由信息接收窗口中会显示某个节点送到本节点的路由信息。(图2-9)

实验过程中,实验者可能会同时收到多个邻居节点送来的路由信息,每点击一次“处理路由信息”按钮,接收路由信息窗口中只显示一个邻居节点送来的路由信息。软件的状态栏中会一直显示“新路由信息到达”的提示,直到所有邻居节点送来的路由信息被处理完毕。

4

图2-10 更新路由表

图2-9 接收路由信息

4) 根据距离矢量算法和获得的路由信息更新路由表。(图2-10)

距离矢量算法中,路由节点将路由信息中的距离(发送者到达目的的距离)加上本节点到达发送者的距离,形成本节点到达目的的新距离;然后比较这个新距离与当前路由表中记录的到达该目的的距离,如果新距离较短,就按照距离矢量算法要求更新本节点路由表中到达该目的的路由表项。

5) 根据距离矢量算法原理继续扩散路由信息,最终形成一张收敛的路由表。 6) 向小组内的其它成员发送一份测试路由的报文,由实验者指定报文的源节点、

目的节点、下一跳节点和数据。

a)点击实验软件主界面上的“测试路径”按钮,出现发送数据窗口。(图2-11)

图2-11 发送数据窗口

b)在目的域填入数据发送的目的地,data域填入发送的数据信息,转发域里根据路由表填入如果要将数据发送到目的地应通过的下一跳路由器标号。

点击“OK”按钮后,数据将被实验软件发送到指定的下一跳路由器,这以后

5

由各路由器根据各自的路由表将数据最终转发到目的节点。

7) 节点收到来自其它节点的测试报文时,软件自动弹出一个“接收数据处理”

窗口,显示接收信息和操作提示,节点根据自己的路由表判定是否继续转发该报文,以及将报文转发给哪个邻居路由器。(图2-12)

8) 测试报文到达正确的目的节点后,会同时显示所经过路径上的节点序列,供

实验者检查路径是否正确。(图2-13)

图2-12 接收数据转发处理

图2-13 目的节点数据处理

【实验步骤】

1、建立实验小组。

2、按照距离矢量算法完成路由信息扩散和路由计算过程。

3、距离矢量算法收敛后,向路由表中列出的每个非直连节点发送路由测试数据,完成路由测试过程。

4、汇总实验小组的实验记录信息,检查路由是否正确。如果有错,分析并发现错误产生的原因。

5、将实验从步骤1开始多做几次,观察如果各节点发送信息和接收处理信息的过程不一样,是否会影响路由表的正确形成。例如:在第一次实验时,节点每接收处理完一份路由信息后,就发布路由信息;而第二次实验时,节点将当前所有的路由信息处理完毕后,再发布路由信息。

*6(选作)小组讨论断掉拓扑中的一条链路,然后通过实验观察路由协议是如何适应这个变化的。

*7(选作)小组讨论如何在现有拓扑中产生无穷计数问题,然后通过实验展现无穷计数现象。

6

链路状态路由算法原理实验

【实验目的】

1、要求实验者利用路由选择算法模拟软件提供的通信功能,模拟链路状态路由选择算法的初始化、路由信息扩散过程和路由计算方法; 2、掌握链路状态算法的路由信息扩散过程; 3、掌握链路状态算法的路由计算方法。

【预备知识】

1、路由选择算法的特征、分类和最优化原则 2、路由表的内容、用途和用法 3、链路状态算法的基本原理

【实验环境】

1、分组实验,每组4~10人。 2、拓扑:

局域网 (Ethernet) 路由节点0 路由节点N

N = 4 ~ 10

路由节点2

路由节点N-1

虚线表示节点之间的逻辑关系,构成一个逻辑上的网状拓扑结构。

3、设备:小组中每人一台计算机。

4、实验软件:路由选择算法模拟软件(routing.exe)

【实验原理】

路由选择算法模拟软件根据给定的拓扑结构,为实验者提供基本的本地路由信息,并能发送和接收实验者所组织的路由信息,帮助实验者完成路由选择算法的路由信息扩散过程、路由计算过程和路由测试过程。 1、模拟软件的功能(图3-1)

? 在局域网内根据小组名称和成员数量建立一个模拟网络拓扑结构,每个成

员模拟拓扑中的一台路由器,路由器上的本地路由信息由实验软件提供。 ? 向实验者指定的发送对象发送实验者自行组织的发送内容。 ? 提示实验者有数据需要接收,并显示接收内容。

7

? 为实验者提供记录路由计算结果的窗口——路由表窗口。 ? 为实验者提供分组逐站转发方法来验证路由选择的结果。

图3-1 路由选择算法模拟软件主界面

2、模拟软件的使用方法 1) 建立小组

通过建立小组,每个小组成员可以获得本节点的编号和本地直连链路信息。 a)4~10人一组,在实验前自由组合形成小组。小组人数尽量多些,每人使用一台计算机。启动实验软件后点击“建立小组”按钮。(图3-2)

图3-2 选择建立小组

b)在建立小组的窗口内填入小组名称和成员数量。同一小组成员必须填写同样的小组名称和成员数量才能正确建立小组。(图3-3)

图3-3 建立小组窗口

图3-4 小组建立过程

8

c)点击“加入”按钮后,实验软件以广播形式将组名广播出去。同时,实验软件收集其他计算机发送的组名广播,将有相同组名的计算机加入到小组中,直到成员个数达到预定数量后“确定”按钮生效。(图3-4)

d)点击“确定”按钮后返回主界面,这时本地路由表里已经为本节点分配了节点号,并准备了一份本地路由表。(图3-5)

图3-5 本地路由表

实验者以本地路由表为基础,结合链路状态路由算法原理,组织路由信息。 建立小组的过程是模拟网络路由器启动后,从各接口获得直连路由情况的过程,在实验里每个实验者都事先掌握各自的直连路由情况,他们将模拟网上路由器之间交换路由信息的过程,与邻居实验者交换链路状态信息,并不断扩散链路状态信息,互相配合,将每一条链路状态信息都扩散到全网。所以虽然实验者之间通过局域网直接相连,但是实验者之间具有逻辑上的邻居关系,这个邻居关系是模拟网状拓扑结构的结果。

2) 在实验软件主界面选择链路状态路由算法,根据发送路由信息窗口的路由信

息格式提示,组织并发送路由信息。

a)初始化路由表:选择链路状态算法后,实验软件提示实验者初始化路由表,实验者在路由表最下一栏中按格式填写路由表项,然后点击添加按钮加入表项。逐步将本地路由表内容填入路由表(图3-6,路由表中下一站项目中的“--”表示直连)

图3-6 初始化路由表

9

b)根据链路状态路由算法,组织路由信息,发送给正确的路由器。(图3-7)

图3-7 发送路由信息

按照链路算法要求,路由节点宣告的路由信息是该节点与邻居节点之间的链路状态。其中,每条链路使用二元组(通告节点,对端节点)进行全网唯一标识。每条链路的质量就是该链路的度量值(Metric)。宣告的路由信息的结点为路由信息分配一个“信息序号”,该序号在节点每次宣告新路由信息时加1(注意,不是转发路由信息时)。其它路由节点根据收到的路由信息中的信息对(宣告节点+信息序号),来控制路由信息的扩散过程,如丢弃已经转发过的路由信息。

链路状态算法中的链路状态路由信息需要扩散到全网内的所有节点,信息的宣告者只能先将信息发送到邻居节点,由邻居节点进一步转发到它们的邻居,如此不断扩散,直到信息扩散到全网的所有节点。 3) 根据软件窗口状态栏的接收提示,接收路由信息。

a)当节点收到路由信息时,状态栏会提示实验者进行处理。(图3-8)

图3-8 新信息到达提示

b)实验者点击“处理路由信息”按钮,在路由信息接收窗口中会显示某个节点送到本节点的路由信息。(图3-9)

实验过程中,实验者可能会同时收到多个邻居节点送来的路由信息,每点击一次“处理路由信息”按钮,接收路由信息窗口中只显示一个邻居节点送来的路由信息。软件的状态栏中会一直显示“新信息到达”的提示,直到所有邻居节点送来的路由信息被处理完毕。

10

图3-9 接收路由信息

图3-10 更新路由表

4) 根据链路状态算法和获得的路由信息更新路由表。(图3-10)

链路状态算法中,路由节点比较路由信息中的信息序号与当前记录的该发送者的序号(即与该节点曾经宣告过的信息比较):如果前者小于等于后者,则认为该路由信息过时或重复而丢弃;否则更新链路状态信息库,“绘制”出新的网络拓扑图,并计算到各节点的最短路由,更新本节点的路由表。

5) 根据选择的算法原理继续扩散路由信息,最终形成一张收敛的路由表。

链路状态算法中,路由节点如果判断收到的路由信息是新的,则将该路由信息进一步扩散给各邻居结点。

注意,节点不再将路由信息扩散回发送该信息的邻居,这可通过接收窗中提示的路由信息发送者来实现。

6) 向小组内的其它成员发送一份测试路由的报文,由实验者指定报文的源节点、

目的节点、下一跳节点和数据。

a)点击实验软件主界面上的“Routed”按钮,出现发送数据窗口。(图3-11)

图3-11 发送数据窗口

b)在目的域填入数据发送的目的地,data域填入发送的数据信息,转发域里

11

根据路由表填入如果要将数据发送到目的地应通过的下一跳路由器标号。

点击“OK”按钮后,数据将被实验软件发送到指定的下一跳路由器,这以后由各路由器根据各自的路由表将数据最终转发到目的节点。

7) 节点收到来自其它节点的测试报文时,软件自动弹出一个“接收数据处理”

窗口,显示接收信息和操作提示,节点根据自己的路由表判定是否继续转发该报文,以及将报文转发给哪个邻居路由器。(图3-12)

8) 测试报文到达正确的目的节点后,会同时显示所经过路径上的节点序列,供

实验者检查路径是否正确。(图3-13)

图3-12 接收数据处理

图3-13 目的节点数据处理

【实验步骤】

1、建立实验小组。

2、按照链路状态算法完成路由信息扩散和路由计算过程。

3、链路状态算法收敛后,向路由表中列出的每个非直连节点发送路由测试数据,完成路由测试过程。

4、汇总实验小组的实验记录信息,检查路由是否正确。如果有错,分析并发现错误产生的原因。

5、将实验从步骤1开始多做几次,观察如果各节点发送信息和接收处理信息的过程不一样,是否会影响路由表的正确形成。例如:在第一次实验时,节点每接收处理完一份路由信息后,就扩散该路由信息;而第二次实验时,节点将当前所有的路由信息处理完毕后,再扩散这些路由信息。

*6(选作)小组讨论断掉拓扑中的一条链路,然后通过实验观察路由协议是如何适应这个变化的。

12

本文来源:https://www.bwwdw.com/article/gw33.html

Top