1 / 5
文档名称:

【个人总结系列-31】TCP会话原理及TCP状态学习总结..docx

格式:docx   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【个人总结系列-31】TCP会话原理及TCP状态学习总结..docx

上传人:分享精品 2016/3/24 文件大小:0 KB

下载得到文件列表

【个人总结系列-31】TCP会话原理及TCP状态学习总结..docx

文档介绍

文档介绍:TCP 会话原理及 TCP 状态学习总结 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 值应为它所收