计算机网络------TCP协议的可靠传输

发布于:2023-01-18 ⋅ 阅读:(2186) ⋅ 点赞:(2)

目录

TCP协议可以提供可靠传输的服务,这是靠什么来实现的呢?

停止-等待协议

为什么这个协议叫通知-等待协议呢?

这个过程可能会出现那些差错呢?该什么处理呢?

超时重传是通过什么来实现的呢?

停止-等待协议的缺点是什么?

连续ARQ协议

连续ARQ协议的作用

滑动窗口(实现批量发送)

累计确认(实现连续确认)


TCP协议可以提供可靠传输的服务,这是靠什么来实现的呢?

答:

停止-等待协议

连续ARQ协议

停止-等待协议

 

为什么这个协议叫通知-等待协议呢?

无论是发送方还是接收方,当没有消息进来的时候,它也会处于停止-等待的状态。 只有新的消息进来以后,发送方会接收方才会生成发送出新的消息。(对于发送方来讲这里的消息指的是确认消息,对于接收方来讲这里的消息指的是发送方发送来的消息)

这个过程可能会出现那些差错呢?该什么处理呢?

出现的差错:

对于发送方:发送方出现的差错:发送方将数据发送出去之后,发生了丢失。

对于确认方:确认消息在传输过程中发生丢失。 

                      确认消息很久才到达发送方。

处理的方式超时重传(接收方很久没有收到确认消息,那么就重传该消息)

超时重传是通过什么来实现的呢?

通过在发送方设置一个定时器,这个定时器被称为:超时定时器。每发送一个消息,都需要设置一个定时器(用来计算一个消息什么时候过期了)。

注意:TCP协议中有4个定时器。 

停止-等待协议的缺点是什么?

缺点一:停止等待协议是最简单的可靠传输协议(只要消息没正确到达,就会进行超时重传)

缺点二:停止等待协议对信道的利用效率不高(停止-等待的时间过长)

缺点三:单个确认和发送的效率过低。 

所以,这里就需要连续ARQ协议了。

连续ARQ协议

连续ARQ协议的作用

实现的是数据的批量的发送和确认

滑动窗口(实现批量发送)

窗口:批量发送的数据的大小

可以向前滑动的窗口:滑动窗口

如图所示,假设发送了前六个报文之后,收到了编号为1和2的确认消息,此时会将窗口向前移动两个位置。接着就会发送编号为7和8的报文,等接收到其它报文的确认消息之后,再将窗口继续向后移动。

累计确认(实现连续确认)

只要收到了某个确认消息,表示这个消息之前的消息我全部都收到了。大大减少了确认报文的数量,提高了网络效率。例如,

假设同时发送了编号为1-6的这六个报文,在某一个时刻,发送方接收到了编号为5的这个报文的确认消息。如果是采用累计确认的方法,5的这个确认消息就表示说,1-5的确认消息,发送方都已经收到了,因此就会将窗口向后移动5个位置,此时就可以发送7~11这五个报文了。 


网站公告

今日签到

点亮在社区的每一天
去签到