tcp问题总结

1.tcp三次握手

第一次握手:客户端主动发送链接请求,将SYN序列号置为j,服务器被动打开。

第二次握手:服务器收到SYN请求后,会向客户端发送一个SYN及ACK应答,ACK序列号为j+1,SYN序列号为k。

第三次握手:客户端收到应答后,再回复一个ACK K+1,表示收到了。

2.tcp的拥塞机制

拥塞控制:防止过多的数据注入到网络中,让网络中的设备不至于过载,是一个全局控制。

流量控制:是端到端的,主要是抑制发送端的传输速率,使接收端能来得及接收。

拥塞的标志:重传计时器超时,接收到三个重复确认。

拥塞控制的机制:

慢开始:不是一开始就发送大量数据,而是先探测一下网络的拥塞程度,逐渐增加拥塞窗口CWND的大小。为了防止拥塞窗口CWND增长过大导致拥塞,需要设置一个门限状态变量ssthresh

当CWND<ssthresh时,使用慢开始算法。

当cwnd=ssthresh时,慢开始与拥塞避免算法随意。

当cwnd>ssthresh时,使用拥塞避免算法。

拥塞避免:通过每经过一个往返时间RTT,就把发送方的cwnd加1,而非加倍使得拥塞窗口线性缓慢增长。

无论在哪个阶段,如果发送方没有收到确认ack,就会判断为拥塞,然后将慢开始门限设置为出现拥塞时发送窗口的一半,将拥塞窗口置为1,执行慢开始算法。

快重传与快恢复:当接收方收到失序的报文段后就会立即发出重复确认,发送方收到3个重复确认后就会立即重传未收到的报文段。当发送方收到3个重传确认的同时,会将ssthresh门限减半,将cwnd置为sshresh大小,执行拥塞避免算法(发送方认为能收到重传确认,网络可能没有拥塞)。

3.tcp的标志位

urg:紧急指针 ack:置1时表示确认号 psh:置1时请求的数据段在接收方收到后就会直接送到应用程序,不会等到缓冲区满再送, rst:置1时,重连接。syn:置1,发起一个连接。fin:置1发端完成发送任务,用来释放连接。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值