TCP与UDP的差别以及TCP三次握手、四次挥手
UDP:
1、UDP面向报文,无需建立连接,不可靠,数量小,高层就解决差错重传,无需拥塞控制
2、支持音频、视频传输
3、检查和检验UDP包头和数据和伪首部
4、分组开销小(头部8个字节),提供最大努力交付,且无序
TCP:
1、TCP是面向字节流,有连接的端到端的传输层协议
2、TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重复且有序
3、支持数据传输
4、校验和检验TCP报头和数据、伪首部(IP数据报的一部分)
TCP“三次握手”
1、客户机的TCP首先向服务器的TCP发送一个连接请求报文段,这个特殊的报文段中不含应用层数据,其首部中的SYN置为1,同时客户机会随机选择一个起始序号seq=x
2、服务器的TCP收到连接请求报文后,同意连接,服务器会向客户机发回确认,在确认报文中,SYN和ACK都被置为1,确认号字段的值为X+1,并且随机产生起始序号seq=y
3、当客户机收到确认报文后,还要向服务器给出确认,这个报文段ACK标志位被置为1,序号字段为X+1,确认号字段ack=Y+1
TCP“四次挥手”
1、客户端打算关闭连接,就向其TCP发送一个连接释放报文段,并停止再发送数据,主动关闭TCP连接,该报文段的FIN置为1,seq=u
2、服务器收到连接释放报文段即发出确认,ACK置为1,确认号是ack=u+1,而这个报文段自己的序号是v,服务器进入关闭等待状态
3、服务器向客户端发送FIN=1,ACK=1,这个报文段自己的序号是w,确认号是ack=u+1,用来关闭客户端
4、客户机收到释放的报文段后,必须发出确认,ACK被置为1,seq置为u+1,ack置为w+1,此时TCP连接还没有释放掉,必须经过时间等待计时器设置的时间2MSL后,客户端进入关闭状态。