前端网络相关知识(TCP和UDP的区别, TCP的三次握手)

tcp和udp的区别

TCP(传输控制协议)和UDP(用户数据报协议)是两种常用的互联网传输协议。它们在以下几个方面有所不同:

  1. 连接性:TCP是面向连接的协议,而UDP是无连接的协议。TCP在通信之前需要建立连接,而UDP则直接发送数据包。

  2. 可靠性:TCP提供可靠的数据传输,它使用确认和重传机制来确保数据的完整性和可靠性。UDP则不提供可靠性保证,它不会确认数据包的接收情况,也不会重传丢失的数据包。

  3. 速度:由于TCP提供了可靠性保证,它的传输速度相对较慢。UDP则没有额外的确认和重传机制,因此传输速度较快。

  4. 数据量:TCP没有数据包大小限制,可以传输任意大小的数据。UDP的数据包大小有限制,通常被限制在64KB以内。

  5. 适用场景:TCP适用于需要可靠传输的应用,如文件传输、电子邮件和网页浏览等。UDP适用于实时性要求较高的应用,如音频和视频流媒体、在线游戏等。

总结来说,TCP提供可靠的、面向连接的传输,适用于对数据完整性和顺序有要求的应用;而UDP提供快速的、无连接的传输,适用于实时性要求较高的应用。

TCP的三次握手

TCP使用三次握手来建立连接。下面是TCP三次握手的过程:

  1. 第一次握手(SYN):客户端发送一个带有SYN(同步)标志的数据包给服务器,请求建立连接。这个数据包包含一个随机生成的初始序列号(ISN)。

  2. 第二次握手(SYN-ACK):服务器收到客户端的请求后,会发送一个带有SYN和ACK(确认)标志的数据包给客户端。这个数据包确认了客户端的请求,并包含了服务器随机生成的序列号和确认号(ACK)。

  3. 第三次握手(ACK):客户端收到服务器的确认后,会发送一个带有ACK标志的数据包给服务器。这个数据包确认了服务器的响应,并包含了客户端对服务器序列号的确认。

完成了这三次握手后,TCP连接就建立起来了,双方可以开始进行数据传输。

三次握手的目的是确保双方都能够正常收发数据,并且双方都知道对方的初始序列号。这样可以防止已失效的连接请求被服务器误认为是新的连接请求,从而避免了资源的浪费和数据的混乱。

你可能感兴趣的:(网络,tcp/ip,udp)