0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP和UDP分别是什么 tcp三次握手和4次挥手的过程

要长高 来源:网络整理 作者:网络整理 2023-09-29 15:51 次阅读

TCP和UDP分别是什么

TCP和UDP都是计算机网络协议,用于实现数据在不同设备之间的传输。

TCP,即传输控制协议(Transmission Control Protocol),面向连接、可靠传输的协议,能保证数据的可靠性、有序性和完整性,常用于大文件的上传或下载电子邮件、网页浏览等应用场景。

UDP,即用户数据报协议(User Datagram Protocol),面向无连接、不可靠传输的协议,没有 TCP 那么严格的连接建立和释放过程,因此传输效率较高,直接将数据报文发送给对方主机,但无法保证数据传输的可靠性、有序性和完整性,常用于实时音视频、在线游戏等应用场景。

二者的区别在于 TCP 是面向连接的、提供可靠数据传输的协议,而 UDP 则是面向无连接的、提供尽最大努力交付的数据传输服务的协议。

tcp三次握手和4次挥手的过程

TCP 连接的建立和关闭时都需要通过握手协议来协商通信参数和状态。TCP 握手协议包括三次握手建立连接和四次握手断开连接两个过程。

TCP 三次握手建立连接过程如下:

客户端向服务器端发送一个 SYN(同步)报文,其中 SYN=1 表示这是一个连接请求报文段。此时客户端进入 SYN_SEND 状态。

服务器端接收到 SYN 报文段后,需要确认客户的 SYN 报文段。服务器向客户端发送一个 SYN+ACK 报文,其中 SYN=1,ACK=1 表示服务器同意连接建立。此时服务端进入 SYN_RECV 状态。

客户端接收到服务器端的 SYN+ACK 报文段后,需要向服务器端发送一个 ACK(确认)报文段,其中 ACK=1 表示客户端确认连接建立,此时客户端和服务端都进入 ESTABLISHED 状态,完成三次握手。

TCP 四次挥手断开连接过程如下:

客户端向服务器端发送一个 FIN(结束)报文,其中 FIN=1 表示客户端已经完成发送任务。此时客户端进入 FIN_WAIT_1 状态。

服务器端接收到客户端的 FIN 报文,需要给客户端回一个 ACK 报文,确认接收到客户端的 FIN 报文,同时进入 CLOSE_WAIT 状态。

当服务器已经完成发送任务时,发出 FIN 报文,说明已经没有数据可以发送了。此时服务器进入 LAST_ACK 状态。

客户端接收到服务器端的 FIN 报文,需要发送一个 ACK 报文作为应答,此时客户端进入 TIME_WAIT 状态,需要等待一定的时间,确保服务器端已经收到自己的 ACK 报文,然后再进入到 CLOSED 状态。服务器端接收到客户端的 ACK 报文之后,进入到 CLOSED 状态,此时 TCP 连接彻底关闭。

这里需要注意的是,在 TCP 四次挥手的最后一步,客户端进入 TIME_WAIT 状态,需要等待一段时间再进入 CLOSED 状态。等待时间通常是两个最大报文段生命周期,即 2MSL,这是为了确保服务器端能够收到客户端发送的最后一个 ACK 报文。

TCP和UDP协议各有什么特点

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种传输层协议,它们各自有不同的特点:

TCP特点:

1.面向连接:在传输数据时需要先建立连接,然后才能传输数据;

2.可靠传输:通过使用序列号、确认应答等机制,保证数据传输的可靠性;

3.“慢启动”算法:TCP 通过“慢启动”算法来控制拥塞窗口大小,防止网络拥堵;

4.流量控制:控制数据传输的速率,防止过多的数据拥塞网络。

UDP特点:

1.面向无连接:无需建立连接即可传输数据;

2.不可靠传输:不提供如 TCP 那样的可靠性保证,只是简单地把应用程序传给它的数据报发送出去;

3.速度快:无需像 TCP 那样等待连接建立、确认等过程,因此传输速度较快;

4.流量控制:UDP 协议不提供流量控制和拥塞控制机制,传输数据的速率几乎只受应用层的限制。

综上,TCP协议适用于数据传输要求可靠性高、数据量大的应用场景,例如文件上传、下载、邮箱等;而UDP协议则适用于数据实时性高、速度要求快的应用场景,例如在线游戏、视频传输等。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据传输
    +关注

    关注

    9

    文章

    1535

    浏览量

    63578
  • 服务器
    +关注

    关注

    12

    文章

    8129

    浏览量

    82576
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1273

    浏览量

    78313
  • UDP
    UDP
    +关注

    关注

    0

    文章

    311

    浏览量

    33634
  • 客户端
    +关注

    关注

    1

    文章

    282

    浏览量

    16356
