TCP:Transport Control Protocol
UDP:User Data Protocol
- TCP相较于UDP有更高的可靠性。
- TCP相较于UDP需要更多的存储空间。因为TCP的头部有20个字节,UDP的头部只有8个字节。
- UDP相较于TCP有更高的实时性。
- TCP基于连接,UDP基于不连接。
- TCP是流模式,UDP是数据报模式。
TCP的三次握手:
第一次握手:
客户端发送标志位SYN=1和序列号seq=x(x是一个随机数),服务器端从监听Listen状态转换为SYN_RECEIVE状态。
第二次握手:
服务器端向客户端发送标志位SYN=1,确认号ACK=1,序列号seq=y(y是一个随机数),确认序列号ack=x+1,客户端转换为ESTABLISHED状态。
第三次握手:
客户端向服务器端发送确认号ACK=1,确认序列号ack=y+1,服务器端转换为ESTABLISHED状态。
三次握手后,客户端开始向服务器端发送数据。
TCP为什么具有可靠性:
- 确认应答机制。
- 超时重传。客户端向服务器端发送请求的同时会启动一个定时器,如果在定时器结束之前还没有收到服务器端的应答信号,会判断为数据丢包。进而会再次发送请求并启动一个新的定时器,新启动的定时器的设定时间为原定时器设定时间的指数倍。如果在发送5次请求后仍未收到服务器端的响应信号,那么判定为连接断开。
- 流量控制。