欢迎来到天天文库
浏览记录
ID:42770298
大小:322.00 KB
页数:6页
时间:2019-09-21
《TCP建立及关闭过程详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、TCP建立及关闭过程详解一、TCP协议简介 TCP,全称TransferControlProtocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。 TCP的工作主要是建立连接,然后从应用层程序中接收数据并进行传输。TCP采用虚电路连接方式进行工作,在发送数据前它需要在发送方和接收方建立一个连接,数据在发送出去后,发送方会等待接收方给出一个确认性的应答,否则发送方将认为此数据丢失,并重新发送此数据。 可以从以下几个方面对TCP协议进行分析: 1.TCP
2、报头:TCP报头总长最小为20个字节,其报头结构如下图(图1)所示; 比特0 比特15 比特16 比特31 源端口(16) 目的端口(16) 序列号(32) 确认号(32) 报头长度(4) 保留(6) 连接标记(6) 窗口(16) 校验和(16) 紧急(16) 选项(0或32) 数据(可变) 2.TCP连接建立:TCP的连接建立过程又称为TCP三次握手。首先发送方主机向接收方主机
3、发起一个建立连接的同步(SYN)请求;接收方主机在收到这个请求后向送方主机回复一个同步/确认(SYN/ACK)应答;发送方主机收到此包后再向接收方主机发送一个确认(ACK),此时TCP连接成功建立; 3.TCP连接关闭:发送方主机和目的主机建立TCP连接并完成数据传输后,会发送一个将结束标记置1的数据包,以关闭这个TCP连接,并同时释放该连接占用的缓冲区空间; 4.TCP重置:TCP允许在传输的过程中突然中断连接,这称为TCP重置; 5.TCP数据排序和确认:TCP是一种可靠传输的协议,
4、它在传输的过程中使用序列号和确认号来跟踪数据的接收情况; 6.TCP重传:在TCP的传输过程中,如果在重传超时时间内没有收到接收方主机对某数据包的确认回复,发送方主机就认为此数据包丢失,并再次发送这个数据包给接收方,这称为TCP重传; 7.TCP延迟确认:TCP并不总是在接收到数据后立即对其进行确认,它允许主机在接收数据的同时发送自己的确认信息给对方。 8.TCP数据保护(校验和):TCP是可靠传输的协议,它提供校验和计算来实现数据在传输过程中的完整性。 二、跟踪分析TCP流程
5、我们使用科来网络分析系统对一个Telnet会话中的TCP部分进行跟踪,以分析TCP的连接建立和连接关闭流程。这个Telnet会话的流程如下:在客户端(Windows主机,名为wangym)的命令窗口中使用telnet192.168.2.100访问192.168.2.100,并输入用户名和密码(这里都是ftpuser),然后直接使用exit命令退出此Telnet连接。 1.TCP连接建立 1)第1步(图2),客户端(名为wangym,下同)使用3192的随机端口向192.168.2.100主机的
6、23端口发起一个TCP同步数据包请求建立TCP连接。这个数据包将TCP标记中的同步位置1,表示这是TCP三次握手的第一个数据包; (图2 TCP连接建立第1步) 2)第2步(图3),192.168.2.100主机向客户端发送一个同步/确认数据包,此数据包同时将TCP标记中的同步位和确认位置1,它既对第一步中的客户端同步数据包进行确认,表示愿意与客户端同步,同时再对客户端主机进行同步请求; (图3 TCP连接建立第2步) 3)第3步(图4),客户端在收到192.168.2.100对它
7、的同步请求后,再对192.168.2.100进行确认,此数据包中将TCP标记中的确认位置1,表示这是一个确认数据包,此数据包发送后,两台主机的三方握手成功建立; (图4 TCP连接建立第3步)2.TCP连接关闭 第4到69的数据包,是用户进行Telnet登录及退出的操作,第70到74的数据包,是双方主机在收到退出Telnet操作命令后的TCP连接关闭过程。 1)第1步(图5),192.168.2.100主机向客户端发送一个终止数据包,此数据包同时将TCP标记中的终止位和确认位置1,它告诉
8、客户端192.168.2.100主机已成功接收客户端的上一个数据包,并提示内容接收完毕,请求关闭这个TCP连接; (图5 TCP连接关闭第1步) 2)第2步(图6),客户端收到192.168.2.100发给自己且带有终止位的数据包后,对其进行确认,且示同意关闭此TCP连接。 (图6 TCP连接关闭第2步) 3)第3步(图7),客户端在对192.168.2.100主机的确认后,再向其发送一个终止TCP连接
此文档下载收益归作者所有