当前位置:文档之家› 路由协议交互的测试方法和测试工具与设计方案

路由协议交互的测试方法和测试工具与设计方案

本技术涉及一种路由协议交互的测试方法及测试工具,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。本技术能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。

权利要求书

1.一种路由协议交互的测试方法,其特征在于:

通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF 报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。

2.如权利要求1所述路由协议交互的测试方法,其特征在于,

所述测试工具调用WinPcap组件的pcap_findalldevs_ex() 函数接口,来获取所述电脑的网卡列表;该测试工具从获得的网卡列表中选取一个网卡作为指定网卡。

3.如权利要求1所述路由协议交互的测试方法,其特征在于,

所述测试工具通过调用WinPcap组件的pcap_open()接口来打开指定网卡,并通过调用WinPcap组件的pcap_loop()接口来循环监听指定网卡收发的OSPF报文。

4.如权利要求1或3所述路由协议交互的测试方法,其特征在于,

所述测试工具通过调用WinPcap组件的pcap_compile()接口来编译过滤器,并通过调用WinPcap组件的pcap_setfilter()接口来设置使用的过滤器,从而对指定网卡收发的OSPF报文进行过滤。

5.如权利要求1所述路由协议交互的测试方法,其特征在于,

所述测试工具通过配置的发包参数来构造指定类型的OSPF报文,并通过调用WinPcap组件的发包接口,发送该指定类型的OSPF报文;

所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。

6.如权利要求1或5所述路由协议交互的测试方法,其特征在于,

所述测试工具对发送的报文数是否达到设定数值进行判断:若发送的报文数达到设定数值时,则关闭该指定网卡,不再发送OSPF报文;

若发送的报文数没有达到设定数值时,则继续发送OSPF报文,并在等待设置的发包间隔时间之后,重新执行判断的操作,来确定是否需要发送下一个OSPF报文。

7.如权利要求1所述路由协议交互的测试方法,其特征在于,

所述测试工具对于处在打开状态的指定网卡,通过调用WinPcap组件的pcap_freealldevs()接口来关闭该指定网卡,停止对该指定网卡的监听。

8.一种路由协议交互的测试工具,其特征在于,包含:

调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱动指定网卡从被测设备接收OSPF报文的抓包接口;

监听模块,对所述指定网卡收发的OSPF报文进行监听;

过滤器,对所述指定网卡收发的OSPF报文进行过滤;

交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。

9.如权利要求8所述路由协议交互的测试工具,其特征在于,

所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。

10.如权利要求8所述路由协议交互的测试工具,其特征在于,

所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。

说明书

一种路由协议交互的测试方法和测试工具

技术领域

本技术涉及网络通讯协议的测试领域,特别涉及一种路由协议交互的测试方法和测试工具。

背景技术

使用自动化脚本来测试路由器或者三层交换机上的OSPF(Open Shortest Path First开放式最短路径优先)路由协议时,需要遵循RFC(Request For Comments,请求评议)对协议功能进行详细的验证。而不同厂商的设备提供的命令行风格不一致,即使实现相同的OSPF功能,也需要不同的配置。

在Testcenter,Smartbit等测试仪上有集成OSPF协议测试的功能,能够用来构造各类型OSPF 报文,进行大流量OSPF发包测试或OSPF报文容错性测试。但是,具备OSPF协议测试的测试仪一般价格较高,并且其端口资源有限,增加端口会使相应的成本大幅提升。

技术内容

本技术的目的在于提供一种路由协议交互的测试方法和测试工具,通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试,无需搭建测试环境,使用简单且成本低廉。

为了达到上述目的,本技术的一个技术方案是提供一种路由协议交互的测试方法,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。

优选地,所述测试工具调用WinPcap组件的pcap_findalldevs_ex() 函数接口,来获取所述电脑的网卡列表;该测试工具从获得的网卡列表中选取一个网卡作为指定网卡。

