ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:879.87KB ,
资源ID:13087272      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13087272.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络协议栈设计与分析Word格式文档下载.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络协议栈设计与分析Word格式文档下载.docx

1、2.2 全局变量52.3 配置变量6第三章OLSR 部分消息包数据结构73.1 OLSR 首部73.2 HELLO 消息包83.3 TC 消息包9第四章邻居发现94.1 节点信息的存储94.2 关于节点的具体操作分析114.3 邻居表的操作144.3.1 邻居表的初始化144.3.2 删除节点154.3.3 邻居节点的查找与插入174.3.4 邻居表的更新184.3.5 其他操作18第五章MPR 选择195.1 MPR 节点的添加和清除195.2 MPR 算法205.2.1 olsr_find_2_hop_neighbors_with_1_link 函数215.2.2 olse_chosen_

2、mpr 函数225.2.3 olsr_find_maximum_covered 函数225.2.4 olsr_check_mpr_changes 函数235.2.5 优化 MPR 集合24第六章拓扑控制消息洪泛246.1 TC 消息初始化与删除246.2 TC 消息处理262 / 36第七章路由表的计算267.1 主要数据结构分析277.1.1 rt_metric 和 rt_nexthop277.1.2 rt_entry277.1.3 路由类型287.2 路由表计算297.2.1 路由表的创建与删除297.2.2 最优路径31第八章总结323 / 36组内分工项目参与者数据结构部分代码分析邻居

3、发现部分代码分析万宇腾、刘伟麟MPR 选择部分代码分析TC 消息洪泛部分代码分析路由计算部分代码分析论文撰写肖明旺、万宇腾、丁英才、刘伟麟论文汇总第一章引言最佳链路状态路由协议( Optimized Link Status Routing Protocol, OLSR ),是专门为无线移动 Ad Hoc 网络提出来的一种标准化的先验式的优化链路状态路由协议。该协议的核心是使用了多点中继站(MPRs),MPRs 是被选择的节点,具有转发网络控制消息的能力。根据协议,每个节点之间周期性的交换控制信息,节点根据协议计算自己的网络拓扑。OLSR 向所有节点提供一个最短路径,该技术可以有效减少网络中数据

4、传输的信息量。每一个被邻居们选择的节点在控制信息里周期性的广播这一信息。因此, 可以说是由被选择的节点构成了主要的网络。相比经典的链路状态算法,OLSR 更适合移动无线局域网。该协议比较适合大型密集的网络。OLSR 有以下优点:1 利用 MPRs 来重传控制消息可以减少网络间消息的发送数量。4 / 362 只需要部分链路状态洪泛就可以获取最佳路径。3 网络越大则 OLSR 可优化的范围就越大也就能得到更好的性能在 OLSR 协议中,状态路由协议的网络信息状态由被推选的节点(MPR)掌控。所以,优化的一条途径是减少网络中的控制信息。只有被选择的 MPR 节点才能被用做路由节点,非 MPR 节点不

5、参与路由计算。MPR 可以减少网络中冗余消息的传送。每个节点传送消息给一跳邻居,但是邻居并不能再将此消息传送给其他节点。OSLR 协议逐跳寻找路径,每个节点利用本地信息向邻居节点发送路由包来获取路径。由于该协议在设计之初就考虑到协议的分布式工作,所以该协议不依赖于任何的中心,也不需要稳定的的控制信息的传播。每一个节点都周期性的发送信息,这样也保证了一个在可以接受范围内的丢包率。OLSR 协议在设计之初就考虑了协议的独立性,因此 OLSR 协议独立工作于一些协议。它对 IP 的包格式没有做任何改变,因此,任何 IP 协议栈都能在协议中正常使用。第二章代码介绍2.1 文件介绍OLSR 路由协议共有

6、 123 个源文件。我们将对部分源文件进行功能型介绍。表格 1 OLSR 协议部分源文件介绍文件描述Olsrd-0.6.0/link_set.c确定邻居表的信息Olsrd-0.6.0/lq_packet.h对 olsr,hello,TC 数据包以及其他一些数据结构的定义Olsrd-0.6.0/mpr.c关于 MPR 的一些操作Olsrd-0.6.0/mpr_selector_set.h定义了结构体 mpr_selector 表示 MPR 选择源节点的集合Olsrd-0.6.0/neighbor_table.h对邻居信息数据结构的定义Olsrd-0.6.0/neighbor_table.c对一跳

