




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 基础实验一时间表调度实验1.实验容 :实验目的 :实验原理与设计 :实验主要数据结构 :实验效果检验一.实验目的: 驱动交换网络实验用来考查学生对时间表调度原理的掌握情况。二.实验原理与设计: 在程控数字交换的体系结构中,周期级程序(例如摘挂机检测程序、脉冲识别程序、位间隔识别程序)是由时间表调度实现的。所谓时间表调度,是指每经过交换系统的最短有效时间(这通常是指各周期性程序周期的最大公约数),都会检查调度表的调度要求,如果某个程序在这时需要执行,则调度程序开始执行它。
2、160; 在我们设计的时间表调度实验中,这个调度表的调度是静态的。所谓静态,是指我们的调度表是在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。 实验要求的就是这个调度表的初始化。这个调度表如下:时间(10ms) 任务 0:摘挂机检测任务1:脉冲检测任务2:位间隔检测任务 0 0/1 0/1
3、 0/1 1 0/1 0/1 0/1 .
4、0; .
5、160; . 18
6、60; 0/1 0/1 0/1 19 0/1 0/1 0/1 我们这个交换系统提供了三个周期性调
7、度程度(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以我们系统的最小调度时间为10ms。如图所示,每隔10ms,我们就会检查这个表的一行,如果该行上某一列为1,我们就执列所对应的任务,如果为0,就什么都不做。每当执行到这个表的最后一行,调度任务会返回第一行循环执行。而你所要做的就是按照你的理解来填写这个调度表。三.实验主要数据结构: 函数功能:完成调度表的初始化; 函数原型:initSchTable(int ScheduleTableSchTabLenSchTabWdh); &
8、#160; 其中SchTalLen和SchTabWdh为在bconstant.h中的宏定义: #define SchTabLen 20 /代表这个调度表为20行(相邻行之间的时间间隔为10ms); #define SchTabWdh 3 /代表三个周期性调度任务0:摘挂机检测任务;1:脉冲检测任务;2:位间隔检测任务;四.实验效果检验: 当调度表初始化正确时,能够进行正常的通话;如果初始化不正确,可能会造成周期性程序的不正常调用,
9、例如位间隔调度的延迟会造成识别位间隔的延误甚至丢失。 注:由于为循环程序,所以调度表的初始化方案不唯一。2.源代码#include "bconstant.h"extern "C" _declspec(dllexport) void initSchTable(int ScheduleTableSchTabLenSchTabWdh) int i; for(i=0;i<=19;i+) ScheduleTablei0=0; ScheduleTable00=1; for(i=0;i<=19;i+) ScheduleTablei1
10、=1; for(i=0;i<=19;i+) ScheduleTablei2=0; ScheduleTable02=1; ScheduleTable102=1; return;基础实验二 摘挂机检测实验 1.实验容 :实验目的 :实验原理与设计 :实验主要数据结构 :实验主体流程图 一.实验目的 摘挂机检测实验用来考查学生对摘挂机检测原理的掌握情况。 二.实验原理与设计
11、160; 设用户在挂机状态时扫描输出为“0”,用户在摘机状态时扫描输出为“1”,摘挂机扫描程序的执行周期为200ms,那么摘机识别,就是在200ms的周期性扫描中找到从“0”到“1”的变化点,挂机识别就是在200ms的周期性扫描中找到从“1”到“0”的变化点,该原理的示意图如下所示: 在我们的实验中,我们把前200ms的线路状态保存以备这次可以读取,同时读出这次的线路状态,把前200ms的线路状态取反与这次的线路状态相与,如果为1,就说明检测到摘机消息了。同理,我们把这次的线路状态取反再与前200ms的线路状态相与,如果
12、为1就说明检测到挂机消息了,然后把摘挂机信号作为事件放入摘挂机队列中。 三.实验主要数据结构 函数功能为:检测到摘、挂机事件,并把该事件放入到摘挂机事件队列中。 函数原型:void scanfor200(int linestate200LINEMAX,int linestateLINEMAX,UpOnnode * head1, UpOnnode* end1);其中LINEMAX为线路总数,是定义在"bconstant.h"中的一个宏,linestate200LINEMAX为已保存的200ms前线路状态,linesta
13、teLINEMAX为当前的线路状态,head1,end1为摘挂机队列的首尾指针,该队列已经在主程序中进行了初始化。我们所要做的就是把检测到的摘挂机事件以摘挂机队列节点的形式插入到摘挂机事件队列中。 数据结构说明: 头文件:"bconstant.h"(以下的数据结构都已在该文件中定义) LINEMAX :最大线路数; int linestate200LINEMAX,linestateLINEMAX:线路从0开始编号;状态:1:有电流,0无电流; enum UporOn ehandup,ehandon :为摘挂机区别
14、符:ehandup表示摘机,ehandon表示挂机; struct UpOnnode /摘挂机队列节点结构 UporOn phonestate; /摘挂机区别符;
15、160; int linenum; /线路号(从0开始); struct UpOnnode* next; /指向下一节点的指针; ;注意事项:
16、1.我们编写的模块是基础实验部分预加载的本局交换系统的一个模块而已,在系统中head1头指针和end1尾指针已经完成初始化。为方便起见,我们的摘挂机事件队列是一个包含头节点的单向链表,并且头指针指向该头节点,尾指针在初始化时也指向了该节点。所以在我们的函数编写中应保证头指针始终指向该头节点上、尾指针指向摘挂机事件队列的最末一个节点。 2.注意把这次扫描的线路状态值保存在前200ms扫描线路状态数组中,以便主程周期调用。四.实验主体流程图 2.源代码extern "C&q
17、uot; _declspec(dllexport) void scanfor200(intlinestate200LINEMAX, int linestateLINEMAX,UpOnnode * head1,UpOnnode * end1)int i; UpOnnode * p; for(i=0;i<LINEMAX;i+) if(linestatei&linestate200i) p=new UpOnnode; p->phonestate=ehandup; p->linenum=i; p->next=0; end1->next=p; end1=p; if(
18、linestate200i&linestatei) 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+)linestate200i=linestatei; return; 基础实验三 脉冲计数实验1.实验容 :实验目的 :实验原理以与实验设计 :实验主要数
19、据结构 :实验主体流程图 一.实验目的 脉冲计数实验用来考察查学生对脉冲识别原理的掌握情况。 二.实验原理以与实验设计 拨号盘所发出的拨号脉冲有规定的参数。我国规定的号盘脉冲的参数有: 脉冲速度:即每秒钟送出的脉冲个数,规定的脉冲速度为每秒钟8-16个脉冲; 脉冲断续比:即脉冲宽度(断)和间隔宽度(续)之比,规定的脉冲断续比为1:1-3:1。1)脉冲识别程序扫描周期的确定:为确定脉冲识别扫描的周期
20、,需要计算出最短的变化间隔(脉冲或间隔宽度),这样才能保证每个脉冲都能够识别而不至于丢失脉冲。由于号盘每秒发出的最快脉冲个数为16个,脉冲周期T=1000/16=62.5ms,在这种情况下断续时间比为3:1时续的时间最短,为1/4*T,所以最短变化周期为1/4*(1000/16)=15.625ms,脉冲识别扫描程序的周期<15.625ms。2)拨号脉冲识别原理:在下图中,采用了10ms的扫描周期,其中的变化识别标志了状态的变化。对于一个脉冲来说,是前沿和后沿各识别一次,我们可以任取一个来识别脉冲,下图中采用了前沿识别。从逻辑上讲,也就是说(这前)前=!这前相当于前面所说的挂机识别,同样(
21、这前)!前=这!前相当于摘机识别。在这里采用比较麻烦的逻辑运算的原因是需要“变化识别”这个结果。这在位间隔识别中要用到,下面是脉冲识别原理原理示意图: 在我们设计的实验中,用一个数组保留各线路10ms前的状态,用另一个数组保留各线路当前的状态,并且提供了保存“变化识别”的数组(以供后面的位间隔识别使用),另外提供给学生使用的是保存已检测的脉冲值的数组,学生编程检测到一个脉冲以后,就将该线路对应的脉冲值加一。三.实验主要数据结构 函数功能:识别出一个脉冲,然后把该线路对应的脉
22、冲数加一。函数原型:void scanpulse(int linestateLINEMAX,int linestate10LINEMAX,int change LINEMAX,int fchangeLINEMAX,int pulsenumLINEMAX) 其中LINEMAX为最大线路数,linestate为当前线路状态,linestate10为10ms前的线路状态,change为状态改变,fchange为首次变化,pulsenum为脉冲计数数组。主要的数据结构:头文件:"bconstant.h"(以下的数据结构都已在该文件中定义)LINEMAX :最大线路数;in
23、t linestateLINEMAX,linestate10LINEMAX:线路从0开始编号;状态:1:有电流,0无电流;int changeLINEMAX:线路状态变化数组,0表示无变化,1表示有变化;int fchangeLINEMAX:线路首次变化数组,1表示已发生首次变化,0表示没有;int pulsenumLINEMAX:线路当前的脉冲值;为方面大家操作,我们提供了两个预定义的函数:int nor_op(int a,int b);int or_op(int a,int b);分别用于异或操作和或操作。注意事项:把这次的线路状态值保存到10ms前的线路状态数组中,以便主程序周期调用。四
24、.实验主体流程图 2.源代码void scanpulse(int linestateLINEMAX,int linestate10LINEMAX,int changeLINEMAX,int fchangeLINEMAX,int pulsenumLINEMAX)int i; for(i=0;i<LINEMAX;i+) changei=nor_op(li
25、nestatei,linestate10i); fchangei=or_op(fchangei,changei); if(changei&&(!linestate10i) pulsenumi=pulsenumi+1; for(i=0;i<LINEMAX;i+) linestate10i=linestatei; return; 基础实验四 位间隔识别实验1.实验容:实验目的 :实验原理与设计 :实验主要数据结构 :实验主体流程图一.实验目的 位间隔识别实验用来考察学生
26、对位间隔识别原理的掌握情况。二.实验原理与设计 位间隔识别的目的是要识别两位之间的间隔,从而区分各位。首先来确定一下位间隔识别的扫描周期,一方面拨号盘的位间隔 250ms,另一方面需要确定一下最长的脉冲或者间隔为多少毫秒。由于最慢的脉冲速度为每秒8个脉冲,这就是说脉冲周期T=1000/8=125ms,当断续比为3:1时,脉冲(断)时间应为125ms*3/4=93.75ms,所以位间隔识别程序要能鉴别93.75ms和250ms间的间隔。一般采用96ms扫描程序来识别,位间隔识别的原理图: 对于位间隔识别的基本原理
27、,在这里要强调两个关键点 (1)识别在前96ms周期没有发生过变化。这就排除了脉冲变化的因素。因为脉冲最长间隔如前面所计算的那样为93.75ms 96ms; (2)识别出在此以前的最后一次变化是在96ms以前的那个周期,这一条件可以保证在位间隔开始96ms后的第一个周期就能识别到,而且保证以后各次扫描不识别。 为此引入了“首次变化”这个变量,它标志首次遇到了“变化”。平时它为“0”,当在一个扫描周期遇到变化后就变为“1”,在这个周期的后续时间里它都保持“1”不变。这个条件可由下面的逻辑关系来实现: 首次变化=首
28、次变化变化识别。当首次变化为“0”时,只要8ms脉冲扫描的变化识别为“0”,则首次变化永远为“0”,一旦变化识别为“1”,则首次变化就变为“1”,而且以后无论变化识别如何改变都不能改变首次变化的“1”值。为确保以上“首次变化”平时为“0”,令每次96ms程序都把它清“0”,这样就写出下面的计算公式:首次变化=(首次变化变化识别) /96 在每次96ms程序执行期间来检查“首次变化”这个变量,若为“0”,说明在前96周期没有发生过变化;若为“1”,说明已发生变化,但这时还不能确定为何种变化,既可能为脉冲变化,也可能为位间隔变化。这就需要看下一个96ms周期,若
29、仍有变化,则属于“脉冲变化”;若无变化,即属于“位间隔”变化(>96ms无变化)。这时在再下一个周期仍能识别出“无变化”,但已经识别出一次了,不能再作重复识别。 对上面的讨论加以概括,只要识别两个变量就可以了:(1)上一个96ms周期无变化;(2)再上一个周期有变化就可确定为“位间隔”了。在上面的图中的“首次变化”是识别变量(1)的,首次变化=1是说明上一周期无变化,否则有变化。上图中前次“首次变化”是识别后一个变量(2)的,前次“首次变化”是读取“首次变化”的存储容,不过96ms读一次,读的正是再上一个周期的最后结果。前次“首次变化”=1,说明再上一个周期有过变
30、化,否则无变化。将“首次变化”取反后与前次“首次变化”相与,结果为“1”,表示有位间隔。 值得注意的是,仅上面识别出的“位间隔”还是不够的,因为它只能说明前一次变化在96ms以前,那么用户中途挂机也可以达到这个条件,因此必须区别是“位间隔”还是“中途挂机”。区别这个很容易,只要区别一下现在用户处于挂机还是摘机状态就可以了。前者是中途挂机,后者是位间隔。方法可以是查一下当前的用户线状态,如果为“1”,说明用户已经挂机,那么识别的是“中途挂机”,否则为“位间隔”。 在我们的实验中提供了前100ms的线路状态数组和当前的线路状态数组,以与用来保存“变化
31、识别”、“首次变化”和“前次首次变化”的数组等供学生使用,学生通过编程检测位间隔的位置,当学生检测到位间隔以后,学生把与该线路对应的脉冲值放入到一个接收队列中,并且放在接收队列中的事件需保存着与该对应的线路号,因为几个线路接收到的都是放在同一个队列中的。(然后,一个外部程序将扫描该接收队列,逐一把各个接收事件发送给交换系统中央控制系统。学生只要做到将事件按照接收队列节点格式放入队列即可。) 三.实验主要数据结构 函数功能:识别出一位,将该放入到接收队列中; 函数原型为:void scandigit(int linestateLINEMAX,int
32、 linestate100 LINEMAX,int pulsenumLINEMAX,int fchangeLINEMAX,int lfchange LINEMAX, Digitnode * head2,Digitnode * end2)。其中LINEMAX为线路总数,是定义在bconstant.h中的一个宏,linestateLINEMAX为当前的线路状态linestate100LINEMAX为100ms前的线路状态,pulsenum为当前已经检测到的脉冲计数值,fchange为首次变化,lfchange为前次首次变化,head2,end2为接收队列的首尾指针,该队列已经完成了初始化。本次实验
33、就是把检测到位间隔的线路的值插入这个队列中。 数据结构说明: 头文件:"bconstant.h"(以下的数据结构都已在该文件中定义) LINEMAX :最大线路数; int linestateLINEMAX,linestate100LINEMAX:线路从0开始编号;状态:1:有电流,0无电流; int pulsenumLINEMAX:线路已检测到的脉冲值数; int fchangeLINEMAX,lfchange LINEMAX:首次变化数组,前次首次变化数组,有变化为1。
34、160; struct Digitnode /接收队列节点数据结构 int num
35、; /值 int linenum; /线号
36、0; struct Digitnode * next;/指向下一节点的指针 注意事项: 1.我们编写的模块是基础实验部分预加载的本局交换系统的一个模块而已,在系统中head2头指针和end2尾指针已经完成初始化。为方便起见,我们的接收队列是一个包含头节点的单向链表,并且头指针指向该头节点,尾指针在初始化时也指向了该节点。所以在我们的函数编写中应保证头指针始终
37、指向该头节点上、尾指针指向接收队列的最末一个节点。 2.当某条线路检测到位间隔以后,该线路的脉冲值数应清0;在函数末尾应将当前线路状态保存在100ms前的线路状态中、首次变化保存在前首次变化中、首次变化再清0。 细心的您可能会问:“如果线路当前的脉冲数为10,需要把10做为值也插入吗”,的确,我们的值0是产生了10个脉冲,脉冲数组中脉冲数也会出现10,不过在您把脉冲值10插入到接收队列后,我们的后续程序会把它转化为0,传给交换控制系统的。四.实验主体流程图1.源代码Voidscandigit(int linestate2LINEMAX,int l
38、inestate100LINEMAX,int pulsenumLINEMAX,int fchangeLINEMAX,int lfchangeLINEMAX,Digitnode * head2,Digitnode * end2) int i;Digitnode * p; for(i=0;i<LINEMAX;i+) if(!fchangei)&&lfchangei) if(linestate100i) p=new Digitnode ; p->num=pulsenumi; p->linenum=i; p->next=0; end2->next=p; e
39、nd2=p; pulsenumi=0; for(i=0;i<LINEMAX;i+) lfchangei=fchangei; fchangei=0; linestate100i=linestate2i; return; 基础实验五 软件送音实验1.实验容:实验目的 :实验原理与设计 :实验主要数据结构 :实验检验标准一.实验目的 软件送音实验用来考查学生对各种信号音发送情况的掌握情况。二.实验原理与设计 交换机需要向用户发送各种信号音,如拨号音、忙音和回铃音等,也需要向其他交换机发送
40、和接收各种局间信令,如多频信号。这些信号都是音频模拟信号,而信号设备是接在数字交换网络上的,它通过数字交换网络所提供的路由来传送。因此这些模拟信号必须是“数字化了的”,信号音的产生不外乎单频音和双频音两种。对于单频信号音的产生,是按照一定的时间间隔抽样、量化和编码运算,得到各抽样点的pcm信号,然后保存在ROM中,在需要发送时按序发送。对于双频信号音的产生,是取得两种信号音周期的最小公倍数,作为pcm的抽样周期,然后保存在ROM中,在需要时按序取出发送。 由于用软件来模拟信号音的产生比较困难,所以在我们的实验中,我们发送的信号音都是预先准备好的信号音文件,并且伴随有界面
41、的送音显示。那么如何考查学生对软件送音的理解呢?我的设计是提供给学生一些需要送音的情况,由学生编程确定该送音的类型,该送音的情况和送音的类别都是在主程序中预先安排好的,学生只需在送音情况和送音类型间“牵线搭桥”。三.实验主要数据结构 函数功能:根据输入的状态决定送音的类型; 函数原型:int decide(Userstate state);其中state为输入的状态类型,输出为发送的信号音类型; 头文件:"bconstant.h"(以下的数据结构均定义在该头文件中)
42、enum Userstate caller_ehandup, /主叫摘机 caller_calledbusy,
43、; /被叫忙 theother_firstehandon, /通话中对方先挂机 dial_timer_timeout, /拨号音超时
44、160; recvnum_timer_timeout, /收号定时器超时 connect_timer_timeout, /连接定时器超时
45、 nulltone_timer_timeout, /空号音超时 ringback_timer_timeout, /回铃音定时器超时 busyton
46、e_timer_timeout, /忙音超时 caller_callednull, /被叫空号 called_onecallin,
47、60; /(被叫)呼叫进入 caller_callconnected /(主叫)被叫接通
48、 ; 四.实验检验标准 为了配合界面Flash演示,运行时界面的Flash动画的信号音均为正确信号,您所决定的音信号将以声音方式播放,加以比较可以判断正误(您可在安装目录下的utility子目录下ringsound子目录中找到各种信号音文件)。2.源代码#include "bconstant.h"extern "C" _declspec(dllexport) int decide_ringtype(Userstate state)switch(state) case1:caller_ehandup;
49、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_ti
50、meout; return 5; case10:caller_callednull; return 3; case11:called_onecallin; return 4; case12:caller_callconnected; return 2; return 0; 基础实验六 驱动交换网络实验1.实验容:实验目的 :实验原理与设计 :实验主要数据结构 :实验效果检验一.实验目的 驱动交换网络实验用来考查学生对T接线器时隙交换原理的掌握情况。二.实验原理与设计 在数字交
51、换机中采用的是数字交换网络,数字交换网络的主要特点是它能够将从数字传输设备进来的数字信号直接进行交换,而不需要数/模和模/数转换。在数字交换中,常见的是T接线器和S接线器。由于基础实验中模拟的交换网络为T接线器,所以这里将只对T接线器进行简单的介绍。 T接线器有输出控制方式和输入控制方式两种,不管是哪一种方式,都由话音存储器和控制存储器两部分组成。在这里介绍一下输出控制方式,如果需要了解输入控制方式,请参阅有关书籍。 设输入话音信号在TS50上,要求经T接线器以后交换至TS450上去,然后输出到下一级。CPU根据这一要求,通过软件在控制存储器的4
52、50号单元写入“50”。这个写入是由C PU控制进行的,因此把它叫做“控制写入”。控制存储器的读出由定时脉冲控制,按照时隙号读出相应单元容。话音存储器的工作方式正好和控制存储器的方式相反,即“顺序写入,控制读出”。也就是说,由定时脉冲控制,按顺序将不同的话音信号写入相应的单元中去。写入的单元号和时隙号一一对应。而读出时则要根据控制存储器的控制信息而进行。由于向话音存储器输入话音信号不受CPU控制,而输出话音信号受到由CPU控制的控制器的控制,因此称为“输出控制”方式。在我们的例子中,话音的输入时隙号为50,在定时脉冲控制下就可写入到50号单元中。如前所述,CPU在控制存储器中的450号单元已写
53、入了容“50”。在定时脉冲控制下,在TS450这一时间,从控制存储器的地址450中读出容为“50”,把它作为话音存储器读出地址,立即读出话音存储器的50号单元。这正好是原来在50号时隙写入的话音信号容。因此在话音信号50号单元读出时已经是TS450了,即已把话音信号从TS50交换到TS450,实现了时隙交换。 在我们的驱动交换网络实验中,采用的是单T接线器。因为在这个模拟实验中,并没有任何的数据进行通信,所以在设计中并不存在话音存储器而只存在控制存储器。在建立交换网络时,要求学生在通信的两个时隙对应的控制存储器相应位置写入对方的时隙号,在拆除交换网络时,要求学生在通信的
54、两个时隙对应的控制存储器相应位置清“0”。在显示交换网络建立或者拆除时,外部程序将会去查这个控制存储器来“建立”连接或者“拆除”连接,用这种方法就可以检测学生编码的正确性。三.实验主要数据结构 函数功能:完成通信双方通信时隙的确定和修改。 函数原型:void connect_network(int timeslice_tnetTIMESLICEMAX,inttimeslice1,int timeslice2 ,int tag); 其中 TIMESLICEMAX 为一个宏定义,定义在"bconstant
55、.h"头文件中,表示系统可用的最大时隙数,timeslice_tnet为一个数组,代表了交换机的一个控存(控制存储器),下标值(从0开始)相当于一个时隙索引,与下标值对应的数组值为与该时隙通话的时隙,timeslice1和timeslice2为欲建立或者拆除连接的两个时隙。tag为一个标志位,1表示建立网络,0表示拆除网络。四.实验效果检验 当建立连接成功时,在Flash界面可以看到通信双方“闪烁”的线路连接; 当拆除连接成功时,在Flash界面可以看到通信双方“闪烁”的线路消失。2.源代码extern "C" _d
56、eclspec(dllexport) void connect_network(int timeslice_tnetTIMESLICEMAX,int timeslice1,int timeslice2,int tag) if(timeslice1<TIMESLICEMAX&×lice2<TIMESLICEMAX) if(tag=1) timeslice_tnettimeslice2=timeslice1; timeslice_tnettimeslice1=timeslice2; else timeslice_tnettimeslice1=0; timesl
57、ice_tnettimeslice2=0; return; 分组实验一 分组交换演示实验一.实验目的 该部分实验动态演示了分组传输过程,包括X.25虚链路的建立、分组传输和X.25虚链路的拆除;主要体现了分组传输中面向连接的工作方式。二.实验原理以与实验设计 X.25建议是国际标准化组织(ISO)和国际电报咨询委员会(CCITT)制定的关于数据终端设备(DTE)和数据电路终接设备(DCE)之间的接口规程。 X.25标准的思路是为用户(DTE)和分组交换网络(DCE)之间建立对话和交换数据提供一些共同的规程,这些规程包括数据传输通
58、路的建立、保持和释放,数据传输的差错控制和流量控制,防止网络发生阻塞,确保用户数据通过网络的安全,向用户提供尽可能多而且方便的服务。 X.25的分组层在X.25接口为每个用户呼叫提供一个逻辑信道(所谓的“呼叫”是指一次通信过程)。为每个用户的呼叫连接提供有效的分组传输,包括顺序编号,分组的确认和流量控制过程。提供交换虚电路(SVC)和永久虚电路(PVC)的连接。提供建立和清除交换虚电路的方法。交换虚电路建立过程如下: 三.实验演示流程 实验界面如图所示: &
59、#160; DTE终端为DTE1DTE2,分组交换机为Switcher_ASwitcher_C,网络拓扑如图所示。实验演示分三个阶段虚电路连接建立阶段、数据传送阶段和连接拆除阶段。1.连接建立阶段: 进入实验界面后,点击开始按钮,进入连接建立阶段。首先发起连接的终端发送“呼叫请求”(Call Request)分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址,启动一次呼叫。该分组发送到本地DCE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”(Incoming Call)
60、分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。 被叫DTE通过发送“呼叫接受”(Call accepted)分组表示同意建立虚电路。远端DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”(Call connected)分组到主叫DTE。主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫 DTE之间的虚呼叫已建立,可以进入数据传输阶段。DTE和DCE对应的逻辑信道就进入数据传输状态。2.数据传送阶段: 链路连接建立完成以后,主叫数据的终端向被叫终端发送数据。分组交换机根据数据分组的LCN
61、值,按照路由表转发分组。被叫终端接到数据后发送数据证实分组。3.连接拆除阶段: 通信完毕后,在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除,我们这里以主叫方发送释放请求说明链路的拆除过程。呼叫清除的过程实验演示。主叫DTE发“清除请求”(Clear Request)分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”(Clear Indication)分组到被叫DTE,被叫DTE用“清除证实”(Clear conform)分组予以响应。该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。完成清除规程之后,虚呼叫所占用的所有逻辑信道
62、都成为“准备好”状态。分组实验二 永久虚电路建立演示实验一.实验目的 本部分实验将模拟分组交换网中永久虚电路的实现。它根据X.25建议的分组层提供永久虚电路连接的原理,让学生动手在分组交换网中建立一条永久的虚连接。通过这个实验,学生可以进一步了解分组交换网所提供的面向连接的服务,以与分组交换网中的分组交换节点对网中传输的分组按路由表转发的原理。二.实验过程 实验界面如图所示: 进入实验时,分组交换机、附近对应有可以填充的空路由表,D
63、TE1终端附近可以填充连接的目的地址和DTE1到分组交换节点A端的逻辑信道号。实验要求建立DTE1到DTE2的交换虚电路连接,学生可选择DTE1DTE2或者DTE1DTE2两条路由,并根据所选择路由填充路由表。路由表的填充尾端到端的一次填充。每个节点对路由表的围都有限制,所填的路由值超出限制围时,报错,并允许重新填写。例如,所有链路的逻辑信道号的围时,超出此围应报错; DTE2的地址为“DTE2”,分组交换节点A、B和C所连接的端口号如图所示。填入的路由表正确时,进入数据传送阶段的演示过程,否则报错,学生重新填写。ATM实验一 ATM交换演示实验一.实验目的
64、 该部分实验动态演示了ATM的传输过程,包括ATM链路的建立、ATM信元传输和ATM链路的拆除;主要体现了ATM采用面向连接的工作方以与采用和固定长度信元的特点。 二.实验原理与设计 ATM是面向连接的网络,在端到端的通信前必须建立连接。ATM网络通常有永久虚电路(PVC)和交换虚电路(SVC)两种方式。永久虚连接(PVC)是通过预定或预分配的方法建立的连接。交换虚连接是当用户需要使用网络资源时,才由网络动态分配,当呼叫结束时,SVC会被拆除,并可以分配给另一个用户。ATM网络的优点是能够根据需要动态建立与释放连接,用户可以根据不同应用的
65、需要,在同一时间建立多条SVC,支持多种服务,并允许较多的用户有效的使用网络资源。这里我们主要演示ATM的SVC建立、传输和释放过程。 SVC的建立、管理与释放过程就是ATM信令的交互过程。ATM网络有用户终端、专用ATM交换机和公用ATM交换机构成,SVC的实现涉与终端与交换机、交换机与交换机之间的信令。ATM信令主要分为UNI(用户网络接口)信令和NNI(网络网络接口)信令。 1 .UNI信令 ATM UNI信令是在ATM网络中用户终端和网络之间进行连接的建立、释放和维护的协议。ITUTT规定了两种UNI呼叫连接控制:点
66、到点的呼叫连接控制和点到多点的呼叫连接控制。点到点的呼叫连接控制涉与到3个实体:主机方(用户终端)、网络侧被叫方(用户终端)。其一个点到点的呼叫连接的建立和释放过程如下图所示: 2 . NNI信令 ATM网络局间信令采用网络节点接口(NNI)信令,NNI信令是基于现有的No.7信令的ISDN用户部分(ISUP描述和定义的,是ISDN NNI信令ISUP的扩充与增强。将ATM的NNI信令称为宽带综合业务数字网用户部分(BISUP)。ITUTT建议 Q.2761Q.2764描述了NNI信令。下图所示为一个点到点的呼叫
67、建立和拆除过程中的NNI信令操作。 三.实验演示流程 实验界面如图所示: ATM终端为ATM_AATM_E,ATM交换机为Switcher_ASwitcher_E,网络拓扑如图所示。 该实验提供三种连接方式,分别是ATM_ASwitcher_ASwitcher_CSwitcher_EATM_C、ATM_ASwitcher_ASwitcher_BSwitcher_DSwitcher_CSwitcher_EATM_D和AT
68、M_ASwitcher_ASwitcher_BSwitcher_DATM_E。ATM交换机端口标号在被鼠标选中时自动弹出。实验演示分三个阶段ATM连接建立阶段、数据传送阶段和连接拆除阶段。 1.连接建立阶段: 进入实验界面后,点击开始按钮,然后按照提示,选择你想要建立连接的终端,进入连接建立阶段。首先发起连接的终端发送连接建立(SETUP)消息,启动一次呼叫。主叫端局接到SETUP消息后,向主叫方发送呼叫处理(CALL PROCEEDING)消息作为对SETUP消息的证实,该消息中包含网络侧分配给主叫的VPI、VCI值;向网络侧发送IAM消息。中间交换节点接收到IAM消息后,返回IAA作为确认,同时向被叫端局发送IAM消息;被叫端局接收到IAM消息后,同样返回IAA消息作为确认,同时向被叫终端发送
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店采购合同模板与示例
- 其它商户转让合同标准文本
- 代理记账违约合同标准文本
- 艺术作品背后的故事与解析计划
- 借用门店合同范例
- 供应冷冻品合同标准文本
- 企业装潢合同标准文本
- 出资干股合同标准文本
- 农业土地合作合同范例
- 保健购销合同范例
- 2025年公共卫生相关试题及答案
- 13《万卡》(精美课件)【知识精研】六年级语文下册(统编版五四制2024)
- 2025年中考道德与法治仿真模拟测试卷(含答案)
- 2025年陕西省咸阳市秦都区启迪中学九年级中考一模数学试题(原卷版+解析版)
- 嘉德委托拍卖合同范本
- 2025年合肥经济技术职业学院单招职业技能测试题库含答案
- 2025年河南应用技术职业学院单招职业技能测试题库新版
- 2025年河南艺术职业学院单招职业技能测试题库及参考答案
- 2025年吉林铁道职业技术学院单招职业倾向性测试题库必考题
- 实验室试剂及仪器采购合同书
- 带押过户申请书
评论
0/150
提交评论