详解TCP连接建立及关闭过程 [ 网站地图 ]

发表于:2009-12-16 浏览:140 作者: 来源:互联网

关键字:TCP,连接建立,关闭

描述:       TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在

        TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据.我们使用科来网络分析系统对一个Telnet会话中的TCP部分进行跟踪,以分析TCP的连接建立和连接关闭流程。这个Telnet会话的流程如下:在客户端(Windows主机,名为wangym)的命令窗口中使用telnet 192.168.2.100访问192.168.2.100,并输入用户名和密码(这里都是ftpuser),然后直接使用exit命令退出此Telnet连接。

    1. TCP连接建立

    1)第1步(图2),客户端(名为wangym,下同)使用3192的随机端口向192.168.2.100主机的23端口发起一个TCP 同步数据包请求建立TCP连接。这个数据包将TCP标记中的同步位置1,表示这是TCP三次握手的第一个数据包;

   
TCP建立及关闭过程详解(图二)

(图2 TCP连接建立第1步)

    2)第2步(图3),192.168.2.100主机向客户端发送一个同步/确认数据包,此数据包同时将TCP标记中的同步位和确认位置1,它既对第一步中的客户端同步数据包进行确认,表示愿意与客户端同步,同时再对客户端主机进行同步请求;

TCP建立及关闭过程详解(图三)

(图3 TCP连接建立第2步)

    3)第3步(图4),客户端在收到192.168.2.100对它的同步请求后,再对192.168.2.100进行确认,此数据包中将TCP标记中的确认位置1,表示这是一个确认数据包,此数据包发送后,两台主机的三方握手成功建立;

TCP建立及关闭过程详解(图四)

(图4 TCP连接建立第3步)

{[csc:pagelist]}   

 2. TCP连接关闭

    第4到69的数据包,是用户进行Telnet登录及退出的操作,第70到74的数据包,是双方主机在收到退出Telnet操作命令后的TCP连接关闭过程。

    1)第1步(图5),192.168.2.100主机向客户端发送一个终止数据包,此数据包同时将TCP标记中的终止位和确认位置1,它告诉客户端192.168.2.100主机已成功接收客户端的上一个数据包,并提示内容接收完毕,请求关闭这个TCP连接;

   
TCP建立及关闭过程详解(图五)

(图5 TCP连接关闭第1步)

    2)第2步(图6),客户端收到192.168.2.100发给自己且带有终止位的数据包后,对其进行确认,且示同意关闭此TCP连接。

TCP建立及关闭过程详解(图六)

(图6 TCP连接关闭第2步)

    3)第3步(图7),客户端在对192.168.2.100主机的确认后,再向其发送一个终止TCP连接的请求,此请求数据包将TCP标记中的确认位和终止位同时置1,表示同意192.168.2.100关闭TCP连接的请求,且自己也把关闭此TCP连接的请求发给192.168.2.100,并等待对方的确认。

TCP建立及关闭过程详解(图七)

(图7 TCP连接关闭第3步)

    4)第4步(图8),192.168.2.100主机对客户端关闭TCP连接的请求进行确认,此数据包将TCP标记中的确认位置1,表示同意客户端关闭TCP连接的请求。至此,此TCP连接正常关闭。

TCP建立及关闭过程详解(图八)

(图8 TCP连接关闭第4步)


站长资讯网 做中国最丰富的资讯网站 沪ICP备05004089号