计算机网络建设4-tcp.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TCP建立连接 (1)两军问题 要保证建立起可靠的连接并非是一件容易的事,问题的复杂性体现在如何确认可靠的连接已经建立起来了。一个典型的例子是“两军问题”。 设有交战的蓝军和白军,白军驻扎在两个山峰之间的谷地,蓝军分为两部分分别驻扎在谷地两边的两个山峰上。两军的战斗力相当,如果任何一部分蓝军单独攻打白军,这一部分蓝军必败,白军就可以再打败另一部分蓝军:如果两部分蓝军一起攻打白军,蓝军必胜。 关键是两部分蓝军如何联络能够确保一起进攻。联络时蓝军的信使必须通过白军占领的谷地到达另一山峰,通过谷地时可能会被白军俘虏。假设蓝军1派信使给蓝军2送去进攻时间的建议,蓝军1必须等见到蓝军2再派回的信使说明他已经收到并同意蓝军1的建议,蓝军1才能确定派出的信使安全地将信送到。但蓝军2会被同样的问题所困扰,他不能确定派出的信使是否安全送达,他还要等待蓝军1的确认信息。如此反复,将不能有最终的结果。 问题的关键是如何确定最后一条确认信息被安全地送到。 (2)三次握手算法 在实际的网络应用中,采用一种称为三次握手的算法,并增加某些条件来解决最后确认问题。 增加的条件是所发送的报文都要有递增的序列号;对每个报文都设立一个计时器,设定一个最大时延,对那些超过最大时延仍然没有收到确认信息的报文就认为已经丢失。 三次握手算法的工作原理是: 发送方向接收方发送建立连接请求报文,接收方向发送方回应一个对建立连接请求报文的确认报文,发送方再向接收方发送一个对确认报文的确认报文。 在三次握手算法的基础上,加上增加的条件,就可以建立可靠的连接了。 即TCP使用三次握手协议来建立连接: ①客户机发出建立连接请求,连接请求给定了所要连接的对方的IP地址和端口号、本身所能接收的最大数据报长度,并等待应答; ②当该数据段到达服务器后,服务器的TCP决定是接受还是拒绝客户机建立连接的请求,如接受请求则发送建立连接应答分组; ③客户机收到建立连接应答,回送确认连接的数据段。 TCP重传策略 重发机制是TCP 中最重要和最复杂的问题之一。TCP 每发送一个报文段,就设置一次定时器。只要定时器设置的重发时间到而还没有收到确认,就要重发这一报文段。但是,大家知道,TCP 的下层往往是一个互连网环境,可能是一个高速的局域网,也可能是多个低速的广域网,而且路由还可能会发生变化,所以往返时延(就是从数据发出到收到对方的确认所经历的时间)差别很大。那么,TCP的超时定时器的重发时间究竟应设置为多大?TCP 采用了一种自适应算法,就是把各个报文段的往返时延样本平均得出平均往返时延,每测量到一个新的往返时延样本就计算一次平均往返时延,并通过公式更新定时器的重发时间。 TCP连接的三次握手Syn Flood攻击者不会完成三次握手恶意地不完成三次握手假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。  

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档