2016 - 2024

感恩一路有你

为什么tcp需要四次挥手 三次握手及四次挥手在TCP/ip模型的哪一层进行的?最好有理由~?

浏览量:2825 时间:2021-03-16 06:23:06 作者:admin

三次握手及四次挥手在TCP/ip模型的哪一层进行的?最好有理由~?

TCP/IP由四层组成:网络接口层、网络层、传输层和应用层。

三次握手和四个波发生在第三层:传输层。原因:三次握手和四次波是TCP协议保证可靠全连接的手段,TCP协议属于传输层协议。当然,三次握手和四个波发生在第三层——传输层

你听到了吗?

我听到了。你呢?

我也听说过

三次握手之后,一定要保证双方都能沟通,哪句话是无效的

首先,让我们看看我们在三次握手中都做了些什么

!在第一次握手中,客户端向服务器发送请求:“我想与您建立链接”

在第二次握手中,服务器回复客户端:“收到,您真的想与我建立链接吗”

在第三次握手中,客户端回复服务器:“是,我真的很想和你建立联系。

成功

!我想您最大的疑问是:当服务器第二次回复客户端时,为什么不直接成功呢

!第三次握手的主要目的是防止向服务器发送无效的链接请求

!当然,正常情况下没问题

!但是,在异常情况下!客户端发送了一个请求,在一个网络节点上时间长了,发送到服务器已经无效了

!但是,如果服务器不发送确认消息(第三次握手),它会认为这是一个新的请求。

服务器会一直等待,但是对于客户端来说,链接失败了,不会发送数据,造成服务器资源的极大浪费

!通过第三次握手,它将防止无效链接传输到服务器,从而浪费服务器资源

!此外,不要忘记,即使有第三次握手,也经常受到黑客的攻击!即使它没有受到攻击,如果有太多的链接请求,服务器通常会出现503

!所以,必须有第三次握手

TCP为什么是三次握手,而不是两次或四次?

TCP是面向连接的

就像打电话一样。你需要拨号、打电话和连接。发表演讲

过程:

a:我想和你建立联系

B:好的,我知道。我也想和你建立连接

a:我知道你收到了我的连接请求,我也收到了你的连接请求

滑动窗口:

主要是为了避免一次发送太多数据,导致对方的缓存溢出。

滑动窗口是一种动态协商,即当建立连接时,它将进行协商

同时,当缓冲区发生变化时,它将进行协商。

主要目的是避免在一方断开连接而另一方不知道时浪费资源来维护断开的连接

过程:

假设已经建立了三个连接

A:我要与您断开连接

B:好的,我知道你要断开连接

B:我也要和你断开连接

A:好的,然后断开连接

三次握手:第三次握手一次握手:客户端向服务器发送一个syn数据包(syn=x)并进入syn发送状态,等待服务器确认;第二次握手:当服务器收到syn包时,必须确认客户端的syn(ACK=x1),同时发送一个syn包(syn=y),即syn ACK包。此时,服务器进入synRecv状态;第三次握手:客户机接收服务器的syn+ACK数据包并向服务器发送ACK(ACK=y1)。数据包发送后,客户机和服务器进入建立状态并完成三次握手。在握手过程中,数据包不包含数据。在三次握手之后,客户机和服务器正式开始传输数据。理想情况下,一旦建立了TCP连接,TCP连接将一直保持到双方中的任何一方关闭连接为止。四次握手类似于建立连接的“三次握手”,断开TCP连接需要“四次握手”。第一波:主动关闭方发送fin关闭主动关闭方到被动关闭方的数据传输,即主动关闭方告诉被动关闭方:我不再向您发送数据(当然,如果fin包之前发送的数据没有收到相应的ack确认消息,主动关闭方仍然会重新发送该数据),但此时主动关闭方也可以接受该数据。第二波:被动关闭方收到fin报文后,向对方发送ACK,确认序号为收到序号1(与syn相同,一个fin占用一个序号)。第三波:被动关闭方发送fin,用于关闭被动关闭方到主动关闭方的数据传输。换言之,它告诉主动成交方我的数据已经发送出去了,不会再向您发送任何数据。第四波:主动关闭方收到fin后,向被动关闭方发送ACK,确认收到序列号1。到目前为止,已经完成了四次浪潮。

为什么tcp需要四次挥手 为什么需要四次挥手 三次握手四次挥手详解

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。