TCP
TCP(Transmission Control Protocol,传输控制协议),是一个传输层协议。TCP 提供客户与服务器之间的连接。TCP 客户先与某个给定的服务器建立一个连接,再通过该连接与服务器交换数据,最后再终止该连接。
特性
1.可靠性
TCP 在向对端传输数据时,要求对方收到数据后返回一个确认。如果在等待一定时间后没有收到确认,则自动重传该数据并等待更长的时间。只有在数次重传都失败后,TCP 才会放弃这次传输同时告知用户。
TCP 的可靠性并不意味着数据一定会被对端接受
2.RTT估算
RTT(Round-trip time),TCP 会动态估算客户和服务器之间的往返时间,以便它了解在特定的网络状况下等待一个确认需要花费多久的时间。
3.序列号
TCP 通过对不同 TCP 分节的数据字节进行编号,来确认数据的先后顺序和漏发、重发的情况。
4.流量控制
TCP 总是告知对端在任何时刻它一次能够从对端接受的数据,这称为通告窗口。通告窗口的大小会随着发送端数据接受和接收端应用读取数据的发生而变化。
5.全双工
建立 TCP 连接后,能够同时在该连接上发送、接受数据。
全双工不意味着连接是反向相等的,两端数据的传输可能经过不同的路由
6.面向流
TCP 传输数据不会保留 TCP 数据报的边界信息