在TCP的11种状态变迁中,我们需要用到TCP头部的三个标志位: 1.SYN,SYN=1表示这是一个连接请求报文或者连接接受报文 2.ACK,ACK=1,表示确认号生效 3.FIN,FIN=1表示发送方数据已经发送完毕,并要求释放连接 假设连接的请求和释放都是由客户端主动发起的! CLOSED状态:初始状态,表示TCP连接是“关闭的”或者“未打开的” LISTEN状态:表示服务端的某个端口正处于监听状态,正在等待客户端连接的到来 SYN_SENT状态:当客户端发送SYN请求建立连接之后,客户端处…
自:http://blog.csdn.net/engrossment/article/details/8104482 http://blog.csdn.net/xiaofei0859/article/details/6044694 TCP连接的11种状态变迁 1.先上图: 2.全部11种状态 2.1.客户端独有的:(1)SYN_SENT (2)FIN_WAIT1 (3)FIN_WAIT2 (4)CLOSING (5)TIME_WAIT . 2.2.服务器独有的:(1)LISTEN (2)SYN_…
先看TCP IP的10种状态,如下所示: 三次握手: 客户端A端发送SYN,然后进入SYN_SENT状态,服务器B端接收到SYN后,返回一个响应ACK,同时也发送一个SYN,然后B端进入SYN_RCVD状态,A端收到ACK后进入ESTABLISHED状态,然后发送一个ACK,服务器B端收到ACK后进入ESTABLISHED状态. 四次分手: 先关闭的一端A端发送FIN然后进入FIN_WAIT_1状态,另一端B端会返回一个响应,然后A端进入FIN_WAIT_2状态.当服务器端B端检测到对端已经关闭…
1).LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN. /* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */ 2).SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT. /*The socket is actively attempting to establish…
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通信协议.TCP协议主要针对三次握手建立连接和四次挥手断开连接,其中包括了11中具体的连接状态.分别是:                     一.LISTEN LISTEN:表示侦听来自远方的TCP端口的连接请求.首先服务端需要打开一个socket 进行监听,状态为LISTEN. 有提供某种服务才会处于LISTEN状态, TCP状态变化就是某个端口的状态变化,提供一个…
三次握手由client主动发出SYN请求, 此时client处于SYN_SENT状态(第一次握手)当server收到之后会由LISTEN转变为SYN_REVD状态, 并回复client, client收到应答后处于ESTABLISHED状态, 这个状态就表示client已经准备好通信了(第二次握手)client收到二次握手应答后回复server, server收到应答之后也处于ESTABLISHED, 表示握手成功, 可以通信了(第三次握手) 数据传输然后client和server都处于通信状态…
一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不同功能的协议组合在一起构成的协议簇 利用一组协议完成OSI所实现的功能 1. TCP/IP 协议簇中的相关协议 TCP/IP协议簇--应用层: TCP/IP协议簇--主机到主机层: TCP与UDP对比: TCP相关报文结构: 源端口:即本地发起连接的端口 目标端口:即要访问的服务的端口 序列号:因为…
11种状态解析 LISTEN  --------------------  等待从任何远端TCP 和端口的连接请求. SYN_SENT  ---------------  发送完一个连接请求后等待一个匹配的连接请求. SYN_RECEIVED  --------  发送连接请求并且接收到匹配的连接请求以后等待连接请求确认. ESTABLISHED  -----------  表示一个打开的连接,接收到的数据可以被投递给用户.连接的数据传输阶段的正常状态. FIN_WAIT_1  --------…
TCP的11种状态 TCP三次握手建立连接 Tcp头部 六个标志位中,我们要用到三个: SYN:SYN= 1 表示这是一个连接请求或连接接受报文.在建立连接时用来进行同步序号(个人理解是,在建立连接的时候,提醒对方记录本方的起始序号).当SYN=1而ACK=0时,表明这是一个连接请求报文段.对方若是同意建立连接,则应响应的报文段中使SYN=1.ACK=1.因此SYN=1表示该报文是一个连接请求报文或者是一个连接请求接收报文. ACK:确认号只有在该位设置为1的时候才生效,当该位为0是表示确认号无…
TCP的11种状态 TCP三次握手建立连接 Tcp头部 六个标志位中,我们要用到三个: SYN:SYN= 1 表示这是一个连接请求或连接接受报文.在建立连接时用来进行同步序号(个人理解是,在建立连接的时候,提醒对方记录本方的起始序号).当SYN=1而ACK=0时,表明这是一个连接请求报文段.对方若是同意建立连接,则应响应的报文段中使SYN=1.ACK=1.因此SYN=1表示该报文是一个连接请求报文或者是一个连接请求接收报文. ACK:确认号只有在该位设置为1的时候才生效,当该位为0是表示确认号无…