(完整word版)基于click自定义协议软件路由器的设计与实现

上传人:夏** 文档编号:498951093 上传时间:2022-09-16 格式:DOC 页数:35 大小:876.50KB
返回 下载 相关 举报
(完整word版)基于click自定义协议软件路由器的设计与实现_第1页
第1页 / 共35页
(完整word版)基于click自定义协议软件路由器的设计与实现_第2页
第2页 / 共35页
(完整word版)基于click自定义协议软件路由器的设计与实现_第3页
第3页 / 共35页
(完整word版)基于click自定义协议软件路由器的设计与实现_第4页
第4页 / 共35页
(完整word版)基于click自定义协议软件路由器的设计与实现_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《(完整word版)基于click自定义协议软件路由器的设计与实现》由会员分享,可在线阅读,更多相关《(完整word版)基于click自定义协议软件路由器的设计与实现(35页珍藏版)》请在金锄头文库上搜索。

1、网络协议设计实验设计文档基于click自定义协议软件路由器的设计与实现二一四年十二月i目录一、实验概要及实验设计 1(一)实验概要 1(二)实验目的 1(三)实验分析 11、协议分析 12、协议设计 2二、实验设计 4(一)实验流程 4(二)click 路由器总体设计 51. 路由器报文分类概要设计 52. 路由器报文转发概要设计 63. Label 标签信息库结构 94. 优先级调度概要设计 95. 基于优先级的限速功能的概要设计 10(三)click 路由器转发流程设计 111. PSP路由转发流程详细设计 112. Label报文转发详细设计 12(四)主要组件设计 141. Fastp

2、spsource组件 142. LableRouteTable 1.53. LableLookup 1. 54. RateLimit 16三、实验演示 17(一)PSP路由转发测试171. 实验拓扑图 172. 实验测试方法 173. 配置文件 174. 测试结果 185. 结果总结 20(二)基于 Label 的路由转发测试 211. 实验拓扑图 212. 配置文件 213. 测试结果 214. 结果总结 21(三)优先级队列调度功能测试 211. 实验拓扑图 212. 实验测试方法 213. 配置文件 224. 测试结果 235. 结果总结 24(四)标签流按优先级分别进行限速功能测试 2

3、41. 实验拓扑图 242. 配置文件 253. 测试结果 264. 结果总结 27四、实验分工 27#、实验概要及实验设计(一)实验概要本实验目的为基于已有的 click 开源软件实现一个自定义协议 的软件路由器完整转发流程, 具体包含五个核心任务: 报文分类处理; PSP报文分组转发流程(包含PSP头检查、TTL减一、转发表);定长 标签交换流程(包含标签头解封装、标签表、标签头封装) ;标签流 8 个优先级队列调度;标签流按照优先级分别进行限速。(二)实验目的通过实验设计, 深入理解软件路由器的基本原理、 组成和实现, 掌握计算机网络研究所需的基本设计技能, 包括系统设计能力、 软件 编

4、程能力、 整体表述能力和新思想的实验验证能力, 为开展计算机网 络方向的深入研究奠定实际验证基础。(三)实验分析1、协议分析一个完整的路由协议需要完成的功能包含以下内容:制定指导数 据报文分组从一个网络到另一个网络的规定和标准; 创建路由表, 并 维护网络拓扑结构;运行路由协议,执行路由选择和分组转发功能。这对我们接下来的协议设计提出了基本的要求, 即对于网络中的每一 层都需要定义报文的格式,然后对于报文在网络中的发送、接收和转 发都有稳定的拓扑结构。2、协议设计一个自定义的协议簇(ABC,包括地址编址结构、网络互连与 路由转发等多个简单协议,对其进行详细说明如下:(1)地址编制结构(64位)

5、,其中前16位为网络标识,后48 为接口标识。实际操作中,接口标识为该接口的MAC地址, 与前16位拼接为64位地址。16位48位网络标识接口标识(2)链路层协议,规定了以太网的封装格式如下:目的地址源地址类型数据CRC66246-15004其中,IP报文类型定义为0x6000,标签(LABEL报文类 型定义为0x6001。(3)2.5层标签交换协议,规定了标签交换头的封装格式,并约 定标签交换头后默认为PSP格式的报文。标签IDQoSTTL24位4位4位(4)网络层协议,定义了网络层报文头格式文的序号;载荷长度为不包括报文头的报文内容长度;下 一报头类型为1时表示为ABC_ICM协议,为2时

6、表示为 ABC_UD协议;跳数限制最大为64,并且每经过一个路由 器,其值减1,其值为0时报文被丢弃;源地址和目的地 址分别记录发送方和目的方地址。(5) 定义了 ABC_UDP(ABC不可靠传输协议)报文头格式16位源端口号16位口的端口号32位UDP载荷长度(6) 基本实验拓扑如图所示,根据以太网报文头中包含的以太网的目的地址、源地址和报文类型,ABC协议就能实现一个简单的报文收发过程以太网日的地址2Z23.24.25.25.38以太网源地址22.23,24,25.26.36类型0x6000报文发送方1 M丿(7)包含转发过程的实验拓扑一个简单的转发过程包含以下的步骤:从发送方接收报文;更

7、改报文的源地址以及目的地址;通过端口发出报文。示意图如下:22 23 24 22 23.24.二、实验设计(一)实验流程1. 准备工作a)下载修改后的Click源代码;b)安装Fedora虚拟机,配置开发、测试环境;c)编译源码,运行Demo实验;d)学习Click基础知识,查看源码,了解组件的设计方法和 组件的配置文件。2. 系统概要设计充分了解实验任务,进行初步的概要设计,设计包括组件的功能和组织3. 编码4. 实验环境搭建5. 代码集成和测试首先各个组件需要通过单元测试,最后集成起来进行系统测 试。6. 编写实验报告文档(二)click路由器总体设计1. 路由器报文分类概要设计报文主要分