优选地,所述测试工具通过调用WinPcap组件的pcap_open()接口来打开指定网卡,并通过调用WinPcap组件的pcap_loop()接口来循环监听指定网卡收发的OSPF报文。

优选地,所述测试工具通过调用WinPcap组件的pcap_compile()接口来编译过滤器,并通过调用WinPcap组件的pcap_setfilter()接口来设置使用的过滤器,从而对指定网卡收发的OSPF报文进行过滤。

优选地,所述测试工具通过配置的发包参数来构造指定类型的OSPF报文,并通过调用WinPcap组件的发包接口,发送该指定类型的OSPF报文;

所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。

优选地,所述测试工具对发送的报文数是否达到设定数值进行判断:若发送的报文数达到设定数值时,则关闭该指定网卡,不再发送OSPF报文;

若发送的报文数没有达到设定数值时,则继续发送OSPF报文,并在等待设置的发包间隔时间之后,重新执行判断的操作,来确定是否需要发送下一个OSPF报文。

优选地,所述测试工具对于处在打开状态的指定网卡,通过调用WinPcap组件的

pcap_freealldevs()接口来关闭该指定网卡,停止对该指定网卡的监听。

本技术的另一个技术方案是提供一种路由协议交互的测试工具,其中包含:

调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱

动指定网卡从被测设备接收OSPF报文的抓包接口;

监听模块,对所述指定网卡收发的OSPF报文进行监听;

过滤器,对所述指定网卡收发的OSPF报文进行过滤;

交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。

优选地,所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。

优选地,所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。

与现有技术相比,本技术所述路由协议交互的测试方法和测试工具,其优点在于:

本技术通过开发测试工具,来模拟运行OSPF协议的路由器,模拟真实测试场景。使用

C++语言开发的相关软件等,打包后可批量复制,并能够直接运行在任意的windows电

脑上,不需要搭建测试环境,使用简单;不用依赖于Testcenter,Smartbit等现有测试仪器,本技术的测试成本明显降低。

本技术可以界面化配置发包参数,根据配置的参数构造OSPF报文,并从运行电脑的网卡中选择一个指定网卡来发送构造的OSPF报文,易用性强。可以通过构造不同类型的OSPF报文,例如设置错误的报文参数来测试OSPF协议的容错性。本技术还可以循环监听选定的发包网卡,过滤该网卡上收发的OSPF报文,并通过日志显示其与被测设备之间的报文交互过程。

附图说明

图1是本技术所述路由协议交互的测试方法的流程示意图;

图2是本技术所述测试方法中监听报文操作的流程示意图;

图3是本技术所述测试方法中发送报文操作的流程示意图;

图4是本技术所述测试方法中停止监听的流程示意图。

具体实施方式

本技术中通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作来模拟一个运行OSPF协议的路由器,进行与被测设备之间协议交互的操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试。所述的WinPcap是windows平台下的一个公共网络访问系统,以C/C++语言编写,用于网络封包抓取。

为此,本技术提供一种测试工具,其中设置有相关的模块,能够指定一个网卡作为发包网卡,调用WinPcap组件的接口以驱动该指定网卡收发报文,并对其持续监听,过滤该指定网卡上收发的OSPF报文,等等。

所述测试工具还设置有交互界面,用来获取测试所需的配置参数(包括但不限于发包参数,其被用来构造向被测设备发送的指定类型的OSPF报文,例如是参数错误配置或参数正确配置的报文),用来获取测试所需的各项操作的指令(包括但不限于用来执行构造报文、发送报文、选择指定网卡、打开或关闭网卡、开始或停止监听等操作的相关指令),以及显示与被测设备之间报文交互过程的日志记录,等等。

将本技术所述的测试工具运行在与被测设备对接的电脑中,该电脑无需搭建特殊的测试环境,使用任意一种能够运行windows的普通电脑即可。所述测试工具所涉及的软件、配置文件等被打包后,可批量复制,在任意一台上述的普通电脑上打开就可以直接使用,大大降低了测试成本。

