专业的编程技术博客社区

网站首页 > 博客文章 正文

TCP vs UDP 让你彻底明白!(请问tcp和udp的区别)

baijin 2024-11-04 11:39:00 博客文章 7 ℃ 0 评论

TCP 与 UDP(文末动图诠释)

TCP(传输控制协议)

可靠的、面向连接的协议。

把它想象成一个电话——一条专用的沟通渠道,确保你所有的话都能被听到和理解。

所涉及步骤的细分 -

连接建立(3 次握手)

1/ SYN(同步)
这将启动该过程。

客户端(发送方)向服务器(接收方)发送一个 SYN 数据包,说:“嘿,我想谈谈!让我们建立联系。

2/ SYN-ACK(同步确认)
服务器以 SYN-ACK 数据包进行响应,确认客户端的请求并发送自己的序列号以用于数据跟踪。

这就像在说,“好吧,我也准备好了,这是我跟踪事情的部分。

3/ ACK(确认)
客户端发回一个 ACK 数据包,确认服务器的 SYN-ACK。

这就像客户确认,“太好了,我得到了你的信息,我们聊聊吧!

数据传输

建立连接后,客户端可以向服务器发送实际的数据包。

这些数据包包含数据本身以及序列号。

此序列号的作用类似于文档中的行号,确保数据以正确的顺序到达。

服务器确认接收每个数据包,其中包含下一个预期序列号的 ACK 数据包。

如果在超时期限内未收到 ACK,或者服务器检测到数据错误,客户端将重新传输丢失或损坏的数据包。

连接终止是四次握手。你可以通过互联网详细阅读。

UDP ( 用户数据报文协议 )


快速轻量级的协议,无需保证。

这就像在田野上喊出一条信息——它可能会到达另一边,但不能保证它会被清晰或有序地听到。

所涉及步骤的细分 -

UDP 没有像 TCP 那样的正式连接建立和终止过程。

通常,应用程序(例如,视频流服务)将数据格式化为 UDP 数据报


这包括添加包含源端口和目标端口等信息的 UDP 标头。

数据报通过网络直接从发送方发送到接收方的 IP 地址和端口。

在此阶段没有握手或确认。

如果数据报
成功到达其目标,则目标应用程序将接收该数据报

但是,不能保证它会按顺序到达或到达。

接收应用程序处理数据报的数据有效负载。

由于没有序列号,应用程序可能需要根据需要重新组合来自多个数据报
的数据或处理无序数据。

现在,你可以决定使用哪一个以及何时使用。?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表