8、为四种类型:ARP Query报文、ARP Response报文、PSP报文、Label报文。从输入组件中获取数据包,发送到数据包分类器。概要图如下图所示:FromDevice1FromDevice2Classifier (数据包分类器)11ARP QueryPSPLabelARP Respose其中,根据以太网头部类型信息进行分类,如下所示:ARP QueryPSPLabelARP Response类型码0x08060x60000x60010x08062.路由器报文转发概要设计路由器报文转发的概要设计图如下所示,其中包含两条主线:一是基于PSP协议的路由转发,二是基于 Label标签的路由转

9、发两条主线的公用组件的作用如下表所示:组件/流程名称组件/流程作用FromDevice从指定端口获取数据包,转发给下一个组件Classifier数据包类型分类器,根据以太网头部类型信息把数据分为四类:ARP Query、ARP ResponsePSP报文、Label报文TTL - 1将报文的TTL进行减一操作,当TTL为时,不再转发报文ARP Query查询目的IP对应的Mac地址Modify Ether Header修改以太网头部ToDevice将数据包发送到指定端口对于PSP报文的路由转发,其中的两个组件功能如下:组件/流程名称组件/流程作用Get Dest Address获取pspB文的

10、目的地址Lookup Router Table查询路由表,得到要转发的端口对于Label报文的路由转发,其中的两个组件的功能如下:组件/流程名称组件/流程作用Lookup LIB根据标签号,查询标签信息库,得到新的标签 号和转发端口。Modify Label for next修改标签头部信息中的标签号为查表得到新jump标签号(1)对于PSP报文路由转发,首先根据 PSP头部中的目的地址 查询路由表,得到转发端口;然后进行TTL-1修改Ether头部 中的目的Mac,然后从查询到的转发端口进行发送。(2)对于急于标签的路由转发,首先根据Label头部的标签号查询标签信息库,得到新的标签号和转发

11、端口,并修改Label头部的标签号为新的标签号。然后进行TTL-1,修改Ether头部中 的目的Mac,然后从查询到的转发端口进行发送。#FromDevicelFromDevice2 一Classifier (数据包分类器)ARP QueryLabelARP Respose1Get Dest AddressLookup LIB(标签信息库)Lookup RouterTableModify Label forn ext jump3. Label标签信息库结构标签信息库维护基于标签交换的路由转发信息。当一个带 有标签的报文进入路由器的时候,首先根据标签头部的LabelID查找标签信息库,得到下一跳

12、的Label ID和转发端口。其结 构信息如下:Label INPSP Address PrefixLabel Out 1Out Port4.优先级调度概要设计对于标签交换,当输入组件获取数据包,经数据分类器 分类后,确定为Label报文,转发给优先级分类器。优先级 分类器根据LabeI头部中的QOS字段进行优先级判定,分 别加入不同优先级的队列中。优先级调度组件根据优先级 调度算法进行调度,从不同优先级的队列中获取数据包, 发送到待发送数据队列。其中,调度算法是为了保证低优 先级的报文不至于饿死,采用时间片轮转的方式,即给高 优先的队列分配更多的时间。Label Packet5.基于优先级的

13、限速功能的概要设计(三)click路由器转发流程设计1. PSP路由转发流程详细设计FastpspsourceClick RouterFromDevicelMlGet Dest Addresstat-Lookup Router TableTTL-1ADD to Waiting-Send QueueModify Ether HeaderARPQuerierT组件/流程功能描述FastPSPSourc组件按照一定的速度产生PSP报文,模拟发送 端FromDevice 组件从指定的端口获取数据包,转发到下一个组件Classifier 组件数据包分类器,根据以太网头部的类型信息进行分类,PSP报文的类型信息为0x6000Get Dest Address该步骤从PSP报文头部获取目的地址,用 来查询路由表,获取转发端口Lookup Router table根据目的地址,查找路由表,获取转发端口TTL-1将报文TTL进行减一操作ARP QueryARP查询,获取下一跳的目的 Mac地址Modify Ethernet根据查询到的下一跳目的 Mac地址,修Header改报文以太网头部目的Mac字段Add to Queue添加到待发送数据包的队列中ToDev

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号