- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP会话原理及TCP状态学习总结
3.1 TCP会话学习总结
TCP/IP 协议现在已经广泛的被应用,数据在网络上应用TCP/IP 协议进行传输的时候,需要将数据分成多个数据包。目前在网络安全领域都将用到TCP会话的重组问题。只有将数据包重组以后,才能还原一次完整的TCP 会话。由于网络问题,数据包可能会经过不同的路由传输到目的地,并且到达目的地的数据包可能顺序会发生改变。在传输过程中,协议对数据的传输进行控制,对在传输过程中丢失的数据包协议将控制系统将丢失的数据包重新传送。这些都是TCP 会话在重组的时候将遇到的问题。
TCP 是一种面向连接的协议,客户与服务器之间的任何一次会话都必须建立连接,退出会话时必须断开连接。连接的时候需要3个报文,称为TCP的三次握手;断开的时候需要4个报文,称为TCP的四次挥手。
首先介绍TCP建立连接的过程,一次TCP 会话建立的时候需要3个报文交换,即需要3 次握手(如下图所示)。其SEQ和ACK的关系如下:
(1)客户发送一个SYN 段,SYN=1 表示发起一个连接,生成随机SEQ。
(2)对方收到后将SEQ+1 置于ACK 发回给本机。表示对前者的确认,生成随机SEQ
发回本机。
(3)本机收到后将SEQ+1 置于ACK 发回给对方,将对方ACK 置于SEQ。
图3-1 TCP三次握手过程
TCP数据传输的过程为:当双方建立TCP 连接以后,就可以传输数据了,传输过程中发送方每发送一个数据包,接收方都要给予一个应答。数据包的先后关系可以由TCP 首部的序号和确认序号确定。双方序号的及确认序号之间的关系为:设发送方发送的数据包长度为N,序号为SEQ,确认序号ACK,则下一个将要发送的数据包的序号为SEQ+N;接收方应答的数据包序号为ACK,确认序号为SEQ+N,表示对序号SEQ 长度为N 的数据包的确认。
建立一个连接需要3 次握手,而终止一个连接要经过4 次挥手(如下图所示)。这是因为一个TCP 连接是全双工(即数据在两个方向上能同时传递),每个方向必须单独地进行关闭。四次挥手实际上就是双方单独关闭的过程。
图3-2 TCP四次挥手过程
在TCP传输过程中,SYN和ACK标志着TCP的各种状态,而SEQ则标志了各数据包的顺序。在TCP 建立连接的以后,会为后续TCP 数据的传输设定一个初始的序列号,以后每传送一个包含有效数据的TCP 包,后续紧接着传送的一个TCP 数据包的序列号都要做出相应的修改。在TCP连接中发送的字节都有一个序列号,因为编了号,所以可以确认它们的收到。对序列号的确认是累积性的。TCP必须进行的序列号比较操作种类包括以下几种:
①决定一些发送了的但未确认的序列号
②决定所有的序列号都已经收到了
③决定下一个段中应该包括的序列号
序列号是为了保证TCP 数据包的按顺序传输来设计的,可以有效的实现TCP 数据的完整传输,特别是在数据传送过程中出现错误的时候可以有效的进行错误修正。在TCP会话的重新组合过程中我们需要按照数据包的序列号对接收到的数据包进行排序。一台主机即将发出的报文中的SEQ 值应等于它所刚收到的报文中的ACK 值,而它所要发送报文中的ACK 值应为它所收到报文中的SEQ 值加上该报文中所发送的TCP 数据的长度,即两者存在如下关系:
(1)本次发送的SEQ=上次收到的ACK;
(2)本次发送的ACK=上次收到的SEQ+本次发送的TCP 数据长度;
表1 TCP序列号与数据包长度的关系
项目数据包长度序列号初始值1Init_seq报文段1len1Init_seq+1报文段2len2Init_seq+1+len1报文段3len3Init_seq+1+len1+len2以上我们讨论的内容都是针对一次TCP 会话的情况,但是实际应用网络同时传输的数
据同时来自很多机器,对应很多个不同的TCP 会话。每个TCP 传输的报文过程都有一个源、目的IP 地址和端口,根据这个四元组的可以确定唯一的一次TCP 会话。
3.2 TCP状态学习总结
根据TCP三次握手和四次挥手,可以将TCP分割成不同的状态。主要包括CLOSED、LISTEN、SYN_RCVD、SYN_SENT、ESTABLISHED、FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT、CLOSING、CLOSE_WAIT、LAST_ACK等状态。对TCP会话进行重组时,需要根据TCP不同的状态进行处理。比如ESTABLISHED表示连接建立,后面一般就开始传输数据了。TCP的各状态的的转换图如下所示,各状态的具体介绍如下。
图3-3 TCP状态转换图
CLOSED:表示初始状态
LISTEN:这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于
您可能关注的文档
- !!!捻转补泻法与提插补泻法对青少年近视患者裸眼远视力影响的随机对照研究教案分析.docx
- (2015年版)临床检验专业医疗质量控制指标教案分析.docx
- (CAD)()--联轴器-展开式二级斜齿圆柱-联轴器,F=1300,v=1.6,D=260,12小时300天10年(高下低上)教案分析.docx
- (编号288)第五单元植物的生殖与成熟试题库教案分析.docx
- (答案)岩体力学考试复习思考题_浓缩版教案分析.docx
- (改)热线热膜_mali教案分析.docx
- (理综)广雅中学2013年普通高中毕业班综合测试三教案分析.docx
- (去名称)信用管理制度教案分析.docx
- (苏大电子信息学院)控制XF引脚电平周期性变化教案分析.docx
- (西南交大)维修加固教案分析.docx
- 基于SPC的供水管道工程施工质量管理:理论、实践与创新.docx
- 苍凉笔触下的人性凝视:论张爱玲小说的人性书写.docx
- 论我国行政公益诉讼原告资格制度的构建与完善.docx
- 双层石墨烯边界态对电导与谷极化的影响机制及应用前景探究.docx
- “21世纪海上丝绸之路”中心城市网络:建模解析与结构洞察.docx
- 农村信用社竞争力剖析与战略抉择:以A县农村信用社为样本的深度研究.docx
- 调节对人眼散光的影响:机制、规律与临床意义探究.docx
- 从传统到消费:中国武术的时代转型与融合发展.docx
- 探秘GlyRS:上游激酶的鉴定与激酶活性的深度解析.docx
- 平行式双水翼潮流能发电系统:能量转换机制与动态特性解析.docx
原创力文档


文档评论(0)