7、邻居和二跳邻居的处理Olsrd-0.6.0/olsr.c实现一些全局函数,比如网络拓扑结构的计算、路由表的计算与更新和错误处理函数等等Olsrd-0.6.0/olsr_cfg.h定义大部分常量,比如 DEF_WILLINGNESS 等Olsrd-0.6.0/olsr_spf.c实现 spf 树的构造从而实现迪杰斯特拉算法计算路由表5 / 36Olsrd-0.6.0/routing_table.c路由表的处理Olsrd-0.6.0/TC_set.cTC 消息的洪泛2.2 全局变量在 olsr 路由协议中使用的全局变量有许多,我们在这里只介绍部分重要的全局变量。表格 2 OLSR 协议部分全局变量

8、介绍全局变量数据类型olsrportnit16_tOLSR 消息发送接收的端口号rt_protonit8_t路由表计算的所遵循的协议willingnessWILL_ALWAYS 的邻居节点集合use_hysteresisbool判断消息是否迟滞min_tc_vtimefloatTC 消息 vtime 的最小取值max_tc_vtimeTC 消息 vtime 的最大取值max_jitter消息传播的最大抖动changes_topology判断拓扑信息是否变化changes_neighborhood判断邻居信息是否变化2.3 配置表格 3 OLSR 路由协议配置名称默认值DEF_IP_VERSIO

9、N DEF_USE_HYST DEF_LQ_LEVEL DEF_OLSRPORT DEF_MIN_TC_VTIME DEF_GW_TYPE DEF_DOWNLINK_SPEED MAX_LQ_LEVEL MIN_LQ_LEVELDEF_RTPROTO缺省 ip 协议域缺省消息迟滞缺省链路质量等级缺省 olsr 端口号TC 消息 vtime 最小取值缺省网关类型缺省的链路下载速度 缺省链路质量最高等级缺省链路质量最高等级缺省的路由协议AF_INETFalse 26980.0GW_UOLINk_IPV461024kb/s 2MAX_TTLMAXJITTER定义 ttl 最大值Olsr 消息传播最大

10、抖动0.165msHELLO_INTERVAL/4COOKIE_ID_MAX系统 cookie 数量最大值25MAXMESSAGESIZE广播数据包大小的最大值1500kb6 / 36OLSR_LINK_JITTER OLSR_LINK_HELLO_JITTER OLSR_LINK_SYM_JITTER OLSR_LINK_LOSS_JITTERolsr 消息抖动时间HELLO 消息抖动时间系统抖动时间数据包丢失抖动时间5s 0s 0s 0s第三章OLSR 部分消息包数据结构OLSR使用统一的数据包格式,使用UDP通信,数据包嵌入到UDP数据报在网络上传输。每个数据包封装一个或多个消息,邮件分

11、享通用报头格式,使节点能够正确接收和重传一个未知类型的消息。如果数据包不包含任何信息(数据包的长度小于或等于该数据包报头的大小),数据包就会默默的丢弃。每一个消息都会分配一个唯一的标识号,用来确保消息不重传。OLSR 数据包一般包含以下几部分:消息类型,VTIME 邮件大小,发端地址,生存时间,跳数,消息序列号和消息。其中 VTIME 是表示接收后很长时间节点如何, 确保数据包中的消息有效;生存时间包含最大跳数,如果被重发,则减 1;消息序列号被用来确保给定的消息被节点转发的次数不超过一次。3.1 OLSR 首部-Olsr-lq_packet.holsr_common是OLSR协议基本数据包。

12、其中包含以下几部分:type,消息类型;vtime, 表示接收后很长时间节点如何,确保数据包中的消息有效;size,消息大小;orig,发端地址;ttl,跳数,消息在传递过程中最大跳数,每转发一次,ttl减1;hops,此消息在传递过程中经历的跳数; seqno,消息的序列号,这是唯一不变的,以确保消息不回被重发。表格 4 OLSR 协议数据包Packet LengthPacket Sequence NumberMessage TypeVtimeMessage Size7 / 36Originator AddressTime To LiveHop CountMessage Sequence NumberMESSAGE3.2 HELLO 消息包HELLO用于建立一个节点的邻居表,其中包括邻居节点的地址以及本节点到邻居节点的延时和开销,OLSR采用周期性

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1