如图1所示,本技术所述路由协议交互的测试方法中,包含以下的实施步骤:

A1、将运行本技术所述测试工具的电脑,与运行OSPF协议的被测设备对接;打开测试工具,设置OSPF Head参数。

A2、获取本机网卡列表,设置发包网卡;

对于例如是点击“获取网卡列表”按钮的操作,所述测试工具调用WinPcap组件的

pcap_findalldevs_ex() 函数接口来获取运行该测试工具的电脑的网卡列表;

从获取的网卡列表中指定一个网卡作为发包网卡,调用WinPcap组件的接口打开该指定网卡。

A3、调用WinPcap组件的抓包接口,循环监听指定网卡收发的OSPF报文。

A4、设置发包参数,构造指定类型的OSPF报文;调用WinPcap组件的发包接口,发送该指定类型的OSPF报文。

此处,所述指定类型的OSPF报文可以是一种报文参数被正确配置的OSPF报文;也可以是通过设置错误的报文参数来构造的一种错误的OSPF报文,用以验证被测设备OSPF协议的容错性。

A5、查看指定网卡的收发包日志;测试工具可以通过查看日志栏记录,来了解网卡收发OSPF报文的状态。

如图2所示,在上述步骤A3中,对于例如是点击“开始监听OSPF报文”按钮的操作,所述测试工具进一步执行以下的步骤:

B1、建立循环监听进程;

B2、调用WinPcap组件的pcap_open()接口来打开指定网卡;

B3、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行B4;

B4、调用WinPcap组件的pcap_compile()接口来编译过滤器,用来过滤收发的OSPF报文;

B5、调用WinPcap组件的pcap_setfilter()接口来设置抓包时使用的过滤器;

B6、调用WinPcap组件的pcap_loop()接口循环抓取指定网卡的OSPF报文。

如图3所示,在上述步骤A4中,对于例如是点击“发送”按钮的操作,所述测试工具进一步执行发送报文的以下步骤:

C1、选择要发送的OSPF报文类型;

C2、设置报文参数;

C3、构造指定类型的OSPF报文;

C4、调用WinPcap组件的pcap_open()接口来打开指定网卡;

C5、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行C6;

C6、对发送的报文数是否达到设定数值进行判断:若已经达到设定数值,则关闭该指定网卡,不发送报文;

若没有达到设定数值时,则继续发送上述指定类型OSPF报文;并在等待设置的发包间隔时间之后,重新执行C6的操作,来确定是需要关闭网卡还是需要发送下一个报文。

如图4所示,对于例如是点击“停止监听”按钮的操作,所述测试工具进一步执行停止监听网卡的以下步骤:

D1、检测指定网卡是否开启:

D2、若指定网卡没有开启,则发送网卡未开启的提示信息,告知不需要关闭网卡;

D3、若指定网卡是开启的,则调用WinPcap组件的pcap_freealldevs()接口来关闭该网卡,停止对该网卡的监听。

综上所述,本技术提供的路由协议交互的测试方法和测试工具,通过运行在普通电脑上的测试工具模拟一个运行OSPF协议的路由器,用来与被测设备进行协议交互,由于OSPF协议都基本遵循RFC标准来实现,所以实现基本一致,能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。

尽管本技术的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本技术的限制。在本领域技术人员阅读了上述内容后,对于本技术的多种修改和替代都将是显而易见的。因此,本技术的保护范围应由所附的权利要求来限定。

AODV相关路由协议详情学习

AODV相关路由协议学习 1:AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ控制包。 而下一跳节点在接收到RREQ报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,则会向源节点回复路由响应报文CRREP。否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREQ报文中的跳数字段值加1,并向该节点的邻居节点转发RREQ报文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER,而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率=路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

AODV路由协议分析研究

