画出TCP三次握手和四次挥手的示意图
三次握手
四次挥手
并且总结TCP和UDP的区别
TCP:
- TCP提供面向连接的,可靠的数据传输服务
- 传输过程中,数据无误、数据无丢失、数据无失序、数据无重复
- TCP会给每个数据包编上编号,该编号称之为序列号
- 每个序列号都需要应答包应答,如果没有应答,则会将上面的包重复发送直到正确为止
- 数据传输效率低,耗费资源多
- 数据收发是不同步的
- 为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,沾成一个包发送,该现象称为沾包现象
- 该沾包算法称之为Nagle算法
- TCP的使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的传输场合,一般使用TCP协议
- 例如:账户登录,大型文件下载的时候
UDP:
- 面向无连接的,不保证数据可靠的,尽最大努力传输的协议
- 数据传输过程中,可能出现数据丢失、重复、失序现象
- 数据传输效率高,实时性高
- 限制每次传输的数据大小,多出部分直接忽略删除
- 收发是同步的,不会沾包
- 适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下
- 例如:广播、通讯软件的音视频