赞
踩
1.什么是TCP
TCP是一种面向连接、可靠、基于字节流的传输协议,属于5层或者7层网络协议中的传输层协议;
面向连接:不同于UDP,TCP协议需要通信双方确定彼此已经建立连接后才可以进行数据传输;
可靠:连接建立的双方在进行通信时,TCP保证了不会存在数据丢失,或是数据丢失后存在拯救丢失的措施;
字节流:实际传输中,不论是何种数据,TCP都按照字节的方式传输,而非以数据包为单位。
2.TCP传输机制
发送端操作:
(1)收到应用层下发的数据流后,TCP根据建立连接时确定的MSS(Maxium Segment Size)设定每次需要发送的字节数量(称为TCP分段);
(2)在要发送的字节流前添加TCP协议头,添加TCP头的目的是为了可靠传输、传输控制;
接收端操作:
(1)对接收的TCP报文,校验协议头,并对收到的数据进行确认;
(2)构造ACK回复给发送端,确认数据已经接收,发送端可进行下个数据发送;
3.TCP传输控制
实际在网络传输中,存在链路情况较差、大流量传输等多种影响数据传输的因素,因此TCP收发两端通过协议头中设置字段可进行实际字节发送量的控制。
链路情况较差情况:数据会存在丢包或延迟接收等情况,此时,需要通过tcp接收端将数据接收情况通过ACK告知发送端,使发送端进行发送量的控制,并根据ACK判断数据是否接收成功,是否需要重发等操作;
大流量传输业务:传统上对每个发送的数据收到ACK后,再发送新的数据,虽然可保证可靠性较好,然而不适用于大流量情况;此时需要接收端与发送端对数据收发进行改变,通过若干报文回复一个ack的方式提高流量速率,这个若干报文大小就是tcp中定义的发送、接收窗口。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。