TCP
可靠传输 : ack确认;每个报文段一个计时器;(超时和重传)
5个主要特点:
1、面向连接层
2、点对点
3、可靠
4、全双工
5、面向字节流
可靠性原理:
三次握手 + 连续ARQ + 拥塞控制(慢开始、拥塞避免、快重传、快恢复)
(停止等待协议)
分 (a)无差错情况和 (b)超时重传
实施: 每发送一个报文段,等待ASK确认。超时后重传【重传计时器】。
1、暂时保留已发送分组的报文副本
2、【分组】和【确认分组】进行编号
3、【超时计时器】的【重传时间】比【RTT】更长。
(c)确认丢失 (d)确认迟到
c 等到超时后重传——接收端丢弃重复的分组,并重传【确认】;
d 等到超时后重传——接收端丢弃重复分组,并重传【确认】——发送端收到【确认】继续发送下一段报文、收到超时的【确认】什么也不做。
流水线传输
发送方连续发送分组而无需等待确认。(回退N步、选择重传)
Go-Back-N
重发该分组之后的所有分组,接收方只允许顺序接收、可以【累计确认】;
累计确认:对按顺序到达的最后一个分组发送确认。
优点: 容易实现、确认丢失不用重传。
缺点: 不能向发送方反应接收方已经正确收到所有的分组信息;当通信线路质量不好时,连续ARQ协议会带来负面影响。
选择重传(SR)
接收方???
只要重传计时器超时的那一个报文段。接收方可以暂存序号在出错数据包之后的数据,直到收到正确的、在排序好后上传至应用层。
捎带确认
ACK 回复“附着”在要发送的数据段中。
——ACK回复附在它要发送的数据端的头部,减少ACK占用的流量。
TCP 报文段的首部格式
【确认号】字段: 4字节;期望收到对方的下一个报文段的数据的第一个字节的序号。