TCP为什么需要三次握手
客户端和服务端都需要直到各自可收发,因此需要三次握手。
三次握手可简化为
- C发起请求连接让S确认,S也发起连接让C确认
- 第一次握手:S确认“自己可以接受C发送的报文段”
- 第二次握手:C确认“自己可以给S发送报文,也能接受S发送的报文段”
- 第三次握手:S确认“C收到了自己发送的报文段”
TCP和UDP区别
- TCP是面向连接的。UDP是无连接的,发送数据前不需要先建立连接。
- TCP提供可靠服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。
- 因为TCP可靠,面向连接,不会丢失数据因此适合大数据量的交换。
- TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。
- TCP只能是1对1的,UDP支持1对1,1对多。
- TCP的首部较大为20字节,而UDP只有8字节。