feisky

云计算、虚拟化与Linux技术笔记
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月23日

摘要: 1. 滑动窗口协议允许发送方在停止并等待确认前可以连续发送多个分组,由于发送方不必每发一个分组就停下来等待确认,因此该方法可以加速数据的传输。2. 滑动窗口窗口大小表示接收端的TCP协议缓存中还有多少剩余空间,用于接收端的流量控制特点:(1)发送方不必发送一个全窗口的大小(2)来自接收方的一个报文段确认数据并把窗口向右滑动(窗口大小是相对于确认序号的)(3)窗口的大小可以减小,但窗口的右边不能向左移动(4)接收方在发送一个ACK前不必等待窗口被填满 窗口更新:一个ACK分组,但不确认任何数据(分组中的序号已被前面的ACK确认),只是通知对方窗口大小已变化 3. PUSH标志发送方使... 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(522) 评论(0) 推荐(0) 编辑

摘要: 1. 对每个连接,TCP管理4个定时器:(1)重传定时器:用于等待另一端的确认;(2)persist定时器:用于使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口;(3)keepalive定时器:用于检测空闲连接的另一端是否崩溃或重启;(4)2MSL定时器:用于测量一个处于TIME_WAIT状态连接的时间2. 超时与重传递时间间隔超时时间可以应用程序设置(SO_RCVTIMEO,SO_SNDTIMEO),而重试的时间采用指数退避的方式,即每次重试的时间间隔为上次的2倍。在目前的实现中,首次分组传输与复位信号传输的时间间隔为9分钟。3. 往返时间RTT的测量平滑的RTT估计器:R=alpha 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(2704) 评论(0) 推荐(0) 编辑

摘要: persist定时器1. 使用persist定时器的原因ACK的传输不可靠,TCP并不对ACK报文进行确认,TCP只确认哪些那些包含了数据的ACK报文段。这样,如果一个ACK丢失了,就会因双方相互等待而导致连接终止:接收方等待接收数据(它已经通告了一个非0的窗口),发送方在等待允许它继续发生数据的窗口更新。2. persist定时器:发送方使用一个persist定时器来定期的向接收方查询窗口是否增大,这些从发送方发出的报文段称为窗口探查。窗口探查包含一个字节的数据,即序号。这些探查每隔60s发送一次,直到窗口被打开或者连接被终止。3. 糊涂窗口综合症糊涂窗口综合症的产生考虑以下两种情况: (1 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(487) 评论(0) 推荐(0) 编辑

摘要: 1. Keepalive定时器用于用于检测空闲连接的另一端是否崩溃或重启。2. 设置SO_KEEPALIVE选项后,如果2小时内在此套接口的任一方向都没有数据交换,TCP就自动给对方 发一个保持存活探测报文段,客户主机处于以下4种状态之一:(1)客户主机接收一切正常,服务器收到期望的ACK响应,并将keepalive定时器复位。(2)客户主机已崩溃,并且关闭或者正在重启。此时,服务器无法收到相应,在75s后超时。服务器=总共发出10个这样的探查,每个间隔75秒。如果一个响应都没有收到,则终止连接。(3)客户主机已重启,此时服务器将收到一个复位响应,终止连接。(4)客户主机正常运行,但服务不可达 阅读全文

posted @ 2012-10-23 20:28 feisky 阅读(702) 评论(0) 推荐(0) 编辑

无觅相关文章插件,快速提升流量