(1)TCP状态转移要点:
1、LISTENING状态
FTP服务启动后首先处于侦听(LISTENING)状态。
2、ESTABLISHED状态
ESTABLISHED的意思是建立连接。表示两台机器正在通信。
3、CLOSE_WAIT
对方主动关闭连接或者 络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭
4、TIME_WAIT
我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。
(2)为什么A还要发送一次确认呢以二次握手吗/span>
答:主要为了防止已失效的连接请求 文段突然又传送到了服务器,因而产生错误。如客户端发出连接请求,但因连接请求 文丢失而未收到确认,于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传输完毕后,就释放了连接,客户端发出了两个连接请求 文段,其中第一个丢失,第二个到达了服务器,但是第一个丢失的 文段只是在某些 络结点长时间滞留了,延误到连接释放以后的某个时间才到达服务器,此时服务器误认为客户端又发出一次新的连接请求,于是就向客户端发出确认 文段,同意建立连接,不采用三次握手,只要服务器发出确认,就建立新的连接了,此时客户端不理睬服务器的确认且不发送数据,则服务器一致等待客户端发送数据,浪费资源。
(3)Server端易受到SYN攻击/span>
服务器端的资源分配是在二次握手时分配的,而客户端的资源是在完成三次握手时分配的,所以服务器容易受到SYN洪泛攻击,SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server则回复确认包,并等待Client确认,由于源地址不存在,因此Server需要不断重发直至超时,这些伪造的SYN包将长时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起 络拥塞甚至系统瘫痪。
防范SYN攻击措施:降低主机的等待时间使主机尽快的释放半连接的占用,短时间受到某IP的重复SYN则丢弃后续请求。
(4)为什么A在TIME-WAIT状态必须等待2MSL的时间/span>
MSL最长 文段寿命Maximum Segment Lifetime,MSL=2
答: 两个理由:1)保证A发送的最后一个ACK 文段能够到达B。2)防止“已失效的连接请求 文段”出现在本连接中。
(5)为什么连接的时候是三次握手,关闭的时候却是四次握手/span>
答:因为当Server端收到Client端的SYN连接请求 文后,可以直接发送SYN+ACK 文。其中ACK 文是用来应答的,SYN 文是用来同步的。但是关闭连接时,当Server端收到FIN 文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK 文,告诉Client端,”你发的FIN 文我收到了”。只有等到我Server端所有的 文都发送完了,我才能发送FIN 文,因此不能一起发送。故需要四步握手。
(6)为什么TIME_WAIT状态需要经过2MSL(最大 文段生存时间,windows为2分钟)才能返回到CLOSE状态/span>
答:虽然按道理,四个 文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象 络是不可靠的,有可能最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK 文。
(7)CCB由哪些人员组成/strong>
变更控制委员会CCB到底是不是只能设置一个呢,还是说可以设有多个/p>
可以按不同的需要,组成不同的CCB。
变更控制委员会CCB也可称为配置控制委员会(ConfigurationControlBoard),是配置项变更的监管组织。其任务是对建议的配置项变更做出评价、审批,以及监督已批准变更的实施。CCB的成员通常包括项目经理、用户代表、质量控制人员、配置控制人员。这个组织不必是常设机构,完全可以根据工作的需要组成。例如,按变更内容和变更请求的不同,组成不同的CCB。小的信息系统项目CCB可以只有1人甚至只是兼职人员。如果CCB不只是控制变更,而是承担更多的配置管理任务,那就应该包括基线的审定、标志的审定,以及产品的审定,并且可能实际的工作需要分为项目层、系统层和组织层来组建,使其完成不同层面的配置管理任务。
(8)如果SVN服务器地址变了,在本地已经check out的文件夹中,怎么修改服务器地址/h3>
1、选中SVN checkout的文件夹,右键选择TortoiseSVN的relocattion。注意要选择checkout的根目录,否则菜单里里没有relocation选项。
2、在弹出框中录入新的服务器地址。请确认服务器地址正确,你也可以在浏览器中访问新地址,已确认新地址是否正确。
3、确认,完成更新。如果出现异常TortoiseSVN会给出错误信息,按照错误信息处理即可
4、修改完服务器地址,执行下update操作。如果没有问题,则会显示update成功,如果失败会显示失败原因。
5、如果遇到版本错误的提示,如下图。说明服务器的代码版本有丢失,这时候最好是能找到完成的服务端文件。如果找不到,就需要把自己的本地代码剪切到其他目录,重新checkout代码,然后用比较工具进行比较,再提交到服务器端。
6、如果本地目录执行有其他异常,可以试试执行cleanup。右键选择TortoiseSVN的Clean Up。一般能够解决。
(9)如果我想更改一下本地连接SVN服务器的账 ,怎么修改/h3>
首先在你SVN项目所在文件夹右键,找到TortoiseSVN,然后选择里面的“Setting”,如图所示。
进入“Setting”之后,也就是我们常说的设置功能,找到左面菜单中的“Saved Data”,该功能就是你以前保存过得所有数据,如图所示。
进入“Saved Data”之后,找到“Authentication data”,如图所示,点击后面的“clear”按钮。
这时会弹出一个对话框,里面是你以前保存的SVN地址,那么找到你想修改用户名密码的SVN地址,选中之后点击ok,如图所示。
页面关闭后,点击下面的“确定”,如图所示。
那么下次你再想更新或者提交的时候,就会让你重新输入账 密码了,只要输入你新的用户名和密码就可以了,如图所示。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!