TCP/IP传输协议,即传输控制/网络通讯协议。它是在网络中使用最基本的通讯协议。
TCP/IP传输协议严格来说是一个四层结构:应用层、传输层、网络层、和数据链路层
UDP协议
UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。
TCP协议
TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制,即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
三次握手/四次挥手
1.三次握手:
《1》.客户端向服务端发送连接请求,(申请建立连接,确认客户端能发送消息)
《2》 服务端向客户端发送收到客户端的请求,(收到请求,确认服务端能接受消息)
《3》 客户端向服务端发送确认能够收到服务的接受消息。(收到消息,确认服务端能发送消息,客户端能接受到消息)(连接建立)
2.四次挥手
《1》 客户端向服务端发送断开连接的请求(客户端请求断开连接,客户端不再发送消息)
《2》 服务端发送消息,确认收到请求(服务端收到请求,但服务端可能存在消息未发送,示意客户端收到消息,但不断开)
《3》 服务端向客户端发送断开连接请求(服务端消息发送完毕,请求断开连接)
《4》 客户端发送收到请求(客户端收到请求,发送给服务端,确认断开)(连接关闭)