分组交换与仿真_第1页
分组交换与仿真_第2页
分组交换与仿真_第3页
分组交换与仿真_第4页
分组交换与仿真_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计题目:分组交换系统的设计与仿真学号:学生姓名:专业:通信工程班级:指导教师:2013年1月11日第一章分组交换11分组交换的原理X.25建议是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)制定的关于数据终端设备(DTE)和数据电路终接设备(DCE)之间的接口规程。X.25标准的思路是为用户(DTE)和分组交换网络(DCE)之间建立对话和交换数据提供一些共同的规程,这些规程包括数据传输通路的建立、保持和释放,数据传输的差错控制和流量控制,防止网络发生阻塞,确保用户数据通过网络的安全,向用户提供尽可能多而且方便的服务。X.25建议为分组交换网定义了开放系统互连(OSI)模型

2、的下3层,这三层分别是:物理层,链路层,分组层。与OSI模型的下三层一一对应,只是OSI的网络层(第三层)改称分组层,其功能是一致的。X.25的三层协议为DTEDTE之间的高层通信协议提供了可靠的基础。X.25的分组层在X.25接口为每个用户呼叫提供一个逻辑信道(所谓的“呼叫”是指一次通信过程)。为每个用户的呼叫连接提供有效的分组传输,包括顺序编号,分组的确认和流量控制过程。提供交换虚电路(SVC)和永久虚电路(PVC)的连接。提供建立和清除交换虚电路的方法。当主叫DTE想要建立虚呼叫时,它发送“呼叫请求”分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址。该分组发送到本地D