收藏 人收藏

    评论

    相关推荐

    讲一讲的TCP三次握手和四次挥手

    如果你学过网络基础知识,那么你一定对TCP三次握手不陌生。今天我想用通俗的话来给大家讲一讲TCP三次握手
    的头像 发表于 02-03 10:43 2382次阅读
    讲一讲的<b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和四次<b class='flag-5'>挥手</b>

    TCP恋爱史:三次握手和四分手

    TCP协议非常重要,这里把它的连接和释放整理一下。首先是三次握手:1、客户端发起,像服务器发送的报文SYN=1,ACK=0,然后选择了一个初始序号:seq=x。SYN是干什么用的?在链接的时候创建一
    发表于 09-28 10:07

    这样讲TCP的恋爱和分手大家都懂了

    本帖最后由 机智小编 于 2017-7-25 18:32 编辑 今天的分享,是关于前两天读到的心得,TCP建立连接时三次握手,断开时为何4
    发表于 07-25 14:47

    分享个讲解TCP的,很好懂

    的close函数结束这段socket(骚)恋情,所以两close分别触发了两FIN包,导致没有和ACK合并为一个包,所以握手3,分手要
    发表于 07-25 20:04

    三次握手,四挥手你懂吗

    程序员面试被问到“三次握手,四挥手”怎么办?
    发表于 04-08 07:23

    TCP三次握手过程描述

    本文档主要描述TCP三次握手过程,一个完整的三次握手也就是 请求---应答---再次确认
    发表于 03-02 15:37 8次下载

    TCPUDP协议的工作原理是怎么样的

    TCP是一种可靠的,面向连接的全双工传输层协议。 TCP连接的建立是一个三次握手过程
    的头像 发表于 02-15 11:45 1w次阅读
    <b class='flag-5'>TCP</b>与<b class='flag-5'>UDP</b>协议的工作原理是怎么样的

    TCP三次握手过程及四次挥手过程说明

    连接 三次握手过程说明: 1. 由客户端发送建立 TCP 连接的请求报文,其中报文中包含 seq 序列号,是由发送端随机生成的,并且将报文中的 SYN 字段置为 1,表示需要建立
    的头像 发表于 03-01 12:00 3946次阅读

    TCP三次握手和四次挥手以及11种状态资料下载

    电子发烧友网为你提供TCP三次握手和四次挥手以及11种状态资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可
    发表于 04-15 08:41 2次下载
    <b class='flag-5'>TCP</b><b class='flag-5'>三次</b><b class='flag-5'>握手</b>和四次<b class='flag-5'>挥手</b>以及11种状态资料下载

    TCP三次握手和四次挥手过程中的异常情况

    TCP 三次握手和四次挥手过程中,途中某一步的报文丢失了,会发生什么?
    的头像 发表于 09-05 10:23 961次阅读

    如何使用WireShark进行TCP三次握手

    WireShark是一种非常方便的网络抓包工具,下面演示,使用WireShark来抓取TCP三次握手过程
    的头像 发表于 11-01 09:50 1831次阅读

    UDPTCP的区别

    在上一则文章中,对 TCP 的**三次握手建立连接**和**四次挥手释放连接**进行了详细地阐述,本节教程针对于 TCP 的其他内容进行讲解
    的头像 发表于 01-20 17:05 1241次阅读
    <b class='flag-5'>UDP</b>和<b class='flag-5'>TCP</b>的区别

    TCP建立连接概述及三次握手、四次挥手的流程

    具备上述四个条件后A获取B的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,TCP协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过TCP协议的三次
    的头像 发表于 03-23 15:57 770次阅读
    <b class='flag-5'>TCP</b>建立连接概述及<b class='flag-5'>三次</b><b class='flag-5'>握手</b>、四次<b class='flag-5'>挥手</b>的流程

    TCPUDP通讯我们怎么选?

    TCPUDP都是以太网常用的通讯模式,其中TCP模式下设备之间要建立连接,UDP则不需要。 在TCP模式下,设备想要发送数据互相联系,先要
    的头像 发表于 03-26 02:35 1073次阅读

    说说TCP三次握手过程?为什么是三次而不是两次、四次?

    说说TCP三次握手过程?为什么是三次而不是两次、四次? TCP
    的头像 发表于 02-04 11:03 230次阅读