unix 网络编程

TCP超时重传算法

持续定时器:当收到的滑动窗口为0时,发送方会启动一个持续定时器,发送探测包判断接收方滑动窗口大小

糊涂窗口综合征:
有两种办法可以解决此问题:

针对接收方来说,先等一段时间,等到接收缓存有足够的空间了才发出确认。
针对发送方来说,发送方不要发送太小的报文,而是把数据积累成一个足够大的报文段(达到 MSS),或者是积累到接收方通告窗口大小一半的报文段。
如果发送方总是有很多小数据要发送怎么办呢?实际上,我们前面学习过 Nagle 算法,它正是用于解决这个问题的。Nagle 算法的目的就是把小数据组合成一个大报文段发送出去的。


向收到 RST 套接字执行写,会引发 SIGPIPE

对于服务器崩溃的情况,一般 readline 会返回

EHOSTUNREACH 错误(网络存在,但是主机不存在)
ENETUNREACH(网络不存在,可能是中间路由器宕机了)
ETIMEDOUT 主机存在,但是主机根本不响应。

flower 崩溃后重启(我们使用断网来模拟的),但是客户端对此毫不知情,客户端此时却仍然持有着一个《半打开的连接》,若继续向对端发送数据,flower 主机可以收到此报文,但是并不认识这个连接(因为 flower 已经重启,之前的连接早已不存在),因此回复了一个 RST 段。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值