西南交通大学 本科毕业设计(论文) AD HOC网络中AOD\路由协议分析THEANAL YSISOFAODXROUTINGPROTOCOL IN AD HOC NETWORK 年级2008 级 学号__________________ 姓名__________________ 专业通信工程 指导老师___________________

2012年6月 承诺 本人郑重承诺:所呈交的设计(论文)是本人在导师的指导下独立进行设计(研究)所取得的成果,除文中特别加以标注引用的内容外,本文不包含任何其他个人或集体已经发表或撰写的设计(研究)成果。对本设计(研究)做出贡献的个人和集体,均已在文中以明确方式标明' 如被发现设计(论文)中存在抄袭、造假等学术不端行为,本人愿承担—切后果。 学生签名: 年月日

院系计算机与通信工程系_________ 专业通信工程 ____________________ 年级2008 级 ________________________ 姓名____________________________________ 题目Ad hoc 网络中AODV路由协议分析______________________________ 指导教师 评语 ________________________________________________________________________ 指导教师(签章) 评阅人 评语 评阅人(签章)成绩____________________________ 答辩委员会主任_______ (____ 签章)

AODV协议详解

AODV协议详解 1 AODV 报文格式 AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。 1.1 RREQ 报文 a. 对RREQ 的处理 接收到RREQ 的结点做如下处理: (1)创建一个表项,先不分配有效序列号,用于记录反向路径。 (2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下: I.下一跳结点=广播RREQ 的邻居。 II.跳数=RREQ 报文的“跳计数”字段值。 III.设置表项的“过时计时器”。 (3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。 I.该结点是信宿。 II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。 (4)更新RREQ 报文并广播更新后的RREQ 报文 I.信宿序列号=本结点收到的信宿相关的最大序列号。 II.跳计数加1。 1.2 RREP 报文 (1)信宿结点产生RREP 执行如下操作: I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。 II.跳计数=0。 III.定时器值。 (2)中间结点产生的RREP 执行如下操作: I.本结点获取的该信宿的最大序列号。 II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。 III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳 b. 对RREP 的处理 结点对接收到的RREP 作如下处理。 (1)如果没有与RREP 报文中的信宿相匹配的表项,则先创建一个“前向路表”空表项。 (2)否则,满足如下条件对已有表项进行更新。 条件: I.现有表项的信宿序列号小于RREP 报文中的序列号。 II.现有的表项没有激活。 III.信宿序列号相同,但RREP 报文的“跳计数”值小于表项相对应的值;通过更新或创建,产生一个新的前向路由。

AODV路由协议中文说明

内容目录 1导言 (3) 2概述 (4) 3AODV术语 (5) 4适用性综述 (7) 5消息格式 (8) 6AODV操作 (13) 管理序列号 (13) 路由表项和先驱列表 (15) 生成路由请求 (16) 控制路由请求消息的传播 (17) 处理和转发路由请求 (18) 生成路由回复 (20) 接受和转发路由回复 (22) 对单向连接的操作 (23) Hello消息 (24) 维护本地连接 (25) 路由错误,路由超时和路由删除 (26) 本地修复 (28) 重启后的操作 (30) 接口 (31) 7AODV和集群网络 (31) 8AODV在其他网络中的应用 (32) 9扩展 (34) 10参数配置 (35)

网络组诺基亚研发中心 C. Perkins RFC:3561加州大学圣芭芭拉分校 E. Belding-Royer 类别:试验版辛辛那提大学 S. Das 2003年7月 Ad hoc网络中基于距离数组的按需(AODV)路由协议 本备忘状态 本备忘定义的只是一个试验性质的网络社区协议而已,它不是任何一种类型的网络标准。我们非常需要各种讨论和建议用于改进这个协议。本备忘录的分发不受任何限制。 版权声明 复制权属于整个因特网社区,保留所有权利。 摘要 本协议用于特定网络中的可移动节点。它能在动态变化的点对点网络中确定一条到目的地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。它采用目的序列号来确保在任何时候都不会出现回环(甚至在路由控制信息出现异常的时候也是如此),避免了传统的距离数组协议中会出现的很多问题(比如无穷计数问题)。 目录

AODV相关路由协议学习

AODV相关路由协议学习 1: AODV路由协议工作原理 AODV路由协议是一种经典的按需路由协议,它只在两个节点需要进行通信且源节点没有到达目的节点的路由时,才会进行路由发现过程。AODV 采用的是广播式路由发现机制,当源节点想与另一节点进行通信时,源节点会首先查询自己的路由表中是否存在有到达目的节点的路由有效信息。如果包含有目的节点的有效信息,则源节点就会将数据包传送到目的节点的下一跳节点;如果缺失目的节点的有效的信息,则源节点会启动路径请求程序,同时广播RREQ空制包。 而下一跳节点在接收到RREC报报文时,如果该节点是目的节点,又或者该节点路由表中存放有到达目的节点的可行路径信息,贝S会向源节点回复路由响应报文CRREP否则就记录相关信息,用于建立一个反向路径,让目的节点的RREP遵循此路径返回源节点,同时将RREC报文中的跳数字段值加1,并向该节点的邻居节点转发RREC报 文。这样经过若干中间节点转发最后到达目的节点,确认路由建立。 路由表项建立以后,路由中的每个节点都要执行路由维持和管理路由表的任务。如果由于中间节点的移动而导致路由失效,则检测到路由断链的节点就会向上游节点发送路由出错报文RRER而收到出错报文RRER的节点则会直接发出RREQ来进行路径请求,如果能在规定好的时间内找到目的节点的路径,则表示路由成功 1.2存在的问题 传统的AODV采用基本的路由发现算法来建立从源节点到目的节

点的路由时,路由选择是选择最短路径路由,即选择最小跳数的路由,这样就忽略了每两点之间的传输能力,从而导致产生整条链路吞吐量低、路由不稳定、线路拥塞、延迟甚至数据丢失等严重问题。 2最大路由速率的AODV协议的提出【基于最大路由速率的AODV协议优化研究与实现---罗泽、吴谨绎、吴舒辞】 2.1基本思想 针对传统AODV路由协存在的问题,提出了一种基于最大传输速率(路由速率二路由速率之和/路由跳数)的改进方案,其基本思想是:用户确定一个期望速率,源节点在进行路由发现时比较收到的各条路由的实测速率,选择一条速率最大的路由作为路由,在源节点使用当前路由发送数据的过程中,源节点每隔一段时间发出RREQ报文,以便查找到可能存在的更好的路由,如果发现一条速率更高的路由且该路由速率大于期望速率,则执行路由切换,改用新路由。

aodv路由协议分析

分类:ns仿真2012-04-23 10:52 171人阅读评论(0) 收藏举报delete脚本活动工作 1 AODV 报文格式 AODV 有三种基本的协议报文类型:RREQ 报文、RREP 报文和RRER 报文。 1.1 RREQ 报文 a. 对RREQ 的处理 接收到RREQ 的结点做如下处理: (1)创建一个表项,先不分配有效序列号,用于记录反向路径。 (2)如果在“路由发现定时”内已收到一个具有相同标识的RREQ 报文,则抛弃该报文,不做任何处理;否则,对该表项进行更新如下: I.下一跳结点=广播RREQ 的邻居。 II.跳数=RREQ 报文的“跳计数”字段值。 III.设置表项的“过时计时器”。 (3)如果满足以下条件,则结点产生“路由回答报文”RREP,并发送到信源;否则更新RREQ 报文并广播更新后的RREQ 报文。 I.该结点是信宿。 II.结点的路由表中有到信宿的活动表项,且表项的信宿序列号大于RREQ中的信宿序列号。 (4)更新RREQ 报文并广播更新后的RREQ 报文 I.信宿序列号=本结点收到的信宿相关的最大序列号。 II.跳计数加1。 1.2 RREP 报文 (1)信宿结点产生RREP 执行如下操作: I.如果收到相应的RREQ 的信宿序列号与信宿维护的当前序列号相等,则信宿将自己维护的序列号加1,否则不变。 II.跳计数=0。 III.定时器值。 (2)中间结点产生的RREP 执行如下操作: I.本结点获取的该信宿的最大序列号。 II.跳计数=本结点到信宿的跳数(查相应表项即可得到)。 III.更新本结点维护的“前向路由表项”的下一跳和“反向路由表项”的前一跳

路由协议

路由协议DSR_AODV_DSDV [Dynamic Source Routing,动态源路由协议] ●当节点S需要向节点D发送数据的时候,而此时节点S并不知道通往节点D的路径, 此时,节点S便启动路由发现过程 ——DSR协议为反应式(Reactive)路由协议 ●源节点广播Route Request路由请求消息(RREQ消息) ●每个节点均在其向前发送的RREQ消息上附加自己唯一的标识符 [动态源路由协议的路由发现过程] [X,Y]表示附加到RREQ消息上的标识符列表

●如图,节点H同时接收到来自两个相邻节点的RREQ消息:有潜在消息冲突的可能 ●节点C收到来自G和H两个相邻节点发送来的RREQ消息,但C并不再向前发送该消息, 因为节点C已经向前发送过一次RREQ消息

●节点J与节点K均向节点D发送了RREQ消息 ●由于J和K均不知道对方存在,彼此之间是隐藏的,因此这两个节点所发送的消息存 在冲突的可能 ●节点D不再向前发送RREQ消息,因为节点D便是整个路由发现过程的终点目标 ●当目的节点D接到第一个RREQ消息的时候,便往回发送一个Route Reply路由应答消 息(RREP消息) ●RREP消息经由反向路径回传,(反向路径就是和RREQ消息到达路径相反的路径) ●RREP消息当中包含了由S到D的路径,而这条路径就是源节点S所发送的RREQ消息所 确定的 [动态源路由协议的路由应答过程]

●当源节点S接收到RREP消息的时候,它便将RREP消息中所记录的路径缓存起来 ●当源节点S发送数据到目的节点D时,数据分组的首部将包含整个路径的信息,这也是 该算法命名为“源路由”的缘由 ●中间节点使用数据分组中首部包含的“源路由”信息了来决定抵达该节点的数据应该转 发的方向 [动态源路由协议的数据投递过程] [动态源路由协议优化——路径缓存] ●每个节点将通过任何可能的方式所获得的新路径缓存起来 ●当节点S发现一条可以通往节点D的路径[S,E,F,J,D]时,它同样知道有一条可以到达 节点F的路径[S,E,F] ●当节点K接收到路由请求消息Route Request RREQ[S,C,G]后,节点K则同样知道经过 路径[K,G,C,S]可以到达节点S ●当节点F向前传递路由应答消息Route Reply RREP[S,E,F,J,D]时,节点F则可以知道 经过路径[F,J,D]可以到达节点D ●当节点E经过路径Data [S,E,F,J,D]发送数据分组的时候,它则知道它自身可通过路 径[E,F,J,D]可以到达节点D ●一个节点无意中听到其他节点的通信消息的时候,它则将缓存其中它自己所不知道的路 由 ●存在问题:一些陈旧的路由缓存对于系统的开销是一种负担 [动态源路由协议的优点] ●只维持需要通信节点之间的路径——可以减少路由保持对于系统的开销 ●路由缓存机制可进一步减少路由发现过程的开销 ●一次简单的路由发现过程可能产生许多通往同一节点的路径,由于中间很可能用以前的 缓存记录对路由发现消息进行应答

相关主题
文本预览
相关文档 最新文档