协议 - tcp和udp的区别
TCP/IP协议:
- 是一个协议簇。里面包括很多协议的,UDP只是其中的一个, 之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。
TCP协议:
- 可靠的面向连接的协议,收发数据前必须要和对方建立可靠连接
- 三次握手:建立连接时执行:
- 第一次:A客户端给服务端发起,带有序列号
- 第二次:B服务端收到请求,带有应答ACk和同步序列号(SYN标志位)的数据发给客户端
- 第三次:A发起确认应答数据,此时建立连接
- 四次握手:断开连接时需要四次握手
- 第一次:A发起断开连接请求
- 第二次:B收到后确认
- 第三次:B也发起断开连接请求
- 第四次:A收到后确认
UDP协议:
- 不可靠的,非连接的协议
- 发送方:
- 不需要三次握手建立连接,直接发送数据
- 接收方:
- 只需要监听并持续读取数据写入队列中,由具体的应用程序来拿数据
- 优点:
- 不需要频繁的连接,效率高
- 一台服务端可同时给很多客户端发送数据
- ping命令,发送的就是udp,只管发送,对方收到并作出回复,那就是网络之间是通的
小结TCP与UDP的区别:
1、基于连接与无连接;
2、对系统资源的要求(TCP较多,UDP少);
3、UDP程序结构较简单;
4、流模式与数据报模式 ;
5、TCP保证数据正确性,UDP可能丢包;
6、TCP保证数据顺序,UDP不保证。