为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

TCP序列号和确认号例解

2011-07-06 7页 doc 484KB 31阅读

用户头像

is_936357

暂无简介

举报
TCP序列号和确认号例解Vsftp服务器简易搭建指南 TCP序列号和确认号例解 前言 文档撰写背景为学习“科来网络分析系统6.9技术交流版”使用,及TCP抓包分析后,根据《TCP序列号和确认号详解》验证后,所写。 背景知识: 1、序列号和确认号的简介及作用 TCP 协议工作在OSI 的传输层,是一种可靠的面向连接的数据流协议,TCP 之所以可靠, 是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。响应包内也包括一个序 列号,表示接收方准备好这个序列号的包。在TCP 传送一个数据包时,它会把这个数据包 放入重发队列中,同时启动计时器,如果收到...
TCP序列号和确认号例解
Vsftp服务器简易搭建指南 TCP序列号和确认号例解 前言 文档撰写背景为学习“科来网络分析系统6.9技术交流版”使用,及TCP抓包分析后,根据《TCP序列号和确认号详解》验证后,所写。 背景知识: 1、序列号和确认号的简介及作用 TCP 工作在OSI 的传输层,是一种可靠的面向连接的数据流协议,TCP 之所以可靠, 是因为它保证了传送数据包的顺序。顺序是用一个序列号来保证的。响应包内也包括一个序 列号,示接收方准备好这个序列号的包。在TCP 传送一个数据包时,它会把这个数据包 放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队 列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包。另 外,TCP 通过数据分段中的序列号来保证所有传输的数据可以按照正常的顺序进行重组, 从而保障数据传输的完整。 2、TCP 的通讯过程 在 TCP 通讯中主要有连接的建立、数据的传输、连接的关闭三个过程!每个过程完成不同 的工作,而且序列号和确认号在每个过程中的变化都是不同的。 软件环境: 操作系统:Windows_XP SP3 TCP收/发包软件:jperf-2.0.2 抓包分析软件:科来网络分析系统6.9技术交流版 实例解释:(客户端IP:192.168.100.61 ; 服务器端IP:192.168.100.81) 1、TCP 建立连接 TCP 建立连接,也就是我们常说的三次握手,它需要三步完成。在TCP 的三次握手中,发送第一个SYN 的一端执行的是主动打开。而接收这个SYN 并发回下一个SYN 的另一端执 行的是被动打开。 这里以客户端向服务器发起连接来说明。 1) 第 1 步:客户端向服务器发送一个同步数据包请求建立连接,该数据包中,初始序列号 (ISN)是客户端随机产生的一个值,确认号是0; 实例序列号:1502870875 实例确认号:0 同步位(SYN):1 2) 第 2 步:服务器收到这个同步请求数据包后,会对客户端进行一个同步确认。这个数据 包中,序列号(ISN)是服务器随机产生的一个值,确认号是客户端的初始序列号+1; 实例序列号:1387324321 实例确认号:1502870876 (客户端的初始序列号+1) 确认位(ACK):1 同步位(SYN):1 3) 第 3 步:客户端收到这个同步确认数据包后,再对服务器进行一个确认。该数据包中, 序列号是上一个同步请求数据包中的确认号值,确认号是服务器的初始序列号+1。 实例序列号:1502870876 (上一个同步请求数据包中的确认号值) 实例确认号:1387324322 (服务器的初始序列号+1) 确认位(ACK):1 2、TCP 传输数据 在 TCP 建立连接后,就可以开始传输数据了。TCP 工作在全双工模式,它可以同时进行双向数据传输。这里为了简化,只使用客户端向服务器发送数据的情况。服务器向客户端发送数据的原理,跟据相关文档,它们是类似的工作过程,这里不再重复说明。 服务器向客户端发送一个数据包后,客户端收到这个数据包后,会向服务器发送一个确认数 据包。TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但返回的确认序号是已收到的数据的最高序加1。也就是说,确认序号表示期望下次上到的第一个数据字节的序号。 传输数据的简要过程如下: 1) 发送数据:客户端向服务器端发送第一个带有数据的数据包,该数据包中的序列号和确认号与建立连接第三步的数据包中的序列号和确认号相同; 实例序列号:1502870876 实例确认号:1387324322 确认位(ACK):1 为提高网络传送效率,发送端可以连续发送多个数据包。序列号为上一个数据包序列号值+数据包大小;确认号为上一个数据包确认序列号。(注:数据包大小为 1460) 实例序列号:1502872336 (上一个数据包序列号值+数据包大小) 实例确认号:1387324322 (上一个数据包确认序列号) 确认位(ACK):1 客户端收到服务器端确认数据包后,再次向服务器端发送带有数据的数据包,该数据包中的序列号为上一个回复数据包中的确认号值,确认号为建立连接第三步的数据包中的确认号值; 实例序列号:1502873796 (上一个回复数据包中的确认号值) 实例确认号:1387324322 (建立连接第三步的数据包中的确认号值) 确认位(ACK):1 2) 确认收到:为提高网络传送效率,接收端不一定在收到一个数据包后就立刻发送一个数据包回复,而可以根据实际情况(如:缓冲区大小、报文段大小等),再发送确认回复数据包。该确认数据包中,序列号是为上一个数据包中的确认号值,确认号为服务器发送的上一个数据包中的序列号+该数据包中所带数据的大小。 实例序列号:1387324322 (上一个发送数据包中的确认号值) 实例确认号:1502873796 (上一个客户端数据包中的序列号+该数据包中所带数据的大小) 确认位(ACK):1 3、TCP 关闭连接 关闭一个连接需要经过4 个步骤。因为TCP 连接是全双工的工作模式,所以每个方向上需要单独关闭。在TCP 关闭连接时,首先关闭的一方(即发送第一个终止数据包的)将执行主动关闭,而另一方(收到这个终止数据包的)再执行被动关闭。 1) 第 1 步:客户端完成它的数据发送任务后,会主动向服务器发送一个终止数据包, 以关闭在这个方向上的TCP 连接。该数据包中,序列号为客户端发送的上一个数 据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+该数据包 所带的数据的大小; 实例序列号:1509875036 实例确认号:1387324322 确认位(ACK):1 终止位(FIN):1 2) 第 2 步:服务器收到客户端发送的终止数据包后,将对客户端发送确认信息,以关 闭该方向上的TCP 连接。这时的数据包中,序列号为第1 步中的确认号值,而确 认号为第1 步的数据包中的序列号+1;(注:由于网络延迟等情况,数据包信息滞后现象存在,图片中7705编号为前面数据信息回复包,而非服务器关闭回复数据包) 实例序列号:1387324322 (序列号为第1 步中的确认号值) 实例确认号:1509875037 (确认号为第1 步的数据包中的序列号+1) 确认位(ACK):1 3) 第 3 步:同理,服务器完成它的数据发送任务后,就也会向客户端发送一个终止数 据包,以关闭在这个方向上的TCP 连接,该数据包中,序列号为客户端发送的上 一个数据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+该 数据包所带数据的大小; 实例序列号:1387324322 实例确认号:1509875037 确认位(ACK):1 终止位(FIN):1 4) 第 4 步:客户端收到服务器发送的终止数据包后,将对服务器发送确认信息,以关 闭该方向上的TCP 连接。这时在数据包中,序列号为第3 步中的确认号值,而确 认号为第3 步数据包中的序列号+1; 实例序列号:1509875037 (第3 步中的确认号值) 实例确认号:1387324323 (第3 步数据包中的序列号+1) 确认位(ACK):1
/
本文档为【TCP序列号和确认号例解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索