Chinaunix首页 | 论坛 | 博客
  • 博客访问: 319834
  • 博文数量: 240
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-04 18:14
文章分类

全部博文(240)

文章存档

2017年(8)

2014年(4)

2013年(15)

2012年(4)

2011年(14)

2010年(55)

2009年(140)

我的朋友

分类: 系统运维

2009-05-24 01:49:00

 

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手;
完成三次握手,客户端与服务器开始传送数据......

TCP连接过程是状态的转换,促使发生状态转换的是用户调用:OPEN,SEND,RECEIVE,CLOSE,ABORT和STATUS。
传送过来的数据段,特别那些包括以下标记的数据段SYN,ACK,RST和FIN。还有超时,上面所说的都会时TCP状态发生变化。

 

LISTEN: 监听来自远方TCP端口的连接请求。

SYN-SENT: 在发送连接请求后等待匹配的连接请求。

SYN-RECEIVED: 在收到和发送一个连接请求后等待对连接请求的确认。

ESTABLISHED: 代表一个打开的连接,数据可以传送给用户。

FIN-WAIT-1: 待远程TCP的连接中断请求,或先前的连接中断请求的确认。

FIN-WAIT-2: 从远程TCP等待连接中断请求。

CLOSE-WAIT: 等待从本地用户发来的连接中断请求。

CLOSING: 等待远程TCP对连接中断的确认。

LAST-ACK: 等待原来发向远程TCP的连接中断请求的确认。

TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认。

CLOSED: 没有任何连接状态。

阅读(790) | 评论(0) | 转发(0) |
0

上一篇:windows 命令 sc

下一篇:SHELL中的特殊变量

给主人留下些什么吧!~~