HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    tcp连接过程(tcp连接过程中参数传递情况)

    发布时间:2023-03-19 12:38:17     稿源: 创意岭    阅读: 60        问大家

    大家好!今天让创意岭的小编来大家介绍下关于tcp连接过程的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    本文目录:

    tcp连接过程(tcp连接过程中参数传递情况)

    一、tcp建立三层连接的过程

    三层连接是不是叫"三次握手"??

    TCP协议通讯工作原理

    一、TCP三次握手

    传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如下所示:

    参考资料更全面

    二、【网络】TCP的连接建立

    TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP运输连接的建立和释放是每一次连接通信过程中必不可少的。

    因此,运输连接就有三个阶段: 连接建立 数据传送 连接释放

    需要解决以下3个问题:

    连接建立 这个过程,需要在客户端和服务器之间,交换3个TCP报文段,也就是 三次握手 🤝x3。

    📌请注意,在本例中, A主动打开连接,B被动打开连接

    一开始,B就在准备接受客户进程的连接请求,然后服务器进程就处于 LISTEN (收听)状态,等待客户的连接请求。如有,即作出响应。

    A的TCP客户进程像B发出连接请求报文段,这时,首部中的同步位SYN = 1,同时选择一个初始序号 seq = x 。

    TCP规定📝,SYN报文段不能携带数据, 但要消耗掉一个序号 。这时,TCP客户进程进入 SYN-SENT (同步已发送)状态。

    B收到连接请求的报文段后,如同意建立连接,则向A发送确认。在确认报文段中,应把SYN位和ASK位都置1,确认号是 ack = x + 1 ,同时也为自己选择一个初始序号 seq = y 。

    请注意,这个报文段也不能携带数据。但同样 要消耗掉一个序号 。这时,TCP服务器进程进入 SYN-RCVD (同步收到)状态。

    TCP客户进程收到B的确认后,还要向B给出确认。确认报文段的ACK置1,确认号 ack = y + 1 ,而自己的序号 seq = x + 1 。

    TCP的标准规定📝,ACK报文段可以携带数据。但如果不携带数据则不消耗序号,在这种情况下,下一个数据报文段的序号仍是 seq = x +1 。

    这时,TCP连接已经建立🖇,A进入 ESTABLISHED (已建立连接)状态。当B收到A的确认后,也进入 ESTABLISHED (已建立连接)

    🔍 Q: 为什么A最后还有发送一次确认呢?

    📗 A: 主要是为了 防止已失效的连接请求报文段突然又传送到B,因而产生错误。

    所谓 “已失效的连接请求报文段” 是这样产生的。

    📝考虑一种正常情况,

    A 发出连接请求📲,但因连接请求报文丢失而未收到确认。于是A再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接。

    A共发出了两个连接请求的报文段,其中第一个丢失💔,第二个到达了B💚,没有“已失效的连接请求报文段”。

    📝现假定出现一种异常情况,

    即A发出的第一个连接请求报文段并没有丢失,而是在某个网络节点长时间的滞留🛑,以至延误到连接释放以后的某个时间才到达B。

    本来这是一个 早已失效的报文段 ,但是B收到此时小的连接请求的报文段之后,误以为是A又发出一次新的连接请求。

    于是向A发出确认报文段,同意建立连接。假定不采用报文握手。那么只要B发出确认之后,新的连接就建立了。

    由于现在A并没有发出建立连接的请求,因此不会理睬B的确认🙉,也不会向B发送数据,但B确以为新的运输连接已经建立,并一直等待A发来的数据。

    B的许多资源就这样白白浪费了。

    三、简述TCP的三次握手过程。

    TCP握手协议

    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接.

    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

    SYN:同步序列编号(Synchronize

    Sequence

    Numbers)

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.

    完成三次握手,客户端与服务器开始传送数据

    四、TCP为何采用三次握手来建立连接,若采用二次握手可以吗

    建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。

    (1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。

    (2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。

    (3)采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。

    以上就是关于tcp连接过程相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    ChatGPTAPP绿色版(chatcraft pro 绿色版)

    安卓tcp拥塞算法哪个好(tcp拥塞算法cubic reno)

    scratch优秀作品下载(scratch作品集)

    天下第一视频社区(天下第一视频社区完整版)

    苹果手机抖音来消息没有声音(苹果手机抖音来消息没有声音怎么设置)