3、CE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。主叫X25本地.-一网络规程-.远端X25被叫TED(呼叫请求:EDC:EDT一一七一建立入呼叫一一*呼叫接受.接受4呼叫连接_4交换虚电路建立过程被叫DTE通过发送“呼叫接受”分组表示同意建立虚电路。远端DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”分组到主叫DTE。主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫DTE之间的虚呼叫已建立,可

4、以进入数据传输阶段。DTE和DCE对应的逻辑信道就进入数据传输状态。在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除。呼叫清除的过程如图所示。主叫DTE发“清除请求”分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”分组到被叫DTE,被叫DTE用“清除证实”分组予以响应。该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。完成清除规程之后,虚呼叫所占用的所有逻辑信道都成为“准备好”状态。交换虚电路拆除过程12分组交换的特点分组交换方式具有很强的差错控制功能,信息传输质量高。网络可靠性强。在分组交换网中,“分组”在网络中传送时的路由选择是采取动态路由算法

5、,即每个分组可以自由选择传送途径,由交换机计算出一个最佳路径。因此,当网内某一交换机或中继线发生故障时,分组能自动避开故障地点,选择另一条迂回路由传输,不会造成通信中断。分组交换网对传送的数据能够进行存储转发,使不同速率、不同类型终端之间可以相互通信。由于以分组为单位在网络中进行存储转发,比以报文为单位进行存储转发的报文交换时延要小得多,因此能满足会话型通信对实时性的要求。在分组交换中,由于采用了“虚电路”技术,使得在一条物理线路上可同时提供多条信息通路,即实现了线路的统计时分复用,线路利用率高。分组交换的传输费用与距离无关,不论用户是在同城使用,还是跨省使用,均按同一个单价来计算。因此,分组

6、网为用户提供了经济实惠的信息传输手段。第二章分组交换的过程2.1呼叫建立211呼叫建立的原理当主叫DTE想要建立虚呼叫时,它发送“呼叫请求”分组,该“呼叫请求”分组包含可供分配的高端的LCN和被叫的DTE地址。该分组发送到本地DCE,由DCE将该分组转换成网络规程格式,而且通过网络路由(交换)到远端DCE,由远端DCE将网络规程格式的呼叫请求分组转换为“入呼叫”分组,并发送给被叫的DTE,该分组包含了可供分配的低端的LCN。交换虚电路建立过程212呼叫建立的源代码与仿真#includepconstant.h#includestring.hexternC_declspec(dllexport)b

7、oolsetup(char*address,intport_lcn2,DTERoutTbaleTypeDTERoutTbale)for(inti=O;ivMaxPortNum;i+)for(intj=O;jvMaxAddressNum;j+)if(DTERoutTbalei.Addressj!=O)if(!strcmp(DTERoutTbalei.Addressj,address)port_lcn0=i;for(intk=O;kvMaxLcnNum;k+)if(!DTERoutTbalei.lcn_statek)DTERoutTbalei.lcn_statek=true;port_lcn1=k

8、;returntrue;returnfalse;address1.(Xname入呼叫分组(Incomingcall)address1.(Xnanic呼川接受分组(Callaccepted)address1.(、呼IU连接分组(Callconnected)2address1.(name数据证实分组numLCXDTE1呼叫请求分组(Callrequest)20准备建立下图1为mess_flag值为0时表示当前DTE终端要发起建立虚电路连接,此函数要完成当前DTE终端所连接的物理链路上的逻辑信道状态的检查,为呼叫请求分组分配一逻辑信道号。然后将此逻辑信道状态置为占用,函数返回真值,否则函数返回值为假

9、。nameaddressLC|nin|LCN|畔叫會纽伽口營嗨呷)|nume|addrc詞l.、|呼叫接受分组(Callaccepted)nameaddn-ssl.CX呼叫连接分组(Cullconnected)nameuddresdLCN数据分组呼叫请求5MM(C:aUrequest)下图2为mess_flag值为1时为呼叫到达分组Incoming_call,此函数要检查当前DTE终端所连接的物理链路上的呼叫到达分组占用的逻辑信道的状态,若为空闲,将其置为占用状态,函数返回真值,否则函数返回值为假。下图3为mess_flag值为2时为呼叫连接分组Call_connected,此函数要检查当前D

10、TE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,说明是其发起呼叫的连接证实,函数返回真值,否则函数返回值为假。22呼叫拆除221呼叫拆除的原理在虚呼叫任何一端的DTE都能够清除呼叫,而且呼叫也可以由网络清除。呼叫清除的过程如图所示。主叫DTE发“清除请求”分组,该分组通过网络到达远端DCE,远端DCE发“清除指示”分组到被叫DTE,被叫DTE用“清除证实”分组予以响应。该“证实”传到本地DCE,本地DCE再发送“清除证实”到主叫DTE。完成清除规程之后,虚呼叫所占用的所有逻辑信道都成为“准备好”状态。222呼叫拆除的源代码与仿真#includepconstant.h

11、#includestring.hexternC_declspec(dllexport)boolclean(char*address,intport_lcn2,DTERoutTbaleTypeDTERoutTbale)for(intl=O;lvMaxAddressNum;l+)if(!strcmp(DTERoutTbaleport_lcnO.Addressl,address)if(DTERoutTbaleport_lcnO.lcn_stateport_lcnl)DTERoutTbaleport_lcn0.lcn_stateport_lcn1=false;returntrue;returnfals

12、e;下图4为mess_flag值为4时表示当前DTE终端要发起虚电路连接拆除,此函数要完成要拆除的虚电路DTE终端所连接段的逻辑信道状态的检查,若此逻辑信道状态置为占用,函数返回真值,否则函数返回值为假。出刷2出玳222lastoleannIDTE23IDTE1呼叫诲耒分(CaUrvqunt)nameaddreJl.CX1呼叫牛姐(Incun”畔门屮)|nHmcbddre前,呼叫接受分组(fsillaccepted)警据分组daCunumICM葺据证实分岁|iium|lXN|nameuddrcsjuLCN呼叫连接分组(Callconnected)namcLddresshCN下图5为mess_f

13、lag值为5时为清除指示分组Clean_indication,此函数要检查当前DTE终端所连接的物理链路上的清除指示分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源,函数返回真值,否则函数返回值为假。数据证实分组DTE1呼叫请求分组(Callrequest)呼叫幷组(Incoiplnp珂1)nameaddressLCN呼叫接受分组(CaHaccepted)nameaddressLCX呼叫连接分组(CallconrwcMd)nameaddressLC数据分组入端LCN出靖LCNnameaddressI.CdatanumLCXnumLCN下图6为mess_flag值为6时为清

14、除证实分组Clean_confirm,此函数要检查当前DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源,函数返回真值,否则函数返回值为假。la1nameLddresdkOfl呼叫接受分组(Callaccepted)气据证实分甲DTE1呼叫谐求分蛆n*qu%tnameaddresslL入呼叫分纽UncuiwhiMnd呼叫连接分组(Cullconnected)nameaddresJI.N豊据分警入壊LCN出41LCN入耀LCNLCN-;9LCNLCN23分组转发231分组转发的原理被叫DTE通过发送“呼叫接受”分组表示同意建立虚电路。远端

15、DCE接收到“呼叫接受”分组之后,通过网络规程传送到本地DCE,本地DCE发送“呼叫连接”分组到主叫DTE。主叫DTE接收到“呼叫连接”分组之后,表示主叫DTE和被叫DTE之间的虚呼叫已建立,可以进入数据传输阶段。DTE和DCE对应的逻辑信道就进入数据传输状态。232分组转发的源代码与仿真#includepconstant.hexternC_declspec(dllexport)boolpack_switch(intIn_port_lcn,intOut_port_lcn,RoutTableTypeTable)for(inti=O;ivMaxPortNum;i+)if(Tablei.in_por

16、t=In_port_lcn0)Out_port_lcn0=Tablei.out_port;Out_port_lcnl=Tablei.out_lcn;returntrue;returnfalse;下图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。通过分析可以看出其传

17、送过程从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.因为分组交换节点线程调用分组转发函数进行路由表的查找分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,若查找到

18、所需的路由信息(路由表数组总共有三项),将出端的端口号和逻辑信道号值赋给Out_port_lcn数组,函数返回真值,否则函数返回值为假。所以由上面两条线路的传输情况可以知道,实现了分组交换分组转发X0D岀蝌2呼叫接受分组(C;dlaccepted)namcLd(lrcsL呼叫连接分组(Ciillconnected)nameuddrvsJLCN呼叫晳组(Incunyni;密I)nameaddressLCM茸据分组|da(n|num|LC|密据气实分舉|num|LCDTE1呼叫请求分组K:allrequest)namead(lre5JI.CN下图8表示数据从B出端1到C入端0通过逻辑信道号6进行传

19、输。因为分组交换节点线程调用分组转发函数进行路由表的查找分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,为B出端1,C入端0过逻辑信道号6,所以返回值为真。入瑞岀端入端出竭36043060334aB2206222206ay呼小连接分组(Callconnected)nameaddressIXN数据分组数据证实分组DTE1呼叫请求分组(CsHlrequest)入呼叫分组(Incomingctdl)nameaddressLCN呼屮接受牛组(Ca”Bcccp(cd)nameaddressLCX出端nameaddressLCNdatanumLCXnum1.(、stop第三章

20、实验结果分析3.1呼叫建立的实验结果分析本次实验是DTE终端线程调用虚电路建立函数来完成虚电路的建立。虚电路建立函数根据分组类别标识来处理不同的消息。仿真模拟播放分别是在当mess_flag值为0时为真时,请求建立连接成立,建立连接;当mess_flag值为1时为真时,为呼叫到达分组Incoming_call,为空闲,将其置为占用状态,入呼叫分组成功,实现分组;mess_flag值为2为真时呼叫连接分组Call_connected,前DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,为占用状态,发起呼叫的连接证实,完成分组呼叫连接。32呼叫拆除的实验结果分析本次实验是DTE终端线

21、程调用虚电路建立函数来完成虚电路的建立。虚电路建立函数根据分组类别标识来处理不同的消息。仿真模拟播放分别是mess_flag值为4时为真DTE终端要发起虚电路连接拆除请求;mess_flag值为5时为真DTE终端所连接的物理链路上的清除指示分组占用的逻辑信道为占用状态;mess_flag值为6时为真DTE终端所连接的物理链路上的呼叫连接分组占用的逻辑信道的状态,若为占用状态,将其置为空闲状态,释放链路资源。即分组交换呼叫拆除在有连接的情况下即逻辑信道被占用,再执行分组交换拆除。33分组转发的实验结果分析分组转发的三要素分别为入线.出线逻辑信道号,因为交换节点线程调用分组转发函数进行路由表的查找

22、分组转发函数根据分组入端的端口号和逻辑信道号,查找本分组交换节点线程的路由表,在本次模拟观察中,主要是观察在传输过程中经过的路由。了解分组转发的实质。第四章实验的代码与仿真#includepconstant.h#includestring.hexternC_declspec(dllexport)boolsetup(char*address,intport_lcn2,DTERoutTbaleTypeDTERoutTbale)for(inti=O;ivMaxPortNum;i+)for(intj=O;jvMaxAddressNum;j+)if(DTERoutTbalei.Addressj!=O)i

23、f(!strcmp(DTERoutTbalei.Addressj,address)port_lcn0=i;for(intk=O;kvMaxLcnNum;k+)if(!DTERoutTbalei.lcn_statek)DTERoutTbalei.lcn_statek=true;port_lcn1=k;returntrue;returnfalse;#includepconstant.h#includestring.hintexternC_declspec(dllexport)boolclean(char*address,port_lcn2,DTERoutTbaleTypeDTERoutTbale)

24、for(intl=O;lvMaxAddressNum;l+)if(!strcmp(DTERoutTbaleport_lcn0.Addressl,address)if(DTERoutTbaleport_lcnO.lcn_stateport_lcnl)DTERoutTbaleport_lcn0.lcn_stateport_lcnl=false;returntrue;returnfalse;#includepconstant.hexternC_declspec(dllexport)boolpack_switch(intIn_port_lcn,intOut_port_lcn,RoutTableType

25、Table)for(inti=0;ivMaxPortNum;i+)if(Tablei.in_port=ln_port_lcn0)Out_port_lcn0=Tablei.out_port;Out_port_lcn1=Tablei.out_lcn;returntrue;returnfalse;实验仿真入瑞入瑞出瑞430302address1.(Xname入呼叫分组(IncomingcnH)nameaddress1.(、呼叫接受分组(Callaccepted)addressLCNname呼川2addressname数据分组出端o62206DTE1呼叫请求分组(Callrequest)气据证实分甲numLCX连接分组(Callconnected)LC|-Xplay入端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论