北邮 大三下 现代交换原理 实验四 MPLS交换实验报告
北邮大三交换理实验四MPLS多协议标记交换
《现代交换原理》实验报告实验名称MPLS多协议标记交换实验班级学号姓名实验4 MPLS多协议标记交换实验一、实验目的安排的三个编程实验主要用于加强学生对MPLS交换中标记请求、标记分配与分发、标记分组转发的理解。
二、实验内容和实验步骤多协议标记交换MPLS(Multiple Protocol Labeled Switching)技术是将第二层交换和第三层路由结合起来的一种L2/L3集成数据传输技术。
MPLS是一项面向连接的交换技术,因此有建立连接的过程。
各个MPLS设备运行路由协议,在标记分发协议LDP的控制下根据计算得到的路由在相邻的路由器进行标记分配和分发,从而通过标记的拼接建立起从网络入口到出口的标记交换路径LSP。
在数据转发过程中,入口标记路由器LER根据数据流的属性比如网络层目的地址等将分组映射到某一转发等价类FEC,并为分组绑定标记。
核心标记交换路由器LSR只需根据分组中所携带的标记进行转发即可。
出口标记路由器LER弹出标记,根据分组的网络层目的地址将分组转发到下一跳。
MPLS节点(MPLS 标记交换路由器LSR或MPLS边缘路由器LER)均要创建和维护传统的路由表和标记信息库LIB。
路由表记录记录路由信息,用于转发网络层分组和标记分发从而建立标记交换路径。
LIB记录了本地节点分配的标记与从邻接MPLS节点收到的标记之间的映射关系,用于标记分组的转发。
MPLS技术的核心实质在于:(1)网络中分组基于标记的转发(2)LDP协议控制下的进行标记分发从而建立标记交换路径LSP。
实验网络的拓扑结构(节点分布示意图):三、源代码3.1 实验主要数据结构所需要的头文件:"mplsconstant.h"其中的主要数据结构为://发送的请求信息包数据结构struct ReqType{int iFirstNode; //请求信息包的源节点int iEndNode; //请求信息包的目的节点double ipaddress; //请求信息包包含的网络层目的IP地址前缀(例如197.42)};//路由表表项的数据结构struct routertype{double ipaddress; //网络层目的地址前缀int nexthop; //下一跳节点int lasthop; //上一跳节点int inpoint; //入端口号int outpoint; //出端口号};//标记信息表表项的数据结构struct libtype{double ipaddress; //网络层目的地址前缀int inpoint; //入端口号int outpoint; //出端口号int inlabel; //入标记值int outlabel; //出标记值};//发送的标记信息包数据结构struct LabelPack{int iFirstNode; //源节点号int iEndNode; //目的节点号int labelvalue; //标签值};struct funcusedtype{struct libtype libinfo; //包含的标记信息表项struct LabelPack labelinfo; //包含的标记信息包数据结构};//发送的标记分组信息包类型struct LabelledDataPack{int iFirstNode; //源节点号int iEndNode; //目的节点号struct MessageType DataInfo; //包含的标记分组类型信息};//标记分组类型struct MessageType{double ipaddress; //网络层目的地址前缀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:当前所指的路由表的表项;函数要求:根据提供的当前节点号和路由表表项值产生标记请求包;过程描述:标记请求包的源节点号由当前节点号提供,目的节点号和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:当前的节点号;函数要求:该函数要求根据提供的路由表当前表项、分配的输出标签号和当前节点号,构造一funcusedtype信息包。
现代交换原理实验指导书
交换仿真实验平台简介一.实验平台概述:下图即交换仿真实验系统平台的主界面,因为该实验系统中多数的实验需要编程实现,我们的主界面采用了像Visual Studio、Dephi这样的集成开发环境界面,集成了需编程实验需要的编辑、编译、链接、运行、演示以及帮助等常用的工具。
下面我们对上面的实验环境进行简单的介绍,以帮助大家尽早地熟悉该实验环境。
二. 有关实验平台的视图:本实验系统包括两个视图:编辑视图和结果视图。
编辑视图:在主界面上半部分的视图为编辑视图,主要用于编辑源代码使用;结果视图:在主界面下半部分的视图为结果视图,主要用于显示源代码编译、链接的结果信息;两个视图都含有垂直滚动条,并且两个视图的相对大小可以手工调节。
三. 有关实验平台的菜单:在主菜单中包括“选择实验”、“源文件编辑”、“编译运行”、“帮助”几个部分。
1.在“选择实验”菜单下包括基础实验(程控交换实验)、提高实验(分组实验、ATM 实验、MPLS实验)的相关实验项,点击相应菜单项后可以进入该实验;我们也可在一个实验下通过“选择实验”菜单切换到其他的实验;退出实验的“退出”选项也在该菜单项(退出该实验环境也可以通过点击标题栏的“关闭”按钮实现);2.在“源文件编辑”菜单下(在需编程实验中可用)包括了常用的编辑命令:撤销、剪切、复制以及粘贴等。
因为该菜单主要针对需编程实验,所以保存源代码文件的命令也集成在了该菜单项下。
这里要强调的是当您点击“保存”命令时,我们会把视图内的内容自动保存在您安装目录下的sourcefile目录下。
当下一次您重新开启该实验系统时,该目录下的文件将会重写,所以,如果您需要备份源文件时,我们建议两种办法:1.在实验过程中,把您需要备份的文件另存于其他目录下;2.在实验结束后,把您安装程序的“sourcefile”子目录下需要备份的文件另存于他处。
3.在“编译运行”菜单下包含了“编译”、“连接”、“运行”、“演示”四个菜单项,它们的用途如下:编译菜单项:编译(Compile)当前视图中的源代码文件,并把编译后的结果显示在结果视图下面。
4MPLS的标签交换路径
MPLS宽带网络互联技术北京邮电大学继续教育学院靳浩2007年4月20日第二部分MPLS的关键技术MPLS的标签标签分发协议LDPMPLS网中应用的路由技术MPLS 的标签交换路径LSPMPLS的网络管理与维护技术标签交换路径LSP概述LSP建立的控制模式LSP路由选择LSP隧道基于约束的LSP与CR-LDP扩展的RSVP与RSVP隧道LSP的故障检测及保护LSP的快速重选路由小结标签交换路径LSP概述LSP的定义LSP是指具心程囟‵EC的分组在传输时经过的标签交换路由器集合构成的数据传输通路。
LSP的种类不同拓扑结构的LSPMPLS框架协议规定MPLS支持四种LSP点到点、点到多点、多点到点和多点到多点LSP。
决定LSP的因素交换机LSR的能力和交换路径所要承载的业务流类型。
MPLS在RSVP和LDP信令的控制下让LSP具有COS 和QOS属性称为具有约束的LSP。
标签交换路径LSPLSP建立的控制模式分组FEC建立一条LSP的方式有独立的LSP控制建立模式和有序的LSP控制建立模式。
独立的LSP控制建立模式有序的LSP控制建立模式两种模式的使用特定FEC的业务流沿规定属性的路由传输时使用有序模式。
两种模式可以交互使用。
有序模式要求所有LSR 均采用有序模式。
标签交换路径LSPLSP路由选择目前的MPLS协议中支持两种路由选择即逐跳LSP路由和显式LSP路由。
逐跳LSP路由允许每个节点独立地为每个FEC 选择下一跳。
与传统IP类似。
显式LSP路由每个LSR不是自己独立决定下一跳的选择而是某个LSR规定部分LSP或整个LSP。
显式路由的各个节点可以由操作员配置或由某个节点动态选出。
显式路由适于实现流量工程。
多路径路由LSR可以为某个径流赋给它多个标签一个标签代表一条路由每个标签引导径流的一部分沿标签指定路由传输。
标签交换路径LSPLSP隧道LSP隧道的概念LSP隧道的类型LSP隧道LSP隧道的概念当路由器Ru需要采用显式路由方式将一些数据包传给RdRu和Rd可能不是一跳接一跳路径上的相连贯路由器Rd可能也不是分组的最终接收者这时可以将数据包封装在网络层分组后通过隧道发Rd。
北京邮电大学交换仿真指导书
一、简介“现代交换原理仿真实验系统”是为北京邮电大学国家级精品课程《现代交换原理》而设计的配套实验系统,它是2001年北京市教委教改立项项目。
课程实验教学环节的设置,目的是让学生理解和掌握现代通信网中的交换原理和一些实用技术,进一步吸收课堂上所学的理论知识,加深对各种交换技术的了解,培养学生动手能力、创新能力和良好的科研素质。
它是现代交换原理课程教学过程中必不可少的一个重要环节。
为同时解决大量学生同时实验,并且使进行交换系统核心软件实验成为可能,利用微机进行仿真实验是一种行之有效的好方法。
经过十多年坚持不懈的努力,我们研制并不断改进、创新,推出了这套适应教学特点,且灵活、经济、实用的现代交换原理仿真实验系统。
该实验系统的基本思想是这样的:向学生提供仿真的程控数字电话交换机、分组交换机、ATM交换机、MPLS交换机,这些“交换机”能完成跟实际交换系统一样的各种功能。
在这里所谓“仿真”是指交换机的所有硬件动作均由软件模拟完成。
将实验软件系统装在微机上,学生通过对微机键盘的操作,即完成一系列诸如摘机、拨号、挂机等动作,微机屏幕显示上述各个过程及整个交换机中的通信过程,效果直观形象。
“交换机”的通信处理软件部分由各种不同模块组成,且有“标准接口”连接各个模块,要求学生按照规定的接口和数据结构来完成其中几个关键功能模块的设计和编程,并将该程序装入系统内,替代系统内原有相同的模块,检验是否能完成正常的通信处理,若能,则表明学生所编程序可行,实验通过。
在实验中,学生编程所用语言为学生普遍使用和掌握的C语言。
掌握专业理论和专业技能是对人才的基本要求,具有良好的科研素质是科技人才能够服务于社会的前提,具有创新能力的人才才能面对知识创新和技术创新的挑战。
专业理论和技能的掌握、良好科研素质和创新能力的培养均离不开实践教学环节。
通过实践教学环节的实施,应使学生学会将所学理论知识应用于实际,并达到培养学生的实际动手能力、严谨的科学态度和求真务实的作风以及创新能力的目的。
现代交换原理实验报告
实验1 交换系统组成与结构一、交换系统总体介绍图1-1是程控交换实验系统方框图,图1-2是程控交换实验系统结构图。
图1-1 交换系统方框图程控交换系统由14个电路模块组成,各模块的组成及主要作用如下: 1.模块1~4:模块1~4分别是机甲(一)、甲(二)、乙(一)、乙(二)的用户线接口电路和PCM 编译码电路。
具体叙述如下:(1) PBL 38710用来实现二/四线变换,摘挂机检出,铃流驱动和用户话机接口等功能;图1-2 R Z 8623程控交换实验系统结构图(2) TP3067主要实现PCM编译码功能;(3) MT8870(甲方或乙方的两个话机合用一片)用来接收双音多频信号,把检测到的被叫用户,送给记发器CPU以便控制交换网络接通被叫用户话路。
2.模块5:模块5是中央处理器电路,主要由U102(AT89C51)组成,完成键盘扫描和液晶显示、工作状态指示与显示、交换命令的转接和控制接收学生的下载程序。
3.模块6:模块6是CPLD可编程模块(U101),它产生并输出下列信号:(1)500Hz连续方波(即拨号音信号)(2)忙音脉冲,即0.35秒通、0.35秒断的周期方波(3)回铃音脉冲,即1秒通、4秒断的周期方波(4)25Hz周期方波(振铃信号)(5)PCM编译码器的时钟信号电路,它提供四片TP3067所需的2048KHz及8KHz的时钟脉冲。
(6)各接口间的控制信号。
4.模块7:模块7是交换网络,它包括三大部分:(1)人工交换网络部分:主要由S201和M201组成,通过手动设置跳线完成人工交换工作。
(2)空分交换网络部分:主要由MT8816芯片构成,完成空分路由选通。
(3)数字时分程控交换网络:主要由MT8980芯片、74HC573及一些外围电路构成。
5.模块8:模块8是记发器电路:它是CPU中央处理器及控制检测电路,主要由CPU芯片U101 (AT89C51)、CPLD 可编程器件EPM7128、锁存器74HC573等组成,它们在系统软件的作用下,完成对话机状态的监视、信号音及铃流输出的控制、的识别、交换命令发送等功能。
现代交换原理实验指导书V1.0
现代交换原理仿真实验 实验指导书(V1.0版)卞佳丽 著北京邮电大学计算机科学与技术学院2007年6月目录第一章仿真实验概述 (1)1.1 仿真实验设置的必要性 (1)1.2 仿真实验教学体系 (2)第二章系统安装及使用说明 (4)2.1 系统安装 (4)2.2 使用说明 (5)第三章基础型实验 (8)3.1 时间表调度实验 (9)3.2 摘挂机检测实验 (14)3.3 脉冲计数实验 (16)3.4 位间隔识别实验 (19)3.5 软件送音实验 (22)3.6 驱动交换网络实验 (23)第四章提高型实验 (25)4.1 分组交换实验 (25)4.2 ATM交换实验 (33)4.3 MPLS交换实验 (37)第一章实验概述“现代交换原理仿真实验系统”是为北京邮电大学国家级精品课程《现代交换原理》而设计的配套实验系统。
该实验教学环节设置的目的是让学生理解和掌握现代通信网中各种交换方式的交换原理和相关技术,进一步吸收课堂上所学的理论知识,加深对各种交换方式特点和交换关键技术的理解和掌握,培养学生的动手能力、独立分析与解决问题的能力以及创新能力,使其具备良好的科研素质。
它是“现代交换原理”课程教学过程中必不可少的一个重要环节。
1.1 仿真实验设置的必要性交换设备是构成通信网的重要组成部分,交换技术是通信网的核心技术。
交换类课程是通信与信息类专业具有特色的、必不可少的专业基础课程。
随着计算机技术与通信技术越来越紧密的结合,该类课程也成为计算机专业的必修课程。
多年来国内外各院校交换类课程的实验课只停留在对典型机型的交换机体系结构的了解和对交换机操作维护终端进行数据设定、呼叫监视等操作维护类实验,如北京邮电大学计算机学院拥有国外著名交换机设备制造厂商的大型局用交换设备——AXE-10局用数字交换系统,学生可在实验室进行交换机认知实验,了解大型局用交换机的体系结构,通过操作维护终端进行数据维护、计费管理等操作。
现代交换技术综合实验报告
综合实验报告( 2010 -- 2011年度第二学期)名称:现代交换技术综合实验题目:现代交换技术实验院系:电信系班级:通信0803班学号: 9学生:雷玉芬指导教师:鲍慧、项洪印、丽娟、智雄设计周数: 2周成绩:日期:2011 年 6月MGCP IAD 接入实验一、实验的目的与要求了解MGCP IAD接入SoftX3000的数据的配置,并实现各用户之间的呼叫。
二、正文1.实验原理IAD是基于IP的VoIP(Voice over IP)/ FoIP(Fax over IP)的媒体接入网关。
可提供基于IP网络的高效、高质话音服务,为企业、小区、公司等提供小容量VoIP/FoIP解决方案。
IAD属于媒体接入层,是一种小容量的综合接入网关,提供语音和数据的综合接入能力。
在网络位置中更靠近最终用户,无专门的机房。
提供丰富的上行和下行接口,满足用户的不同需求,下图是IAD典型的组网图:MGCP(Media Gateway Control Protocol)协议是一个分布式IP网关系统的部协议,用于控制来自外部呼叫控制单元的IP语音(VoIP)网关。
从本质上说MGCP是一个主/从协议,网关需要执行媒体网关控制器发出的命令。
IAD采用MGCP协议与SoftX3000对接典型组网如图所示:MGCP IAD对接实验程序流程与配置解释实验配置流程图如下:硬件配置是对设备进行相关信令、话音、控制信息、业务数据等之前必须要做的工作,这好比我们要组装一台电脑,要把CPU、网卡、显示器等等一系列硬件通过一定的规则把电脑组装起来,但这样装起来的电脑是不能使用的,因为这样的电脑没有操作系统,没有加电,没有应用软件。
但是在使用电脑之前我们必须把这些硬件正确的装配起来。
硬件数据配置和本局数据配置是整个配置流程的最前端,只有完成了这两项配置工作,下面的协议配置、网关配置、业务数据配置等等才能生效。
硬件配置流程如下“数据配置是对呼叫源、段、计费方式等进行配置。
MPLS交换过程演示分析解析
课程设计报告现代交换原理课程设计题目:MPLS交换过程演示分析学生学号:学生姓名:专业:班级:指导教师:2014年6月18日目录绪论 (3)一.MPLS概念 (3)1.1什么是MPLS技术 (3)1.2几个基本概念 (4)二.MPLS原理 (4)2.1基本原理 (4)2.2MPLS网络的组成 (5)2.3MPLS的体系结构 (5)三.MPLS的工作过程 (6)四.MPLS信息传送演示 (8)4.1建立连接: (8)4.2数据传输: (8)4.3拆除连接: (10)五.MPLS技术的特点 (10)六.MPLS技术的发展方向 (11)6.1MPLS技术在传输网中的发展 (11)6.2MPLS在无线移动通信网中的发展 (11)七.MPLS技术的应用 (12)7.1基于MPLS的VPN (12)7.2基于MPLS的流量工程 (13)八.MPLS 技术的优势 (13)九.当前MPLS技术存在的问题 (14)9.1 对标签合并功能的支持 (14)9.2 环路问题 (15)9.3 MPLS实施区分服务 (15)9.4 ATM交换机对于CR-LDP的支持 (15)9.5 CR-LDP与RSVP扩展信号的互通问题 (15)十.环路处理 (16)参考文献: (16)试验心得 (17)MPLS交换过程演示分析绪论摘要:本文主要介绍了多协议标签交换(MPLS)技术的基本概念、工作原理、工作过程、特点、应用以及存在的问题。
关键词:MPLS ATM IP服务质量标签交换路由器标签边缘路由器近年来, 随着Internet网络通信的迅猛发展,通信业务从没有服务质量(QoS) 要求的低速数据传送业务向音频、视频、多媒体等对QoS 有严格要求的交互性宽带业务方向发展,迫切需要一个高带宽、业务发展受限少的宽带网络传输交换技术。
传统的Internet 采用“尽力而为(best - effort) ”的无连接的分组交换IP 技术,对时延、抖动等都没有要求,其无法保证用户QoS 的缺点,制约了IP技术在宽带网络中的进一步发展。
北邮大三交换原理实验四mpls多协议标记交换
《现代交换原理》实验报告实验名称MPLS多协议标记交换实验班级学号姓名实验4 MPLS多协议标记交换实验一、实验目的安排的三个编程实验主要用于加强学生对MPLS交换中标记请求、标记分配与分发、标记分组转发的理解。
二、实验内容和实验步骤多协议标记交换MPLS(Multiple Protocol Labeled Switching)技术是将第二层交换和第三层路由结合起来的一种L2/L3集成数据传输技术。
MPLS是一项面向连接的交换技术,因此有建立连接的过程。
各个MPLS设备运行路由协议,在标记分发协议LDP的控制下根据计算得到的路由在相邻的路由器进行标记分配和分发,从而通过标记的拼接建立起从网络入口到出口的标记交换路径LSP。
在数据转发过程中,入口标记路由器LER根据数据流的属性比如网络层目的地址等将分组映射到某一转发等价类FEC,并为分组绑定标记。
核心标记交换路由器LSR只需根据分组中所携带的标记进行转发即可。
出口标记路由器LER弹出标记,根据分组的网络层目的地址将分组转发到下一跳。
MPLS节点(MPLS 标记交换路由器LSR或MPLS边缘路由器LER)均要创建和维护传统的路由表和标记信息库LIB。
路由表记录记录路由信息,用于转发网络层分组和标记分发从而建立标记交换路径。
LIB记录了本地节点分配的标记与从邻接MPLS节点收到的标记之间的映射关系,用于标记分组的转发。
MPLS技术的核心实质在于:(1)网络中分组基于标记的转发(2)LDP协议控制下的进行标记分发从而建立标记交换路径LSP。
实验网络的拓扑结构(节点分布示意图):三、源代码3.1 实验主要数据结构所需要的头文件:"mplsconstant.h"其中的主要数据结构为://发送的请求信息包数据结构struct ReqType{int iFirstNode; //请求信息包的源节点int iEndNode; //请求信息包的目的节点double ipaddress; //请求信息包包含的网络层目的IP地址前缀(例如197.42)};//路由表表项的数据结构struct routertype{double ipaddress; //网络层目的地址前缀int nexthop; //下一跳节点int lasthop; //上一跳节点int inpoint; //入端口号int outpoint; //出端口号};//标记信息表表项的数据结构struct libtype{double ipaddress; //网络层目的地址前缀int inpoint; //入端口号int outpoint; //出端口号int inlabel; //入标记值int outlabel; //出标记值};//发送的标记信息包数据结构struct LabelPack{int iFirstNode; //源节点号int iEndNode; //目的节点号int labelvalue; //标签值};struct funcusedtype{struct libtype libinfo; //包含的标记信息表项struct LabelPack labelinfo; //包含的标记信息包数据结构};//发送的标记分组信息包类型struct LabelledDataPack{int iFirstNode; //源节点号int iEndNode; //目的节点号struct MessageType DataInfo; //包含的标记分组类型信息};//标记分组类型struct MessageType{double ipaddress; //网络层目的地址前缀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:当前所指的路由表的表项;函数要求:根据提供的当前节点号和路由表表项值产生标记请求包;过程描述:标记请求包的源节点号由当前节点号提供,目的节点号和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:当前的节点号;函数要求:该函数要求根据提供的路由表当前表项、分配的输出标签号和当前节点号,构造一funcusedtype信息包。
北邮计科大三现代交换技术实验报告全部代码时间表调度实验摘挂机检测实验
基础实验一时间表调度实验源代码#include "bconstant.h"extern "C" _declspec(dllexport)void initSchTable(int ScheduleTable[SchTabLen][SchTabWdh]) {int i;for(i=0;i<=19;i++){ScheduleTable[i][0]=0;}ScheduleTable[0][0]=1;for(i=0;i<=19;i++){ScheduleTable[i][1]=1;}for(i=0;i<=19;i++){ScheduleTable[i][2]=0;}ScheduleTable[0][2]=1;ScheduleTable[10][2]=1;return;}基础实验二摘挂机检测实验源代码extern "C" _declspec(dllexport) voidscanfor200(intlinestate200[LINEMAX], int linestate[LINEMAX],UpOnnode * head1,UpOnnode * end1){int i;UpOnnode * p;for(i=0;i<LINEMAX;i++){if(linestate[i]&~linestate200[i]){ p=new UpOnnode;p->phonestate=ehandup;p->linenum=i;p->next=0;end1->next=p;end1=p;}if(linestate200[i]&~linestate[i]){ p=new UpOnnode;p->phonestate=ehandon;p->linenum=i;p->next=0;end1->next=p;end1=p; }}if(i==LINEMAX)for(i=0;i<LINEMAX;i++)linestate200[i]=linestate[i];return; }基础实验三脉冲计数实验源代码void scanpulse(int linestate[LINEMAX],int linestate10[LINEMAX],int change[LINEMAX],int fchange[LINEMAX],int pulsenum[LINEMAX]){int i;for(i=0;i<LINEMAX;i++){change[i]=nor_op(linestate[i],linestate10[i]);fchange[i]=or_op(fchange[i],change[i]);if(change[i]&&(!linestate10[i]))pulsenum[i]=pulsenum[i]+1; }for(i=0;i<LINEMAX;i++) linestate10[i]=linestate[i];return; }基础实验四位间隔辨认实验源代码V oid scandigit(int linestate2[LINEMAX],int linestate100[LINEMAX],int pulsenum[LINEMAX],int fchange[LINEMAX],int lfchange[LINEMAX],Digitnode * head2,Digitnode * end2){ int i; Digitnode * p;for(i=0;i<LINEMAX;i++){if((!fchange[i])&&lfchange[i]){ if(linestate100[i]){ p=new Digitnode ;p->num=pulsenum[i];p->linenum=i;p->next=0;end2->next=p;end2=p;pulsenum[i]=0;} }}for(i=0;i<LINEMAX;i++){lfchange[i]=fchange[i];fchange[i]=0;linestate100[i]=linestate2[i];}return; }基础实验五软件送音实验源代码#include "bconstant.h"extern "C" _declspec(dllexport) int decide_ringtype(Userstate state) {switch(state){ case1:caller_ehandup;return 1;case2:caller_calledbusy;return 4;case3:theother_firstehandon; return 4;case4:dial_timer_timeout; return 4;case5:recvnum_timer_timeout; return 4;case6:connect_timer_timeout; return 4;case7:nulltone_timer_timeout; return 4;case8:ringback_timer_timeout; return 4;case9:busytone_timer_timeout; return 5;case10:caller_callednull; return 3;case11:called_onecallin; return 4;case12:caller_callconnected; return 2;}return 0;}基础实验六驱动互换网络实验源代码extern "C" _declspec(dllexport) void connect_network(inttimeslice_tnet[TIMESLICEMAX],int timeslice1,int timeslice2,int tag) { if(timeslice1<TIMESLICEMAX&×lice2<TIMESLICEMAX){ if(tag==1){ timeslice_tnet[timeslice2]=timeslice1;timeslice_tnet[timeslice1]=timeslice2; }else{timeslice_tnet[timeslice1]=0;timeslice_tnet[timeslice2]=0; }}return; }分组实验一分组互换演示实验一.实验目的该部分实验动态演示了分组传输过程,涉及X.25虚链路的建立、分组传输和X.25虚链路的拆除;重要体现了分组传输中面向连接的工作方式。
MPLS交换
IP网络技术: 特点:技术简单,可扩展性好,灵活性高 存在问题:传输效率低,无法保证服务质量 ATM网络技术: 特点:可满足多业务需求,传输效率高,保 证服务质量,有流量控制 存在问题:技术复杂,可扩展性不好
3
IP 与ATM融合的两种模式(1)
重叠模式
IP层运行在ATM层之上 2个地址空间(IP地址与ATM地址) 2种选路协议(IP选路协议与ATM选路协议) 需要地址解析功能 CIP、LANE、MPOA是重叠模式
标签分配与选路功能
标签分配方法: 1)下游分配 2)下游按需分配 3)上游分配
Tag可支持的选路功能:
1)基于目的地的选路 2)分级选路 3)灵活选路
16
入口 Tag x x
地址 前缀 128.89. 0.0/16 171.69. 0.0/16
出口 Tag 4 5
出口 接口 1 1
链路 信息
入口 Tag 4 5
128.89.26.4 Data 图8.25 IP分组的标记交换流程
17
上游标签分配
下游标签分配
19
传统的路由器网络
两大问题
业务的服务质量无法保证 网络的扩展性较差
在路由器数量达到一定程度时,不但路由器的拓 扑结构变得很复杂,管理困难 而且路由协议和路由算法也会增大到令线路和路 由器都难以承受
控制组件:选路功能、生成标签和网络层路由的捆合信息、在 Tag交换器之间传送标签捆合信息。
14
Tag交换的基本原理
1)传统路由协议hop-by-hop方式基于目的地址的选路
2)标签分配和标签的捆合,形成标签信息库TIB
现代交换原理实验报告
课程名称:现代交换原理实验实验一:交换系统组成与结构一.实验目的:全面了解交换系统组成与结构及实验操作方法二.实验要求:1.从总体上初步熟悉两部单机用空分交换方式进行通话。
2.初步建立程控交换实验系统及交换,中继通信的概念。
三:实验仪器设备和材料清单:程控交换实验箱,双踪示波器。
四:实验方法与步骤:1.打开交流电源开关,电源输出电路加电,电源发光指示二极管亮。
2.按一下薄膜输入开关“复位”键,进行显示菜单状态。
3.熟悉菜单主要工作状态,分“人工交换”,“空分交换”,“数字时分交换”三种工作方式。
4.以“”方式为例,对“”与“”正常呼叫,熟悉信令程控交换与语音信号通信交换全过程。
5.呼叫时,甲方一路设置为48,乙方一路设置为68,甲方二路设置为49,乙方二路设置为69.五:实验报告要求:总结交换系统基本工作原理。
程控交换机实质上是采用计算机进行“存储程序控制”的交换机,它将各种控制功能与方法编成程序,存入存储器,利用对外部状态的扫描数据和存储程序来控制,管理整个交换系统的工作。
六:思考题:程控交换系统由哪些部分组成?1)数字交换网络。
2)接口。
3)信令设备。
4)控制系统。
实验二:用户接口模块实验一:实验目的:1.全面了解用户线接口电路功能(BORST)的作用及其实现方法。
2.通过对用户模块电路PBL 387 10电路的学习与实验,进一步加深对BORST功能的理解。
二:实验要求:1.了解用户模块PBL 387 10的主要性能与特点。
2.熟悉用PBL 387 10组成的用户线接口电路。
三:实验仪器设备和材料清单:程控交换实验箱,双综示波器。
四:实验方法与步骤:用示波器分别观测TP301,TP302,TP303在摘挂机时的工作电平,给出在各种状态下的工作波形。
五:实验报告要求:1.总结基本工作原理2.给出在各种工作状态下的TP301,TP302,TP303信号波形图,标注关键数据。
(见手写报告纸)六:思考题:1.用户接口模块功能应完成哪些功能?(1)馈电:向用户话机送直流电流;(2)过压保护:防止过压过流冲击和损坏电路设备;(3)振铃控制:向用户话机馈送铃流;(4)监视:监视用户线状态,检测话机摘机、挂机与拨号脉冲信号;(5)编码解码与滤波;(6)混合;(7)测试:对用户电路进行测试2.判断用户摘挂机的方法是什么?1)用户摘机时,用户状态检测输出端输出高电平,向CPU表示用户“忙”;2)用户挂机时,用户状态检测输出端输出低电平,向CPU表示用户“闲”;3)用户挂机时,用户状态检测输出端输出低电平,向CPU表示用户“闲”;3.交换机的振铃功能是如何实现的?振铃电路可由外部的振铃继电器和用户电路部的继电器驱动电路以及铃流电源向用户馈送铃流:当继电器控制端(RC 端) 输入高电平,继电器驱动输出端(RD 端) 输出高电平,继电器接通,此时铃流源通过与振铃继电器连接的15 端(RV 端) 经TIP -RING 端口向被叫用户馈送铃流。
MPLS基本配置实验报告
MPLS基本配置实验报告MPLS 基本配置实验MPLS 基本配置实验⼀、实验⽬的该实验通过MPLS ⽹络的基本配置,掌握路由器相关接⼝的IP地址设置、路由协议的配置以及MPLS LSP的完整创建过程, 从⽽加深对IP⽹络的IP编址、路由协议以及MPLS的相关理论的理解。
⼆、实验内容利⽤⽹络模拟器GNS3模拟Cisco的实验环境,搭建IP⽹络,完成LER和LSR路由器上的数据配置,使⽹络中的各个路由器能够互通,并且实现标签分发。
三、实验设备1.硬件:PC机。
2.软件:①⽹络模拟器 GNS3-0.8.6-all-in-one②终端仿真程序 SecureCRT6.7/SuperPutty③ Cisco IOS⽂件 C3640-JK9O3S-M-12.4(7a).BIN四、实验步骤1.实验⽹络拓扑结构截图如图在软件中建⽴拓扑图并添加接⼝再连线接通最后打开所有的路由器①以R1为例,选中R1路由器,右键选择“开始(start)”项,等待R1接⼝变成绿⾊,然后选中R1,右键选择console项,打开SecureCRT窗⼝。
②等待⽚刻,按enter,当窗⼝中出现“R1#”时(表⽰进⼊路由器配置的特权模式),可以进⾏接⼝IP地址设置且激活接⼝。
在进⾏接⼝IP地址设置前,为防⽌CPU占⽤率过⾼,我们需要计算Idle PC的值,选中R1路由器,右键选择“Idle PC”,此时路由器会计算Idle PC的值,我们选择带“*”的值点击保存就可以了,如果没有带*的,则直接选择默认的。
每种型号的路由器只需要第⼀次使⽤时设置⼀次Idle PC值,当再次使⽤这个型号的路由器时,GNS3就会⾃动识别并调⽤相应的Idle PC 值。
接着⽤以下命令设置接⼝IP地址,设置完后注意检查接⼝设置,检查⽆误后保存设置。
具体操作:R1#config t ------------------------------------------------进⼊配置模式R1(config)#int s1/1----------------------------------------serial1/1端⼝,进⼊接⼝模式R1(config-if)#ip address 12.1.1.1 255.255.255.0----设置R1路由器的S1端⼝的IP地址和⼦⽹掩码R1(config-if)#no shutdown------------------------------打开接⼝s1/1R1(config-if)#exitR1(config)#int loopback0--------------------------------回环⼝:0接⼝R1(config-if)#ip address 1.1.1.1 255.255.255.0------设置回环⼝ip地址和掩码地址R1(config-if)#exitR1(config)#exitR1#write----------------------------------------------------保存配置注意,在进⼊SecureCRT窗⼝后,使⽤exit命令可以退回上⼀层配置模式,使⽤end命令可以直接退出到特权模式。
北邮大三下现代交换原理实验一时间表调度实验报告
北邮大三下现代交换原理实验一时间表调度实验报告集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]实验报告课程名称:现代交换原理与通信网技术实验名称:时间表调度实验报告班级: 09211311学号:姓名: schnee指导教师:基础实验一时间表调度实验1.2.实验目的驱动交换网络实验用来考查学生对时间表调度原理的掌握情况。
3.4.实验原理及设计在程控数字交换的体系结构中,周期级程序(例如摘挂机检测程序、脉冲识别程序、位间隔识别程序)是由时间表调度实现的。
所谓时间表调度,是指每经过交换系统的最短有效时间(这通常是指各周期性程序周期的最大公约数),都会检查调度表的调度要求,如果某个程序在这时需要执行,则调度程序开始执行它。
在我们设计的时间表调度实验中,这个调度表的调度是静态的。
所谓静态,是指我们的调度表是在系统初始化的时候就建立起来的,在系统运行的情况下我们这个交换系统提供了三个周期性调度程度(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以我们系统的最小调度时间为10ms。
如图所示,每隔10ms,我们就会检查这个表的一行,如果该行上某一列为1,我们就执列所对应的任务,如果为0,就什么都不做。
每当执行到这个表的最后一行,调度任务会返回第一行循环执行。
而你所要做的就是按照你的理解来填写这个调度表。
5.6.实验主要数据结构:函数功能:完成调度表的初始化;函数原型:initSchTable(int ScheduleTable[SchTabLen][SchTabWdh]);其中SchTalLen和SchTabWdh为在中的宏定义:#define SchTabLen 20 //代表这个调度表为20行(相邻行之间的时间间隔为10ms);#define SchTabWdh 3 //代表三个周期性调度任务//0:摘挂机检测任务;1:脉冲检测任务;//2:位间隔检测任务;7.8.实验效果检验当调度表初始化正确时,能够进行正常的通话;如果初始化不正确,可能会造成周期性程序的不正常调用,例如位间隔调度的延迟会造成识别位间隔的延误甚至丢失。
MPLS实验报告
1.1 MPLS的介绍多协议标签交换(MPLS)是一种新出现的技术,目的在于解决当前网络环境中使用的分组转发技术中存在的许多问题.MPLS体系结构描述了实现标签交换的机制,这种技术兼有基于第二层交换的分组转发技术和第三层路由选择技术的优点.这种技术完全是一靠标签来进行数据的网络传输.MPLS体系结构被分为两个独立的部件:转发部件(又叫数据层面)和控制部件(又叫控制层面).转发部件使用标签交换机维护的标签转发数据库,根据分组携带的标签执行的数据分组的转发工作.控制部件负责在一组互连的标签交换机之间创建和维护标签转发的信息.也被称为绑定.1:每个MPLS节点都必须运行一种或者多种IP路由选择协议,以保证与网络中的其他MPLS节点交换IP路由信息.2:IP路由选择协议建立IP路由选择表后,在传统的IP路由上面IP路由表构建快速转发(CEF)IP使用转发缓存.3:在MPLS节点中,IP路由选择表用于决定标签帮定交换.意思就是交换路由表中的子网信息的标签.可以用CISCO专用的标记分发协议TDP或者IETF指的标签分发协议LDP. T=tag L=label 都是标签的意思MPLS接点的基本体系结构图形如下:下面我们来做个基本配置的实验:针对上面的图形我们看一下节点之间的IGP路由信息的同步情况:R1#sh ip rouCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not set1.0.0.0/24 is subnetted, 1 subnetsC 1.1.1.0 is directly connected, Loopback035.0.0.0/24 is subnetted, 1 subnetsO 35.1.1.0 [110/256] via 12.1.1.2, 00:15:32, Serial1/02.0.0.0/24 is subnetted, 1 subnetsO 2.2.2.0 [110/65] via 12.1.1.2, 00:15:32, Serial1/03.0.0.0/24 is subnetted, 1 subnetsO 3.3.3.0 [110/257] via 12.1.1.2, 00:15:32, Serial1/04.0.0.0/24 is subnetted, 1 subnetsO 4.4.4.0 [110/129] via 12.1.1.2, 00:15:32, Serial1/05.0.0.0/24 is subnetted, 1 subnetsO 5.5.5.0 [110/193] via 12.1.1.2, 00:15:32, Serial1/024.0.0.0/24 is subnetted, 1 subnetsO 24.1.1.0 [110/128] via 12.1.1.2, 00:15:33, Serial1/012.0.0.0/24 is subnetted, 1 subnetsC 12.1.1.0 is directly connected, Serial1/045.0.0.0/24 is subnetted, 1 subnetsO 45.1.1.0 [110/192] via 12.1.1.2, 00:15:33, Serial1/0可以看到路由的信息已经全部得到,而且路由表已经是把所有的路由信息全部装进路由表中, 下面我们来配置MPLSR1(config)#interface serial 1/0R1(config-if)#mpls ipR2(config)#int s1/0R2(config-if)#mpls ipR2(config-if)#int s2/0R2(config-if)#mpls ipR3(config-if)#int s2/0R3(config-if)#mpls ipR4(config)#int s1/0R4(config-if)#mpls ipR4(config-if)#int s2/0R4(config-if)#mpls ipR5(config)#int s1/0R5(config-if)#mpls ipR5(config-if)#int s2/0R5(config-if)#mpls ip这样我们在端口上面都起用了MPLS,默认是使用的TDPR1#show tag-switching tdp neighbor (也可以这样查R1#show mpls ldp neighbor)结果输出一样Peer TDP Ident: 2.2.2.2:0; Local TDP Ident 1.1.1.1:0TCP connection: 2.2.2.2.11000 - 1.1.1.1.711连接的目的地址/端口和源的地址/端口State: Oper; PIEs sent/rcvd: 7/7; DownstreamUp time: 00:03:13TDP discovery sources:Serial1/0, Src IP addr: 12.1.1.2建立邻居使用的接口Addresses bound to peer TDP Ident:24.1.1.2 12.1.1.2 2.2.2.2邻居使用的接口IP地址这样我们就可以看出已经建立的邻居的信息,我们下面来看一下标签交换的信息:R1# show mpls forwarding-tableLocal Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface16 17 35.1.1.0/24 0 Se1/0 point2point17 Pop tag 2.2.2.0/24 0 Se1/0 point2point18 18 3.3.3.0/24 0 Se1/0 point2point19 19 4.4.4.0/24 0 Se1/0 point2point20 20 5.5.5.0/24 0 Se1/0 point2point21 Pop tag 24.1.1.0/24 0 Se1/0 point2point22 21 45.1.1.0/24 0 Se1/0 point2pointR5#show mpls forwarding-table 35.1.1.0 24Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface R4#show mpls forwarding-table 35.1.1.0 24Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 17 Pop tag 35.1.1.0/24 0 Se1/0 point2point R2#sh mpls forwarding-table 35.1.1.0 24Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 17 1735.1.1.0/24 0 Se1/0 point2point R1#sh mpls forwarding-table 35.1.1.0Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 17 35.1.1.0/24 0 Se1/0 point2point/24P T a g 335.1.1.0/2435.1.1.0/24的这条路由就是这样一个节点一个节点的传递的标签信息.1.2消除不必要的BGP对等体在MPLS网络中,使用标签交换的方式,可以在中间路由器没有对应路由表的情形下,仍可以将数据报文传递外部目的。
MPLS交换
22
MPLS体系结构 体系结构
MPLS相关基本概念 相关基本概念
标记交换路由器LSR(Label Switching Router) 标记交换路由器
o 边缘路由器LER(Label Edge Router) o 核心路由器LSR
标记交换路径LSP(Label Switching Path) ( 标记交换路径 )
24
MPLS相关基本概念 相关基本概念
转发等价类FEC(Forwarding Equivalence Class) ( 转发等价类 )
在MPLS网络中经过相同的LSP,完成相同的转发处理的一些数据 分组,这些数据分组具有某些相同的特性。FEC的划分通常依据网络 层的目的地址前缀或是主机地址。
标记( 标记(Label) )
பைடு நூலகம்
6
IP交换技术 交换技术
Ipsilon公司提出专门用于在 公司提出专门用于在ATM网上传 公司提出专门用于在 网上传 分组的技术。 颂IP分组的技术。 分组的技术 目的是使IP更快并能提供业务质量支持 更快并能提供业务质量支持。 目的是使 更快并能提供业务质量支持。 实质: 实质:
抛弃面向连接的ATM软件,在ATM硬件基 软件, 抛弃面向连接的 软件 硬件基 础上直接实现无连接的IP选路 选路。 础上直接实现无连接的 选路。 同时获取无连接IP的强壮性以及 的强壮性以及ATM交换 同时获取无连接 的强壮性以及 交换 的高速、大容量的优点。 的高速、大容量的优点。
14
Tag交换的基本原理 交换的基本原理
1)传统路由协议hop-by-hop方式基于目的地址的选路 2)标签分配和标签的捆合,形成标签信息库TIB 3)基于标签的数据转发 4)通信结束,标签清除 Tag交换具有面向连接的特性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告课程名称:现代交换原理与通信网技术实验名称:MPLS交换实验班级:09211311学号:姓名:schnee指导教师:实验四MPLS交换实验之三MPLS编程实验1.实验目的安排的三个编程实验主要用于加强学生对MPLS交换中标记请求、标记分配与分发、标记分组转发的理解。
2.实验原理及设计多协议标记交换MPLS(Multiple Protocol Labeled Switching)技术是将第二层交换和第三层路由结合起来的一种L2/L3集成数据传输技术。
MPLS是一项面向连接的交换技术,因此有建立连接的过程。
各个MPLS设备运行路由协议,在标记分发协议LDP的控制下根据计算得到的路由在相邻的路由器进行标记分配和分发,从而通过标记的拼接建立起从网络入口到出口的标记交换路径LSP。
在数据转发过程中,入口标记路由器LER根据数据流的属性比如网络层目的地址等将分组映射到某一转发等价类FEC,并为分组绑定标记。
核心标记交换路由器LSR只需根据分组中所携带的标记进行转发即可。
出口标记路由器LER弹出标记,根据分组的网络层目的地址将分组转发到下一跳。
MPLS节点(MPLS标记交换路由器LSR或MPLS边缘路由器LER)均要创建和维护传统的路由表和标记信息库LIB。
路由表记录记录路由信息,用于转发网络层分组和标记分发从而建立标记交换路径。
LIB记录了本地节点分配的标记与从邻接MPLS节点收到的标记之间的映射关系,用于标记分组的转发。
MPLS技术的核心实质在于:(1)网络中分组基于标记的转发(2)LDP协议控制下的进行标记分发从而建立标记交换路径LSP。
实验网络的拓扑结构(节点分布示意图):3.实验主要数据结构:所需要的头文件:"mplsconstant.h"其中的主要数据结构为://发送的请求信息包数据结构struct ReqType{int iFirstNode; //请求信息包的源节点int iEndNode; //请求信息包的目的节点double ipaddress; //请求信息包包含的网络层目的IP地址前缀(例如197.42)};//路由表表项的数据结构struct routertype{double ipaddress; //网络层目的地址前缀int nexthop; //下一跳节点int lasthop; //上一跳节点int inpoint; //入端口号int outpoint; //出端口号};//标记信息表表项的数据结构struct libtype{double ipaddress; //网络层目的地址前缀int inpoint; //入端口号int outpoint; //出端口号int inlabel; //入标记值int outlabel; //出标记值};//发送的标记信息包数据结构struct LabelPack{int iFirstNode; //源节点号int iEndNode; //目的节点号int labelvalue; //标签值};struct funcusedtype{struct libtype libinfo; //包含的标记信息表项struct LabelPack labelinfo; //包含的标记信息包数据结构};//发送的标记分组信息包类型struct LabelledDataPack{int iFirstNode; //源节点号int iEndNode; //目的节点号struct MessageType DataInfo; //包含的标记分组类型信息};//标记分组类型struct MessageType{double ipaddress; //网络层目的地址前缀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:当前所指的路由表的表项;函数要求:根据提供的当前节点号和路由表表项值产生标记请求包;过程描述:标记请求包的源节点号由当前节点号提供,目的节点号和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:当前的节点号;函数要求:该函数要求根据提供的路由表当前表项、分配的输出标签号和当前节点号,构造一funcusedtype信息包。
注:各节点的输入标签可以自由选定,但必须是1-9的整数;过程描述:该funcusedtype信息包的libinfo部分可由当前的路由表表项、当前分配的标签号的有关部分构成;labelinfo部分由当前节点号和当前的路由表表项的有关部分构成;3.标记分组转发实验extern "C" _declspec(dllexport) struct LabelledDataPack pack_process(struct routertype routenow,struct libtype libnow,int idnow){struct LabelledDataPack packtemp;return packtemp;}参数意义:struct routertype routenow:当前所指的路由表表项;struct libtype libnow:当前的标签信息表表项;int idnow:当前的节点号;函数要求:该函数要求根据提供的路由表表项、标签信息表表项和当前节点号,构造出一个标签数据信息包。
过程描述:该标签信息包的源节点、目的节点、IP地址前缀和标签值均可由当前节点号、路由表表项和标签信息表表项构成;4.实验效果检验运行程序,观察一路上的包的信息,看是否连接建立成功,是否能顺利开始数据传输。
5.实验代码实验一:#include "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;}实验二:#include "mplsconstant.h" extern "C" _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.inlabel=7;tempstruct.libinfo.outlabel=labelout;belinfo.iFirstNode=idnow;belinfo.iEndNode=sthop;belvalue=tempstruct.libinfo.inlabel;return tempstruct;}实验三:#include "mplsconstant.h" extern "C" _declspec(dllexport) 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;belvalue=libnow.outlabel;return packtemp;}6.实验结果实验后,我们可以看到MPLS的三个过程。
一是发送请求标记的信息包,从实验软件上我们看到包的内容都是REQ+194.27。
从源主机的边缘路由器一直到目的主机的边缘路由器。
二是从目的主机的边缘路由器返回一个分配的标记信息包。
其中边缘路由器不会使用这个程序,比如我们设标记为7,则两个边缘路由器及两个普通路由器的出入标记为。
(1,-)→(7,1)→(7,7)→(7,-),第一个为in,第二个为out。
三是之后连接建立,可以开始按照标记好的路径从源主机转发分组到目的主机。
一路的路由进出标记和第二个部分建立的一致。
7.实验心得这次实验比较简单,代码实现基本就是赋值的操作,最重要的还是对MPLS 原理和工作过程的理解。
我在实验中加强了自己对MPLS交换中标记请求、标记分配与分发、标记分组转发的理解,并且发现了原来标记分配与分发部分对边缘路由器不起作用,这是我之前在课程学习中没有注意到的。
实验虽然简单,但是仍然很有意义。