tcp协议中的3次握手协议与4次挥手协议设计非常好
考虑了网络中的异常,丢包,重传,延迟到达,以及一些时序的问题,同时到达的问题,很好的处理网络环境中的未知,随机状况
例如:SYN_SENT与SYN_RCVD的转换
拥塞窗口如何影响发送窗口?
慢启动、快速重传、快速恢复、拥塞避免的由来?
慢启动算法主要是当主机开始发送数据时,如果立即把大量数据发送到网络中,
就可能会引起拥塞,因为并不清楚网络的负荷情况,经验证明,较好的情况是先探测一下,
然后再调整拥塞窗口,一般拥塞窗口开始时设置为mss,以后每收到一个ack后,
就将拥塞窗口再增加一个mss,拥塞窗口增加是2^n的方式(1,2,4,8,...)
一旦拥塞窗口达到一定值后(阀值),就开始执行拥塞避免算法了,拥塞避免算法
就是拥塞窗口的增加的方式改变了,增加1,之前是加倍的方式
拥塞的判定是确认是否及时收到,如果遇到拥塞,则拥塞窗口的阀值就是发送窗口的1/2,
拥塞窗口值就重新设置为1
由于收到的数据的无序性,接收方需要对包进行确认,后发送先到达的情况下,可以选择性的确认,从而不用全部重传,选择性重传
发送窗口的大小不仅仅由本地的拥塞窗口来控制,还有对方的接收窗口的大小也有限制
阅读(703) | 评论(0) | 转发(0) |