现在的位置: 首页 > 网站运营推广 > 正文

TCP建立连接过程及影响因素

2013年08月31日 网站运营推广 ⁄ 共 780字 评论数 1 ⁄ 阅读 2,143 次

TCP使用三次握手(three-wayhandshake)协议来建立连接,如下图描述了三次握手的报文序列。这三次握手为:

请求端(通常称为客户)发送一个SYN报文段(SYN为1)指明客户打算连接的服务器的端口,以及初始顺序号(ISN)。

服务器发回包含服务器的初始顺序号的SYN报文段(SYN为1)作为应答。同时,将确认号设置为客户的ISN加1以对客户的SYN报文段进行确认(ACK也为1)。

客户必须将确认号设置为服务器的ISN加1以对服务器的SYN报文段进行确认(ACK为1),该报文通知目的主机双方已完成连接建立。

TCP建立

TCP并发连接数与内存、CPU、带宽等有关,是其处理数据流的能力。

并发连接对内存的消耗:

以每个并发连接表项占用300B计算,1000个并发连接将占用300B×1000×8bit/B≈2.3Mb内存空间,10000个并发连接将占用 23Mb内存空间,100000个并发连接将占用230Mb内存空间,而如果真的试图实现1000000个并发连接的话那么,这个产品就需要提供 2.24Gb内存空间!

并发练级对CPU的消耗:

CPU的主要任务是把网络上的流量从一个网段尽可能快速地转发到另外一个网段上,并且在转发过程中对此流量按照一定的访问控制策略进行许可检查、流量统计和访问审计等操作。如果不顾CPU的实际处理能力而贸然增大系统的并发连接表,势必影响对连接请求的处理延迟,造成某些连接超时,让更多的连接报文被重发,进而导致更多的连接超时,最后形成雪崩效应,致使系统崩溃。

服务器建立连接的时间主要取决于Web服务器能否快速的接入用户的请求,通常情况下,当Web服务器的同时连接数达到预设限制时,Web服务器可能会对新的请求拒绝接入。而对于Apache这样的多进程模型,当进程数不断增多时,由于上下文切换的时间开销也随之增加,所以建立连接的平均时间也逐渐开始延长。

» 声明:本站文章源于个人经验总结或书籍、互联网转载,内容仅用于个人学习,请勿转载,否则后果自负!

目前有 1 条留言 其中:访客:0 条, 博主:1 条


  1. 管理员
    大河笨鸟 : 2013年08月31日00:10:12  -49楼 @回复 回复

    本文为笨鸟查找资料的汇总片段,仅用于辅助理解TCP建立连接,不保证资料的逻辑准确性及资料的正确性等。

给我留言

留言无头像?