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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(北邮大三交换原理实验四MPLS多协议标记交换.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

北邮大三交换原理实验四MPLS多协议标记交换.doc

1、现代交换原理实验报告实验名称 MPLS 多协议标记交换实验 班 级 学 号 姓 名 实验 4 MPLS 多协议标记交换实验一、实验目的安排的三个编程实验主要用于加强学生对 MPLS 交换中标记请求、标记分配与分发、标记分组转发的理解。二、实验内容和实验步骤多协议标记交换 MPLS( Multiple Protocol Labeled Switching)技术是将第二层交换和第三层路由结合起来的一种 L2/L3 集成数据传输技术。 MPLS 是一项面向连接的交换技术,因此有建立连接的过程。各个 MPLS 设备运行 路由协议,在标记分发协议 LDP 的控制下根据计算得到的路由在相邻的路由器进行标记

2、分配和分发,从而通过标记的拼接建立起从网络入口到出口的标记交换路径LSP。 在数据转发过程中,入口标记路由器 LER 根据数据流的属性比如网络层目的地址等将分组映射到某一转发等价类 FEC,并为分组绑定标记。核心标记交换路由器 LSR 只需根据分组中所携带的标记进行转发即可。出口标记路由器 LER弹出标记,根据分组的网络层目的地址将分组转发到下一跳。MPLS 节点(MPLS 标记交换路由器 LSR 或 MPLS 边缘路由器 LER)均要创建和维护传统的路由表和标记信息库 LIB。路由表记录记录路由信息,用于转发网络层分组和标记分发从而建立标记交换路径。LIB 记录了本地节点分配的标记与从邻接

3、MPLS 节点收到的标记之间的映射关系,用于标记分组的转发。MPLS 技术的核心实质在于:( 1)网络中分组基于标记的转发( 2)LDP 协议控制下的进行标记分发从而建立标记交换路径 LSP。实验网络的拓扑结构(节点分布示意图):三、源代码3.1 实验主要数据结构所需要的头文件:“mplsconstant.h“其中的主要数据结构为:/发送的请求信息包数据结构struct ReqTypeint iFirstNode; /请求信息包的源节点int iEndNode; /请求信息包的目的节点double ipaddress; /请求信息包包含的网络层目的 IP 地址前缀(例如197.42);/路由表

4、表项的数据结构struct routertypedouble ipaddress; /网络层目的地址前缀int nexthop; /下一跳节点int lasthop; /上一跳节点int inpoint; /入端口号int outpoint; /出端口号;/标记信息表表项的数据结构struct libtypedouble ipaddress; /网络层目的地址前缀int inpoint; /入端口号int outpoint; /出端口号int inlabel; /入标记值int outlabel; /出标记值;/发送的标记信息包数据结构struct LabelPackint iFirstNod

5、e; /源节点号int iEndNode; /目的节点号int labelvalue; /标签值;struct funcusedtypestruct libtype libinfo; /包含的标记信息表项struct LabelPack labelinfo; /包含的标记信息包数据结构;/发送的标记分组信息包类型struct LabelledDataPack int iFirstNode; /源节点号int iEndNode; /目的节点号struct MessageType DataInfo; /包含的标记分组类型信息;/标记分组类型struct MessageType double ipa

6、ddress; /网络层目的地址前缀int labelvalue; /输出标签值;1:标记请求实验要求函数:extern “C“ _declspec(dllexport) struct ReqType req_process(int idnow,struct routertype routenow)struct ReqType reqtemp;return reqtemp;参数意义:int idnow:当前的节点号;struct routertype routenow:当前所指的路由表的表项;函数要求:根据提供的当前节点号和路由表表项值产生标记请求包;过程描述:标记请求包的源节点号由当前节点号

7、提供,目的节点号和 ip 地址前缀由当前所指的路由表表项的下一跳节点和 ip 地址前缀提供;2:标记分配与分发实验:extern “C“ _declspec(dllexport) struct funcusedtype label_process(struct routertype routenow,int labelout,int idnow)struct funcusedtype tempstruct;return tempstruct;参数意义:struct routertype routenow:当前所指的路由表表项;int labelout:分配的输出标签号;int idnow:当前

8、的节点号;函数要求:该函数要求根据提供的路由表当前表项、分配的输出标签号和当前节点号,构造一 funcusedtype 信息包。注:各节点的输入标签可以自由选定,但必须是1-9 的整数;过程描述:该 funcusedtype 信息包的 libinfo 部分可由当前的路由表表项、当前分配的标签号的有关部分构成;labelinfo 部分由当前节点号和当前的路由表表项的有关部分构成; 3标记分组转发实验extern “C“ _declspec(dllexport) struct LabelledDataPack pack_process(struct routertype routenow,stru

9、ct libtype libnow,int idnow)struct LabelledDataPack packtemp;return packtemp;参数意义:struct routertype routenow:当前所指的路由表表项;struct libtype libnow:当前的标签信息表表项;int idnow:当前的节点号;函数要求:该函数要求根据提供的路由表表项、标签信息表表项和当前节点号,构造出一个标签数据信息包。过程描述:该标签信息包的源节点、目的节点、IP 地址前缀和标签值均可由当前节点号、路由表表项和标签信息表表项构成;3.2 源代码1. 标记请求实验:#include

10、 “mplsconstant.h“ extern “C“ _declspec(dllexport) struct ReqType req_process(int idnow,struct routertype routenow)struct ReqType reqtemp;reqtemp.iFirstNode=idnow; reqtemp.iEndNode=routenow.nexthop; reqtemp.ipaddress=routenow.ipaddress; return reqtemp;2. 标记分配与分发实验:#include “mplsconstant.h“ extern “C“

11、 _declspec(dllexport) struct funcusedtype label_process(struct routertype routenow,int labelout,int idnow)struct funcusedtype tempstruct;tempstruct.libinfo.ipaddress=routenow.ipaddress; tempstruct.libinfo.inpoint=routenow.inpoint; tempstruct.libinfo.outpoint=routenow.outpoint; tempstruct.libinfo.inl

12、abel=idnow%9+1;/使如标签号恰为两两不相等的 1-9 的整数 tempstruct.libinfo.outlabel=labelout; tempstruct.labelinfo.iFirstNode=idnow; tempstruct.labelinfo.iEndNode=routenow.lasthop; tempstruct.labelinfo.labelvalue=tempstruct.libinfo.inlabel; return tempstruct;3. 标记分组转发实验:#include “mplsconstant.h“extern “C“ _declspec(d

13、llexport) struct LabelledDataPack pack_process(struct routertype routenow,struct libtype libnow,int idnow)struct LabelledDataPack packtemp;packtemp.iFirstNode=idnow; packtemp.iEndNode=routenow.nexthop; packtemp.DataInfo.ipaddress=routenow.ipaddress; packtemp.DataInfo.labelvalue=libnow.outlabel; return packtemp;四、实验结果1、发送请求标记的信息包的内容都是 REQ+194.27。从源主机的边缘路由器一直到目的主机的边缘路由器。2、从目的主机的边缘路由器返回一个分配的标记信息包。其中边缘路由器不会使用这个程序。3、连接建立,可以开始按照标记好的路径从源主机转发分组到目的主机。一路的路由进出标记和第二个部分建立的一致。五、实验小结通过本次实验对结果的观察以及代码的研究,和同学们讨论弄明白了别人的每一步代码应该是怎样编写的,进一步加深了对于 MPLS 交换中标记请求、标记分配与分发、标记分组转发的理解。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。