第二章
TCP---传输控制协议
(是一种面向连接而可靠协议),可靠有序,无丢弃和重复
特点:
1.TCP时面向连接(虚连接)的传输协议
2.每一条TCP连接有且只能用俩个端点
3.可靠有序无丢弃和重复
4.TCP协议提供全双工通讯。
发生缓存
存放发送方TCP准备发送的数据
TCP已发送但是没有收到确认的数据
接收缓存
存放发送端发来的不按顺序到达的数据
按照顺序到达的数据,但并未被应用程序读取
5.TCP时面向字节流。TCP将应用层数据仅看做时一串无结构的字节流
TCP连接的四元组(源IP,源端口,目IP,目端口)--->唯一标识一条TCP连接
套数字--->,port
确认序列号:接收方期望收到发送的下一个字节的序号。1接收方希望收到的报文序号;2.该序号之前的数据以全部接收。----累积确认机制
选择字段:长度可变。MSS数值,窗口的扩大因子,时间截,选择确认机制
TCP的可靠性
确认,重传,排序,流控
MTU:最大传输单元
MSS:最大数据段长度
RTT--->往返时间(指发出端将数据发送后,到本端接收到对端反馈的确认报文的时间总和)
RTO--->超时重传时间
ROT取值略大于RTT值
快速重传机制--->根据接收方的反馈信息进行数据重传。客户端需要连续接收到三次确认序列号相同的ACK报文,则认为数据丢失,需要进行数据重传。
快速重传机制会导致部分数据重复传输,降低数据传输效率
解决思路:使用选择确认机制:---->在TCP首部的选项字段中,添加上为接收到的数据信息,发送方接收到该确认报文后,会根据选项字段内容,重新船速缺少的数据部分
选择确认机制是否可以执行是通讯双方进行协商的。--->在三次握手的前俩次SYN报文中进行协商
ROT数值是动态变化的的数值。超时间加倍
TCP连接的建立
TCP连接需要解决的问题
1.知晓对端的套接字数
2.允许双方进行参数的协商(窗口值,选择确认机制,是否使用窗口扩大值)
3.对设备进行资源分配
TCP连接释放
1.TCP连接的释放实际上是在释放本地分配给TCP连接的资源
2.本地没有新的数据需要发送