已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告 课程设计题目: 分组交换设计与仿真 学 号:201220130111学生姓名:韦杰专 业:通信工程班 级:1221301指导教师:毛淑华 一、分组交换1.1分组交换的原理X.25建议是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定的关于数据终端设备(DTE)和数据电路终接设备(DCE)之间的接口规程。X.25标准的思路是为用户(DTE)和分组交换网络(DCE)之间建立对话和交换数据提供一些共同的规程,这些规程包括数据传输通路的建立、保持和释放,数据传输的差错控制和流量控制,防止网络发生阻塞,确保用户数据通过网络的安全,向用户提供尽可能多而且方便的服务。X.25建议为分组交换网定义了开放系统互连(OSI)模型的下3层,这三层分别是:物理层,链路层,分组层。与OSI模型的下三层一一对应,只是OSI的网络层(第三层)改称分组层,其功能是一致的。X.25的三层协议为DTEDTE之间的高层通信协议提供了可靠的基础。X.25的分组层在X.25接口为每个用户呼叫提供一个逻辑信道(所谓的“呼叫”是指一次通信过程)。为每个用户的呼叫连接提供有效的分组传输,包括顺序编号,分组的确认和流量控制过程。提供交换虚电路(SVC)和永久虚电路(PVC)的连接。提供建立和清除交换虚电路的方法。当主叫DTE想要建立虚呼叫时,它发送“呼叫请求”分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址。该分组发送到本地DCE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。交换虚电路建立过程被叫DTE通过发送“呼叫接受”分组表示同意建立虚电路。远端DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”分组到主叫DTE。主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫 DTE之间的虚呼叫已建立,可以进入数据传输阶段。DTE和DCE对应的逻辑信道就进入数据传输状态。在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除。呼叫清除的过程如图所示。主叫DTE发“清除请求”分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”分组到被叫DTE,被叫DTE用“清除证实”分组予以响应。该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。完成清除规程之后,虚呼叫所占用的所有逻辑信道都成为“准备好”状态。交换虚电路拆除过程1.2分组交换的特点分组交换方式具有很强的差错控制功能,信息传输质量高。网络可靠性强。在分组交换网中,“分组”在网络中传送时的路由选择是采取动态路由算法,即每个分组可以自由选择传送途径,由交换机计算出一个最佳路径。因此,当网内某一交换机或中继线发生故障时,分组能自动避开故障地点,选择另一条迂回路由传输,不会造成通信中断。分组交换网对传送的数据能够进行存储转发,使不同速率、不同类型终端之间可以相互通信。由于以分组为单位在网络中进行存储转发,比以报文为单位进行存储转发的报文交换时延要小得多,因此能满足会话型通信对实时性的要求。在分组交换中,由于采用了“虚电路”技术,使得在一条物理线路上可同时提供多条信息通路,即实现了线路的统计时分复用,线路利用率高。分组交换的传输费用与距离无关,不论用户是在同城使用,还是跨省使用,均按同一个单价来计算。因此,分组网为用户提供了经济实惠的信息传输手段。二、分组交换的过程2.1呼叫建立2.1.1呼叫建立的原理当主叫DTE想要建立虚呼叫时,它发送“呼叫请求”分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址。该分组发送到本地DCE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。交换虚电路建立过程2.1.2呼叫建立的源代码与仿真#include pconstant.h#include string.hextern C _declspec(dllexport) bool setup(char * address, int port_lcn2,DTERoutTbaleType DTERoutTbale) for(int i=0;iMaxPortNum;i+) for(int j=0;jMaxAddressNum;j+) if(DTERoutTbalei.Addressj!=0) if(!strcmp(DTERoutTbalei.Addressj,address) port_lcn0 = i; for(int k=0;kMaxLcnNum;k+) if(!DTERoutTbalei.lcn_statek) DTERoutTbalei.lcn_statek = true; port_lcn1 = k; return true; return false; 准备建立 下图1 为mess_flag值为0时表示当前DTE终端要发起建立虚电路连接,此函数要完成当前DTE终端所连接的物理链路上的逻辑信道状态的检查,为呼叫请求分组分配一逻辑信道号。然后将此逻辑信道状态置为占用,函数返回真值,否则函数返回值为假。下图2为mess_flag值为1时为呼叫到达分组Incoming_call,此函数要检查当前DTE终端所连接的物理链路上的呼叫到达分组占用的逻辑信道的状态,若为空闲,将其置为占用状态,函数返回真值,否则函数返回值为假。下图3为mess_flag值为2时为呼叫连接分组Call_connected,此函数要检查当前DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,说明是其发起呼叫的连接证实,函数返回真值,否则函数返回值为假。 2.2呼叫拆除2.2.1呼叫拆除的原理在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除。呼叫清除的过程如图所示。主叫DTE发“清除请求”分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”分组到被叫DTE,被叫DTE用“清除证实”分组予以响应。该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。完成清除规程之后,虚呼叫所占用的所有逻辑信道都成为“准备好”状态。2.2.2呼叫拆除的源代码与仿真#include pconstant.h#include string.hextern C _declspec(dllexport) bool clean(char * address, int port_lcn2,DTERoutTbaleType DTERoutTbale) for(int l=0;lMaxAddressNum;l+) if(!strcmp(DTERoutTbaleport_lcn0.Addressl,address) if(DTERoutTbaleport_lcn0.lcn_stateport_lcn1) DTERoutTbaleport_lcn0.lcn_stateport_lcn1 = false; return true; return false;下图4为mess_flag值为4时表示当前DTE终端要发起虚电路连接拆除,此函数要完成要拆除的虚电路DTE终端所连接段的逻辑信道状态的检查,若此逻辑信道状态置为占用,函数返回真值,否则函数返回值为假。 下图5为mess_flag值为5时为清除指示分组Clean_indication,此函数要检查当前DTE终端所连接的物理链路上的清除指示分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源,函数返回真值,否则函数返回值为假。下图6为mess_flag值为6时为清除证实分组Clean_confirm,此函数要检查当前DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源,函数返回真值,否则函数返回值为假。 2.3分组转发2.3.1分组转发的原理被叫DTE通过发送“呼叫接受”分组表示同意建立虚电路。远端DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”分组到主叫DTE。主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫 DTE之间的虚呼叫已建立,可以进入数据传输阶段。DTE和DCE对应的逻辑信道就进入数据传输状态。2.3.2分组转发的源代码与仿真#include pconstant.hextern C _declspec(dllexport) bool pack_switch ( int In_port_lcn,int Out_port_lcn, RoutTableType Table) for(int i=0;iMaxPortNum;i+) if(Tablei.in_port = In_port_lcn0) Out_port_lcn0 = Tablei.out_port; Out_port_lcn1 = Tablei.out_lcn; return true; return false;下图7表示数据在A处有一条线从入端0入,从出端1出,出线人线都是通过逻辑信道3,另外一条线从1进从0出都是通过逻辑信道3,;在B处有一条线从入端0入通过逻辑信道3,从1端出通过逻辑信道6,还有一条线从入端1入,通过逻辑信道6,从1端出,通过逻辑信道3;在C处有一条线从入端0入通过逻辑信道6,从2端出通过逻辑信道2,在C处还有一条线从入端2入,通过逻辑信道2,从0端出,通过逻辑信道6。通过分析可以看出其传送过程从DTE1到DTE2的传输线路从入线0入通过逻辑信道3从出端1出,出线1经过逻辑信道3在B处从入端0入经过逻辑信道3从出端1出经过逻辑信道6在C处从入端0入经过逻辑信道号6在出端2出,经过逻辑信道号2到达DTE2. 还有另外一组传输线路传送过程从DTE2到DTE1的传输线路从入线1入通过逻辑信道3从出端0出,出线0经过逻辑信道3在B处从入端1入经过逻辑信道6从出端0出经过逻辑信道3在C处从入端2入经过逻辑信道号2在出端0出,经过逻辑信道号6到达DTE2. 因为分组交换节点线程调用分组转发函数进行路由表的查找分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,若查找到所需的路由信息(路由表数组总共有三项),将出端的端口号和逻辑信道号值赋给Out_port_lcn数组,函数返回真值,否则函数返回值为假。 所以由上面两条线路的传输情况可以知道,实现了分组交换分组转发下图8表示数据从B出端1到C入端0通过逻辑信道号6进行传输。因为分组交换节点线程调用分组转发函数进行路由表的查找分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,为B出端1,C入端0过逻辑信道号6,所以返回值为真。三、实验结果分析3.1呼叫建立的实验结果分析本次实验是DTE终端线程调用虚电路建立函数来完成虚电路的建立。虚电路建立函数根据分组类别标识来处理不同的消息。仿真模拟播放分别是在当mess_flag值为0时为真时,请求建立连接成立,建立连接;当mess_flag值为1时为真时,为呼叫到达分组Incoming_call,为空闲,将其置为占用状态,入呼叫分组成功,实现分组;mess_flag值为2为真时呼叫连接分组Call_connected,前DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,为占用状态,发起呼叫的连接证实,完成分组呼叫连接。3.2呼叫拆除的实验结果分析本次实验是DTE终端线程调用虚电路建立函数来完成虚电路的建立。虚电路建立函数根据分组类别标识来处理不同的消息。仿真模拟播放分别是mess_flag值为4时为真DTE终端要发起虚电路连接拆除请求;mess_flag值为5时为真DTE终端所连接的物理链路上的清除指示分组占用的逻辑信道为占用状态;mess_flag值为6时为真DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源。即分组交换呼叫拆除在有连接的情况下即逻辑信道被占用,再执行分组交换拆除。3.3分组转发的实验结果分析分组转发的三要素分别为入线.出线逻辑信道号,因为交换节点线程调用分组转发函数进行路由表的查找分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,在本次模拟观察中,主要是观察在传输过程中经过的路由。了解分组转发的实质。四、实验的代码与仿真#include pconstant.h#include string.hextern C _declspec(dllexport) bool setup(char * address, int port_lcn2,DTERoutTbaleType DTERoutTbale) for(int i=0;iMaxPortNum;i+) for(int j=0;jMaxAddressNum;j+) if(DTERoutTbalei.Addressj!=0) if(!strcmp(DTERoutTbalei.Addressj,address) port_lcn0 = i; for(int k=0;kMaxLcnNum;k+) if(!DTERoutTbalei.lcn_statek) DTERoutTbalei.lcn_statek = true; port_lcn1 = k; return true; return false;#include pconstant.h#include string.hextern C _declspec(dllexport) bool clean(char * address, int port_lcn2,DTERoutTbaleType DTERoutTbale) for(int l=0;lMaxAddressNum;l+) if(!strcmp(DTERoutTbaleport_lcn0.Addressl,address) if(DTERoutTbaleport_lcn0.lcn_stateport_lcn1) DTERoutTbaleport_lcn0.lcn_stateport_lcn1 = false; return true; return false;#include pconstant.hextern C _declspec(dllexport) bool pack_switch ( int In_port_lcn,int Out_port_lcn, RoutTableType Table) for(int i=0;iMaxPortNum;i+) if(Tablei.in_port = In_port_lcn0) Out_port_lcn0 = Tablei.out_port; Out_port_lcn1 = Tablei.out_lcn; return true; return f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年在线教育资源共享平台开发可行性研究报告及总结分析
- 2025年高科技孵化器建设项目可行性研究报告及总结分析
- 2025年地方特色食品品牌创立可行性研究报告及总结分析
- 2025年门锁系统维护服务协议
- 2025年高端餐饮品牌连锁发展可行性研究报告及总结分析
- 2025年互联网安全服务体系建设项目可行性研究报告及总结分析
- 2025年林地租赁确认协议
- 电路技术基础 第2章
- 2025年鲤鱼苗供应合同(2025年)
- 2025年儿童智能早教平台项目可行性研究报告及总结分析
- 露天煤矿风险辨识评估试题及答案
- 建筑工地各工种安全操作规程
- 非遗文化木偶戏科普传承介绍图文课件
- 现场管理提升培训
- 2025年生态环境监测详细作业指导书(水和废水第3部分)
- 2025年学校入团考试题库(附答案解析)
- 第9课《“燕京八绝”与民间工艺》教学设计-人美版(北京)初中美术七年级上册
- 课题放弃申请书
- 少儿几何素描课件
- 老旧小区改造施工废弃物处理实施方案
- 第21课《人民英雄永垂不朽》课件统编版语文八年级上册
评论
0/150
提交评论