tcp协议的通讯方式

tcp协议的通讯方式

ID:9415692

大小:54.00 KB

页数:5页

时间:2018-04-30

tcp协议的通讯方式_第1页
tcp协议的通讯方式_第2页
tcp协议的通讯方式_第3页
tcp协议的通讯方式_第4页
tcp协议的通讯方式_第5页
资源描述:

《tcp协议的通讯方式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、TCP协议的通讯方式~教育资源库  一、TCP三次握手  传输控制协议(TransportControlProtocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为三次握手。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端

2、建立连接,过程如下所示:    TCPClientFlagsTCPServer  1SendSYN(seq=ber)oftheClient  x:ISNoftheServer   在第一步中,客户端向服务端提出连接请求。这时TCPSYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数

3、据传输过程。  二、TCP标志  这里有必要介绍一下TCP分段中的标志(Flag)置位情况。如下图所示。    *SYN:同步标志  同步序列编号(SynchronizeSequenceNumbers)栏有效。该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。在这里,可以把TCP序列编号看作是一个范围从0到4,294,967,295的32位计数器。通过TCP连接交换的数据中每一个字节都经过序列编号。在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号。  *ACK:确

4、认标志  确认编号(AcknoentNumber)栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(on)通过监听TCP23端口,预备接收用户端的连接请求。  四、TCP缓存(TCPBacklog)  通常情况下,操作系统会使用一块限定的内存来处理TCP连接请求。每当用户端发送的SYN标志置位连接请求到服务端的一个合法端口(提供TCP服务的一端监听该端口)时,处理所有连接请求的内存使用量必须进行限定。假如不进行限定,系统会因处理大量的TCP连接请求而耗尽内存,这在某种程度上可以说是一种简单的DoS攻击。这块经过限定的,用于处理TCP连接

5、的内存称为TCP缓存(TCPBacklog),它实际上是用于处理进站(inbound)连接请求的一个队列。该队列保存那些处于半开放(half-open)状态的TCP连接项目,和已建立完整连接但仍未由应用程序通过accept()调用提取的项目。假如这个缓存队列被填满,除非可以及时处理队列中的项目,否则任何其它新的TCP连接请求会被丢弃。  一般情况下,该缓存队列的容量很小。原因很简单,在正常的情况下TCP可以很好的处理连接请求。假如当缓存队列填满的时候新的客户端连接请求被丢弃,客户端只需要简单的重新发送连接请求,服务端有时间清空缓存队列以相应新的连接请求。  在现实环

6、境中,不同操作系统支持TCP缓冲队列有所不同。在BSD结构的系统中,如下所示:  OSBacklogBL+GraceNotes  SunOS4.x.x58   IRIX5.258   Linux1.2.x1010Linuxdoesnothavethisgracemargin  FreeBSD2.1.0 32   FreeBSD2.1.5 128   argin  WinNTw4.066NThasapatheticbacklog  五、TC12下一页友情提醒:,特别!P进站(Inbound)处理过程  为了更好的讲述TCPSYNFlood的攻击过程,我们先来介绍一下正

7、常情况下,TCP进站处理的过程。  服务端处于监听状态,客户端用于建立连接请求的数据包(IPpacket)按照TCP/IP协议堆栈组合成为TCP处理的分段(segment)。  分析报头信息:TCP层接收到相应的TCP和IP报头,将这些信息存储到内存中。  检查TCP校验和(checksum):标准的校验和位于分段之中(Figure-2)。假如检验失败,不返回确认,该分段丢弃,并等待客户端进行重传。  查找协议控制块(PCB{}):TCP查找与该连接相关联的协议控制块。假如没有找到,TCP将该分段丢弃并返回RST。(这就是TCP处理没有端口监听情况下的机制)假如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。