TCP是控制传输协议,提供的是面向连接、可靠的字节流服务,当客户和服务器彼此交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能够从一端传输到另一端。
UDP是用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不可提供可靠性,它只是把程序传给IP层的数据报发送出去,但是并不保证它们是否能够到达目的地。由于UDP在传输数据报之前不需要在客户端和服务器之间建立一个连接,且没有超时重发等机制,故而速度极快。
打个比方,两者的区别可将前者类比为打电话,后者类比为发邮件。
另外关于TCP的三次握手和四次挥手也是需要熟悉的,如下:
TCP三次握手和四次挥手的全过程
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即tcp标志位,有6种表示:
SYN(synchronous建立连接)
ACK(acknowledgement 表示响应、确认)
PSH(push表示有DATA数据传输)
FIN(finish关闭连接)
RST(reset表示连接重置)
URG(urgent紧急指针字段值有效)
三次握手: