计算机网络

计算机网络

TCP三次握手和四次挥手

三次握手

为了准确无误地把数据送到目标出,TCP协议采用了三次握手策略。

三次握手过程

  • 为什么需要三次握手?

    • 三次握手的目的是建立可靠的通信信道,三次握手的主要目的就是 双方确认自己与对方的发送与接收是正常的。 所以三次握手就能确认双方首发功能都正常,缺一不可。
    • 第一次握手: Client 发送端 什么都不知道;Server 接收端 确认对方发送正常,自己接收正常。
    • 第二次握手: Client 发送端 确认:自己发送、接收正常,对方发送、接收正常;Server 接收端 确认:自己发送正常,自己接收正常。
    • 第三次握手: Client 发送端 确认:自己发送、接收正常,对方发送、接收正常;Server 接收端 确认:自己发送、接收正常,对方发送、接收正常;
  • 为什么要传回SYN

    • 接收端传回发送端所发送的 SYN 是为了告诉发送端,我接收 到的信息确实就是你(发送端) 所发送的信号了。
  • 自己语言中的三次握手:

  • 你给你女朋友发了一句我爱你,你女朋友看到了,他接受到了你爱它的消息,但是你不知道她知不知道你收到了他表达的爱了没?所以女朋友回了男朋友一句,你的爱我收到了,我也爱你。男朋友收到消息后,知道了,自己的爱,女朋友收到了,女朋友也是爱我的;但是女朋友不知道你是不是收到了她给你的爱,所以男朋友会了女孩一句,我爱死你了宝贝,这样之后,女朋友知道,自己发送消息男朋友收到了,男朋友对自己的爱也收到了。

四次挥手 (关闭连接的时候)
  • 在关闭连接时,当server端收到FIN报文时,很可能并不会立即关闭连接,所以先回复一个ACK报文,告诉Client端,“你发的报文我接收到了”(我接受到了你想要请求的数据),等到server端所有报文发送完了,server就可以发送FIN报文,因此不能一起发送,故需要四步握手。

释放连接,四次挥手

  • 过程解释

    • client端想要和server端释放连接,client给server发送了关闭请求,server接收到后给client反馈,同意你释放连接,这之后client就不能给server发送数据了,但是server还能继续给client发送数据,可能client释放了它的单向连接后,server还在和client发送数据,当server数据发送完毕后,server给client发送了数据最后的报文信息和想要关闭连接的请求,client接受到后,反馈给server端同意关闭连接,server接收到了同意信息后,server就关闭了连接。
  • 自己语言中的四次挥手

    • 客户端比作你自己,服务器比作你的boos,场景:你和boos汇报完工作。
    • 你和boos汇报完工作之后,你和boos说我工作汇报完毕了,boos给你说了一句“好的,我知道你汇报完了”。但是这时候你还不能直接挂掉和boos的电话,boos可能对你的汇报不满意,所以继续给你提出了要求,你也就只能继续听着,等着boos说完之后,给你说了一句,“我说完了,我把电话挂了”,你给boos说了一句“好的我收到了”。然后你就等着boos真正挂电话了(毕竟咱也不敢直接挂老板电话,得等着老板先挂电话),等待老板30秒后不说话,我自己就挂电话了。如果老板没有得到你的反馈,就以为你刚刚没听他说话,所以老板就会重新和你说一次,直到你给了老板反馈。自己等待的30秒足够接受信息的来回。(这就是最后一个ack没有获取的情况)
  • TCP四次挥手讲一下过程,最后一次ack如果客户端没收到怎么办?

    • ack丢失之后,可能server没有收到ACK,就会不断发送FIN片段。所以client端会等待server端发送ACK。 client会设置一个计时器,等待2MSL 的时间,如果在该时间内再次收到FIN(server端没有接收到数据),MSL是一个片段在网络中最大存活时间,2MSL就是一个发送回复所需最大时间,client知道2MSL都没有接收到FIN,就可以推测ACK成功被接收,就可以结束TCP连接

URL和URI的区别是什么?

  • URI(Uniform Resource Identifier)是统一资源标志符,可以唯一标识一个资源。
  • URL(Uniform Resource Location)是统一资源的定位符,可以提供该资源的路径。它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate(找到)这个资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值