数据链路层模拟实验报告.docx

上传人:b****1 文档编号:570922 上传时间:2023-04-29 格式:DOCX 页数:13 大小:16.12KB
下载 相关 举报
数据链路层模拟实验报告.docx_第1页
第1页 / 共13页
数据链路层模拟实验报告.docx_第2页
第2页 / 共13页
数据链路层模拟实验报告.docx_第3页
第3页 / 共13页
数据链路层模拟实验报告.docx_第4页
第4页 / 共13页
数据链路层模拟实验报告.docx_第5页
第5页 / 共13页
数据链路层模拟实验报告.docx_第6页
第6页 / 共13页
数据链路层模拟实验报告.docx_第7页
第7页 / 共13页
数据链路层模拟实验报告.docx_第8页
第8页 / 共13页
数据链路层模拟实验报告.docx_第9页
第9页 / 共13页
数据链路层模拟实验报告.docx_第10页
第10页 / 共13页
数据链路层模拟实验报告.docx_第11页
第11页 / 共13页
数据链路层模拟实验报告.docx_第12页
第12页 / 共13页
数据链路层模拟实验报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据链路层模拟实验报告.docx

《数据链路层模拟实验报告.docx》由会员分享,可在线阅读,更多相关《数据链路层模拟实验报告.docx(13页珍藏版)》请在冰点文库上搜索。

数据链路层模拟实验报告.docx

数据链路层模拟实验报告

数据链路层模拟实验报告

1.协议2模拟实验

1.1 模拟可靠信道上的传输

执行以下命令:

./protocol25010007

得到如下运行结果(包括分析):

Tick10.Proc1gotgoodframe:

type=Dataseq=0ack=0payload=1/*进程1收到一个正确帧,类型是Data;分组序列号为0;确认号为0;目前成功接收到1帧*/

Tick10.Proc1sentframe:

type=Ackseq=0ack=0payload=0/*进程1发送一个帧,类型是Ack;分组序列号为0;确认号为0*/

Tick13.Proc0gotgoodframe:

type=Ackseq=0ack=0payload=0/*进程0收到一个正确帧,类型是Ack;分组序列号为0;确认号为0*/

Tick13.Proc0sentframe:

type=Dataseq=0ack=0payload=2/*进程0发送一个帧,类型是Data;分组序列号为0;确认号为0;目前成功发送2帧*/

Tick15.Proc1gotgoodframe:

type=Dataseq=0ack=0payload=2/*进程1收到一个正确帧,类型是Data;分组序列号为0;确认号为0;目前成功接收到2帧*/

Tick15.Proc1sentframe:

type=Ackseq=0ack=0payload=0/*进程1发送一个帧,类型是Ack;分组序列号为0;确认号为0;成功接收到0帧*/

Tick19.Proc0gotgoodframe:

type=Ackseq=0ack=0payload=0/*进程0收到一个正确帧,类型是Ack;分组序列号为0;确认号为0*/

Tick19.Proc0sentframe:

type=Dataseq=0ack=0payload=3/*进程0发送一个帧,类型是Data;分组序列号为0;确认号为0;目前成功发送3帧*/

Tick21.Proc1gotgoodframe:

type=Dataseq=0ack=0payload=3/*进程1收到一个正确帧,类型是Data;分组序列号为0;确认号为0;目前成功接收到3帧*/

Tick21.Proc1sentframe:

type=Ackseq=0ack=0payload=0/*进程1发送一个帧,类型是Ack;分组序列号为0;确认号为0*/

得出的结论:

从实验的数据来看在协议2的模拟过程中Process0模拟的发送端,Process1模拟接收端.在Process0发送一个数据帧(Data)后,Process1接受到以后就立即发送一个确认帧(Ack),Process0接受到Process1的确认帧(Ack)后再接着发送下数据帧(Data),这样就完成了一个传输接收的周期,而payload则记录了成功接收到的帧的(Data)个数,可以将其理解为一个计数器,这个计数器只记录成功接收到的帧(Data)的个数,而不记录成功接收到确认帧(Ack)的个数,当Process0接收到Process1的确认帧后,Process0的payload就自动加1,表示成功发送了一帧(Data),对于Process1,每成功接收到一个数据帧(Data),其payload就自动加1,表示成功接收到了一帧(Data).通过模拟可以看出协议2是一个单工的停-等协议,接收端在接收到发送端发来的一个数据帧之后,发送一个确认帧,等待下一帧.而发送方在发送了一个数据帧之后就不再发送,等待接收方的接收确认帧,待接收到接收方发来的确认帧之后,确认发送成功才发送下一帧.这样的发送方式较无限制的单工协议要稳定,安全,可以保证接收的数据的正确性,同时又可以避免接收方被发送方发送的数据湮没的危险

