TCP: 传输控制协议,一种面向连接的、可靠的、基于字节流的运输层通信协议,由IETF的RFC 793说明。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能
UDP :用户数据报协议,参考模型中第四层一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。
TCP和UDP的区别
1,TCP是面向连接的协议,UDP是无连接的协议;
面向连接(在正式传输数据之前,先通过预备好的协议,建立点到点的连接,之 后再传输数据。)
2,TCP协议传输是可靠的,UDP协议传输“尽力而为”;
3,TCP可以进行流控,UDP不行;
4,TCP可以进行分段,UDP不行;
5,TCP传输速度较慢,占用资源较大;UDP传输速度较快,占用资源小;
伪头部校验 --- 32位源IP地址,32位目标IP地址,8位保留,8位协 议,16位总长度 --- 反码相加法
TCP
三次握手
首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。
四次挥手
假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Ser