******模拟网络环境******:模拟网络环境初始化...
******模拟网络环境******:模拟网络环境启动...
发送方发送报文: seqnum = 0, acknum = -1, checksum = 29556, AAAAAAAAAAAAAAAAAAAA
发送方启动计时器
报文发送后,nextseqnum变为1
接收方正确收到发送方的报文: seqnum = 0, acknum = -1, checksum = 29556, AAAAAAAAAAAAAAAAAAAA
******模拟网络环境******:向上递交给应用层数据:AAAAAAAAAAAAAAAAAAAA
接收方发送确认报文: seqnum = -1, acknum = 0, checksum = 12851, ....................
发送方定时器时间到,回退N步
重发0号报文
重发报文: seqnum = 0, acknum = -1, checksum = 29556, AAAAAAAAAAAAAAAAAAAA
接收方没有正确收到发送方的报文,报文序号不对: seqnum = 0, acknum = -1, checksum = 29556, AAAAAAAAAAAAAAAAAAAA
此时接收方期待的序号是1
接收方重新发送上次的确认报文: seqnum = -1, acknum = 0, checksum = 12851, ....................
发送方滑动窗口内容为 [ * * * * ]
发送方正确收到确认: seqnum = -1, acknum = 0, checksum = 12851, ....................
base等于nextseqnum,停止计时器,重新开始发送
发送方发送报文: seqnum = 1, acknum = -1, checksum = 26985, BBBBBBBBBBBBBBBBBBBB
发送方启动计时器
报文发送后,nextseqnum变为2
发送方发送报文: seqnum = 2, acknum = -1, checksum = 24414, CCCCCCCCCCCCCCCCCCCC
报文发送后,nextseqnum变为3
发送方发送报文: seqnum = 3, acknum = -1, checksum = 21843, DDDDDDDDDDDDDDDDDDDD
报文发送后,nextseqnum变为4
发送方发送报文: seqnum = 4, acknum = -1, checksum = 19272, EEEEEEEEEEEEEEEEEEEE
报文发送后,nextseqnum变为5
接收方正确收到发送方的报文: seqnum = 1, acknum = -1, checksum = 26985, BBBBBBBBBBBBBBBBBBBB
******模拟网络环境******:向上递交给应用层数据:BBBBBBBBBBBBBBBBBBBB
接收方发送确认报文: seqnum = -1, acknum = 1, checksum = 12850, ....................
接收方正确收到发送方的报文: seqnum = 2, acknum = -1, checksum = 24414, CCCCCCCCCCCCCCCCCCCC
******模拟网络环境******:向上递交给应用层数据:CCCCCCCCCCCCCCCCCCCC
接收方发送确认报文: seqnum = -1, acknum = 2, checksum = 12849, ....................
发送方滑动窗口内容为 [ 2 3 4 * ]
发送方正确收到确认: seqnum = -1, acknum = 1, checksum = 12850, ....................
接收方正确收到发送方的报文: seqnum = 3, acknum = -1, checksum = 21843, DDDDDDDDDDDDDDDDDDDD
******模拟网络环境******:向上递交给应用层数据:DDDDDDDDDDDDDDDDDDDD
接收方发送确认报文: seqnum = -1, acknum = 3, checksum = 12848, ....................
发送方收到的ACK损坏
接收方正确收到发送方的报文: seqnum = 4, acknum = -1, checksum = 19272, EEEEEEEEEEEEEEEEEEEE
******模拟网络环境******:向上递交给应用层数据:EEEEEEEEEEEEEEEEEEEE
接收方发送确认报文: seqnum = -1, acknum = 4, checksum = 12847, ....................
发送方滑动窗口内容为 [ 4 * * * ]
发送方正确收到确认: seqnum = -1, acknum = 3, checksum = 12848, ....................
发送方收到的ACK损坏
发送方定时器时间到,回退N步
重发4号报文
重发报文: seqnum = 4, acknum = -1, checksum = 19272, EEEEEEEEEEEEEEEEEEEE
接收方没有正确收到发送方的报文,报文序号不对: seqnum = 4, acknum = -1, checksum = 19272, EEEEEEEEEEEEEEEEEEEE
此时接收方期待的序号是5
接收方重新发送上次的确认报文: seqnum = -1, acknum = 4, checksum = 12847, ....................
发送方滑动窗口内容为 [ * * * 0 ]
发送方正确收到确认: seqnum = -1, acknum = 4, checksum = 12847, ....................
base等于nextseqnum,停止计时器,重新开始发送
发送方发送报文: seqnum = 5, acknum = -1, checksum = 16701, FFFFFFFFFFFFFFFFFFFF
发送方启动计时器
报文发送后,nextseqnum变为6
发送方发送报文: seqnum = 6, acknum = -1, checksum = 14130, GGGGGGGGGGGGGGGGGGGG
报文发送后,nextseqnum变为7
发送方发送报文: seqnum = 7, acknum = -1, checksum = 11559, HHHHHHHHHHHHHHHHHHHH
报文发送后,nextseqnum变为8
发送方发送报文: seqnum = 8, acknum = -1, checksum = 8988, IIIIIIIIIIIIIIIIIIII
报文发送后,nextseqnum变为9
接收方正确收到发送方的报文: seqnum = 5, acknum = -1, checksum = 16701, FFFFFFFFFFFFFFFFFFFF
******模拟网络环境******:向上递交给应用层数据:FFFFFFFFFFFFFFFFFFFF
接收方发送确认报文: seqnum = -1, acknum = 5, checksum = 12846, ....................
发送方滑动窗口内容为 [ 6 7 8 1 ]
发送方正确收到确认: seqnum = -1, acknum = 5, checksum = 12846, ....................
接收方正确收到发送方的报文: seqnum = 6, acknum = -1, checksum = 14130, GGGGGGGGGGGGGGGGGGGG
******模拟网络环境******:向上递交给应用层数据:GGGGGGGGGGGGGGGGGGGG
接收方发送确认报文: seqnum = -1, acknum = 6, checksum = 12845, ....................
发送方收到的ACK损坏
接收方正确收到发送方的报文: seqnum = 7, acknum = -1, checksum = 11559, HHHHHHHHHHHHHHHHHHHH
******模拟网络环境******:向上递交给应用层数据:HHHHHHHHHHHHHHHHHHHH
接收方发送确认报文: seqnum = -1, acknum = 7, checksum = 12844, ....................
接收方正确收到发送方的报文: seqnum = 8, acknum = -1, checksum = 8988, IIIIIIIIIIIIIIIIIIII
******模拟网络环境******:向上递交给应用层数据:IIIIIIIIIIIIIIIIIIII
接收方发送确认报文: seqnum = -1, acknum = 8, checksum = 12843, ....................
发送方收到的ACK损坏
发送方滑动窗口内容为 [ 1 2 3 4 ]
发送方正确收到确认: seqnum = -1, acknum = 8, checksum = 12843, ....................
base等于nextseqnum,停止计时器,重新开始发送
发送方发送报文: seqnum = 9, acknum = -1, checksum = 6417, JJJJJJJJJJJJJJJJJJJJ
发送方启动计时器
报文发送后,nextseqnum变为10
发送方发送报文: seqnum = 10, acknum = -1, checksum = 3846, KKKKKKKKKKKKKKKKKKKK
报文发送后,nextseqnum变为11
发送方发送报文: seqnum = 11, acknum = -1, checksum = 1275, LLLLLLLLLLLLLLLLLLLL
报文发送后,nextseqnum变为12
发送方发送报文: seqnum = 12, acknum = -1, checksum = 64239, MMMMMMMMMMMMMMMMMMMM
报文发送后,nextseqnum变为13
接收方正确收到发送方的报文: seqnum = 9, acknum = -1, checksum = 6417, JJJJJJJJJJJJJJJJJJJJ
******模拟网络环境******:向上递交给应用层数据:JJJJJJJJJJJJJJJJJJJJ
接收方发送确认报文: seqnum = -1, acknum = 9, checksum = 12842, ....................
发送方收到的ACK损坏
接收方正确收到发送方的报文: seqnum = 10, acknum = -1, checksum = 3846, KKKKKKKKKKKKKKKKKKKK
******模拟网络环境******:向上递交给应用层数据:KKKKKKKKKKKKKKKKKKKK
接收方发送确认报文: seqnum = -1, acknum = 10, checksum = 12841, ....................
接收方没有正确收到发送方的报文,数据校验错误: seqnum = 12, acknum = -1, checksum = 64239, NMMMMMMMMMMMMMMMMMMM
接收方重新发送上次的确认报文: seqnum = -1, acknum = 10, checksum = 12841, ....................
发送方滑动窗口内容为 [ 11 12 5 6 ]
发送方正确收到确认: seqnum = -1, acknum = 10, checksum = 12841, ....................
发送方没有正确收到确认,序号不满足要求,继续等待
发送方定时器时间到,回退N步
重发11号报文
重发报文: seqnum = 11, acknum = -1, checksum = 1275, LLLLLLLLLLLLLLLLLLLL
重发12号报文
重发报文: seqnum = 12, acknum = -1, checksum = 64239, MMMMMMMMMMMMMMMMMMMM
接收方没有正确收到发送方的报文,报文序号不对: seqnum = 12, acknum = -1, checksum = 64239, MMMMMMMMMMMMMMMMMMMM
此时接收方期待的序号是11
接收方重新发送上次的确认报文: seqnum = -1, acknum = 10, checksum = 12841, ....................
发送方没有正确收到确认,序号不满足要求,继续等待
发送方定时器时间到,回退N步
重发11号报文
重发报文: seqnum = 11, acknum = -1, checksum = 1275, LLLLLLLLLLLLLLLLLLLL
重发12号报文
重发报文: seqnum = 12, acknum = -1, checksum = 64239, MMMMMMMMMMMMMMMMMMMM
接收方正确收到发送方的报文: seqnum = 11, acknum = -1, checksum = 1275, LLLLLLLLLLLLLLLLLLLL
******模拟网络环境******:向上递交给应用层数据:LLLLLLLLLLLLLLLLLLLL
接收方发送确认报文: seqnum = -1, acknum = 11, checksum = 12840, ....................
发送方滑动窗口内容为 [ 12 5 6 7 ]
发送方正确收到确认: seqnum = -1, acknum = 11, checksum = 12840, ....................
接收方正确收到发送方的报文: seqnum = 12, acknum = -1, checksum = 64239, MMMMMMMMMMMMMMMMMMMM
******模拟网络环境******:向上递交给应用层数据:MMMMMMMMMMMMMMMMMMMM
接收方发送确认报文: seqnum = -1, acknum = 12, checksum = 12839, ....................
发送方滑动窗口内容为 [ 5 6 7 8 ]
发送方正确收到确认: seqnum = -1, acknum = 12, checksum = 12839, ....................
base等于nextseqnum,停止计时器,重新开始发送
发送方发送报文: seqnum = 13, acknum = -1, checksum = 61668, NNNNNNNNNNNNNNNNNNNN
发送方启动计时器
报文发送后,nextseqnum变为14
发送方发送报文: seqnum = 14, a