美文网首页
tcp状态转换

tcp状态转换

作者: senninha | 来源:发表于2017-05-20 11:16 被阅读37次

tcp状态转换

三次握手:
状态 发送 状态 收到(一次握手) 发送 状态 收到(2) 发送 状态 收到(3) 发送 状态
服务端 LISTENSED LISTENED ACK+SYN SYN-RCVD ESTABLISHED ESTABLISHED
客户端 CLOSED SYN SYN-SENT SYN-RCVD ACK ESTABLISHED

1.服务端处于listen状态
2.客户端处于closed状态,发送syn报文,然后状态变为SYN-SENT
3.服务端收到后,发送确认报文ACK和SYN报文,进入SYN-RECEIVED状态(第一次握手)
4.客户端收到SYN和ACK后,发送ACK,进入ESTABLISHED状态,然后发送ACK报文(第二次握手)
5.服务端收到ACK,也进入ESTABLISHED状态(第三次握手)

以上是最普遍的状态转化,其他情况如下:

SYN-RECEVIED状态可以通过LISTENSE状态转化而来,也可以通过在状态处于SYN-SENT状态时收到SYN(可能是因为丢失了ACK)请求时转化(SYN + ACK是转化为ESTABLISHED)

四次挥手:
状态 发送 状态 收到(一次挥手) 发送 状态 收到(2) 等待被动关闭方发送完数据后发送fin信号 状态 发送 状态 收到(3) 发送 状态 收到(4)
主动关闭端 ESTABLISHED FIN FIN-WAIT1 FIN-WAIT2 FIN-WAIT2 FIN-WAIT2 ACK TIME-WAIT(等待2MSL(Maximum segment lifetime)如果没有FIN传来,进入CLOSED状态)
被动关闭端 ESTABLISHED ESTABLISHED ESTABLISHED ACK CLOSE-WAIT CLOSE-WAIT FIN LAST-ACK LAST-ACK CLOSED

以上是正常关闭的状态
还有其他的状态:

1.双方在未收到FIN的前提下都发送了FIN,则同时进入由FIN-WAIT1进入CLOSING状态,然后收到应答就进入了TIME-WAIT

Socket概念:
socket这个概念没有对应到一个具体的实体,它描述计算机之间完成互相通信的一种抽象功能。大部分情况下我们使用的都是基于TCP/IP的流套接字。

相关文章

  • TCP客户端和服务端相关状态说明

    TCP连接的状态 首先介绍一下TCP连接建立与关闭过程中的状态。TCP连接过程是状态的转换,促使状态发生转换的因素...

  • tcp状态转换

    tcp状态转换 三次握手: 1.服务端处于listen状态2.客户端处于closed状态,发送syn报文,然后状态...

  • TCP状态转换

    (1)CLOSED: 起始点,在超时或者连接关闭时进入此状态。 (2)LISTEN: Server端在等待连接时的...

  • TCP状态转换

    一、TCP状态转换 端口一开始都是关闭状态 服务器调用accept()函数会把端口从CLOSTED变为LISTEN...

  • TCP状态转换图

  • TCP连接的建立和终止

    目录(1)三次握手(2)四次挥手(3)TCP状态转换图(4)TCP连接三次握手+四次挥手+状态转换 一:三次握手 ...

  • day 27 操作系统基础网络章节

    TCP/UDP协议说明 TCP协议三次握手过程原理 TCP协议四次挥手过程原理 问题: TCP十一种状态集转换 三...

  • TCP UDP协议两个重要的网络原理

    TCP UDP协议 01. TCP协议中11种状态集转换 三次握手的过程中有哪些状态第一步:服务端 开启网络服务,...

  • TCP状态转换过程图

    自己绘制了一份TCP三次握手,数据读写,四次挥手期间的状态转换过程图,感觉比较清晰。后续如果有时间再补一些说明。

  • TCP连接建立和断开

    面试了几家公司,发现TCP是常问的内容,总结一波。说得不对的地方,欢迎评论指出。 1. TCP状态转换图 这张图在...

网友评论

      本文标题:tcp状态转换

      本文链接:https://www.haomeiwen.com/subject/cktpxxtx.html