2. 协议3模拟实验

2.1 模拟协议3在不可靠信道上的正常传输

请执行以下命令:

./protocol35015007

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

2.2 模拟不可靠信道传输中的超时错误

请执行以下命令:

./protocol3505007

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

2.3 模拟不可靠信道传输中的丢包错误

请执行以下命令:

./protocol3100101007

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

2.4 模拟不可靠信道传输中的校验和错误

请执行以下命令:

./protocol3100100107

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

3. 协议4模拟实验

3.1 模拟1位滑动窗口协议中的正常传输

请执行以下命令:

./protocol45010007

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

3.2 模拟1位滑动窗口协议中的超时错误

 请执行以下命令:

./protocol4508007

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

3.3 模拟1位滑动窗口协议中的丢包错误

请执行以下命令:

./protocol450101007

得到如下运行结果(包括分析):

Tick5.Proc0gotgoodframe:

type=Dataseq=0ack=0payload=0/*进程0成功接收到一帧,类型为Data;序列号为0,确认号为0,目前成功发送0帧*/

Tick5.Proc0sentframe:

type=Dataseq=1ack=0payload=1/*进程0成功发送一帧,类型为Data;序列号为1,确认号为0,目前成功发送1帧*/

Tick10.Proc1gotgoodframe:

type=Dataseq=1ack=0payload=1/*进程1成功接收到一帧,类型为Data;序列号为1,确认号为0,目前成功发送1帧*/

Tick10.Proc1sentframe:

type=Dataseq=1ack=1payload=1/*进程1成功发送一帧,类型为Data;序列号为0,确认号为0,目前成功发送1帧*/

Tick13.Proc0gotgoodframe:

type=Dataseq=1ack=1payload=1/*进程0成功接收到一帧,类型为Data;序列号为1,确认号为1,目前成功发送1帧*/

Tick13.Proc0sentframethatgotlost:

type=Dataseq=0ack=1payload=2/*进程0成功发送一帧,类型为Data;序列号为0,确认号为1,目前成功发送2帧*/

Tick21.Proc1gottimeoutforframe1/*进程1得到一个超时帧(帧1)*/

Tick21.Proc1sentframethatgotlost:

type=Dataseq=1ack=1payload=1/*进程0成功接收到一帧,类型为Data;序列号为1,确认号为1,目前成功发送1帧*/

Tick25.Proc0gottimeoutforframe0/*进程0得到一个超时帧(帧0)*/

Tick25.Proc0sentframe:

type=Dataseq=0ack=1payload=2/*进程0成功发送一帧,类型为Data;序列号为0,确认号为1,目前成功发送2帧*/

 

得出的结论:

从实验的数据来看,协议4的模拟过程中,Process0,和Process1既是接收端也是发送端,两个进程同时可以接收和发送帧,协议4的一个接收和发送周期大概是这样的:

Process0首先发送一个数据帧,Process1成功接收到以后,立即发送一个数据帧给Process0,Process0在接收到Process1发送的数据帧后又立即发送下一数据帧.payload是记录本机成功发送数据帧数的计数器,当收到一个数据帧是计数器就会自动加1.当传输发生超时错误时,发送数据的两端都会收到超时错误的提示,根据提示中的序列号进行数据帧的重传.通过模拟可以看出,协议4是一个双工协议,传输的两端都可以进行数据的传送和接收,一端在接收到对方的数据帧后就接着发送数据帧给对方.可见协议4的传输效率比较高,而且在出错时,可以根据错误提示中的信息将丢失的数据进行重传,保证了传输的数据的完整性,及正确性.

3.4 模拟1位滑动窗口协议中的校验和错误

请执行以下命令:

./protocol450100107

得到如下运行结果(包括分析):

(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)

……

得出的结论:

(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)

……

 

 

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2