TCP的作用

1. 首先,TCP提供客户与服务器之间的连接TCP客户先与某个给定服务器建立一个连接,然后通过该连接与服务器交换数据,最后终止该连接。
2. 其次,TCP提供了可靠性超时重传。当TCP向另一端发送数据时,要求对端返回一个确认ACK。如果没有收到确认,TCP就自动重传数据并等待更长时间。在数次重传失败后,TCP才放弃,如此在尝试发送数据上所花的时间一般为4~10分钟(依赖于具体实现)。注意:TCP并不能保证对端一定能接收到数据,因为这是不可能做到的。如果有可能,TCP就把数据递送给对端,否则就(通过放弃重传并中断连接这一手段)通知用户。这样来看,TCP也不能看作是100%可靠的协议,它的可靠性体现在数据的可靠递送和故障的可靠通知
3.TCP通过给其中每个分节关联一个序列号对所发送数据进行排序如果这些分节非顺序到达,接收端TCP将先根据它们的序列号进行重新排序,再把结果数据传递给接收应用
4.TCP提供流量控制。TCP总是告知对端在任何时刻它一次能从对端接收多少字节的数据,即通知窗口确保不会发生缓冲区溢出
5.TCP提供RTT估算。在第二点里面的重传时间也会用到RTT估算的时间。RTT估算时间 = SYN_RECV - ESTABLISHED(服务端)
6.TCP连接是全双工的,两边可以相互通信。
对比TCP的优点,UDP的缺点有哪些:
对比TCP的功能,UDP不提供可靠性。UDP本身不提供确认、序列号、RTT估算、超时和重传等机制。UDP不提供流量控制。
原文地址:https://www.cnblogs.com/zlcxbb/p/5756557.html