数据链路层模拟实验报告.docx
《数据链路层模拟实验报告.docx》由会员分享,可在线阅读,更多相关《数据链路层模拟实验报告.docx(13页珍藏版)》请在冰点文库上搜索。
数据链路层模拟实验报告
数据链路层模拟实验报告
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
得到如下运行结果(包括分析):
(请在这里记录下运行的结果,并插入类似程序注释的形式对运行结果进行解说)
……
得出的结论:
(请在这里概要性的说明你运行结果总的理解,以及自己得出的结论和感想)
……