计算机通信网实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1:通信协议原理实验(一)
【实验目的】
要求实验者依靠通信模拟实验软件提供的传输服务,在其模拟的全双工bit 流信道上设计一个通信协议,实现一段文本信息的传输过程。
通过该实验体会并掌握通信过程中的成帧方法。
1、设计将汉字、英文字符等编/解码方法,并实验
2、设计在bit 流基础上成帧的方法,并实验
3、设计帧校验方法,并在有能力的情况下实现数据校验的算法
【预备知识】
1、网络体系结构及各层设计问题
2、OSI 参考模型
3、数据链路层成帧方法
4、纠错或差错校验方法
【实验环境】
1、分组实验,每组2~6人。
2、拓扑:
3、设备:计算机2台。
4、软件:通信模拟实验软件(comexpm.exe )
【实验原理】
通信模拟软件在两台通过以太网连接的计算机之间模拟实现了一条二进制比特流的全双工传输信道,并为实验者提供二进制数据的收发窗口。
1、通信模拟实验软件的功能(图1-1)
● 在局域网内根据实验小组名字或IP 地址建立“全双工的通信传输信道”。
● 传输二进制比特流,用“0101”比特流模拟信道空闲状态。
● 软件默认设置30‰的发送误码率,模拟真实信道的误码情况。
发送误码率可以调整。
● 软件的发送窗口一次只能填入250比特数据,相当于信道发送机的发送能B 方
A 方 Ethernet
力
●接收时如果提取数据速度太慢,会造成接收缓冲区溢出,相当于信道接收
机的缓冲能力。
●软件的接收窗口一次只能显示250比特,相当于信道接收机的处理能力。
●软件执行窗口的底部提供本软件的执行状态信息,可辅助实验者了解信道
和实验完成情况。
图1-1 通信模拟软件的主界面
2、通信模拟实验软件的使用方法
1)将一个小组分为两个半组,每半组使用一台计算机完成数据发送和接收实验。
2)同一小组的两个半组之间建立“信道”
“信道”的建立可以通过组名方式建立:通信模拟实验软件在局域网上定时广播小组名称,并根据收到的其它站点的组名广播,判断是否找到了同一组的另一台计算机。
具体过程如下:
a)设置小组名称,同一小组的两个半组填入相同的组名,然后点击“组名确定”按钮。
(图1-2)
图1-2 通过组名建立连接过程:设置组名
b)点击“组名确定”按钮后,“小组名”文本框和“组名确定”按钮失效;“重
新取名”按钮生效,此时可以选择重新取名。
(图1-3)
图1-3 通过组名建立连接过程:组名确定
c)如果实验者此时选择点击“重新取名”按钮,通信模拟实验软件会停止广播组名,并停止接收广播的判断;同时“小组名”文本框和“组名确定”按钮生效,让实验者重新输入组名,重新尝试建立小组。
重新建立小组往往是因为在实验环境中出现多个小组取相同的名字,导致各组成员之间的通信关系不能正确建立。
实验软件在发现有多个小组取相同的组名时会提示用户,并自动进入重新取名的状态。
根据收到的组名广播,实验软件判断并记录同组成员的IP地址。
获得同组实验成员的IP地址后,“开始实验”按钮生效。
d)当实验软件通过检查组名广播,找到另外半组的计算机时,软件界面上的“开始实验”按钮将从失效状态转为有效状态,并在主界面的状态栏显示“小组已建立,可以开始实验”的信息。
(图1-4)
图1-4 通过组名建立连接过程:小组建立成功
实验者可点击开始实验按钮,与对方建立连接。
e)实验软件如果与对方成功建立连接,会弹出一个“Link Management”窗口,显示“Link set up”。
表示两个半组之间的信道已经建立,可以尝试在这个信道上发送和接收数据了。
(图1-5)
图1-5 通过组名建立连接过程:信道建立成功
点击该弹出窗口中的“确定”按钮后,实验软件主界面上的“开始实验”按钮
失效,“重新取名”按钮改名为“停止实验”按钮,“发送数据”按钮和“提取数据”按钮生效,实验者可以开始发送和接收数据。
f)还可以通过输入对方IP地址来建立连接。
输入IP地址后,直接点击“开始实验”按钮,等到link set up窗口出现。
3)进行通信
实验软件仅提供了一个二进制比特流的收/发信道,模拟物理层的功能,实验者需要在这个信道的基础上尝试传输一些数据。
在传输过程中,他们将遇到数据出错后的差错处理问题、发送方发送过快而淹没接收方的问题等,实验者需要设计并使用差错处理机制和流量控制机制解决这些问题。
学以致用,本实验和实验软件的魅力得以充分体现。
a)发送数据
实验者发送数据时,在发送窗口里填好发送数据bit流后,点击“发送数据”按钮发送。
数据发送后点击清空按钮会清空。
(图1-6)
图1-6 发送数据窗口
如果实验者在发送窗口内填入了额外的字符,实验软件将不予发送,并提示出错。
(图1-7)
图1-7 发送数据错误
b)接收数据
实验者每次点击“提取数据”按钮时,接收窗口中会出现接收到的二进制比特流。
如果对方没有发送数据,接收窗口内是有规律的0101串,模拟信道收到的时钟信号。
(图1-8)
图1-8 接收数据窗口:没有收到数据
收方收到数据时会在状态栏提示实验者,而对方发送的数据会夹在0101串中得到,接收方必须用事先商量好的帧同步方式从二进制比特流中识别出正确的一帧数据。
(图1-9)
图1-9 接收数据窗口:收到数据
4)实验日志
实验软件将实验者所有的动作,以及发送和接收的数据都记录在日志里。
实验者完成实验后可以调取实验日志,重新复制实验过程,并从中找出实验失败的原因。
实验日志文件名:datarecd.log。
3、实验者在实验中的设计内容:
●小组成员之间需要协调各自的分工,如一人操作软件,一人编码,一人解
码。
●小组讨论制定编解码方法,能够将文字、符号编码成二进制流,并在接收
方进行解码,还原信息内容。
●小组讨论制定成帧方式,以便接收方正确解码。
●小组讨论制定差错校验方法。
4、关于传输文字的编解码
完整的通信系统是实现信息在通信双方之间的交互,从信息到数据的形成,需要实验者去探讨有哪些问题和相应的解决方法。
增加这个环节还可以提升实验的趣味性,如果总是在传输一串不知所云的0、1比特流,这个实验就显得非常枯燥和乏味了。
信息编码的方式由实验者自行选取或制定,尽量简单、有效。
在实验软件界面点击鼠标右键,可以得到两个便于编码和解码的工具软件,编码(code.exe)是将不断输入的十进制或十六进制数变成连续的二进制流,而解
码(decode.exe)则将连续二进制流还原成一个个十进制或十六进制数,实验者可以根据需要选择使用。
【实验步骤】(2学时)
1、组织实验小组成员进行实验分工。
将小组成员及其分工记录在“实验报告”中。
2、根据通信模拟软件提供的传输服务,设计编解码方法、成帧方法和一个简单的
协议,在“实验报告”中简要描述该协议内容,包括数据的表示方法、传送格
式和通信的时序交互图。
3、使用通信模拟软件实现一次通信过程:设定误码率为0,采用所设计的通信协
议,发送方将一段文字发送给接收方。
在“实验记录”中记录本次通信过程:
●发送方:将实验文字表示成在发送窗口要发送的文字内容;点击“发送数
据”的次数;点击发送前软件发送窗口中的二进制比特数据;
●接收方:点击“接收数据”的次数;每次点击接收时接收窗口中的二进制
比特数据;根据接收内容还原后的文字内容。
4、根据“实验记录”中的记录信息分析所设计的通信协议的正确性、不足及其改
进方法或建议。
实验2:通信协议原理实验(二)
【实验目的】
要求实验者在通信模拟实验软件模拟的全双工bit 流信道上设计一个通信协议,并亲自操作这个协议在传输可能出现差错的“环境”里实现一段文本信息传输。
通过该实验体会并掌握通信过程中差错控制和流量控制问题的解决方法。
1、掌握和设计差错控制协议,在通信双方实现无差错传输
2、掌握和设计流量控制协议,避免浪费和尽量提高效率
【预备知识】
1、网络体系结构及各层设计问题
2、OSI 参考模型
3、数据链路层差错控制协议
【实验环境】
1、分组实验,每组2~6人。
2、拓扑:
3、设备:计算机2台。
4、软件:通信模拟实验软件(comexpm.exe )
【实验原理】
在通信协议原理实验(一)中,实验者已经基本掌握了实验软件的操作方法,并能够在通信双方之间传递数据。
本实验则通过在实验软件的模拟信道上引入误码,要求实验者完成差错的恢复,并尽量提高效率。
1、通信模拟实验软件的功能(图1-1)
● 在局域网内根据实验小组名建立全双工通信传输信道。
● 传输二进制比特流,用“0101”比特流模拟信道空闲状态。
● 软件默认设置2%的发送误码率和2%的接收误码率,相当于信道的误码情况。
发送误码率和接收误码率均可以调整。
● 软件的发送窗口一次只能填入250比特数据,相当于信道发送机的发送能力 B 方
A 方 Ethernet
●接收时如果提取数据速度太慢,会造成接收缓冲区溢出,相当于信道接收
机的缓冲能力。
●软件的接收窗口一次只能显示250比特,相当于信道接收机的处理能力。
●软件执行窗口的底部提供本软件的执行状态信息,可辅助实验者了解信道
和实验完成情况。
图1-1 通信模拟软件的主界面
2、通信模拟实验软件的使用方法
1)关于信道差错
实验者可以通过实验软件主界面右下脚的“配置”按钮调整实验软件模拟的信道差错率,从0‰(无错)到100‰(一定有错),默认值为30‰。
(图1-10)
图1-10 信道误帧率配置
误码率是指每一位数据出错的概率,30表示每一位数据出错的概率为30‰,从统计的角度,每传输100位数据大约有3位错误。
因此单块发送帧不宜过大,否则会大大提高误帧率。
2)关于接收方被淹没
接收方的接收缓冲区有限,大概相当于两个接收窗口左右的大小。
实验者每点击一次“提取数据”按钮,会显示一个接收窗口的比特流,同时这些数据从接收缓冲区内被清除。
所以当接收方点击“提取数据”按钮的速率较慢时(即模拟接收机处理速度较慢),发送方多次发送就很容易造成接收方缓冲溢出,实验软件并不提示缓冲区溢出,实验者需通过事先商量的流量控制机制发现并进行流量控制。
3)实验日志
实验软件将实验者所有的动作,以及发送和接收的数据都记录在日志里。
实验者完成实验后可以调取实验日志,重新复盘实验过程,从而找出实验成功的证据和分析失败的原因。
实验日志文件名:datarecd.log。
3、实验者在实验中的设计内容:
●小组成员之间需要协调各自的分工。
●小组讨论制定帧校验方式和差错处理协议。
●小组讨论制定流量控制方法和流量控制协议。
【实验步骤】(4学时)
1、组织实验小组成员进行实验分工。
将小组成员及其分工记录在“实验报告”中。
2、根据通信模拟软件提供的传输服务,设计一个带差错控制功能的通信协议,并
在“实验报告”中简要描述该协议内容,包括数据的表示方法、传送格式和通
信的时序交互图。
3、使用通信模拟软件,设置误码率在30‰,实现通信过程:采用所设计的通信协
议,发送方将一段文字发送给接收方,并解决这个过程中出现差错,尝试利用停等协议提高效率。
在“实验记录”中记录本次通信过程:
●发送方:将实验文字表示成在发送窗口要发送的文字内容;点击“发送数
据”的次数;点击发送前软件发送窗口中的二进制比特数据;
●接收方:点击“接收数据”的次数;每次点击接收时接收窗口中的二进制
比特数据;根据接收内容还原后的文字内容。
4、根据“实验记录”中的记录信息分析所设计的通信协议的正确性、不足及其改
进方法或建议,并在“实验报告”中阐述分析的结果以及自己对计算机通信设
计问题和设计方法的体会。
实验3:距离矢量路由算法原理实验
【实验目的】
1、要求实验者利用路由选择算法模拟软件提供的通信功能,模拟距离矢量路由选择算法的初始化、路由信息扩散过程和路由计算方法;
2、掌握距离矢量算法的路由信息扩散过程;
3、掌握距离矢量算法的路由计算方法。
【预备知识】
1、路由选择算法的特征、分类和最优化原则
2、路由表的内容、用途和用法
3、距离矢量算法的基本原理
【实验环境】
1、分组实验,每组4~10人。
2、拓扑:
虚线表示节点之间的逻辑关系,构成一个逻辑上的网状拓扑结构。
3、设备:小组中每人一台计算机。
4、实验软件:路由选择算法模拟软件(routing.exe )
【实验原理】
路由选择算法模拟软件根据给定的拓扑结构,为实验者提供基本的本地路由信息,并能发送和接收实验者所组织的路由信息,帮助实验者完成路由选择算法的路由信息扩散过程、路由计算过程和路由测试过程。
1、模拟软件的功能(图2-1)
● 在局域网内根据小组名称和成员数量建立一个模拟网络拓扑结构,每个成员模拟拓扑中的一台路由器,路由器上的本地路由信息由实验软件自行生成并提供给实验者。
● 向实验者指定的发送对象发送实验者自行组织的发送内容。
● 提示实验者有数据需要接收,并显示接收内容。
路由节点N
路由节点0 路由节点2 路由节点N-1 局域网
(Ethernet )
N = 4 ~ 10
●为实验者提供记录路由计算结果的窗口——路由表窗口区域。
●为实验者提供逐站转发分组的方法来验证路由选择的结果。
图2-1 路由选择算法模拟软件主界面
2、模拟软件的使用方法
1)建立小组
通过建立小组,每个小组成员可以获得本节点的编号和本地直连链路信息。
a)4~10人一组,在实验前自由组合形成小组。
小组人数尽量多些,会使每位实验者得到充分锻炼。
每人使用一台计算机。
启动实验软件后点击“建立小组”按钮。
(图2-2)
图2-2 选择建立小组
b)在建立小组的窗口内填入小组名称和成员数量。
同一小组成员必须填写相同的小组名称和成员数量才能正确建立小组。
(图2-3)
图2-3 建立小组窗口图2-4 小组建立过程c)点击“加入”按钮后,实验软件以广播形式将组名广播出去。
同时,实验软件收集其他计算机发送的组名广播,将有相同组名的计算机加入到小组中,直
到成员个数达到预定数量后“成员已满”按钮生效。
(图2-4)
d)也可以通过在建立小组的窗口上点击鼠标右键,调出IP地址输入窗口,以加入成员IP地址的方法在非本地子网的实验者之间建立小组。
e)点击“成员已满”按钮后返回主界面,这时本地路由表里已经为本节点分配了节点号,如下图为E,并准备了一份本地路由表。
(图2-5)
图2-5 本地路由表
实验者将以本地路由表为基础,结合距离矢量路由算法原理,组织路由信息。
建立小组的过程是模拟网络路由器启动后,从各接口获得直连路由情况的过程,在实验里每个实验者都事先掌握各自的直连路由情况,他们将模拟网上路由器之间交换路由信息的过程,与邻居实验者交换路由信息,形成到达全网的路由表。
所以虽然实验者之间通过局域网直接相连,但是实验者之间具有逻辑上的邻居关系,这个邻居关系是模拟网状拓扑结构的结果。
2)在实验软件主界面选择距离矢量路由算法,根据发送路由信息窗口的路由信息格式提示,组织并发送路由信息。
a)初始化路由表:选择距离矢量路由算法后,实验软件提示实验者初始化路由表,实验者在路由表最下一栏中按格式填写路由表项,然后点击添加按钮加入
(图2-6,路由表中下一站项目中的“-”表项,逐步将本地路由表内容填入路由表。
表示直连)
图2-6 初始化路由表
b)选择“距离矢量算法”后,先根据本地路由表,填写路由表。
c)填写完路由表的初始化内容后,点击路由选择过程按钮,开始收发路由信息
根据距离矢量路由算法,组织路由信息,发送给相应的路由器。
(图2-7)
图2-7 发送路由信息
按照距离矢量算法要求,路由节点发布的路由信息是该节点当前已知的路由表,即“通过本节点,可以到达哪些节点,相应的距离是多少”。
因此在组织的路由信息中包括:发送者——通过哪个节点,目的——可以到达哪些节点,距离——发送者与目的间的距离。
注意,距离矢量算法中的距离矢量路由信息仅扩散到邻居节点。
3)根据软件窗口状态栏的接收提示,接收路由信息。
a)当节点收到路由信息时,状态栏会提示实验者有新的路由信息到达,要求进行处理。
(图2-8)
图2-8 新信息到达提示
b)实验者点击“处理路由信息”按钮,在路由信息接收窗口中会显示某个节点送到本节点的路由信息。
(图2-9)
实验过程中,实验者可能会同时收到多个邻居节点送来的路由信息,每点击一次“处理路由信息”按钮,接收路由信息窗口中只显示一个邻居节点送来的路由信息。
软件的状态栏中会一直显示“新路由信息到达”的提示,直到所有邻居节点送来的路由信息被处理完毕。
图2-9 接收路由信息图2-10 更新路由表
4)根据距离矢量算法和获得的路由信息更新路由表。
(图2-10)
距离矢量算法中,路由节点将路由信息中的距离(发送者到达目的的距离)加上本节点到达发送者的距离,形成本节点到达目的的新距离;然后比较这个新距离与当前路由表中记录的到达该目的的距离,如果新距离较短,就按照距离矢量算法要求更新本节点路由表中到达该目的的路由表项。
5)根据距离矢量算法原理继续扩散路由信息,最终形成一张收敛的路由表。
6)向小组内的其它成员发送一份测试路由的报文,由实验者指定报文的源节点、目的节点、下一跳节点和数据。
a)点击实验软件主界面上的“测试路径”按钮,再点击“已发送X份测试数据”出现发送数据窗口。
(图3-11
图2-11 发送数据窗口
b)在目的域填入数据发送的目的地,data域填入发送的数据信息,转发域里根据路由表填入如果要将数据发送到目的地应通过的下一跳路由器标号。
点击“OK”按钮后,数据将被实验软件发送到指定的下一跳路由器,这以后由各路由器根据各自的路由表将数据最终转发到目的节点。
7)节点收到来自其它节点的测试报文时,软件自动在“有X份待处理数据”按钮上显示,点击这个按钮后将显示接收信息和操作提示,节点根据自己的路由表判定是否继续转发该报文,以及将报文转发给哪个邻居路由器。
(图3-12)8)测试报文到达正确的目的节点后,会同时显示所经过路径上的节点序列,供实验者检查路径是否正确。
(图2-13)
图2-12 接收数据转发处理图2-13 目的节点数据处理
9)点击随机断链按钮,实验软件将在直连链路中随机选择一条断开,以链路距离为255表示。
图2-13 随机断链
实验者接下来需要依循距离矢量算法的原理,发布相应路由更新信息,重新形成新的路由。
【实验步骤】
1、建立实验小组。
2、按照距离矢量算法完成路由信息扩散和路由计算过程。
3、距离矢量算法收敛后,向路由表中列出的每个非直连节点发送路由测试数据,
完成路由测试过程。
4、汇总实验小组的实验记录信息,检查路由是否正确。
如果有错,分析并发现错
误产生的原因。
5、将实验从步骤1开始多做几次,观察如果各节点发送信息和接收处理信息的过
程不一样,是否会影响路由表的正确形成。
例如:在第一次实验时,节点每接收处理完一份路由信息后,就发布路由信息;而第二次实验时,节点将当前所有的路由信息处理完毕后,再发布路由信息。
6小组讨论断掉拓扑中的一条链路,然后通过实验观察路由协议是如何适应这个变化的。
*7(选作)小组讨论如何在现有拓扑中产生无穷计数问题,然后通过实验展现无穷计数现象。
实验4:链路状态路由算法原理实验
【实验目的】
1、要求实验者利用路由选择算法模拟软件提供的通信功能,模拟链路状态路由选择算法的初始化、路由信息扩散过程和路由计算方法;
2、掌握链路状态算法的路由信息扩散过程;
3、掌握链路状态算法的路由计算方法。
【预备知识】
1、路由选择算法的特征、分类和最优化原则
2、路由表的内容、用途和用法
3、链路状态算法的基本原理
【实验环境】
1、分组实验,每组4~10人。
2、拓扑:
虚线表示节点之间的逻辑关系,构成一个逻辑上的网状拓扑结构。
3、设备:小组中每人一台计算机。
4、实验软件:路由选择算法模拟软件(routing.exe )
【实验原理】
路由选择算法模拟软件根据给定的拓扑结构,为实验者提供基本的本地路由信息,并能发送和接收实验者所组织的路由信息,帮助实验者完成路由选择算法的路由信息扩散过程、路由计算过程和路由测试过程。
1、模拟软件的功能(图3-1)
● 在局域网内根据小组名称和成员数量建立一个模拟网络拓扑结构,每个成员模拟拓扑中的一台路由器,路由器上的本地路由信息由实验软件提供。
● 向实验者指定的发送对象发送实验者自行组织的发送内容。
● 提示实验者有数据需要接收,并显示接收内容。
路由节点N
路由节点0 路由节点2 路由节点N-1 局域网
(Ethernet )
N = 4 ~ 10
●为实验者提供记录路由计算结果的窗口——路由表窗口。
●为实验者提供分组逐站转发方法来验证路由选择的结果。
图3-1 路由选择算法模拟软件主界面
2、模拟软件的使用方法
1)建立小组
通过建立小组,每个小组成员可以获得本节点的编号和本地直连链路信息。
a)4~10人一组,在实验前自由组合形成小组。
小组人数尽量多些,每人使用一台计算机。
启动实验软件后点击“建立小组”按钮。
(图3-2)
图3-2 选择建立小组
b)在建立小组的窗口内填入小组名称和成员数量。
同一小组成员必须填写同样的小组名称和成员数量才能正确建立小组。
(图3-3)
图3-3 建立小组窗口图3-4 小组建立过程c)点击“加入”按钮后,实验软件以广播形式将组名广播出去。
同时,实验软件收集其他计算机发送的组名广播,将有相同组名的计算机加入到小组中,直。