北邮 计科大三 现代交换技术 实验报告全部代码 时间表调度实验 摘挂机检测实验Word文档下载推荐.docx
《北邮 计科大三 现代交换技术 实验报告全部代码 时间表调度实验 摘挂机检测实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《北邮 计科大三 现代交换技术 实验报告全部代码 时间表调度实验 摘挂机检测实验Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
摘挂机检测实验
_declspec(dllexport)voidscanfor200(intlinestate200[LINEMAX],intlinestate[LINEMAX],UpOnnode*head1,UpOnnode*end1)
{inti;
UpOnnode*p;
LINEMAX;
i++){
if(linestate[i]&
~linestate200[i])
{p=newUpOnnode;
p->
phonestate=ehandup;
linenum=i;
next=0;
end1->
next=p;
end1=p;
if(linestate200[i]&
~linestate[i])
{p=newUpOnnode;
phonestate=ehandon;
}}
if(i==LINEMAX)
for(i=0;
linestate200[i]=linestate[i];
基础实验三
脉冲计数实验
voidscanpulse(intlinestate[LINEMAX],intlinestate10[LINEMAX],intchange[LINEMAX],intfchange[LINEMAX],intpulsenum[LINEMAX])
{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;
}
i++)linestate10[i]=linestate[i];
基础实验四
位间隔识别实验
Voidscandigit(intlinestate2[LINEMAX],intlinestate100[LINEMAX],intpulsenum[LINEMAX],intfchange[LINEMAX],intlfchange[LINEMAX],Digitnode*head2,Digitnode*end2)
{inti;
Digitnode*p;
{if((!
fchange[i])&
lfchange[i])
{if(linestate100[i])
{p=newDigitnode;
p->
num=pulsenum[i];
end2->
end2=p;
pulsenum[i]=0;
}}}
{lfchange[i]=fchange[i];
fchange[i]=0;
linestate100[i]=linestate2[i];
}
基础实验五
软件送音实验
_declspec(dllexport)intdecide_ringtype(Userstatestate)
{switch(state)
{case1:
caller_ehandup;
return1;
case2:
caller_calledbusy;
return4;
case3:
theother_firstehandon;
return4;
case4:
dial_timer_timeout;
case5:
recvnum_timer_timeout;
case6:
connect_timer_timeout;
case7:
nulltone_timer_timeout;
case8:
ringback_timer_timeout;
case9:
busytone_timer_timeout;
return5;
case10:
caller_callednull;
return3;
case11:
called_onecallin;
case12:
caller_callconnected;
return2;
return0;
基础实验六
驱动交换网络实验
_declspec(dllexport)voidconnect_network(inttimeslice_tnet[TIMESLICEMAX],inttimeslice1,inttimeslice2,inttag)
{if(timeslice1<
TIMESLICEMAX&
timeslice2<
TIMESLICEMAX)
{if(tag==1)
{timeslice_tnet[timeslice2]=timeslice1;
timeslice_tnet[timeslice1]=timeslice2;
else
{timeslice_tnet[timeslice1]=0;
timeslice_tnet[timeslice2]=0;
}}
分组实验一
分组交换演示实验
一.实验目的
该部分实验动态演示了分组传输过程,包括X.25虚链路的建立、分组传输和X.25虚链路的拆除;
主要体现了分组传输中面向连接的工作方式。
二.实验原理以及实验设计
X.25建议是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定的关于数据终端设备(DTE)和数据电路终接设备(DCE)之间的接口规程。
X.25标准的思路是为用户(DTE)和分组交换网络(DCE)之间建立对话和交换数据提供一些共同的规程,这些规程包括数据传输通路的建立、保持和释放,数据传输的差错控制和流量控制,防止网络发生阻塞,确保用户数据通过网络的安全,向用户提供尽可能多而且方便的服务。
X.25的分组层在X.25接口为每个用户呼叫提供一个逻辑信道(所谓的“呼叫”是指一次通信过程)。
为每个用户的呼叫连接提供有效的分组传输,包括顺序编号,分组的确认和流量控制过程。
提供交换虚电路(SVC)和永久虚电路(PVC)的连接。
提供建立和清除交换虚电路的方法。
交换虚电路建立过程如下:
三.实验演示流程
实验界面如图所示:
DTE终端为DTE1~DTE2,分组交换机为Switcher_A~Switcher_C,网络拓扑如图所示。
实验演示分三个阶段虚电路连接建立阶段、数据传送阶段和连接拆除阶段。
1.连接建立阶段:
进入实验界面后,点击开始按钮,进入连接建立阶段。
首先发起连接的终端发送“呼叫请求”(CallRequest)分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址,启动一次呼叫。
该分组发送到本地DCE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”(IncomingCall)分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。
被叫DTE通过发送“呼叫接受”(Callaccepted)分组表示同意建立虚电路。
远端DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”(Callconnected)分组到主叫DTE。
主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫DTE之间的虚呼叫已建立,可以进入数据传输阶段。
DTE和DCE对应的逻辑信道就进入数据传输状态。
2.数据传送阶段:
链路连接建立完成以后,主叫数据的终端向被叫终端发送数据。
分组交换机根据数据分组的LCN值,按照路由表转发分组。
被叫终端接到数据后发送数据证实分组。
3.连接拆除阶段:
通信完毕后,在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除,我们这里以主叫方发送释放请求说明链路的拆除过程。
呼叫清除的过程实验演示。
主叫DTE发“清除请求”(ClearRequest)分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”(ClearIndication)分组到被叫DTE,被叫DTE用“清除证实”(Clearconform)分组予以响应。
该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。
完成清除规程之后,虚呼叫所占用的所有逻辑信道都成为“准备好”状态。
分组实验二
永久虚电路建立演示实验
本部分实验将模拟分组交换网中永久虚电路的实现。
它根据X.25建议的分组层提供永久虚电路连接的原理,让学生动手在分组交换网中建立一条永久的虚连接。
通过这个实验,学生可以进一步了解分组交换网所提供的面向连接的服务,以及分组交换网中的分组交换节点对网中传输的分组按路由表转发的原理。
二.实验过程
实验界面如图所示:
进入实验时,分组交换机A、B、C附近对应有可以填充的空路由表,DTE1终端附近可以填充连接的目的地址和DTE1到分组交换节点A端的逻辑信道号。
实验要求建立DTE1到DTE2的交换虚电路连接,学生可选择DTE1――A――B――C――DTE2或者DTE1――A――C――DTE2两条路由,并根据所选择路由填充路由表。
路由表的填充尾端到端的一次填充。
每个节点对路由表的范围都有限制,所填的路由值超出限制范围时,报错,并允许重新填写。
例如,所有链路的逻辑信道号的范围时1——7,超出此范围应报错;
DTE2的地址为“DTE2”,分组交换节点A、B和C所连接的端口号如图所示。
填入的路由表正确时,进入数据传送阶段的演示过程,否则报错,学生重新填写。
ATM实验一
ATM交换演示实验
该部分实验动态演示了ATM的传输过程,包括ATM链路的建立、ATM信元传输和ATM链路的拆除;
主要体现了ATM采用面向连接的工作方以及采用和固定长度信元的特点。
二.实验原理及设计
ATM是面向连接的网络,在端到端的通信前必须建立连接。
ATM网络通常有永久虚电路(PVC)和交换虚电路(SVC)两种方式。
永久虚连接(PVC)是通过预定或预分配的方法建立的连接。
交换虚连接是当用户需要使用网络资源时,才由网络动态分配,当呼叫结束时,SVC会被拆除,并可以分配给另一个用户。
ATM网络的优点是能够根据需要动态建立与释放连接,用户可以根据不同应用的需要,在同一时间内建立多条SVC,支持多种服务,并允许较多的用户有效的使用网络资源。
这里我们主要演示ATM的SVC建立、传输和释放过程。
SVC的建立、管理与释放过程就是ATM信令的交互过程。
ATM网络有用户终端、专用ATM交换机和公用ATM交换机构成,SVC的实现涉及终端与交换机、交换机与交换机之间的信令。
ATM信令主要分为UNI(用户-网络接口)信令和NNI(网络-网络接口)信令。
1.UNI信令
ATMUNI信令是在ATM网络中用户终端和网络之间进行连接的建立、释放和维护的协议。
ITUT-T规定了两种UNI呼叫连接控制:
点到点的呼叫连接控制和点到多点的呼叫连接控制。
点到点的呼叫连接控制涉及到3个实体:
主机方(用户终端)、网络侧被叫方(用户终端)。
其一个点到点的呼叫连接的建立和释放过程如下图所示:
2.NNI信令
ATM网络局间信令采用网络节点接口(NNI)信令,NNI信令是基于现有的No.7信令的ISDN用户部分(ISUP描述和定义的,是ISDNNNI信令ISUP的扩充与增强。
将ATM的NNI信令称为宽带综合业务数字网用户部分(B-ISUP)。
ITUT-T建议Q.2761~Q.2764描述了NNI信令。
下图所示为一个点到点的呼叫建立和拆除过程中的NNI信令操作。
ATM终端为ATM_A~ATM_E,ATM交换机为Switcher_A~Switcher_E,网络拓扑如图所示。
该实验提供三种连接方式,分别是ATM_A——Switcher_A——Switcher_C——Switcher_E——ATM_C、ATM_A——Switcher_A——Switcher_B——Switcher_D——Switcher_C——Switcher_E——ATM_D和ATM_A——Switcher_A——Switcher_B——Switcher_D——ATM_E。
ATM交换机端口标号在被鼠标选中时自动弹出。
实验演示分三个阶段ATM连接建立阶段、数据传送阶段和连接拆除阶段。
进入实验界面后,点击开始按钮,然后按照提示,选择你想要建立连接的终端,进入连接建立阶段。
首先发起连接的终端发送连接建立(SETUP)消息,启动一次呼叫。
主叫端局接到SETUP消息后,向主叫方发送呼叫处理(CALLPROCEEDING)消息作为对SETUP消息的证实,该消息中包含网络侧分配给主叫的VPI、VCI值;
向网络侧发送IAM消息。
中间交换节点接收到IAM消息后,返回IAA作为确认,同时向被叫端局发送IAM消息;
被叫端局接收到IAM消息后,同样返回IAA消息作为确认,同时向被叫终端发送SETUP消息。
被叫用户使用呼叫处理(CALLPROCEEDING)表示被叫端正在处理来话呼叫,接着传送提醒(Alerting)消息,表示被叫终端正在提醒被叫用户有呼入。
被叫端局收到被叫用户的通知消息后,向中间局发送地址收全消息ACM,中间端局将该消息转发给主叫端局。
被叫用户最后发送接受呼叫(Connect)消息,被叫端局发送ANM消息,将呼叫建立消息传送给相应的节点。
主叫端局接到ACM消息后向主叫用户回送提醒(Alerting)消息以通知主叫用户;
接到ANM消息后通过连接消息(Connect)通知主叫用户进入连接阶段,主叫用户返回连接证实(CONNECTACK)消息,进入信息传送阶段。
链路连接建立完成以后,系统向用户提示连接建立完成,用户点击已经建立连接的终端,进入数据传输阶段。
首先在发送数据的终端演示ATM数据从用户层到ATM适配层再到ATM层,最后封装成53个比特的ATM信元的过程。
ATM交换机根据ATM信元的信头所带的VPI和VCI值,按照路由表转发信元。
这里动态演示了ATM信元信头的替换过程。
在数据接收终端,这里演示了ATM信元经过由底层向高层的拆分合并,最后得到用户数据的过程。
通信完毕后,主被叫用户都可发送连接拆除请求,我们这里以主叫方发送释放请求说明链路的拆除过程。
首先ATM主叫方发送释放消息(RELEASE)消息。
主叫端局回送释放结束(RELEASECOMPLETE)消息确认网络侧完成释放操作;
然后向中间端局发送释放消息(REL),请求释放连接,中间端局接到返回释放证实(RLC)作为响应并将此消息往下传送,同时拆除请求释放连接的链路。
ATM网络的拆线过程是在传送REL消息的同时逐段释放链路。
被叫端局接到释放请求消息(REL)后,向被叫用户发送释放消息(RELEASE),被叫用户回送释放完毕消息(RELEASECOMPLETE)确认释放消息(RELEASE)。
释放网络到被叫端局的连接。
整个通信过程结束。
MPLS实验一MPLS演示实验
在这一实验中,主要通过不同角度的演示,让学生熟悉和了解MPLS交换技术的基本原理。
二.演示过程
终端主机为Local_hostA1和RemoteHost_B1。
路由器为:
入口LSR_A,核心LSR_B、LSR_C、LSR_D,以及出口LSR_E。
网络拓扑结构如图所示。
右边是路由表,左下方是标记转发表。
鼠标放在各路由器上时就会显示各端口号。
实验演示分为三个阶段:
建立连接阶段、数据传输阶段和拆除连接阶段。
1.
建立连接阶段:
进入实验界面后,点击开始按钮,进入建立连接阶段。
在LDP协议控制下,进行MPLS节点间标记分配与分发,从而建立LSP路径(采用下游按需标记分发和有序的标记分发控制模式)。
界面如图所示:
2.数据传输阶段:
在LSP路径建立完成后,点击继续按钮,进入数据传输阶段。
此时演示分组在MPLS域中基于标记进行转发的过程。
3.拆除连接阶段:
演示拆除连接也就是标记取消的过程。
此阶段主要是通过文字方式解释连接拆除的过程。
点击finish按钮即完成此阶段的演示过程。
MPLS实验二
标记转发表实验
在这一实验中,主要让学生通过填表练习来独立控制为数据流分配,分发标记,建立LSP,并控制分组进行标记转发,从而加深对MPLS技术的理解。
点击“开始”按钮,进入此实验。
会看到与“实验一”一样的请求分组传送过程。
当请求分组到达出口LSR时,会要求同学填标记转发表的各表项(目的地址前缀、入端口、出端口、入标记和出标记)。
其中标记表项对输入有一定限制,只允许分配1~9标记值,填写超出范围时,会报错。
填写时如果表项中是“-”,则此项不必填写。
当同学完成标记转发表填写时,点击确定按钮提交所填表项。
如果所填表项正确,则会按同学所分配的标记填写路由器中的标记表,然后会要求同学填写下一个路由表的标记转发表。
如果所填表项不正确,则会报错,同学重新填写。
当同学正确填写完标记转发表后,点击“继续”按钮,进入数据传输阶段,这时会要求同学按照标记转发表填写标记分组中的标记号。
如下图所示:
实验心得:
本次课程设计的内容是“现代交换专业课程设计”,我们已经系统的学习了现代交换网以及IP网络实验等专业课程,先通过本次课程设计进一步的熟悉和掌握现代交换技术的原理和具体实现方法。
本次课程设计分为:
“基础实验”和“演示实验”两部分,基础实验主要是通过编程来实现时间表的调度、摘挂机的检测、脉冲的识别、位间隔的识别、软件送音以及驱动交换六个实验,通过这些实验,我深刻的理解了交换技术的各种基本过程的实现机制,同时,我也通过本次实验回顾了C语言编程的相关知识,可以说是收获甚多。
演示实验我们观看了分组交换演示实验、永久虚电路建立演示实验、ATM交换演示实验、MPLS演示实验以及标记转发表实验等五个实验,深刻理解了现代交换技术的内部实现原理。
最后要感谢老师对我的指导和帮助。