udp
udp是用户数据报协议的简称,是一种无连接的传输层协议,提供简单不可靠信息传送服务。
udp特点:是简单,轻量化,只有8字节的首部开销,速度快,不需要建立连接不保证数据包的顺序和完整性。
适用于实时性要求高的应用,如流媒体、语音通信、视频会议、在线游戏等
**缺点:**不可靠,可能出现数据包丢失、重复、错序等问题。
没有错误恢复机制,如果需要可靠性则必须在应用层实现。
TCP
tcp是传输控制协议的简称。是一种面向连接的、可靠的、基于字节流的传输层协议。提供端到端的数据传输服务。
tcp特点:面向连接,在数据传输前需要建立连接,传输结束后释放连接。
可靠、支持全双工通信、支持拥塞控制和流量控制。
**缺点:**效率低、不适合实时性要求高的应用,如语音通信、视频会议等。
容易遭受拥塞崩溃,当网络拥塞时,tcp会减小发送窗口,导致吞吐量下降
tcp三次握手:
是指建立一个tcp连接时,需要客户端和服务器总共发送3个包,
(1)客户端发第一个包指明要和服务器哪个端口建立连接。
(2)第二个包是服务器发送给客户端的,用来告诉客户端同意建立连接。
(3)客户端收到第二个包后确认自己到服务器的数据传输是正常的,此时回复第三个包,告知服务器收到确认连接的信号。