- 画出TCP三次握手和四次挥手的示意图,并且总结TCP和UDP的区别
三次握手:

4次挥手:

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