tcp三次握手和四次挥手
TCP 是一个连接导向的协议,设计有建立连接(握手)和断开连接(挥手)的过程。TCP 没有设计会话(Session),因为会话通常是一个应用的行为。
tcp协议的三次握手和四次挥手
三次握手:相当于 a想与b通信,a会先确定b是否在。
a会先问b, 在吗?
b回答a,在啊,你在吗?
a回答,在啊。
然后a和b就建立了通信。
三次握手过程:
补充:SYN:请求询问,ACk:回复,回应。
1 首先客户端向服务端发送一个带有 SYN 标志,以及随机生成的序号 100(0 字节)的报文
2 服务端收到报文后返回一个报文(SYN200(0 字节),ACk1001(字节+1))给客户端
3 客户端再次发送带有 ACk 标志 201(字节+)序号的报文给服务端
至此三次握手过程结束,客户端开始向服务端发送数据。
四次挥手:相当于 a不想和b通信了
a会说,我不想和你说话了
b会回答, 好吧,
然后 此时b可能还在发消息给a
等到 b不想和a说话了
b会发送,我不想和你说话了
a会回答,我关机了
四次挥手过程:
由于 TCP 连接是可以双向通信的(全双工),因此每个方向都必须单独进行关闭(这句话才是
精辟,后面四个挥手过程都是其具体实现的语言描述)
四次挥手过程,客户端和服务端都可以先开始断开连接
1 客户端发送带有 fin 标识的报文给服务端,请求通信关闭
2 服务端收到信息后,回复 ACK 答应关闭客户端通信(连接)请求
3 服务端发送带有 fin 标识的报文给客户端,也请求关闭通信
4 客户端回应 ack 给服务端,答应关闭服务端的通信(连接)请求